精华内容
下载资源
问答
  • 傅里叶变换原理解析

    千次阅读 2020-10-12 21:34:51
    傅里叶变换原理解析 震动频率:节拍数/秒 矢量旋转频率:圈/秒 傅里叶频域就是:音频信号波形的不同频率的旋转频率形成的图形的质心的坐标变化,即(frequency, (x,y)) (其中实数为x轴坐标,虚部为 y轴坐标) 为...

    傅里叶变换原理解析

    震动频率:节拍数/秒
    矢量旋转频率:圈/秒
    

    傅里叶频域就是:音频信号波形的不同频率的旋转频率形成的图形的质心的坐标变化,即(frequency, (x,y))
    (其中实数为x轴坐标,虚部为 y轴坐标)

    为什么傅里叶变换可以分离不同频率的信号?
    因为,当对复合信号进行傅里叶变换时,当信号波形在轴上以不同的频率旋转时,比如该信号由a,b,c三个频率的正弦波信号复合而成,当复合信号的波形的旋转频率为a,b,c三个频率的时候,旋转图形的质心的横坐标达到峰值(极大值),所以我们只要在旋转得到的(频率,坐标)图像中找到峰值所在的频率就可以得到所有复合信号的频率。

    傅里叶反变换的原理:
    就是将(频率,坐标)这样的二维波形,进行傅里叶变换(矢量旋转),就可以得到原始信号。

    傅里叶变换公式的原理:
    旋转的矢量:对应的是一个复数
    每秒旋转一周的速度,这个旋转矢量表达式为:e^(2 * pai * i * t)
    我们再加上旋转的频率f,表示这个矢量每秒实际上旋转几周
    那么,这个旋转矢量的表达式为e^(2 * pai * i * t * f)
    傅里叶变换的矢量旋转方向时顺时针的,所以,我们需要在指数上加一个负号:e^-(2 * pai * i * t * f)
    为了表示我们的原始信号以这样的频率进行旋转,我们可以直接用我们的信号与这样的旋转矢量表达式相乘:
    g(t)(时域信号)
    g(t) * e^-(2 * pai * t * i * f)

    接下来就是计算旋转波形图的质心,我们可以进行一个估计:对图形进行抽样,选取n个样本点,我们将样本点的横坐标加起来,再除以样本点数量n(基本的中心点计算方法)
    以这种思想,为了更加精确,我们可以将计算平均值改变为计算时间点上的积分:

    f(g(t)*e^-(2*pai*t*i*f))(t1~t2)dt
    
    如果信号的持续时间很长,那么旋转矢量的模长就会被放大
    
    展开全文
  • 介绍傅里叶变换的基本原理,快速傅里叶变换的推导过程
  • 傅里叶变换原理精讲

    千次阅读 多人点赞 2019-06-11 13:34:16
    作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,...我保证这篇文章你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写...
    作 者:韩 昊
    知 乎:Heinrich
    微 博:@花生油工人
    知乎专栏:与时间无关的故事
    

    谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。
    可能有些图片看不到,因为使用的外连接,可以直接访问原作者的知乎:
    https://zhuanlan.zhihu.com/p/19763358

    转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。

    ——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章————

    我保证这篇文章和你以前看过的所有文章都不同,这是 2012 年还在果壳的时候写的,但是当时没有来得及写完就出国了……于是拖了两年,嗯,我是拖延症患者……

    这篇文章的核心思想就是:

    要让读者在不看任何数学公式的情况下理解傅里叶分析。

    傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。但不幸的是,傅里叶分析的公式看起来太复杂了,所以很多大一新生上来就懵圈并从此对它深恶痛绝。老实说,这么有意思的东西居然成了大学里的杀手课程,不得不归咎于编教材的人实在是太严肃了。(您把教材写得好玩一点会死吗?会死吗?)所以我一直想写一个有意思的文章来解释傅里叶分析,有可能的话高中生都能看懂的那种。所以,不管读到这里的您从事何种工作,我保证您都能看懂,并且一定将体会到通过傅里叶分析看到世界另一个样子时的快感。至于对于已经有一定基础的朋友,也希望不要看到会的地方就急忙往后翻,仔细读一定会有新的发现。

    ————以上是定场诗————

    下面进入正题:

    抱歉,还是要啰嗦一句:其实学习本来就不是易事,我写这篇文章的初衷也是希望大家学习起来更加轻松,充满乐趣。但是千万!千万不要把这篇文章收藏起来,或是存下地址,心里想着:以后有时间再看。这样的例子太多了,也许几年后你都没有再打开这个页面。无论如何,耐下心,读下去。这篇文章要比读课本要轻松、开心得多……

    一、什么是频域

    从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。

    先举一个公式上并非很恰当,但意义上再贴切不过的例子:

    在你的理解中,一段音乐是什么呢?

    这是我们对音乐最普遍的理解,一个随着时间变化的震动。但我相信对于乐器小能手们来说,音乐更直观的理解是这样的:


    好的!下课,同学们再见。

    是的,其实这一段写到这里已经可以结束了。上图是音乐在时域的样子,而下图则是音乐在频域的样子。所以频域这一概念对大家都从不陌生,只是从来没意识到而已。

    现在我们可以回过头来重新看看一开始那句痴人说梦般的话:世界是永恒的。

    将以上两图简化:

    时域:


    频域:

    在时域,我们观察到钢琴的琴弦一会上一会下的摆动,就如同一支股票的走势;而在频域,只有那一个永恒的音符。

    所以

    你眼中看似落叶纷飞变化无常的世界,实际只是躺在上帝怀中一份早已谱好的乐章。

    抱歉,这不是一句鸡汤文,而是黑板上确凿的公式:傅里叶同学告诉我们,任何周期函数,都可以看作是不同振幅,不同相位正弦波的叠加。在第一个例子里我们可以理解为,利用对不同琴键不同力度,不同时间点的敲击,可以组合出任何一首乐曲。

    而贯穿时域与频域的方法之一,就是传中说的傅里叶分析。傅里叶分析可分为傅里叶级数(Fourier Serie)和傅里叶变换(Fourier Transformation),我们从简单的开始谈起。

     

    二、傅里叶级数(Fourier Series)的频谱

    还是举个栗子并且有图有真相才好理解。

    如果我说我能用前面说的正弦曲线波叠加出一个带 90 度角的矩形波来,你会相信吗?你不会,就像当年的我一样。但是看看下图:

    第一幅图是一个郁闷的正弦波 cos(x)

    第二幅图是 2 个卖萌的正弦波的叠加 cos (x) +a.cos (3x)

    第三幅图是 4 个发春的正弦波的叠加

    第四幅图是 10 个便秘的正弦波的叠加

    随着正弦波数量逐渐的增长,他们最终会叠加成一个标准的矩形,大家从中体会到了什么道理?

    (只要努力,弯的都能掰直!)

    随着叠加的递增,所有正弦波中上升的部分逐渐让原本缓慢增加的曲线不断变陡,而所有正弦波中下降的部分又抵消了上升到最高处时继续上升的部分使其变为水平线。一个矩形就这么叠加而成了。但是要多少个正弦波叠加起来才能形成一个标准 90 度角的矩形波呢?不幸的告诉大家,答案是无穷多个。(上帝:我能让你们猜着我?)

    不仅仅是矩形,你能想到的任何波形都是可以如此方法用正弦波叠加起来的。这是没有接触过傅里叶分析的人在直觉上的第一个难点,但是一旦接受了这样的设定,游戏就开始有意思起来了。

    还是上图的正弦波累加成矩形波,我们换一个角度来看看:

    在这几幅图中,最前面黑色的线就是所有正弦波叠加而成的总和,也就是越来越接近矩形波的那个图形。而后面依不同颜色排列而成的正弦波就是组合为矩形波的各个分量。这些正弦波按照频率从低到高从前向后排列开来,而每一个波的振幅都是不同的。一定有细心的读者发现了,每两个正弦波之间都还有一条直线,那并不是分割线,而是振幅为 0 的正弦波!也就是说,为了组成特殊的曲线,有些正弦波成分是不需要的。

    这里,不同频率的正弦波我们成为频率分量。

    好了,关键的地方来了!!

    如果我们把第一个频率最低的频率分量看作“1”,我们就有了构建频域的最基本单元。

    对于我们最常见的有理数轴,数字“1”就是有理数轴的基本单元。

    (好吧,数学称法为——基。在那个年代,这个字还没有其他奇怪的解释,后面还有正交基这样的词汇我会说吗?)

    时域的基本单元就是“1 秒”,如果我们将一个角频率为\omega_{0}的正弦波 cos(\omega_{0}t)看作基础,那么频域的基本单元就是\omega_{0}

    有了“1”,还要有“0”才能构成世界,那么频域的“0”是什么呢?cos(0t)就是一个周期无限长的正弦波,也就是一条直线!所以在频域,0 频率也被称为直流分量,在傅里叶级数的叠加中,它仅仅影响全部波形相对于数轴整体向上或是向下而不改变波的形状。

    接下来,让我们回到初中,回忆一下已经死去的八戒,啊不,已经死去的老师是怎么定义正弦波的吧。

    正弦波就是一个圆周运动在一条直线上的投影。所以频域的基本单元也可以理解为一个始终在旋转的圆

    想看动图的同学请戳这里:

    File:Fourier series square wave circles animation.gif

    File:Fourier series sawtooth wave circles animation.gif

    以及这里:

    File:Fourier series sawtooth wave circles animation.gif

    点出去的朋友不要被 wiki 拐跑了,wiki 写的哪有这里的文章这么没节操是不是。

    介绍完了频域的基本组成单元,我们就可以看一看一个矩形波,在频域里的另一个模样了:


    这是什么奇怪的东西?

    这就是矩形波在频域的样子,是不是完全认不出来了?教科书一般就给到这里然后留给了读者无穷的遐想,以及无穷的吐槽,其实教科书只要补一张图就足够了:频域图像,也就是俗称的频谱,就是——

    再清楚一点:

    可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线。振幅为 0 的正弦波。

    File:Fourier series and transform.gif

    动图请戳:

    File:Fourier series and transform.gif

    老实说,在我学傅里叶变换时,维基的这个图还没有出现,那时我就想到了这种表达方法,而且,后面还会加入维基没有表示出来的另一个谱——相位谱。

    但是在讲相位谱之前,我们先回顾一下刚刚的这个例子究竟意味着什么。记得前面说过的那句“世界是静止的”吗?估计好多人对这句话都已经吐槽半天了。想象一下,世界上每一个看似混乱的表象,实际都是一条时间轴上不规则的曲线,但实际这些曲线都是由这些无穷无尽的正弦波组成。我们看似不规律的事情反而是规律的正弦波在时域上的投影,而正弦波又是一个旋转的圆在直线上的投影。那么你的脑海中会产生一个什么画面呢?

    我们眼中的世界就像皮影戏的大幕布,幕布的后面有无数的齿轮,大齿轮带动小齿轮,小齿轮再带动更小的。在最外面的小齿轮上有一个小人——那就是我们自己。我们只看到这个小人毫无规律的在幕布前表演,却无法预测他下一步会去哪。而幕布后面的齿轮却永远一直那样不停的旋转,永不停歇。这样说来有些宿命论的感觉。说实话,这种对人生的描绘是我一个朋友在我们都是高中生的时候感叹的,当时想想似懂非懂,直到有一天我学到了傅里叶级数……

    三、傅里叶级数(Fourier Series)的相位谱

    上一章的关键词是:从侧面看。这一章的关键词是:从下面看。

    在这一章最开始,我想先回答很多人的一个问题:傅里叶分析究竟是干什么用的?这段相对比较枯燥,已经知道了的同学可以直接跳到下一个分割线。

    先说一个最直接的用途。无论听广播还是看电视,我们一定对一个词不陌生——频道。频道频道,就是频率的通道,不同的频道就是将不同的频率作为一个通道来进行信息传输。下面大家尝试一件事:

    先在纸上画一个sin(x),不一定标准,意思差不多就行。不是很难吧。

    好,接下去画一个sin(3x)+sin(5x)的图形。

    别说标准不标准了,曲线什么时候上升什么时候下降你都不一定画的对吧?

    好,画不出来不要紧,我把sin(3x)+sin(5x)的曲线给你,但是前提是你不知道这个曲线的方程式,现在需要你把sin(5x)给我从图里拿出去,看看剩下的是什么。这基本是不可能做到的。

    但是在频域呢?则简单的很,无非就是几条竖线而已。

    所以很多在时域看似不可能做到的数学操作,在频域相反很容易。这就是需要傅里叶变换的地方。尤其是从某条曲线中去除一些特定的频率成分,这在工程上称为滤波,是信号处理最重要的概念之一,只有在频域才能轻松的做到。

    再说一个更重要,但是稍微复杂一点的用途——求解微分方程。(这段有点难度,看不懂的可以直接跳过这段)微分方程的重要性不用我过多介绍了。各行各业都用的到。但是求解微分方程却是一件相当麻烦的事情。因为除了要计算加减乘除,还要计算微分积分。而傅里叶变换则可以让微分和积分在频域中变为乘法和除法,大学数学瞬间变小学算术有没有。

    傅里叶分析当然还有其他更重要的用途,我们随着讲随着提。

    ————————————————————————————————————

    下面我们继续说相位谱:

    通过时域到频域的变换,我们得到了一个从侧面看的频谱,但是这个频谱并没有包含时域中全部的信息。因为频谱只代表每一个对应的正弦波的振幅是多少,而没有提到相位。基础的正弦波A.sin(wt+θ)中,振幅,频率,相位缺一不可,不同相位决定了波的位置,所以对于频域分析,仅仅有频谱(振幅谱)是不够的,我们还需要一个相位谱。那么这个相位谱在哪呢?我们看下图,这次为了避免图片太混论,我们用7个波叠加的图。

    鉴于正弦波是周期的,我们需要设定一个用来标记正弦波位置的东西。在图中就是那些小红点。小红点是距离频率轴最近的波峰,而这个波峰所处的位置离频率轴有多远呢?为了看的更清楚,我们将红色的点投影到下平面,投影点我们用粉色点来表示。当然,这些粉色的点只标注了波峰距离频率轴的距离,并不是相位。


    这里需要纠正一个概念:时间差并不是相位差。如果将全部周期看作2Pi或者360度的话,相位差则是时间差在一个周期中所占的比例。我们将时间差除周期再乘2Pi,就得到了相位差。

    在完整的立体图中,我们将投影得到的时间差依次除以所在频率的周期,就得到了最下面的相位谱。所以,频谱是从侧面看,相位谱是从下面看。下次偷看女生裙底被发现的话,可以告诉她:“对不起,我只是想看看你的相位谱。”

    注意到,相位谱中的相位除了0,就是Pi。因为cos(t+Pi)=-cos(t),所以实际上相位为Pi的波只是上下翻转了而已。对于周期方波的傅里叶级数,这样的相位谱已经是很简单的了。另外值得注意的是,由于cos(t+2Pi)=cos(t),所以相位差是周期的,pi和3pi,5pi,7pi都是相同的相位。人为定义相位谱的值域为(-pi,pi],所以图中的相位差均为Pi。

    最后来一张大集合:

    四、傅里叶变换(Fourier Tranformation)

    相信通过前面三章,大家对频域以及傅里叶级数都有了一个全新的认识。但是文章在一开始关于钢琴琴谱的例子我曾说过,这个栗子是一个公式错误,但是概念典型的例子。所谓的公式错误在哪里呢?

    傅里叶级数的本质是将一个周期的信号分解成无限多分开的(离散的)正弦波,但是宇宙似乎并不是周期的。曾经在学数字信号处理的时候写过一首打油诗:

    往昔连续非周期,

    回忆周期不连续,

    任你ZT、DFT,

    还原不回去。

    (请无视我渣一样的文学水平……)

    在这个世界上,有的事情一期一会,永不再来,并且时间始终不曾停息地将那些刻骨铭心的往昔连续的标记在时间点上。但是这些事情往往又成为了我们格外宝贵的回忆,在我们大脑里隔一段时间就会周期性的蹦出来一下,可惜这些回忆都是零散的片段,往往只有最幸福的回忆,而平淡的回忆则逐渐被我们忘却。因为,往昔是一个连续的非周期信号,而回忆是一个周期离散信号。

    是否有一种数学工具将连续非周期信号变换为周期离散信号呢?抱歉,真没有。

    比如傅里叶级数,在时域是一个周期且连续的函数,而在频域是一个非周期离散的函数。这句话比较绕嘴,实在看着费事可以干脆回忆第一章的图片。

    而在我们接下去要讲的傅里叶变换,则是将一个时域非周期的连续信号,转换为一个在频域非周期的连续信号。

    算了,还是上一张图方便大家理解吧:

    或者我们也可以换一个角度理解:傅里叶变换实际上是对一个周期无限大的函数进行傅里叶变换。

    所以说,钢琴谱其实并非一个连续的频谱,而是很多在时间上离散的频率,但是这样的一个贴切的比喻真的是很难找出第二个来了。

    因此在傅里叶变换在频域上就从离散谱变成了连续谱。那么连续谱是什么样子呢?

    你见过大海么?

    为了方便大家对比,我们这次从另一个角度来看频谱,还是傅里叶级数中用到最多的那幅图,我们从频率较高的方向看。

    以上是离散谱,那么连续谱是什么样子呢?

    尽情的发挥你的想象,想象这些离散的正弦波离得越来越近,逐渐变得连续……

    直到变得像波涛起伏的大海:

    很抱歉,为了能让这些波浪更清晰的看到,我没有选用正确的计算参数,而是选择了一些让图片更美观的参数,不然这图看起来就像屎一样了。

    不过通过这样两幅图去比较,大家应该可以理解如何从离散谱变成了连续谱的了吧?原来离散谱的叠加,变成了连续谱的累积。所以在计算上也从求和符号变成了积分符号。

    不过,这个故事还没有讲完,接下去,我保证让你看到一幅比上图更美丽壮观的图片,但是这里需要介绍到一个数学工具才能然故事继续,这个工具就是——

     

    五、宇宙耍帅第一公式:欧拉公式

    虚数i这个概念大家在高中就接触过,但那时我们只知道它是-1 的平方根,可是它真正的意义是什么呢?


    这里有一条数轴,在数轴上有一个红色的线段,它的长度是1。当它乘以 3 的时候,它的长度发生了变化,变成了蓝色的线段,而当它乘以-1 的时候,就变成了绿色的线段,或者说线段在数轴上围绕原点旋转了 180 度。

    我们知道乘-1 其实就是乘了两次 i 使线段旋转了 180 度,那么乘一次 i 呢——答案很简单——旋转了 90 度。

    同时,我们获得了一个垂直的虚数轴。实数轴与虚数轴共同构成了一个复数的平面,也称复平面。这样我们就了解到,乘虚数i的一个功能——旋转。

    现在,就有请宇宙第一耍帅公式欧拉公式隆重登场——


    这个公式在数学领域的意义要远大于傅里叶分析,但是乘它为宇宙第一耍帅公式是因为它的特殊形式——当x等于 Pi 的时候。


    经常有理工科的学生为了跟妹子表现自己的学术功底,用这个公式来给妹子解释数学之美:”石榴姐你看,这个公式里既有自然底数e,自然数 1 和0,虚数i还有圆周率 pi,它是这么简洁,这么美丽啊!“但是姑娘们心里往往只有一句话:”臭屌丝……“

    这个公式关键的作用,是将正弦波统一成了简单的指数形式。我们来看看图像上的涵义:

    欧拉公式所描绘的,是一个随着时间变化,在复平面上做圆周运动的点,随着时间的改变,在时间轴上就成了一条螺旋线。如果只看它的实数部分,也就是螺旋线在左侧的投影,就是一个最基础的余弦函数。而右侧的投影则是一个正弦函数。

    关于复数更深的理解,大家可以参考:

    复数的物理意义是什么?

    这里不需要讲的太复杂,足够让大家理解后面的内容就可以了。

     

    六、指数形式的傅里叶变换

    有了欧拉公式的帮助,我们便知道:正弦波的叠加,也可以理解为螺旋线的叠加在实数空间的投影。而螺旋线的叠加如果用一个形象的栗子来理解是什么呢?

      光波

    高中时我们就学过,自然光是由不同颜色的光叠加而成的,而最著名的实验就是牛顿师傅的三棱镜实验:

    所以其实我们在很早就接触到了光的频谱,只是并没有了解频谱更重要的意义。

    但不同的是,傅里叶变换出来的频谱不仅仅是可见光这样频率范围有限的叠加,而是频率从 0 到无穷所有频率的组合。

    这里,我们可以用两种方法来理解正弦波:

    第一种前面已经讲过了,就是螺旋线在实轴的投影。

    另一种需要借助欧拉公式的另一种形式去理解:

    e^{it}=cos (t) +i.sin (t)
    e^{-it}=cos (t)-i.sin (t)

    将以上两式相加再除2,得到:

    这个式子可以怎么理解呢?

    我们刚才讲过,e^(it)可以理解为一条逆时针旋转的螺旋线,那么e^(-it)则可以理解为一条顺时针旋转的螺旋线。而 cos (t)则是这两条旋转方向不同的螺旋线叠加的一半,因为这两条螺旋线的虚数部分相互抵消掉了!

    举个例子的话,就是极化方向不同的两束光波,磁场抵消,电场加倍。

    这里,逆时针旋转的我们称为正频率,而顺时针旋转的我们称为负频率(注意不是复频率)。

    好了,刚才我们已经看到了大海——连续的傅里叶变换频谱,现在想一想,连续的螺旋线会是什么样子:

    想象一下再往下翻:

    是不是很漂亮?

    你猜猜,这个图形在时域是什么样子?

    哈哈,是不是觉得被狠狠扇了一个耳光。数学就是这么一个把简单的问题搞得很复杂的东西。

    顺便说一句,那个像大海螺一样的图,为了方便观看,我仅仅展示了其中正频率的部分,负频率的部分没有显示出来。

    如果你认真去看,海螺图上的每一条螺旋线都是可以清楚的看到的,每一条螺旋线都有着不同的振幅(旋转半径),频率(旋转周期)以及相位。而将所有螺旋线连成平面,就是这幅海螺图了。

    好了,讲到这里,相信大家对傅里叶变换以及傅里叶级数都有了一个形象的理解了,我们最后用一张图来总结一下:

    好了,傅里叶的故事终于讲完了,下面来讲讲我的故事:

    这篇文章第一次被卸下来的地方你们绝对猜不到在哪,是在一张高数考试的卷子上。当时为了刷分,我重修了高数(上),但是后来时间紧压根没复习,所以我就抱着裸考的心态去了考场。但是到了考场我突然意识到,无论如何我都不会比上次考的更好了,所以干脆写一些自己对于数学的想法吧。于是用了一个小时左右的时间在试卷上洋洋洒洒写了本文的第一草稿。

    你们猜我的了多少分?

    6 分

    没错,就是这个数字。而这 6 分的成绩是因为最后我实在无聊,把选择题全部填上了C,应该是中了两道,得到了这宝贵的 6 分。说真的,我很希望那张卷子还在,但是应该不太可能了。

    那么你们猜猜我第一次信号与系统考了多少分呢?

    45 分

    没错,刚刚够参加补考的。但是我心一横没去考,决定重修。因为那个学期在忙其他事情,学习真的就抛在脑后了。但是我知道这是一门很重要的课,无论如何我要吃透它。说真的,信号与系统这门课几乎是大部分工科课程的基础,尤其是通信专业。

    在重修的过程中,我仔细分析了每一个公式,试图给这个公式以一个直观的理解。虽然我知道对于研究数学的人来说,这样的学习方法完全没有前途可言,因为随着概念愈加抽象,维度越来越高,这种图像或者模型理解法将完全丧失作用。但是对于一个工科生来说,足够了。

    后来来了德国,这边学校要求我重修信号与系统时,我彻底无语了。但是没办法,德国人有时对中国人就是有种藐视,觉得你的教育不靠谱。所以没办法,再来一遍吧。

    这次,我考了满分,而及格率只有一半。

    老实说,数学工具对于工科生和对于理科生来说,意义是完全不同的。工科生只要理解了,会用,会查,就足够了。但是很多高校却将这些重要的数学课程教给数学系的老师去教。这样就出现一个问题,数学老师讲得天花乱坠,又是推理又是证明,但是学生心里就只有一句话:学这货到底干嘛用的?

    缺少了目标的教育是彻底的失败。

    在开始学习一门数学工具的时候,学生完全不知道这个工具的作用,现实涵义。而教材上有只有晦涩难懂,定语就二十几个字的概念以及看了就眼晕的公式。能学出兴趣来就怪了!

    好在我很幸运,遇到了大连海事大学的吴楠老师。他的课全程来看是两条线索,一条从上而下,一条从下而上。先将本门课程的意义,然后指出这门课程中会遇到哪样的问题,让学生知道自己学习的某种知识在现实中扮演的角色。然后再从基础讲起,梳理知识树,直到延伸到另一条线索中提出的问题,完美的衔接在一起!

    这样的教学模式,我想才是大学里应该出现的。

    最后,写给所有给我点赞并留言的同学。真的谢谢大家的支持,也很抱歉不能一一回复。因为知乎专栏的留言要逐次加载,为了看到最后一条要点很多次加载。当然我都坚持看完了,只是没办法一一回复。

    本文只是介绍了一种对傅里叶分析新颖的理解方法,对于求学,还是要踏踏实实弄清楚公式和概念,学习,真的没有捷径。但至少通过本文,我希望可以让这条漫长的路变得有意思一些。

    最后,祝大家都能在学习中找到乐趣…

    展开全文
  • 三、傅里叶变换(FT)的引出 四、DTFT、DFT、FFT的引出 第一次认识傅里叶(Fourier)是在大二那年的《信号与系统》课上,当时学这门课也不知道有啥用,听的也是一愣一愣的。。最后也仅仅是达到了期末前三天记了点...

    目录

    一、傅里叶级数(Fourier Series、FS)的实数域表示

    二、傅里叶级数(Fourier Series、FS)的复数域表示

    三、傅里叶变换(FT)的引出

    四、DTFT、DFT、FFT的引出


    第一次认识傅里叶(Fourier)是在大二那年的《信号与系统》课上,当时学这门课也不知道有啥用,听的也是一愣一愣的。。最后也仅仅是达到了期末前三天记了点公式,能考个试的水平,当初想着以后怎么也不会再接触通信这鬼东西了,,谁曾想,四年后,在读研之后兜兜转转阴差阳错地又搞起了通信,再回过头来仔细品味四年前学的傅里叶变换豁然开朗,突然觉得数学真是理工科最浪漫的一门学科(之一吧)!

    世界上可能有很多巧合,但唯一可以将这些巧合完美地结合在一起并组成一个完美的理论的工具可能只有数学了,这可能就是数学的浪漫与深邃吧~

    • 周期连续函数进行三角分解,这个过程称作 FS(傅里叶级数)
    • 当周期趋于无穷大,即函数变为非周期连续时,FS 就变成 FT(傅里叶变换)
    • 工程应用中,对非周期连续函数进行时域离散(抽样),变为非周期离散函数,FT 就变为 DTFT(离散时间傅里叶变换)
    • 非周期离散函数进行时延拓展变为周期离散函数, DTFT 就变为 DFT(离散傅里叶变换)
    • DFT 的计算复杂度较高,对 DFT 的计算方式进行优化, DFT 就变为 FFT(快速傅里叶变换)

    可见傅里叶级数(FS)是FT、DTFT、DFT、FFT的基础,后面变换都是在 FS 的基本原理的基础上衍生出来的,因此,清楚地理解 FS 的基本原理至关重要,因此本文重点讲解 FS 的原理。

    一、傅里叶级数(Fourier Series、FS)的实数域表示

    学过《高等数学》的小伙伴们一定都知道一个叫做 泰勒级数 的东西:

    这个东西的原理是使用幂级数的加权组合来表示一个函数在某点 x0 的邻域内的分解。相比傅里叶级数不同的是他只能用来表示函数某个点的邻域内的展开,而且以幂函数为,但两者都涉及了将信号分解成简单信号的线性组合来表示的思想。

    与泰勒级数类似,傅里叶级数是一种对周期信号(即周期函数)的分解表示,它通过对一组成谐波关系的三角函数加权相加来表示一个周期信号。具体地,如果一个函数是周期函数,那么他就可以被分解成以正弦函数以及余弦函数为的线性组合。若函数 f(t) 是周期为 T 的周期函数,则其傅里叶级数展开式如下:

     公式中,\omega _{0} 称作基波频率,n\omega _{0} 为谐波频率。特别地,a0为直流分量,可以看作 a0=a0cos(0)。

    现在傅里叶级数的公式有了,但问题也来了(快记笔记!):

    1、为什么展开式中的函数,不管cos还是sin,都是以\omega _{0}为基波的呐?可以是别的值做基波吗?

     答:这个好说:必须以 \omega _{0} 作为傅里叶级数的基波。你想呀,只有当傅里叶展开式中的函数都是以基波\omega _{0}或者谐波 n\omega _{0} 为角频率时,其每个函数的公共周期才是 T(对于谐波分量,T/n 是其最小周期,但T也是一个周期),这样进行线性组合后的结果的周期才会仍为 T。如果反过来,在众多展开式中加入一个周期为 T1 ≠ T 的分量,显然这样线性组合结果的周期绝对不会是 T 了,也就无法表示 f(t) 了。

    2、给定一个周期信号,我怎么选择使用cos还是使用sin还是两者都使用来进行信号的傅里叶级数展开呐?

    答:这个也好解释。cos 是偶函数,sin 是奇函数。很明显,当 f(t) 是偶函数的时候,只需要使用 cos 函数进行 FS 展开;当 f(t) 是奇函数的时候,只需要使用 sin 函数进行 FS 展开;当 f(t) 非奇非偶时,因为它必然可以被分解成一个奇函数与一个偶函数的和:

    因此,此时需要 cos 和 sin 一起进行 FS 展开。 

    3、如何计算 FS 的系数 an 及 bn ?

    答:这个也不难。通俗点说,an 以及 bn 的值的物理意义就是表征函数 f(x) 与 \cos \left ( n\omega _{0}t \right ) 以及 \sin \left ( n\omega _{0}t \right ) 的相似程度(或者说相关程度)。换句话说,an 以及 bn 的值表征了 \cos \left ( n\omega _{0}t \right ) 以及 \sin \left ( n\omega _{0}t \right ) 在线性组合过程中对结果 f(t) 的贡献度。

    可以定性地品味一下这句话:如果 f(x) 的图像与 \cos \left ( n\omega _{0}t \right ) 或者 \sin \left ( n\omega _{0}t \right ) 中的某个函数长得很像,也就意味着其图像的重合部分比较多,那么该 \cos \left ( n\omega _{0}t \right ) 或者 \sin \left ( n\omega _{0}t \right ) 分量的权值就自然会比较大,这点应该很容易理解,反映到 FS 中就是 an 或者 bn 的值比较大。可以想象一个极端的例子,如果 f(t)=cos(\omega_{0}t ) ,那么其傅里叶变换 FS = cos(\omega_{0}t),即除了 a1 = 1 之外,其他值都为0,这也是由三角函数的正交性决定的。

    那么如何定量计算具体的值呐?这就需要用到相关的概念啦。

    对于信号 f1 与信号 f2 的相关的数学定义如下(注意与卷积的区别):

     为了更直观地理解,可以用下图来做说明。图中是两个函数的图像。

    图1 做相关运算的两函数的图像

       对这两个函数做相关运算,结果如下:

    图2 带有相位差的相关运算图解

    图中两函数绿色区域的值相乘(注意不是相交面积!)即为相关运算的结果,其中,变量 t 可以视为在两函数(原有相位差基础上新增)的相位差,当相位差为0时,相关运算的结果如下:

    图3 相位差为0的相关运算图解

    不难理解,对于傅里叶级数来说,原信号 f(t) 与 \cos \left ( n\omega _{0}t \right ) 及 \sin \left ( n\omega _{0}t \right ) 的相关运算的方式就是图3中的范式。如果只想了解 FS 的原理,看到这里就行了,如果还想得出最后的具体结果那就接着往下看吧。

    我们对原信号 f(t) 在一个周期内对 \cos \left ( n\omega _{0}t \right ) 求积分,并由三角函数的正交性(傅里叶级数的三角函数项其实就是一个正交函数系)可知:

     由此就可以得出:

    同理:

    特别地,当 n=0 时,sin0=0,cos0=1,此时

    这下 an 以及 bn 的值也都解出来了。

    上述傅里叶级数的形式含有同频的零相位差的 sin 与 cos 分量,而同频的正弦与余弦分量叠加后频率不变,因此还不能直观地体现出频谱及相位的分布情况。正弦与余弦分量本质是一样的,只是相位差了90°而已。这时,为了将频谱更直观地呈现出来,需要将同频的 cos 与 sin 进行合并:

     而可以看出,n\omega _{0}频率处的幅值及相位由该频率处的正弦份量与余弦分量共同决定,此时 FS 可以改写如下:

    这个式子直观的体现了 f(t) 的频谱分量及其所占的比例大小。

    至此,傅里叶级数的实数域计算就完成了。

    二、傅里叶级数(Fourier Series、FS)的复数域表示

    在实际的信号分析问题中,我们遇到的信号表示经常是复数形式的信号(自然界中是不存在复数信号的,但是在运算分析过程中可以使用复信号进行表示以简化计算),但是以上分析只适用于实数域的信号形式。是否有一种 FS 形式可以同时用于实数域与复数域的运算那?答案是肯定的,这下就要先引出一个宇宙最骚公式——欧拉公式:

    很多人可能会问:这公式这么写有什么含义呐?其实这个公式在数学应用的角度上只是一个工具,是人为定义的一种形式,公式中 j 的具体意义要在具体的使用环境中做分析,你可以从各种角度来做解析,比如在数学运算中,j 表示的是 -1 的平方根;在信号处理领域中,j就代表复平面中的一个旋转算子。至于这个公式怎么得出来的,答案就是文章开头所说的那样——巧合,恰巧就是这个形式,恰巧用这个规则计算就是对的,恰巧这样计算就是最完美的。。。这就是数学之美吧,不得不佩服欧拉他老人家的想象力。

    有了这个公式,就可以使用复数来表示 cos 与 sin 函数了:

     将这个结论带入到上面所讲到的 FS 公式中化简,就可以推导出更普适性的傅里叶级数的展开式:

    这里的 c_{n} 就是信号 f(t) 对应的频谱。假设f(t)为实函数,下面进行复数域 FS 的反向推导,这种美丽的巧合带来的惊喜即将呈现(^-^)!

     首先将 c_{n} 代入,得:

     然后为了计算方便,使用以下变量代换:

    代换后得:

    将变量代换回去得:

     现在在回过头去与第一部分讲的 FS 在实数域得展开比较,就问你神奇不哈哈哈

    三、傅里叶变换(FT)的引出

     傅里叶级数是对周期连续函数进行的分解,但是自然界中的信号几乎都是非周期连续信号,因此我们需要对傅里叶级数进行拓展,先看上面傅里叶级数的复数域的频谱计算公式:

     我们可以把非周期函数看作周期无穷大的函数,由于\omega _{0}=2\pi /T,随着 T 的增大,频谱间隔 \omega _{0} 无限减小,最终变成连续的频谱,这时的离散频谱就变成了连续频谱,频谱的包络表达式就变成了:

    这个表达式就是傅里叶变换(FT)的表达式。

    而原来的 FS 的离散频谱系数可以由该连续频谱来获得:

    同理,其逆变换此时就成了:

    四、DTFT、DFT、FFT的引出

    DTFT、DFT、FFT这三种算法是傅里叶变换在工程应用中的延申。在工程应用中,强行手算信号的频谱肯定是不现实的,一般都需要借助计算机来进行辅助计算。FS 及 FT 都是在模拟域计算信号的频谱,但是计算机只能处理数字域的离散信号,因此必须把连续的模拟域信号通过采样转换到离散的数字域才能为计算机所处理,这就需要使用DFT,但是在 DFT 之前还有一个中间过程,就是 DTFT

    DTFT 只对时域进行离散化,其傅里叶变换对公式如下:

    可以看出,此时虽然 DTFT 时域是离散的,但其频域(频谱)仍是连续的,而要想计算机顺利计算,频谱必须也是离散的,因此还需要将频域进行离散化,这就是 DFT,DFT 的变换公式如下:

    我们将时域离散化为N个点,并进行时延拓展成周期函数,这时进行 N 点的 DFT 计算就会得到 N 点的频谱输出。(这里面涉及一个知识点:时域周期离散 对应着 频域离散周期,由于这篇文章主要涉及到的工程原理的解释,这个就不展开讨论了)

    进一步地,由于直接使用计算机计算 DFT 的时间复杂度太高 [ O(n²) ],因此需要对 DFT 的计算进行加速,优化后的 DFT 计算方式 [ O(nlogn) ] 就是快速傅里叶算法,即 FFT

    ==============================================================

    相关连接(以下链接看起来都比较通俗易懂):

    https://www.cnblogs.com/abella/articles/9770989.html

    https://www.zhihu.com/question/23234701/answer/26017000

    https://www.bilibili.com/video/BV1Tb41187i1

    展开全文
  • 快速傅里叶变换原理及实现

    千次阅读 2019-07-25 16:34:21
    图片来自于:https://wenku.baidu.com/view/5cacb2b8bd64783e09122b9a.html 代码来自于:...以下内容来自于上述两个链接的总结,将上述两个内容综合起来比较容易看懂。 ...iostream&...

    图片来自于:https://wenku.baidu.com/view/5cacb2b8bd64783e09122b9a.html
    代码来自于:https://blog.csdn.net/u013289254/article/details/74201302
    以下内容来自于上述两个链接的总结,将上述两个内容综合起来比较容易看懂。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    代码:

    #include <iostream>
    #include<math.h>
    #define PI 3.1415926
    using namespace std;
    void fit(double real[], double imag[], int N, int k, int inv)
    {
    	int i, j, k1, k2, m, step, factor_step;
    	double temp_real, temp_imag, factor_real, factor_imag;
    
    	if (inv != 1 && inv != -1)
    	{
    		cout << "FFT transformation require:inv=1" << endl;
    		cout << "FFT inverse transformation require:inv=-1" << endl;
    	}
    	//倒序
    	//将原始数据进行倒序,方便与下面的FFT算法//
    	double tempreal[8];
    	double tempimag[8];
    	for (i = 0; i < N; i++)
    	{
    		tempreal[i] = real[i];
    		tempimag[i] = imag[i];
    	}
    	int nInter = 0;
    	for (j = 0; j< N; j++)
    	{
    		nInter = 0;
    		for (i = 0; i<k; i++)
    		{
    			if (j&(1 << i))//判断第i位是否为1 &两个结果为真的的才是真的 1&1 = 0 1%0 = 0
    			{
    				nInter += 1 << (k - i - 1);
    			}
    		}
    		real[j] = tempreal[nInter];
    		imag[j] = tempimag[nInter];
    	///
    	}
    	//蝶形算法
    	for (i = 0; i < k; i++)//总共分k层进行计算
    	{
    		step = 1 << (i + 1);//最低层计算数据为2,然后以2为倍数增加2,4,8
    		factor_step = N >> (i + 1);//旋转因,数变化速度...4,2,1,2个数据时N = 2,4个时N = 4, 
    		//初始化旋转因子
    		factor_real = 1.0;
    		factor_imag = 0.0;
    
    		for (j = 0; j < step / 2; j++)//如果求4个数据的fft那么j = 0 ,1即数据量的一半,因为k1属于上一层fft的前半部分。
    		{
    			for (k1 = j; k1<N; k1 += step)//总共有八个数据那么先求前4个数据的fft,再求另外四个数据的fft。
    			{
    				k2 = k1 + step / 2;//蝶形运算的两个输入
    				temp_real = real[k2] * factor_real - imag[k2] * factor_imag;
    				temp_imag = real[k2] * factor_imag + imag[k2] * factor_real;
    				real[k2] = real[k1] - temp_real;
    				imag[k2] = imag[k1] - temp_imag;
    				real[k1] = real[k1] + temp_real;
    				imag[k1] = imag[k1] + temp_imag;
    			}
    			factor_real = inv*cos(-2 * PI*(j + 1)*factor_step / N);
    			factor_imag = inv*sin(-2 * PI*(j + 1)*factor_step / N);
    		}
    	}
    	if (inv == -1)
    	{
    		for (i = 0; i <= N - 1; i++)
    		{
    			real[i] = real[i] / N;
    			imag[i] = imag[i] / N;
    		}
    	}
    
    }
    int main(int argc, char *argv[])
    {
    	cout << "Hello World!" << endl;
    	double real[8] = { 1, 2, 3, 4, 5, 6, 7, 8 };
    	double imag[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
    	double realTwo1[8][8] = { { 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 },
    	{ 1, 2, 3, 4, 5, 6, 7, 8 } };
    	double realTwo[8][8] = { { 1, 2, 4, 1, 2, 4, 2, 5 },
    	{ 1, 2, 4, 1, 4, 4, 2, 0 },
    	{ 8, 2, 4, 1, 8, 4, 2, 5 },
    	{ 1, 2, 4, 1, 2, 5, 2, 5 },
    	{ 1, 8, 4, 1, 2, 4, 2, 5 },
    	{ 1, 2, 8, 0, 2, 4, 2, 5 },
    	{ 1, 9, 4, 1, 2, 4, 8, 5 },
    	{ 1, 9, 4, 1, 2, 4, 8, 5 } };
    	double imagTwo[8][8] = { { 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 },
    	{ 0, 0, 0, 0, 0, 0, 0, 0 }, };
    	fit(real, imag, 8, 3, 1);
    	for (int i = 0; i < 8; i++)
    	{
    		cout << real[i] << " " << imag[i] << endl;
    	}
    	//cout<<imag[1];
    	for (int i = 0; i < 8; i++)
    	{
    		fit(realTwo[i], imagTwo[i], 8, 3, 1);
    	}
    	//转置数组
    	for (int j = 0; j < 8; j++)
    	{
    		for (int i = j; i < 8; i++)
    		{
    			double temprealTwo = 0.0;
    			temprealTwo = realTwo[j][i];
    			realTwo[j][i] = realTwo[i][j];
    			realTwo[i][j] = temprealTwo;
    			double tempimagTwo = 0.0;
    			tempimagTwo = imagTwo[j][i];
    			imagTwo[j][i] = imagTwo[i][j];
    			imagTwo[i][j] = tempimagTwo;
    		}
    	}
    	for (int i = 0; i < 8; i++)
    	{
    		fit(realTwo[i], imagTwo[i], 8, 3, 1);
    	}
    	//转置数组
    	for (int j = 0; j < 8; j++)
    	{
    		for (int i = j; i < 8; i++)
    		{
    			double temprealTwo = 0.0;
    			temprealTwo = realTwo[j][i];
    			realTwo[j][i] = realTwo[i][j];
    			realTwo[i][j] = temprealTwo;
    			double tempimagTwo = 0.0;
    			tempimagTwo = imagTwo[j][i];
    			imagTwo[j][i] = imagTwo[i][j];
    			imagTwo[i][j] = tempimagTwo;
    		}
    	}
    	for (int j = 0; j < 8; j++)
    	{
    		for (int i = j; i < 8; i++)
    		{
    			cout << realTwo[j][i] << endl;
    		}
    	}
    	getchar();
    	return 0;
    }
    
    
    
    展开全文
  • 浅谈傅里叶变换、小波变换、HHT变换

    千次阅读 多人点赞 2019-08-29 12:18:42
    浅谈傅里叶变换、小波变换、HHT变换一、傅里叶变换1.1傅里叶变换介绍二、小波变换2.1小波变换正反变换公式2.2小波变换适应场景及其优缺点2.3小波变换的应用三、HHT变换3.1HHT产生的背景3.1 HHT变换介绍3.2 HHT对信号...
  • 也可以把g(m,n)视为一个二元函数,它的自变量为mn,则可以用它来表示数字图像在平面上的亮度分布。矩阵可以写成下面的形式: 在上面的基础上,我们可以定义下面的二维DFT: 定义1:二维矩阵向量[g(m,n)]的2D-...
  • 傅里叶变换例题

    2014-05-28 19:10:40
    常用的题型,很有用。主要飚速了傅里叶变换原理作用等等
  • 作者丨咚懂咚懂咚@知乎(已授权)来源丨https://zhuanlan.zhihu.com/p/22450818转载丨极市平台导读想要正确的认识小波变换就必须先了解傅里叶变换,本文作...
  • 傅里叶变换和拉普拉斯变换

    千次阅读 2020-07-22 16:25:39
    二、傅里叶变换(轻量版拉普拉斯变换) 三、拉普拉斯变换(原来就是那么回事)拉普拉斯变换可以说是现代工程学使用最广泛的数学工具,它通过数学变换将微积分方程转化成代数方程,为求解连续空间连续时间的方程提供...
  • 1.时域频域的关系(转自知乎https://www.zhihu.com/question/21040374) 所谓信号,从狭义上说可以认为是自然界中作为信息载体的各类波,一般来说简谐震动产生的正弦波是最常见的研究对象。针对正弦波,在数学上有...
  • 傅里叶变换和小波变换分析

    万次阅读 多人点赞 2018-06-23 10:32:04
    一、前言 &nbsp; &nbsp; &nbsp;&...我们经常接触到的信号,正弦信号,余弦信号,甚至是...得到变换域的信号,通常接触到的变换主要有傅里叶变换、拉普拉斯变换、Z变换、小波变换等等,今天主要讨论下...
  • 图像处理之傅里叶变换和小波变换

    万次阅读 2018-07-07 21:16:27
    一、DFT的原理:以二维图像为例,归一化的二维离散傅里叶变换可以写成如下形式:其中f(x,y)表示图像的空间域的值,而F表示频域的值,傅里叶转换的结果为复数,这也表明,傅里叶变换其实是一副实数图像虚数图像叠加...
  • 第25章 DSP变换运算-快速傅里叶变换原理(FFT) 在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征。尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对...
  • 傅里叶变换&短时傅里叶变换&小波变换

    万次阅读 多人点赞 2016-05-03 11:26:36
    傅里叶变换&短时傅里叶变换&小波变换
  • 图像处理(5)--图像的傅里叶变换

    万次阅读 多人点赞 2019-07-06 10:42:52
    傅里叶变换及其反变换1.1 为什么要在频率域研究图像增强?1.2 傅里叶变换 1. 傅里叶变换及其反变换 1.1 为什么要在频率域研究图像增强? 可以利用频率成分图像外表之间的对应关系。一些在空间域表述困难的增强...
  • 快速傅里叶变换FFT是离散傅里叶变换DFT的一种快速算法,实际上诸如Matlab等科学计算软件都已经实现了FFT,只需调用相应的接口即可。在ACM里,FFT的典型应用就是大数的乘法或者多项式的乘法。顺便,如果题目规模不是...
  • 本文给出了一种高效、精确计算分数傅里叶变换的算法。对于时间带宽积为N的信号,该算法计算复杂度为O(N logN)。我们还讨论了离散分数傅里叶变换的定义。 引言 略…… 预备知识 分数傅里叶变换 定义{Ff}(x)\{\...
  • 傅里叶变换 ~ 什么是傅里叶变换

    千次阅读 2019-10-07 13:11:37
    FFT的数学原理
  • 二维离散傅里叶变换与逆变换原理与实现(Matlab)

    千次阅读 多人点赞 2020-03-20 20:52:30
    前言 在野外数据采集中,虽然单个仪器采集的是一维信号,但是当把多台...二维傅里叶变换原理 笔者很讨厌一上来就看到一连串复杂的公式!因此当我看懂一个原理后,我就会用最好理解的方式来重述它,毕竟我更偏...
  • 在信号处理领域,存在诸多变换,比如标题中的五个变换。本文将对这五个变换进行介绍比较。在开始之前,我们需要先理清什么是...通常傅里叶变换只适合处理平稳信号,对于非平稳信号,由于频率特性会随时间变化,为了
  • 选取小波变换而非傅里叶变换的主要原因是小波变换的基小波在时域有衰减,可以更好保留时域的位置信息,反映频域随时间的变化。 f ( t ) = 1 M ∑ k W ϕ ( 0 , k ) ϕ 0 , k ( t ) + 1 M ∑ j = 0 ∞ ∑ k W ψ ( ...
  • 刚接触傅里叶变换,都会对他感到头痛,之前 分享过知乎大神的文章《傅里叶变换-通彻理解》,是我的启蒙文章,这次找到了一个更加通彻的视频讲解,绝对让你“恍然大悟”!EndNOW现在行动! ...
  • 连续傅里叶变换 傅里叶变换的性质 离散傅里叶变换(DFT) 从前面我们已经知道,非周期连续函数傅里叶变换如下 F(ω)=∫−∞+∞f(t)e−iωtdt F(\omega)=\int ^{+\infty}_{-\infty}f(t)e^{-i\omega t}dt F(ω)=∫−...
  • 目前主流视频编解码算法都要使用到离散余弦变换(Discrete Cosine Transform)以及离散正弦变换(Discrete Sine Transform)对预测残差进行空域/频域的转换,通过牺牲部分高频的信息来达到压缩的目的。总的来说,DCT...
  • 第25章 DSP变换运算-快速傅里叶变换原理(FFT) 在数字信号处理中常常需要用到离散傅立叶变换(DFT),以获取信号的频域特征。尽管传统的DFT算法能够获取信号频域特征,但是算法计算量大,耗时长,不利于计算机实时对...
  • 图像傅立叶变换原理和物理意义 图像的傅立叶变换,原始图像由N行N列构成,N必须是基2的,把这个N*N个包含图像的点称为实部,另外还需要N*N个点称为虚部,因为FFT是基于复数的,如下图所示: (//实数DFT将时域...
  • 理解傅里叶变换(Fourier Transform)

    千次阅读 多人点赞 2016-02-29 09:59:03
    理解傅里叶变换(Fourier Transform). 2 傅里叶变换是什么?.... 2 傅里叶变换的实际应用.... 2 参考资料:.... 2 参考资料的正确阅读姿势.... 3         理解傅里叶变换(Fourier Transform)  ...
  • 频域滤波—傅里叶变换

    千次阅读 2019-07-27 10:38:04
    傅里叶变换的作用离散傅里叶变换是最经典的一种正弦余弦型正交变换,它建立了空间域与频率域间的联系,具有明确的物理意义,能够更直观、方便地解决许多图像处理问题。而且具有快速算法,因此广泛应用于图像处理等...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,310
精华内容 2,524
关键字:

傅里叶变换的原理和过程