1、信号与系统课程设计用MATLAB模拟方波信号的分解与合成MATLAB(矩阵实验室)是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C+和FORTRAN)编写的程序。 尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有
2、一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。研究型,参数function rectexpd(T1,T0
3、,m )%方波信号分解与合成%T1:方波信号区间为(-T1/2,T1/2)%T0:方波信号周期%m:傅里叶级数展开项次数设计期望:希望通过这次课程设计能够更深入的理解信号的分解与合成的原理,能够在实验的过程中对matlab软件有更多的了解与运用,锻炼自己对matlab仿真系统的掌控。希望实验结束后能熟练的运用matlab软件模拟各种实验与仿真模拟系统。二、设计原理 1.任何信号都是由各种不同频率、幅度和初相的正弦波叠加而成的。由周期信号的傅里叶级数展开式可知,各次谐波的频率为基波频率的整数倍。而非周期信号包含了从零到无穷大的所有频率成分,每一频率成分的幅度均趋向无限小,但其相对大小是不同的。
4、设有周期信号为:f(t)=f(t+) (n=0,1,2,)式中 T为信号的重复周期;t为时间变量 由信号分析理论可知,若f(t)满足狄义赫利条件,则可将它展开为傅里叶级数,即:f(t)=+式中各项系数为: 当f(t)为一周期性方波(幅度为Um),其傅里叶级数展开为;由以上分析可知,如果已知周期信号f(t),就可以求出不同频率的正弦分量。反之,如果已知一系列不同频率的正弦分量,则可在一定幅度关系和一定相位关系的要求下,合成一个周期信号。2.通过一个选频网络可以将电信号中所包含的某一频率成分提取出来。将周期信号加到并联的有源带通滤波器的输入端,如果选用5个通过频率分别为1到51的有源带通滤波器,则
5、在各滤波器的输出端可以看到被分解的周期信号的基波到5次谐波。将上述各次谐波通过一个同向加法器,这时在输出端得到的是这5个谐波分量的合成信号,因为没有高于5次以上的各次谐波分量,所以合成波形和分解前的信号波形相比,会有失真。而本次课程设计就是基于MATLAB的通信系统仿真,用软件模拟出信号的分解与合成的过程。三、设计内容1.用MATLAB实现方波信号的分解与合成2.观察各次谐波叠加后的波形,与原方波波形进行对照比较对周期为T0的方波信号进行傅里叶级数展开,信号可表示为起傅里叶级数系数为= 由于方波信号x(t)为实值周期函数,且为偶函数,所以傅里叶级数为实数。由此得到三角函数形式的傅里叶级数展开的
6、系数为 周期信号的三角函数形式的傅里叶展开为绘制离散幅度谱和谐波叠加的MATLAB实现如下:function rectexpd(T1,T0,m )%方波信号分解与合成%T1:方波信号区间为(-T1/2,T1/2)%T0:方波信号周期%m:傅里叶级数展开项次数t1= -T1/2:0.01:T1/2 ;t2=T1/2:0.01:(T0-T1/2) ;t=(t1-T0);(t2-T0);t1;t2;(t1+T0);n1=length(t1);n2=length(t2);%根据方波信号函数周期,计算点数f=ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2,1);on
7、es(n1,1);%构造方波信号y=zeros(m+1,length(t);y(m+1,:)=f;figure(1);plot(t,y(m+1,:);%绘制方波信号axis(-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2);set(gca,XTick,-T0,-T1/2,T1/2,T0);set(gca,XTickLabel,-T0,-T1/2,T1/2,T0);title(方波信号);grid;a=T1/T0;pause;%绘制离散幅度谱freg=(-20:1:20);mag=abs(a*sinc(a*freg);stem(freg,mag);x=a*ones(size
8、(t);for k=1:m%循环显示谐波叠加图形 pause; x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0); y(k,:)=x;%计算叠加和 plot(t,y(m+1,:); hold on; plot(t,y(k,:);%绘制各次叠加波形 hold off; grid; axis(-(T0+T1/2)-0.5,(T0+T1/2)+0.5,-0.5,1.5); title(strcat(num2str(k),次谐波叠加); xlabel(t);endpause;plot(t,y(1:m+1,:);grid;axis(-T0/2,T0/2,-0.5,1.5);title
9、(各次谐波叠加);xlabel(t);四、实验结果方波的离散频谱方波只含有奇次谐波,1、3、5、7、9各次谐波叠加后的波形逐渐接近方波,但还是有失真,可以看出方波是由无数正弦波合成的,叠加的正弦波越多,波形越接近方波。五、小结在进行课程设计过程中,我们进一步加深了对信号分解与合成的理解,充分运用所学知识和MATLAB实现设计目的,但依然有所欠缺,在理论运用到实际时,对信号分解与合成的掌握不够彻底,运用不够娴熟。六、致谢感谢在设计过程中帮助过我们的老师、同学,感谢在设计过程中尽心尽力的团队成员。七、参考文献1.赵静,张瑾,高新科. 基于MATLAB的通信系统仿真. 北京航空航天大学出版社,20072.吴祖国,孙学平,王霞,张保华. 电路、信号与系统实验教程. 武汉大学出版社,20143.郑君里,应启珩,杨为理. 信号与系统. 高等教育出版社,2011
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1