基于MATLAB的AM调制与解调
摘要:主要研究AM的调制与解调,通过建立数学模型,运用
MATLAB进行仿真,得到了AM已调波的波形图和频谱图。改变调制系数m,得到了AM调制信号,验证了在振幅调制过程中为了避免产生过量调幅失真,要求调制系数m满足:0 实验原理: 一 振幅调制产生原理 所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。 设正弦载波为 c(t)Acos(ct0) 式中,A为载波幅度; c为载波角频率;0为载波初始相位(通常假设0=0). 调制信号(基带信号)为m(t)。根据调制的定义,振幅调制信号(已调信号)一般可以表示为 sm(t)Am(t)cos(ct) 设调制信号m(t)的频谱为M(),则已调信号sm(t)的频谱Sm(): Sm()A[M(c)M(c)] 2二 调幅电路方案分析 标准调幅波(AM)产生原理 调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。 设载波信号的表达式为cosct,调制信号的表达式为 则调幅信号的表达式为 m(t)Amcosmt , sAM(t)[A0m(t)]cosct m(t)sAM(t)A0cosct 标准调幅波示意图 2 三 信号解调思路 从高频已调信号中恢复出调制信号的过程称为解调(demodulation ),又称为检波(detection )。对于振幅调制信号,解调(demodulation )就是从它的幅度变化上提取调制信号的过程。解调(demodulation )是调制的逆过程。 可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过 低通滤波可获得解调信号。 3 Matlab仿真 载波信号与调制信号分析 t=-1:0.00001:1; A0=10; %载波信号振幅 f=6000; %载波信号频率 w0=2*f*pi; Uc=A0*cos(w0*t); %载波信号 figure(1); subplot(2,1,1); plot(t,Uc); title('载频信号波形'); axis([0,0.01,-15,15]); subplot(2,1,2); Y1=fft(Uc); %对载波信号进行傅里叶变换 plot(abs(Y1));title('载波信号频谱'); axis([5800,6200,0,1000000]); 图1 分析:给出一个载波信号,载波是一个高频信号这里取f=6000,并且对其进行傅里叶变换,分别得到了载波信号波形和载波信号频谱。 4 调制信号 程序代码: t=-1:0.00001:1; A1=5; %调制信号振幅 f=6000; %载波信号频率 w0=2*f*pi; mes=A1*cos(0.001*w0*t); %调制信号 subplot(2,1,1); plot(t,mes); xlabel('t'),title('调制信号'); subplot(2,1,2); Y2=fft(mes); % 对调制信号进行傅里叶变换 plot(abs(Y2)); title('调制信号频谱'); axis([198000,202000,0,1000000]); 图2 分析:定义一个单频调制信号,调制信号相对于载波是一个低频信号,对其进行 傅里叶变换,同时得到调制信号波形和调制信号频谱。 5 AM已调信号 t=-1:0.00001:1; A0=10; %载波信号振幅 A1=5; %调制信号振幅 A2=3; %已调信号振幅 f=3000; %载波信号频率 w0=2*f*pi; m=0.15; %调制度 mes=A1*cos(0.001*w0*t); %调制信号 Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号 subplot(2,1,1); plot(t,Uam); grid on; title('AM调制信号波形'); subplot(2,1,2); Y3=fft(Uam); % 对AM已调信号进行傅里叶变换 plot(abs(Y3)),grid; title('AM调制信号频谱'); axis([5950,6050,0,500000]); 图3 m=0.15 6 图4 m=1 图5 m=100 分析:根据已学知识,建立已调AM信号的数学方程,调制系数m=0.15,对AM已 调信号进行傅里叶变换,同时得到已调AM的波形和频谱如图3。由频谱图可知,单频调幅波并不是一个简单的正弦波,其中包含三个频率分量,即载波分量6000,上边频分量5996,下变频分量6006。上下边频分量对于载波是对称的,每个边频分量的振幅是调幅波的一半。由此可见,单频调幅实质是把低频信号的频谱搬移到载波的上下边频,调幅过程实质是一个频谱的线性搬移。 由图可以看出调幅波的特点:调幅波的振幅随调制信号变化,而且包络的变化规律与调制信号一致,表明调制信号的信息记录在调幅波的包络中。 当改变调制系数m=1时,此时包络振幅的最小值0;当m=100时,如图5,已调波的包络形状与调制信号不一样,产生了严重的包络失真,这种情况称为过量调幅。因此在振幅调制过程中为了避免产生过量调幅失真,要求调制系数m满足:0 二 设计FIR数字低通滤波器 FIR滤波器采用间接法,常用的方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。 对于数字高通、带通滤波器设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换成那个所需的数字滤波器。具体设计步骤如下: (1)确定所需类型数字滤波器的技术指标。 (2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/T tan(0.5ω) (3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。 (4)设计模拟低通滤波器。 (5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。 (6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。 我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。 下面我们介绍用窗函数法设计FIR滤波器的步骤。如下: (1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。 (2)构造希望逼近的频率响应函数。 (3)计算h(n).。 (4)加窗得到设计结果。 接下来,我们根据语音信号的特点给出有关滤波器的技术指标: 低通滤波器的性能指标: 通带边界频率fp=300Hz,阻带截止频率fc=320Hz,阻带最小衰减As=100db , 通带最大衰减Ap=1dB 在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc, 8 window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应的都有实现函数。 MATLAB信号处理工具箱函数buttp buttor butter是巴特沃斯滤波器设计函数,其有5种调用格式,本课程设计中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),该格式用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率wc。 MATLAB信号处理工具箱函数cheblap,cheblord和cheeby1是切比雪夫I型滤波器设计函数。我们用到的是cheeby1函数,其调用格式如下: [B,A]=cheby1(N,Rp,wpo,’ftypr’) [B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’) 函数butter,cheby1和ellip设计FIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面是FIR数字滤波器的主要程序。 Ft=2000; %采样频率 fpts=[100 120 %通带边界频率fp=100Hz,阻带截止频率fs=120Hz mag=[1 0]; dev=[0.01 0.05]; %通带波动1%,阻带波动5% [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev,Ft); %kaiserord估计采用凯塞窗设计的FIR 滤波器的参数 b21=fir1(n21,wn21,Kaiser(n21+1,beta)); %由fir1设计滤波器 [h,w]=freqz(b21,1); %得到频率响应 plot(w/pi,abs(h)); grid on title('FIR低通滤波器'); 图6 9 滤波前AM解调信号 t=-1:0.00001:1; A0=10; %载波信号振幅 A1=5; %调制信号振幅 A2=3; %已调信号振幅 f=3000; %载波信号频率 w0=2*f*pi; m=0.15; %调制度 k=0.5 ; %DSB 前面的系数 mes=A1*cos(0.001*w0*t); %调制信号 Uam=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号 Dam=Uam.*cos(w0*t); %对AM调制信号进行解调 subplot(2,1,1); plot(t,Dam); grid on; title('滤波前AM解调信号波形'); subplot(2,1,2); Y5=fft(Dam); % 对AM解调信号进行傅里叶变换 plot(abs(Y5)),grid; title('滤波前AM解调信号频谱'); axis([187960,188040,0,200000]); 图7 10 分析:解调是调制的逆过程,是从高频已调波中恢复出原低频调制信号的过程,也被称为检波。建立数学模型,得到AM解调信号波形图和频谱图,从频上看,解调也是一种信号频谱的线性搬移过程,是将高频载波端边信号带信号的频谱线性搬移到低频端,与调制过程正好相反。检波器的输入为振幅调制信号Uam=A2*(1+m*mes).*cos((w0).*t);为了解调出调制频率为Ω的调制信号,检波器必须包含非线性电路,以便调制信号通过它产生 新的频率分量(其中包含所需的Ω分量)。但是此时由图可以观察到解调出来的信号仍然含有不需要的高频分量,因此需要低通滤波器滤掉高频,取出所需要的调制信号 。 AM解调信号FIR滤波 t=-1:0.00001:1; A0=10; %载波信号振幅 A1=5; %调制信号振幅 A2=3; %已调信号振幅 f=6000; %载波信号频率 w0=f*pi; m=0.15; %调制度 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([5800,6200,0,1000000]); mes=A1*cos(0.001*w0*t); %调制信号 subplot(5,2,3); plot(t,mes); title('调制信号'); T2=fft(mes); subplot(5,2,4); plot(abs(T2)); title('调制信号频谱'); axis([198000,202000,0,2000000]); 11 Uam1=A2*(1+m*mes).*cos((w0).*t); %AM 已调信号 plot(t,Uam1); title('已调信号'); T3=fft(Uam1); subplot(5,2,6); plot(abs(T3)); title('已调信号频谱'); axis([5950,6050,0,500000]); sn1=20; db1=A1^2/(2*(10^(sn1/10))); n1=sqrt(db1)*randn(size(t)); Uam=n1+Uam1; Dam=Uam.*cos(w0*t); subplot(5,2,7); plot(t,Dam); title('滤波前的AM解调信号波形'); T4=fft(Dam); subplot(5,2,8); plot(abs(T4)); title('滤波前的AM解调信号频谱'); axis([187960,188040,0,200000]); z21=fftfilt(b21,Dam); subplot(5,2,9); plot(t,z21,'r'); title('滤波后的AM解调信号波形'); T5=fft(z21); subplot(5,2,10); plot(abs(T5),'r'); title('滤波后的AM解调信号频谱'); axis([198000,202000,0,200000]); %信噪比 %计算对应噪声方差 %生成高斯白噪声 %对AM已调信号进行解调 %求AM信号的频谱 %FIR低通滤波 %求AM信号的频谱 12 图8 分析:解调AM信号经过FIR低通滤波器滤掉了不需要的高频分量,从而解调出AM信号。在设计FIR低通滤波器的时候,通带边界频率设定为载波信号频率Fp=f,阻带截止频率Fs=f+20,采样频率Ft=8f;在设计FIR低通滤波器的时候,通带边界频率设定为Fp=f-50,阻带截止频率Fs=f,采样频率Ft=10f。这样设定后,在改变载波信号频率的时候就有可能使滤波器无法进行正常的滤波,从而得不到正确的结果。载波频率f可以选的高一些,在设计的时候时间采样t的间隔就要大一些。 通过比较AM调制与解调前后,调制信号的频谱和时域,能明显的感觉到AM调制后AM解调与原始的调制信号有明显的不同,设计部同的滤波器得到的结果也是不同的,通过仿真可以看到FIR低通滤波器要比IIR低通滤波器要滤的好。 13 总结: 调制与解调技术是通信电子线路课程中一个重要的环节,也是实现通信必不可少的一门技术,我选取了这个方面进行研究。 本次完成了对AM信号实现调制与解调,对AM信号的时域分析,通过fft变换,得出了调制信号和解调信号的频谱图;在滤波这一部分,通过查资料了解到FIR低通滤波器,主要是从巴特沃斯滤波器入手来设计低通滤波器等入手,实现了预期的滤波效果。 我们可以像给一般信号做频谱分析一样,来对调制信号做频谱分析,也可以较容易的用数字滤波器来对解调信号进行滤波处理。通过比较AM调制与解调前后,调制信号的频谱和时域,能明显的感觉到AM调制后AM解调与原始的调制信号有明显的不同,设计不同的滤波器得到的结果也是不同的。 通过本次大作业我的收获颇丰,运用所学知识,建立数学模型,在MATLAB进行仿真。感受到MATLAB软件功能的强大,通过查资料学习建立FIR滤波器的过程,了解到MATLAB中自己以前不知道的函数,一点点积累下来。最重要的是加深了对课本知识的理解,感觉对课堂上知识是一种补充和完善。 14 参考文献 [ 1 ] 王卫东等著 高频电子线路(第二版)电子工业出版社,2009年3月 [2]樊昌信等. 通信原理(第6版)[M]. 国防工业出版社,2008.3 [3]John G. proakis等著, 刘树棠译. 现代通信系统(Matlab版)(第1版)[M], 西安交通大学出版社, [4]唐向宏等著.MATLAB及在电子信息类课程中的应用,电子工业出版社,2008年6月 15 因篇幅问题不能全部显示,请点此查看更多更全内容