傅里葉變換的不足有哪些?有哪些改進的方法?

純新手入門,才讀完奧本海默的Signal and System,聽前輩講信號處理後面還有小波,譜分析……聽起來就很高端的東西,那麼現在問題來了:

1.在看一本比較基礎的數字信號處理的matlab的書,感覺傅里葉變換已經很給力了,求大牛講解一下傅里葉變換的不足

2.其他高端處理方法的特點,就是簡單介紹一下也行。

3.再推薦兩本進階的書吧。


謝邀,前段時間忙,這麼久才回答這個問題,實在抱歉。

對於題主的問題,我認為問道」有何不足「,首先需要明確」不足「是指在什麼方面不足。換而言之,我們做傅里葉變換或者題主提到的其他的變化(題主提到Wavelet,Spectral Analysis),所謂目的為何?

之前我有回答過一個問題:本科學習數字信號處理、數字圖像處理、模式識別這一類課程,理解與應用和嚴格的數學推導哪個更重要? - Bihan Wen 的回答

裡面以傅里葉變換為例子,解釋了為什麼對於任何的問題,理解到1)定義,2)形象表達,3)為了什麼?這三層是很重要的。

回到題主的問題,我來簡單地回答一下各個問題:

1)題主說傅里葉變換很給力,我同意in some sense。Fourier Transform將我們實際接觸,直觀感受和採樣到的信號(無論是Real還是Complex Signal),通過一個固定的變換,抽象出了頻域上的分析。從而讓我們有了對信號在不同頻率上的分解,這對我們解釋信號的本質和意義有很大的作用!這裡我是從Analysis的角度來看,給出了題主提到的「給力」的證據。

2)我再來說說題主提出的Fourier Transform「不足」的角度。前面的答案提到了,傅里葉變換的「有效性」建立在信號要是平穩(smooth)的前提下。這裡我認為「有效」與否,是指如果通過保留低頻,捨棄高頻的方式在頻域保存信號,信號的特徵是否能夠充分地被保留而言。換而言之,利用保留的transform domain上的信息,能夠多準確地恢復原有的信號。在這個意義上,「不足」是正確的:並不是所有的信號在Fourier Domain下都集中在低頻中!

但是在這個意義下,小波變換就一定是最好的嗎?如果想通過同樣的方式對信號進行特徵保留(或者換一個角度:通過存Low Pass,捨棄 High Pass來對信號進行壓縮),Wavelet同樣對被處理有信號有一定的要求,比如piecewise smooth。不過相較於Fourier,小波變換對於很多的自然圖像更有壓縮優勢:比如在Spatial Domain下,不同的區域里都是smooth的,但是區域間是劇烈變化,這種情況用Wavelet來處理壓縮會比用Fourier處理更優一點。並且對於低維信號,Wavelet(或者其他的延伸統稱為X-let)有一些theoretical guarantee他的稀疏表達的最優性。

但這裡我想提出幾個問題:

a)信號的壓縮,是所有的變換的唯一目的嗎?

b)所謂」不足「和」最優「是以什麼目的而做出的判斷(For what goal?)

對於問題(a),我的回答是否定的。變換(transform)在信號處理領域有很多不同的用處,而壓縮只是其中一種。這裡舉個簡單的栗子:圖像的降噪。相信很多EE的本科生都做過一個很簡單的實驗,把一幅圖片加上White Gaussian Noise,然後做FFT,保留低頻然後zero掉高頻,再inverse FFT回來,就得到一幅降噪的圖片!

對於問題(b),我們在判斷這個問題的時候是有很多標準的。還是剛才的栗子:我們之所以可以用Fourier來降噪,用到了一個很簡單原理:自然圖片在頻域往往是低頻的,而白雜訊在頻域是Uniform Distributed的。把這個結論推廣一下:我們需要一種Transform,來區別我們想要的信號,和不想要的雜訊和干擾。那麼如果有這樣的一種transform,我們可不可以說他也是流弊的,有用的,「優」的呢?

(3)對於題主的第二個和第三個問題,其實現在有很多研究都在提出各種各樣所謂「高端」的transform,以用於各種不同的應用和目的。論文不勝枚舉。

這裡我夾雜一點私貨,談一下我正在研究得課題:與其提出一種固定的transform,對於我們感興趣的數據,為什麼不幹脆Let the data speak for themselves呢?我們可以學習一種adaptive transform來使得它對於我們要處理的數據在某種意義上最優!這裡涉及到信號處理,優化,稀疏表達還有機器學習的知識。我給出兩篇我們組的兩篇論文:

1) Learning Sparsifying Transform: IEEE Xplore Abstract

2) OCTOBOS: Structured Overcomplete Sparsifying Transform Learning with Convergence Guarantees and Applications

目前我們只探討了從稀疏性的角度來看學習最優的transform,可以用來壓縮,降噪,甚至分類(依照OCTOBOS的分類)和inpainting。至於為什麼稀疏表達很重要,我之前有回答過,

稀疏表達的意義在於?為什麼稀疏表達得到廣泛的應用? - Bihan Wen 的回答

