張壽安 張靜雅
(1.六安職業技術學院信息與電子工程學院 安徽六安 237000;2.皖西學院電子與信息工程學院 安徽六安 237000)
伴隨著計算機電子技術與集成電路技術的不斷更新,采用數字濾波器處理數字信號已經成為現代電子數字系統的發展主流[1]。其中FIR(有限長單位沖激響應)濾波器是備受企業與科研人員關注的熱點,其設計方法有很多,例如窗函數法、頻率選擇法、最優設計法等。屈召貴利用窗函數法對離散信號的數字代碼進行運算處理,實現改變信號頻譜的技術應用[2]。夏利霞等人采用了粒子群優化算法實現了濾波器頻率特性的優化,與遺傳算法相比具有更快的收斂速度[3]。為實現FIR濾波器參數的優化通常采用MATLAB工具進行仿真模擬。例如蔣夢影等人比較了程序設計法、FDATool設計法與SPTool設計法的性能,具有較強的實用性[4]。但是不能精確的控制濾波器通帶阻帶的頻率,導致設計出來的濾波器在實際應用中存在很大的阻礙。然而,杜林等人采用約束最小二乘法進行FIR數字濾波器設計,在MATLAB仿真結果表明最小二乘法顯示更強大的生命力與實用性[5]。本文利用MATLAB工具箱設計濾波器,根據對比設計要求和理想的濾波器性能,不斷調整參數使得濾波器的設計變得更加直觀簡便,工作量較小,也有利于達到濾波器設計的最優解。
(一)FIR濾波器的基本結構。FIR濾波器的頻率響應在時域上為有限長度,結構主要包括橫截型和級聯型。
1.FIR濾波器的橫截型結構。FIR濾波器系統的輸入輸出的方程為:

由以上方程直接實現得到的濾波器如圖1:

圖1 FIR濾波器的橫截型結構
2、FIR濾波器的級聯型結構。將H(z)分解成實系數二階因子的乘積形式:

濾波器用二階節的級聯結構來實現,每個二階節采用橫截型結構,如圖2所示[6]:

圖2 FIR濾波器級聯型結構
(二)利用約束最小二乘法求濾波器系數方法。約束最小二乘法主要是采用最小二乘法與拉格朗日乘子法結合,即可以解決優化問題,又能考慮帶約束的情況。
設一組超定矛盾方程為:

式中r≥e,rank(A)=e。最小二乘解為:χLS=(ATA)-1ATf
式中的解χLS只是所有r個方程的近似解,并不是精確解,如果需要精確滿足其中的rm個方程,就需要在某些頻率點上被精確控制,而剩下的點,即余下的rs=r-rm個方程只要近似滿足就可以。所以,式(3)可以分解為rm個重要方程和rs個次要方程:

其中rm≤e和rs≥e。式(3)的約束最小二乘解χCLS的解:

使得Amχ=fm。為了求出拉格朗日乘子法求解式(3)描述的條件極值,首先建立拉格朗日函數:


由上式知

將式(5)代入約束條件(3),則得:

最后將式(7)代回式(5)就導出約束最小二乘法(CLS)的解為:

那么只要As和Am分別為列滿秩和行滿秩矩陣就存在,式(8)表達的約束最小二乘解也就存在。
為了確定FIR濾波器的階數N,在頻率[0,π]的取值范圍內,用H(ω)逼近Hd(ω),得到逼近曲線,也就是得先求出系數組:Φ(n)=[α(0,α(1),……α(r-1))]。
式(3)中的系數矩陣寫為:

其中,ωi(i=1.2.…m)頻率在[ 0 ,π]的取值范圍內分為稠密柵格,在某些需要特殊滿足的點上對幅值約束,例如在ω1=0或是過渡帶的一半處,得到方程,根據式(8)解出濾波器的系數Φ(n)。
(一)FI濾波器的仿真設計。利用MATLAB工具進行仿真設計,其幅度滿足下式:

