模拟幅度调制相干解调系统抗噪声性能分析
1.引言
研究目的:探究不同幅度调制方法在正弦型载波调制情况下的抗噪声性能以及不同模块对信号的影响。
研究方法:同过MATLAB软件进行信号的模拟仿真,通过观察输出结果来进行分析。
主要内容:主要有双边带抑制载波调幅及相干解调,常规调幅及相干解调,单边带调制及相干解调,以及对应的理论比较和仿真分析。
2.抗干扰性能理论分析
1.双边带载波调制及相干解调
原理图:
图2.1.1 DSB-SC调制解调原理图
电信号m(t)=cos(2πfmt),载波信号c(t)=cos(2πfct),s(t)=c(t)m(t),ni(t)为高斯噪声。相干解调器中的恢复载波c1=cos(2πfct)。
电信号m通过载波器后信号的时域频率变为载波频率,原信号为s信号的包络,频域频谱图会分别左右平移fc,同时幅值减半,白噪声通过载波器后功率谱密度幅值会缩减为1/4。
s(t)通过带通滤波器后基本不会发生变化,但是高斯白噪声将只在通带部分有功率谱密度,其余频率功率谱密度为0,同时高斯白噪声可用复包络表示或者n(t)=ni(t)cos(2πfct)-ni(t)cos(2πfct)。
通过解调器的载波器后,s(t)的频谱会再次左右平移fc,幅值减半,但0频率处幅值不变,n(t)的功率谱密度有相同的变化情况,但中心处幅值为1/2。
通过低通滤波器后,电信号被解调出来,其频谱幅度为原来的一半,时域幅值也会减半。白噪声的功率谱密度只有在(-fm,fm)内有值,幅值变为原来的1/4,其余为零。
抗噪性能分析:
s(t)=m(t)c(t) n(t)=nc(t)cos(2πfct-ns(t)sin(2πfct)
sd(t)=m(t)cos2 (2πfct) nd(t)=n(t)cos(2πfct)
mo(t)=1/2m(t) no(t)=1/2nc(t)
Sin=<s2(t)>=1/2<m2 (t)>=1/2Pm
Nin=E[n2(t)]=2noB
(S/N)in=Sin/Nin=1/2(Pm/2noB)
Sout=<so2(t)>=1/4Pm=1/2Sin
Nout=E[no2(t)]=1/4Nin
(S/N)out=Sout/Nout=2(S/N)in
可见输出信噪比是输入的两倍,抗噪性能良好
2.单边带调制及相干解调
图2.2.1 SSB调制原理图
图2.2.2 SSB解调原理图
电信号m(t)=cos(2πfmt),令m1(t)为m(t)的解析信号的虚部。s(t)=m(t)cos(2πfct)+m1(t)sin(2πfct),ni(t)为高斯噪声。相干解调器中的恢复载波c1=cos(2πfct)。
M1(f)=-jsign(f)M(f); S(f)=1/2[M(f+fc)+M(f-fc)]+1/2sign(f)[M(f-fc)-M(f+fc)]
s(t)通过带通滤波器后,频域频谱图会分别左右平移fc,同时幅值减半,白噪声通过载波器后功率谱密度幅值会缩减为原来的1/4。
s(t)通过带通滤波器后基本不会发生变化,但是高斯白噪声将只在通带部分有功率谱密度,其余频率功率谱密度为0,同时高斯白噪声可用复包络表示或者n(t)=ni(t)cos(2πfct)-ni(t)cos(2πfct)。
通过解调器的载波器后,s(t)的频谱会再次左右平移fc,幅值减半,但0频率处幅值不变,n(t)的功率谱密度有相同的变化情况,但中心处幅值为1/2。
通过低通滤波器后,电信号被解调出来,其频谱幅度为原来的一半,时域幅值也会减半。白噪声的功率谱密度只有在(-fm,fm)内有值,幅值变为原来的1/4,其余为零。
抗噪性能分析:
s(t)=m(t)cos(2πfct)+m1(t)sin(2πfct) n(t)=nc(t)cos(2πfct-ns(t)sin(2πfct)
sd(t)=[m(t)+m(t)cos(4πfct)+m1(t)sin(4πfct)]/4 nd(t)=n(t)cos(2πfct)
mo(t)=1/4m(t) no(t)=1/2nc(t)
Sin=<s2(t)>=1/4<m2 (t)>=1/4Pm
Nin=E[n2(t)]=noB
(S/N)in=Sin/Nin=1/4(Pm/noB)
Sout=<so2(t)>=1/4Pm=1/4Sin
Nout=E[no2(t)]=1/4Nin
(S/N)out=Sout/Nout=1/4Pm=(S/N)in
可见输出信噪比与输入相同,抗噪性能一般。
3.常规调幅及相干解调
信号产生原理图:
图2.3.1 AM调制解调原理图
电信号m(t)=cos(2πfmt),载波信号c(t)=cos(2πfct),s(t)=c(t)(m(t)+1),ni(t)为高斯噪声。相干解调器中的恢复载波c1=cos(2πfct)。
电信号m通过载波器后信号的时域频率变为载波频率,原信号为s信号的包络,频域频谱图会分别左右平移fc,同时幅值减半,白噪声通过载波器后功率谱密度幅值会缩减为1/4。
s(t)通过带通滤波器后基本不会发生变化,但是高斯白噪声将只在通带部分有功率谱密度,其余频率功率谱密度为0,同时高斯白噪声可用复包络表示或者n(t)=ni(t)cos(2πfct)-ni(t)cos(2πfct)。
通过解调器的载波器后,s(t)的频谱会再次左右平移fc,幅值减半,但0频率处幅值不变,n(t)的功率谱密度有相同的变化情况,但中心处幅值为1/2。
通过低通滤波器后,电信号被解调出来,其频谱幅度为原来的一半,时域幅值也会减半。白噪声的功率谱密度只有在(-fm,fm)内有值,幅值变为原来的1/4,其余为零。
抗噪性能分析:
s(t)=[m(t)+1]c(t) n(t)=nc(t)cos(2πfct-ns(t)sin(2πfct)
sd(t)=1/2[1+m(t)][1+cos(4πfct)] nd(t)=n(t)cos(2πfct)
mo(t)=1/2m(t) no(t)=1/2nc(t)
Sin=<s2(t)>=1/2<1+m2 (t)>=1/2(1+Pm)
Nin=E[n2(t)]=2noB
(S/N)in=Sin/Nin=1/2(Pm+1)/2noB)
Sout=<so2(t)>=1/4Pm
Nout=E[no2(t)]=1/4Nin
(S/N)out=Sout/Nout=Pm/2noB=2Pm/(1+Pm)
可见输出信噪比与m(t)的功率有关,m(t)的平均功率越大,该模型抗噪声性能越好。
3.仿真实现与仿真结果
1.DSB-SC:
%------------------
%系统参数设置
%-----------------
T_start=0;%开始时间
T_stop=1;%截止时间
T=T_stop-T_start;%仿真持续时间
T_sample=1/1000;%采样间隔
f_sample=1/T_sample; % 采样速率
N_sample=T/T_sample;% 采样点数
f_res=f_sample/N_sample;%频率分辨率
power_dB=10*log(0.0005);%噪声功率
n=0:N_sample-1;
f_m=10;%基带信号频率
f_c=100;%载波频率
%__________________________
%调制器各点波形
%—————————————
m=cos(2*pi*f_m*n*T_sample);%m(t)
c=cos(2*pi*f_c*n*T_sample);%c(t)
s=m.*c;%s(t)=m(t)c(t)
noise_i=wgn(1,N_sample,power_dB);%高斯白噪声
r_o=s+noise_i;
%fdatool设计带通滤波器
%-----------------
%解调器
%-----------------
c1=cos(2*pi*f_c*n*T_sample);%接收机端载波
r=filter(Band,r_o);%r(t)=r_o(t)*h1(t)
n1=filter(Band,noise_i);%高斯白噪通过带通滤波器
s1=filter(Band,s);%s(t)通过带通滤波器
sd=s1.*c1;%sd(t)=s1(t)c1(t)
nd=n1.*c1;%nd(t)=n1(t)c1(t)
r_d=r.*c1;%rd(t)=r(t)c1(t)
%信号通过低通滤波器解调
m_o=filter(H,r_d);
no=filter(H,nd);
so=filter(H,sd);
mm_o=m_o(length(H)/2:length(H)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
%-----------------
%功率谱及其密度
%-----------------
f_res=f_sample/N_sample;%频率分辨率
f_max=f_res*N_sample/2;%最大频率
PSD_Noise_i=abs(fft(noise_i)).^2*T_sample/T/f_sample;
PSD_n1=abs(fft(n1)).^2/T;
PSD_nd=abs(fft(nd)).^2/T;
PSD_no=abs(fft(no)).^2/T;
PSD_sd=abs(fft(sd)).^2*T_sample/T/f_sample;
PSD_so=abs(fft(so)).^2*T_sample/T/f_sample;
PSD_n1_rearrange=[PSD_n1(N_sample/2+1:N_sample-1),PSD_n1(1:N_sample/2)];
PSD_no_rearrange=[PSD_no(N_sample/2+1:N_sample-1),PSD_no(1:N_sample/2)];
%-----------------
%绘制各点波形
%-----------------
figure(1)
subplot(4,2,1)
plot(n*T_sample,m);
title('m(t)时域波形');
subplot(4,2,2)
plot(n*T_sample,c);
title('c(t)时域波形');
subplot(4,2,3)
plot(n*T_sample,s);
title('s(t)时域波形');
subplot(4,2,4)
plot(n*T_sample,r_o);
title('r_0(t)时域波形');
subplot(4,2,5)
plot(n*T_sample,r);
title('r(t)时域波形');
subplot(4,2,6)
plot(n*T_sample,r_d);
title('r_d(t)时域波形');
subplot(4,2,7)
nn=0:length(m_o)-1;
plot(nn*T_sample,m_o)
title('低通滤波后波形');
%----------------------------------------------------------------
%-------------------------
%频谱
%-------------------------
%-------------------------
%调制器各点频谱
%-------------------------
MM=abs(fft(m))/N_sample;%M(f)
M(1:N_sample/2)=MM(N_sample/2+1:N_sample);
M(N_sample/2+1:N_sample)=MM(1:N_sample/2);
CC=abs(fft(c))/N_sample;%C(f)
C(1:N_sample/2)=CC(N_sample/2+1:N_sample);
C(N_sample/2+1:N_sample)=CC(1:N_sample/2);
SS=abs(fft(s))/N_sample;%S(f)
S(1:N_sample/2)=SS(N_sample/2+1:N_sample);
S(N_sample/2+1:N_sample)=SS(1:N_sample/2);
RRO=abs(fft(r_o))/N_sample;%r_o(f)
RO(1:N_sample/2)=RRO(N_sample/2+1:N_sample);
RO(N_sample/2+1:N_sample)=RRO(1:N_sample/2);
RR=abs(fft(r))/N_sample;%r(f)
R(1:N_sample/2)=RR(N_sample/2+1:N_sample);
R(N_sample/2+1:N_sample)=RR(1:N_sample/2);
%-------------------------
%解调器各点频谱
%-------------------------
RR_d=abs(fft(r_d))/N_sample;%r_d(f)
R_d(1:N_sample/2)=RR_d(N_sample/2+1:N_sample);
R_d(N_sample/2+1:N_sample)=RR_d(1:N_sample/2);
MM_o=abs(fft(mm_o))/N_sample;%Mo(f)
M_o(1:N_sample/2)=MM_o(N_sample/2+1:N_sample);
M_o(N_sample/2+1:N_sample)=MM_o(1:N_sample/2);
%-------------------------
%绘制各点频谱
%-------------------------
figure(2)
subplot(4,2,1)
plot((n-N_sample/2)/N_sample*f_sample,M);
title('M(f)');
subplot(4,2,2)
plot((n-N_sample/2)/N_sample*f_sample,C);
axis([-200 200 0 0.8]);
title('C(f)');
subplot(4,2,3)
plot((n-N_sample/2)/N_sample*f_sample,S);
axis([-200 200 0 0.3]);
title('S(f)');
subplot(4,2,4)
plot((n-N_sample/2)/N_sample*f_sample,RO);
title('R_o(f)');
subplot(4,2,5)
plot((n-N_sample/2)/N_sample*f_sample,R);
title('R(f)');
subplot(4,2,6)
plot((n-N_sample/2)/N_sample*f_sample,R_d);
%axis([-200 200 0 0.15]);
title('R_d(f)');
subplot(4,2,7)
plot((n-N_sample/2)/N_sample*f_sample,M_o);
title('M_0(f)');
%-------------------------
%绘制功率谱密度
%-------------------------
figure(3)
subplot(3,1,1)
plot((n-N_sample/2)/N_sample*f_sample,PSD_Noise_i);
subplot(3,1,2)
plot((-N_sample/2+1:N_sample/2-1)*f_res,PSD_n1_rearrange);
subplot(3,1,3)
plot((-N_sample/2+1:N_sample/2-1)*f_res,PSD_no_rearrange);
%-------------------------
%计算
%-------------------------
P_nd=sum(PSD_nd)/length(PSD_nd)*f_sample;
P_sd=sum(PSD_sd)/length(PSD_sd)*f_sample;
P_no=sum(PSD_no)/length(PSD_no)*f_sample;
P_so=sum(PSD_so)/length(PSD_so)*f_sample;
SNR1=P_sd/P_nd;
SNR2=P_so/P_no;
fprintf('解调前噪声功率为%f\n',P_nd);
fprintf('sd功率为%f\n',P_sd);
fprintf('解调后噪声功率为%f\n',P_no);
fprintf('so功率为%f\n',P_so);
fprintf('解调前SNR为%f\n',SNR1);
fprintf('解调后SNR为%f\n',SNR2);
仿真结果:
图3.1.1 功率输出结果
图3.1.2 信号仿真波形
图3.1.3 信号频谱
图3.1.3 噪声信号及功率谱密度
可以发现信噪比和理论分析有一定的误差,主要体现在s(t)解调前后的比值和理论分析的2:1有稍微的出入,频谱输出结果基本正常。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。
通过时域图可以清晰地的看到各个状态的信号,频谱的频率和幅值基本和分析的一直,但是在通过滤波器后幅值会变为原来的1/2。
2.SSB:
%__________________________
%调制器各点波形
%—————————————
m=cos(2*pi*f_m*n*T_sample);%m(t)
C1=cos(2*pi*f_c*n*T_sample);%c1(t)
C2=sin(2*pi*f_c*n*T_sample);%c2(t)
z=hilbert(m);%z为m的解析信号
m1=imag(z);%取虚部
s=m.*C1+m1.*C2;%s(t)=m(t)c(t)
noise_i=wgn(1,N_sample,power_dB);%设计高斯白噪声
r_o=s+noise_i;
运行结果:
图3.2.1 SSB调制功率输出结果
图3.2.2 SSB调制信号时域波形
图3.2.3 SSB调制信号频域波形
图3.2.4 SSB调制噪声及其功率谱密度
可以发现前后的信噪比基本不变,说明单边带调制的抗噪声性能一般。本次输出结果和理论分析结果有一定的误差,主要体现在解调前后的噪声功率比和载波信号s的功率比,但是解调前后信噪比的比值和理论分析基本相同为1:1,频谱仿真基本没有出现什么问题。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。
通过时域图可以清晰地的看到各个状态的信号,频谱的频率和幅值基本和分析的一直,但是在通过滤波器后幅值会变为原来的1/2。
3.AM:
%调制器各点波形
%—————————————
m=cos(2*pi*f_m*n*T_sample);%m(t)
c=cos(2*pi*f_c*n*T_sample);%c(t)
s=(m+1).*c;%s(t)=m(t)c(t)
noise_i=wgn(1,N_sample,power_dB);%高斯白噪声
r_o=s+noise_i;
图3.3.1 AM调制功率输出
图3.3.2 AM调制信号时域波形
图3.3.3 AM调制信号频域波形
图3.3.3 AM调制噪声及功率谱密度
可以发现前后的信噪比会有变化,因为输入信号m(t)的功率为1/2,所以输入信噪比是输出信噪比的1.5倍,并且噪声解调前后的功率比基本为理论的1/4,s(t)解调前后功率比接近理论比值6:1,频谱的输出结果和理论分析基本一样,本次仿真和理论分析基本一样。
单边带调制的抗噪声性能依赖输入信号的频率,频率越高,抗噪声性能越好。本次输出结果和理论分析结果有一定的误差。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。
4.小结
通过本次实验,我更熟悉了MATLAB的操作,从小白到基本入门。同时,我对幅度调制有了更深刻的理解。实验动手结合,大大提高了学习的主动性。通过仿真分析发现理论和实际有一定的偏差,每个调制方法都有自己优缺点,我们要根据实际情况和需要来选择适合的调制方法,比如想要节省带宽就要选择单边调制等。
5.参考文献
MATLAB通信仿真实例1:无噪声信道下DSB-SC调制解调器
现代通信原理A.2:FIR低通滤波器设计
现代通信原理A.1:仿真确定信号波形与频谱
周烔槃.通信原理.北京:北京邮电大学出版社,2015