2.熟悉MATLAB相关函数的运用。
3.掌握参数设置方法和性能分析方法。
4.掌握产生单边调幅信号的方法和解调的原理。
5.通过利用MATLAB实现单边调幅信号的调制和解调了解相干解调的重要性。
2.系统描述
滤波法产生SSB信号的模型如下图所示
图2.1滤波法调制图
LPF、HPF需要理想的形式,但是实际上是做不到的,过渡带不可能是0。
因此需要采用多级调制[6]。
采用二级调制的系统框图如下图所示
图2.2二级调制模型图
工作原理:
当频率较低的时候,滤波器具有陡峭的频率,因此
是一个截止频率点较低的低通或高通滤波器。
是一个带通滤波器,通常截止频率点选得较高。
二次调制的调制频率需满足:
载波信号
的频率+载波信号
的频率=
。
用滤波法形成上边带信号的频谱图如下图所示
图2.3滤波法形成上边带信号的频谱图
滤波法的技术难点是边带滤波器的制作。
因为实际滤波器在载频处都不具有陡峭的截止特性,而是有一定的过渡带[8]。
SSB信号的频域表示直观、简明,但其实域表示时的推导比较困难,需借助希尔伯特变化来表示。
设单频调制信号为
<2.1)
载波为
<2.2)
则DSB信号的时域表示式为
=
<2.3)
保留上边带,则有
<2.4)
保留下边带,则有
<2.5)
式中:
“-”表示上边带信号;“+”表示下边带信号。
利用希尔伯特变换可把上式改写为
<2.6)
移相法产生SSB信号的模型如下图所示
图2.4 移相法调制图
图中-
为相移网络。
经过相移网络后,输出为
。
经过相移网络后,将所有的频率成份移相-
实际上是一个希尔波特(Hilbert>变换(也可以用一个宽带相移网络来代替>。
3.系统分析与设计
1.查阅MATLAB相关函数的应用,根据设计要求利用matlab产生我们需要的信号。
Fc=100000hz
f=10000hz。
%调制频率
a=2。
%调制信号幅度
m2=a*cos(f*2*pi*t>。
%调制信号
b=3。
%调频信号幅度
m1=b*cos(Fc*2*pi*t1>。
%调频信号
2.利用MATLAB相关函数对信号调制和解调
信号SSB调制采用MATLAB函数modulate实现,其函数格式为:
Y=MODULATE(X,Fc,Fs,METHOD,OPT>
X为基带调制信号,Fc为载波频率,Fs为抽样频率,METHOD为调制方式选择,SSB调制时为’amssb’,OPT在DSB调制时可不选,Fs需满足Fs>2*Fc+BW,BW为调制信号带宽。
本次实验利用程序>.*b。
)得到下边带信号。
SSB信号解调采用MATLAB函数ademod实现,其函数使用格式为:
X=ademod(Y,Fc,Fs,METHOD,OPT>
Y为SSB已调信号,Fc为载波频率,Fs为抽样频率,METHOD为解调方式选择,SSB解调时为’amssb’,OPT在DSB调制时可不选。
观察信号频谱需对信号进行傅里叶变换,采用MATLAB函数fft实现,其函数常使用格式为:
Y=FFT(X,N>,X为时域函数,N为傅里叶变换点数选择,一般取值2。
频域变换后,对频域函数取模,格式:
Y1=ABS(Y>,再进行频率转换,转换方法:
f=(0:
length(Y>-1>’*Fs/length(Y>
分析解调器的抗噪性能时,在输入端加入高斯白噪声,采用MATLAB函数awgn实现,其函数使用格式为:
Y=AWGN(X,SNR>,加高斯白噪声于X中,SNR为信噪比,单位为dB,其值在假设X的功率为0dBM的情况下确定。
信号的信噪比为信号中有用的信号功率与噪声功率的比值,根据信号功率定义,采用MATLAB函数var实现,其函数常使用格式为:
Y=VAR(X>,返回向量的方差,则信噪比为:
SNR=VAR(X1>/VAR(X2>。
绘制曲线采用MATLAB函数plot实现,其函数常使用格式:
PLOTAXIS([x1x2y1y2]>,轴线说明XLABEL(‘‘>和YLABEL(‘‘>。
4.各功能模块主要界面
在MATLAB中实现SSB信号的产生和解调的仿真就是基于以上的程序和参数设定,运行调用了plot函数的M文件,可以分别得出解调前后的频域与时域对比图,为了便于参照,将SSB信号的时域与频域图也一同进行比较。
图4.1载波信号时域、频域图
图4.2调制信号时域、频域图
图4.3下边带信号时域、频域图
图4.4解调信号时域、频域图
由图可知,单边带调制是对基带信号的线性频谱搬移,调制前后频谱仅仅是位置发生了改变,频谱形状没有改变。
由单边带调制所得的下边带中任意一个信号就可以反映原基带信号所携带的信息。
5.程序主要代码
Fs=500000。
t=[0:
1/Fs:
0.001]。
t1=[0:
0.0000001:
0.00005]。
y=2*cos(10000*2*pi*t>。
%调制信号
yw=fft(y>。
yw=abs(yw(1:
length(yw>/2+1>>。
frqyw=[0:
length(yw>-1]*Fs/length(yw>/2。
Fc=100000。
c=3*cos(Fc*2*pi*t>。
%载波信号
b=3*sin(2*pi*Fc.*t>。
y2=3*cos(Fc*2*pi*t1>。
Y1=fft(才>。
Y1=abs(Y1(1:
length(Y1>/2+1>>。
frqY1=[0:
length(Y1>-1]*Fs/length(Y1>/2。
lssb=y.*c+imag(hilbert(y>>.*b。
%下边带信号
y1=awgn(lssb,30>。
%调制信号加噪声
wsingle=fft(lssb>。
wsingle=abs(wsingle(1:
length(wsingle>/2+1>>。
frqsingle=[0:
length(wsingle>-1]*Fs/length(wsingle>/2。
asingle=ademod(y1,Fc,Fs,'amssb'>。
%ssb解调
aa=fft(asingle>。
aa=abs(aa(1:
length(aa>/2+1>>。
frqaa=[0:
length(aa>-1]*Fs/length(aa>/2。
%解调信号频谱
figure(1>
subplot(1,2,1>。
plot(t1,y2>。
gridon。
title('载波信号时域波形'>
subplot(1,2,2>。
plot(frqY1,Y1>。
gridon。
%调制信号频谱
title('载波信号频谱'>
axis([0500000max(yw>]>。
figure(2>
subplot(1,2,1>。
plot(t,y>。
gridon。
title('调制信号时域波形'>
subplot(1,2,2>。
plot(frqyw,yw>。
gridon。
%调制信号频谱
title('调制信号频谱'>
axis([0500000max(yw>]>。
figure(3>
plot(t,lssb>
subplot(1,2,1>
plot(t,lssb>。
gridon。
title('下边带信号波形'>
subplot(1,2,2>。
plot(frqsingle,wsingle>。
%调制后频谱图
gridon。
title('下边带信号频谱'>
figure(4>
subplot(1,2,1>。
plot(t,asingle>。
gridon。
title('解调后信号波形'>
subplot(1,2,2>。
plot(frqaa,aa>。
gridon。
title('解调后信号频谱'>
axis([0500000max(aa>]>。
6.设计过程中遇到的主要问题
在同步解调中,本地载波的频率和相位必须与发送端载波同步,当本地载波存在频率或相位误差时,会使解调输出信号产生失真。
以双边带调幅(DSB>信号和单边带调幅(SSB>信号为例,采取定量分析的方法,详细讨论了频率误差和相位误差所产生的失真问题,通过对它们的失真进行比较与分析,得出了一条重要结论:
频率误差和相位误差在DSB中所产生的失真比在SSB中更为严重。
7.总结
通过利用matlab程序实现了题目的要求,完成了对单边带调幅由于双边带信号两个边带中任意一个都包含了原基带信号的所有频谱成分,因此就产生了单边带调制[19]。
单边带信号只传输双边带信号的一个频带,所以频谱最窄,效率最高,因此应用广泛。
通过对单边带调制与解调系统的仿真研究,可以获得建造真系统所用的先验知识何必要的设计方案,同时又可大大节省人力的投入和研发新系统的时间。
在此次MATLAB应用课程设计中,无论是查阅资料的能力还是对MATLAB这个软件的掌握都是一个很大的进步。
刚接到这个题目真的感到有点束手无策,因为以前只是单纯的从书本上学习数字信号处理、通信原理的知识,而这次却要用MATLAB这个不熟悉的软件实现通信原理中SSB信号的调制与解调。
但是,在我个人的努力下,不断查阅相关资料,许多问题都迎刃而解了。
首先我认识了MATLAB这个软件,其功能非常的强大,由总包和若干个工具箱组成,可以实现数值分析、自动控制、图像处理、神经元网络等若干个领域的计算和图形显示,它将这些不同领域的计算用函数的形式分类成对用户完全透明的库函数,构成一个个针对专门领域的工具箱。
使得我们在使用的时候用户直接调用这些库函数并赋予实际参数就能解决实际问题,具有极高的变成效率。