基于matlab的am-dsb调制系统仿真

基于matlab的am-dsb调制系统仿真

ID:6332042

大小:647.50 KB

页数:37页

时间:2018-01-10

上传者:U-3679
基于matlab的am-dsb调制系统仿真_第1页
基于matlab的am-dsb调制系统仿真_第2页
基于matlab的am-dsb调制系统仿真_第3页
基于matlab的am-dsb调制系统仿真_第4页
基于matlab的am-dsb调制系统仿真_第5页
资源描述:

《基于matlab的am-dsb调制系统仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

基于matlab的AM—DSB调制系统仿真机电信息工程学院“通信电子线路”精品实验项目实验报告系别:电子信息工程系专业:通信工程班级:08级1班实验题目:基于Matlab的AM-DSB调制系统仿真学生姓名:指导教师:学期:2010—2011年度第一学期36 基于matlab的AM—DSB调制系统仿真基于Matlab的AM-DSB调制系统仿真一、实验类型(Experimentaltype)设计性实验二、实验目的(Experimentalpurposes)1.掌握振幅调制(amplitudedemodulation,AM以及DSB)和解调(amplitudedemodulation)原理。2.学会Matlab仿真软件在振幅调制和解调中的应用。3.掌握参数设置方法和性能分析方法。4.通过实验中波形的变换,学会分析实验现象。三、实验内容(Experimentcontents)1.设计AM-DSB信号实现的Matlab程序,输出调制信号、载波信号以及已调2.号波形以及频谱图,并改变参数观察信号变化情况,进行实验分析。3.设计AM-DSB信号解调实现的Matlab程序,输出并观察解调信号波形,分析实验现象。四、实验要求(Experimentalrequirements)利用Matlab软件进行振幅调制和解调程序设计,输出显示调制信号、载波信号以及已调信号波形,并输出显示三种信号频谱图。对产生波形进行分析,并通过参数的改变,观察波形变化,分析实验现象。五、振幅调制原理5.1振幅调制产生原理所谓调制,就是在传送信号的一方将所要传送的信号附加在高频振荡上,再由天线发射出去。这里高频振荡波就是携带信号的运载工具,也叫载波。振幅调制,就是由调制信号去控制高频载波的振幅,直至随调制信号做线性变化。在线性调制系列中,最先应用的一种幅度调制是全调幅或常规调幅,简称为调幅(AM)。为了提高传输的效率,还有载波受到抑制的双边带调幅波(DSB)和单边带调幅波(SSB)。在频域中已调波频谱是基带调制信号频谱的线性位移;在时域中,已调波包络与调制信号波形呈线性关系。设正弦载波为式中,A为载波幅度;为载波角频率;为载波初始相位(通常假设=0).36 基于matlab的AM—DSB调制系统仿真调制信号(基带信号)为。根据调制的定义,振幅调制信号(已调信号)一般可以表示为设调制信号的频谱为,则已调信号的频谱:5.2两种调幅电路方案分析(1)、标准调幅波(AM)产生原理调制信号是只来来自信源的调制信号(基带信号),这些信号可以是模拟的,亦可以是数字的。为首调制的高频振荡信号可称为载波,它可以是正弦波,亦可以是非正弦波(如周期性脉冲序列)。载波由高频信号源直接产生即可,然后经过高频功率放大器进行放大,作为调幅波的载波,调制信号由低频信号源直接产生,二者经过乘法器后即可产生双边带的调幅波。设载波信号的表达式为,调制信号的表达式为,则调幅信号的表达式为图5.1标准调幅波示意图(2)双边带调幅(DSB)产生原理在AM信号中,载波分量并不携带信息,信息完全由便在传送。如果在AM调制模型中将直流分量去掉,即可得到一种高调制效率的调制方式——抑制载波的双边带调幅波双边带调幅波的表达式为5.3信号解调思路从高频已调信号中恢复出调制信号的过程称为解调(demodulation),又称为检波(detection)。对于振幅调制信号,解调(demodulation36 基于matlab的AM—DSB调制系统仿真)就是从它的幅度变化上提取调制信号的过程。解调(demodulation)是调制的逆过程。可利用乘积型同步检波器实现振幅的解调,让已调信号与本地恢复载波信号相乘并通过低通滤波可获得解调信号。六.AM和DSB信号基于matlab的调制与解调(demodulation)6.1载波信号与调制信号分析%======================载波信号===========================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数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]);36 基于matlab的AM—DSB调制系统仿真图6.1载波信号%======================调制信号==============================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);%调制信号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]);36 基于matlab的AM—DSB调制系统仿真如图6.2调制信号%=======================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已调信号subplot(2,1,1);plot(t,Uam);gridon;title('AM调制信号波形');subplot(2,1,2);Y3=fft(Uam);%对AM已调信号进行傅里叶变换plot(abs(Y3)),grid;title('AM调制信号频谱');axis([5950,6050,0,500000]);36 基于matlab的AM—DSB调制系统仿真如图6.3AM已调信号%=======================DSB已调信号=========================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数Uc=A0.*cos(w0*t);%载波信号mes=A1*cos(0.001*w0*t);%调制信号Udsb=k*mes.*Uc;%DSB已调信号subplot(2,1,1);plot(t,Udsb);gridon;title('DSB已调信号波形');axis([0,1,-40,40]);subplot(2,1,2);Y4=fft(Udsb);%对DSB已调信号进行傅里叶变换plot(abs(Y4)),grid;title('DSB已调信号频谱');axis([193960,194040,0,1300000]);36 基于matlab的AM—DSB调制系统仿真如图6.4DSB已调信号6.2设计FIR和IIR数字低通滤波器IIR滤波器和FIR滤波器的设计方法完全不同。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR滤波器。对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。具体设计步骤如下:(1)确定所需类型数字滤波器的技术指标。(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为Ω=2/Ttan(0.5ω)(3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。(4)设计模拟低通滤波器。36 基于matlab的AM—DSB调制系统仿真(5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。(6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。我们知道,脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。如前所述,IIR滤波器和FIR滤波器的设计方法有很大的区别。下面我们着重介绍用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n).。(4)加窗得到设计结果。接下来,我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:通带边界频率fp=300Hz,阻带截止频率fc=320Hz,阻带最小衰减As=100db,通带最大衰减Ap=1dB36 基于matlab的AM—DSB调制系统仿真在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有RectangularBarlrttHammingHannBlackman窗,其相应的都有实现函数。MATLAB信号处理工具箱函数buttpbuttorbutter是巴特沃斯滤波器设计函数,其有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设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可。下面我们将给出FIR和IIR数字滤波器的主要程序。%=========================IIR低通滤波器=======================Ft=1000;Fp=80;%通带边界频率Fs=100;%阻带截止频率wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);[n11,wn11]=buttord(wp,ws,1,50,'s');%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,'s');%求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5);%双线性变换实现S域到Z域的变换[h,w]=freqz(num11,den11);%根据参数求出频率响应plot(w*800*0.5/pi,abs(h));title('IIR低通滤波器');legend('用巴特沃斯butter设计');36 基于matlab的AM—DSB调制系统仿真如图6.5IIR低通滤波器%=========================FIR低通滤波器=======================Ft=1000;%采样频率fpts=[100120];%通带边界频率fp=100Hz,阻带截止频率fs=120Hzmag=[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设计滤波器[h,w]=freqz(b21,1);%得到频率响应plot(w/pi,abs(h));gridontitle('FIR低通滤波器');36 基于matlab的AM—DSB调制系统仿真如图6.6FIR低通滤波器6.3AM、DSB解调%=========================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);gridon;title('滤波前AM解调信号波形');subplot(2,1,2);Y5=fft(Dam);%对AM解调信号进行傅里叶变换plot(abs(Y5)),grid;title('滤波前AM解调信号频谱');axis([187960,188040,0,200000]);36 基于matlab的AM—DSB调制系统仿真如图6.7AM解调信号%=========================DSB信号解调=======================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数Uc=A0.*cos(w0*t);%载波信号mes=A1*cos(0.001*w0*t);%调制信号Udsb=k*mes.*Uc;%DSB已调信号Ddsb=Udsb.*cos(w0*t);%对DSB已调信号进行解调subplot(2,1,1);plot(t,Ddsb);gridon;title('滤波前DSB解调信号波形');axis([0,1,-40,40]);subplot(2,1,2);Y6=fft(Ddsb);%对DSB解调信号进行傅里叶变换plot(abs(Y6)),grid;title('滤波前DSB解调信号频谱');axis([187960,188040,0,1300000]);36 基于matlab的AM—DSB调制系统仿真如图6.8DSB解调信号6.4对AM、DSB解调信号进行滤波%=======================AM解调信号FIR滤波=================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数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]);36 基于matlab的AM—DSB调制系统仿真mes=A1*cos(0.001*w0*t);%调制信号subplot(5,2,3);plot(t,mes);title('调制信号');T2=fft(mes);subplot(5,2,4);plot(abs(T1));title('调制信号频谱');axis([192000,196000,0,2000000]);Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号subplot(5,2,5);plot(t,Uam);title('已调信号');T3=fft(Uam);subplot(5,2,6);plot(abs(T3));title('已调信号频谱');axis([5950,6050,0,500000]);Dam=Uam.*cos(w0*t);%对AM已调信号进行解调subplot(5,2,7);plot(t,Dam);title('滤波前的AM解调信号波形');T4=fft(Dam);%求AM信号的频谱subplot(5,2,8);plot(abs(T4));title('滤波前的AM解调信号频谱');axis([187960,188040,0,200000]);z21=fftfilt(b21,Dam);%FIR低通滤波subplot(5,2,9);plot(t,z21,'r');title('滤波后的AM解调信号波形');T5=fft(z21);%求AM信号的频谱subplot(5,2,10);plot(abs(T5),'r');title('滤波后的AM解调信号频谱');axis([198000,202000,0,200000]);36 基于matlab的AM—DSB调制系统仿真如图6.9AM解调信号FIR低通滤波%=======================AM解调信号IIR滤波=================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数Uc=A0.*cos(w0*t);%载波信号subplot(5,2,1);plot(t,Uc);title('载波信号');axis([0,0.01,-15,15]);T1=fft(Uc);36 基于matlab的AM—DSB调制系统仿真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(T1));title('调制信号频谱');axis([192000,196000,0,2000000]);Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号subplot(5,2,5);plot(t,Uam);title('已调信号');T3=fft(Uam);subplot(5,2,6);plot(abs(T3));title('已调信号频谱');axis([5950,6050,0,500000]);Dam=Uam.*cos(w0*t);%对AM已调信号进行解调subplot(5,2,7);plot(t,Dam);title('滤波前的AM解调信号波形');T4=fft(Dam);%求AM信号的频谱subplot(5,2,8);plot(abs(T4));title('滤波前的AM解调信号频谱');axis([187960,188040,0,200000]);z11=filter(num11,den11,Dam);%IIR滤波器滤波subplot(5,2,9);plot(t,z21,'r');title('滤波后的AM解调信号波形');T5=fft(z11);%求AM信号的频谱subplot(5,2,10);plot(abs(T5),'r');title('滤波后的AM解调信号频谱');axis([198000,202000,0,200000]);36 基于matlab的AM—DSB调制系统仿真如图6.10AM解调信号IIR低通滤波%=======================DSB解调信号FIR滤波===================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数Uc=A0.*cos(w0*t);%载波信号subplot(5,2,1);plot(t,Uc);36 基于matlab的AM—DSB调制系统仿真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(T1));title('调制信号频谱');axis([192000,196000,0,2000000]);Udsb=k*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([193960,194040,0,1300000]);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([187960,188040,0,500000]);z21=fftfilt(b21,Ddsb);%FIR低通滤波subplot(5,2,9);plot(t,z21,'r');title('滤波后的DSB解调信号波形');T5=fft(z21);%求DSB信号的频谱subplot(5,2,10);36 基于matlab的AM—DSB调制系统仿真plot(abs(T5),'r');title('滤波后的DSB解调信号频谱');axis([198000,202000,0,200000]);如图6.11DSB调制信号FIR低通滤波%=======================DSB解调信号IIR滤波===================t=-1:0.00001:1;A0=10;%载波信号振幅A1=5;%调制信号振幅A2=3;%已调信号振幅f=3000;%载波信号频率w0=2*f*pi;m=0.15;%调制度k=0.5;%DSB前面的系数Uc=A0.*cos(w0*t);%载波信号subplot(5,2,1);36 基于matlab的AM—DSB调制系统仿真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(T1));title('调制信号频谱');axis([192000,196000,0,2000000]);Udsb=k*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([193960,194040,0,1300000]);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([187960,188040,0,500000]);z11=filter(num11,den11,Ddsb);%IIR滤波器滤波subplot(5,2,9);plot(t,z21,'r');title('滤波后的DSB解调信号波形');T5=fft(z11);%求DSB信号的频谱36 基于matlab的AM—DSB调制系统仿真subplot(5,2,10);plot(abs(T5),'r');title('滤波后的DSB解调信号频谱');axis([198000,202000,0,200000]);如图6.12DSB调制信号IIR低通滤波七、设计系统界面7.1系统界面设计工具—GUI概述图形用户界面(graphicaluserinterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。36 基于matlab的AM—DSB调制系统仿真在MATLAB中GUI是一中包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。GUIDE主要是一个界面设计工具集,MAYLAB将所有GUI支持度控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法。GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。FIG文件:包括GUI图形窗口及其所有后裔的完全描述,包括所有对象属性的属性值。它是一个二进制文件调用hsave课保存图形窗口时将生车该文件。M文件包括GUI设计、控件函数以及定义为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。GUI创建包括界面设计和控件编程两部分,主要步骤如下。第一步:通过设置GUIDE应用程序的选项来运行GUIDE;第二步:使用界面设计编辑器进行面设计;第三步:编写控件行为响应控制(即回调函数)代码。7.2界面设计及使用说明首先我们新建一个GUI文件:File/New/GUI如下图所示:如图7.1创建GUI界面36 基于matlab的AM—DSB调制系统仿真选择BlankGUI(Default)。布置如下图所示;尽量将所有的程序仿真都布置在GUI界面中,同时在满足仿真要求的同时尽量保证其美观如图7.2布置GUI界面36 基于matlab的AM—DSB调制系统仿真7.3GUI演示过程如图7.3滤波前AM解调波形36 基于matlab的AM—DSB调制系统仿真如图7.4滤波前DSB解调波形36 基于matlab的AM—DSB调制系统仿真如图7.5GUI演示DSB解调滤波后的波形八、结果分析本设计圆满的完成了对AM—DSB信号实现调制与解调,与课题的要求十分相符;也较好的完成了对AM—DSB信号的时域分析,通过fft变换,得出了调制信号和解调信号的频谱图;在滤波这一部分,课题主要是从巴特沃斯滤波器入手来设计低通滤波器等入手,实现了预期的滤波效果。在设计FIR低通滤波器的时候,通带边界频率设定为载波信号频率Fp=f,阻带截止频率Fs=f+20,采样频率Ft=8f;在设计IIR低通滤波器的时候,通带边界频率设定为Fp=f-50,阻带截止频率Fs=f,采样频率Ft=10f。这样设定后,在改变载波信号频率的时候就有可能使滤波器无法进行正常的滤波,从而得不到正确的结果。载波频率f可以选的高一些,在设计的时候时间采样t的间隔就要大一些。完成了界面的设计,但也存在许多的不足,显示已定滤波前后的波形图,界面没有用到其它的一些控件,如列表框、下拉菜单等等,GUI的界面设计功能没能得到充分的发挥。九、结束语36 基于matlab的AM—DSB调制系统仿真调制与解调技术是通信电子线路课程中一个重要的环节,也是实现通信必不可少的一门技术,也是通信专业学生必须掌握的一门技术。课题在这里是把要处理的信号当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。从课题的中心来看,课题“基于Matlab的AM-DSB调制系统仿真”是希望将AM-DSB调制与解调技术应用于某一实际领域,这里就是指对信号进行调制。作为存储于计算机中的调制信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。这一过程的实现,用到了处理数字信号的强有力工具MATLAB。通过MATLAB里几个命令函数的调用,很轻易的在调制信号与载波信号的理论之间搭了一座桥。课题的特色在于它将调制信号看作一个向量,于是就把调制信号数字化了。那么,就可以完全利用数字信号处理和通信电子线路的知识来解决AM—DSB调制问题。我们可以像给一般信号做频谱分析一样,来对调制信号做频谱分析,也可以较容易的用数字滤波器来对解调信号进行滤波处理。通过比较AM—DSB调制与解调前后,调制信号的频谱和时域,能明显的感觉到AM—DSB调制后AM—DSB解调与原始的调制信号有明显的不同,设计部同的滤波器得到的结果页是不同的,通过仿真可以看到FIR低通滤波器要比IIR低通滤波器要滤的好。由此可见,调制信号主要分布在低频段,而载波信号主要分布在高频段。最后,还利用了MATLAB的另一强大功能——GUI界面设计。设计出了一个简易的用户应用界面,可以让人实现界面操作,更加方便的进行AM—DSB的频谱分析与调制和解调的滤波处理。36 基于matlab的AM—DSB调制系统仿真附录:GUI设计程序如下functionvarargout=AM_DSB_Experiment_Platform_base_on_Matlab(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@AM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn,...'gui_OutputFcn',@AM_DSB_Experiment_Platform_base_on_Matlab_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctionAM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=AM_DSB_Experiment_Platform_base_on_Matlab_OutputFcn(hObject,eventdata,handles)varargout{1}=handles.output;functionpushbutton1_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalA0;%载波信号振幅globalw0;globalt%抽样时间globalUc;36 基于matlab的AM—DSB调制系统仿真t=-1:0.00001:1;Uc=A0.*cos(w0*t);%载波信号plot(t,Uc);title('载波信号');axis([0,0.01,-15,15]);T1=fft(Uc);axes(handles.axes2)cla;plot(abs(T1));title('载波信号频谱');axis([5800,6200,0,1000000]);functionpushbutton2_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalA1;%调制信号振幅globalw0;globalt;%抽样时间globalmes;mes=A1*cos(0.001*w0*t);%调制信号plot(t,mes);title('调制信号波形');T2=fft(mes);axes(handles.axes2)cla;plot(abs(T2));title('调制信号频谱');axis([198000,202000,0,1000000]);functionpushbutton3_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalA2;%已调信号振幅globalw0;globalt;%抽样时间globalm;%信号调制度globalmesglobalUam;Uam=A2*(1+m*mes).*cos((w0).*t);%AM已调信号plot(t,Uam);title('AM已调信号波形');T3=fft(Uam);axes(handles.axes2)cla;36 基于matlab的AM—DSB调制系统仿真plot(abs(T3));title('AM已调信号频谱');axis([5950,6050,0,500000]);%---Executesonbuttonpressinpushbutton4.functionpushbutton4_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalt;%抽样时间globalm;%信号调制度globalk;%DSB信号振幅globalUdsb;globalUc;globalmes;Udsb=k*mes.*Uc;%DSB已调信号plot(t,Udsb);gridon;title('DSB已调信号波形');axes(handles.axes2)cla;Y4=fft(Udsb);%对DSB已调信号进行傅里叶变换plot(abs(Y4)),grid;title('DSB已调信号频谱');axis([193960,194040,0,1300000]);%---Executesonbuttonpressinpushbutton5.functionpushbutton5_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalb21;Ft=2000;%采样频率fpts=[100120];%通带边界频率fp=fHz,阻带截止频率fs=f+20Hzmag=[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设计滤波器[h,w]=freqz(b21,1);%得到频率响应plot(w/pi,abs(h));gridontitle('FIR低通滤波器');36 基于matlab的AM—DSB调制系统仿真%---Executesonbuttonpressinpushbutton6.functionpushbutton6_Callback(hObject,eventdata,handles)axes(handles.axes2)cla;globalnum11;globalden11;Ft=1500;Fp=30;%通带边界频率Fs=50;%阻带截止频率wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);[n11,wn11]=buttord(wp,ws,1,50,'s');%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11,'s');%求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5);%双线性变换实现S域到Z域的变换[h,w]=freqz(num11,den11);%根据参数求出频率响应plot(w*800*0.5/pi,abs(h));title('IIR低通滤波器');legend('用巴特沃斯butter设计');%---Executesonbuttonpressinpushbutton7.functionpushbutton7_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;globalt;%抽样时间globalUam;Dam=Uam.*cos(w0*t);%对AM已调信号进行解调plot(t,Dam);gridon;title('滤波前AM解调波形');axes(handles.axes2)cla;Y5=fft(Dam);%对AM解调信号进行傅里叶变换plot(abs(Y5)),grid;title('滤波前AM解调频谱');axis([187960,188040,0,200000]);36 基于matlab的AM—DSB调制系统仿真%---Executesonbuttonpressinpushbutton8.functionpushbutton8_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;globalt;globalUdsb;Ddsb=Udsb.*cos(w0*t);%对DSB已调信号进行解调plot(t,Ddsb);gridon;title('滤波前DSB解调波形');axes(handles.axes2)cla;Y6=fft(Ddsb);%对DSB已调信号进行傅里叶变换plot(abs(Y6)),grid;title('滤波前DSB解调频谱');axis([187960,188040,0,1300000]);%---Executesonbuttonpressinpushbutton9.functionpushbutton9_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;globalt;globalb21;globalUam;Dam=Uam.*cos(w0*t);%对AM调制信号进行解调z21=fftfilt(b21,Dam);%FIR低通滤波plot(t,z21,'r');title('滤波后的AM解调信号波形');T5=fft(z21);%求AM信号的频谱axes(handles.axes2)cla;plot(abs(T5),'r');title('滤波后的AM解调信号频谱');axis([198000,202000,0,200000]);%---Executesonbuttonpressinpushbutton10.functionpushbutton10_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;36 基于matlab的AM—DSB调制系统仿真globalt;globalnum11;globalden11;globalUam;Dam=Uam.*cos(w0*t);%对AM已调信号进行解调z11=filter(num11,den11,Dam);%IIR滤波器滤波plot(t,z11,'r');title('滤波后的AM解调信号波形');T6=fft(z11);%求AM信号的频谱axes(handles.axes2)cla;plot(abs(T6),'r');title('滤波后的AM解调信号频谱');axis([198000,202000,0,200000]);%---Executesonbuttonpressinpushbutton11.functionpushbutton11_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;globalt;globalUdsb;globalb21;Ddsb=Udsb.*cos(w0*t);%对DSB调制信号进行解调z21=fftfilt(b21,Ddsb);%FIR低通滤波plot(t,z21,'r');title('滤波后的DSB解调信号波形');T7=fft(z21);%求DSB信号的频谱axes(handles.axes2)cla;plot(abs(T7),'r');title('滤波后的DSB解调信号频谱');axis([198000,202000,0,200000]);%---Executesonbuttonpressinpushbutton12.functionpushbutton12_Callback(hObject,eventdata,handles)axes(handles.axes1)cla;globalw0;globalt;globalUdsb;globalnum11;36 基于matlab的AM—DSB调制系统仿真globalden11;Ddsb=Udsb.*cos(w0*t);%对DSB调制信号进行解调z11=filter(num11,den11,Ddsb);%IIR滤波器滤波plot(t,z11,'r');title('滤波后的DSB解调信号波形');T8=fft(z11);%求DSB信号的频谱axes(handles.axes2)cla;plot(abs(T8),'r');title('滤波后的DSB解调信号频谱');axis([198000,202000,0,200000]);functionpushbutton13_Callback(hObject,eventdata,handles)close(gcbf);quit;functionedit1_Callback(hObject,eventdata,handles)globalA0;f1=str2double(get(handles.edit1,'string'));A0=f1;functionedit1_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionedit2_Callback(hObject,eventdata,handles)globalA1;f2=str2double(get(handles.edit2,'string'));A1=f2;functionedit2_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end36 基于matlab的AM—DSB调制系统仿真functionedit3_Callback(hObject,eventdata,handles)globalA2;f3=str2double(get(handles.edit3,'string'));A2=f3;functionedit3_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionedit4_Callback(hObject,eventdata,handles)globalk;f4=str2double(get(handles.edit4,'string'));k=f4;functionedit4_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionedit5_Callback(hObject,eventdata,handles)globalm;f5=str2double(get(handles.edit5,'string'));m=f5;functionedit5_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end36 基于matlab的AM—DSB调制系统仿真functionedit6_Callback(hObject,eventdata,handles)globalw0;globalf;f6=str2double(get(handles.edit6,'string'));f=f6;w0=2*f*pi;functionedit6_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');end36

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