没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB中用M文件实现AM解调.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 83 浏览量
2022-07-04
20:02:39
上传
评论
收藏 535KB DOC 举报
温馨提示
试读
23页
MATLAB中用M文件实现AM解调
资源推荐
资源详情
资源评论
第
1
页 共
23
页
MATLAB 中用 M 文件实现 AM 解调
学生姓名:xxx 指导老师:xxx
摘 要 在模拟调制技术中,由于标准幅度调制与其他调制方法相比,接受电路简单,
因此,适用于一部发射机对千万部接收机工作的无线电广播系统
[1]
。此外,与抑制载波
信号相比,标准调幅信号容易产生,而抑制载波信号所需的平衡调制器较难设计。正
因为模拟调制技术有如上有点,现用 MATLAB 中 M 文件实现本课程设计内容 AM 解
调。在课程设计中,系统开发平台为 Windows 2000,MATLAB 6.5,程序设计设计语
言采用 MATLAB 6.5,程序运行平台为 MATLAB 6.5/7.0/7.1。通过 MATLAB 编写程序
并加以调试能够用相干解调和包络解调两种方法实现 AM 解调。完成了课程设计的目
标,并经过适当完善后,将可以在实际中应用。
关键词 AM 调制;包络解调;相干解调;信噪比
[2]
1 引 言
模拟调制技术在 20 世纪中曾有较大的应用,如军事通信、短波通信、微波中继通
信、模拟移动通信、模拟调频广播和模拟调幅广播等。虽然现在通信的发展趋势为数
字化,但数字技术并不能完全替代模拟技术,而且模拟调制技术是通信理论的基本知
识
[3]
。为了进一步了解模拟调幅广播,展现 MATLAB 中 M 文件程序设计优势,本课程
设计将在 MATLAB 中用 M 文件实现 AM 解调的程序设计。
1.1 课程设计目的
在程序设计中,可以用两种方法实现 AM 解调:一是相干解调,二是包络解调。
通过对 AM 解调程序的编写,我对 AM 解调的原理有了进一步的掌握,而且使用
两种不同解调方法。通过运用 MATLAB 中 M 文件,体会了更加方便简捷地运行调试
程序。尤其是学会使用 MATLAB 中的帮助函数理解相应函数表达式,对于以后进行相
关方面的设计工作都有一定的借鉴意义。
第
2
页 共
23
页
1.2 课程设计要求
熟悉 MATLAB 文件中 M 文件的使用方法
[4]
,并依据 AM 解调原理设计 AM 解调程
序。通过 MATLAB 绘图工具绘制 AM 信号解调前后的时域和频域波形并依据 AM 解调
原理加以分析。给已调信号加入噪声,绘制出解调前后的时域和频域波形;并比较加
入噪声后对调制信号造成的影响。通过改变信噪比,观察时域和频域波形,分析噪声
对解调系统的影响。
1.3 课程设计步骤
(1)给定一个原始信号 m(t),载波信号 c(t),并设计 AM 调制信号相关参数。
(2)将原始信号乘以调制系数再加上一个直流分量形成一个调幅信号 w(t)。
(3)将调幅信号 w(t)与载波 c(t)相乘形成调制信号 u(t)=w(t)*c(t)。
(4)使用 ademod()函数解调已调信号 u(t)。或者通过 hilbert()函数找出调制信号包
络并重新缩放就会得到解调后的基带信号。
(5)使用 awgn()函数对已调信号 u(t)加入噪声,观察加入噪声后对信号的影响,
分析线性系统的抗噪声性能。
2 AM 解调原理
调制的逆过程叫解调,调制是一个频谱搬移过程,它是将低频信号的频谱搬移到
载频位置。解调就是从已调信号的频谱中,将位于载频的信号频谱搬移回来。调制和
解调都完成频谱搬移,各种调幅都是利用乘法器实现的,因此可以设想,在收端也可
以利用乘法器进行解调。已调信号 u(t)乘以本地载波 c(t),再通过低通滤波器得到解调信
号 dem(t)=u(t)*c(t) 如图 1,解调后 dem(t)=A0/2+m(t)/2,所以在解调后要重新缩放。另
一种解调方法,包络解调由于包络检波器电路简单,检波效率高,几乎所有调幅
(AM)式接收机都采用这种电路,如图 2 为包络检波电路。在 MATLAB 中我们使用
hilbert()函数找出已调信号包络 dem(t) A0+m(t)。找出包络后也要重新缩放,最终解调
出基带信号 m(t)。
LPF
)(tc
)( dem t
第
3
页 共
23
页
图 1 相干解调模型
图 2 包络解调电路
3AM 解调的实现
3.1 AM 调制信号的产生
标准调幅(AM)是指用信号 m(t)去控制载波 c(t)的振幅,是已调信号的包络按照
m(t)的规律线性变化的过程,u(t)=(A0+a*m(t))*c(t)。调制过程如图 3:
图 3 AM 调制模型
3.2 AM 相干解调实现
为了对信号进行解调,我们设置如下参数:
t0 = 0.12; % 信号持续时间
ts = 0.001; % 抽样间隔
fc = 125; % 载波频率
fs = 1/ts; % 抽样频率 1000Hz
m = [ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; % 基带信号
c = cos(2*pi*fc.*t+ ); % 载波信号
通过上面的参数设置,我们可以推测出其中一些图形方面的关系。假设基带信号
频率为 f
0
=1/t0,因为有 fs=8fc=120f
0
,所以整个已调信号持续时间内应该有 15 个载波
信号周期。为了讨论方便,我们将载波信号的初始相位设置为 。这样已调信号
第
4
页 共
23
页
就为:u = m_n(t).*c(t),其中 m_n(t)为加入直流分量并引入调制系数的基带信号,c(t)为
载波。将调制信号使用 ademod()函数进行相干解调得到解调信号 dem(t),并对解调信
号进行低通滤波,实现形式为 dem(t) = ademod(u,fc,fs,'am',num,den)。或者使用 hilbert()
函数找出已调信号的包络,在对包络进行重新缩放得到解调信号 dem(t)。其中设计内
容还要求观察已调信号和解调信号的频谱,所以就要求对信号进行傅立叶变换。这时
我们使用的是 MATLAB 库函数 fft()对信号进行的变换。
下面就对如何运用上面的函数实现课程设计内容,是否达到所需要的要求。通过
图形辅助分析:
首先,我们来看按照上面提到的思想,是否能够实现对信号的解调,并将解调后
的信号与基带信号进行比对。通过观察图 4 发现调用 ademod()函数实现了对已调信号
的解调。但由于低通滤波器不是理想低通滤波,所以在 0-0.005s 处的波形出现失真。
其他时
图4 相干解调时域波形
间段的波形与基带波形基本相同。另外由于有 fs=8fc=120f
0
,所以整个信号持续时间内
应该有 15 个载波信号周期,从图形中可以观察到载波信号刚好有 15 个载波周期。已
调信号即为加入直流分量并引入调制系数后信号与载波信号相乘的结果,解调信号通
过 MATLAB 中函数 ademod()实现了解调并通过函数本身内设的低通滤波器,解调出了
基带信号 m(t)。
第
5
页 共
23
页
我们在来观看一下频域内的图形图 5,图 5 中的频谱即为图 4 时域信号经过 fft()函
数变换后得到的频域信号波形。我们可以观察到基带信号的频谱,由于基带信号 m(t)
为时域内的连续分段信号,在同一时域内幅值恒定,所以经过傅立叶变换后是几个冲
击信号的叠加,如图 5 中基带信号频谱。余弦信号的频谱就是两个冲击信号如图 5 载
波信号频谱。调制就是利用载波信号将基带信号频谱搬移到载频位置。从图 5 中已调
信号频谱可以观察到载波实现了它的功能。经过解调又再一次发生搬移,这样就得到
了解调信号的频谱。从图 5 可以比较观察解调信号频谱与基带信号频谱基本相同。从
图形观察运用 ademod()函数完成了预期目标,达到了课程设计要求,并从已调信号中
正确地恢复出了基带信号。这说明采用相干解调能够实现 AM 信号的解调。
图 5 相干解调频域波形
3.3 叠加噪声时的 AM 相干解调
在实际信号传输过程中,通信系统不可避免的会遇到噪声,例如自然界中的各种
电磁波噪声和设备本身产生的热噪声、散粒噪声等,它们也不能预测。而且大部分噪
声为随机的高斯白噪声,所以我们在设计时也要引入噪声,这样才能够真正模拟出实
际中信号传输所遇到的问题。能够发现怎样才能在接受端更好地恢复基带信号。信道
加性噪声主要取决于起伏噪声,而起伏噪声又可视为高斯白噪声
[5]
。因此通过MATLAB
中的函数awgn()
[6]
,给已调信号加入加性高斯白噪声,s = awgn(u,snr),信噪比snr =
4dB,即大噪声的情况。
下面我们来观察信号中加入噪声(snr=4dB)与未加入噪声的时域内波形,如图
6,通过图6我们发现已调信号和解调信号都出现了失真,这时不能正确地恢复基带信
剩余22页未读,继续阅读
资源评论
omyligaga
- 粉丝: 54
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功