利用MATLAB实现信号的AM调制与解调

更新时间:2023-11-22 00:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

郑州轻工业学院 课 程 设 计 任 务 书

题目 利用MATLAB实现信号的AM调制与解调 专业、班级 电子信息工程 级 班 学号 姓名 主要内容、基本要求、主要参考资料等:

主要内容:

2? t?t0?Sa?100t?, m?t???? 其他进行AM调制,载波信号利用MATLAB对信号 ?0,

频率为1000Hz,调制深度为0.5。t0=0.2;首先在MATLAB中显示调制信号的波形和频谱,已调信号的波形和频谱,比较信号调制前后的变化。然后对已调信号解调,并比较解调后的信号与原信号的区别。 基本要求:

1、掌握利用MATLAB实现信号AM调制与解调的方法。

2、学习MATLAB中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示。

3、加深理解调制信号的变化;验证信号调制的基本概念、基本理论,掌握信号与系统的分析方法。 主要参考资料:

1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.11

2、陈怀琛.数字信号处理教程----MATLAB释义与实现[M].北京:电子工业出版社,2004.

完 成 期 限: 2014.6.9—2014.6.13 指导教师签名: 课程负责人签名:

2014年 6月 5日

利用MATLAB实现信号的AM调制与解调

目录

摘要 ................................................................................................................................................ 1 1.matlab简介 ......................................................................................................................... 2

1.1matlab基本功能 ........................................................................................................... 2 1.2matlab应用 .................................................................................................................... 2

2.系统总体设计方案 ........................................................................................................... 4

2.1调制信号 ........................................................................................................................ 4

2.1.1 matlab实现调制信号的波形 ..................................................................... 4 2.1.2 matlab实现调制信号的频谱 ..................................................................... 4 2.1.3 matlab实现载波的仿真 .............................................................................. 5 2.2信号的幅度调制 ........................................................................................................... 6

2.2.1信号的调制 ....................................................................................................... 6 2.2.2幅度调制原理 ................................................................................................... 6 2.2.3 matlab实现双边带幅度调制 ..................................................................... 8 2.2.4 matlab实现已调信号的频谱图 ................................................................. 8 2.2.5 幅度调制前后的比较 .................................................................................... 9 2.3已调信号的解调 ........................................................................................................... 9

2.3.1 AM信号的解调原理及方式 .......................................................................... 9 2.3.2 matlab实现已调信号的解调 ................................................................... 11 2.3.3信号解调前后的比较 ................................................................................... 12

结论与展望 .............................................................................................................................. 13 参考文献 ................................................................................................................................... 14 附录 .............................................................................................................................................. 15

I

利用MATLAB实现信号的AM调制与解调

摘要

现在的社会越来越发达,科学技术不断的在更新,在信号和模拟电路里面经常要用到调制与解调,而信号幅度调制与解调是最基本,也是经常用到的。用AM调制与解调可以在电路里面实现很多功能,制造出很多有用又实惠的电子产品,为我们的生活带来便利。在我们日常生活中用的收音机也是采用了AM调制方式,而且在军事和民用领域都有十分重要的研究课题。本设计主要研究内容是利用MATLAB实现对

2? t?t0?Sa?100t?, m?t???? 其他?0, 进行AM调制,载波信号频率为1000Hz,

调制深度为0.5。t0=0.2.在MATLAB中显示调制信号的波形和频谱,已调信号的波形和频谱,比较信号调制前后的变化。并对已调信号解调,比较了解调后的信号与原信号的区别。信号幅度调制与解调及MATLAB中信号表示的基本方法及绘图函数的调用,实现了对连续时间信号的可视化表示。

关键词:AM、 调制、 解调、 MAT LAB

1

利用MATLAB实现信号的AM调制与解调

1.matlab简介

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

1.1matlab基本功能

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

1.2matlab应用

MATLAB 产品族可以用来进行以下各种工作: (1)数值分析;

(2)数值和符号计算; (3)工程与科学绘图;

2

利用MATLAB实现信号的AM调制与解调

(4)控制系统的设计与仿真; (5)数字图像处理技术; (6)数字信号处理技术; (7)通讯系统设计与仿真; (8)财务与金融工程。

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。

3

利用MATLAB实现信号的AM调制与解调

2.系统总体设计方案

2.1调制信号

