謝海霞,孫志雄
(海南熱帶海洋學(xué)院海洋信息工程學(xué)院,海南三亞572022)
軟件無線電系統(tǒng)中各個模塊的信號速率是不同的,它實質(zhì)上通過抽取和內(nèi)插的方法來改變數(shù)字信號的速率,多速率信號處理是數(shù)字上變頻、下變頻技術(shù)處理的依據(jù)。實際應(yīng)用中,通常采用CIC濾波器,HB濾波器,多相結(jié)構(gòu)濾波器和FIR濾波器等改變信號速率且避免頻域混疊[1-3]。
文中對不同級數(shù)、不同抽取因子的CIC、HB作性能對比,提出一種抽取濾波器級聯(lián)組的設(shè)計方案,旨在解決在AD采樣速率很高,所需基帶信號的帶寬很窄,且計算量減少時等問題,從而找出最適用的多速率濾波器,最后通過MATLAB仿真實現(xiàn)[4-6]。
多速率信號處理技術(shù)的基礎(chǔ)理論是抽取和內(nèi)插,如D倍抽取是每隔D-1個采樣點抽取一個點即去掉多余數(shù)據(jù)降低采樣率的過程,I倍內(nèi)插是相鄰抽樣點之間插入I-1個零值點即增加數(shù)據(jù)提高采樣率的過程。從時域上直接進行抽取和內(nèi)插會產(chǎn)生頻域的擴展和壓縮,導(dǎo)致頻譜失真。實質(zhì)上多速率信號處理是先通過時域上的抽取和內(nèi)插,再結(jié)合濾波器一起操作,以達到轉(zhuǎn)換信號速率,保證有用頻帶內(nèi)沒有頻譜混疊的目的。當(dāng)A/D采樣速率很高,所需基帶信號的帶寬很窄時,那么抽取因子D必然會很大,如采用一級抽取濾波器完成,則該濾波器階數(shù)非常高,計算量大,難實現(xiàn)。實際實現(xiàn)中常采用多級級聯(lián)抽取結(jié)構(gòu)來實現(xiàn),同時減少計算量。經(jīng)典多速率信號抽取處理結(jié)構(gòu)如圖1所示[7-9]。

圖1 多速率信號抽取器結(jié)構(gòu)圖
在多級級聯(lián)抽取器中,第一級一般采用積分梳狀(CIC)抽取濾波器實現(xiàn),因為其實現(xiàn)結(jié)構(gòu)簡單,適合高采樣速率的情況。CIC濾波器系統(tǒng)傳遞函數(shù)為:

CIC濾波器由梳狀部分和積分部分組成,其HC(z)是梳狀濾波器,HI(z)是積分器,D為抽取倍數(shù)。其幅頻響應(yīng)為:

在[0,2π/D]頻率區(qū)稱為CIC濾波器的主瓣,其他區(qū)間為旁瓣。由于單級CIC濾波器的第一旁瓣電平比較大,只比主瓣電平低13.46dB,這意味著阻帶衰減較差,難以滿足實際使用要求。為了降低旁瓣電平,工程上多采用CIC多級級聯(lián)的方法來解決[10-12]。
多級CIC抽取濾波器傳遞函數(shù)為:

N不宜取太大,一般取N=5時,阻帶衰減達到67.3 dB,基本能滿足實際要求。
多級級聯(lián)CIC濾波器在降低了旁瓣電平,增大了阻帶衰減的同時也大大提高了通帶的失真。為了解決傳統(tǒng)的CIC濾波器的通帶波紋大、過渡帶長、阻帶衰減小,最直接最簡單的辦法就是在CIC濾波器之后級聯(lián)一個補償濾波器,它可以在一定程度上改善CIC濾波器的性能。
半帶(HB)濾波器的阻帶寬度(π-WA)與通帶寬度(WC)是相等的,且通阻帶波紋也相等,如圖2所示[10-12]。

圖2 HB濾波器頻響圖
半帶濾波器的沖激響應(yīng)h(n)除零點不為零處,在其余偶數(shù)點全都為零,所以采用半帶濾波器來實現(xiàn)速率變換時,只需一半的計算量,適合處理較高速的數(shù)據(jù)。
FIR濾波器也是有限沖激響應(yīng)濾波器,實現(xiàn)時是一個無反饋的電路。輸出值均不受之前的輸出狀態(tài)影響,只與此時的與之前的輸入有關(guān)。前面的CIC濾波器和HB濾波器是具有獨特性質(zhì)的FIR濾波器,而這里指的是普通型的FIR濾波器。值得注意的是如果將CIC濾波器或HB濾波器作為多級濾波器的最后一級時,過渡帶往往過大且有混疊而不能滿足濾波器特性的總體要求,所以后級必須要用其他類型的FIR濾波器對整體濾波器的輸出進行整波濾除多余的頻率分量。
多速率系統(tǒng)中只有抽取和內(nèi)插實現(xiàn)速率轉(zhuǎn)換,計算量很大。如果抽取濾波器的H(z)長度為N,抽取因子為D倍。則


圖3 D倍抽取器的示意圖
對u(n)每D個點進行抽取一次輸出,也就是只需在n=kD(k=1,2,…)時計算輸出結(jié)果,計算復(fù)雜度為原來的1/D。為適用于實時系統(tǒng),采取優(yōu)化實現(xiàn)結(jié)構(gòu),提高計算效率,使用多相分解[13]。

由式子(5)可得:


