《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于DSP Builder的插值濾波器的設(shè)計(jì)及FPGA實(shí)現(xiàn)
基于DSP Builder的插值濾波器的設(shè)計(jì)及FPGA實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2013年第1期
楊守良,楊保亮
(重慶文理學(xué)院 電子電氣工程學(xué)院,重慶402160)
摘要: 在數(shù)字接收機(jī)中,通常需要對(duì)采樣的數(shù)據(jù)進(jìn)行一定倍數(shù)的插值。采用Altera公司的DSP Builder設(shè)計(jì)工具,在MATLAB/Simulink中建立相應(yīng)的算法模型并仿真。通過(guò)引入回路硬件模塊,將硬件平臺(tái)接入由Simulink構(gòu)建的仿真測(cè)試回路中進(jìn)行軟硬件協(xié)同仿真,最后可以直接生成FPGA的下載文件。該方法簡(jiǎn)化了設(shè)計(jì)流程,降低了開(kāi)發(fā)成本和周期,具有廣闊的應(yīng)用前景。
Abstract:
Key words :

摘  要: 在數(shù)字接收機(jī)中,通常需要對(duì)采樣的數(shù)據(jù)進(jìn)行一定倍數(shù)的插值。采用Altera公司的DSP Builder設(shè)計(jì)工具,在MATLAB/Simulink中建立相應(yīng)的算法模型并仿真。通過(guò)引入回路硬件模塊,將硬件平臺(tái)接入由Simulink構(gòu)建的仿真測(cè)試回路中進(jìn)行軟硬件協(xié)同仿真,最后可以直接生成FPGA的下載文件。該方法簡(jiǎn)化了設(shè)計(jì)流程,降低了開(kāi)發(fā)成本和周期,具有廣闊的應(yīng)用前景。
關(guān)鍵詞: DSP Builder;插值濾波器;FPGA;回路硬件仿真

 插值濾波器是一種結(jié)構(gòu)相對(duì)較為簡(jiǎn)單、整齊劃一、占用存儲(chǔ)量小的濾波器,廣泛應(yīng)用于數(shù)字示波器、數(shù)字通信和全數(shù)字收發(fā)機(jī)中。它不需要乘法器,因此占用硬件資源較少、實(shí)現(xiàn)簡(jiǎn)單且速度較高,是高分解速率濾波器的一種非常有效的結(jié)構(gòu),在高速抽取或插值系統(tǒng)中是非常有效的單元[1-3]。在插值濾波器的具體實(shí)現(xiàn)中,人們大多使用DSP來(lái)實(shí)現(xiàn),但由于DSP具有串行執(zhí)行指令的特點(diǎn),使得其在高速信號(hào)處理中無(wú)法滿足設(shè)計(jì)需要[4]。而高性能大規(guī)??删幊踢壿嬈骷某霈F(xiàn),使得在FPGA中用軟件實(shí)現(xiàn)插值濾波器成為可能,而且FPGA芯片內(nèi)部的資源相當(dāng)豐富,并行的處理速度較快,并具有極大的靈活性,使其成為設(shè)計(jì)的首選。
 在以FPGA為核心器件來(lái)設(shè)計(jì)信號(hào)處理系統(tǒng)時(shí),Altera公司的DSP Builder是一款理想的系統(tǒng)級(jí)工具軟件,它建立了數(shù)字信號(hào)處理系統(tǒng)的抽象算法模型,并將抽象算法模型轉(zhuǎn)化成可靠的硬件實(shí)現(xiàn)。DSP Builder提供了一個(gè)從MATLAB/Simulink直接到FPGA硬件實(shí)現(xiàn)的設(shè)計(jì)接口,是數(shù)字信號(hào)處理高層系統(tǒng)設(shè)計(jì)與FPGA的橋梁。DSP Builder極大地簡(jiǎn)化了硬件實(shí)現(xiàn)流程,同時(shí)提供了系統(tǒng)仿真測(cè)試功能,使利用FPGA設(shè)計(jì)并實(shí)現(xiàn)數(shù)字信號(hào)處理更加靈活,更容易開(kāi)發(fā)。此外,還可以將設(shè)計(jì)模型直接編譯成能在FPGA器件中布局布線的網(wǎng)表文件,成功地解決了算法研究人員和硬件實(shí)現(xiàn)工程師之間的工作協(xié)調(diào)問(wèn)題,使得用戶能夠以最快的速度將他們的算法得到硬件實(shí)現(xiàn)。
