通过傅立叶级数求各次谐波分量
(补充)
接上例,求出各次谐波并画出波形
%求各次谐波
t1=-T/2:0.01:T/2;
f1=A(1)+A(2).*cos(2*pi*1*t1/5)+B(2)*sin(2*pi*1*t1/5); ; % 基波
f2=A(3).*cos(2*pi*2*t1/5)+B(3)*sin(2*pi*2*t1/5); ; % 2次谐波
f3=A(4).*cos(2*pi*3*t1/5)+B(4).*sin(2*pi*3*t1/5); % 3次谐波
f4=A(5).*cos(2*pi*4*t1/5)+B(5).*sin(2*pi*4*t1/5); ; % 4次谐波
f5=A(6).*cos(2*pi*5*t1/5)+B(6).*sin(2*pi*5*t1/5); % 5次谐波
f6=A(7).*cos(2*pi*6*t1/5)+B(7).*sin(2*pi*6*t1/5); % 6次谐波
f7=f1+f2; % 基波+2次谐波
f8=f7+f3; % 基波+2次谐波+3次谐波
f9=f8+f4+f6; % 基波+2次谐波+3次谐波+4次谐波+6次谐波
%画出图形
y=subs(x,t,t1); %调用连续时间函数-周期矩形脉冲
subplot(2,2,1),plot(t1,f1),hold on;plot(t1,y,'r:');title('周期矩形波的形成—基波'),
subplot(2,2,2),plot(t1,f7),hold on;plot(t1,y,'r:');title('周期矩形波的形成—基波+2次谐波')
subplot(2,2,3),plot(t1,f8),hold on;plot(t1,y,'r:');title('基波+2次谐波+3次谐波')
subplot(2,2,4),plot(t1,f9),hold on;plot(t1,y,'r:');title('基波+2次谐波+3次谐波+4次谐波+6次谐波')
参见程序ex_1
2022-04-21 08:44:13
273KB
MATLAB
1