现实生活中,由模拟信源产生携带信息的消息经过传感器变为电信号m(t),若要在频带信道中传播这些信号,则需要通过正弦型载波调制,将“低通型”的模拟基带信号变换为频带模拟基带信号m(t)的调制实际上是按照m(t)的变化规律去控制载波信号c(t)的幅度、频率或者相位,而与之对应的调制我们称为幅度调制(AM)、频率调制(FM)、相位调制(PM)。本文仅针对幅度调制(AM)进行抗干扰性能的分析。并通过matlab对其进行仿真验证
时域表达式(1):
频域表达式(2):
常规AM调制方法最大的好处就是解调简单,常规调幅采用包络检波法进行解调,包络检波器可有二极管、电容、电阻组成,示意图如下:
双边带抑制载波调幅信号是利用均值为0的模拟基带信号m(t)与正弦载波c(t)相乘得到的。其示意图如下:
时域表达式:
频域表达式:
常规幅度调制(AM)与双边带抑制载波调幅(DSB-SC)都有一个共性,那就是均属于双边带调制,调制信号的带宽为原来的两倍,而我们更希望调制的信号带宽与原来的带宽一直,而实现这一希望的方法就是所谓的单边带调制(SSB AM)
一个双边带信号,均可以看成是由上边带信号USSB与下边带信号LSSB两部分组成,示意图如下:
由上图可以有一种思路,那就是通过带通、带阻滤波器来对原有的双边带信号进行滤波,从而得到下、上边带信号,其系统框图如下:
滤波器单边带信号产生示意图如下:
单边带信号的时域表达式:
其傅里叶变换为:
上述方法称为滤波法,很显然,滤波法的思路是从信号的频谱特性出发,除此以外,还有一种方法称为相移法。下面我们就来介绍相移法。
以下边带信号为例,下边带滤波器可表示为:
带入单边带信号的傅里叶变换得到:
对其进行傅里叶反变换可得:
其调制信号产生模型图如下:
AM信号表示式为:
在考虑高斯加性白噪声的情况下,调制信号的输入信号表示为:
其中a是调幅系数,经过与回复载波相乘、在经过低通滤波后得到的信号表达式为:
再经过电容后滤除直流部分,我们得到最终输出信号的表达式为:
由以上表达式,我们可以计算解调信号的输入平均功率为:
若基带随机过程均值为0,可推到解调输出信噪比为:
DSB-SC AM信号表达式:
解调输入信号表达式:
乘以本地震荡后后的输入信号为:
低通滤波器抑制二倍频分量,仅通过低通分量,其输出信号为:
又因为我们使用的是理想滤波,所以其输出为:
由上面的表达式,我们可以计算其解调输出信号的平均功率为:
解调输出噪声的平均功率:
由此我们可以计算得到解调输出信噪比为:
解调输入信号平均功率:
解调信号输入端噪声平均功率:
解调信号输入信噪比:
SSB-BC AM信号表达式为:
考虑高斯加性白噪声下,解调信号的输入为:
解调信号与理想恢复载波相乘,经过低通滤波后,其解调输出:
由上述表达式可以计算解调输出信号的平均功率为:
解调输出噪声功率为:
由此可以计算其输出信噪比为:
解调输入信号平均功率为:
解调信号输入端噪声平均功率:
由此可计算出输入信噪比:
%--------------------
%系统参数设置
%--------------------
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=100;%载波信号频率
Ac=1;%载波信号幅度
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)接收机端载波信号
%产生噪声信号n_i(t)
power_dB=-30;
noise_i=wgn(1,N_sample,power_dB);%ni_t
带通滤波器:
%设置带通滤波器BPF1,B_t=2B
h1=2*f_m*sin(2*pi*2*f_m*n*T_sample)/(2*pi*2*f_m*n*T_sample)*exp(1i*2*pi*f_c*n*T_sample)+2*f_m*sin(2*pi*2*f_m*n*T_sample)/(2*pi*2*f_m*n*T_sample)*exp(-1i*2*pi*f_c*n*T_sample);
低通滤波器:
带通滤波器:
输入信号:
s_AMni=s_AM+noise_i;%s_AM+n_i
绘制各个点的时域波形:
%有噪声AM相干解调
%-------------------
%设置带通滤波器BPF1,B_t=2B
h1=2*f_m*sin(2*pi*2*f_m*n*T_sample)/(2*pi*2*f_m*n*T_sample)*exp(1i*2*pi*f_c*n*T_sample)+2*f_m*sin(2*pi*2*f_m*n*T_sample)/(2*pi*2*f_m*n*T_sample)*exp(-1i*2*pi*f_c*n*T_sample);
%有噪声AM调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(n*N_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(2*pi*f_c*nn1*T_sample);
subplot(2,2,2)
plot(nn1*N_sample,s_AMn);
title('有噪声AM信号通过带通滤波器的时域波形'),xlabel('t'),ylabel('s_AM(t)+n(t)');
%解调,乘以接收端载波信号
s_AMnd=s_AMn.*c_t;
subplot(2,2,3)
plot(nn1*T_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)');
绘制各个点的频域波形:
%--------------------
%有噪声AM信号相干解调各点频域波形
%--------------------
SS_AMni=abs(fft(s_AMni))/N_sample;%S_AM+N_i
S_AMni(1:N_sample/2)=SS_AMni(N_sample/2+1:N_sample);
S_AMni(N_sample/2+1:N_sample)=SS_AMni(1:N_sample/2);
SS_AMn=abs(fft(s_AMn))/N_sample;%S_AM+N
S_AMn(1:N_sample/2)=SS_AMn(N_sample/2+1:N_sample);
S_AMn(N_sample/2+1:N_sample)=SS_AMn(1:N_sample/2);
SS_AMnd=abs(fft(s_AMnd))/N_sample;%S_AMd+N_d(f)
S_AMnd(1:N_sample/2)=SS_AMnd(N_sample/2+1:N_sample);
S_AMnd(N_sample/2+1:N_sample)=SS_AMnd(1:N_sample/2);
MM_AMno=abs(fft(mm_AMno))/N_sample;%MM_AMo+N_o
MM_AMno(1:N_sample/2)=MM_AMno(N_sample/2+1:N_sample);
MM_AMno(N_sample/2+1:N_sample)=MM_AMno(1:N_sample/2);
%绘图
figure(2)
subplot(2,2,1)
plot((n-N_sample/2)/N_sample*f_sample,S_AMni);
title('有噪声AM信号频域波形'),xlabel('f'),ylabel('S_AMni(f)');
subplot(2,2,2)
plot((n-N_sample/2)/N_sample*f_sample,S_AMn);
title('有噪声AM信号通过带通滤波器的频域波形'),xlabel('f'),ylabel('S_AMn(f)');
subplot(2,2,3)
plot((n-N_sample/2)/N_sample*f_sample,S_AMnd);
title('有噪声AM信号通过接收端载波信号频域波形'),xlabel('f'),ylabel('S_AMnd(f)');
subplot(2,2,4)
plot((n-N_sample/2)/N_sample*f_sample,MM_AMno);
title('有噪声AM信号通过相干解调器频域波形'),xlabel('f'),ylabel('MM_AMno(f)');
输入信号:
s_DSBni=s_AM+noise_i;%s_AM+n_i
绘制各个点的时域波形:
%有噪声AM调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(n*N_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(2*pi*f_c*nn1*T_sample);
subplot(2,2,2)
plot(nn1*N_sample,s_DSBn);
title('有噪声DSB信号通过带通滤波器的时域波形'),xlabel('t'),ylabel('s_DSB(t)+n(t)');
%解调,乘以接收端载波信号
s_DSBnd=s_DSBn.*c_t;
subplot(2,2,3)
plot(nn1*T_sample,s_DSBnd);
title('有噪声DSB信号通过接收端载波信号的时域波形'),xlabel('t'),ylabel('s_DSBd(t)+n_d(t)');
%设置低通滤波器
h2=Num;%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)');
绘制各个点的频域波形:
%有噪声DSB信号相干解调各点频域波形
%--------------------
SS_DSBni=abs(fft(s_DSBni))/N_sample;%S_DSB+N_i
S_DSBni(1:N_sample/2)=SS_DSBni(N_sample/2+1:N_sample);
S_DSBni(N_sample/2+1:N_sample)=SS_DSBni(1:N_sample/2);
SS_DSBn=abs(fft(s_DSBn))/N_sample;%S_DSB+N
S_DSBn(1:N_sample/2)=SS_DSBn(N_sample/2+1:N_sample);
S_DSBn(N_sample/2+1:N_sample)=SS_DSBn(1:N_sample/2);
SS_DSBnd=abs(fft(s_DSBnd))/N_sample;%S_DSBd+N_d(f)
S_DSBnd(1:N_sample/2)=SS_DSBnd(N_sample/2+1:N_sample);
S_DSBnd(N_sample/2+1:N_sample)=SS_DSBnd(1:N_sample/2);
MM_DSBno=abs(fft(mm_DSBno))/N_sample;%MM_DSBo+N_o
MM_DSBno(1:N_sample/2)=MM_DSBno(N_sample/2+1:N_sample);
MM_DSBno(N_sample/2+1:N_sample)=MM_DSBno(1:N_sample/2);
%绘图
figure(2)
subplot(2,2,1)
plot((n-N_sample/2)/N_sample*f_sample,S_DSBni);
title('有噪声DSB信号频域波形'),xlabel('f'),ylabel('S_DSBni(f)');
subplot(2,2,2)
plot((n-N_sample/2)/N_sample*f_sample,S_DSBn);
title('有噪声DSB信号通过带通滤波器的频域波形'),xlabel('f'),ylabel('S_DSBn(f)');
subplot(2,2,3)
plot((n-N_sample/2)/N_sample*f_sample,S_DSBnd);
title('有噪声DSB信号通过接收端载波信号频域波形'),xlabel('f'),ylabel('S_DSBnd(f)');
subplot(2,2,4)
plot((n-N_sample/2)/N_sample*f_sample,MM_DSBno);
title('有噪声DSB信号通过相干解调器频域波形'),xlabel('f'),ylabel('MM_DSBno(f)');
输入信号:
s_SSBni=s_AM+noise_i;%s_AM+n_i
绘制各个点的时域波形:
%有噪声SSB调幅信号信号时域波形图
figure(1)
subplot(2,2,1)
plot(n*N_sample,s_SSBni);
title('有噪声SSB信号时域波形'),xlabel('t'),ylabel('s_SSB(t)+n_i(t)');
%通过带通滤波器BPF1
h1=Num1;%fdatool设置带通滤波器
s_SSBn=conv(h1,noise_i);
nn1=0:length(s_SSBn)-1;
%接收端载波信号
c_t=cos(2*pi*f_c*nn1*T_sample);
subplot(2,2,2)
plot(nn1*N_sample,s_SSBn);
title('有噪声SSB信号通过带通滤波器的时域波形'),xlabel('t'),ylabel('s_SSB(t)+n(t)');
%解调,乘以接收端载波信号
s_SSBnd=s_SSBn.*c_t;
subplot(2,2,3)
plot(nn1*T_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);
绘制各个点的频域波形:
%有噪声SSB信号相干解调各点频域波形
%--------------------
SS_SSBni=abs(fft(s_SSBni))/N_sample;%S_SSB+N_i
S_SSBni(1:N_sample/2)=SS_SSBni(N_sample/2+1:N_sample);
S_SSBni(N_sample/2+1:N_sample)=SS_SSBni(1:N_sample/2);
SS_SSBn=abs(fft(s_SSBn))/N_sample;%S_SSB+N
S_SSBn(1:N_sample/2)=SS_SSBn(N_sample/2+1:N_sample);
S_SSBn(N_sample/2+1:N_sample)=SS_SSBn(1:N_sample/2);
SS_SSBnd=abs(fft(s_SSBnd))/N_sample;%S_SSBd+N_d(f)
S_SSBnd(1:N_sample/2)=SS_SSBnd(N_sample/2+1:N_sample);
S_SSBnd(N_sample/2+1:N_sample)=SS_SSBnd(1:N_sample/2);
MM_SSBno=abs(fft(mm_SSBno))/N_sample;%MM_SSBo+N_o
MM_SSBno(1:N_sample/2)=MM_SSBno(N_sample/2+1:N_sample);
MM_SSBno(N_sample/2+1:N_sample)=MM_SSBno(1:N_sample/2);
%绘图
figure(2)
subplot(2,2,1)
plot((n-N_sample/2)/N_sample*f_sample,S_SSBni);
title('有噪声SSB信号频域波形'),xlabel('f'),ylabel('S_SSBni(f)');
subplot(2,2,2)
plot((n-N_sample/2)/N_sample*f_sample,S_SSBn);
title('有噪声SSB信号通过带通滤波器的频域波形'),xlabel('f'),ylabel('S_SSBn(f)');
subplot(2,2,3)
plot((n-N_sample/2)/N_sample*f_sample,S_SSBnd);
title('有噪声SSB信号通过接收端载波信号频域波形'),xlabel('f'),ylabel('S_SSBnd(f)');
subplot(2,2,4)
plot((n-N_sample/2)/N_sample*f_sample,MM_SSBno);
title('有噪声SSB信号通过相干解调器频域波形'),xlabel('f'),ylabel('MM_SSBno(f)');
图5(DSB-SC AM各点时域图)
图6(DSB-SC AM 各点频域图)
图7(SSB AM各点时域图)
图8(SSB AM各点频域图)
1、从带宽来看,常规调幅与抑制双边带载波调幅的带宽时基带信号的2倍,而SSB AM的带宽与基带信号一致
2、从输入输出的信噪比分析,单边带调幅的输入输出信噪比相等,而双边带的输出信噪比是输入信噪比的两倍。
3、通过本次仿真,我更加深入理解了,常规调幅、抑制双边带载波调幅、单边带调幅三种调制方式的原理与优、缺点。
4、在本次仿真中,我能加熟练的运用matlab工具完成相应的仿真
5、经过仿真与理论分析,三种调制方式的主要参数列表如下:
图9(三种调制方式主要性能参数列表)
由上图可知,三种方式的输出信噪比相同,而输入信噪比受基带信号功率的影响,三种调制方式中,DSB-SC AM的输入信噪比在相同基带信号的条件下是最小的,这意味着,DSB-SC的抗干扰能力最弱,相反,SSB AM的抗干扰能力最强。
现代通信原理6.1 常规调幅调制(AM)与抑制载波双边带(DSB-SC)调制
现代通信原理6.2:单边带(SSB)调制
仿真作业3:噪声通过DSB-SC解调器
MATLAB通信仿真实例1:无噪声信道下DSB-SC调制解调器
《通信原理》(第三版)周炯槃 庞沁华 续大我 吴伟陵 杨鸿文