资源描述:
《附录1AM相干解调解调程序清单.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、附录1:AM相干解调解调程序清单%程序名称:amdemod0.m%程序功能:调用函数ademod()实现am解调%程序作者:彭超%最后修改日期:2007-1-18%=====================t0=0.12;%信号的持续时间ts=0.001;%抽样间隔fc=125;%载波频率fs=1/ts;%抽样频率A0=3;%直流分量a=0.6;%调制系数snr=35;%大信噪比snr1=4;%小信噪比t=0:ts:t0;%时间向量m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)];%基带信号c=cos(
2、2*pi*fc.*t);%载波信号m_n=A0+a*m;%加入直流分量及引入调制系数u=m_n.*c;%已调信号s=awgn(u,snr);%给已调信号加入小噪声s1=awgn(u,snr1);%给已调信号加入大噪声[num,den]=butter(5,fc*2/fs);%设置滤波器参数dem=ademod(u,fc,fs,'am',num,den);%解调信号并滤波dem=(dem-A0)/a;%去除直流分量并重新缩放dem1=ademod(s,fc,fs,'am',num,den);%加入小噪声后的解调信号并滤波dem1=(dem1-A0)/a;%加入小噪声后的解调信号去除直
3、流分量并重新缩放dem2=ademod(s1,fc,fs,'am',num,den);%加入大噪声后的解调信号并滤波dem2=(dem2-A0)/a;%加入大噪声后的解调信号去除直流分量并重新缩放M=fft(m);%基带信号的傅立叶变换C=fft(c);%载波信号的傅立叶变换U=fft(u);%已调信号的傅立叶变换S=fft(s);%加入小噪声后的已调信号的傅立叶变换S1=fft(s1);%加入大噪声后的已调信号的傅立叶变换DEM=fft(dem);%解调信号的傅立叶变换DEM1=fft(dem1);%加入小噪声后的解调信号的傅立叶变换DEM2=fft(dem2);%加入大噪声后
4、的解调信号的傅立叶变换f=(0:length(U)-1)*fs/length(U)-fs/2;%频率向量figure('name','相干解调1:时域波形')subplot(4,1,1);plot(t,m);%时域内基带信号title('基带信号')subplot(4,1,2);plot(t,c);%时域内载波信号title('载波信号')ylabel('幅度')subplot(4,1,3);plot(t,u);%时域内已调信号title('已调信号')subplot(4,1,4);plot(t,dem);%时域内解调信号title('解调信号')xlabel('时间')figu
5、re('name','相干解调2:频域波形')subplot(4,1,1);plot(f,abs(fftshift(M)));%频域内基带信号频谱title('基带信号频谱')subplot(4,1,2);plot(f,abs(fftshift(C)));%频域内载波信号频谱title('载波信号频谱')ylabel('幅度')subplot(4,1,3);plot(f,abs(fftshift(U)));%频域内已调信号频谱title('已调信号频谱')subplot(4,1,4);plot(f,abs(fftshift(DEM)));%频域内解调信号频谱title('解调信号
6、频谱')xlabel('频率')figure('name','相干解调3:时域内未加噪声与加入噪声的比较')subplot(4,1,1);plot(t,u);%时域内未加噪声的已调信号title('未加噪声的已调信号')subplot(4,1,2);plot(t,s1);%时域内加入噪声的已调信号title('加入噪声的已调信号')ylabel('幅度')subplot(4,1,3);plot(t,dem);%时域内未加噪声的解调信号title('未加噪声的解调信号')subplot(4,1,4);plot(t,dem2);%时域内加入噪声的解调信号title('加入噪声的解调信
7、号')xlabel('时间')figure('name','相干解调4:频域内未加噪声与加入噪声的比较')subplot(4,1,1);plot(f,abs(fftshift(C)));%频域内未加噪声的载波信号频谱title('未加噪声的载波信号频谱')subplot(4,1,2);plot(f,abs(fftshift(S1)));%频域内加入噪声的载波信号频谱title('加入噪声的载波信号频谱')ylabel('幅度')subplot(4,1,3);plot(f,abs(