用Matlab实现模拟DSBAM调制.docx
《用Matlab实现模拟DSBAM调制.docx》由会员分享,可在线阅读,更多相关《用Matlab实现模拟DSBAM调制.docx(12页珍藏版)》请在冰豆网上搜索。
用Matlab实现模拟DSBAM调制
前言
调制就是使一个信号(如光、高频电磁振荡等)的某些参数(如振幅、频率等)按照另一个欲传输的信号(如声音、图像等)的特点变化的过程。
用所要传播的语言或音乐信号去改变高频振荡的幅度,使高频振荡的幅度随语言或音乐信号的变化而变化,这个控制过程就称为调制。
其中语言或音乐信号叫做调制信号,调制后的载波就载有调制信号所包含的信息,称为已调波。
解调是调制的逆过程,它的作用是从已调波信号中取出原来的调制信号。
对于幅度调制来说,解调是从它的幅度变化提取调制信号的过程。
对于频率调制来说,解调是从它的频率变化提取调制信号的过程。
频率解调要比幅度解调复杂,用普通检波电路是无法解调出调制信号的,必须采用频率检波方式,如各类鉴频器电路。
关于鉴频器电路可参阅有关资料,这里不再细述。
本课题利用MATLAB软件对DSB信号调制解调系统进行模拟仿真,分别对正弦波进行调制,观察调制信号、已调信号和解调信号的波形和频谱分布。
第一章设计要求
(1)已知调制信号
(2)调制载波c(t)=
(3)设计m文件实现DSB-AM调制
(4)设计m文件绘制消息信号与已调信号的频谱,分析其频谱特征。
第二章系统组成及工作原理
2.1DSB-AM系统构成
在AM信号中,载波分量并不携带信息,信息完全由边带传送。
如果将载波抑制,只需在将直流A0去掉,即可输出抑制载波双边带信号,简称双边带信号(DSB)。
2-1DSB调制器模型
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。
双边带解调通常采用相干解调的方式,它使用一个同步解调器,即由相乘器和低通滤波器组成。
相干解调的原理框图如图2-2所示:
2-2DSB相干解调模型
2.2DSB调制原理
在消息信号m(t)上不加上直流分量,则输出的已调信号就是无载波分量的双边带调制信号,或称抑制载波双边带调制信号,简称双边带(DSB)信号。
DSB调制器模型如图2-1,可见DSB信号实质上就是基带信号与载波直接相乘。
(式2-1)
(式2-2)
除不再含有载频分量离散谱外,DSB信号的频谱与AM信号的完全相同,仍由上下对称的两个边带组成。
故DSB信号是不带载波的双边带信号,它的带宽与AM信号相同,也为基带信号带宽的两倍,DSB信号的波形和频谱分别如图2-3:
2-3DSB调制的谱分析
调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。
DSB信号的包络不再与调制信号的变化规律一致,因而不能采用简单的包络检
波来恢复调制信号,需采用相干解调(同步检波)。
另外,在调制信号m(t)的过零点处,高频载波相位有180°的突变。
除了不再含有载频分量离散谱外,DSB信号的频谱与AM信号的频谱完全相同,仍由上下对称的两个边带组成。
所以DSB信号的带宽与AM信号的带宽相同,也为基带信号带宽的两倍。
2.3DSB解调原理
因为不存在载波分量,DSB信号的调制效率是100%,即全部功率都用于信息传输。
但由于DSB信号的包络不再与m(t)成正比,故不能进行包络检波,需采用相干解调。
相干解调模型图2-2已给出。
图中输入的为式2-1的DSB信号。
乘法器输出为
式(2-4)
经低通滤波后为
式(2-5)
2.4FIR数字低通滤波器
FIR滤波器为有限脉冲响应(FIR)数字滤波器,其在保证幅度特性的同时,很容易做到严格的线性相位特性。
在数字滤波器中,FIR滤波器的最主要特点是没有反馈回路,故不存在不稳定的问题;同时,在幅度特性可以任意设置的同时,保证了精确的线性相位。
稳定和线性相位是FIR滤波器的突出优点。
另外还有以下特点:
设计方式是线性的;硬件容易实现;滤波器过渡过程具有有限区间;相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。
第三章用matlab设计DSB系统
用matlab的m文件设计的DSB系统由以下几部分构成:
载波信号的产生、调制信号的产生、已调信号的产生、解调器的乘法器输出、数字低通滤波器FIR的设计、滤波后恢复的信号六大部分构成。
3.1载波信号的产生
本次设计要求的载波信号为c(t)=
,设载波频率为3000HZ,则在matlab中载波信号可表示为Uc=A0.*cos(w0*t),代码如下:
t=-1:
0.00001:
5;
A0=10;%载波信号振幅
f=3000;%载波信号频率
w0=2*f*pi;
Uc=A0.*cos(w0*t);%载波信号
subplot(5,2,1);
plot(t,Uc);
title('载波信号');
axis([0,0.01,-15,15]);
T1=fft(Uc);%fft变化形成载波信号频谱
subplot(5,2,2);
plot(abs(T1));
title('载波信号频谱');
axis([17800,18200,0,1000000]);
3.2调制信号产生
本次设计中,用rectpuls()函数形成要求中的调制信号,rectpuls函数可产生一个关于原点对称、宽度为1的矩形脉冲。
具体函数如下:
functionmes=mm(t0)
g=-1:
0.00001:
5;
m1=rectpuls(g-0.5,t0/3);%形成0-t0/3之间的矩形脉冲信号
m2=-2*rectpuls(g-0.5-t0/3,t0/3);%形成t0/3-2t0/3之间的矩形脉冲信号
mes=m1+m2;
在主函数中调用该函数即可,代码如下:
mes=mm(3);%调制信号
subplot(5,2,3);
plot(t,mes);
title('调制信号');
T2=fft(mes);
subplot(5,2,4);
plot(abs(T2));
title('调制信号频谱');
axis([0,200,0,200000]);
3.3已调信号的产生
由DSB调制原理可知,已调信号即为调制信号与载波信号相乘即可,设计代码如下:
Udsb=mes.*Uc;%DSB已调信号
subplot(5,2,5);
plot(t,Udsb);
title('DSB已调波形');
subplot(5,2,6);
T3=fft(Udsb);%对DSB已调信号进行傅里叶变换
plot(abs(T3));
title('DSB已调频谱');
axis([17800,18200,0,1000000]);
3.4解调器乘法器的输出
DSB相干解调器由乘法器及低通滤波器构成,为保证能得到原是信号,相干解调要求输入的本地载波必须与调制载波严格的同频同相。
具体代码如下:
Ddsb=Udsb.*cos(w0*t);%对DSB调制信号进行解调
subplot(5,2,7);
plot(t,Ddsb);
title('滤波前的DSB解调信号波形');
T4=fft(Ddsb);%求DSB解调信号的频谱
subplot(5,2,8);
plot(abs(T4));
title('滤波前的DSB解调信号频谱');
axis([0,37000,0,200000]);
3.5FIR数字低通滤波器的设计
FIR滤波器为线性相位滤波器。
用窗函数法设计FIR滤波器的步骤。
如下:
(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。
先按照阻带衰减选择窗函数类型。
原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。
(2)构造希望逼近的频率响应函数。
(3)计算h(n).。
(4)加窗得到设计结果。
本次设计中选用哈明窗作为窗函数、采样频率为2000HZ,通带边界频率为100HZ,阻带截至频率为120HZ,通带与阻带波动分别为1%及5%,代码如下:
Ft=2000;%采样频率
fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hz
mag=[10];
dev=[0.010.05];%通带波动1%,阻带波动5%
[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤波器的参数
b21=fir1(n21,wn21,kaiser(n21+1,beta));%由fir1设计滤波器
3.6滤波后恢复的信号
将乘法器的输出信号通过低通滤波即可恢复原始信号,本次设计中用fftfilt函数来进行FIR的滤波,具体代码如下:
z21=fftfilt(b21,Ddsb);%FIR低通滤波
subplot(5,2,9);
plot(t,z21,'r');
title('滤波后的DSB解调信号波形');
T5=fft(z21);%求DSB信号的频谱
subplot(5,2,10);
plot(abs(T5),'r');
title('滤波后的DSB解调信号频谱');
axis([0,200,0,1300000]);
第四章实验调试及结果分析
4.1实验调试
解调端乘法器的输出信号经过FIR低通滤波器,无法完全滤波。
提高采样频率后,可以实现滤波。
采样频率的不同,滤波器采样点数不同,频率越高,点数密集程度越大,滤波效果也越好。
4.2实验结果分析
FIR低通滤波的设计:
4-1FIR低通滤波
由上图可知,该设计符合设计要求
载波信号:
4-2载波信号
载波信号频率3000Hz,其傅立叶变换后应在
即18000附近,信号频谱符合理论要求。
调制信号:
4-3调制信号
根据设计要求,调制信号应由两个不同的门函数构成,调制信号频率几乎为0,由门函数的傅立叶变换波形为
函数,可知调制信号的频谱应为
函数的叠加与移位。
观察调制信号频谱,符合要求。
已调信号:
4-4已调信号
已调信号为载波与调制信号相乘,DSB信号的频谱为调制信号频谱的线性搬移,存在上下边频,不存在载频。
已调信号波形,包络为调制信号波形的绝对值。
观察波形及频谱,符合要求。
滤波后的波形:
4-5滤波后信号
滤波后的信号,应与原始信号的波形上一致,幅值上会有所不同。
实验结果与分析一致。
第五章总结
调制与解调技术是通信电子线路课程中一个重要的环节,也是实现通信必不可少的一门技术,也是通信专业学生必须掌握的一门技术。
课题在这里是把要处理的信号当做一种特殊的信号,即一种“复杂向量”来看待。
也就是说,课题更多的还是体现了数字信号处理技术。
从课题的中心来看,课题“基于Matlab的DSB调制系统仿真”是希望将DSB调制与解调技术应用于某一实际领域,这里就是指对信号进行调制。
作为存储于计算机中的调制信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。
这一过程的实现,用到了处理数字信号的强有力工具MATLAB。
通过MATLAB里几个命令函数的调用,很轻易的在调制信号与载波信号的理论之间搭了一座桥。
课题的特色在于它将调制信号看作一个向量,于是就把调制信号数字化了。
那么,就可以完全利用数字信号处理和通信电子线路的知识来解决DSB调制问题。
我们可以像给一般信号做频谱分析一样,来对调制信号做频谱分析,也可以较容易的用数字滤波器来对解调信号进行滤波处理。
通过比较DSB调制与解调前后,调制信号的频谱和时域,能明显的感觉到DSB调制后DSB解调与原始的调制信号有明显的不同,设计部同的滤波器得到的结果页是不同的,通过仿真可以看到FIR低通滤波器要比IIR低通滤波器要滤的好。
由此可见,调制信号主要分布在低频段,而载波信号主要分布在高频段。
参考文献
[1]樊昌信.通信原理.北京:
国防工业出版社,2008.
[2]郝文化.MATLAB图形图像处理应用教程.北京:
中国水利水电出版社,2002.
[3]徐金明.MATLAB实用教程.北京:
清华大学出版社,2003.
[4]达新宇.通信原理实验与课程设计.北京:
北京邮电大学出版社,2003.
附录一
t=-1:
0.00001:
5;
A0=10;%载波信号振幅
f=3000;%载波信号频率
w0=2*f*pi;
Uc=A0.*cos(w0*t);%载波信号
subplot(5,2,1);
plot(t,Uc);
title('载波信号');
axis([0,0.01,-15,15]);
T1=fft(Uc);
subplot(5,2,2);
plot(abs(T1));
title('载波信号频谱');
axis([17800,18200,0,1000000]);
mes=mm(3);%调制信号
subplot(5,2,3);
plot(t,mes);
title('调制信号');
T2=fft(mes);
subplot(5,2,4);
plot(abs(T2));
title('调制信号频谱');
axis([0,200,0,200000]);
Udsb=mes.*Uc;%DSB已调信号
subplot(5,2,5);
plot(t,Udsb);
title('DSB已调波形');
subplot(5,2,6);
T3=fft(Udsb);%对DSB已调信号进行傅里叶变换
plot(abs(T3));
title('DSB已调频谱');
axis([17800,18200,0,1000000]);
Ddsb=Udsb.*cos(w0*t);%对DSB调制信号进行解调
subplot(5,2,7);
plot(t,Ddsb);
title('滤波前的DSB解调信号波形');
T4=fft(Ddsb);%求DSB信号的频谱
subplot(5,2,8);
plot(abs(T4));
title('滤波前的DSB解调信号频谱');
axis([0,37000,0,200000]);
Ft=2000;%采样频率
fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hz
mag=[10];
dev=[0.010.05];%通带波动1%,阻带波动5%
[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft);%kaiserord估计采用凯塞窗设计的FIR滤波器的参数
b21=fir1(n21,wn21,kaiser(n21+1,beta));%由fir1设计滤波器
z21=fftfilt(b21,Ddsb);%FIR低通滤波
subplot(5,2,9);
plot(t,z21,'r');
title('滤波后的DSB解调信号波形');
T5=fft(z21);%求DSB信号的频谱
subplot(5,2,10);
plot(abs(T5),'r');
title('滤波后的DSB解调信号频谱');
axis([0,200,0,1300000]);
附录二
附图1实验结果总图