引言
數(shù)字信號處理現(xiàn)已在通信與信息系統(tǒng),、信號與信息系統(tǒng),、自動控制、需達(dá),、軍事,、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用,。在數(shù)字信號處理應(yīng)用中,, 濾波占有十分重要的地位, 如對信號的過濾,、檢測,、預(yù)測等, 都要廣泛地用到濾波器,。IIR數(shù)字濾波器的設(shè)計保留了一些典型模擬濾波器優(yōu)良的幅度特性,, 但所涉及的濾波器相位特性一般是非線性的, 而FIR濾波器則可在保證幅度特性并滿足技術(shù)要求的同時,, 也很容易做到嚴(yán)格的線性相位特性,。
1 基于窗函數(shù)法的FIR濾波器設(shè)計1.1 單位沖激響應(yīng)
首先應(yīng)根據(jù)技術(shù)要求確定待求濾波器的單位沖激響應(yīng)hd (n)。如果給出待求濾波器的頻率為Hd (ej),, 那么單位取樣響應(yīng)則可用下式求出:
如果給出通帶阻帶衰減和邊界頻率的要求,,則可選用理想濾波器作為逼近函數(shù),, 從而用理想濾波器的特性作傅立葉逆變換, 以求出hd (n),。若理想低通濾波器為:
1.2 過渡帶及阻帶衰減
根據(jù)對過渡帶及阻帶衰減的要求,, 設(shè)計時可選擇窗函數(shù)的形狀, 并估計窗口長度N,。設(shè)待求濾波器的過渡帶用Δω表示,, 它近似等于窗函數(shù)的主瓣寬度。由于過渡帶Δω近似與窗口長度N成反比,。即N=A/Δω,, 其中A決定于窗口形式, 例如,, 矩形窗A=4π,, 哈明窗A=8π等。按照過渡帶及阻帶衰減情況,, 選擇窗函數(shù)形式,。其設(shè)計原則是在保證阻帶衰減的情況下, 盡量選擇主瓣比較窄的窗函數(shù),。
1.3 單位取樣響應(yīng)的計算:
計算濾波器的單位取樣響應(yīng)h (n) 時,, 可按正式進(jìn)行:
驗算技術(shù)指標(biāo)是否滿足要求時其設(shè)計出的濾波器頻率響應(yīng)可采用下式進(jìn)行計算:
計算上式時, 可使用FFT算法,。如果H (ejω)不能滿足要求,, 那么, 根據(jù)具體情況,, 可重復(fù)上述設(shè)計,, 直到滿足要求為止,。
2 基于DSP的FIR數(shù)字濾波器實現(xiàn)方案
2.1 濾波系統(tǒng)的差分方程
實現(xiàn)方案 #e#
2.2 實現(xiàn)方案
由于在卷積運算之前,, h (n) 的N個數(shù)值是已知的, 因此,, 可先在程序存儲器中開辟N個單元來存放h (n),。由于輸入序列x (n) 是不斷變化的,因此,, 在數(shù)據(jù)存儲器中可開辟N個存儲單元并對其進(jìn)行移位寄存,, 其初始值分別為x (n)、x (n-1)……x (n-N-1),, 然后采用循環(huán)尋址的方法對其進(jìn)行訪問,。每次輸入新的樣本時, 可以以新樣本改寫滑窗中的最老的數(shù)據(jù),, 而滑窗中的其他數(shù)據(jù)則不需要移動,。利用片內(nèi)8 kB (循環(huán)緩沖區(qū)長度)寄存器可對滑窗進(jìn)行間接尋址,, 循環(huán)緩沖區(qū)地址首尾相鄰。8級循環(huán)緩沖區(qū)的結(jié)構(gòu)如圖1所示,, 其中頂部為低地址,, 圖1中的(a) (b) (c) 分別為初始狀態(tài)、輸入1個和2個樣本后的存儲情況,。
圖1 8級循環(huán)緩沖區(qū)結(jié)構(gòu),。
3 仿真結(jié)果
下面是一組信號采樣序列樣本x (n), 其中存在有高頻干擾?,F(xiàn)以x (n) 作為輸入序列,, 然后濾除其中的干擾成分。
{x (n)} = {-4,-2,0,-4,-6,-4,-2,-4,-6,-6,-4,-4,-6,-6,-2,6,12,8,0,-16,-38,-60,-84,-90,-66,-32,-4,-2,-4,8,12,12,10,6,6,*,0,0,0,0,0,-2,-4,0,0,0,-2,-2,0,0,-2,-2,-2,-2,0}
本設(shè)計的線性相位低通FIR數(shù)字濾波器的截止頻率ωc為0.2πrad,, 窗口長度N為11,。根據(jù)上述原理及實現(xiàn)方案, 若采用漢寧窗來實現(xiàn),, 則可依據(jù)算式計算出用漢寧窗設(shè)計時的各h (n) 的系數(shù):
{h (n)} = {0, 0.0045, 0.0349, 0.0991, 0.1692,0.2, 0.1692, 0.0991,0.0349, 0.0045, 0}
在CCS2.0軟件中觀察x (n) 的輸入曲線如圖2所示,, 圖3所示是其y (n) 輸出曲線。
由圖2和圖3兩圖對比可見,, 經(jīng)過濾波后,, 其輸入曲線變平滑了。并且,, 根據(jù)計算所得:
{y (n)} = {0,, -0.018, -0.1486,, -0.4662,, -0.893, -1.305,, -1.7006,, -2.1548, -2.6372,, -3.0062,, -3.1918, -3.3098,, -3.5296,, -3.8198,-4.009,, -4.0482,, -3.9514, -3.4596,, -2.0672,, 0.3162,, 2.7908, 3.*8,, 0.9464,, -6.2018, -17.6736,, -31.8884,, -45.5584, -54.1796,, -54.044,, -44.916, -30.6*,, -16.6756,, -6.3676, 0.058,,4.037,, 6.5272, 7.5976,, 7.318,, 6.2854, 5.0906,, 3.8896,, 2.*2, 1.5078,, 0.6238,, 0.0788, -0.3198,, -0.7348,, -1.0768, -1.1474,, -0.9538,,-0.7342,, -0.6852,, -0.7*, -0.8172,, -0.8136,,-0.8834} 上面一共56個值。
圖2 x (n) 輸入曲線
圖3 y (n) 輸出曲線
4 結(jié)束語
通過實驗結(jié)果可見,, 本設(shè)計用DSP設(shè)計的FIR數(shù)字濾波器的輸出曲線對應(yīng)值與計算所得值完全相符,, 由此證明,, 本設(shè)計的程序是正確的。