之前學習計算機視覺,雖然敲了不少代碼,但一直沒弄懂傅里葉變換以及圖像濾波背后的數學含義,只能對着現成的公式照葫蘆畫瓢,讓我內心覺得深深的不安。好在通過這段時間在華為的實習,惡補了一下數字信號處理相關的基礎知識,總算是把這方面的坑給填上了。以下為這幾天的學習成果,也就是我自己對傅里葉變換的理解。
這篇博文的前三段解釋了一些比較基礎的概念,對理解傅里葉變換有幫助。
本文為大便一籮筐的原創內容,轉載請注明出處,謝謝:http://www.cnblogs.com/dbylk/p/3920927.html
一、離散時間信號
要弄懂離散時間信號的傅里葉變換,首先要弄清楚什么是信號,而什么又是離散時間信號。(雖然感覺像是廢話,可作為一個軟件工程的童鞋我一開始對這些東西真的沒概念啊T_T)
所謂信號,其實就是包含一個或多個變量的函數,舉幾個例子:語音信號可以表示為聲壓隨時間變化的函數,黑白照片可以表示為亮度隨二維空間坐標變化的函數。(此段內容來自於奧本海姆的《信號與系統》)
所謂離散時間信號,又名數字信號,它是由數字序列表示的離散函數 {x[n]}, -∞<n<+∞,其中 n 為整數。一般情況下,為了方便起見,我們常將 {x[n]} 簡寫為 x[n] 。常見的離散時間信號有:
①單位取樣序列:
②單位越階序列:
③矩形序列:
(以上內容來自於華中科大的教材《數字信號處理》)
二、離散時間系統
在弄懂離散時間信號的傅里葉變換之前,我們還要弄清楚一個概念:離散時間系統。
所謂離散時間系統,就是把輸入的離散序列 x[n] 映射成輸出序列 y[n] 的唯一變換,用 T[] 表示。
其中,滿足線性疊加原理的系統被稱為線性系統,即:
① T[ax1(n) + bx2(n)] = ay1(n) + by2(n)
若系統的響應與輸入信號施加於系統的時刻n無關,則稱其為非移變系統,即:若有
② T[x(n)] = y(n),則有T[x(n-k)] = y(n-k)
同時滿足以上兩個條件的系統被稱為線性非移變系統。
三、卷積
相信學習過計算機視覺的同學對這個詞一定不會陌生,卷積是線性非移變系統的特性,定義如下:
設 T[] 為線性非移變系統,當輸入為單位取樣序列 δ[n] 時,定義輸出 (其中,三角形下帶一個等號的符號表示“定義為”),h[n] 稱為單位取樣響應(或單位沖激響應),對於任意的 x[n] ,下列等式成立:
而這個等式,就被稱為離散卷積(或線性卷積)。(上式的推導利用了單位取樣序列只在 0 點處取 1 的特性。)
顯而易見的,任何線性非移變系統都可以通過它的單位取樣響應 h[n] 來表示,而且輸入 x[n] 與輸出 y[n] 滿足離散卷積關系,表示為 y[n] = x[n] * h[n] 。
離散卷積滿足以下的運算規律:
①交換律: x[n] * h[n] = h[n] * x[n]
②結合律: x[n] * h1[n] * h2[n] = x[n] * ( h1[n] * h2[n] )
③分配律:x[n] * ( h1[n] + h2[n] ) = x[n] * h1[n] + x[n] * h2[n]
四、傅里葉變換
下面開始進入正題,說說什么是傅里葉變換。
傅里葉說:任何周期函數都可以表示為不同頻率的正弦函數sin(ωix + φi)疊加的形式,其中每個正弦函數都具有不同的系數 Ai,式中的 ωi 為頻率。
根據這句話,我們可以把傅里葉變換推廣到非周期函數上:非周期函數可以被看成具有無窮大周期的周期函數,因此可以表示為無限個不同頻率的正弦函數疊加的形式,而每個正弦函數所對應的系數都趨近於無窮小(注意:這些趨近於無窮小的系數是不相等的)。當定義中提到的函數是一個離散時間信號時(而正如我在前面所提到的,信號就是函數),它的傅里葉變換詳細表示如下:
此外,傅里葉變換還存在逆變換:
式中的 X(ejω) 是一個以 2π 為周期的連續函數,它被稱為信號的頻域函數,而信號的原函數 x[n] 被稱為時域函數(此時,默認信號以時間作為橫坐標,當橫坐標為空間坐標時,原函數被稱為空域函數)。其中,ejω = cosω + jsinω,j = √(-1), ω 為頻率。
傅里葉變換的函數圖像被稱為傅里葉頻譜,它的橫坐標是傅里葉變換所分離出正弦信號的歸一化頻率 ω ,縱坐標是當前頻率正弦信號的幅度 X(ejω) 。
在傅里葉頻譜中,橫坐標 ω 接近 0 的部分被稱作低頻信號,對應了原信號 x[n] 中變化緩慢的成分(根據傅里葉逆變換公式,原函數 x[n] 為 X(ejω)ejωn 關於 ω 的積分,而之前說過,X(ejω) 是 ejω 的加權系數,與 n 的取值無關,在這里可以暫時忽略。因為 ejωn = cosωn + jsinωn,這也就意味着 ω 越小,ejωn 的周期越大,當 ω 無限趨近於 0 時,可以將 ejωn 看做是一條水平直線,此時 X(ejω) 的值越大,說明 ejωn 在原函數中所占的比重越大,也就是原函數 x[n] 越接近於一條直線,即變化程度越小。);相反地,橫坐標 ω 很大的部分被稱作高頻信號,對應了原信號 x[n] 中變化劇烈的成分。
簡單來理解, X(ejω)就是傅里葉變換中的系數Ai,也就是頻域函數的縱坐標Y;ejωn就是傅里葉變換中的sin(ωix + φi),其中 ω是頻域函數的橫坐標X。
花了兩個晚上總算寫完了,話說用word碼公式還真是累啊。。。_(:3> ∠)__