MATLAB小白,不足之处还请多指教!
设周期函数的波形为:
MATLAB实现周期信号的傅里叶级数的展开
求该周期信号的傅里叶级数展开式,并画出傅里叶展开后的波形

我们通过信号与系统的学习可以知道,周期函数可以通过一系列的三角函数的线性组合来逼近,如下图所示:
MATLAB实现周期信号的傅里叶级数的展开

首先我们可以通过三角函数的正交性计算出傅里叶级数中的系数

MATLAB实现周期信号的傅里叶级数的展开
则周期信号的傅里叶级数展开为
MATLAB实现周期信号的傅里叶级数的展开
通过求出傅里叶级数的系数,带入傅里叶级数展开式的式子,就可以求出周期信号的傅里叶级数展开式了。

MATLAB代码

function F=fourier
syms x;
T=input('T=');
n=10; %谐波的阶数
t=0:0.001:16;
%如果创建-1,+1的方波直接调用square即可
%50是50%占空比
f=max(square(pi*0.5*t,50),0);%创建方波最大值是1,最小值是0
plot(t,f);
grid on;
hold on;
axis([0 4*pi -0.5 1.5]);
A0=1/2;%可根据函数直接算出
F=0;
Fx=0;
for i=1:n
    As=int(2*cos(2*pi*i*x/T)/T,x,0,T/2);%傅里叶系数an
    Bs=int(2*sin(2*pi*i*x/T)/T,x,0,T/2);%傅里叶系数bn
    F=F+As*cos(2*pi*i*t/T)+Bs*sin(2*pi*i*t/T);%求傅里叶级数展开
    Fx=Fx+As*cos(2*pi*i*x/T)+Bs*sin(2*pi*i*x/T);
end
F=F+A0;
Fx=Fx+A0;
Fx
%figure(2)
plot(t,F)

运行结果如下

Fx =(2sin((pix)/2))/pi + (2sin((3pix)/2))/(3pi) + (2sin((5pix)/2))/(5pi) + (2sin((7pix)/2))/(7pi) + (2sin((9pix)/2))/(9pi) + 1/2
MATLAB实现周期信号的傅里叶级数的展开

相关文章:

  • 2021-10-07
  • 2021-07-30
  • 2021-05-21
  • 2021-04-08
  • 2021-04-05
  • 2021-05-07
  • 2021-09-15
  • 2021-10-19
猜你喜欢
  • 2021-07-09
  • 2021-09-01
  • 2021-09-19
  • 2021-07-20
  • 2021-11-20
相关资源
相似解决方案