1. 程式人生 > >卷積,DFT,FFT,影象FFT,FIR 和 IIR 的物理意義

卷積,DFT,FFT,影象FFT,FIR 和 IIR 的物理意義

卷積:  衝擊訊號會對線性系統產生衝擊響應。  衝擊訊號可分解為平移度和幅度。其對線性系統的衝擊響應可以分解為點點間的經平移和縮放的各個衝擊響應的累加,通過卷積的表示式表示。  所謂的衝擊響應,就是線性系統對任何輸入訊號的響應,描述這種輸入輸出關係的算數方法就是卷積。

 以上是從輸入訊號的角度看卷積,每個輸入訊號上的點都產生一個縮放和平移之後的衝擊訊號,然後對這些衝擊訊號進行累加,即卷積。  也可以從輸出訊號的角度去看,即每一個輸出訊號上的點都是由一系列輸入訊號和衝擊訊號相互作用產生的。

 一個N點的訊號和一個M點的訊號相卷積,其輸出有N+M-1個點。  相關是利用卷積來運算的,它能在一個訊號中找到目標訊號的位置(根據相關值來判斷)。

FFT:  FFT是分為複數DFT變換和實數DFT變換(改進演算法)。   複數DFT:拿一維訊號來說N點的時域訊號產生N個點的頻域訊號,都含有實部和虛部。   實數DFT:拿一維訊號來說N點的時域訊號產生N/2+1個點的頻域訊號,都含有實部和虛部。

 FFT只所以快是因為:   第一步,它將1個N點的訊號先分解成N個1點的訊號;   第二步,計算這N個1點訊號的頻譜,這很好計算,因為複數就是它自己,但現在這N個訊號是頻譜訊號了;   第三步,再將這N個頻譜訊號按一定的規律加起來就得到了所需要的頻譜。第三步是最複雜的,是按第一步分解的反過程,那些很複雜的蝶形運算就是用於這個反過程的,它們改變訊號的位置,    再通過相加將2個N/2點的訊號變成1個N點的訊號。

實數DFT(離散傅立葉變換):  一個離散訊號在時域離散但在頻域可能週期。  DFT處理的訊號的時域是離散的但又週期,頻域是週期性的但又離散。  實數DFT訊號的時域有N點(其實是週期延拓,一個週期N點),可以由N/2+1個正弦訊號和N/2+1個餘弦訊號表示,每個正餘弦訊號也是N點(也是週期延拓,一個週期N點)。  上面就是DFT的物理意義,   N點的實數經DFT之後變成 N/2+1個複數表示的點,複數的實部是正弦訊號的幅度,虛部是餘弦訊號的幅度。複數只是一種數學上的表示方法。    直角座標表示法: 將正餘弦幅度畫出來來表示頻譜。每個正餘弦訊號的幅度可以通過相關的方法求出。    極座標表示法:   將上述 N/2+1個複數表示成模(幅度)和相位,並畫出來來表示頻譜。

 頻譜的橫座標:    用點數來表示的,範圍是 0到N/2(N/2+1個數);    分數表示法,範圍是0到0.5;    自然頻率表示法,範圍是0到π。

 對DFT訊號時域離散,頻域週期的物理解釋:   因為離散訊號是不連續的取樣點,這些取樣點可能是一個頻率的連續訊號上的某些點,可能是比這個頻率高的連續訊號上的某些點,也可能是比這個頻率低的訊號上的某些點,這個就呈現出了週期性。

 DFT性質   如果時域訊號是左右對稱的,則其DFT變換的相位是線性的,稱作線性相位。特別的,如果時域訊號關於原點左右對稱,則其頻域相位為0,稱作0相位。   DFT時域取的點越多(取樣頻率不變),其頻譜解析度越高。這是因為N增加,則N/2+1越大,而頻譜的最高頻率不超過1/2的取樣頻率,所以頻譜上的間隔減小,即解析度提高。   DFT的時域是週期性的,N個點為週期;頻域上通常是看0到N/2-1個點,但它是關於原點對稱的,實部和幅度偶對稱,虛部和相位寄對稱,它的週期也是N個點。   時域上的平移會造成相位的斜率發生改變。

 時域卷積等於頻域相乘。   一個N點的訊號和一個M點的訊號(N>M)卷積得到N+M-1個點。   從頻域上看N點訊號的頻譜N/2+1個點,M點訊號的頻譜做N點DFT之後也是N/2+1個點,兩者相乘在IDFT之後得到輸出訊號時N個點,這樣就比普通卷積少了M-1個點,不要忘記DFT是週期性訊號,   少了M-1點可能會造成前後輸出訊號的疊加,但也可能不會只要N比有效的訊號範圍來的大就行了,這種用DFT求的卷積叫圓周卷積。

