FFT这是最通俗易懂的解释,运用matlab进行FFT
莎士比亚说过:“有一千个读者就有一千个哈姆雷特”,对于FFT,每个人的理解,小编相信都是不一样的,但是不得不说书上关于FFT的说明,小编真的看不明白,理解较为困难。以下是小编自己的一些想法,FFT真正有自己的理解有点难,这里建议大家可以多看看他人关于FFT的分析与解释,总有一种是适合你的理解。一整个苹果就相当于我们所给的原始信号,而FFT的作用就是将苹果的营养成分表列出来,让我们知道苹果是由哪些营
小编最近在学习快速傅里叶变换(FFT),看到有篇文章的一句话,小编觉得真的太适合概括FFT的功能,既通俗易懂又包含深意。
“FFT的作用就是:通过计算,把信号的配方罗列出来。”
----- 沃兹基.硕德
莎士比亚说过:“有一千个读者就有一千个哈姆雷特”,对于FFT,每个人的理解,小编相信都是不一样的,但是不得不说书上关于FFT的说明,小编真的看不明白,理解较为困难。以下是小编自己的一些想法,FFT真正有自己的理解有点难,这里建议大家可以多看看他人关于FFT的分析与解释,总有一种是适合你的理解。
下列表格是关于苹果的营养成分表:
营养成分表
|
项目 |
每100g |
NRV% |
|
能量 |
218KJ |
3% |
|
蛋白质 |
0.3g |
1% |
|
脂肪 |
0.2g |
<1% |
|
碳水化合物 |
14g |
5% |
|
纤维 |
2.4g |
10% |
|
糖 |
10g |
- |
|
维生素C |
4.6mg |
5% |
一整个苹果就相当于我们所给的原始信号,而FFT的作用就是将苹果的营养成分表列出来,让我们知道苹果是由哪些营养成分组成的。如此一理解,是不是很通俗易懂。
转回头来说一下快速傅里叶变换(FFT)
在时域范围内,我们经常可以看到信号波形,就如下图所示,这是我用matlab随意生成了的一个随机信号波形图:

上图随机信号的波形并不是我们传统意义上的正弦信号波形图,但是这样的波形图可以拆分为不同频率、幅度等的正弦信号波叠加的组成。
再如,我们给定信号x(t)=sin(50Πt)+sin(100Πt)+cos(50Πt),其波形图如下,经过FFT也如下图所示:

FFT
从上图两个表中可以看出,我们给定的信号主要是频率为25Hz、50Hz的正弦波。
这里也从而再次验证了一开始我们所说的营养成分,我们经过FFT可以知道了我们原始信号是由哪些配方所构成的,即由哪些频率段的正弦波构成。
(这里说一下关于经过FFT后得到的图,当它频率为0时得到的是指直流分量)
最后附上对信号进行快速傅里叶变换(FFT)的matlab代码:
% 定义参数
Fs = 1000; % 采样频率 (Hz)
T = 1/Fs; % 采样周期 (s)
L = 1000; % 信号长度
t = (0:L-1) * T; % 时间向量
% 生成信号 x(t)
x = sin(50*pi*t) + sin(100*pi*t) + cos(50*pi*t);
% 绘制时间域信号波形图
figure;
plot(t, x)
title('Signal x(t) in Time Domain')
xlabel('Time (seconds)')
ylabel('Amplitude')
% 进行FFT
X = fft(x);
% 计算频率范围
P2 = abs(X/L); % 双边频谱
P1 = P2(1:L/2+1); % 单边频谱
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L; % 频率向量
% 绘制频域信号幅度图
figure;
plot(f, P1)
title('Single-Sided Amplitude Spectrum of x(t)')
xlabel('Frequency (Hz)')
ylabel('Amplitude')
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)