调制信号是原始信息变换而来的低频信号。调制本身是一个电信号变换的过程。调制信号去改变载波信号的某些特征值(如振幅、频率、相位等),导致载波信号的这个特征值发生有规律的变化,这个规律是调制信号本身的规律所决定的。

2.1.1 matlab实现调制信号的波形

2? t?t0?Sa?100t?, m?t???? 其他,通过matlab仿真显示本设计的调制信号为?0, 出其波形图如图2-1所示

图2-1 调制信号

2.1.2 matlab实现调制信号的频谱

连续傅里叶变换是一个特殊的把一组函数映射为另一组函数的线性算子。傅里叶变换就是把一个函数分解为组成该函数的连续频率谱。在数学分析中,信号f(t)的傅里叶变换被认为是处在频域中的信号。

离散傅里叶变换的一种快速算法,简称FFT。为了节省电脑的计算时间,实现数字信号的实时处理,减少离散傅里叶变换(DFT)的计算量。

4

利用MATLAB实现信号的AM调制与解调

快速傅里叶变换(FFT),并不是一种新的傅立叶分析理论,而是减少DFT计算量的算法设计思想和DFT各种快速算,为计算机处理数据节省了时间。对已知信号进行快速傅里叶变换其抽样频率为1000hz,matlab仿真频谱如图2-2

图2-2已知信号的频谱

2.1.3 matlab实现载波的仿真

载波是被调制以传输信号的波形,一般为正弦波。一般要求正弦载波的频率远高于调制信号的带宽,否则会发生混叠,使传输信号失真。

我们一般需要发送的数据的频率是低频的,如果按照本身的数据的频率来传输,不利于接收和同步。使用载波传输,我们可以将数据的信号加载到载波的信号上,接收方按照载波的频率来接收数据信号,有意义的信号波的波幅与无意义的信号的波幅是不同的,将这些信号提取出来就是我们需要的数据信号。

本实验的载波频率为1000hz,起波形图如图2-3所示

5

利用MATLAB实现信号的AM调制与解调

图 2-3载波波形

2.2信号的幅度调制

2.2.1信号的调制

调制,就是把信号转化成适合在信道中传输的形式的一种。广义的调制分为基带调制和带通调制(也称载波调制)。载波调制,就是用调制信号区控制载波参数的过程,即使载波的某一个或几个参数按照调制信号的亏率而变化。调制信号时指来自信源的消息信号。未受调制的周期性振荡信号称为载波,载波调制后称为已调信号,它含有调制信号的全部特征。

2.2.2幅度调制原理

1. 信号的幅度调制原理

幅度调制是用调制信号去控制高频载波的幅度,使其按调制信号的规律变化的过程。幅度调制器的一般模型如图2-4所示,载波信号c(t)?Acos(wct??0),其中A0为外加信号。

6

利用MATLAB实现信号的AM调制与解调

图2-4

Sm(t)?[A0?m(t)]coswct (2.1)

SAM(?)??A0[?(???C)??(???C)]?(1/2)[M(???C)?M(???C)] (2.2)

由频谱可以看出,AM信号的频谱由载波分量,上边带,下边带三部分组成。上边带的频谱结构与原调制信号的频谱结构相同,下边带是上边带的镜像。因此AM信号时带有载波分量的双边带调制信号,它的带宽是基带信号带宽fH的2倍。

2. 双边带幅度调制

在AM调制模型中将直流A0去掉,即可得到一种高调制效率的调制方式----抑制载波双边带信号(DSB—SC),简称双边带信号DSB(如图2-5)。其时域表达式为: (2.3)

SDSB(t)?m(t)coswct

图2-5 DSB信号的调制

SAM(w)?1[M(w?wc)?M(w?wc)]2 (2.4)

其频域相应为:

与先前幅度调节相比,只是少了直流分量,相应的少了

?A0[?(w?wc)??(w?wc)]也就是在M(w)的?wc处少了冲击响应,与AM信号比较,因为不存在载波分量,DSB信号的调制效率为100%。DSB信号解调时需要采用相干解调,也称同步检波。

7

利用MATLAB实现信号的AM调制与解调

2.2.3 matlab实现双边带幅度调制

2? t?t0?Sa?100t?, m?t???? 其他调制到本节主要通过matlab软件把调制信号?0,

载波信号fs(t)?cos(2000?t)上,使载波的幅度按照调制信号的规律进行变化。其波形如图2-6所示

