这个三角波的傅里叶级数

信息处理 matlab 傅里叶级数
2022-01-30 23:14:19

我正在使用 matlab 研究数字信号,遇到了一个问题,我想知道是否有更多经验的人可以帮助我。

我需要导出我生成的三角波的傅立叶级数,我只是不知道如何在 Matlab 中实际解决这个问题。

我正在使用以下代码生成 100hz 三角形信号:

t = 0:1/10000:1;
f=100;
x1 = sawtooth(2*pi*f*t, 0.5);
plot(t,x1); 
axis([0 0.10 -1 1]); 

现在我应该如何推导这个信号的傅立叶级数,我完全迷失了。

任何帮助,将不胜感激。

3个回答

查看维基百科的傅立叶级数页面。他们的“示例 1”展示了如何导出锯齿波的傅立叶级数。您所要做的就是对特定时间和幅度值的结果进行归一化。

如果你的锯齿电压斜率的模数是 A,那么你的傅里叶系数,如果你在谈论一个连续的时间傅里叶级数,是

Cn=-(A To/((n pi)^2)) ((Sin((n pi)/2))^2)

提示:双重区分你的信号,直到你最终得到狄拉克三角函数,它们很容易修改。

我假设您想在 MATLAB 中计算此信号的 FFT?这将是这样的:

N_fft = 2^15; %Just an FFT size
x1_fft = fft(x1, N_fft); %Take the FFT.
plot(abs(x1_fft));