基于Matlab的FIR數字濾波器設計
2 FIR數字濾波器設計
2.1 窗函數法設計FIR濾波器方案
在Matlab中可直接產生窗函數:矩形窗(Rectangle Window),三角窗(Triangular Window),漢寧窗(Hanging Window),凱塞窗(Kaiser Window)等,通過調用系統(tǒng)的函數即可實現窗的加載。具體調用方法如下:調用格式:w=函數名(n),根據長度n產生一個矩形窗w。一般正常的心電信號頻率范圍在0.05~100 Hz之內,這本身就是一種比較微弱的電信號,當受到身體其他器官的干擾信號后,心電信號將會嚴重失真。另外還要考慮到電子器件噪聲和50 Hz的工頻信號的存在。這就需要盡量消除噪聲和干擾的影響。這里選取低通濾波器的設計指標為:通帶截止頻率ωp=0.2π,阻帶截止頻率ωs=0.3π,最小阻帶衰減As≥50 dB。所以得出過渡帶寬tr_width=ωs-ωp,列長N=10 π/tr_width。選擇窗函數一般是選擇主瓣較寬的,這樣可以增加阻帶的衰減,保證了通帶的平穩(wěn),另外在保證阻帶最小衰減指標的情況下,適當增加列長N值,窄化過渡帶。根據窗函數最小阻帶衰減的特性。只有海明窗和凱塞窗可提供大于50 dB的衰減。實際應用中選用窗函數大多是它們的折中,凱塞窗可以通過改變參數值來折中選擇主瓣寬度和旁瓣衰減,基于此的濾波器適應能力強且比較靈活。本文即是采用的凱塞窗編程設計。窗函數設計法是用一定寬度窗函數截取無限脈沖響應序列獲得有限長的脈沖響應序列,設計步驟為:
(1)通過傅里葉逆變換獲得理想濾波器的單位脈沖響應hd(n)。
(2)由性能指標確定窗函數W(n)和窗口長度N。
(3)求得實際濾波器的單位脈沖響應h(n),h(n)即為所設計FIR濾波器系數向量a(n)。
(4)檢驗濾波器性能。
Matlab信號處理工具箱提供了各種窗函數、濾波器設計函數和濾波器實現函數。設計中利用Matlab提供的函數firl來實現,編程則是直接調用這些函數簡單直觀的完成設計。調用格式:firl(n,Wn,‘ftype’,Window),其中n為階數、Wn為截止頻率、ftype是濾波器的類型、Window是窗函數。應用凱塞窗的代碼如下:
程序執(zhí)行的結果如圖1,圖2所示。本文引用地址:http://cafeforensic.com/article/187216.htm
從濾波效果圖看,所設計的濾波器基本消除了噪聲和干擾的影響,客觀的得出真實信號。按照設計方案中濾波器的指標,執(zhí)行函數操作可以得到:N=68,As=59。之后增加參數N值。在該設計中,利用凱塞窗函數,執(zhí)行了多種N值的改變。伴隨N值增大,過渡帶變窄,但阻帶的最小衰減沒有改變。
電源濾波器相關文章:電源濾波器原理
數字濾波器相關文章:數字濾波器原理
評論