1、1 基于 MATLAB 的 AM 调制与解调 洗手 摘要 : beef主要研究 AM 的调制与解调 , 吃饭 通过建立数学模型 , 吃饭 运用MATLAB 进行仿真 , 吃饭 得到了 AM 已调波的波形图和频谱图 。 洗手 改变调制系数 m, 吃饭 得到了 AM 调制信号 , 吃饭 验证了 在振幅调制过程中为了避免产生过量调幅失真 , 吃饭 要求调制系数 m满足 : beef0m1.这一工程结论 , 吃饭 为了滤除解调出来的信号含有的高频分量 , 吃饭 运用 MATLAB的窗体函数设计了 FIR 低通滤波器 , 吃饭 从而滤除了高频分量 , 吃饭 使得解调出来的信号还原度提高 。 洗手 洗手
2、关键字 : b eefMATLAB AM 调制 解调 洗手 洗手 The main research AM modulation and demodulation, by a mathematical model, using MATLAB simulation, has been AM modulated wave waveforms and frequency spectrum. Changing the modulation factor m, to obtain an AM modulated signal in the amplitude modulation verificatio
3、n process in order to avoid excessive distortion of amplitude modulation, the modulation index m satisfies the requirements:. 0 m 1 conclusion of this project, in order to filter out of the demodulated signal contains high frequency components, the use of MATLAB functions designed form FIR low-pass
4、filter, which filters out high frequency components, making the demodulated signal reduction degree.洗手 Keywords: MATLAB AM modulation and demodulation 洗手 洗手 洗手 洗手 洗手 2 实验原理 : beef洗手 一 振幅调制产生原理 洗手 所谓调制 , 吃饭 就是在传送信号的一方将所要传送的信号附加在高频振荡上 , 吃饭 再由天线发射出去 。洗手 这里高频振荡波就是携带信号的运载工具 , 吃饭 也叫载波 。 洗手 振幅调制 , 吃饭 就是由调制
5、信号去控制高频载波的振幅 , 吃饭 直至随调制信号做线性变化 。 洗手 在线性调制系列中 , 吃饭 最先应用的一种幅度调制是全调幅或常规调幅 , 吃饭 简称为调幅( AM) 。 洗手 在频域 中已调波频谱是基带调制信号频谱的线性位移 ; b eef在时域中 , 吃饭 已调波包络与调制信号波形呈线性关系 。 洗手洗手 设正弦载波为 洗手 )c o s ()( 0 tAtc c洗手 式中 , 吃饭 A 为载波幅度 ; beef c 为载波角频率 ;beef 0 为载波初始相位 (通常假设 0 =0).洗手 调制信号(基带信号)为 )(tm 。 洗手 根据调制的定义 , 吃饭 振幅调制信号(已调 信
6、号)一般可以表示为 洗手 )c o s ()()( ttAmts cm 洗手 设调制信号 )(tm 的频谱为 )(M , 吃饭 则已调信号 )(tsm 的频谱 )(mS : beef洗手 )()(2)(ccm MMAS 洗手 二 调幅电路方案分析 洗手 标准调幅波( AM)产 生原理 洗手 调制信号是只来来自信源的调制信号(基带信号) , 吃饭 这些信号可以是模拟的 , 吃饭 亦可以是数字的 。 洗手 为首调制的高频振荡信号可称为载波 , 吃饭 它可以是正弦波 , 吃饭 亦可以是非正弦波 (如周期性脉冲序列 )。 洗手 载波由高频信号源直接产生即可 , 吃饭 然后经过高频功率放大器进行放大 ,
7、 吃饭 作为调幅波的载波 , 吃饭 调制信号由低频信号源直接产生 , 吃饭 二者经过乘法器后即可产生双边带的调幅波 。洗手 洗手 设载波信号的表达式为 tccos , 吃饭 调制信号的表达式为 tAtm mm co s)( , 吃饭则调幅信号的表达式为 洗手 ttmAts cAM cos)()( 0 洗手 洗手 标准调幅波示意图 洗手 洗手 三 信号解调思路 洗手 从高频已调信号中恢复出调制信号的过程称为解调 (demodulation ), 吃饭 又称为检波(detection )。 洗手 对于振幅调制信号 , 吃饭 解调 (demodulation )就是从它的幅度变化上提取调制tccos
8、)(tm )(tsAM0A3 信号的过程 。 洗手 解调 (demodulation )是调制的逆过程 。 洗手 洗手 可利用乘积型同步检波器实现振幅的解调 , 吃饭 让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解 调信号 。 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 洗手 Matlab 仿真 洗手 载波信号与调制信号分析 洗手 洗手 t=-1:0.00001:1;b eef 洗手 A0=10;b eef %载波信号振幅 洗手 f=6000;b eef %载波信号频率 洗手 w0=2*f*pi;b eef洗手 Uc
9、=A0*cos(w0*t);b eef %载波信号 洗手 figure(1);b eef洗手 subplot(2,1,1);b eef洗手 plot(t,Uc);b eef洗手 title(载频信号波形 );b eef洗手 axis(0,0.01,-15,15);bef洗手 subplot(2,1,2);b eef洗手 Y1=fft(Uc);b eef %对载波信号进行傅里叶变换 洗手 plot(abs(Y1);b e eftitle(载波信号频谱 );bef洗手 axis(5800,6200,0,1000000);b eef洗手 洗手 洗手 4 洗手 图 1 洗手 分析 : b eef给出一
10、个载波信号 , 吃饭 载波是一个高频信号这里取 f=6000,并且对其进行傅里叶变换 , 吃饭 分别得到了载波信号波形和载波信号频谱 。 洗手 洗手 洗手 调制信号 洗手 程序代码 : b eef洗手 t=-1:0.00001:1;beef 洗手 A1=5;beef %调制信号振幅 洗手 f=6000;beef %载波信号频率 洗手 w0=2*f*pi;beef洗手 mes=A1*cos(0.001*w0*t);bef %调制信号 洗手 subplot(2,1,1);beef洗手 plot(t,mes);beef洗手 xlabel(t),title(调制信号 );beef 洗手 subplot
11、(2,1,2);beef洗手 Y2=fft(mes);beef % 对调制信号进行傅里叶变换 洗手 plot(abs(Y2);beef洗手 title(调制信号频谱 );beef洗手 axis(198000,202000,0,1000000);beef洗手 洗手 洗手 洗手 5 图 2 洗手 分析 : bef定义一个单频调制信号 , 吃饭 调制信号相对于载波是一个低频信号 , 吃饭 对其进行傅里叶变换 , 吃饭 同时得到调制信号波形和调制信号频谱 。 洗手6 AM 已调信号 洗手 t=-1:0.00001:1;b eef 洗手 A0=10;beef %载波信号振幅 洗手 A1=5;b eef
12、%调制信号振幅 洗手 A2=3;b eef %已调信号振幅 洗手 f=3000;b eef %载波信号频率 洗手 w0=2*f*pi;b eef洗手 m=0.15;b eef %调制度 洗手 mes=A1*cos(0.001*w0*t);b eef %调制信号 洗手 Uam=A2*(1+m*mes).*cos(w0).*t);b eef %AM 已调信号 洗手 subplot(2,1,1);b eef洗手 plot(t,Uam);b eef洗手 grid on;b eef洗手 title(AM 调制信号波形 );b eef洗手 subplot(2,1,2);b eef洗手 Y3=fft(Uam
13、);b eef % 对 AM 已调信号进行傅里叶变换 洗手 plot(abs(Y3),grid;b eef洗手 title(AM 调制信号频谱 );b eef洗手 axis(5950,6050,0,500000);b eef 洗手 洗手 洗手 洗手 洗手 图 3 m=0.15 洗手 洗手 洗手 洗手 7 洗手 洗手 洗手 洗手 洗手 洗手 图 4 m=1 洗手 图 5 m=100 洗手 洗手 分析 : beef根据已学知识 , 吃饭 建立已调 AM 信号的数学方程 , 吃饭 调制系数 m=0.15, 吃饭 对 AM 已调信号进行傅里叶变换 , 吃饭 同时得到已调 AM的波形和 频谱如图 3。
14、洗手 由频谱图可知 , 吃饭 单频调幅波并不是一个简单的正弦波 , 吃饭 其中包含三个频率分量 , 吃饭 即载波分量 6000, 吃饭 上边频分量 5996,吃饭 下变频分量 6006。 洗手 上下边频分量对于载波是对称的 , 吃饭 每个边频分量的振幅是调幅波的一半 。洗手 由此可见 , 吃饭 单频调幅实质是把低频信号的频谱搬移到载波的上下边频 , 吃饭 调幅过程实质是一个频谱的线性搬移 。 洗手 洗手 由图可以看出调幅波的特点 : b eef调幅波的振幅随调制信号变化 , 吃饭 而且包络的变化规律与调制信号一致 , 吃饭 表明调制信号的信息记录在调幅波的包络中 。 洗手 洗手 当改变调制系数
15、 m=1 时 , 吃饭 此时包络振幅的最小值 0; beef当 m=100 时 , 吃饭 如图 5, 吃饭 已调波的包络形状与调制信号不一样 , 吃饭 产生了严重的包络失真 , 吃饭 这种情况称为过量调幅 。 洗手 因此在振幅调制过程中为了避免产生过量调幅失真 , 吃饭 要求调制系数 m满足 : beef0m1.洗手 洗手 洗手 洗手 洗手 洗手 二 设计 FIR数字低通滤波器 洗手 FIR 滤波器采用间接法 , 吃饭 常用的方法有窗函数法 、 beef频率采样法和切比雪夫等波纹逼近法 。 洗手对于线性相位滤波器 , 吃饭 经常采用 FIR滤波器 。 洗手 洗手 对于数 字高通 、 b eef
16、带通滤波器设计 , 吃饭 通用方法为双线性变换法 。 洗手 可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器 , 吃饭 再经过双线性变换将其转换成那个所需的数字滤波器 。 洗手 具体设计步骤如下 : beef洗手 ( 1)确定所需类型数字滤波器的技术指标 。 洗手 洗手 ( 2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率 , 吃饭 转换公式为 =2/T tan(0.5 )洗手 (3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标 。 洗手 洗手 ( 4)设计模拟低通滤波器 。 洗手 洗手 ( 5)通过频率 变换将模拟低通转换成相应类型的过渡模拟滤波
17、器 。 洗手 洗手 ( 6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器 。 洗手 洗手 我们知道 , 吃饭 脉冲响应不变法的主要缺点是会产生频谱混叠现象 , 吃饭 使数字滤波器的频响偏离模拟滤波器的频响特性 。 洗手 为了克服之一缺点 , 吃饭 可以采用双线性变换法 。 洗手 洗手 8 下面我们介绍用窗函数法设计 FIR 滤波器的步骤 。 洗手 如下 : beef洗手 ( 1)根据对阻带衰减及过渡带的指标要求 , 吃饭 选择串窗数类型(矩形窗 、 beef三角窗 、 beef汉宁窗 、 beef哈明窗 、 b eef凯塞窗等) , 吃饭 并估计窗口长度 N。 洗手 先
18、按照阻带衰减选择窗函数类型 。 洗手 原则是在保证阻带衰减满足要求的情况下 , 吃饭 尽量选择主瓣的窗函数 。 洗手 洗手 ( 2)构造希望逼近的频率响应函数 。 洗手 洗手 ( 3)计算 h(n).。 洗手 洗手 ( 4)加窗得到设计结果 。 洗手 洗手 接下来 , 吃饭 我们根据语音信号的特点给出有关滤波器的技术指标 : beef洗手 低通滤波器的性能指标 : b eef洗手 通带边界频率 fp=300Hz, 吃饭 阻带截止频率 fc=320Hz, 吃饭 阻带最小衰减 As=100db , 通带最大衰减 Ap=1dB 洗手 在 Matlab 中 , 吃饭 可以利用函数 fir1 设计 FI
19、R 滤波器 , 吃饭 利用函数 butter,cheby1和 ellip 设计IIR滤波器 , 吃饭 利用 Matlab中的函数 freqz画出各步步器的频率响应 。 洗手 hn=fir1(M, 吃饭 wc, 吃饭 window),吃饭 可以指定窗函数向量 window。 洗手 如果缺省 window 参数 , 吃饭 则 fir1 默认为哈明窗 。 洗手 其中可选的窗函数有 Rectangular Barlrtt Hamming Hann Blackman 窗 , 吃饭 其相应的都有实现函数 。 洗手 洗手 MATLAB 信号处理工具箱函数 buttp buttor butter 是巴特沃斯滤
20、波器设计函数 , 吃饭 其有 5 种调用格式 , 吃饭 本课程设计中用到的是 N,wc=butter(N,wc,Rp,As, s ),该格式用于计算巴特沃斯模拟滤波器的阶数 N 和 3dB 截止频率 wc。 洗手 洗手 MATLAB信号处理工具箱函数 cheblap,cheblord和 cheeby1是切比雪夫 I型滤波器设计函数 。洗手 我们用到的是 cheeby1函数 , 吃饭 其调用格式如下 : beef洗手 B,A=cheby1(N,Rp,wpo, ftypr )洗手 B,A=cheby1(N,Rp,wpo, ftypr , s ) 函数 butter,cheby1 和 ellip 设
21、计 FIR 滤波器时都是默认的双线性变换法 , 吃饭 所以在设计滤波器时只需要代入相应的实现函数即可 。 洗手 下面是FIR 数字滤波器的主要程序 。 洗手 洗手 Ft=2000;b eef %采样频率 洗手 fpts=100 120 %通带边界频率 fp=100Hz, 吃饭 阻带截止频率 fs=120Hz 洗手 mag=1 0;b eef 洗手 dev=0.01 0.05;b eef %通带波动 1%, 吃饭 阻带波动 5%洗手 n21,wn21,beta,ftype=kaiserord(fpts,mag,dev,Ft);b eef %kaiserord 估计采用凯塞窗设计的 FIR 滤波器
22、的参数 洗手 b21=fir1(n21,wn21,Kaiser(n21+1,beta);b e ef %由 fir1 设计滤波器 洗手 h,w=freqz(b21,1);b eef %得到频率响应 洗手 plot(w/pi,abs(h);b e e f洗手 grid on 洗手 title(FIR 低通滤波器 );beef 洗手 9 洗手 图 6 洗手 滤波前 AM 解调信号 洗手 t=-1:0.00001:1;b eef 洗手 A0=10;b eef %载波信号振幅 洗手 A1=5;b eef %调制信号振幅 洗手 A2=3;b eef %已调信号振幅 洗手 f=3000;b eef %载波
23、信号频率 洗手 w0=2*f*pi;b eef洗手 m=0.15;b eef %调制度 洗手 k=0.5 ;b eef %DSB 前面的系数 洗手 mes=A1*cos(0.001*w0*t);b eef %调制信号 洗手 Uam=A2*(1+m*mes).*cos(w0).*t);b eef %AM 已调信号 洗手 Dam=Uam.*cos(w0*t);b eef %对 AM 调制信号进行解调 洗手 subplot(2,1,1);b eef洗手 plot(t,Dam);b eef洗手 grid on;b eef洗手 title(滤波前 AM 解调信号波形 );beef洗手 subplot(2
24、,1,2);b eef洗手 Y5=fft(Dam);b eef % 对 AM 解调信号进行傅里叶变换 洗手 plot(abs(Y5),grid;b eef洗手 title(滤波前 AM 解调信号频谱 );beef洗手 axis(187960,188040,0,200000);b eef洗手 洗手 10 洗手 图 7 洗手 洗手 分析 : bef解调是调制的逆过程 , 吃饭 是从高频已调波中恢复出原低频调制信号的过程 , 吃饭 也被称为检波 。 洗手 建立数学模型 , 吃饭 得到 AM 解调信号波形图和频谱图 , 吃饭 从频上看 , 吃饭 解调也是一种信号频谱的线性搬移过程 , 吃饭 是将高频载
25、波端边信号带信号的频谱线性搬移到低频端 , 吃饭 与调制过程正好相反 。 洗手 检波器的输入为振幅调制信号 Uam=A2*(1+m*mes).*cos(w0).*t);beef为了解调出调制频率为的调制信 号 , 吃饭 检波器必须包含非线性电路 , 吃饭 以便调制信号通过它产生 新的频率分量(其中包含所需的分量) 。 洗手 但是此时由图可以观察到解调出来的信号仍然含有不需要的高频分量 , 吃饭 因此需要低通滤波器滤掉高频 , 吃饭 取出所需要的调制信号 洗手 。 洗手 洗手 洗手 洗手 AM 解调信号 FIR 滤波 洗手 t=-1:0.00001:1;beef 洗手 A0=10;beef %载波信号振幅 洗手 A1=5;beef %调制 信号振幅 洗手 A2=3;beef %已调信号振幅 洗手 f=6000;beef %载波信号频率 洗手 w0=f*pi;beef洗手 m=0.15;beef %调制度 洗手 Uc=A0.*cos(w0*t);beef %载波信号 洗手 subplot(5,2,1);beef洗手 plot(t,Uc);beef洗手