【文章內(nèi)容簡介】
;缺點是采樣頻率只能等于 2/N? 的整數(shù)倍,因而不能確保截止 頻率 c? 的自由取值,要想實現(xiàn)自由地選擇截止頻率,必須增加采樣點數(shù)N 這又使計算量加大 [7]。 (五) FIR 濾波器的實現(xiàn) 濾波器的實現(xiàn)主要包括兩方面的內(nèi)容,首先選擇一個合理的結(jié)構(gòu),然后利用有限精度數(shù)值實現(xiàn)它。之所以要利用有限精度數(shù)值實現(xiàn)濾波器,是因為工程實踐中濾波器的系數(shù)只能用有限位的二進制數(shù)來表示。 如前所述, FIR 濾波器通常有直接型、級聯(lián)型、格型、頻率抽樣型等幾種結(jié)構(gòu)。 當用有限精度數(shù)值表示濾波器的系數(shù)時,實際系數(shù)會偏離理論系數(shù) ,對 FIR 濾波器而言,會導致系統(tǒng)函數(shù)的零點發(fā)生偏移,進而影響濾波器的性能。 下面先來分析系數(shù)的偏離是如何影響零點的偏移的,假設 FIR 濾13 波器系統(tǒng)函數(shù)的零點 z、都是一階零點,則有 11 11 1( ) 1 ( ) (1 )NN nin iH z h n z z z?? ??? ?? ? ? ?? ? (425) 若用 ()hn? 表示系數(shù)的偏差, iz? 表示零點的偏差,則第 i 個零點的偏差可用系數(shù)的偏差表示為 11 ()()N ii n zz h nhn???? ? ??? (426) 由此式可經(jīng)看出()izhn??的大小決定著 ()hn? 對 iz? 的影響程度,故將其定義為 z,對系數(shù) ()hn 的靈敏度,對式( 422)進行求導 ( ) ( )( ) ( )ii zz zH z H zh n z h n????? ?????????? ? ??? ?? (427) 經(jīng)過變形就可得到 111,() ()NniiNijj j izzhn zz?????? ?? ?? (428) 由此式可得到結(jié)論:若零點越密集,則零點對系數(shù)量化誤差的靈敏度就越高,而且,密集的零點數(shù)越多,靈敏度越高。 在進行濾波器設計時總是希望靈敏度越低越好,在濾波器的階數(shù)很高的情況 下,一般采用級聯(lián)型或格型結(jié)構(gòu)可以獲得低靈敏度。但大多數(shù)情況下,采用直接型結(jié)構(gòu),原因是:對大多數(shù)線性相位 FIR 濾波器來說,零點在 Z 平面內(nèi)或多或少是均勻鋪開,從而使濾波器對系數(shù)量化誤差的靈敏度很低;無論系數(shù)量化誤差多大,采用直按型結(jié)構(gòu)都能獲得準確的線性相位;具體實現(xiàn)時用到的乘法器也比級聯(lián)型少 [89]。 14 分析零點對系數(shù)量化誤差的靈敏度并不能直觀地反映系數(shù)量化誤差對濾波器頻響特性的影響,而在濾波器的設計中,最關(guān)心的還是濾波器的頻響特性,下面從頻響特性出發(fā)對系數(shù)的量化誤差進行一些分析。令 ()fhn表示量化后的系數(shù),它與量化前的系數(shù) h(n)之間的關(guān)系為: ( ) ( ) ( )fh n h n h n? ? ? (429) 由此式可求得量化后濾波器的頻率響應: ( ) ( ) ( )fh H H? ? ?? ? ? (430) 參考文獻 [10]對式 (426)中的頻響誤差 △ H(w)進行了分析討論,并給出了它的標準偏差的上限 2 2 123b N? ? ??? (431) 由上式可以得出,若己知頻響誤差 △ ()Hw的標準偏差,在算出濾波器的階數(shù) N 后便可求出系數(shù)所需要的字長 b。在工程實踐中很少采用這種方法來確定字長 b,其原因有以 下幾個: ( 1)式 (431)是在一定的假設條件下得到的; ( 2)在給定濾波器的性能指標時一般不給出頻響誤差 ()H?? 的標準偏差 ? ; ( 3)為防止濾波運算后數(shù)據(jù)溢出,濾波器的系數(shù)要進行歸一化處理,這必然要降低系數(shù)的有效位,從而給系數(shù)字長的確定帶來了一定的麻煩。 15 工程實踐中確定系數(shù)字長 b 通常是采用試湊法進行的,首先求出濾波器的無限精度系數(shù) (這樣得到的系數(shù)已經(jīng)進行了歸一化處理 ),然后對系數(shù)進行量化, 利用量化后的系數(shù)算出其頻響特性,若頻響特性超過濾波器的性能要求,則可降低量化字長位數(shù),反之,則增加量化字長位數(shù),經(jīng)過幾次試湊后便可得到比較合理的字長 b。 (六) FIR 數(shù)字濾波器的 MATLAB 設計 MATLAB 是一套用于科學計算的可視化、高性能語言與軟件環(huán)境,它集數(shù)值分析、矩陣運算、信號處理與圖像顯示于一體,構(gòu)成了界面友好的用戶環(huán)境。它的信號處理工具箱包含了各種經(jīng)典的和現(xiàn)代的數(shù)字信號處理技術(shù),匯集了大量的各種算法的函數(shù),使各種研究時間大大節(jié)省。在設計數(shù)字濾波器時,常采用 MATLAB 來進行輔助設計。利用 MATLAB 作為 FIR 數(shù)字濾波器設計的輔助工具,調(diào)用其信號處理工具箱的內(nèi)部函數(shù)使 FIR 數(shù)字濾波器的設計變得簡單,易實現(xiàn)。利用 MATLAB 的仿真功能對所設計的濾波器進行仿真可以提高設計的效率。 現(xiàn)以理想的數(shù)字濾波器為逼近濾波器,理想低通濾波器的幅度響應為 ()Hej? ,濾波器的截止頻率應該由頻域指標中的通帶截止頻率p? 與阻帶截止頻率 s? 按下試確定: 2 spc ??? ?? (432) 16 ( 1)構(gòu)造 FIR數(shù)字濾波器的幅頻函數(shù) ()Hk ,也就是對幅頻特性曲線進行 N點等間隔的抽樣得到。然后按照 ( ) ( )H k H k ej?? ,求得 FIR濾波器的頻域采樣 N個樣本值,其中的相位特性 N點采樣值可表示為: 1 2 1( ) ( )2NNk k kNN?????? ? ? ? (偶對稱時 ) 1 2 1( ) ( )2NNk k kNN???? ? ? ? (奇對稱時 ) ( 2)對 ()Kk計算 IDFT,求出 FIR的單位沖激響應 ()hn ,這可以利用傅立葉變換的快速算法 FFT 來計算。 ( 3)根據(jù) ()hn 繪制 FIR的頻率響應曲線,驗證是否滿足給定的技術(shù)指標,若不滿足的話,則需要通過增加若干個過渡采樣點的方法進行修正 [1112]。 17 五 、 FIR 數(shù)字濾波器的仿真實例 下面研究一個低通濾波器的設計,通過仿真分析來說明這種方法設計濾波器的可行性和優(yōu)越性。 設計要求: ( 1)通帶截止頻率為 3400HZ,阻帶截止頻率為 5400HZ。 ( 2)通帶最大衰減為 2dB,阻帶最大衰減為 60db。 頻率響應在 0~*pi 之間為 1,在 *pi~pi 之間為 0,對 ()hn 加窗截斷,選擇矩形窗和任意一種其他窗口,每種窗口長度分別為M= 40三種情況 ,對每種情況要進行性能好壞的分析。首先需要理解實際的濾波器是沒有辦法做到理想狀態(tài)的。如果要理想狀態(tài)的話,就直接就是矩形窗序列乘序列就 OK,矩形窗只能達到 的衰減,但是實際的加窗構(gòu)成的濾波器,必然會存在波紋,和過渡帶濾波器的衰減指標主要是由阻帶衰減確定的不妨設阻帶衰減為 50dB那 么 要 達 到 這 個 指 標 , 通 過 查 表 可 以 知 道 必 須 是 hamming window() 或 blackman window() 。 根據(jù)上述指標利用 MATLAB 進行設計。編寫的 MATLAB 程序的主要代碼 附錄(二) 。 仿真后圖所示 18 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 2 5 0 0 2 0 0 0 1 5 0 0 1 0 0 0 5 0 00N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Phase (degrees)0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 1 5 0 1 0 0 5 0050N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Magnitude (dB)F r e q u e n c y amp。 P h a s e R e s p o n s e 圖 61 低通濾波器設計圖0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 1 0 0 0 8 0 0 6 0 0 4 0 0 2 0 00N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Phase (degrees)0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 1 0 0 5 00N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Magnitude (dB)F r e q u e n c y amp。 P h a s e R e s p o n s e M = 1 0 圖 62 低通濾波器設計圖( M=10)19 0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 1 5 0 0 1 0 0 0 5 0 00N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Phase (degrees)0 0 . 1 0 . 2 0 . 3 0 . 4 0 . 5 0 . 6 0 . 7 0 . 8 0 . 9 1 1 5 0 1 0 0 5 00N o r m a l i z e d F r e q u e n c y ( ? ? r a d / s a m p l e )Magnitude (dB)F r e q u e n c y amp。 P h a s e R e s p o n s e M = 2 0 圖 63 低通濾波器設計圖( M=20) 20 六 、結(jié)論 FIR 濾波器的應用十分廣泛,當今的許多信號處理系統(tǒng),如圖象處理等系統(tǒng)要求具有線形相位特性。在這方面 FIR 濾波器有獨特的優(yōu)點,能很容易設計出具有嚴格線性相位的 FIR 系統(tǒng)。此外, FIR 濾波器的沖激響應是有限長序列,其系統(tǒng)函數(shù)為一個多項式,它所含的極點多為 原點,所以 FIR 濾波器永遠是穩(wěn)定的。 FIR 濾波器以它優(yōu)越的性能,在數(shù)字信號處理領域中占有很重要的地位,是現(xiàn)代電子技術(shù)中必須掌握的設計技術(shù)。 設計一個 FIR 數(shù)字濾波器,不管是采用窗函數(shù)法,還是頻率采樣法,需要完成大量的計算和圖形繪制工作。而且,從上面的設計過程中可以看到,設計中,只用到了兩個技術(shù)指標,也就是通帶截止頻率和阻帶截止頻率。其它指標如:帶內(nèi)允許最大衰減,帶外允許最大衰減等指標,無法體現(xiàn)在設計過程中來。所以,設計結(jié)果通常不可能通過一次計算而得到,往往需要反復多次的計算,對比才能最終得到符合各項 技術(shù)指標的設計結(jié)果。 利用 MATLAB編程效率高,計算和圖形處理能力非常強大的特點??梢詭椭瓿稍O計中的各項計算和圖形繪制工作,從而使 FIR數(shù)字濾波器的設計變得非常簡單和快捷。與其它高級語言的程序設計相比,用 MATLAB語言可以方便,快捷地設計具有嚴格線形相位的 FIR系統(tǒng),可節(jié)省大量的編程時間,且參數(shù)的修改也十分方便。隨著版本的不斷提高,相信 MATLAB在數(shù)字濾波器技術(shù)中會發(fā)揮更大的作用。21 同時,用 MATLAB計算有關(guān)數(shù)字濾波器的設計參數(shù),如 ()Hz, ()hn 等,對于數(shù)字濾波器的硬件實現(xiàn)提供了一條簡單而準確的途徑和依據(jù)。