王艷文岳學強.新鄉醫學院生物醫學工程學院 河南新鄉 453003 .新鄉醫學院基礎醫學院 河南新鄉 453003
基于PM算法的數字微分器設計
王艷文1岳學強2
1.新鄉醫學院生物醫學工程學院 河南新鄉 453003 2.新鄉醫學院基礎醫學院 河南新鄉 453003
本文利用PM算法實現了數字微分器的matlab設計,程序運行結果符合數字微分器的設計技術要求。
matlab;濾波器;數字微分器; PM算法
數字濾波是數字信號處理的基本方法,與模擬濾波器相比有很多優點,其精度高、成本低、穩定可靠性強、適應范圍廣,避免了模擬濾波固有的電壓漂移、溫度漂移和噪聲等問題。數字濾波器包括有限長FIR(finite impulse response)濾波器和無限長IIR(infinite impulse response)濾波器。FIR數字濾波器幅頻特性精度比IIR低,且濾波器所需階次比較高,但是它擁有很好的線性相位特性,即不同頻率分量的信號經過FIR濾波器后其時間差不變。
MATLAB是美國MathWorks公司推出的一套用于工程計算的可視化高性能語言與軟件環境,是數字信號處理技術實現的重要手段。Matlab信號處理工具箱采用Parks-McClellan算法(簡稱PM算法)實現線性相位FIR數字濾波器的等波紋最佳一致逼近設計。與其他設計法相比,其優點是:設計指標相同時,使濾波器階數最低;或階數相同時,使帶通最平坦,阻帶最小衰減最大;通帶和阻帶均為等波紋形式,最適合設計片段常數特性的濾波器。本文采用PM算法實現數字微分器的設計。
根據研究任務,設計一個數字微分器,它在每段上具有不同的斜率。技術指標為:
第一段:0≤w≤0.2= 1 個樣本/周期π 斜率
第二段:0.4π≤w≤0.6= 2 個樣本/周期π 斜率
第三段:0.8π≤w≤π 斜率= 3 個樣本/周期
該濾波器設計中每段上的幅度響應值,可由頻率帶邊緣頻率乘以斜率得到:
第一段:0≤f≤0.1 斜率= 1 個樣本/周期→0≤|H|≤0.1
第二段:0.2≤f≤0.3 斜率= 1 個樣本/周期→0.4≤|H|≤0.6
第三段:0.4≤f≤0.5 斜率= 1 個樣本/周期→1.2≤|H|≤1.5
采用PM算法,設計程序如下:
由運行程序的濾波器脈沖響應和頻域曲線(如圖1所示)可以看出,所設計的數字微分器滿足設計要求。
圖1 運用PM算法設計的數字微分器的實際脈沖響應和頻幅曲線圖
利用MATLAB設計濾波器方法簡單、快捷直觀。本文采用PM算法,利用MATLAB設計了數字微分器,程序運行結果符合設計技術指標要求,取得了較理想的實驗效果。
[1]祁才君.數字信號處理技術的算法分析與應用[M].北京:機械工業出版社,2005:24-25
[2]段佳佳.基于MAT LAB的FIR濾波器的設計.電子測試[J]. 2011:(8)19-21
[3]董長虹.Matlab信號處理與應用[M].北京:國防工業出版社,2005:118-124