0 引言
數(shù)字信號(hào)處理現(xiàn)已在通信與信息系統(tǒng)、信號(hào)與信息系統(tǒng)、自動(dòng)控制、需達(dá)、軍事、航空航天、醫(yī)療和家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。在數(shù)字信號(hào)處理應(yīng)用中, 濾波占有十分重要的地位, 如對(duì)信號(hào)的過(guò)濾、檢測(cè)、預(yù)測(cè)等, 都要廣泛地用到濾波器" title="濾波器">濾波器。IIR數(shù)字濾波器的設(shè)計(jì)保留了一些典型模擬濾波器優(yōu)良的幅度特性, 但所涉及的濾波器相位特性一般是非線性的, 而FIR" title="FIR">FIR濾波器則可在保證幅度特性并滿足技術(shù)要求的同時(shí), 也很容易做到嚴(yán)格的線性相位特性。
1 基于窗函數(shù)法的FIR濾波器設(shè)計(jì)1.1 單位沖激響應(yīng)
首先應(yīng)根據(jù)技術(shù)要求確定待求濾波器的單位沖激響應(yīng)hd (n)。如果給出待求濾波器的頻率為Hd (ej), 那么單位取樣響應(yīng)則可用下式求出:
如果給出通帶阻帶衰減和邊界頻率的要求,則可選用理想濾波器作為逼近函數(shù), 從而用理想濾波器的特性作傅立葉逆變換, 以求出hd (n)。若理想低通濾波器為:
1.2 過(guò)渡帶及阻帶衰減
根據(jù)對(duì)過(guò)渡帶及阻帶衰減的要求, 設(shè)計(jì)時(shí)可選擇窗函數(shù)的形狀, 并估計(jì)窗口長(zhǎng)度N。設(shè)待求濾波器的過(guò)渡帶用Δω表示, 它近似等于窗函數(shù)的主瓣寬度。由于過(guò)渡帶Δω近似與窗口長(zhǎng)度N成反比。即N=A/Δω, 其中A決定于窗口形式, 例如, 矩形窗A=4π, 哈明窗A=8π等。按照過(guò)渡帶及阻帶衰減情況, 選擇窗函數(shù)形式。其設(shè)計(jì)原則是在保證阻帶衰減的情況下, 盡量選擇主瓣比較窄的窗函數(shù)。
1.3 單位取樣響應(yīng)的計(jì)算:
計(jì)算濾波器的單位取樣響應(yīng)h (n) 時(shí), 可按正式進(jìn)行:
驗(yàn)算技術(shù)指標(biāo)是否滿足要求時(shí)其設(shè)計(jì)出的濾波器頻率響應(yīng)可采用下式進(jìn)行計(jì)算:
計(jì)算上式時(shí), 可使用FFT算法。如果H (ejω)不能滿足要求, 那么, 根據(jù)具體情況, 可重復(fù)上述設(shè)計(jì), 直到滿足要求為止。
2 基于DSP" title="DSP">DSP的FIR數(shù)字濾波器實(shí)現(xiàn)方案
2.1 濾波系統(tǒng)的差分方程
2.2 實(shí)現(xiàn)方案
由于在卷積運(yùn)算之前, h (n) 的N個(gè)數(shù)值是已知的, 因此, 可先在程序存儲(chǔ)器中開辟N個(gè)單元來(lái)存放h (n)。由于輸入序列x (n) 是不斷變化的,因此, 在數(shù)據(jù)存儲(chǔ)器中可開辟N個(gè)存儲(chǔ)單元并對(duì)其進(jìn)行移位寄存, 其初始值分別為x (n)、x (n-1)……x (n-N-1), 然后采用循環(huán)尋址的方法對(duì)其進(jìn)行訪問。每次輸入新的樣本時(shí), 可以以新樣本改寫滑窗中的最老的數(shù)據(jù), 而滑窗中的其他數(shù)據(jù)則不需要移動(dòng)。利用片內(nèi)8 kB (循環(huán)緩沖區(qū)長(zhǎng)度)寄存器可對(duì)滑窗進(jìn)行間接尋址, 循環(huán)緩沖區(qū)地址首尾相鄰。8級(jí)循環(huán)緩沖區(qū)的結(jié)構(gòu)如圖1所示, 其中頂部為低地址, 圖1中的(a) (b) (c) 分別為初始狀態(tài)、輸入1個(gè)和2個(gè)樣本后的存儲(chǔ)情況。
圖1 8級(jí)循環(huán)緩沖區(qū)結(jié)構(gòu)。
3 仿真結(jié)果
下面是一組信號(hào)采樣序列樣本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è)計(jì)的線性相位低通FIR數(shù)字濾波器的截止頻率ωc為0.2πrad, 窗口長(zhǎng)度N為11。根據(jù)上述原理及實(shí)現(xiàn)方案, 若采用漢寧窗來(lái)實(shí)現(xiàn), 則可依據(jù)算式計(jì)算出用漢寧窗設(shè)計(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兩圖對(duì)比可見, 經(jīng)過(guò)濾波后, 其輸入曲線變平滑了。并且, 根據(jù)計(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個(gè)值。
圖2 x (n) 輸入曲線
圖3 y (n) 輸出曲線
4 結(jié)束語(yǔ)
通過(guò)實(shí)驗(yàn)結(jié)果可見, 本設(shè)計(jì)用DSP設(shè)計(jì)的FIR數(shù)字濾波器的輸出曲線對(duì)應(yīng)值與計(jì)算所得值完全相符, 由此證明, 本設(shè)計(jì)的程序是正確的。