閱讀這篇文章,假設你不知道的傅里葉變換,而後來掐死我

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

已於2014.6.6更新。地址:傅里葉分析之掐死教程(完整版)更新於2014.06.06 - 與時間無關的故事 - 知乎專欄
html

上一篇文章發出來以後。爲了掐死我,你們真是很是下工夫啊,有拿給姐姐看的,有拿給妹妹看的,還有拿給女友看的,就是爲了聽到一句「全然看不懂啊」。幸好我留了個心眼,否則就真的像標題配圖那樣了。個人文章題目是,假設看了這篇文章你「還」不懂就過來掐死我,潛臺詞就是在你學了,但是沒學明確的狀況下看了仍是不懂,纔過來掐死我。

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

這裏鄭重感謝大連海事大學的吳楠老師,一位學識淵博、備課縝密、但授課不拘一格的年輕教師!web

當時大三他教我通訊原理。但是他先用了4結課幫咱們複習了很是多信號與系統的基本概念。那個用曲譜表明頻域的概念就是他講的。一會兒讓我對這門課豁然開朗。纔有了今天的這篇文章。
算法

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

如下繼續開始咱們無節操的旅程:函數

上次的關鍵詞是:從側面看。工具

此次的關鍵詞是:從如下看。post

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

先說一個最直接的用途。無論聽廣播仍是看電視。咱們必定對一個詞不陌生——頻道。頻道頻道,就是頻率的通道。不一樣的頻道就是將不一樣的頻率做爲一個通道來進行信息傳輸。如下你們嘗試一件事:ui

先在紙上畫一個sin(x),不必定標準,意思差點兒相同便可。不是很是難吧。

好。接下去畫一個sin(3x)+sin(5x)的圖形。

別說標準不標準了,曲線何時上升何時降低你都不必定畫的對吧?

好,畫不出來沒關係,我把sin(3x)+sin(5x)的曲線給你,但是前提是你不知道這個曲線的方程式。現在需要你把sin(5x)給我從圖裏拿出去,看看剩下的是什麼。這基本是不可能作到的。

但是在頻域呢?則簡單的很是,無非就是幾條豎線而已。

因此很是多在時域看似不可能作到的數學操做,在頻域相反很是容易。

這就是需要傅里葉變換的地方。尤爲是從某條曲線中去除一些特定的頻率成分,這在project上稱爲濾波,是信號處理最重要的概念之中的一個,僅僅有在頻域才幹輕鬆的作到。

再說一個更重要,但是略微複雜一點的用途——求解微分方程。

(這段有點難度,看不懂的可以直接跳過這段)微分方程的重要性不用我過多介紹了。各行各業都用的到。但是求解微分方程倒是一件至關麻煩的事情。因爲除了要計算加減乘除,還要計算微分積分。

而傅里葉變換則可以讓微分和積分在頻域中變爲乘法和除法,大學數學瞬間變小學算術有沒有。

傅里葉分析固然還有其它更重要的用途,咱們隨着講隨着提。

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

如下咱們繼續說相位譜:

經過時域到頻域的變換。咱們獲得了一個從側面看的頻譜。但是這個頻譜並無包括時域中全部的信息。因爲頻譜僅僅表明每一個相應的正弦波的振幅是多少,而沒有提到相位。

基礎的正弦波A.sin(wt+θ)中。振幅。頻率,相位缺一不可。不一樣相位決定了波的位置,因此對於頻域分析,僅僅有頻譜(振幅譜)是不夠的,咱們還需要一個相位譜。那麼這個相位譜在哪呢?咱們看下圖,此次爲了不圖片太混論,咱們用7個波疊加的圖。

鑑於正弦波是週期的,咱們需要設定一個用來標記正弦波位置的東西。在圖中就是那些小紅點。小紅點是距離頻率軸近期的波峯,而這個波峯所處的位置離頻率軸有多遠呢?爲了看的更清楚。咱們將紅色的點投影到下平面。投影點咱們用粉色點來表示。固然。這些粉色的點僅僅標註了波峯距離頻率軸的距離,並不是相位。

這裏需要糾正一個概念:時間差並不是相位差。假設將全部週期看做2Pi或者360度的話。相位差則是時間差在一個週期中所佔的比例。咱們將時間差除週期再乘2Pi,就獲得了相位差。

在完整的立體圖中,咱們將投影獲得的時間差依次除以所在頻率的週期,就獲得了最如下的相位譜。

因此。頻譜是從側面看,相位譜是從如下看。下次偷看女生裙底被發現的話,可以告訴她:「對不起,我僅僅是想看看你的相位譜。」

注意到,相位譜中的相位除了0,就是Pi。

因爲cos(t+Pi)=-cos(t),因此實際上相位爲Pi的波僅僅是上下翻轉了而已。對於週期方波的傅里葉級數,這種相位譜已是很是easy的了。

另外值得注意的是,因爲cos(t+2Pi)=cos(t)。因此相位差是週期的。pi和3pi,5pi。7pi都是一樣的相位。

人爲定義相位譜的值域爲(-pi,pi],因此圖中的相位差均爲Pi。


最後來一張大集合:



好了,你是否是認爲咱們已經講完傅里葉級數了?

抱歉讓你失望了。以上咱們解說的僅僅是傅里葉級數的三角函數形式。

接下去纔是最究極的傅里葉級數——指數形式傅里葉級數。

但是爲了能更好的理解指數形式的傅里葉級數。咱們還需要一個工具來幫忙——歐拉公式。

歐拉公式,以及指數形式的傅里葉級數。咱們下一講再講。

謝謝你們(鞠躬)。

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

