补充内容:模拟调制系统的MATLAB 仿真1.抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。
抽样(时间离散化)是模拟信号数字化的第一步。
Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。
抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。
【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。
ts=1/fs;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。
envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(4*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1])%hold off%xlabel('t');%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。
ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi/2);envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(6*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1]);注意观察:过零点“反相”现象。
2.信号的频谱和功率)()(f F t f −−−→←傅立叶变换【例3】画出DSB 信号)10cos()2cos(t t y ππ=的频谱并计算已调信号的功率。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:2*pi);%抽样时间间隔要足够小,要满足抽样定理。
y=cos(2*pi*t).*cos(10*pi*t);%已调信号%计算已调信号的傅立叶变化n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum)-1)]-fs/2;%FFT 频率向量%计算信号功率p=(norm(y)^2)/length(y)%画出已调信号频谱plot(f,fftshift(abs(spectrum)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of y');p =0.25203.AWGN 的产生及功率谱密度已知AWGN 信道中噪声的比特信噪比为10dB ,信号功率0.25W ,求噪声功率并画出噪声的时域波形。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;t=(0:ts:2*pi);%根据抽样间隔生成抽样时间%生成AWGN 噪声序列snr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_linnoise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;plot(t,noise,'LineWidth',2)noise_power =4.DSB 调制解调【例4】画出基带信号)2cos()(t t m π=和DSB 信号)10cos()2cos(t t y ππ=的频谱并计算基带信号和已调信号的功功率。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);%基带信号y=m.*cos(10*pi*t);%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_DSB=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_DSB)-1)]-fs/2;%FFT频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_DSB=(norm(y)^2)/length(y)%画出已调信号频谱subplot(2,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of baseband'); subplot(2,1,2);plot(f,fftshift(abs(spectrum_DSB)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of DSB');p_baseband =0.5145p_DSB =clfsnr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_lin;noise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;signal_in_channel=y+noise;subplot(2,1,1);plot(t,signal_in_channel,'b')xlabel('t');ylabel('DSB signal plus noise');axis([0,pi,-1,1]); subplot(2,1,2);plot(t,y,'r');xlabel('t');ylabel('DSB signal');5.AM 调制解调【例4】画出基带信号)2cos()(t t m π=和AM 信号)10cos()1)2(cos(t t y ππ+=以及载波)10cos()(t t s π=的频谱并计算基带信号和已调信号的功率。
并比较该AM 信号与例题3中的DSB 信号的时域波形。
clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。
m=cos(2*pi*t);c=cos(10*pi*t);y=(1+m).*c;%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算载波功率n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_carrier=fft(c,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_AM=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_AM)-1)]-fs/2;%FFT 频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_AM=(norm(y)^2)/length(y)p_carrier=(norm(c)^2)/length(c)%画出已调信号频谱subplot(3,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');subplot(3,1,2);plot(f,fftshift(abs(spectrum_AM)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of AM');subplot(3,1,3);plot(f,fftshift(abs(spectrum_carrier)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of carrier'); p_baseband =0.5168p_AM =0.8297p_carrier =clfDSB=m.*c;%DSB信号envelop_DSB=m;%包络envelop_AM=1+m;subplot(2,1,1);plot(t,DSB,'b')hold onplot(t,envelop_DSB,'r:');plot(t,-envelop_DSB,'r:');hold offxlabel('t');ylabel('DSB signal');subplot(2,1,2);plot(t,y,'b');hold on;plot(t,envelop_AM,'r:');plot(t,-envelop_AM,'r:');hold offxlabel('t');ylabel('AM signal');。