通信电路第一次仿真

模拟幅度调制相干解调系统抗噪声性能仿真分析

1. 引言

在模拟通信过程中,调制系统的抗噪声性能由它最终的输出信噪比给出。为此本文将模拟传输系统的噪声问题及研究方法,分析噪声对各种调幅系统的影响。对AM、DSB-SC、SSB三种幅度调制系统进行分析。

2. 系统模型

2.1 常规调幅(AM)
2.1.1常规调幅的调制器模型及参数确定

AM调制器模型如图1所示。显然有

S A M ( t ) = A c [ 1 + m ( t ) ] c o s ( 2 π f c t ) (1) S_{AM}(t) = A_c[1+m(t)]cos(2πf_ct)\tag{1} SAM(t)=Ac[1+m(t)]cos(2πfct)(1)

其中 A C A_C AC是载波幅度,m(t)是基带消息信号
在这里插入图片描述

图1 AM调制器模型

我们在进一步确定调幅指数:

β A M = M A X [ m ( t ) ] (2) β_{AM}=MAX[m(t)]\tag{2} βAM=MAX[m(t)](2)

它反映了信号在载波幅度上的“调制程度”。正常情况下,调幅指数不大于1,当大于1时发生过调制。
上面说明了常规AM系统的调制模型,接下来我们分析AM系统的相干解调。
由图2可以看出

r i ( t ) = A c [ 1 + m ( t ) ] c o s 2 π f c t + n i ( t ) (3) r_i(t)=A_c[1+m(t)]cos2πf_ct+n_i(t)\tag{3} ri(t)=Ac[1+m(t)]cos2πfct+ni(t)(3)
r o ( t ) = A c [ 1 + m ( t ) ] + n c ( t ) (4) r_o(t)=A_c[1+m(t)]+n_c(t)\tag{4} ro(t)=Ac[1+m(t)]+nc(t)(4)

2.1.2常规调幅的抗噪声性能理论分析

AM信号一般采用相干解调的方式,根据下列公式可以得到输入信号的信噪比为:

s ( t ) = [ m ( t ) + 1 ] c ( t ) s(t)=[m(t)+1]c(t) s(t)=[m(t)+1]c(t)
n ( t ) = n c ( t ) c o s ( 2 π f c t − n s ( t ) s i n ( 2 π f c t ) n(t)=nc(t)cos(2πfct-ns(t)sin(2πfct) n(t)=nc(t)cos(2πfctns(t)sin(2πfct)
s d ( t ) = 1 / 2 ( 1 + m ( t ) ) [ 1 + c o s ( 4 π f c t ) ] sd(t)=1/2(1+m(t))[1+cos(4πfct)] sd(t)=1/2(1+m(t))[1+cos(4πfct)]
n d ( t ) = n ( t ) c o s ( 2 π f c t ) nd(t)=n(t)cos(2πfct) nd(t)=n(t)cos(2πfct)
m o ( t ) = 1 / 2 m ( t ) / / n o ( t ) = 1 / 2 n c ( t ) mo(t)=1/2m(t) //no(t)=1/2nc(t) mo(t)=1/2m(t)//no(t)=1/2nc(t)
S i n = < s 2 ( t ) > = 1 / 2 < 1 + m 2 ( t ) > = 1 / 2 ( 1 + P m ) Sin=<s2(t)>=1/2<1+m2 (t)>=1/2(1+Pm) Sin=<s2(t)>=1/2<1+m2(t)>=1/2(1+Pm)
N i n = E [ n 2 ( t ) ] = 2 n o B Nin=E[n2(t)]=2noB Nin=E[n2(t)]=2noB
( S / N ) i n = S i n / N i n = 1 / 2 ( P m + 1 ) / 2 n o B ) (S/N)in=Sin/Nin=1/2(Pm+1)/2noB) (S/N)in=Sin/Nin=1/2(Pm+1)/2noB)
S o u t = < s o 2 ( t ) > = 1 / 4 P m Sout=<so2(t)>=1/4Pm Sout=<so2(t)>=1/4Pm
N o u t = E [ n o 2 ( t ) ] = 1 / 4 N i n Nout=E[no2(t)]=1/4Nin Nout=E[no2(t)]=1/4Nin
( S / N ) o u t = S o u t / N o u t = P m / 2 n o B = 2 P m / ( 1 + P m ) (S/N)out=Sout/Nout=Pm/2noB=2Pm/(1+Pm) (S/N)out=Sout/Nout=Pm/2noB=2Pm/(1+Pm)
可见输出信噪比与m(t)的功率有关,m(t)的平均功率越大,该模型抗噪声性能越好。

在这里插入图片描述

图2相干解调器
2.2 抑制载波双边带调幅(DSB-SC)
2.2.1抑制载波双边带调幅的调制器模型及参数确定

在这里插入图片描述