今天講的部分很少。但是我但願你們可以理解,我也有本身的生活,留給知乎的時間並很少。但是我很是喜歡在知乎與別人交流的過程。上一次的那些文章你們知道我當時寫了多久麼?四天,天天寫6小時那種。而且當時仍是在假期。主要是圖太很差作了,有人問到做圖的方法,事實上就是簡單的MATLAB+PHOTOSHOP,做圖的確是很是費時間,但是我相信作出這些圖是值得的。因爲我相信圖必定比文字更好理解。也但願可以將這些本身學習時的感覺和經驗更完整的分享給需要的人。

因此請你們略微有點耐心,我會認真把這個故事講完。也謝謝你們的理解和支持。

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

最後推薦一下@張蘇的答案:怎樣學會傅里葉變換?


我是計算機專業畢業的,想學習傅里葉變換。想用代碼實現高速傅里葉變換,去實現音頻降噪的功能。請問我該怎樣作?

張蘇算法project師

王旭宏、知乎用戶、li jianq  等人贊同
———————————2014-0605——————————————————————
很多同窗但願談談學習方法,我自己也是學渣(考研數學80/150),沒有資格談啊。只是我近期修了
RICE大學在edx上的相關課程「 ELEC301x Discrete Time Signals and Systems」,真的很是不錯。

初步總結, 有三大長處:
1.注重實踐,有大量的matlab相關的案例內容;
2.重離散、輕連續,這樣創新的思路拋棄了直接研究連續帶來的大量的理論負擔。同一時候也很是有用。固然,假設要作研究,後面仍是要又一次認真學習連續的,這可能需要藉助mit的課程了。


3.做業題有深度、有啓示,是很是好的訓練。

推薦下學習教材(鑑於你們批評我說這些書很差買。這裏給出購買連接)。
1.新手入門:
前驅知識,微積分、線性代數及格
優秀教材:
(1)Understanding Digital Signal Processing (3rd Edition): Richard G. Lyons: 9780137027415: Amazon.com: Books
評價至關之高,注重理解。對數學要求不高
購買連接:《國外高校電子信息類優秀教材經:數字信號處理(英文影印版)》([美]萊昂斯)【摘要 書評 試讀】
(2)Digital Signal Processing Using MATLAB: Vinay K. Ingle, John G. Proakis: 9781111427375: Amazon.com: Books
大量引入matlab,注重動手實踐添加認知。好像也是首個創新的直接解說離散的教材。


公開課:
RiceX:ELEC301x Discrete Time Signals and Systems
也是直接進入離散主題、注重理解、注重matlab操做的好課程。


購買連接:《數字信號處理:應用MATLAB》 Vinay K.ingle, John G.Proakis【摘要 書評 試讀】圖書
2.進階:
我還在學。學完推薦

談談學習成本:
經濟成本:我推薦的書國內亞馬遜都有正版,加起來二百出頭,公開課需要v~P·N工具,一年二百左右。

新東方一個破輔導班3000+,一部紅米手機799.
時間成本:no pain, no gain。

最後恬不知恥的秀秀rice給個人課程成績,你們必定會作的更好。


下載連接
Dropbox - ELEC301x Discrete Time Signals and Systems.pdf

截圖:



————---------————我正在和論文搏鬥 先給個簡單答案吧——————————
對工科生來說,傅里葉變換可以從三個層次來看:
傅里葉變換(Fourier Transform。FT)-> 離散傅里葉變換(Discrete Fourier Transform, DFT)-> 高速傅里葉變換(Fast Fourier Transform)
FT是理論基礎,以FT爲理論基礎,可以完畢從頻率預計到求解微分方程各式各樣的問題;
DFT是指信號被採樣以後你會獲得離散(如你需要處理的音頻信號被採樣)而非連續的信號,這個時候就需要DFT來告訴你怎樣處理並告知你一些離散狀況下的特殊問題;
FFT是一種計算DFT的算法,計算複雜度很是低也就是運行起來很是快的意思。


舉個樣例吧:有人經過在小黑屋按鋼琴的一個鍵不鬆會產生一個單音信號給你傳遞情報。
y(t)=\sin(2\pi ft+\theta)
信號的頻率f取決於他所按的鍵。你看不見他。卻但願獲知信號的頻率。

怎麼辦?
1.FT的理論就會告訴你可以經過傅里葉變化獲知這個頻率。


但是這個信號飄蕩在空中,你需要先經過採樣獲得一個離散信號
y[i]=\sin(2\pi \frac{f}{f_{s}}i+\theta) \  \ \ \ \ (i=1,2,...N)
(f_{s}是採樣頻率,香農和奈奎斯特告訴咱們,需要f_{s}>2f)。
2.獲得離散信號後怎樣計算f。DFT就會告訴你怎麼辦;
3.你嫌DFT太慢了怎麼辦。FFT就粉墨登場了。

從你計算機的專業背景和但願作音頻降噪的需求來看。你需要掌握的是DFT和FFT我建議
1. 找本高等數學的書,花半個小時看看什麼是FT;
2. 強烈推薦《Understanding Digital Signal Processing》。一本僅僅需高中數學,且英文比中文都易懂的書,在amazon.com上有很是高的評價(Understanding Digital Signal Processing (3rd Edition): Richard G. Lyons: 9780137027415: Amazon.com: Books),國內有賣,建議認真看第一、二、3章。

你會對離散傅里葉變換有很是深刻的瞭解。
3. 實踐出真知,看完什麼理論,馬上用matlab試試看,會理解的很是透徹;
4. project可以沿着matlab->VC->DSP->FPGA的道路前進。

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

語音降噪問題已經發展成爲一個成熟的子學科,要作進一步研究就需要你本身努力了。

相關文章
相關標籤/搜索