文章目录
前言
本文使用MATLAB仿真的方法,给出从正弦波转换为方波的过程,说明方波的傅里叶级数展开式是如何由奇次谐波的和构成的。另外,说明了在此过程中的吉布斯效应。
一、MATLAB代码
以下给出的MATLAB代码,说明方波的傅里叶级数展开式是如何由奇次谐波的和构成的。
% 基波
f =1;% 基频,单位Hz
fs =300;% 采样率,单位samples/s
Ts =1/fs;% 采样间隔
T =1;% 时长
t =0:Ts:T;% 时间向量
y =sin(2*pi*f*t);% 基波
figure()subplot(221)plot(t,y);
grid on
title('基波(f=1Hz)')% 基波加3次谐波的和信号
f3 =3*f;
y =sin(2*pi*f*t)+sin(2*pi*f3*t)/3;%figure()subplot(222)plot(t,y);
grid on
title('基波+3次谐波')% 基波加第3、5、7、9次谐波的和信号
f5 =5*f;
f7 =7*f;
f9 =9*f;
y =sin(2*pi*f*t)+sin(2*pi*f3*t)/3+...sin(2*pi*f5*t)/5+sin(2*pi*f7*t)/7+...sin(2*pi*f9*t)/9;%figure()subplot(223)plot(t,y);
grid on
title('基波+3+5+7+9次谐波')% 在基波上叠加更多高次谐波分量,一直到第19次谐波
% 此时,和信号更接近方波。实际上即使增加更多的高次谐波分量,和信号也不会变成理想的方波,这就是吉布斯效应。
y =zeros(10,length(t));
x =zeros(size(t));for k =1:2:19
fk = k*f;
x = x +sin(2*pi*fk*t)/(2*pi*k);y((k+1)/2,:)= x;
end
%figure()subplot(224)plot(t,y);
grid on
title('方波的构建:吉布斯效应')% 绘制三维网格图,展示正弦波到方波的渐变过程。
figure()mesh(y);title('方波的构建')
二、仿真结果画图
基波加奇次谐波逼近方波的时域波形图:
三维网格图:
三、吉布斯效应
在基波上叠加更多高次谐波分量时,和信号将更接近方波。实际上,即使增加更多的高次谐波分量,和信号也不会变成理想的方波,这就是吉布斯效应。
版权归原作者 通信仿真实验室 所有, 如有侵权,请联系我们删除。