图3 DSB的信号产生

 其时域表达式为:
    S A M ( t ) = A c m ( t ) c o s 2 π f c t (5) S_{AM}(t)=A_cm(t)cos{2\pi f_ct}\tag{5} SAM(t)=Acm(t)cos2πfct(5)
得其时域波形如图6。
 同理易得其频谱(如图7)为:
    S A M ( f ) = A c 2 [ M ( f − f c ) + M ( f − f c ) ] (6) S_{AM}(f)=\frac{A_c}{2}[M (f-f_c)+M(f-f_c)]\tag{6} SAM(f)=2Ac[M(ffc)+M(ffc)](6)

2.1.2抑制载波双边带调幅的抗噪声性能理论分析

在这里插入图片描述

图4 DSB-SC系统抗噪声性能分析模型

 同理如AM相干解调系统,DSB-SC系统使用的也为相干解调器如上图11所示,对于DSB-SC系统,接收信号带宽 B T = 2 B B_T=2B BT=2B(同AM系统),功率 P s = 1 2 A c 2 m 2 ( t P_s=\frac{1}{2}A_c^2\frac{}{m^2(t} Ps=21Ac2m2(t,所以可以得到输入信号的信噪比为:

   ( S N ) i _ D S B = 1 2 A c 2 m 2 ( t ) 2 N 0 B (7) ({\frac{S}{N}})_{i\_DSB}=\frac{\frac{1}{2}A_c^2\frac{}{m^2(t)}}{2N_0B}\tag{7} (NS)i_DSB=2N0B21Ac2m2(t)(7)

输入信号为:

   r i ( t ) = s ( t ) + n i ( t ) = A c m ( t ) c o s 2 π f c t + n i ( t ) (8) r_i(t)=s(t)+n_i(t)=A_cm(t)cos2\pi f_ct+n_i(t)\tag{8} ri(t)=s(t)+ni(t)=Acm(t)cos2πfct+ni(t)(8)

为了简化运算令本地载波前因子为2,经过低通滤波器后输出信号为:

   r o ( t ) = A c m ( t ) + n c ( t ) (9) r_o(t)=A_cm(t)+n_c(t)\tag{9} ro(t)=Acm(t)+nc(t)(9)   

又由于带通噪声与他的同相或正交分量的功率一样,可得输出信噪比为:

   ( S N ) o _ D S B = A c 2 m 2 ( t ) 2 N 0 B (10) ({\frac{S}{N}})_{o\_DSB}=\frac{A_c^2\frac{}{m^2(t)}}{2N_0B}\tag{10} (NS)o_DSB=2N0BAc2m2(t)(10)
最后计算得到系统的增益 G S Y S _ D S B = 1 G_{SYS\_DSB}=1 GSYS_DSB=1,解调增益为 G D E M _ D S B = 2 G_{DEM\_DSB}=2 GDEM_DSB=2

2.3 双边带调幅(SSB)
2.3.1双边带调幅的调制器模型及参数确定

  单边带调幅信号是只取DSB_SC信号中的上边带或下边带分量所得到的信号。产生SSB信号的一种基本方法为滤波法如图9所示,其中 H S S B ( f ) H_{SSB}(f) HSSB(f)为单边带滤波器的传递函数。

在这里插入图片描述

图5 SSB的滤波法产生

 如图所示由低通滤波器可得其下边带 S L S S B ( f ) S_{LSSB}(f) SLSSB(f)(图10.(a)),由高通滤波器可得到其上边带 S U S S B ( f ) S_{USSB}(f) SUSSB(f)图10.(b))。

在这里插入图片描述

图6 SSB频域原理

  SSB信号与DSB_SC信号相同只可用相干解调法接收解调,数学表达式为:
   S o ( t ) = 1 4 A c m ( t ) S_o(t)=\frac{1}{4}A_cm(t) So(t)=41Acm(t)

2.3.2抑双边带调幅的抗噪声性能理论分析

在这里插入图片描述

图7 SSB系统抗噪声性能分析模型

 对于SSB系统,SSB信号的频谱只有DSB的一半,所以 P s = P D S B 2 = 1 4 A c 2 m 2 ( t ) P_s=\frac{P_{DSB}}{2}=\frac{1}{4}A_c^2\frac{}{m^2(t)} Ps=2PDSB=41Ac2m2(t),且输入噪声的功率减半为 N 0 B N_0B N0B,可得输入信噪比为:

   ( S N ) i _ S S B = A c 2 m 2 ( t ) 4 N 0 B (11) ({\frac{S}{N}})_{i\_SSB}=\frac{A_c^2\frac{}{m^2(t)}}{4N_0B}\tag{11} (NS)i_SSB=4N0BAc2m2(t)(11)
同理于DSN_SC系统,其带宽仅为DSB-SC的一半,相应的噪声带宽也减半,所以输出的白噪声功率也减半可得输出信噪比为:

   ( S N ) o _ D S B = A c 2 m 2 ( t ) 4 N 0 B (12) ({\frac{S}{N}})_{o\_DSB}=\frac{A_c^2\frac{}{m^2(t)}}{4N_0B}\tag{12} (NS)o_DSB=4N0BAc2m2(t)(12)

最后可得系统增益与解调增益均为1,即 G S Y S _ S S B = G D E M _ S S B = 1 G_{SYS\_SSB}=G_{DEM\_SSB}=1 GSYS_SSB=GDEM_SSB=1

3. 仿真实现及仿真结果

3.1参数设置

1.系统参数设置

%--------------------
%系统参数设置
%--------------------
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;%采样点数

2.产生基带信号m(t) m(t)m(t)、载波信号

m=cos(2*pi*f_m*n*T_sample);%m(t)调制信号
c=cos(2*pi*f_c*n*T_sample);%c(t)载波信号
c_t=cos(2*pi*f_c*n*T_sample);%c_t(t)接收机端载波信号

3.绘制基带信号m(t) m(t)m(t)与载波信号c(t) c(t)c(t)的时域频域波形

%调制信号与载波信号时域波形
figure(1)
subplot(2,2,1)
plot(n*T_sample,m);
title('调制信号m(t)时域波形'),xlabel('t'),ylabel('m(t)');
subplot(2,2,3)
plot(n*T_sample,c);
title('载波信号c(t)时域波形'),xlabel('t'),ylabel('c(t)');
%M(f)与C(f)
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);
%调制信号与载波信号频域波形
subplot(2,2,2)
plot((n-N_sample/2)/N_sample*f_sample,M);
title('调制信号m(t)频域波形'),xlabel('f'),ylabel('M(f)');
subplot(2,2,4)
plot((n-N_sample/2)/N_sample*f_sample,C);
title('载波信号c(t)频域波形'),xlabel('f'),ylabel('C(f)');
3.2仿真
3.2.1AM信号仿真
%调制器各点波形
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;

在这里插入图片描述
在这里插入图片描述
分析:因为输入信号m(t)的功率为1/2,所以输入信噪比是输出信噪比的1.5倍,并且噪声解调前后的功率比基本为理论的1/4,s(t)解调前后功率比接近理论比值6:1,频谱的输出结果和理论分析基本一样,本次仿真和理论分析基本一样。在一定的时间内解调出来的信号与基带信号误差较小,而在时限外则误差较大,时域波形趋于平稳直至消失,从而导致其频域波形有较大的误差。
单边带调制的抗噪声性能依赖输入信号的频率,频率越高,抗噪声性能越好。本次输出结果和理论分析结果有一定的误差。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。

3.2.2DSB-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);