影象FFT:  影象的DFT變化也是把影象看成是週期延拓的訊號,就像磚瓦一樣一塊塊鋪起來,其DFT變換之後的訊號也是週期訊號,也想磚瓦一樣一塊塊鋪起來。假設影象為N*N點陣,其DFT變換也是N*N點陣,  取行編號為0、列編號為0的點為中心,這就是說影象的DFT變換的編號有正有負。

 在1維訊號中,DFT變換把訊號分解成多個正弦訊號,表示訊號包含有多個頻率。對影象來說,其畫素的灰度變化也是一種頻率的反映,一般來說邊沿的時候灰度的變化較為明顯,或者說灰度變化頻率較快;  而一幅影象的灰度如果比較平均,則表示灰度無明顯變換,其變化頻率較慢。  或者說影象頻譜的低頻部分決定了大體上的灰度變化(比較模糊),而影象頻譜的高頻部分決定了細節變化(邊沿)。  將影象DFT之後,變化頻率較慢的成分就越靠近中心,而頻率變化較快的成分就越遠離中心。

 影象的頻譜也具有對稱性,實部和幅度以中心映象對稱;虛部和相位以中心反映象對稱。

 影象頻譜的相位決定了影象的樣子,如果將另一幅影象的幅度和本幅影象的相位結合,還是能看出本幅的影象,只不過灰度變化不正常。這是因為相位決定了幅度變化的方向。  拿1維訊號來說,如果有一個上升沿,那麼在這個上升沿發生的時候,很多正弦訊號的相位都是一樣的,這樣就能堆起一個上升沿,應用在影象裡面,也是同樣的道理。所以相位是決定訊號的樣子的。

 如果影象中有一根很細的長條橫臥,則其頻譜的垂直方向上有更多的分量,而頻譜的水平方向上的分量較少。這是因為頻譜上的點具有方向性,影象上水平的直線需要更多垂直的分量來組成,  而影象垂直方向上相對不變,所以也不需要很多水平的分量。

 影象的卷積一般用的PSF較小,比方3*3點陣的運算元,常用的運算元有平滑濾波和邊沿增強運算元。影象的卷積和1維訊號一樣也可以從輸入訊號看和輸出訊號看。如果卷積比較複雜,可以用FFT卷積來做。

FIR:有限脈衝響應  通過卷積來求輸出,隨著脈衝點數的增多,其頻譜特性可以做的很好,並且可以做到使線性相位的,但是速度慢,藉助FFT卷積可以提高速度。  常用的有平滑濾波器、sinc窗函式。平滑濾波器主要用於時域平滑,可以用遞迴來實現;sinc窗函式主要用於頻域濾波。

 無反饋,頻域上相位線性,在時域上體現為訊號固定延時了一個時間t, 波形沒有失真,只是時間上滯後了,語音處理,圖象處理以及資料傳輸要求頻域線性相位,任意幅度。在語音編碼的取樣之前會用一個FIR  做低通濾波,  由於無反饋,要實現相同的指標,比iir所需的階數要高很多。  物理量“相位延遲”Tp(f)=-φ(f)/(2pif); “群延遲”Tg(f)=-dφ/dw.  當Tg(f)為常數時,認為這系統是無畸變的。FIR線性相位正滿足了這個要求。

