模拟幅度调制相干解调系统抗噪声性能仿真分析
模拟幅度调制相干解调系统抗噪声性能仿真分析
# 通信系统组成
滤波器
滤波器是一种选频装置,可以使信号中特定的频率成分通过,而极大地衰减其他频率成分。利用滤波器的这种选频作用,可以滤除干扰噪声或进行频谱分析。
换句话说,凡是可以使信号中特定的频率成分通过,而极大地衰减或抑制其他频率成分的装置或系统都称之为滤波器。
低通滤波器
从0~f2频率之间,幅频特性平直,它可以使信号中低于f2的频率成分几乎不受衰减地通过,而高于f2的频率成分受到极大地衰减。
高通滤波器
与低通滤波相反,从频率f1~∞,其幅频特性平直。它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。
带通滤波器
它的通频带在f1~f2之间。它使信号中高于f1而低于f2的频率成分可以不受衰减地通过,而其它成分受到衰减。
带阻滤波器
与带通滤波相反,阻带在频率f1~f2之间。它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。
无噪声调制解调过程
我们先设传输的基带信号为
其傅里叶变换为
KaTeX parse error: Expected '\right', got '}' at position 30: …2}\left[ \{f+fm}̲ \right]+\left …
高频载波信号
Ac为载波幅度,fc为载波频率。c(t)的傅里叶变换为
KaTeX parse error: Expected '\right', got '}' at position 32: …2}\left[ \{f+fc}̲ \right]+\left …
将m(t)m(t)通过调制系统获得已调制信号s(t)相干解调的原理是将调制的信号先乘以一个与高频载波信号c(t)同频同相的接收机端载波信号c˜(t):相干解调的原理是将调制的信号先乘以一个与高频载波信号c(t)同频同相的接收机端载波信号c˜(t): 将m(t)m(t)通过调制系统获得已调制信号s(t)相干解调的原理是将调制的信号先乘以一个与高频载波信号c(t)同频同相的接收机端载波信号c˜(t):相干解调的原理是将调制的信号先乘以一个与高频载波信号c(t)同频同相的接收机端载波信号c˜(t):
再将sd(t)通过一个低通滤波器,即为解调信号mo(t)
有噪声解调过程
s(t)为已调制信号,ni(t)为白噪声,且其为AWGN,单边功率谱密度
BPF为带通滤波器h1(t),设其频域传递函数H1(f)其主要作用为限制进入接收机的噪声功率,同时使得有用信号s(t)失真尽可能小地通过。BT为带宽,n(t)为经过带通滤波器BPF之后的白噪声
频域表达式为
AM调制系统
AM调制,幅度已调信号SAM(t)的时域表达式为:
Ka为调制度,它反映了信号在载波幅度上的调制程度,其中Ka小于1时为欠调制,Ka大于1时为过调制
AM相干解调模型分析
其中带通滤波器BPFBPF带宽BAM=BT=2B(B为m(t)带宽BAM=BT=2B(B为m(t)带宽。
sAM(t)可由上文AM调制系统得到,
sAMd(t)的时域表达式
通过带通滤波器的白噪声信号n(t)
通过乘法器后:
输出端信号:
AM相干解调抗噪声性能理论分析
######输入信号信噪比(SNR)分析
######输出信号信噪比(SNR)分析
DSB-SC调制系统
双边带调制,在幅度调制中,载波分量并不携带信息,将AM调制中的直流分类去掉,即为双边带调制。DSB-SC信号的时域表达式sDSB(t):
DSB-SC相干解调模型分析
其中带通滤波器BPFBPF带宽BDSB=BT=2B(B为m(t)带宽
#####ni(t)、n(t)n(t)、nd(t)和上述有噪声AM相干解调系统的时域表达式相同,同时与有噪声SSB相干解调系统中的噪声信号表达式相同
#####DSB-SC相干解调抗噪声性能理论分析
######输入信号信噪比:
######输出信号信噪比:
SSB调制系统
由于DSB的频谱上边带和下边带是一样的,可以去掉其中一个边带,即为单边带调制,本文将以上边带调制为例。SSB信号有两种方法产生,滤波法和相移法。上述模型为相移法产生SSB信号。
m(t)的希尔伯特变换mˆ(t)为:
单边带信号sSSB(t)的时域表达式为:
####SSB相干解调模型分析
其中带通滤波器BPFBPF带宽BSSB=BT=B(B为m(t)带宽BSSB=BT=B(B为m(t)带宽
######输入信号信噪比分析:
######输出信号信噪比分析:
仿真
系统参数设置
%--------------------
%系统参数设置
%--------------------
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;%采样点数
%--------------------
%信号参数设置
%--------------------
n=0:N_sample-1;
f_m=10;%基带信号频率
f_c=1000;%载波信号频率
Ac=1;%载波信号幅度
m=cos(2pif_mnT_sample);%m(t)调制信号
c=cos(2pif_cnT_sample);%c(t)载波信号
c_t=cos(2pif_cnT_sample);%c_t(t)接收机端载波信号
%调制信号与载波信号时域波形
figure(1)
subplot(2,2,1)
plot(nT_sample,m);
title(‘调制信号m(t)时域波形’),xlabel(‘t’),ylabel(‘m(t)’);
subplot(2,2,3)
plot(nT_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©)/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_samplef_sample,M);
title(‘调制信号m(t)频域波形’),xlabel(‘f’),ylabel(‘M(f)’);
subplot(2,2,4)
plot((n-N_sample/2)/N_samplef_sample,C);
title(‘载波信号c(t)频域波形’),xlabel(‘f’),ylabel(‘C(f)’);
####设计低通滤波器
####无噪AM调制解调
%--------------------
%AM信号产生
%AM Modulation
s_AM=Ac*(1+Kam).c;
%--------------------
%AM解调器
sd_AM=s_AM.c_t;%sd_AM(t)=s_AM(t)c_t(t)
h=Num;%fdatool设计h(t)
mo_AM=conv(sd_AM,h);%mo_AM(t)=sd_AM(t)h(t)卷积
mmo_AM=mo_AM(length(h)/2:length(h)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
%--------------------
%AM信号调制解调时域波形
%--------------------
figure(2)
subplot(2,2,1)
plot(nT_sample,s_AM);
title(‘AM调幅信号时域波形’),xlabel(‘t’),ylabel(‘s_AM(t)’);
subplot(2,2,3)
plot(nT_sample,mmo_AM);
title(‘解调信号时域波形’),xlabel(‘t’),ylabel(‘mmo_AM(t)’);
%--------------------
%AM信号调制解调频域波形
%--------------------
SS_AM=abs(fft(s_AM))/N_sample;%S_AM(f)
S_AM(1:N_sample/2)=SS_AM(N_sample/2+1:N_sample);
S_AM(N_sample/2+1:N_sample)=SS_AM(1:N_sample/2);
MMo_AM=abs(fft(mmo_AM))/N_sample;%Mo_AM(f)
Mo_AM(1:N_sample/2)=MMo_AM(N_sample/2+1:N_sample);
Mo_AM(N_sample/2+1:N_sample)=MMo_AM(1:N_sample/2);
%-------------------------
%绘制各点频谱
%-------------------------
subplot(2,2,2)
plot((n-N_sample/2)/N_samplef_sample,S_AM);
title(‘AM调幅频域波形’),xlabel(‘f’),ylabel(‘S_AM(f)’);
subplot(2,2,4)
plot((n-N_sample/2)/N_samplef_sample,Mo_AM);
title(‘AM调幅解调信号频域波形’),xlabel(‘f’),ylabel(‘Mo_AM(f)’);
有噪AM相干解调
%产生噪声信号n_i(t)
power_dB=-30;
noise_i=wgn(1,N_sample,power_dB);%ni_t
s_AMni=s_AM+noise_i;%s_AM+n_i
%有噪声AM相干解调
%-------------------
%设置带通滤波器BPF1,B_t=2B
h1=2f_msin(2pi2f_mnT_sample)/(2pi2f_mnT_sample)exp(1i2pif_cnT_sample)+2f_msin(2pi2f_mnT_sample)/(2pi2f_mnT_sample)exp(-1i2pif_cnT_sample);
%有噪声AM调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(nN_sample,s_AMni);
title(‘有噪声AM信号’),xlabel(‘t’),ylabel(‘s_AM(t)+n_i(t)’);
%通过带通滤波器BPF1
s_AMn=conv(h1,noise_i);
nn1=0:length(s_AMn)-1;
%接收端载波信号
c_t=cos(2pif_cnn1T_sample);
subplot(2,2,2)
plot(nn1N_sample,s_AMn);
title(‘有噪声AM信号通过带通滤波器的时域波形’),xlabel(‘t’),ylabel(‘s_AM(t)+n(t)’);
%解调,乘以接收端载波信号
s_AMnd=s_AMn.c_t;
subplot(2,2,3)
plot(nn1T_sample,s_AMnd);
title(‘有噪声AM信号通过接收端载波信号的时域波形’),xlabel(‘t’),ylabel(‘s_AMd(t)+n_d(t)’);
%设置低通滤波器
h2=Num1;%fdatool设计h(t)
m_AMno=conv(s_AMnd,h2);
mm_AMno=m_AMno(length(h2)/2:length(h2)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
nn2=0:length(m_AMno)-1;
subplot(2,2,4)
plot(nn2*T_sample,m_AMno);
title(‘有噪声AM信号通过相干解调器’),xlabel(‘t’),ylabel(‘m_AMo(t)+n_o(t)’);
无噪SSB调制解调
%------SSB调制--------
%SSB s_SSB(t)=1/2mc+1/2m^c
m_h=hilbert(m);%希尔伯特变换
s_SSB=1/2m.c+1/2m_h.c;%s_SSB信号
%------SSB调制--------
%SSB s_SSB(t)=1/2mc+1/2m^c
m_h=hilbert(m);%希尔伯特变换
s_SSB=1/2m.c+1/2m_h.c;%s_SSB信号
%时域波形
figure(4)
subplot(2,2,1);
plot(nT_sample,s_SSB);%s_SSB
title(‘SSB调幅信号时域波形’),xlabel(‘t’),ylabel(‘s_SSB’);
subplot(2,2,3);
plot(nT_sample,mmo_SSB);%mmo_SSB(t)
title(‘SSB调幅解调信号时域波形’),xlabel(‘t’),ylabel(‘mmo_SSB(t)’);
%频域
SS_SSB=abs(fft(s_SSB))/N_sample;%S_SSB(f)
S_SSB(1:N_sample/2)=SS_SSB(N_sample/2+1:N_sample);
S_SSB(N_sample/2+1:N_sample)=SS_SSB(1:N_sample/2);
MMo_SSB=abs(fft(mmo_SSB))/N_sample;%Mo_SSB(f)
Mo_SSB(1:N_sample/2)=MMo_SSB(N_sample/2+1:N_sample);
Mo_SSB(N_sample/2+1:N_sample)=MMo_SSB(1:N_sample/2);
%频域波形
subplot(2,2,2);
plot((n-N_sample/2)/N_samplef_sample,S_SSB);
title(‘SSB调幅信号频域波形’),xlabel(‘f’),ylabel(‘S_SSB(f)’);
subplot(2,2,4);
plot((n-N_sample/2)/N_samplef_sample,Mo_SSB);
title(‘SSB调幅解调信号频域波形’),xlabel(‘f’),ylabel(‘Mo_SSB(f)’);
有噪SSB调制解调
s_SSBni=s_AM+noise_i;%s_AM+n_i
%有噪声SSB调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(nN_sample,s_SSBni);
title(‘有噪声SSB信号时域波形’),xlabel(‘t’),ylabel(‘s_SSB(t)+n_i(t)’);
%通过带通滤波器BPF1
h1=Num2;%fdatool设置带通滤波器
s_SSBn=conv(h1,noise_i);
nn1=0:length(s_SSBn)-1;
%接收端载波信号
c_t=cos(2pif_cnn1T_sample);
subplot(2,2,2)
plot(nn1N_sample,s_SSBn);
title(‘有噪声SSB信号通过带通滤波器的时域波形’),xlabel(‘t’),ylabel(‘s_SSB(t)+n(t)’);
%解调,乘以接收端载波信号
s_SSBnd=s_SSBn.c_t;
subplot(2,2,3)
plot(nn1T_sample,s_SSBnd);
title(‘有噪声SSB信号通过接收端载波信号的时域波形’),xlabel(‘t’),ylabel(‘s_SSBd(t)+n_d(t)’);
%设置低通滤波器
h2=Num1;%fdatool设计h(t)
m_SSBno=conv(s_SSBnd,h2);
mm_SSBno=m_SSBno(length(h2)/2:length(h2)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
nn2=0:length(m_SSBno)-1;
subplot(2,2,4)
plot(nn2*T_sample,m_SSBno);
title(‘有噪声SSB信号通过相干解调器’),xlabel(‘t’),ylabel(‘m_SSBo(t)+n_o(t)’);
####无噪DSB-SC调制解调
%------SSB调制--------
%SSB s_SSB(t)=1/2mc+1/2m^c
m_h=hilbert(m);%希尔伯特变换
s_SSB=1/2m.c+1/2m_h.c;%s_SSB信号
%解调器
sd_SSB=s_SSB.c_t;%sd_SSB(t)=s_SSB(t)c_h(t)
%h=Num;%fdatool设计h(t)
mo_SSB=conv(sd_SSB,h);%mo_DSB(t)=sd_DSB(t)h(t)卷积
mmo_SSB=mo_SSB(length(h)/2:length(h)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
%时域波形
figure(4)
subplot(2,2,1);
plot(nT_sample,s_SSB);%s_SSB
title(‘SSB调幅信号时域波形’),xlabel(‘t’),ylabel(‘s_SSB’);
subplot(2,2,3);
plot(nT_sample,mmo_SSB);%mmo_SSB(t)
title(‘SSB调幅解调信号时域波形’),xlabel(‘t’),ylabel(‘mmo_SSB(t)’);
%频域
SS_SSB=abs(fft(s_SSB))/N_sample;%S_SSB(f)
S_SSB(1:N_sample/2)=SS_SSB(N_sample/2+1:N_sample);
S_SSB(N_sample/2+1:N_sample)=SS_SSB(1:N_sample/2);
MMo_SSB=abs(fft(mmo_SSB))/N_sample;%Mo_SSB(f)
Mo_SSB(1:N_sample/2)=MMo_SSB(N_sample/2+1:N_sample);
Mo_SSB(N_sample/2+1:N_sample)=MMo_SSB(1:N_sample/2);
%频域波形
subplot(2,2,2);
plot((n-N_sample/2)/N_samplef_sample,S_SSB);
title(‘SSB调幅信号频域波形’),xlabel(‘f’),ylabel(‘S_SSB(f)’);
subplot(2,2,4);
plot((n-N_sample/2)/N_samplef_sample,Mo_SSB);
title(‘SSB调幅解调信号频域波形’),xlabel(‘f’),ylabel(‘Mo_SSB(f)’);
####有噪DSB-SC调制解调
s_DSBni=s_AM+noise_i;%s_AM+n_i
%有噪声AM调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(nN_sample,s_DSBni);
title(‘有噪声DSB-SC信号时域波形’),xlabel(‘t’),ylabel(‘s_DSB(t)+n_i(t)’);
%通过带通滤波器BPF1
s_DSBn=conv(h1,noise_i);
nn1=0:length(s_DSBn)-1;
%接收端载波信号
c_t=cos(2pif_cnn1T_sample);
subplot(2,2,2)
plot(nn1N_sample,s_DSBn);
title(‘有噪声DSB信号通过带通滤波器的时域波形’),xlabel(‘t’),ylabel(‘s_DSB(t)+n(t)’);
%解调,乘以接收端载波信号
s_DSBnd=s_DSBn.c_t;
subplot(2,2,3)
plot(nn1T_sample,s_DSBnd);
title(‘有噪声DSB信号通过接收端载波信号的时域波形’),xlabel(‘t’),ylabel(‘s_DSBd(t)+n_d(t)’);
%设置低通滤波器
h2=Num1;%fdatool设计h(t)
m_DSBno=conv(s_DSBnd,h2);
mm_DSBno=m_DSBno(length(h2)/2:length(h2)/2+N_sample-1);%将通过滤波器之后产生的延迟去掉
nn2=0:length(m_DSBno)-1;
subplot(2,2,4)
plot(nn2*T_sample,m_DSBno);
title(‘有噪声DSB信号通过相干解调器’),xlabel(‘t’),ylabel(‘m_DSBo(t)+n_o(t)’);
结束语
分析AM、DSB-SC、SSB相干解调的抗干扰性,以下为三种调制信号相干解调的抗干扰性能的对比分析
参考文献
- 通信原理第四版
- ****-- https://blog.****.net/qq_42412811/article/details/102473207