当前位置:首页 > 方波分解为多次正弦波之和的设计
武汉理工大学《专业课程设计3(信号与线性系统)》课程设计说明书
实际工程中的周期信号,大多都满足狄利克雷条件。周期性方波也满足上述条件,即方波可以展开为三角函数的加权和。
2.2 方波分解为多次正弦波之和的原理
由前一部分可知。代表周期性方波信号的函数f(t)满足狄利克雷条件,即方波可以表示为多次正弦波之和。如图1所示方波信号,其周期为2且正半周期负半周期是形状全同的矩形,在区间(0,2)内可用函数表示为:
??1(0?t?1)f(t)??? t? ? (1 2) ? ?1若将f(t)展开为三角傅里叶级数,即
将f(t)分解为多次正弦波之和,则有式(13)、式(14)可知,在区间(0,2)内,
如图1 所示的周期为2的方波信号的a0, 图1 周期为2的方波信号
an,bn的值分别为:
2a0=22?0f(t)dt?0 2an=22?0f(t)cosn?tdt?0 2bn=22?0f(t)sinn?tdt?02bn?2?0f(t)sinn?tdt?4/n?2当n为偶数
当n为奇数
则在区间(0,2)内f(t)可表示为:
f(t)?4?(sin?t?13sin3?t?15sin5?t?17sin7?t???) (15)
即周期为2s的方波信号中含有大量的正弦波,其频率分别为1/2,3/2,5/2,7/2···其中频率为1/2的正弦波称为基波,其他频率的正弦波称为谐波。即一周期性方波,可表示为基波与无穷多谐波之和。
实用中进行信号分析时,不可能取无穷多次谐波之和,而只能用有限项来近似表示。这样就无法避免有一误差?(t),如果将基波加到n次谐波之和后的函数表示为fn(t),则有
f(t)=fn(t)+?(t),即?(t)=f(t)-?(t)。
4
武汉理工大学《专业课程设计3(信号与线性系统)》课程设计说明书
3 建立模型描述
3.1正弦波合成并与原始方波进行比较模型的建立
由原理部分可知,方波中含有无穷多次的正弦波,即方波可以分解为无穷多次正弦波之和。反过来可用无限多次正弦波相加可以合成方波,从而完成设计。但是在实际中不可能取无穷中多次的正弦波,取有限次正弦波合成,相较于原始方波信号,必然存在一定的误差。若用误差函数?(t)表示误差。若方波信号函数表示为f(t),多次正弦波合成后函数表示为fn(t),则误差函数?(t)=f(t)-fn(t)。然后利用相关绘图函数画出f(t)、fn(t)、?(t)即可。故设计建立的模型可表示如下:
多次正弦波合产生方波 抵抗力ws 成
误差函数 方波减合成波 画出方波图像 画出误差函数图像 画出合成波图像 图2 正弦波合成程序设计模型图示描述
其中产生方波可以调用square函数。对于多次正弦波的合成可以使用一循环语句,通过使用input输入循环的最大值N,来控制合成的谐波的数量。然后通过subplot函数建立三个子窗口,运用plot函数在三个子窗口中分别画出原始方波、合成波以及误差函数的波形图即可。同时,利用subplot函数建立三个子窗口,将原始方波,合成波及误差函数画在同一窗口下,可以更加直观的比较合成波与原始方波及观察误差函数。
5
武汉理工大学《专业课程设计3(信号与线性系统)》课程设计说明书
3.2 其他模型的建立
在本次设计中,建立的其他相关的模型有谐波合成趋势二维图、三维图的模型;方波单边频谱图模型;方波与其分解后的各次谐波的比较图模型。这些相关模型建立的描述如下。
1)谐波合成趋势二维图、三维图相关模型。使用循环结构,通过输入循环次数控制合成谐波的数量。然后分别使用plot、mesh函数画出相关二维图,三维图即可。
2)方波单边频谱图模型的建立。由原理部分可以知道,方波分解为正弦波之和后各次谐波的振幅情况。通过stem函数画出各频率谐波的振幅情况即可。其中,较高次谐波的幅度较小,故频谱图无需画到太高的频率。
3)方波与其分解后的各次谐波的比较图模型的建立。由原理部分可以得知各次谐波的振幅。较高次谐波振幅太小,比较的意义不大,故只画到第11次谐波。写出基波到11次谐波的的函数表达式,然后利用plot函数画出方波与与基波及各次谐波的波形图并进行比较即可。
4 源程序代码
4.1 正弦波合成并与原始方波比较的源程序代码及运行结果
4.1.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; end
fm=y-fn;%误差函数
6
武汉理工大学《专业课程设计3(信号与线性系统)》课程设计说明书
subplot(3,1,1)%在第一个子窗口中画出原始方波图像 plot(t,y,'k'),grid on axis([0 6 -2 2])
xlabel('时间s');ylabel('振幅');title('方波')
subplot(3,1,2)%在第二个子窗口中画出加到n次谐波的正弦波合成图像 plot(t,fn,'k'),grid on
xlabel('时间s ');ylabel('振幅');title('正弦波合成') subplot(3,1,3)%在第三个子窗口中画出误差函数图像 plot(t,fm,'k'), axis([0 6 -2 2])
xlabel('时间s');ylabel('振幅');title('误差函数')
源程序中,通过输入的N值控制for循环的次数,从而控制合成的谐波次数n以及合成的谐波数量。通过改变输入的N可以改变合成波的谐波的最高次数即相加的谐波次数,从而改变合成波的波形。通过比较加到不同次数的合成波的波形及其相应的误差函数波形,可以知道正弦波合成随级数增大的趋势情况。
4.1.2 程序运行结果
1)N=3时,原始方波,合成波及误差函数图像如下:
图3 原始方波,加到五次谐波的合成波及相应误差函数图像
7
共分享92篇相关文档