用谐波分量合成周期信号
说明
在 Matlab 中将各次谐波相叠加并与原信号比较。
程序
t=-2.5:0.001:2.5;
t1=-2.5*pi:0.001:2.5*pi;
y=square(t1+pi/2,50)/2+0.5;
y1=cos(pi*1*t)*sinc(1/2);%产生一次谐波分量
y2=cos(pi*2*t)*sinc(2/2);%产生二次谐波分量
y3=cos(pi*3*t)*sinc(3/2);%产生三次谐波分量
y4=cos(pi*4*t)*sinc(4/2);%产生四次谐波分量
y5=cos(pi*5*t)*sinc(5/2);%产生五次谐波分量
y6=cos(pi*6*t)*sinc(6/2);%产生六次谐波分量
y7=cos(pi*7*t)*sinc(7/2);%产生七次谐波分量
a1=0.5+y1+y2+y3;%1、2、3 次谐波分量叠加
a2=0.5+y1+y2+y3+y4+y5;%1、2、3、4、5 次谐波分量叠加
a3=0.5+y1+y2+y3+y4+y5+y6+y7;%1、2、3、4、5、6、7 次谐波分量叠加
plot(t1/pi,y,t,a1 ,':',t,a2,'-.',t,a3 ,'--'); ylabel('脉高');xlabel('t(s)')
legend('y 原始波形','a1 一、二、三次谐波叠加','a2 一、二、三、四、五次谐波叠加','a3 一、二、三、四、五、六、七次谐波叠加')%标注图例