在这里插入图片描述
在这里插入图片描述
根据仿真可以得到:解调前的噪声功率约为0.000345,sd功率为0.092154;解调后噪声功率为0.000124;sd功率为0.04125;解调前SNR为254.21456;解调后为377.155456.
分析:可以发现信噪比和理论分析有一定的误差,主要体现在s(t)解调前后的比值和理论分析的2:1有稍微的出入,频谱输出结果基本正常。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。
通过时域图可以清晰地的看到各个状态的信号,频谱的频率和幅值基本和分析的一直,但是在通过滤波器后幅值会变为原来的1/2。

3.2.3SSB信号仿真
%__________________________
%调制器各点波形
%—————————————
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;

在这里插入图片描述在这里插入图片描述
根据仿真可知:解调前的噪声功率为0.000254,sd功率为0.123312,SNR为421.145822;解调后的噪声功率为:0.000124,sd功率为:0.05461,SNR为399.25477
分析:可以发现前后的信噪比基本不变,说明单边带调制的抗噪声性能一般。本次输出结果和理论分析结果有一定的误差,主要体现在解调前后的噪声功率比和载波信号s的功率比,但是解调前后信噪比的比值和理论分析基本相同为1:1,频谱仿真基本没有出现什么问题。可能是滤波器设计的不够理想,达不到理论分析的要求,也可能是高斯白噪声的随机性,导致每次仿真结果都会有差异。也有可能是计算功率,频谱等的公式编写的有一定的问题,导致产生误差。
通过时域图可以清晰地的看到各个状态的信号,频谱的频率和幅值基本和分析的一直,但是在通过滤波器后幅值会变为原来的1/2。

4. 小结

通过本次实验,我更熟悉了MATLAB的操作,从小白到基本入门。同时,我对幅度调制有了更深刻的理解。实验动手结合,大大提高了学习的主动性。而且通过本次的仿真实验可以得出在AM、DSB-SC、SSB这三个系统中DSB-SC的解调增益最大且为定值2,而SSB系统的解调增益也为定值1,可见,DSB-SC系统的抗干扰能力较SSB系统更强,而AM相干解调系统的解调增益不为定值,且其大小随着基带信号功率的变化而变化但小于2,即DSB-SC系统的抗干扰能力最强,AM系统的抗干扰能力与基带信号的功率相关,且功率越大抗干扰能力越强,SSB系统的抗干扰能力为DSB-SC系统的一半。

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值