IIR:無限脈衝響應,  通過遞迴方程來求輸出,不同的遞迴係數決定了濾波器的特性,濾波特性沒有FIR好,但速度快,引數級數少。由於是根據遞迴係數來確定,而不像FIR那樣是根據頻域來確定,  所以設計時很難確定頻域形狀,很難確保是線性相位。  常用的有 單極點濾波器、切比雪夫濾波器。前者用於時域平滑,後者用於頻域濾波,切比雪夫的滾降較快,但是有ripple。  IIR極點一般的理解是:極點越多濾波器的效能越好。  通過IIR的遞迴方程進行Z變換,可以求出其頻域特性。

 當M>0時,M就是IIR濾波器的階數,表示系統中反饋環的個數。由於反饋的存在,IIR濾波器的脈衝響應為無限長,因此得名。若M=0,則系統的脈衝響應的長度為N+1,故而被稱作FIR濾波器。  可以直接利用模擬濾波器設計IIR濾波器,因為模擬濾波器本身就是無限長衝激響應的。  通常IIR濾波器設計的過程如下:   首先根據濾波器引數要求設計對應的模擬濾波器(如巴特沃斯濾波器、切比雪夫濾波器等等),   然後通過對映(如脈衝響應不變法、雙線性對映等等)將模擬濾波器變換為數字濾波器,從而決定IIR濾波器的引數。   IIR濾波器的重大缺點在於,由於存在反饋其穩定性不能得到保證,而FIR濾波器由於不存在系統極點,FIR 濾波器是絕對穩定的系統。

 IIR無限長脈衝響應濾波器,結構中有反饋,所以理論上脈衝響應永遠不為零。實現相同的指標比fir濾波器需要的階數較少。非線性相位,用於對相位不太敏感的場合,如語音。  設計時先設計模擬濾波器原型,再由一定的原則轉換為數字濾波器。可參看程乾生編著 “訊號數字處理的數學原理” 石油工業出版社   1.IIR數字濾波器的系統函式可以寫成封閉函式的形式。    2.IIR數字濾波器採用遞迴型結構,即結構上帶有反饋環路。IIR濾波器運算結構通常由延時、乘以係數和相加等基本運算組成,可以組合成直接型、正準型、級聯型、並聯型四種結構形式,      都具有反饋迴路。由於運算中的舍入處理,使誤差不斷累積,有時會產生微弱的寄生振盪。    3.IIR數字濾波器在設計上可以藉助成熟的模擬濾波器的成果,如巴特沃斯、契比雪夫和橢圓濾波器等,有現成的設計資料或圖表可查,其設計工作量比較小,對計算工具的要求不高。      在設計一個IIR數字濾波器時,我們根據指標先寫出模擬濾波器的公式,然後通過一定的變換,將模擬濾波器的公式轉換成數字濾波器的公式。    4.IIR數字濾波器的相位特性不好控制,對相位要求較高時,需加相位校準網路。

 在MATLAB下設計IIR濾波器可:   使用Butterworth函式設計出巴特沃斯濾波器,   使用Cheby1函式設計出契比雪夫I型濾波器,   使用Cheby2設計出契比雪夫II型濾波器,   使用ellipord函式設計出橢圓濾波器。     與FIR濾波器的設計不同,IIR濾波器設計時的階數不是由設計者指定,而是根據設計者輸入的各個濾波器引數(截止頻率、通帶濾紋、阻帶衰減等),    由軟體設計出滿足這些引數的最低濾波器階數。在MATLAB下設計不同型別IIR濾波器均有與之對應的函式用於階數的選擇。

 iir幅頻特性精度很高,不是線性相位的,可以應用於對相位資訊不敏感的音訊訊號上;   fir幅頻特性精度較之於iir低,但是線性相位,就是不同頻率分量的訊號經過fir濾波器後他們的時間差不變。這是很好的性質。   另外有限的單位響應也有利於對數字訊號的處理,便於程式設計,用於計算的時延也小,這對實時的訊號處理很重要。

 在多帶濾波的時候,如果採用IIR將會導致各頻帶輸出不同步的問題,在諸如特徵提取這樣的應用中將會很麻煩  IIR比FIR具有更好的模型匹配與訊號處理能力。但是,如果極點不能控制在單位圓內,將會使系統不穩定。  IIR濾波器最重要的優點在於與相同係數個數的FIR濾波器相比有更好的效能,要達到相同效能,IIR濾波器所需係數個數一般比FIR濾波器少得多。  而FIR很容易保證穩定和線性相位,這在有特殊要求的訊號處理中是非常重要的,比如實現完全線性相位重構濾波器。