毕业设计(论文)基于matlab的信号分解与合成.doc
学校代码 学 号 分 类 号 密 级 公 开本科毕业毕业设计题 目 基于Matlab的信号合成与分解(中、英文) Signal's Decomposition and CompositionBased on MATLAB作 者 姓 名 专 业 名 称 学 科 门 类 指 导 教 师 提交论文日期 成绩等级评定 摘 要为了便于进行周期信号的分析与处理,常要把复杂的周期信号进行分解,即将周期信号分解为正余弦等此类基本信号的线性组合,通过对这些基本信号单元在时域和频域特性的分析来达到了解信号特性的目的。本文主要阐述了傅立叶级数的推演过程,从而得出周期信号的分解与合成的基本原理。并利用Matlab仿真软件强大的数值分析和图形功能来对周期方波信号与周期三角波信号的分解与合成进行演示,直观明了的观察周期信号分解与合成过程、周期信号的对称性与谐波成分的关系,以及对其中的误差程度和吉布斯现象做定量的分析,从而可以进行仿真结果与理论分析结论的对比,加深了对周期连续信号分解与合成的理解,描述了傅立叶级数分解合成信号的实现性,同时也展示了用MATLAB编写周期连续信号分解与合成的演示程序的优点关键词:周期信号;分解;合成;吉布斯现象AbstractIn order to facilitate the periodic signal analysis and processing, often make complicated cycle of signal decomposition, periodic signal will be decomposed into sine and cosine signals and other such basic linear combination of these basic signals through the unit in the time domain and frequency domain characteristics analysis of signal characteristics to achieve the purpose of understanding. This article focuses on the Fourier series to the inference process to arrive at periodic signal decomposition and composition of the basic principles. Matlab simulation software using the powerful numerical analysis and graphical capabilities of the periodic square wave signal and the periodic triangular wave signal decomposition and synthesis of presentations and intuitive to understand the observation period signal decomposition and synthesis process, periodic signal and harmonic components of the symmetry relations, and the error of which the extent and quantitative analysis of the Gibbs phenomenon, which can make the simulation results and theoretical analysis comparing the cycle of continuous deepening of the understanding of signal decomposition and composition, Fourier series describes the synthesis of signal decomposition implementation, while also demonstrated the preparation of periodic continuous signal using MATLAB decomposition and synthesis of the advantages of the demonstration programKey words: Periodic signal; Decomposition; Synthesis; Gibbs phenomenon目 录1绪论.12信号的分解与合成.22.1信号分解为正交函数22.1.1正交函数集22.1.2信号分解为正交函数32.2周期信号的信号分解与合成52.2.1周期连续信号的特点62.2.2周期为T的信号的三角形式傅里叶级数表示的一般形式63 MATLAB的仿真实现.83.1基于MATLAB方波信号的分解与合成83.1.1方波信号的傅立叶级数83.1.2方波信号的分解仿真93.1.3方波信号的合成仿真103.1.4方波信号的频谱113.1.5方波信号的误差分析123.1.6吉布斯现象133.2基于MATLAB三角波信号的分解与合成133.2.1三角波的傅立叶级数133.2.2三角波的分解仿真153.2.3三角波的合成仿真153.2.4三角波的频谱173.2.5三角波的误差分析183.3结论18参考文献20附录21谢辞251 绪论 信号是携带信息的、随时间或空间变化的物理量或物理现象,是信息的载体与表现形式,如声信号、光信号、电信号等。在数学上,信号总是一个或者多个独立变量的函数,它包含了某个或某些物理现象性质的信息。信息不同的物理形态并不影响他们所包含的信息内容,不同物理形态的信号之间相互转换。在各种信号中,电信号是一种最便于传输、控制与处理的信号;同时,实际运用中的许多非电信号,如压力、流量、速度、转矩、位移等,都可以通过适当的传感器变换成电信号,因此对电信号的研究具有重要的意义。 研究信号是为了对信号进行处理和分析,信号处理是对信号进行某些加工或变换,目的是提取有用的部分,去掉多余的部分,滤除各种干扰和噪声,或将信号进行转化,便于分析和识别。信号的特性可以从时间特性和频率特性两方面进行描述,并且信号可以用函数解析式表示(有时域的,频域的及变化域的),也可用波形或频谱表示。信号分析通过研究信号的描述、运算、特性以及信号发生某些变化时其特性相应的变化,来揭示信号自身的时域特性、频域特性等。信号分析的主要途径是研究信号的分解,即将信号分解为某些基本信号的线性组合,通过对这些基本信号单元在时域和频域特性的分析来达到了解信号特性的目的。信号的分解可以在时域、频域或变换域中进行,分别用到信号分析的时域方法(time domain analysis)、频域方法(frequency domain analysis)和变换域方法(transform domain analysis)。系统是若干相互依赖、相互作用的事物组合而成的、具有特定功能的整体。系统可以是物理系统,例如通信系统、自动控制系统、导航系统等;也可以是非物理系统,例如生产管理、司法等社会经济与管理方面的系统。系统分析的主要任务是分析系统对指定激励所产生的影响。其分析过程主要包括建立系统模型,根据模型建立系统的方程,求解出系统的响应,必要时对解得的结果给出物理解释。系统分析是系统综合与系统诊断的基础。LTI系统各种分析方法的理论基础是信号的分解特性与系统的线性、时不变特性,其出发点是:激励信号可以分解为若干基础信号单元的线性组合;系统对激励所产生的零状态响应是系统对各基本信号单元分别激励下响应的叠加。信号的分解与合成是信号与线性系统课程中最重要的内容之一。任何满足狄里赫利条件的周期信号都是由各种不同频率、幅度和初相的正弦波叠加而成的。对周期信号由它的傅立叶级数展开式可知,各次谐波为基波频率的整数倍。而非周期信号包括了从零到无穷大的所有频率成分,每一个频率成分的幅度均趋向无穷小,但其相对大小式不同的。MATLAB具有以下五个特点:1.运算功能强大。MATLAB是以矩阵为基本编程编程元素的程序设计语言,它的数值运算要素不是单个数据,而是矩阵,每个变量代表一个矩阵,矩阵由m乘n个元素,每个元素都可看做复数,所有的运算包括加、减、乘、除、函数运算等都对矩阵和复数有效;另外,通过MATLAB的符号工具箱,可以解决在数学、应用科学和工程计算领域中常常遇到的符号计算问题,强大的运算功能使其成为世界顶尖的数学应用软件之一。2.编程效率高。MATLAB的语言规则与笔算式相似,矩阵的行数无需定义,MATLAB的命令表达方式与标准的数学表达式非常相近,因此,易写易读并易于在科技人员之间交流。MATLAB是以解释方式工作的,即它对每条语句解释后立即执行,键入算式无需编译立即得出结果,若有错误也立即做出反应,便于编程者立即更正。这些都大大减少了编程和调试的工作量,提高了编程的效率【1】。3.强大而智能化的作图功能。MATLAB可以方便地用图形显示二维或三维数组,将工程计算的结果可视化,使数据间的内在联系明晰了。MATLAB能智能化地根据输入的数据自动确定最佳坐标,可规定多种坐标系(如极坐标系、对数坐标系),可设置不同颜色、线型、视角等。4.可扩展性强。MATLAB由一套程序扩展系统和工具箱,具有良好的可扩展性。工具箱是MATLAB函数的子程序库,每个工具箱都有为某个学科领域的应用而制定的,MATLAB每年都会增加一些新的工具箱【2】。5.Simulink动态仿真功能。Simulink是一个交互式动态系统建模、仿真和分析图形环境,用户通过框图的绘制来模拟一个系统,Simulink能够针对控制系统、信号处理和通信系统等进行系统建模、仿真和分析【3】。正因为如此,利用仿真软件MATLAB来对信号的分解与合成十分方便有效。2信号的分解与合成2.1信号分解为正交函数2.1.1 正交函数集【4】如有定义在()区间两个函数和,若满足则称和在区间()内正交。如有个函数构成一个函数集,当这些函数在区间()内满足 (2.1-1)式中为常数,则称此函数集为在区间()的正交函数集。在区间()内相互正交的个函数构成正交信号空间。如果在正交函数集之外,不存在函数满足等式 (2.1-2)则此函数集称为完备正交函数集。也就是说,如能找到一个函数,使得式(2.1-2)成立,即与函数集的每一个函数都正交,那么它本身就应属于此函数集。显然,不包含的集式不完备的。 例如,三角函数集在区间组成正交函数集,而且是完备的正交函数集。这是因为 (2.1-3a) (2.1-3b) (2.1-3c)即三角函数集满足正交特性式(2.1-1),因而是正交函数集。2.1.2信号分解为正交函数 设有个函数在区间构成一个正交函数空间。将任一函数用这个正交函数的线性组合来近似,可表示为 (2.1-4)这里的问题是:如何选择才能得到最佳近似。显然,应选取个系数使实际函数与近似函数之间误差在区间内为最小。这里“误差最小”不是平均误差最小,因为在平均误差最小甚至等于零的情况下,也可能有较大的正误差和负误差在平均过程中相互抵消,以致不能正确反映两函数的近似程度。通常选择误差均方值(或称为方均值)最小,这时,可以认为已经得到了最好的近似。误差的均方值也称为均方误差,用符号表示 (2.1-5)在中,为球的使均方误差最小的第个系数,必须使即 (2.1-6)展开上式的被积函数,注意到有序号不同的正交函数相乘的各项,其积分均为零,而且所有不包含的各项对求导也等于零。这样,式(2.1-6)中只有两项不为零,它可以写为交换微分与积分次序,得于是可求得 (2.1-7)式中 (2.1-8)这就是满足最小均方误差的条件下,式(2.1-4)中各系数的表达式。此时,能获得最佳近似。 当按式(2.1-7)选取系数时,将代入到式(2.1-5),可以得到最佳近似条件下的均方误差为【5】 考虑到,得 (2.1-9)利用上式可直接求得在给定项数的条件下的最小均方误差。 有均方误差的定义式(2.1-7)可见,由于函数平方后再积分,因而不可能为负,即恒有0。由式(2.1-8)可见,在用正交函数去近似(或逼近)时,所取的项数越多,即愈大,则均方误差愈小。当时,。由式(2.1-9)可得,如,则有 (2.1-10)式(2.1-10)称为帕斯瓦尔(Parseval)方程【6】。 如果信号是电压或电流,那么,式(2.1-10)等号左端就是在区间信号的能量,等号右边是在区间信号各正交分量的能量之和。式(2.1-10)表明:在区间信号所含能量恒等于此信号在完备函数集中各正交分量能量的总和。与此相反,如果信号在正交函数中的各正交分量能量的总和小于信号本身的能量,这时式(2.1-10)不成立,该正交函数集不完备。 这样,当时,均方误差,式(2.1-4)可写成 (2.1-11)即函数在区间可分解为无穷多项正交函数之和。2.2周期信号的信号分解与合成2.2.1周期连续信号的特点周期连续信号有如下特点【7】:(1)满足,m是整数,是周期。从波形上看,有一个时间跨度为的基本波形,其余的是该基本波形经平移的整数倍后的重新拷贝。(2)在一个周期内的积分,其值与积分的起点和终点无关,即有 (3)将周期信号展开成傅里叶级数具有的以下显著优点是【8】:三角函数和指数函数是自然界中最常见、最基本的函数。三角函数和复指数函数是间谐函数,用它们表示时间信号,就自然地建立了时间和频率这两个基本物理量之间的关系。间谐信号较其他信号更容易产生和处理。三角函数(或指数函数)信号通过线性时不变系统后,仍为三角函数(或指数函数),其重复频率不变,只是幅度和相位有变化。线性时不变系统对三角函数(或指数函数)信号的响应可以很方便地求的。很多系统(例如滤波器、信息传输等)的特性主要是由其频域特性来描述的,因此常常更需要知道的并不是这些系统的冲激响应,而是其冲激响应所对应的频率特性。时域中的卷积运算在频域会转化为乘积运算,从而找到了计算卷积的一种新方法,这可使时域中难以实现的卷积运算求解便于实现。周期信号当满足狄里赫利(Dirichlet)条件时可以展开成傅里叶级数。傅里叶级数分三角形式和指数形式两种。狄里赫利条件如下:【9】(1)在一个周期内,是绝对可积,即。(2)在一个周期内,的最大值和最小值的数目是有限个。(3)在一个周期内,只有有限个间断点,而且在这些间断点上,函数值必须是有限个。2.2.2 周期为T的信号的三角形式的傅里叶级数表示的一般形式设有周期信号,它的周期为T,角频率,则的三角傅里叶级数表示的一般形式为 (2.2-1) 其中 可以写成更紧凑的和式为:式(2.2-1)中的系数、称为傅里叶系数,为在函数中的分量(相对大小);为在函数中的分量,它可由式(2.1-7)求得。为简便,式(2.1-7)的积分区间取为或。考虑到正、余弦函数的正交条件(2.1-3),由式(2.1-7),可得傅立叶系数 (2.2-2) 周期信号也可分解为一系列余弦信号,即: (2.2-3)其中 式(2.2-3)表明,任何满足狄里赫利条件的周期函数都可以分解为直流和许多余弦(或正弦)分量。其中第一项是常数项,它是周期信号中所包含的直流分量;式中第二项称为基波或一次谐波,它的角频率和原周期信号相同,是基波振幅,是基波初相角;式中第三项称为二次谐波,它的频率是基波频率的二倍,是二次谐波的振幅,是其初相角。以此类推,还有四三次、四次、谐波。一般而言,称为次谐波,是次谐波的振幅,是其初相角。式(2.2-3)表明,周期信号可以分解为各次谐波分量。 式(2.2-2)表示周期信号可以分解成直流分量和各次谐波分量的叠加,用直流分量和各次谐波分量代替原来的周期信号,原则上应该是无穷多项的叠加,实际应用中只取其中的前项,产生的误差函数用en(t)来表示 (2.2-4)另外一个衡量误差大小的函数为方均误差【10】: (2.2-5)3 MATLAB的仿真实现MATLAB是目前世界上最流行的、应用最广泛的工程计算和仿真软件,它将计算、可视化和编程等功能同时集于一个易于开发的环境。MATLAB是Matrix Laboratory的缩写,是一个包含众多工程计算和仿真的庞大系统。MATLAB是一个交互式开发系统,其基本数据要素是矩阵。语法规则简单,适应于专业科技人员的思维方式和书写习惯;它用解释方式工作,编写程序和运行同步,键入程序立即得出结果,因此人机交互更加简洁和智能化;而且MATLAB可适用于多种平台,随着计算机软、硬件的更新而及时升级,shide编程和调试效率大大提高【11】3.1基于MATLAB方波信号的分解与合成现以周期为T、幅值为1的方波信号为例 3.1.1 方波信号的分解与合成【12】由式(2)可得 图1 周期为T的方波图 考虑到,可得 将它们代入(1)式,可得图1所示的方波信号的傅立叶级数展开式为 它只含一、三、五、奇次谐波分量。周期为T=1的可分解为3.1.2 方波信号的分解仿真由周期T=1为例:图2为周期为T=1的方波信号,经傅立叶级数分解以后而得到的基波到七次谐波的仿真图,左上角为基波图,它是一个非常正规的正弦波,幅值在1到1.5之间,要高于原方波的幅值。而且它的角频率与原方波信号相同。右上角为三次谐波图,其也是正弦波,明显,其幅值降到了0.5以下,但是三次谐波的频率是基波的1.5倍。其它图形依次为五次谐波,七次谐波。 图2 周期为T=1方波信号的分解图3.1.3 方波信号的合成仿真图3为方波信号分解以后取有限次谐波的合成波形。左上方图是单独的基波,是正弦波,波身较为平滑,波峰和波谷尖锐。右上方是基波和三次谐波叠加而成的波,大体仍是正弦的形式,但是波身已经比单独的基波较为陡峭,波峰和波谷出现波动,已经趋向方波,有了方波的雏形。以下依次叠加起五次谐波,七次谐波的波形。图3 周期为T=1方波信号的合成图 图4 偶次谐波与奇次谐波的对比由图4可以看出,由于原方波信号经傅立叶级数分解后,偶次谐波不存在,所以在图中只能观察到奇次谐波。3.1.4 方波信号的频谱图 图5 方波信号的频谱图 图5为周期信号的频谱图,在频谱图中,=1时,信号的幅值在1.2到1.4之间,=2时,信号的幅值为0,=3时,幅值在0.2到0.4之间, =4、5、6、7、时,幅值有起伏,但总体趋势是呈下降趋势。3.1.5 方波信号的误差分析 方波信号的误差分析表3-1 方波信号前七项合成的误差分析前N之和基波基波+三次谐波基波+三次谐波+五次谐波基波+三次谐波+五次谐波+七次谐波en(t)0.99800.99600.99400.9920图6 方波的误差分析图由图6和表3-1知道,在信号合成时,其叠加的谐波次数越多,将产生的误差值将越小,说明,合成波形越加的向原三角波形靠近。3.1.6吉布斯现象 从合成信号的波形中,可以看到,波形平坦部分中起伏的次数是由部分和所包围的谐波次数决定的,另外注意到在方波阶跃变点附近,某些点的函数值大于1或小于-1,形成过冲现象,这种在间断点处的过冲现象,称为吉布斯现象。过冲值为合成波形的最高点超过原方波信号值之比。应用MATLAB软件编写程序计算上冲或下冲的过冲值【13】。通过周期为T=1的方波信号来研究吉布斯现象:图3中可以看出过冲现象,由程序计算出N不同时各自的过冲值,见表3-2表3-2 周期为T=1的方波信号的过冲值10.1366110.089820.1002130.089730.0942170.089640.0921270.089550.09122580.089560.09072590.089470.09032980.089480.09012990.089490.09003000.0894100.08994000.0895根据表3-2可以看出,随着N的增加,过冲值逐渐减小并稳定在一个值0.894附近。3.2基于MATLAB三角波信号的分解与合成现以周期为T、幅值为1的三角波信号如图7进行信号分解与合成仿真为例3.2.1三角波的分解与合成【14】图7三角信号的波形三角信号求一次导数是方波信号,如图8,求二次导数是冲击信号,如图9,的基本波形由两个冲激组成。图8 求一次导之后的波形图9 求二次导数后的波形先计算的傅立叶系数和。则求得的傅立叶系数为由求得的三角形式傅立叶级数为 3.2.2三角波的分解仿真 以周期T=2的三角波为例:图10 三角信号与分解的前次谐波分解的对比图图10为三角信号的分解图,左上角是分解后基波的图形,它的幅值接近0.5,而周期和原三角波的周期一样,是1。右上角是分解后的三次谐波的图形,其幅值接近于0.05,周期也减小,在0.3到0.4之间。后两幅分别为五次谐波和七次谐波分解出来的图形,明显它们的幅值依次减小,周期也依次减小。3.2.3 三角信号的合成仿真图11为三角波形分解合成的图形,左上角是单独基波的图形,明显,它是一个余弦波,周期是2,波峰和波谷比较平滑,右上角是基波与三次谐波叠加以后的波形,这时已经有了三角波的雏形,波峰和波谷已经明显的尖锐了。图12分别为基波到五次谐波的叠加和基波到七次谐波的叠加,它们已经逐渐形成了三角波形,波峰和波谷更加尖锐。图13分别为三角波奇次谐波与偶次谐波合成波形。可以看出,由于三角波信号经傅立叶级数分解后,偶次谐波不存在,所以在图中只能观察到奇次谐波。图11 周期三角信号的合成图图12 周期三角信号与前七次谐波叠加的对比图图13 奇次谐波与偶次谐波叠加的对比图3.2.4 三角信号的频谱图14 三角信号的频谱图图14为周期三角信号的频谱图,在频谱图中,=1时,信号的幅值在0.4到0.45之间,=2时,信号的幅值为0,=3时,幅值在0.05到0.1之间, =4、5、6、7、时,幅值有起伏,但总体趋势是呈下降趋势3.2.5 周期三角信号的误差分析图15 周期三角信号与前七次谐波叠加的误差图 表3-3 三角波信号前七项合成的误差分析前n项之和直流分量直流分量+基波直流分量+基波+三次谐波直流分量+基波+三次谐波+五次谐波直流分量+基波+三次谐波+五次谐波+七次谐波en(t)0.50000.09470.04970.03350.0252由图15和表3-3知道,在信号合成时,其叠加的谐波次数越多,将产生的误差值将越小,说明,合成波形越加的向原三角波形靠近。3.3结论一、由图5和图14可见,周期信号的频谱图有以下特点【15】:(1)离散性。频谱图中的变量为,由于n只能是整数(单边频谱中是正整数),因而谱线是离散的而非连续的,谱线的间隔是,所以周期信号的频谱是离散频谱。(2)谐波性。由于n只取整数,因而谱线在频谱轴上的位置是基频的整数倍。(3)收敛性。幅度谱中各谱线的高度尽管不一定岁随谐波次数的增高作单调的减小,中间有可能有起伏,但总的趋势是随n的增高而减小的,当n为时,高度趋于零。 二、由图2和图10可以得出,任何周期信号都可以由一系列的正弦(或余弦)波组成,随着谐波次数的增大,谐波的幅值越来越小,频率越来越大。三、由图3和图11可以得到,合成波形所包含的谐波分量越多时,除间断点附近外,它越接近与原波形信号。在间断点附近,随着所含有的谐波次数的增加,合成波形的波身越陡峭,波峰越靠近间断点,但尖峰幅度并未明显减小。在傅立叶级数的项数取得很大时,间断点出尖峰下的面积非常小以趋近于零,因而在均方的意义上合成波形同原波形的真值之间没有区别。参考文献1曹弋.MATLAB教程及实训M.北京:机械工业出版社,2008:264.2刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) M.北京:人民邮电出版社,2010:2432463 胡晓冬, 董辰辉.MATLAB从入门到精通M.北京:人民邮电出版社 ,2010:78242 4吴大正.信号与线性系统分析(第四版)M.北京:高等教育出版社,2005: 421478 5(美)齐默(Rodger E.Ziemer)著;肖志涛等译.信号与系统连续与离散(第四版)M.北京:电子工业出版社,2005:95966 潘双来,邢丽冬.信号与线性系统M.北京:清华大学出版社,2006:55647 管致中,夏恭恪,孟桥. 信号与线性系统(第4版) M.北京:高等教育出版社 ,2004:9597 8 陈后金,胡健, 薛健. 信号与系统(第2版) M.北京:北京交通大学出版社 ,2003:1241269 吕幼新,张明友. 信号与系统(第2版) M.北京:电子工业出版社 ,2007:23323510 张贤达. 现代信号处理(第2版) M.北京:清华大学出版社 ,2002:15816011 穆尔(Holly Moore),高会生,刘童娜,李聪聪. MATLAB实用教程(第2版) M.北京:电子工业出版社 ,2010:17918312马金龙,胡健萍,王宛苹.信号与系统M.北京:科学出版社,2006:788113游春霞.徐州师范大学学报J. 学术期刊, 2006年第24卷(第01期): 21321714马金龙,胡健萍,王宛苹.信号与系统学习与考研辅导M.北京:科学出版社,2006:10710815 于慧敏. 信号与系统(第2版) M.北京:化学工业出版社 ,2009:175178附录:方波的分解:>> t=-3*pi:pi/100000:3*pi;>> f=square(2*pi*t,50);>> f1=4*sin(2*t*pi)/pi;>> f2=4*sin(6*t*pi)/(pi*3);>> f3=4*sin(10*t*pi)/(pi*5);>> f4=4*sin(14*t*pi)/(pi*7);>> subplot(221),plot(t,f1);>> hold on>> plot(t,f,'r-');>> grid on;>> axis(-2 2 -1.5 1.5);>> subplot(222),plot(t,f2);>> hold on>> plot(t,f,'r-');>> grid on;>> axis(-2 2 -1.5 1.5);>> subplot(223),plot(t,f3);>> hold on>> plot(t,f,'r-');>> grid on;>> axis(-2 2 -1.5 1.5);>> subplot(224),plot(t,f4);>> hold on>> plot(t,f,'r-');>> grid on;>> axis(-2 2 -1.5 1.5);方波信号的合成:>> t=-3*pi:pi/100000:3*pi;>> f1=4*sin(2*t*pi)/pi;>> f2=4*sin(2*t*pi)/pi+4*sin(6*t*pi)/(pi*3);>> f3=4*sin(2*t*pi)/pi+4*sin(6*t*pi)/(pi*3)+4*sin(10*t*pi)/(pi*5);>> f4=4*sin(2*t*pi)/pi+4*sin(6*t*pi)/(pi*3)+4*sin(10*t*pi)/(pi*5)+4*sin(14*t*pi)/(pi*7);>> subplot(221),plot(t,f1);>> hold on>> plot(t,f,'r-');>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(222),plot(t,f2);>> hold on>> plot(t,f,'r-');>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(223),plot(t,f3);>> hold on>> plot(t,f,'r-');>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(224),plot(t,f4);>> hold on>> plot(t,f,'r-');>> axis(-2 2 -1.5 1.5);>> grid on;方波信号的奇偶次谐波的对比:>> t=-3*pi:pi/100000:3*pi;>> f1=4*sin(2*t*pi)/pi+4*sin(6*t*pi)/(pi*3)+4*sin(10*t*pi)/(pi*5)+4*sin(14*t*pi)/(pi*7);>> subplot(211),plot(t,f1);>> axis(-2 2 -1.5 1.5);>> grid on;>> t=-3*pi:pi/100:3*pi;>> f2=0;>> subplot(212),plot(t,f2);误差分析:>> e1=f-f1;>> e2=f-f2;>> e3=f-f3;>> e4=f-f4;>> subplot(221),plot(t,e1);>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(222),plot(t,e2);>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(223),plot(t,e3);>> axis(-2 2 -1.5 1.5);>> grid on;>> subplot(224),plot(t,e4);>> axis(-2 2 -1.5 1.5);>> grid on;方波信号的频谱图:>> N=input('N=');N=7>> n=1:N;>> for i=1:2:NC(i)=4/(pi*(2*i-1) ;end;>> stem(n,C) ;三角波信号分解图:>> t=-3*pi:pi/100000:3*pi;>> f1=4*cos(t)/(pi*pi);>> f2=4*cos(3*t)/(pi*pi*9);>> f3=4*cos(5*t)/(pi*pi*25);>> f4=4*cos(7*t)/(pi*pi*49);>> f=0.5*(-sawtooth(t,0.5)+1);>> subplot(221),plot(t,f1);>> hold on>> plot(t,f,'r-');>> grid on;>> subplot(222),plot(t,f2);>> hold on>> plot(t,f,'r-');>> grid on;>> subplot(223),plot(t,f3);>> hold on>> plot(t,f,'r-');>> grid on;>> subplot(224),plot(t,f4);>> hold on>> plot(t,f,'r-');>> grid on;三角信号的合成:>> t=-3*pi:pi/100000:3*pi;>> f=0.5*(-sawtooth(t,0.5)+1);>> f1=0.5+4*cos(t)/(pi*pi);>> f2=0.5+4*c