图2-6已调信号

2.2.4 matlab实现已调信号的频谱图

与调制信号实现频谱图的原理一样,用matlab对已调信号进行快速傅里叶变换,可以得到已调信号的频谱图,如图2-7所示

图2-7 已调信号频谱图

8

利用MATLAB实现信号的AM调制与解调

2.2.5 幅度调制前后的比较

双边带幅度调制是用调制信号去控制高频载波的幅度,使其按调制信号的规律变化的过程。调制后的信号是把调制信号加载到载波上,使载波上呈现调制信号的包络线。对于已调信号的频谱,实质就是把调制信号由低频段搬迁到高频段进行通信。其波形比较如图2-8所示

已知信号 已知信号频谱

已调信号 已调信号频谱

图2-8 调制前后时域和频域的波形

2.3已调信号的解调

2.3.1 AM信号的解调原理及方式

解调是调制的逆过程,解调是将位于载波的信号频谱再搬回来,并且不失真的恢复出原始基带信号。对于幅度调制来说,解调是从它的幅度变化提取调制信号的过程。

解调的方式有两种:相干解调与非相干解调。相干解调适用于各种线性调制系统,非相干解调一般适用幅度调制(AM)信号。 1.AM信号的相干解调

9

利用MATLAB实现信号的AM调制与解调

所谓相干解调是为了从接受的已调信号中,不失真地恢复原调制信号,要求本地载波和接收信号的载波保证同频同相。相干载波的一般模型如图3-1

Sm?t? ?(t) 低通滤波器 m0(t) cos??ct??? 图3-1AM信号的相干解调原理框图

将已调信号乘上一个与调制器同频同相的载波,得

SAM(t)cos?ct??A0?m(t)?cos2?ct?11?A0?m(t)???A0?m(t)?cos2?ct(3.1) 2211?A0?m(t)???A? (3.2) 22SAM(t)cos?t??A0?m(t)?cos2?t?由(3.1)、(3.2)式可知,只要用一个低通滤波器,就可以将第1项与第2项分离,无失真的恢复出原始的调制信号

1M0(T)?[A0?M(T)] (3.3)

2相干解调的关键是必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。 2.AM信号的非相干解调

所谓非相干解调是在接收端解调信号时不需要本地载波,而是利用已调信号中的包络信号来恢复原基带信号。因此,非相干解调一般只适用幅度调制(AM)系统。忧郁包络解调器电路简单,效率高,所以几乎所有的幅度调制(AM)接收机都采用这种电路。如下为串联型包络检波器的具体电路。其利用二极管的单向导电特性,将调幅高频信号去掉一半,再利用电容器的充放电特性和低通滤波器滤去高频分量,就可以得到与包络线形状相同的音频信号。

10

利用MATLAB实现信号的AM调制与解调

图3-2 AM信号的非相干解调原理

D SAM(t) R C m0(t)

当RC满足条件1wc?RC?1wh时,包络检波器的输出基本与输入信号的包络变化呈线性关系,即

m0(t)?A0?m(t) (3.4)

其中,A0?m(t)。隔去直流后就得到原信号m(t)。 max2.3.2 matlab实现已调信号的解调

解调过程是运用相干解调,对已调信号乘上载波,再通过低通滤波器滤波就可以无失真的恢复出原始的调制信号。其解调后的仿真波形如图3-3所示。

图3-3解调后的调制信号

11

利用MATLAB实现信号的AM调制与解调

2.3.3信号解调前后的比较

本设计是采用双边带调幅来实现的信号调制,用相干波解调后,没有直流分量,幅度减为原来的一半,频率不变化。由频谱图可知解调是把已调信号的频谱搬回到原来的位置,从而恢复出原始信号。恢复信号不失真的关键是低通滤波器的设置,尽可能的减小失真度。

已知信号 解调并滤波后的信号

图3-4已知信号与解调信号的比较

12

利用MATLAB实现信号的AM调制与解调

结论与展望

经过一学期的学习,在忙碌之余我也有很大的收获。虽然我们的课节不是很多,但在这有限的时间里,老师尽其所能的将自己所知道的知识传授给大家,让大家真正的有所学、有所悟。作为一个本科生的结业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个是难以想象的。回首自己这一学期的生活,不禁感慨万千。丰富而紧张的校园生活,友好热情的同学,严厉而不乏关心的老师,这段经历必将影响我的一生,我也必将从这段经历中受益无穷。

