
实验一方波分解为多次正弦波之和的设计.doc
10页实验一 方波分解为屡次正弦波之和的设计一、实验目的1、了解信号分解与正交函数集;2、了解三角函数的正交性;3、了解基波与谐波的概念与关系;二、实验原理1、信号分解与正交函数集信号通常以时间函数表示,所以信号的分量及其分解指的就是函数的分量及其分解可利用与矢量分解相类比的方法来来研究如何将一信号分解为其分量与矢量用另一矢量上的分量表示原矢量类似在一定的时间区间内,假设用函数中的来近似的表示原函数,将存在一误差函数,且有: 〔1〕在矢量近似中最正确系数选择的依据,是使得误差矢量的长度的平方最小;而的选择,则是要求使误差函数的方均值最小误差函数的方均值为: 〔2〕此值最小时有: 〔3〕系数是在最小方均误差的意义上代表二函数、的相关联的程度的度量当时,由式〔3〕可知,此时有: 〔4〕如果满足这一条件,则称与在区间内正交此时与就构成一个正交函数集与两函数正交时,在中的分量为零一个函数可以在另一个函数中具有分量,则和矢量的情况类似,可以将一代表信号的函数表示为该函数在一正交函数集中的分量的加权和。
在区间内互相正交的n个函数组成一个n维的正交信号空间此函数集中的函数之间,在区间内具有如下关系: 〔5〕 〔6〕其中为一常数假设,则上述函数集就称为是归一化正交的任意一个代表信号的的函数,在区间内,可以用组成信号空间的n个正交函数的线性组合来近似的表示为: 〔7〕假设要使近似值的方均误差最小,则在函数中的分量系数为: 〔8〕假设用一正交函数集中的分量和各次谐波分量之和,则该矢量集必须是一完备的正交矢量集与此相似,用一正交函数集中的分量去代表任意一个函数,该函数集也必须是一完备的正交函数集完备的正交函数集往往都是由无穷多的函数组成任意一信号表示为正交函数集中的分量之和时,所取分量函数的项数越多准确度越高,即方均误差最小当所取项数无限增大时,方均误差趋于零,这是的正交函数集也成为完备的对于一个在区间内的完备正交函数集中的所有函数,不可能找到另外一个异于零的函数能在同一区间内和它们相正交反之,假设存在正交函数集以外的函数,与正交函数集中的所有函数正交,则该正交函数集必不是完备的。
信号在正交函数集中的分解是多样在矢量分解中,坐标轴经过变换,可以有不同的选取方法;同样,表示信号的正交函数集也可以经过变换而有不同选取方法如同坐标变换不影响矢量本身一样,正交函数集的变换也不影响所表示的函数本身故可以用一个正交函数集变换到另一个正交函数集去表示一个函数在各种正交函数集中,傅里叶级数是既方便又很有用的除傅里叶级数外,其他如沃尔什函数、勒让德函数、切比雪夫函数等2、三角函数的正交性正弦函数与余弦函数满足如下关系: 〔9〕 〔10〕 〔11〕这表示上述各余弦函数与正弦函数,在区间内,均相互正交即{1、、、、···、、···、、、···、、···}〔其中为上述三角函数的公共周期〕构成一组完备的正交函数集故任意一个周期信号都可以展开成为正弦函数及余弦函数的无穷级数3、连续时间周期信号分解为三角函数之和由前一局部可知,对于任意一个周期为的周期信号,都可以求出它在上述三角函数集中各函数中的分量,从而可将在区间内表示为上述三角函数集中各函数的加权和即: 〔12〕其中实际就是在区间内的平均值,意即直流分量。
设定其为是为了使得后面出计算的公式与其他下标不等于零的一致由公式〔8〕、〔9〕、〔10〕、〔11〕可知,各正弦函数余弦函数的分量系数为: 〔13〕 〔14〕但是,要将周期信号分解为谐波分量,代表该周期信号的函数应当满足狄利克雷条件即:1〕在一周期内,函数式绝对可积的,即应为有限值;2〕在一周期内,函数的极值数目有限;3〕在一周期内,函数或者为连续的,或者具有有限个这样的连续点,即当t从较大的时间值和较小的时间值分别趋向于连续点时,函数具有两个不同的有限的极限值实际工程中的周期信号,大多都满足狄利克雷条件周期性方波也满足上述条件,即方波可以展开为三角函数的加权和4、方波分解为屡次正弦波之和的原理由前一局部可知代表周期性方波信号的函数满足狄利克雷条件,即方波可以表示为屡次正弦波之和如图1所示方波信号,其周期为2且正半周期负半周期是形状全同的矩形,在区间〔0,2〕内可用函数表示为:图1 周期为2的方波信号假设将展开为三角傅里叶级数,即将分解为屡次正弦波之和,则有式〔13〕、式〔14〕可知,在区间〔0,2〕内,如图1 所示的周期为2的方波信号的,,的值分别为: ===则在区间〔0,2〕内可表示为: 〔15〕即周期为2s的方波信号中含有大量的正弦波,其频率分别为1/2,3/2,5/2,7/2···其中频率为1/2的正弦波称为基波,其他频率的正弦波称为谐波。
即一周期性方波,可表示为基波与无穷多谐波之和实用中进展信号分析时,不可能取无穷屡次谐波之和,而只能用有限项来近似表示这样就无法防止有一误差,如果将基波加到次谐波之和后的函数表示为,则有=+,即=-5、正弦波合成并与原始方波进展比较模型的建立由原理局部可知,方波中含有无穷屡次的正弦波,即方波可以分解为无穷屡次正弦波之和反过来可用无限屡次正弦波相加可以合成方波,从而完成设计但是在实际中不可能取无穷中屡次的正弦波,取有限次正弦波合成,相较于原始方波信号,必然存在一定的误差假设用误差函数表示误差假设方波信号函数表示为,屡次正弦波合成后函数表示为,则误差函数=-然后利用相关绘图函数画出、、即可故设计建立的模型可表示如下:图2 正弦波合成程序设计模型图示描述其中产生方波可以调用square函数对于屡次正弦波的合成可以使用一循环语句,通过使用input输入循环的最大值N,来控制合成的谐波的数量然后通过subplot函数建立三个子窗口,运用plot函数在三个子窗口中分别画出原始方波、合成波以及误差函数的波形图即可同时,利用subplot函数建立三个子窗口,将原始方波,合成涉及误差函数画在同一窗口下,可以更加直观的比较合成波与原始方涉及观察误差函数。
三、实验内容1、 正弦波合成并与原始方波比较的源程序代码正弦波合成并与原始方波进展比较的源程序代码如下:%屡次正弦波合成并与原始方波比较的设计t=0:0.000111:6;n=1;fn=0;y=square(pi*t,50);%周期为2s的方波N=input('N=');%输入N值for num=1:N fn=fn+4/(n*pi)*sin(n*t*pi);%加到n次谐波正弦波之和 n=n+2; endfm=y-fn;%误差函数subplot(3,1,1)%在第一个子窗口中画出原始方波图像plot(t,y,'k'),grid ona*is([0 6 -2 2])*label('时间s');ylabel('振幅');title('方波')subplot(3,1,2)%在第二个子窗口中画出加到n次谐波的正弦波合成图像plot(t,fn,'k'),grid on*label('时间s ');ylabel('振幅');title('正弦波合成')subplot(3,1,3)%在第三个子窗口中画出误差函数图像plot(t,fm,'k'),a*is([0 6 -2 2])*label('时间s');ylabel('振幅');title('误差函数')源程序中,通过输入的N值控制for循环的次数,从而控制合成的谐波次数n以及合成的谐波数量。
通过改变输入的N可以改变合成波的谐波的最高次数即相加的谐波次数,从而改变合成波的波形通过比较加到不同次数的合成波的波形及其相应的误差函数波形,可以知道正弦波合成随级数增大的趋势情况2、 程序运行结果1〕N=3时,原始方波,合成涉及误差函数图像如下:图3 原始方波,加到五次谐波的合成涉及相应误差函数图像2〕N=10时,原始方波,合成涉及误差函数图像如下:图4 原始方波,加到19次谐波的合成涉及相应误差函数图像3〕N=100时,原始方波,合成涉及误差函数图像如下:图5 原始方波,加到199次谐波的合成涉及相应误差函数图像由图上可以看出,当输入N=100时,合成波波形已经非常接近方波波形除在方波跃变点附近合成波的波形与原始方波波形之间有较大误差之外,其他各处波形误差为零4〕N=10000时,原始方波,合成涉及误差函数图像如下:图6 原始方波,加到19999次谐波的合成涉及相应误差函数图像分析随着N值得增大,正弦波合成方波的效果如何变化.分析问什么会出现这样的显现3、正弦波合成趋势图源程序代码1〕正弦波合成趋势图二维图源程序代码如下:%谐波合成趋势二维图t=0:0.0111:6;y=zeros(1000,ma*(size(t));%建立全零矩阵*=zeros(size(t));n=1;N=input('N=');%输入N值for k=1:N *=*+(4/(n*pi))*sin(n*pi*t); y(n, : )=*; n=n+2;endplot(t,y(1:101,: )),grid ona*is([0 6 -2 2])*label('时间s');ylabel('振幅');title('正弦波合成趋势二维图')该程序中,首先通过zeros函数建立相关全零矩阵并赋给*、y。
然后利用for循环语句求出加到不同次数谐波的合成波最后利用所建立的矩阵及plot函数画出合成波随级数增加合成波改变的二维趋势图通过输入N值控制级数的项数2〕正弦波合成趋势图三维图源程序代码如下:%谐波合成趋势三维图t=0:0.0111:2;y=zeros(1000,ma*(size(t)));*=zeros(size(t));for k=1:2:200 *=*+sin(k*pi*t)/k; y((k+1)/2, : )=*;endhalft=ceil(length(t)/2); mesh(t(1:halft),[1:1000],y(: ,1:halft))*label('时间s');ylabel('谐波次数');zlabel('振幅');title('谐波合成趋势三维图')根本原理与上述二维图类似,通过建立全零矩阵,然后利用所建立的矩阵以及mesh函数画出三维图为使图形更加美观,只画出了合成波形的半个周期,即区间内的合成波波形该程序中也通过输入N值控制级数的项数并且在图形中利用y轴表示级数项数的增加,这样可以更直观看到合成波随级数项数的变化情况4、 程序运行结果1〕正弦波合成趋势二维图程序运行结果如下:图7 正弦波合成趋势二维图其中,输入的N=100,由趋势图可以看出,随着级数项数的增加,合成波逐渐趋近于方波。
方波跃变点处的起伏振荡也非常明显,且跃变点处的起伏振荡存在的时间随着级数所取项数的增加而减少的趋势也相当明显2〕正弦波合成趋势三维图如下:。