另外目的意義上的最優,則是open question。


謝邀~ 以下內容請只當看個樂呵.有遺漏,不規範和錯誤:

傅里葉分析缺乏對時域的分析,比如一段信號檢測某個頻率有多大,傅里葉很合適,

但是一段信號分析某個頻率在哪個位置最大,傅里葉就沒戲了.

因此,有一種短時傅里葉分析就出現了,就是把一段長信號切成數個簡訊號分析某個簡訊號

得到它們分別的頻譜,於是就得到了帶有時域,頻域信息的時間頻譜圖.確實能解決一些問題,但是

短時傅里葉分析有個問題就是簡訊號切得短,得不到想要的頻率信息精度,切得長,得不到想要的

時域信息精度.到底應該怎麼切信號? 另外就是短時傅里葉的數學形式略丑,看上去更加工程化.

然後就是小波分析,小波分析有連續小波分析,連續小波分析的離散化和離散小波分析,先說連續小波

分析,小波分析的基礎就是: 不再使用sin這種無限長度的信號作為基,而是使用一個同時帶有時域

信息和頻域信息的波形作為變換的基,例如: -infty +infty e^frac{-t^2}{2}sin(t)函數來作為基,也就是左右帶有衰減的sin函數作為基,由於帶有衰減,所以整個函數在坐標軸上顯得只有一小坨,所以叫"小"波,

小波的含義是以這種"小"波作為基可以同時帶有一定的時域信息和頻率信息,且數學理論完備,例如什麼時候有逆變換,什麼時候就冗餘了,什麼波可以當小波什麼不能當,什麼小波性能好,還有根據不確定性原理,你不可能同時知道精確的時域信息和頻域信息因此怎樣去尋找最高解析度等等,然後離散小波主要是多解析度分析,其實就是個多採樣率的濾波器組,高頻時域信息准,頻域信息不準,低頻頻譜信息準時域信息不準,而不像短時傅里葉分析頻率間隔和時域間隔是固定的.這樣的"多尺度"更符合某些情景.舉個例子一隻動物吼了一聲,高頻一般是音頭所以我需要知道這隻動物是什麼時候吼的,相對較低的頻率可能是音的sustain部分因此我需要知道基頻頻率判斷它是個什麼動物.

再然後就是統一的時頻變換,其實很多波都可以作為基,未必非得是像小波的多解析度分析高頻強調時域低頻強調頻域,也未必像短時傅里葉那樣都是固定的,也不用像傅里葉分析那樣時域沒信息,到這一步就是在不確定性原理的基礎下,想怎麼搞怎麼搞,到這一步傅里葉就變成了特例,剛才舉得小波的例子也變成特例了.目前專門研究時頻變換的學者們應該是處在這一步.


1) 傅里葉變換最大的不足就是對分析信號有強假設條件。其要求信號必須為平穩信號。而現實世界中我們採集回來的信號大部分是非平穩,非線性的,這就讓人們對傅里葉得出的結果產生了極大的懷疑。

2)普通傅里葉變換隻能給出信號的頻域特徵,這就要求進行傅里葉變換之前整個信號都應該已經收到並且存儲了。非平穩信號在時間中的演進過程就全部被遮蓋了,傅里葉的近親短時傅里葉某種程度解決了這個問題,但是時間,頻率上的解析度都不高。

3)如果是時間-頻率變換的話現在也有很多了,小波變換技基本上是傅里葉的加強版,把傅里葉中確定的傅里葉級數換成了可以基於應用設計的母小波函數提高了變換的時間,頻率解析度。當然還有現在比較火的Empirical mode decomposition, 這個方法的提出就更好玩了,他承認信號是由一些基本信號線性疊加而來的,但是這個用來疊加的basis signal已經不是母小波或者傅里葉級數這樣的確定函數了,而是從信號自身通過找出來的。最後通過hilbert 變換獲得時頻分解。這種方法現在看,效率很高,時頻解析度巨好。但是和傅里葉變換一樣必須要離線操作。當然還有用AR或者ARMA模型進行譜估計的,這一類方法都是用來克服信號的非穩定性的。當然現在還有用LASO估計AR參數做時頻變換的,還有統計方法比如Wigner Distribution, 後面這兩個我就沒做過了。但是看論文的話,效果也很牛。現在信號處理已經不存在一個方法一定比另外一個方法好了,No free Lunch, 貼合自己的問題找合適的方法是最重要的。

4) Cohen, Leon &, Mallat, Stephane &, Daubechies, Ingrid &


The FFT is nothing more than a mathematical operation. What really matters is how you interpret the data. If you do an FFT on a non-stationary signal, your conclusions about its spectrum could be misleading, but nothing stops you from trying :-)


推薦閱讀:

如何獲取FFT序列中每個點的頻率值?
為什麼在信號處理中一個域的離散會造成另一個域的周期延拓?
正弦函數究竟有多神奇?為什麼?
二維傅里葉變換是怎麼進行的?

TAG:傅里葉變換FourierTransform | 數字信號處理 |