其中,截止頻率ωc=0.3π,要求H(0)=1,過渡帶的一半ω=0.25π處,H(ωc)=0.5。為設計出最優的濾波器,需要:(1)濾波器階數N的選擇,以及N對濾波器性能的影響;(2)選擇精確方程的個數,以及點的位置。
以階數N=12為例進行了設計,其中精確方程個數rm分別等于2、3、5即要求其中分別有2、3、5個重要方程被要求精確滿足,而其余rs=r-rm個次要方程近似滿足。
1、首先分別選擇的兩個點為ω=0,ω=0.25π,即

2、其次選擇三個重要方程的點分別是ω=0,w=0.25π,ω=0.3π,即

3、此外,再次分別選擇五個點,ω=0,ω=0.2π,ω=0.25π,ω=0.3π,ω=0.35π,同時另選23個點,作為次要方程點分別為,

即23個次要方程,其系數矩陣為:

(二)精確方程個數和濾波器階數對濾波器性能的影響
1.精確方程個數對濾波器性能影響分析。為了明確不同精確方程個數對濾波器性能的影響,分別設置精確方程個數的參數為rm=2,3,5進行仿真模擬。

圖3 不同方程個數對濾波器性能的影響
從圖3可以看出當rm=3時,仿真出的濾波器和要求的濾波器的性能最接近。即當精確方程的個數為3,且在點ω=0,ω=0.25π,ω=0.3π處對幅值約束,此時仿真得到的濾波器性能最好,最符合要求。
2.不同濾波器階數對濾波器性能的影響分析。對于濾波器階數N的選擇,經過多次試驗,仿真結果如圖4所示:當N=8時,此時的濾波器阻帶最平穩;當N=10時,此時濾波器通帶最平穩,但是阻帶波動較大;N=14時,濾波器的通帶和阻帶都相對平穩.隨著N的增大,過渡帶也逐漸變窄。綜合上述結果,可以得到當N=14時濾波器的性能最好,最符合要求.但無論N等于多少,仿真出的濾波器在約束的點,即H(0)=1.00,H(ωc)=0.50,嚴格滿足設計要求。

圖4 不同階數對濾波器性能的影響
(三)不同函數對濾波器性能的影響。然而考慮到在MATLAB進行設計過程中,函數參數方法對于濾波器設計時振幅響應有明顯的差異性。為了更好的了解約束最小二乘的優缺點,分別利用firls函數和remez函數設計相同參數的低通濾波器來進行對比,其中濾波器階數N=14,rm=3,并運行20次,濾波器參數如圖5所示。

圖5 FIR濾波器系數分布圖
如圖6所示,與firls函數和remez函數相比約束最小二乘法執行速度快且結果穩定,在約束點可以被嚴格控制,更接近于理想約束點即H(0)=1.00,H(ωc)=0.50。同時,在過渡帶上約束最小二乘法設計的濾波器相對較窄,設計通帶相對于其余兩種方法更平穩,但是阻帶有波紋,波紋相對不是很平穩,較比其余兩種方法幅度更大。

圖6 三種方法設計的濾波器的比較
綜上所述,運用最小二乘法,結合拉格朗日法解決帶等式約束的FIR濾波器設計,實驗結果證明了其有效性。這種方法計算簡便,易于實現,具有通用性,可以根據需要通過調整參數,設計所需的濾波器,具有較強的靈活性。
本文介紹基于MATLAB的FIR數字濾波器設計,使用最小二乘法處理所得的數據,得到最優擬合曲線,得到優化曲線最小的階數與理想濾波器的關系曲線。主要得到以下結論:
(一)采用約束最小二乘法較firls函數和remez函數方法計算簡便,易于實現,更具有通用性。
(二)當濾波器階數N=14,精確方程個數rm=3時,濾波器性能最佳,通帶和阻帶都相對平穩。
(三)約束最小二乘法在FIR濾波器設計中,對于濾波器幅頻響應上更加接近理想約束點。
(四)采用MATLAB工具能夠很直觀地分析最小二乘法設計的優缺點。