1 插值濾波原理
 插值濾波是由N個(gè)Comb模塊(采樣頻率為fs/RD),再級(jí)聯(lián)N個(gè)Intergrator模塊級(jí)聯(lián)(采樣頻率為fs),結(jié)構(gòu)如圖1所示。一般情況下插值比率為1:1、1:2、1:5、1:10、1:20、1:50。插值濾波器由一個(gè)插零模塊和一個(gè)濾波器構(gòu)成。如果插值比率為1:N,則插零模塊負(fù)責(zé)在每?jī)蓚€(gè)原始數(shù)據(jù)之間插入N-1個(gè)0,再通過(guò)濾波平滑波形,出來(lái)的插值后的波形的采樣率將是原始波形的N倍。

2 CIC濾波器的模型建立
2.1 數(shù)據(jù)處理寬度的確定

 用FPGA實(shí)現(xiàn)插值濾波器時(shí)[5-8],還有一個(gè)很重要的參數(shù)需要確定,那就是寄存器的寬度(或者位數(shù))。只有精心計(jì)算寄存器的寬度,才能在運(yùn)算不溢出的情況下,最大限度地節(jié)省FPGA的硬件資源。對(duì)于插值濾波器,最終的梳狀器輸出增益G=(RD)N,其中,R為抽取因子,D為延遲數(shù)值,N為濾波器級(jí)數(shù)。假定采用二進(jìn)制補(bǔ)碼,設(shè)輸入數(shù)據(jù)寬度為Bin,則內(nèi)部數(shù)據(jù)處理的寬度Bout=Nlog2(RD)+Bin。本設(shè)計(jì)中輸入數(shù)據(jù)寬度為8,N=3,R=75,D=1(即抽取因子為75,延遲為1的三級(jí)插值濾波器),則輸出字寬W=8+log2(75×1)≈26 bit,保證不會(huì)產(chǎn)生運(yùn)行時(shí)間溢出。因此,可以根據(jù)前面的分析建立模型。
2.2 插值濾波器的模型建立
 本文以帶寬為30 kHz、采樣率為2 MHz的信號(hào)加速為采樣率為150 MHz的信號(hào),而要求通帶衰減最大不得超過(guò)3 dB,阻帶衰減不得低于45 dB。根據(jù)前面的分析可以采用三級(jí)插值濾波器來(lái)實(shí)現(xiàn)。根據(jù)圖1所示的框圖在MATLAB的Simulink下,利用DSP Builder建立圖2所示的三級(jí)插值濾波器模型[5-7]。

 用SignalCompiler將圖2的核心插值濾波器模型轉(zhuǎn)化為VHDL硬件描述語(yǔ)言,雙擊“SignalCompiler”圖標(biāo),在彈出的對(duì)話框中點(diǎn)擊“Compile”,DSP Builder將會(huì)調(diào)用Quartus II進(jìn)行全程編譯,其過(guò)程包括創(chuàng)建Quartus II工程、綜合及適配。由于在DSP Builder中只有器件系列,且編譯之后沒(méi)有時(shí)序報(bào)告,因此,在用SignalCompiler將   .mdl文件轉(zhuǎn)化成HDL語(yǔ)言后,一般還需在Quartus II中進(jìn)行進(jìn)一步的設(shè)置和完整編譯。