通过这一段时间的学习和设计,使我更加清楚的明白的信号调幅的调制与解调的具体过程及方法,使我对整个过程有了更加深刻的了解,同时也进一步了解了MATLAB的基础应用知识,使我的知识有了更加深刻的理解。

在课程设计的过程中我遇到了很多问题,使我明白了自己的知识到底有多欠缺。通过查资料及和同学们共同讨论分析最终解决了问题,这也使我明白了团队的重要性,我们大家都是一个团队,我们个人的能力是很微小,很渺茫,我们只有和大家一起,充分发挥团队的力量,我们才可能更效率的解决问题,迎接各种考验,只有那些靠团队的集团才才能解决各种困难,才可能真正取得成功。同时,我们在面对各种问题的时候,我们不能惊慌,只有通过查资料,来慢慢的查找解决问题的方法才可能真正的解决问题,因此我们学习学的不仅仅是书面上的知识,更是解决问题的方法与思路。不仅在这门学科中是这样,在其他学科中也是一样的。凡事都要经历从不会到会的过程,我曾经以为自己做不了,但是最后自己还是做好了,因此我知道:有些事只要自己肯做并认真的去做就一定可以实现!我会在以后的学习和生活中更加努力的去提高自己,应用自己所学的知识解决更多的问题!

13

利用MATLAB实现信号的AM调制与解调

参考文献

[1] 刘卫国.MATLAB程序设计与应用(第二版)[M].北京:高等教育出版社,2006.

[2]陈后金. 信号与系统[M].北京:高等教育出版社,2007.07. [3]张洁.双边带幅度调制及其 MATLAB 仿真[J].科技经济市场,2006.9 [4] 陈洁,焦振宇. 基于MATLAB7.0 的信号调制与解调分析[J]. 山西电子技术. 2006(5).

[5] 傅祖芸. 信息论基础理论与应用[M]. 北京:电子工业出版社,2001. [6] 胡广书. 现代信号处理[M]. 北京:清华大学出版社, 2004. [7]张智星 《MATLAB程序设计与应用》北京:清华大学出版社,2002 [8]周开利、邓春晖《MATLAB基础及应用教程》北京: 北京大学出版社 2007.4

[9]张智星 《MATLAB程序设计与应用》北京:清华大学出版社,2002

14

利用MATLAB实现信号的AM调制与解调

附录

源程序:

t0=0.2 t=(-t0:0.01:t0)

y1=sinc(100*t).*sinc(100*t) plot(t,y1)

grid on %已知信号的波形 t=(-0.01:0.001:0.01) y2=cos(2000*pi*t) plot(t,y2)

grid on %载波信号的波形 fs=10000 t0=0.2 t=-t0:0.0001:t0

m=sinc(100*t).*sinc(100*t)

mk=fft(m,512) mw=2*pi/1000*abs(fftshift(mk)) fw=[-255:256]/512*fs plot(fw,mw) grid on

xlim([-500,500]) %已知信号的频谱波形 t0=0.05 t=(-t0:0.0001:t0)

y=0.5*cos(2000*pi*t).*sinc(100*t).*sinc(100*t) plot(t,y)

grid on %已调信号的波形 fs=1000 t0=0.1 t=-t0:0.0001:t0

m=0.5*cos(2000*pi*t).*sinc(200*t).*sinc(200*t)

mk=fft(m,512); mw=2*pi/1000*abs(fftshift(mk)) fw=[-255:256]/512*fs

15

利用MATLAB实现信号的AM调制与解调

plot(fw,mw) grid on

xlim([-250,250]) %已调信号的频谱波形 t0=0.2 t=(-t0:0.001:t0)

y2=0.5*cos(2000*pi*t).*sinc(100*t).*sinc(100*t) N=512

wp=40/N*pi %低通滤波器参数的设定 ws=60/N*pi Rp=1 As=15 T=1

OmegaP=wp/T OmegaS=ws/T

[n,Wn]=buttord(OmegaP,OmegaS,Rp,As) [b,a]=butter(n,Wn,'low') y=filter(b,a,y2) plot(t,y)

grid on %解调信号

16

本文来源:https://www.bwwdw.com/article/yirv.html

Top