基于Matlab的FIR帶通濾波器設計及DSP實現(xiàn)
摘要:借助Matlab的FDATOOL濾波器設計分析軟件,設計了一種FIR數(shù)字帶通濾波器,并對一段含噪語音信號進行濾波。利用匯編語言編程,在DSP上實現(xiàn)了該濾波器。實驗結果表明,該數(shù)字帶通濾波器精確,穩(wěn)定性好,易于移植,具有很強的實用性與靈活性。
關鍵詞:FIR數(shù)字帶通濾波器;語音去噪;DSP;Matlab
0 引言
隨著電子技術的飛速發(fā)展,人們正逐步進入數(shù)字化時代,數(shù)字濾波器越來越受到人們的關注,并且在近代電信設備和各類控制系統(tǒng)中的應用極為廣泛,如語音處理、圖像處理、通信、電視、雷達、生物醫(yī)學信號處理等。數(shù)字濾波器根據(jù)其沖激響應函數(shù)的時域特性,可分為有無限長單位沖激響應(IIR)濾波器和有限長單位沖擊響應(FIR)濾波器。IIR濾波器雖然可以利用模擬濾波器設計的結果,而模擬濾波器的設計有大量的圖表可查,方便簡單,但它的相位是非線性的。圖像處理以及數(shù)據(jù)傳輸都要求信道具有線性相位,同時又可以具有任意的幅度特性。此外,F(xiàn)IR濾波器的單位沖激響應是有限長的,因而濾波器一定是穩(wěn)定的。隨著Matlab軟件和信號處理工具箱的不斷完善,可以利用Matl ab信號處理工具箱快速有效地實現(xiàn)數(shù)字濾波器的設計、分析和仿真。本文首先使用Matlab設計了一個FIR數(shù)字帶通濾波器,并對一段含噪語音信號進行濾波,然后在TI公司生產的TMS320C5402芯片上具體實現(xiàn)了該濾波器。
1 FIR數(shù)字帶通濾波器設計原理
設FIR濾波器單位脈沖響應h(n)長度為N,其系統(tǒng)函數(shù)H(z)為:
FIR濾波器的設計任務是選擇有限長度的h(n),使傳輸函數(shù)滿足技術要求。一般是先給定所要求的理想濾波器頻率響應,導出hd(n)。因為理想濾波器的沖激響應hd(n)是無限長的非因果序列,而所要設計的是hd(n)是有限長的FIR濾波器,所以要用有限長序列hd(n)來逼近無限長序列h(n)。設:
由此可見,窗函數(shù)不僅影響原信號在時域內的波形,而且也影響頻域內的波形。
2 用Matlab輔助設計與仿真
設計一個FIR濾波器,關鍵是要得到正確的h(n)系數(shù)。把生成的濾波器系數(shù)加載到目標DSP程序中有兩種方式:
(1)把濾波器系數(shù)輸人到一個C語言的頭文件,在所建工程中添加該頭文件;
(2)直接把生成的濾波器系數(shù)加載到DSP程序的一個變量中。
評論