圖4 多相濾波器結(jié)構(gòu)圖
根據(jù)多相濾波的原理,對整個多速率系統(tǒng)的非遞歸各個單元作多相并行處理,圖4中濾波器EK(zD)為多相濾波器放在抽取之后進行,這就大大降低了對處理速度的要求,提高了實時處理能力。另一個好處就是每一分支路濾波器的系數(shù)由原先的N個減少為N/D個,可以減小濾波運算累積誤差,提高計算精度[14-15]。
輸入采樣頻率512 kHz,輸出信號頻率4 kHz,通帶截止頻率1.2 kHz,帶內(nèi)波動小于0.01 dB,阻帶起始頻率2 kHz,帶外抑制大于65 dB。
設(shè)計的數(shù)字抽取器要求實現(xiàn)128倍的抽取,如采用單個濾波器實現(xiàn)時,需要2294階,這樣高階數(shù)的濾波器實現(xiàn)起來非常困難。而解決這個難題的方法是采用濾波器多級級聯(lián)來實現(xiàn)。通常用來實現(xiàn)抽取的濾波器主要有CIC抽取濾波器,HB抽取濾波器。本文對于抽取倍數(shù)D=128,取三級抽取倍數(shù)分別為 D1=32,D2=2,D3=2(D=D1D2D3),CIC濾波器能實現(xiàn)抽取倍數(shù)比較大的抽取,因此作為整個數(shù)字抽取濾的第一級,為了補償CIC抽取濾波器的通帶衰減速,在其后面級聯(lián)一個補償濾波器,而HB抽取濾波器能實現(xiàn)兩倍抽取,所以D2和D3倍的抽取由HB濾波器來實現(xiàn)。FIR濾波器放在最后級聯(lián)以進行較為精確的濾波整形,濾掉無用信號。
32倍抽取采用CIC抽取濾波器實現(xiàn),階數(shù)為3,其幅頻響應(yīng)如5圖所示。

圖5 CIC濾波器幅頻響應(yīng)圖
從圖5中可以看出,3階32倍CIC抽取濾波器的通帶內(nèi)衰減較大,δ≈0.1102dB,顯然不滿足要求,所以后級必須對其進行通帶補償。
4倍抽取分別由兩級2倍BH抽取濾波器來實現(xiàn),經(jīng)過32倍CIC抽取濾波器處理后,采樣率下降至16 kHz,因此第一級HB濾波器的采樣頻率為16 kHz,利用MATLAB中的FDATool工具進行設(shè)計,輸入設(shè)計參數(shù),采用等波紋設(shè)計法(equiripple),可得到第一級HB濾波器的系數(shù),如表1所示。第二級HB抽取濾波器的采樣率為8 kHz,設(shè)計方法同第一級HB抽取濾波器,得到第二級HB濾波器的系數(shù),如表1所示[16]。

表1 兩級HB濾波器的系數(shù)
補償濾波器是實現(xiàn)CIC濾波器通帶頻率響應(yīng)的修正。MATLAB帶有的inverse sinc濾波器幅頻響應(yīng)與CIC濾波器的相反,因此可以用它來逼近。利用MATLAB中的filter builder工具設(shè)計該濾波器,其幅頻響應(yīng)如圖6所示,在通帶0.8 kHz邊緣處幅度增加約0.11 dB,可以補償CIC抽取濾波器的通帶衰減。補償濾波器的系數(shù)如表2所示。
最后一級FIR濾波器實現(xiàn)濾波整形。確定濾波器采樣頻率為8 kHz,通帶截止為0.8 kHz,阻帶起始頻率為1.2 kHz,通帶衰減0.01 dB,阻帶衰減65 dB,采用FDATool設(shè)計可以得到所需的FIR濾波器的系數(shù)。其系數(shù)見表2。

圖6 補償濾波器幅頻響應(yīng)圖
將整個系統(tǒng)按照圖1全部級聯(lián),各級濾波器及整體系統(tǒng)的幅頻響應(yīng)如圖7所示,通過觀察可以看出經(jīng)過補償濾波器以后整體的通帶衰減改善了不少,幅頻曲線十分平坦,整體的通帶波動在0.01 dB以內(nèi),達到了的要求。

表2 補償及FIR濾波器的系數(shù)

圖7 各級濾波器及整體抽取器頻譜圖
各級濾波器由MATLAB設(shè)計完畢后,具體的實現(xiàn)由verilog HDL代碼來描述。先把將各級濾波器的代碼寫好,最后將各級濾波器實現(xiàn)整體級聯(lián),編寫測試文件,在ModelSim進行仿真,觀察輸出波形圖。從圖8可以看到,clk為輸入時鐘,,clk_enable為輸入使能信號,reset為復(fù)位信號,filter_in為輸入信號,filter_out為輸出信號,ce_out為輸出提示信號。在輸入信號作用下,每隔128個時鐘周期信號對整體濾波器的輸出信號filter_out進行一次賦值。也就是說,每隔一個時鐘周期輸入信號filter_in變化一次,每隔128個時鐘周期才會有一個filter_out輸出變化,顯然,輸入信號的頻率是輸出信號頻率的128倍,也就是說對輸入信號filter_in實現(xiàn)128倍抽取,整個系統(tǒng)達到128倍抽取的功能。這與我們想要實現(xiàn)的目的相吻合的。

圖8 仿真波形圖
文中介紹了CIC濾波器、HB濾波器、FIR濾波器和多相濾波器等多速率處理技術(shù)實現(xiàn)信號的抽取和內(nèi)插,并通過MATLAB設(shè)計了一種多級抽取濾波器,通過verilog HDL代碼實現(xiàn)該系統(tǒng),最后在ModelSim進行仿真,驗證了我們設(shè)計的正確性。