3 仿真分析
3.1 基于DSP Builder軟硬件協(xié)同仿真

 由于在Simulink下進(jìn)行的仿真不涉及任何硬件(如FPGA),只能是算法級(jí)的仿真,但是如果完全放在底層設(shè)計(jì)工具Quartus II上仿真,盡管獲得了全硬件的仿真結(jié)果,但是難以獲得一些特定功能的激勵(lì)信號(hào),因此,本仿真通過(guò)引入HIL模塊來(lái)進(jìn)行軟硬件協(xié)同仿真。首先在Simulink平臺(tái)下進(jìn)行軟件仿真,當(dāng)結(jié)果滿足設(shè)計(jì)要求時(shí),使用HIL將Input和Output模塊之間DSP Builder模塊生成HDL工程,從而實(shí)現(xiàn)基于MATLAB/DSP Builder平臺(tái)的硬件仿真。本文選用Altera公司的Cyclone II系列EP2C5Q208C8為主芯片的開(kāi)發(fā)板進(jìn)行仿真,仿真結(jié)果如圖3所示。由圖3可以看出,輸出端的數(shù)據(jù)比輸入端的數(shù)據(jù)整整快了75倍,仿真結(jié)果表明,三級(jí)插值濾波器的實(shí)現(xiàn)方法正確。

3.2  Quartus II時(shí)序仿真
 采用一個(gè)幅值為127的階躍信號(hào)作為插值濾波器的輸入信號(hào),在Quartus II開(kāi)發(fā)環(huán)境下進(jìn)行仿真、綜合,運(yùn)行結(jié)果如圖4所示??梢钥闯鲞_(dá)到了預(yù)定的設(shè)計(jì)要求。

 

 

 本文提出一種根據(jù)插值濾波器數(shù)學(xué)模型,采用MATLAB/Simulink來(lái)建立相應(yīng)的模型,然后利用Signal Compiler工具將其轉(zhuǎn)化為Quartus II能夠識(shí)別的VHDL程序來(lái)實(shí)現(xiàn)插值濾波器的方案。該方案充分發(fā)揮了FPGA器件處理速度快、實(shí)現(xiàn)靈活方便的特性,大大提高了整個(gè)系統(tǒng)的性能。采用DSP Builder系統(tǒng)工具,從插值濾波器建模、仿真到FPGA的具體設(shè)計(jì)都在一個(gè)環(huán)境中完成,方便了系統(tǒng)的更改和擴(kuò)展,使得設(shè)計(jì)更加靈活、便捷,相對(duì)于傳統(tǒng)開(kāi)發(fā)方式,具有更大的優(yōu)勢(shì)。
參考文獻(xiàn)
[1] 姜宇柏,游思晴.軟件無(wú)線電原理與工程應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007.
[2] 田耘,徐文波,張延偉.無(wú)線通信FPGA設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.
[3] 王超,董德存.GLONASS接收機(jī)快速捕獲方案及其仿真[J].鐵路計(jì)算機(jī)應(yīng)用,2005,14(12):7-9.
[4] 曹琦,畢篤彥.MAC在FPGA中的高效實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007(6-2):216-218.
[5] 馬濤,陳娟,單洪.基于DSP Builder的數(shù)字下變頻器的FPGA設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2006,(32)7:93-96.
[6] 賈雪琴,李強(qiáng),王旭,等.用MATLAB在FPGA芯片中實(shí)現(xiàn)數(shù)字下變頻設(shè)計(jì)[J].計(jì)算機(jī)仿真,2005(12):303-306.
[7] 王飛,梁清華.基于FPGA的CIC濾波器的設(shè)計(jì)[J].遼寧工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(4):77-79.
[8] 牛大勝,唐麗萍.積分梳狀濾波器在FPGA中的實(shí)現(xiàn)[J].國(guó)外電子測(cè)量技術(shù),2006(9):48-50.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。