我是靠谱客的博主 沉静吐司,最近开发中收集的这篇文章主要介绍聊聊FFT,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 关于FFT,全称为快速傅里叶变换,目的是把时域的信号转变为频域的信号。具体的科学解释及计算方程组可以去查百度百科,不过小编不建议这么做,因为查了也看不懂的。

        先看一张都能看懂的图:

        

        这是某种食物的配方表,每种配方包含了多少比例标注的很清楚。

        对于信号来说,其实它也是有配方的。

        “FFT的作用就是:通过计算,把信号的配方罗列出来。”

                                                                       ----- 沃兹基.硕德

        以上双引号的内容,绝对是人类历史上对FFT作出的最直接,最通俗的解释

        什么是信号?

        正弦波信号是构成自然界所有波形的基本单位。

        长这样:

        举个例子,某个正弦波的数学表达式是:       

        x(t)==10+5sin(2πft+ψ)

        10:代表该正弦波信号的偏置电压,也就是把正弦波向y轴往上提的电压值;

        5:代表该正弦波的幅值,也就是正向最大电压值;

        f:代表该正弦波的频率,比如常规的AC220电压就是50Hz;

        ψ:代表该正弦波的相位,也就是把正弦波向x轴左右移动的度数,通常用π表示

         每一个标准的正弦波,都可以用这几个参数构成上面的表达式。

        但是自然界中绝大多数波形如声波、光波、电磁波等等都不是标准的正弦波,他们长的千奇百怪复杂难缠,比如长这样:

        这种奇怪的波形,本质上是由多个标准的正弦波叠加构成的。

        自然界所有的波形都是由多个甚至无数个标准的正弦波叠加构成的。

        为什么会这样?爱因斯坦也解释不了,这个世界就是这样的没办法....

         那么这些奇怪复杂的波形,到底都是由哪些频率的正弦波构成的呢?

        这就是FFT要做的工作了:

        通过FFT计算,可以快速分解原始信号,将它的“配方”列出来,如上图,左边波形的构成成分有:10HZ 25HZ 50HZ 100HZ四种主要正弦波,它们的幅值差不多,互相之间的相位差也可以计算得到,只是图中看不到。

        有了信号配方,在后续的信号处理过程中,需要对哪些频率的波形放大,哪些频率的波形滤除都会变得非常简单,可以做很多很多事情。

                   再放一张常见的数字信号方波的真身图:

        本篇只作FFT通俗解释,下篇结合Cortex M4的官方DSP库详细描述一下怎么FFT的具体计算方式(不会很难~)。

最后

以上就是沉静吐司为你收集整理的聊聊FFT的全部内容,希望文章能够帮你解决聊聊FFT所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部