陜西長嶺電子科技有限責任公司 趙秀克 劉 劍 鞏沛源
?
基于MATLAB軟件的FIR數(shù)字濾波器的設計和仿真
陜西長嶺電子科技有限責任公司 趙秀克 劉 劍 鞏沛源
【摘要】FIR 數(shù)字濾波器由于具有諸多優(yōu)點,因而在數(shù)字信號處理中得到了十分廣泛的應用。本文介紹了FIR 數(shù)字濾波器的理論設計,詳細描述了MATLAB 軟件平臺下FIR 濾波器的設計步驟并給出了軟件仿真結果。
【關鍵詞】數(shù)字濾波器;FIR;MATLAB;仿真
數(shù)字濾波器在數(shù)字信號處理中起著非常重要作用,它是一個按預定的有限算法實現(xiàn)的、將輸入的數(shù)字信號轉換為所要求的輸出數(shù)字信號的線性時不變系統(tǒng),它的實現(xiàn)包括硬件實現(xiàn)和軟件實現(xiàn)兩大部分。從硬件的角度看,數(shù)字濾波器可以看作是由數(shù)字乘法器、加法器和延時單元組成的一種裝置。從軟件的角度看,數(shù)字濾波器可以理解為一個計算程序或者算法。數(shù)字濾波器雖然在硬件平臺(如單片機、DSP或通用計算機)上運行,濾波器的性能不由硬件決定,而由一系列的數(shù)字系數(shù)及相應算法決定。
數(shù)字濾波器根據(jù)單位沖激響應特性不同可分為有限沖激響應(FIR)濾波器和無限沖激響應(IIR)濾波器。FIR濾波器的單位沖激響應長度有限,因而它是穩(wěn)定的;同時,F(xiàn)IR濾波器可以實現(xiàn)嚴格的線性相位?;谝陨蟽蓛?yōu)點,F(xiàn)IR濾波器得到了更為廣泛的應用。
本文介紹在MATLAB軟件平臺上如何實現(xiàn)FIR濾波器的設計。
2.1數(shù)字濾波器的頻域性能參數(shù)
以數(shù)字低通濾波器的幅頻響應曲線(如圖1)為例,簡要介紹數(shù)字濾波器的頻域性能參數(shù)。
圖1 數(shù)字低通濾波器的幅頻響應
2.2FIR濾波器的數(shù)字特性描述
FIR濾波器是一種線性時不變系統(tǒng)(LTI)。對于LTI系統(tǒng)可以從單位沖激響應、系統(tǒng)傳遞函數(shù)、差分方程等多種形式進行分析。
FIR濾波器的單位沖激響應h(n)定義為:
FIR濾波器的傳遞函數(shù)H(z)為的h(n)的Z變換,用數(shù)學公式表示為:
FIR濾波器的輸入/輸出關系可用差分方程表示為:
FIR濾波器也可以用卷積的形式表示如下:
通過式(1)~式(4),可以概括出FIR濾波器的基本特征如下:1)FIR濾波器的單位沖激響應長度有限;2)由于長度有限,F(xiàn)IR濾波器是絕對穩(wěn)定系統(tǒng);3)FIR濾波器當前時刻的輸出僅與當前及之前時刻的輸入有關;4)FIR濾波器一般是非遞歸的,因而對有限字長的影響不敏感;5)FIR濾波器的卷積運算可用FFT來實現(xiàn),提高了運算效率。
3.1FIR濾波器設計方法的比較
從第2.2節(jié)可以看出,計算出FIR濾波器的系數(shù)h(0)、h(1)、h(2)…h(huán)(n-1),或者說是濾波器的單位沖激響應,是FIR濾波器設計的主要內容。FIR濾波器的設計方法有很多種,最常用的有窗函數(shù)法、頻率采樣法和最優(yōu)化方法。
窗函數(shù)設計方法最主要的優(yōu)點在于其實現(xiàn)過程較為簡單,運算量小,缺點是通帶偏差和阻帶偏差近似相等,使得窗函數(shù)很難同時滿足通帶起伏和阻帶衰減的要求。
頻率采樣法直接從頻域進行設計,物理概念清楚;適合窄帶濾波器的設計,頻率響應只有少數(shù)幾個非零值;其缺點在于只能控制阻帶衰減這個指標,不能控制通帶起伏。
最優(yōu)化法能夠精確地控制FIR濾波器的通帶、阻帶的邊沿頻率,并且能夠確定通帶、阻帶偏差,在滿足相同技術指標的情況下,濾波器的系數(shù)最少,因此這種設計方法使用較為普遍。
本文采用最優(yōu)法完成FIR濾波器的設計和仿真。
3.2FIR濾波器的最優(yōu)化法設計
MATLAB軟件中采用firpm算法來實現(xiàn)FIR濾波器的最優(yōu)化法的設計。其調用格式如下:
h=firm(N,f,a)
其中,h為濾波器的系數(shù);N為濾波器的長度;
f為濾波器給定的邊沿頻率;
a為各給定頻率上理想的幅度響應。
firpmord函數(shù)用于估算FIR濾波器的最優(yōu)化法設計的最低階數(shù)N,從而使濾波器在滿足指標的前提下占用硬件資源最少,其基本調用格式如下:
[N,fo,mo,w]=remezord(f,a,dev)
設計一FIR帶通濾波器,要求低端阻帶邊界頻率:ωs1=0.2π,高端阻帶邊界頻率:ωs2=0.8π;阻帶最小衰減:As=60dB;低端通帶邊界頻率:ωp1=0.35π,高端通帶邊界頻率:ωs1=0.65π;通帶最大衰減:Rp=1dB。
用firpm算法完成該帶通濾波器的設計,部分程序如下:
可得出幅頻響應曲線如圖2所示。
圖2 FIR帶通濾波器的頻率響應
從圖2仿真結果可以看出,通帶邊沿頻率、阻帶邊沿頻率、通帶衰減和阻帶衰減滿足指標要求。
FIR濾波器具有穩(wěn)定和線性相位的優(yōu)點,在數(shù)字信號處理中應用非常廣泛。MATLAB軟件計算功能強大,為數(shù)字濾波器的設計和仿真提供了良好平臺,并大大簡化了數(shù)字濾波器的設計,縮短了開發(fā)周期。
參考文獻
[1]陳后金,薛健,胡健.數(shù)字信號處理[M].北京:高等教育出版社,2004.
[2]陳亞勇.MATLAB信號處理詳解[M].北京:人民郵電出版社,2001.
[3]薛年喜.MATLAB在數(shù)字信號處理中的應用[M].北京:清華大學出版社,2003.
作者簡介:
趙秀克(1984-),男,工程師,現(xiàn)供職于陜西長嶺電子科技有限責任公司,主要從事無線電高度表的設計。