(上海船舶電子設(shè)備研究所 上海 201108)
FRM技術(shù)是目前設(shè)計(jì)窄過(guò)渡帶濾波器應(yīng)用較廣的一種技術(shù),可設(shè)計(jì)任意帶寬的窄過(guò)渡帶濾波器,且復(fù)雜度較低,目前國(guó)內(nèi)外對(duì)其的研究主要集中在結(jié)構(gòu)優(yōu)化設(shè)計(jì)[1~5]、相關(guān)算法[6]、應(yīng)用領(lǐng)域以及相應(yīng)的硬件實(shí)現(xiàn)方面[7~8],其目的是降低實(shí)現(xiàn)的復(fù)雜度以及相應(yīng)的工程應(yīng)用。在結(jié)構(gòu)優(yōu)化方面一般是對(duì)原型濾波器和屏蔽濾波器進(jìn)行優(yōu)化設(shè)計(jì),目前在減少FRM濾波器復(fù)雜度方面可做的工作不多,多集中在應(yīng)用與硬件實(shí)現(xiàn)方面。
由于CIC濾波器的結(jié)構(gòu)簡(jiǎn)單,沒(méi)有乘法器、只有加法器、積分器和寄存器,只需將相鄰的數(shù)據(jù)相加即可得到輸出數(shù)據(jù)[9],適合于工作在高采樣率條件下,具有運(yùn)算速度快,占用資源少的特點(diǎn),因此可以將CIC濾波器應(yīng)用于FRM濾波器中,作為屏蔽濾波器,進(jìn)一步降低FRM濾波器所需乘法器的數(shù)量,進(jìn)而降低了復(fù)雜度,且CIC多應(yīng)用在窄過(guò)渡帶低通FRM濾波器中。
System generator[10~12]是 Xilinx 公司推出的 DSP設(shè)計(jì)開(kāi)發(fā)工具,通過(guò)在Matlab的Simulink環(huán)境中搭建模型,然后調(diào)用System generator自動(dòng)將Simulink模型轉(zhuǎn)換成FPGA可執(zhí)行的模型,直接生成FPGA可執(zhí)行的代碼,然后經(jīng)過(guò)綜合、仿真以及相應(yīng)芯片的配置后下載到硬件環(huán)境中進(jìn)行測(cè)試。
本文通過(guò)使用ISE軟件中的System generator工具庫(kù),結(jié)合Matlab/Simulink庫(kù)搭建相應(yīng)的模塊來(lái)驗(yàn)證采用CIC的FRM低通濾波器設(shè)計(jì)方法的硬件可實(shí)現(xiàn)性,通過(guò)對(duì)采用多級(jí)內(nèi)插和多級(jí)抽取CIC構(gòu)成的FRM低通濾波器進(jìn)行分析,并與傳統(tǒng)的FRM低通濾波器進(jìn)行對(duì)比,說(shuō)明了多級(jí)內(nèi)插積分梳狀濾波器在FRM低通濾波器設(shè)計(jì)中的有效性。
頻率響應(yīng)屏蔽技術(shù)[2](Frequency Response Masking,F(xiàn)RM)是設(shè)計(jì)窄過(guò)渡帶濾波器最常用的方法。通過(guò)使用原型濾波器和與其幅度互補(bǔ)的濾波器來(lái)產(chǎn)生任意帶寬的窄過(guò)渡帶濾波器,且相對(duì)于傳統(tǒng)的方法,F(xiàn)RN技術(shù)減少了乘法器的使用,進(jìn)而降低了硬件資源的復(fù)雜度,所以近年來(lái)對(duì)其的應(yīng)用與研究較多,其基本一級(jí)結(jié)構(gòu)如圖1所示。
圖1 FRM濾波器的基本結(jié)構(gòu)
FRM濾波器的結(jié)構(gòu)包括原型濾波器以及和它幅度互補(bǔ)的濾波器和兩個(gè)屏蔽濾波器,通過(guò)進(jìn)行內(nèi)插得到過(guò)渡帶較窄的濾波器,M為內(nèi)插因子,屏蔽濾波器的作用是去除原型濾波器內(nèi)插引起的多余周期子帶。原型濾波器和兩個(gè)屏蔽濾波器的傳輸函數(shù)如下:
其基本的傳輸函數(shù)為
其濾波過(guò)程原理如圖2所示。圖中M表示內(nèi)插因子,θ和φ分別為濾波器的通帶截止頻率和阻帶截止頻率,m為一個(gè)整數(shù)。圖(a)和圖(b)分別表示FRM濾波器形成的兩種情況。圖(a)表示由插值后的原型濾波器提供過(guò)渡帶的情況,圖(b)表示由插值后原型濾波器的互補(bǔ)濾波器提供過(guò)渡帶的情況,兩種方法產(chǎn)生的過(guò)渡帶寬度一樣,但是各個(gè)濾波器的通帶寬度不一樣,而且每個(gè)濾波器中的子濾波器的階數(shù)也不一樣,所以產(chǎn)生的目標(biāo)濾波器的復(fù)雜度也不一樣。通過(guò)將以上參數(shù)代入不同的表達(dá)式來(lái)計(jì)算以上兩種情況下的各個(gè)子濾波器的截止頻率,使其達(dá)到最優(yōu),滿足所設(shè)計(jì)的低復(fù)雜度濾波器的要求。
圖2 FRM濾波器設(shè)計(jì)原理圖
積分梳狀濾波器一般是用來(lái)完成抗混疊(或去鏡像)濾波的[5],它的沖激響應(yīng)函數(shù)為
(R為FIR濾波器的長(zhǎng)度)
從濾波器的沖激響應(yīng)可以看出,CIC濾波器是一種具有線性相位的FIR濾波器,當(dāng)通過(guò)卷積和來(lái)計(jì)算輸出信號(hào)時(shí),可以看出其濾波計(jì)算只有加法而沒(méi)有乘法,只需將相鄰的數(shù)據(jù)相加即可得到輸出數(shù)據(jù),卷積公式為
由此可以看出積分梳狀濾波器不僅可以節(jié)省硬件資源,而且減少了運(yùn)算時(shí)間。因此將CIC應(yīng)用在FRM濾波器中可以進(jìn)一步降低復(fù)雜度,其結(jié)構(gòu)圖如圖3所示。
圖3 采用CIC的FRM濾波器
System generator[7~9]是 Xilinx 公 司開(kāi)發(fā) 的系 統(tǒng)級(jí)DSP設(shè)計(jì)建模工具,通過(guò)在Simulink環(huán)境下,調(diào)用Xilinx的工具包,搭建系統(tǒng)模型,完成Simulink功能仿真,同時(shí)轉(zhuǎn)換成硬件可執(zhí)行模型,直接生成用戶需要的FPGA代碼和比特流文件,ISE可以對(duì)整個(gè)工程文件進(jìn)行綜合、仿真、布局布線和優(yōu)化設(shè)計(jì)等,完成芯片配置后可以下載到相應(yīng)的硬件環(huán)境進(jìn)行測(cè)試(或直接調(diào)用System generator的硬件協(xié)仿真功能進(jìn)行在線測(cè)試),并能將結(jié)果反饋到Simulink環(huán)境中,提高了設(shè)計(jì)的靈活性和效率,降低了數(shù)字信號(hào)處理的設(shè)計(jì)人員的工作難度。
System generator和Matlab的Simulink是無(wú)縫連接的,能自動(dòng)將數(shù)字系統(tǒng)設(shè)計(jì)的系統(tǒng)級(jí)模型轉(zhuǎn)換為用戶需要的硬件描述語(yǔ)言,并能直接完成板上測(cè)試,所以在數(shù)字信號(hào)處理領(lǐng)域得到了廣泛的應(yīng)用。FRM濾波器實(shí)質(zhì)上可以看成是一個(gè)濾波器組,通過(guò)各個(gè)濾波器的級(jí)聯(lián)來(lái)達(dá)到最終的目的,因此為了在硬件上測(cè)試FRM濾波器的性能,可以選擇使用System generator對(duì)本文提出的方法的進(jìn)行硬件設(shè)計(jì),通過(guò)調(diào)用相應(yīng)的模塊對(duì)算法和系統(tǒng)結(jié)構(gòu)進(jìn)行建模。
本文設(shè)計(jì)的低通濾波器的頻率為3400Hz~3500Hz,采樣率為40kHz,通帶波紋為0.01dB,阻帶紋波為65dB,采用System generator與Matlab Simulink模塊的結(jié)合進(jìn)行硬件協(xié)仿真,通過(guò)采用不同頻率的正弦信號(hào)來(lái)測(cè)試該濾波器的性能。
圖4 基于內(nèi)插CIC的FRM低通濾波器的結(jié)構(gòu)模型
本文的積分梳狀濾波器采用多級(jí)內(nèi)插式的積分梳狀濾波器,為了進(jìn)行對(duì)比本文也對(duì)多級(jí)抽取式CIC設(shè)計(jì)的FRM濾波器和基本結(jié)構(gòu)的FRM濾波器進(jìn)行了研究。為了滿足設(shè)計(jì)要求本文采用5級(jí)CIC濾波器作為去鏡像濾波器,來(lái)進(jìn)一步降低旁瓣電平,由于CIC內(nèi)插濾波器可以將采樣率提高相應(yīng)的倍數(shù),所以在與傳統(tǒng)等波紋法設(shè)計(jì)的濾波器進(jìn)行比較時(shí)要加入相應(yīng)的降采樣模塊使采樣率保持一致,同時(shí)為了保證時(shí)序的正確,當(dāng)積分梳狀濾波器中的差分延時(shí)因子為1時(shí),積分梳狀濾波器中有相應(yīng)的延遲單元,降采樣模塊中也有延遲單元,所以在積分梳狀濾波器后增加值為1的延時(shí)單元。對(duì)于每個(gè)子濾波器的設(shè)計(jì)都采用FIR濾波器設(shè)計(jì)中的線性相位結(jié)構(gòu)進(jìn)行設(shè)計(jì),由于系數(shù)的對(duì)稱性,采用折疊結(jié)構(gòu)可使所設(shè)計(jì)的濾波器的乘法器數(shù)量減少一半左右,同時(shí)也要區(qū)分偶數(shù)階次和奇數(shù)階次濾波器所需要延時(shí)單元的不同。整個(gè)濾波器的結(jié)構(gòu)如圖4所示。
為了與等波紋切比雪夫逼近法產(chǎn)生的濾波器進(jìn)行比較,本文選取了兩個(gè)頻率不同的正弦信號(hào)作為信號(hào)源分別通過(guò)兩個(gè)濾波器進(jìn)行濾波處理,濾波后的頻譜如圖5所示。下圖為采用等波紋法設(shè)計(jì)的濾波器濾波后,Simulink的輸出數(shù)據(jù)導(dǎo)入到Matlab后編寫代碼得到的頻譜結(jié)果。
圖5 等波紋法濾波后的頻譜圖
采用本文方法設(shè)計(jì)的FRM濾波器濾波后,將Simulink仿真輸出導(dǎo)入到Matlab環(huán)境中,通過(guò)編寫相應(yīng)的Matlab代碼得到對(duì)應(yīng)的頻譜圖如圖6所示。
圖6 濾波結(jié)果Matlab頻譜圖
將上述結(jié)果與采用基本一層結(jié)構(gòu)設(shè)計(jì)的FRM濾波器進(jìn)行對(duì)比,其基本結(jié)構(gòu)圖如圖7所示。
也將Simulink仿真輸出的結(jié)果導(dǎo)入到Matlab環(huán)境中,通過(guò)編寫相應(yīng)的Matlab代碼得到對(duì)應(yīng)的頻譜圖如圖8所示。
根據(jù)仿真得到的頻譜圖可以知道,當(dāng)所取的數(shù)據(jù)位數(shù)和精度都一樣時(shí),本文的設(shè)計(jì)方法和基本結(jié)構(gòu)的FRM結(jié)構(gòu)的設(shè)計(jì)方法產(chǎn)生的濾波效果是一樣的,但是本文所采用的積分梳狀濾波器由于沒(méi)有乘法器,當(dāng)不考慮級(jí)聯(lián)用到的乘法運(yùn)算時(shí),在所搭建的模型中比傳統(tǒng)直接設(shè)計(jì)FRM濾波器少使用了26個(gè)乘法器,復(fù)雜度降低約15%,加法器也有所減少。當(dāng)選取其他頻率進(jìn)行測(cè)試時(shí)兩者所得波形基本都是一樣的。
圖7 基本結(jié)構(gòu)FRM低通濾波器結(jié)構(gòu)模型
圖8 濾波結(jié)果Matlab頻譜圖
為了說(shuō)明本文所采用的內(nèi)插CIC的有效性,采用多級(jí)CIC抽取濾波器設(shè)計(jì)的FRM濾波器進(jìn)行對(duì)比,即將CIC內(nèi)插濾波器換成CIC抽取濾波器模塊,采用與之前相同的信號(hào)源,其結(jié)構(gòu)如圖9所示。
采用和之前一樣的信號(hào)源,加入相應(yīng)的升采樣模塊使采樣率保持不變,運(yùn)行仿真,采用和之前相同的處理方式,導(dǎo)入到Matlab環(huán)境中,通過(guò)編寫相應(yīng)的Matlab代碼得到對(duì)應(yīng)的頻譜圖如圖10所示。
由圖可知所得結(jié)果明顯不如基于多級(jí)CIC內(nèi)插濾波器設(shè)計(jì)的FRM低通濾波器,所以不適合用在FRM濾波器的設(shè)計(jì)中,說(shuō)明了本文設(shè)計(jì)方法的準(zhǔn)確性。
圖9 基于抽取CIC的FRM低通濾波器的結(jié)構(gòu)模型
圖10 濾波結(jié)果Matlab頻譜圖
本文通過(guò)將CIC濾波器應(yīng)用到FRM濾波器的結(jié)構(gòu)中去在滿足設(shè)計(jì)要求的同時(shí),降低了設(shè)計(jì)濾波器的乘法器的數(shù)量,進(jìn)而節(jié)約了一定的硬件資源,經(jīng)過(guò)分析本文所采用的的方法設(shè)計(jì)復(fù)雜度比傳統(tǒng)的FRM濾波器降低了約15%。通過(guò)采用System generator進(jìn)行測(cè)試驗(yàn)證,證明了該方法可以在FPGA芯片上實(shí)現(xiàn),使用System generator進(jìn)行驗(yàn)證,證明了此方法的有效性,提高了設(shè)計(jì)的效率,縮短了設(shè)計(jì)周期。