通信原理与考研 第五章 模拟调制(1)
- 作者优秀
- 优秀教师/博士学历/特邀专家/独家讲师
- 平台推荐
- 内容稀缺
当今社会几乎不用模拟调制技术了,不过在通信发展历史上有它的位置。了解一下可以帮助同学们更好的学习数字调制,有了比较就会激发学习的兴趣。问了一下考研的同学,很多学校的试卷还是会涉及一些模拟调制的内容,但确实不多。考试的重点内容还是数字调制,毕竟现在社会用的技术基本上都是数字调制,不过收音机里面还是涉及了模拟调制FM技术,但采用的是数字化解调技术。2024年10月,改版文章,本文长达四千字,希望读者能耐心看完!幅度调制原理!
AM是指对信号进行幅度调制。一般做法就是先在原信号上叠加一个直流信号,以保证信号f(t)+A>0。然后乘上一个高频的余弦信号,即得到g(t)=[f(t)+A]coswt。
在频域上的效果就是将原信号的频谱移动到w处,以适合信道传输的最佳频率范围。g(t)的包络线即f(t)+A,用一个简单的包络检测电路就可以接收并还原信号了。
课本中内容!
% Matlab demonstration script for DSB-AM modulation. % The message signal is +1 for 0 < t < t0/3, -2 for t0/3 < t < 2t0/3 and zero otherwise.t0=.15; % signal durationts=0.001; % sampling intervalfc=250; % carrier frequencysnr=10; % SNR in dB (logarithmic)a=0.85; % Modulation indexfs=1/ts; % sampling frequencyt=[0:ts:t0]; % time vectordf=0.2; % required frequency resolutionsnr_lin=10^(snr/10); % SNRm=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)];c=cos(2*pi*fc.*t); % carrier signalm_n=m/max(abs(m)); % normalized message signal[M,m,df1]=fftseq(m,ts,df); % Fourier transform f=[0:df1:df1*(length(m)-1)]-fs/2; % frequency vectoru=(1+a*m_n).*c; % modulated signal[U,u,df1]=fftseq(u,ts,df); % Fourier transform signal_power=spower(u(1:length(t))); % power in modulated signal% power in normalized messagepmn=spower(m(1:length(t)))/(max(abs(m)))^2;eta=(a^2*pmn)/(1+a^2*pmn); % modulation efficiencynoise_power=eta*signal_power/snr_lin; % noise powernoise_std=sqrt(noise_power); % noise standard deviationnoise=noise_std*randn(1,length(u)); % generate noiser=u+noise; % add noise to the modulated signal[R,r,df1]=fftseq(r,ts,df); % Fourier transform pause % Press a key to show the modulated signal powerpause % Press a key to show the modulation efficiencypause % Press any key to see a plot of the messagetitle('The message signal')pause % Press any key to see a plot of the carrierpause % Press any key to see a plot of the modulated signaltitle('The modulated signal')pause % Press any key to see a plots of the magnitude of the message and the% modulated signal in the frequency domain.title('Spectrum of the message signal')title('Spectrum of the modulated signal')pause % Press a key to see a noise sampleplot(t,noise(1:length(t))) pause % Press a key to see the modulated signal and noisetitle('Signal and noise')pause % Press a key to see the modulated signal and noise in freq. domaintitle('Signal and noise spectrum')xlabel('Frequency')
% Generate carrier signalcarrier = Ac*sin(2*pi*Fc*t);AM_signal = (1 + m) .* carrier;% Demodulation using envelope detectiondemodulated_signal = abs(hilbert(AM_signal)) - Ac; % Subtract carrier amplitude for original message signaltitle('AM Modulated Signal');% Plot demodulated signalplot(t, demodulated_signal);title('Demodulated Signal');同学们要能学会分辨,先培养自己分析问题的能力。不同的人掌握技术的程度不一样,看问题的角度也不一样,工科生应该用工科思维来分辨。学习的过程就是培养思维的过程。如何分辨?举例来讲,有一次我带父亲去南京医科大学第二附属医院看心脏的问题,一位男主任医师(还是副主任医师)没怎么看就说要做照影,我当时很信任他,就让我父亲做。我父亲不好和我争论,托辞说和我母亲商量一下。结果证明我父亲的决定是正确的,后来找了我好朋友的妻子看了一下,做了一个心脏彩超,发现引起我父亲胸闷的原因是父亲先天性的血管外露。哎,那个要做照影的医生应该是出于拿回扣的目的极力要做照影?我不反对拿回扣,毕竟医生工资很低,但总要有良心的拿啊,不能什么都是为了利益最大化。我后来上网查了一下相关资料,照影确实能看清血管的状态,但是也很痛苦啊。医生的责任重大,希望还是能从患者的角度出发去考虑问题。教师也是如此,要更多的从学生和学生家长的角度去考虑。
那么在实际使用中,AM又如何发挥作用呢?依旧通过程序来说明!这是最好的理论用于实践的过程!这样的学习才真正适用于工科生!
% Load audio signal (as message signal)[file, path] = uigetfile('*.wav', 'Select an Audio File'); [audio_signal, Fs_audio] = audioread(fullfile(path, file));% Sampling frequency (Hz), usually 11025 Hz - 44100 Hz% RIFF Header:标识这是一个 RIFF(资源互换文件格式) 文件。% Subchunk1 ID:通常是 "fmt "。% Subchunk1 Size:格式块的大小(通常为 16 字节)。% Audio Format:音频格式(PCM 通常为 1)。% Num Channels:声道数(例如,1 表示单声道,2 表示立体声)。% Sample Rate:采样频率,以赫兹(Hz)表示。% Byte Rate:每秒传输的字节数(Sample Rate × Num Channels × Bits Per Sample / 8)。% Block Align:每个采样的字节数(Num Channels × Bits Per Sample / 8)。% Bits Per Sample:每个样本的比特数(通常为 16、24 或 32)。% Subchunk2 ID:通常是 "data"。% Subchunk2 Size:音频数据的大小。% Normalize the audio signal