@[TOC]通信原理仿真实验报告总结
就低通滤波器,高斯白噪声的仿真分析
1. 引言
经过了一个多月的通信原理的学习,本人准备将前面操作过的仿真报告进行总结和分析,并对前几章的内容进行总结。
2. 系统模型
2.1 信号的调制与解调的模拟示意图
由图像可以看出,对于一般的信道对基频的调制与解调而言,m(t)即为待调信号,调制信号为c(t)=cos(2πfct),c(t)一般为正弦信号。如果信号存在噪声noise_i,那么应该是噪声信号与输入信号m(t)之间的叠加。然后在经过调制器。调制后的信号为s(t),其中 *s(t) = m(t)c(t) 如果存在噪声信号,那么需要通过一个带通滤波器对调制信号s(t)进行降噪处理。
2.2 高斯白噪声干扰示意图
如图所示,h1(t)即为一个带通滤波器。得到的*n(t) = s(t)h1(t)(该处做的是卷积运算,再将n(t)和与调制信号同频的解调信号(图中的~c(t)=cos2πfct)相乘得到解调后的信号 nd(t);最后在经过一个低通滤波器过滤掉nd(t)中的高频部分即可得到原来的信号m(t)。
2.3常规调幅调制(AM)系统模型示意图
对于AM调制(如图a)来说,它是由DSB-SC信号(如图b)叠加一个大的载波形成的,调制后的信号可以表示为s(t)=Accos(2πfct)+A’m(t)cos(2πfc*t);其中前者为载波分量,后者为DSB-SC信号。其中如果取两者的幅度值一致,及Ac=A’;则调幅指数可以表示为max|m(t)|;也就是m(t)的幅度。
2.4 抗噪声性能分析
(先不考虑噪声)将刚刚通过调制的信号通过一个乘法器进行解调处理,然后通过一个以基带频率为带宽的低通滤波器,得到解调后的信号。
(再单独考虑噪声)因为噪声产生于调制后的信号处,及还未解调之前的信号。所以,噪声也要经过和待解调信号相同的乘法器和低通滤波器。
2.5 单边带调制
单边带调制是为了节约信号传输中对信道带宽的占用,可以去除一个边带来传输,也就是在双边带调制(DSB-SC)的基础上再通过一个边带滤波器H(f);
其中传递函数H(f)=1;(|f|>=fc),H(f)=0;(|f|<fc))(该传递函数为上边带调制,如果为下边带调制,则刚好相反)。
3. 理论分析
3.1信号的调制与解调
首先对于信号的调制来说,就是利用MATLAB模拟将待调信号的频率搬移到高频部分,然后再将调制后的信号恢复的过程。因此在模拟调制的过程中,我们常常选用正弦信号cos(2πfct),用作调制信号和原信号相乘。而时域的相乘等于频域的卷积,我们对调制信号cos(2πfct)进行傅里叶变换,得到的频谱函数为C(t)=1/2*[δ(f-fc)+δ(f+fc)];得到的是分别以fc和-fc为中心频率的冲激函数。因此得到的调制后的信号的频域为将m(t)的频域M(t)搬移到fc和-fc为中心频率处,函数值减小为原来的一半。
3.2高斯白噪声分析
由于信号所受的高斯白噪声与信号的带宽有关,带宽越宽,信号所受的干扰就会越严重,因此我们需要通过一个带通滤波器过滤掉其余不需要的部分来减小噪声带来的影响。最后将调制信号和解调信号相乘,在频域上来看是进行了频谱的搬移。由于要恢复原来的信号,因此对于解调信号来说,解调信号的频率必须与调制信号的频率保持一致(保证信号的搬移幅度一致)。得到的信号nd(t)的频谱应该为以0为中心频率的信号和以2fc和-2fc为中心频率的信号,其幅值分别为原始信号C(t)的1/2,1/4,1/4;最后经过一个低通滤波器过滤掉以2fc和-2fc为中心频率的高频信号,保留低频信号,调整滤波器的幅值恢复原始信号。
3.3 DSB-SC信号,AM信号和SSB信号输入输出信噪比的分析
对于经过了调制的信号,我们分析其经过解调部分之前的输入信噪比,
DSB-SC信号:
SNR_in= P_st_in/P_noise_in;
其中P_st_in=AcAcPm/2;(Pm=<m(t)m(t)>);
P_noise_in=2n0*B;(n0为功率谱密度,B为带宽);
同理可得:
SNR_out= P_st_out/P_noise_out;
P_st_out=P_st_in/2;
P_noise_out=P_noise_in/4;
AM信号:
SNR_in= P_st_in/P_noise_in;
其中P_st_in=AcAc(Pm+1)/2;(Pm=<m(t)m(t)>);
P_noise_in=2n0B;(n0为功率谱密度,B为带宽);
同理可得:
SNR_out= P_st_out/P_noise_out;
P_st_out=AcAc*Pm/4;
P_noise_out=P_noise_in/4;
SSB信号:
SNR_in= P_st_in/P_noise_in;
其中P_st_in=AcAcPm/4;(Pm=<m(t)m(t)>);
P_noise_in=n0B;(n0为功率谱密度,B为带宽);
同理可得:
SNR_out= P_st_out/P_noise_out;
P_st_out=P_st_in/4;
P_noise_out=P_noise_in/4;
4. 仿真实现和仿真结果
4.1 对无噪声信号的调制与解调分析如下:
4.1.1 仿真代码:
clear;
close all;
%初始化参数
f_m = 10;//设置fm =10Hz
f_c = 100;//fc =100Hz
dt=0.002;//时域采样间隔
t = -1:dt:1;//采样范围
df = 0.1;//频域采样间隔
f=-200:df:200;//采样范围
%m(t),c(t),s(t)
m=cos(2*pi*f_m*t);//待调信号
c=cos(2*pi*f_c*t);//调制信号
figure;subplot(2,1,1);plot(t,m);ylabel('m时域');%m
M = dt*m*exp(-j*t'*f*2*pi);
subplot(2,1,2);plot(f,abs(M));ylabel('M频域');%M
s=m.*c;//调制后的信号
figure;subplot(2,1,1);plot(t,s);ylabel('s时域');
S=dt*s*exp(-j*t'*f*2*pi);
%S=fft(s);
subplot(2,1,2);plot(f,abs(S));ylabel('S频域');
s_d=s.*c;//解调信号
figure;subplot(2,1,1);plot(t,s_d);ylabel('s_d时域');
S_d=dt*s_d*exp(-j*t'*f*2*pi);
%S=fft(s);
subplot(2,1,2);plot(f,abs(S_d));ylabel('S_d频域');
H = 2*(heaviside(f+100)-heaviside(f-100));
figure;subplot(2,1,1);plot(f,abs(H));ylabel('H频域');
h = df*H*exp(j*f'*t*2*pi)/(2*pi);
subplot(2,1,2);plot(t,h);ylabel('h时域');
M0 = H.*S_d;
figure;subplot(2,1,1);plot(f,abs(M0));ylabel('M0频域');
m0 = df*M0*exp(j*f'*t*2*pi)/(2*pi);
subplot(2,1,2);plot(t,m0);ylabel('m0时域');
4.1.2 仿真结果如图所示:
4.1.2.1 m(t)时域图和M(t)频域图(待调信号)
原始信号为正弦信号,其频率f_m = 10Hz,改该信号的频域部分为以±f_m为中心频率的冲激函数。
4.1.2.2 s(t)时域图和S(t)频域图
s(t)信号是原始信号和调制信号相乘的结果,调制信号也为正弦信号。调制信号的频率f_c为100Hz,因此S(t)的频谱函数就是M(t)的频谱函数以中心频率为±f_c的频谱搬移。
4.1.2.3 s_d(t)时域图和S_d(t)频域图
s_d(t)为解调信号~c(t)与之前的调制后的信号s(t)相乘的结果,同理可知,其频谱还是对s(t)的频谱进行了搬移,搬移后的频谱有f = 0 的低频部分,也有 f = ±2f_c的高频部分。
4.1.2.4 h(t)时域图和H(t)频域图
h(t)为低通滤波器,可以根据所得的解调信号在低频上的图像的带宽自行设置,在存在噪声的情况下越窄越好,但必须能够完整地方还原原始信号。
4.1.2.5 m0(t)时域图和M0(t)频域图(解调后恢复的信号)
经过了低通滤波器h(t)后m0(t)的图像,及信号还原后的图像,将m0(t)和m(t)作对比,发现两者信号相同,即对无噪声信道来说,能够完全的恢复原有信号。
4.2 对高斯白噪声的调制与解调分析如下:
4.2.1 仿真代码:
clear;
%------------------
%系统参数设置
%-----------------
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;%频率分辨率
f=(-N_sample/2+1:N_sample/2)*f_res;
n=0:N_sample-1;
f0 = 100;
f_c = 100;
B = 20;
t=n*T_sample;
noise_i=wgn(1,N_sample,-60);%白噪声
H1 = rectpuls(f-100,20)+rectpuls(f+100,20);%带通滤波器
Noise_i = fft(noise_i);%噪声的频谱
N = (H1.*Noise_i)/(2*pi);%过滤后的频谱
nt = ifft(N);
c=cos(2*pi*f_c*n*T_sample);%c(t)
n_d = nt.*c;
N_D = fft(n_d);
H2=rectpuls(f,20);
N0 = (N_D.*H2)/(2*pi);
n0 = ifft(N0);
%计算功率谱
PSD_Noise_i=abs(fft(noise_i)).^2*T_sample/T/f_sample;
PSD_n=abs(fft(nt)).^2*T_sample/T/f_sample;
PSD_n_d=abs(fft(n_d)).^2*T_sample/T/f_sample;
PSD_n0=abs(fft(n0)).^2*T_sample/T/f_sample;
figure;
subplot(4,1,1); plot(f,PSD_Noise_i);ylabel('噪声功率谱');
subplot(4,1,2); plot(f,PSD_n);ylabel('n功率谱');
subplot(4,1,3); plot(f,PSD_n_d);ylabel('n_d功率谱');
subplot(4,1,4); plot(f,PSD_n0);ylabel('n0功率谱');
4.2.2 仿真结果如图所示:
通过观察白噪声noise_i的功率谱,我们可以得出噪声信号是杂乱无章的。经过过滤后的功率谱能够大致体现出冲激函数的情况;解调后的信号与上述无噪声类似,过滤后的图像n0(t)与原始信号比较起来,有存在一定的噪声。但噪声的影响相对于未处理前较小。因此合理选择第滤波器十分重要。
4.3 常规调幅调制(AM)
4.3.1 仿真代码
c=cos(2*pi*f_c*t);%%调制信号
Sam=Ac*(1+m).*c;%%AM信号
SAM = fft(Sam);
Sdsb = m.*c;%%DSB-SC信号
PSD_m=abs(fft(m)).^2*T_sample/T/f_sample;%m(t)的功率谱
P_m=sum(PSD_m)/length(PSD_m)*f_sample;%m(t)的平均功率
P_st_in = Ac*Ac*(P_m+1)/2;%AM输入功率
P_noise_in = 2*n0*f_m;%输入的噪声功率
SNR_in = P_st_in/P_noise_in;
fprintf('输入的信噪比为:%f\n',SNR_in);
Sam_d = Sam.*c;%通过乘法器
Sam_D = fft(Sam_d);
Sam_f=filter(Num,1,Sam_d);
Sam_F = fft(Sam_f);
figure;
subplot(5,1,1);plot(t,m);ylabel('原始信号');
subplot(5,1,2);plot(t,Sam);ylabel('AM信号');
subplot(5,1,3);plot(f,PSD_Sam);ylabel('AM信号功率谱');
subplot(5,1,4);plot(t,Sam_f);ylabel('解调信号');
subplot(5,1,5);plot(f,PSD_Sam_f);ylabel('解调信号功率谱');
figure;
plot(t,Sdsb);xlim([0 0.1]);
subplot(3,1,1);plot(t,m);xlim([0 0.5]);ylabel('调幅指数为0.1');
subplot(3,1,2);plot(t,c);xlim([0 0.5]);
subplot(3,1,3);plot(t,Sam);xlim([0 0.5]);
figure;
subplot(3,1,1);plot(f,M);ylabel('原始信号频谱');
subplot(3,1,2);plot(f,SAM);ylabel('AM信号频谱');
subplot(3,1,3);plot(f,Sam_F);ylabel('解调信号频谱');
4.3.2 仿真结果
4.3.2.1 调幅指数为4的m(t),c(t),Sam(t)示意图
4.3.2.2 调幅指数为1的m(t),c(t),Sam(t)示意图
4.3.2.3 调幅指数为0.6的m(t),c(t),Sam(t)示意图
4.3.2.4 调幅指数为0.1的m(t),c(t),Sam(t)示意图
4.3.2.5 AM调制过程中的时域,频域图
通过以上不同的调幅指数可以看出,当调幅指数大于1时,由于1+m(t)可能会出现小于0的情形,就包络的波形而言,包络输出|1+m(t)|与之不等,所以无法正确的恢复原始信号。在调幅系数小于1的部分,我们可以通过包络图形可以看出,调幅系数越大,所得的包络越接近于原始信号。
4.4 双边带抑制载波调幅(DSB-SC)
4.4.1仿真代码
PSD_m=abs(fft(m)).^2*T_sample/T/f_sample;%m(t)的功率谱
P_m=sum(PSD_m)/length(PSD_m)*f_sample;%m(t)的平均功率
P_st_in = Ac*Ac*P_m/4;%DSB-SC输入功率
P_noise_in = n0*f_m;%输入的噪声功率
SNR_in = P_st_in/P_noise_in;
fprintf('输入的信噪比为:%f\n',SNR_in);
Sdsb_d = Sdsb.*c;%通过乘法器
H = rectpuls(f,20);%低通滤波器
Sdsb_f=filter(Num,1,Sdsb_d);
Sdsb_F =fft(Sdsb_f);
figure;
subplot(5,1,1);plot(t,m);ylabel('原始信号');
subplot(5,1,2);plot(t,Sdsb);ylabel('DSB-SC信号');
subplot(5,1,3);plot(f,PSD_Sdsb);ylabel('DSB-SC信号功率谱');
subplot(5,1,4);plot(t,Sdsb_f);ylabel('解调信号');
subplot(5,1,5);plot(f,PSD_Sdsb_f);ylabel('解调信号功率谱');
figure;
subplot(3,1,1);plot(f,M);ylabel('原始信号频谱');
subplot(3,1,2);plot(f,SDSB);ylabel('DSB-SC信号频谱');
subplot(3,1,3);plot(f,Sdsb_F);ylabel('解调信号频谱');
4.4.2仿真结果
4.4.2.1双边带抑制载波调幅图像
时域图示意图
频谱示意图
用功率谱密度为-60分贝的噪声干扰,算出的信噪比如上图所示。
该调幅的频谱特性:复包络sL(t)=Acm(t);其傅氏变换为SL(f)=AcM(f);及S(f)=½[SL(f-fc)+SL*(-f-fc)]=½[M(f-fc)+M(f+fc)];
功率谱密度:若m(t)的功率谱密度为Pm(f),则DSB-SC信号的功率谱密度为:Ps(f)=Ac*Ac/4[Pm(f-fc)+Pm(f+fc)];
4.5 单边带调制(SSB)
4.5.1仿真代码
Sdsb_ = m.*c;%%DSB-SC信号
Sdsb=filter(Num2,1,Sdsb_);%下边带调制
4.5.2仿真结果
5.小结
通过了本次对信号的调制与解调的仿真,以及对相应的噪声的处理,这些仿真设计流程的顺序以及相应的调制信号(调制频率的选择满足与奈奎斯特抽样定理),滤波器(滤波器的宽度选择,太窄信号会丢失,太宽噪声影响大)等的优化都会对信号的质量造成相应的影响。而这些问题也恰恰是我们实际的通信过程中所要面临的问题。利用MATLAB进行仿真,通过观察不同的解调信号的图像与原始图像进行对比,选择出最好的设计方案。
6.参考文献
CSDN tanghonghanhaoli blog
通信原理(第四版)北京邮电大学出版社