天天看點

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)
如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

上一篇文章發出來之後,為了掐死我,大家真是很下工夫啊,有拿給姐姐看的,有拿給妹妹看的,還有拿給女朋友看的,就是為了聽到一句“完全看不懂啊”。幸虧我留了個心眼,不然就真的像标題配圖那樣了。我的文章題目是,如果看了這篇文章你“還”不懂就過來掐死我,潛台詞就是在你學了,但是沒學明白的情況下看了還是不懂,才過來掐死我。

另外,想跟很多人抱歉,因為評論太多了,時間有限,不能給每個人回複,還望大家諒解。但是很感謝一直在評論區幫忙解答讀者問題的各位,就不一一@了。

這裡鄭重感謝大連海事大學的吳楠老師,一位學識淵博、備課缜密、但授課不拘一格的年輕教師!當時大三他教我通信原理,但是他先用了4結課幫我們複習了很多信号與系統的基本概念,那個用樂譜代表頻域的概念就是他講的,一下子讓我對這門課豁然開朗,才有了今天的這篇文章。

————————————今天的定場詩有點長——————————

下面繼續開始我們無節操的旅程:

上次的關鍵詞是:從側面看。這次的關鍵詞是:從下面看。

在第二課最開始,我想先回答很多人的一個問題:傅裡葉分析究竟是幹什麼用的?這段相對比較枯燥,已經知道了的同學可以直接跳到下一個分割線。

先說一個最直接的用途。無論聽廣播還是看電視,我們一定對一個詞不陌生——頻道。頻道頻道,就是頻率的通道,不同的頻道就是将不同的頻率作為一個通道來進行資訊傳輸。下面大家嘗試一件事:

先在紙上畫一個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。

最後來一張大集合:

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

好了,你是不是覺得我們已經講完傅裡葉級數了?

抱歉讓你失望了,以上我們講解的隻是傅裡葉級數的三角函數形式。接下去才是最究極的傅裡葉級數——指數形式傅裡葉級數。但是為了能更好的了解指數形式的傅裡葉級數,我們還需要一個工具來幫忙——歐拉公式。

歐拉公式,以及指數形式的傅裡葉級數,我們下一講再講。謝謝大家(鞠躬)。

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

今天講的部分不多,但是我希望大家能夠了解,我也有自己的生活,留給知乎的時間并不多,但是我很喜歡在知乎與别人交流的過程。上一次的那些文章大家知道我當時寫了多久麼?四天,每天寫6小時那種,而且當時還是在假期。主要是圖太不好做了,有人問到作圖的方法,其實就是簡單的MATLAB+PHOTOSHOP,作圖的确是很費時間,但是我相信做出這些圖是值得的,因為我相信圖一定比文字更好了解。也希望可以将這些自己學習時的感受和經驗更完整的分享給需要的人。

是以請大家稍微有點耐心,我會認真把這個故事講完。也謝謝大家的了解和支援。

我是計算機專業畢業的,想學習傅裡葉變換,想用代碼實作快速傅裡葉變換,去實作音頻降噪的功能,請問我該如何做?

<a target="_blank" href="http://www.zhihu.com/question/22202980/answer/20973635#"></a>

———————————2014-0605——————————————————————

不少同學希望談談學習方法,我本身也是學渣(考研數學80/150),沒有資格談啊。不過我最近修了

1.注重實踐,有大量的matlab相關的案例内容;

2.重離散、輕連續,這樣創新的思路抛棄了直接研究連續帶來的大量的理論負擔,同時也非常實用;當然,如果要做研究,後面還是要重新認真學習連續的,這可能需要借助mit的課程了。

3.作業題有深度、有啟發,是很好的訓練。

推薦下學習教材(鑒于大家批評我說這些書不好買,這裡給出購買連結),

1.新手入門:

前驅知識,微積分、線性代數及格

優秀教材:

評價相當之高,注重了解,對數學要求不高

大量引入matlab,注重動手實踐增加認知,好像也是首個創新的直接講解離散的教材。

公開課:

也是直接進入離散主題、注重了解、注重matlab操作的好課程。

2.進階:

我還在學,學完推薦

談談學習成本:

經濟成本:我推薦的書國内亞馬遜都有正版,加起來二百出頭,公開課需要v~P·N工具,一年二百左右。新東方一個破輔導班3000+,一部紅米手機799.

時間成本:no pain, no gain。

最後恬不知恥的秀秀rice給我的課程成績,大家一定會做的更好。

下載下傳連結

<a target="_blank" href="https://www.dropbox.com/s/jf6vuc40oxcor2u/ELEC301x%20Discrete%20Time%20Signals%20and%20Systems.pdf">Dropbox - ELEC301x Discrete Time Signals and Systems.pdf</a>

截圖:

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

————---------————我正在和論文搏鬥 先給個簡單答案吧——————————

對工科生來講,傅裡葉變換可以從三個層次來看:

傅裡葉變換(Fourier Transform,FT)-&gt; 離散傅裡葉變換(Discrete Fourier Transform, DFT)-&gt; 快速傅裡葉變換(Fast Fourier Transform)

FT是理論基礎,以FT為理論基礎,可以完成從頻率估計到求解微分方程各式各樣的問題;

DFT是指信号被采樣之後你會得到離散(如你需要處理的音頻信号被采樣)而非連續的信号,這個時候就需要DFT來告訴你怎樣處理并告知你一些離散情況下的特殊問題;

FFT是一種計算DFT的算法,計算複雜度很低也就是執行起來很快的意思。

舉個例子吧:有人通過在小黑屋按鋼琴的一個鍵不松會産生一個單音信号給你傳遞情報,

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

信号的頻率

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

取決于他所按的鍵。你看不見他,卻希望獲知信号的頻率。怎麼辦?

1.FT的理論就會告訴你可以通過傅裡葉變化獲知這個頻率。

但是這個信号飄蕩在空中,你需要先通過采樣得到一個離散信号

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

(

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

是采樣頻率,香農和奈奎斯特告訴我們,需要

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

)。

2.得到離散信号後如何計算

如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧如果看了這篇文章你還不懂傅裡葉變換,那就過來掐死我吧(二)

,DFT就會告訴你怎麼辦;

3.你嫌DFT太慢了怎麼辦,FFT就粉墨登場了。

從你計算機的專業背景和希望做音頻降噪的需求來看。你需要掌握的是DFT和FFT我建議

1. 找本高等數學的書,花半個小時看看什麼是FT;

3. 實踐出真知,看完什麼理論,立馬用matlab試試看,會了解的很透徹;

4. project可以沿着matlab-&gt;VC-&gt;DSP-&gt;FPGA的道路前進。

至于你說的語音降噪問題,需要首先用DFT分析信号與噪聲的頻率特性,降噪需要設計濾波器完成。變化與濾波是信号處理的兩大主題,看看《Understanding Digital Signal Processing》的後面幾章就明白了。

語音降噪問題已經發展成為一個成熟的子學科,要做進一步研究就需要你自己努力了。

<a target="_blank"></a>

繼續閱讀