国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA乘法器的FIR濾波器系統(tǒng)設(shè)計

2012-06-25 03:31張婧霞沈三民翟成瑞
電視技術(shù) 2012年3期
關(guān)鍵詞:乘法器上位濾波器

張婧霞,沈三民,翟成瑞

(中北大學(xué)儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實驗室,山西 太原 030051)

在通信系統(tǒng)、航空航天系統(tǒng)、雷達(dá)系統(tǒng)、遙感遙測系統(tǒng)等工程技術(shù)領(lǐng)域,無論是在信號的獲取、傳輸,還是信號的處理和轉(zhuǎn)換都離不開濾波技術(shù)。由于FIR濾波器具有嚴(yán)格的線性相位和在系統(tǒng)中具有穩(wěn)定性,因此FIR濾波技術(shù)具有廣泛的應(yīng)用[1-4]。

隨著微電子技術(shù)的發(fā)展,采用現(xiàn)場可編程門陣列FPGA進(jìn)行數(shù)字信號處理得到了飛速發(fā)展。由于FPGA具有現(xiàn)場可編程的特點(diǎn),具有高速傳輸和處理數(shù)字信號的能力,實現(xiàn)濾波算法速度高于傳統(tǒng)的DSP的數(shù)字處理信號的能力,因此受到硬件電路設(shè)計工程師們的青睞[5]。傳統(tǒng)的采用FPGA實現(xiàn)的FIR濾波器由于采用寄存器直接相乘模式占用了大量的乘法資源,因此在進(jìn)行乘法運(yùn)算時影響FPGA運(yùn)行速度,并且由于資源上的限制導(dǎo)致FPGA其他功能受到限制。但基于FPGA乘法器的FIR濾波器具有節(jié)省FPGA 資源、提高運(yùn)算速度、減少電路體積等優(yōu)點(diǎn)[6-7]。

1 FIR低通濾波器整體設(shè)計

本文主要介紹的是FIR低通濾波器,該FIR低通濾波器主要由硬件電路和FPGA程序組成。FIR濾波器硬件電路主要由信號調(diào)理電路、AD轉(zhuǎn)換電路、FPGA控制電路、FT245RL電路和上位機(jī)組成,其中FPGA內(nèi)部程序模塊包括AD采集控制模塊、FIR濾波器采樣模塊、MULT 18×18SIO乘法器模塊、累加模塊、36位數(shù)據(jù)拆分模塊、FIFO模塊和FT245控制模塊。該濾波器主要功能是利用信號發(fā)生器產(chǎn)生特定頻率的正弦波,通過信號調(diào)理電路進(jìn)行調(diào)理后經(jīng)過12位的AD轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換輸出數(shù)字信號,F(xiàn)IR濾波器采樣模塊工作在60 MHz的時鐘內(nèi),并且以10 kHz的采樣率對AD輸出的數(shù)字信號進(jìn)行采樣,采樣到的數(shù)字信號值連同F(xiàn)IR濾波系數(shù)輸出到18位乘法器模塊,經(jīng)過乘法運(yùn)算后進(jìn)行累加,累加出來的是36位數(shù)據(jù),最終通過FT245組成的USB接口傳給上位機(jī)進(jìn)行曲線顯示,所得結(jié)果即為濾波后的數(shù)據(jù),系統(tǒng)組成原理如圖1所示。

圖1 FIR低通濾波器整體設(shè)計框圖

2 硬件電路設(shè)計

2.1 AD轉(zhuǎn)換器電路

本系統(tǒng)中對于輸入電壓的采樣率為10 kHz,因此采用了AD公司的高性能逐次逼近型A/D轉(zhuǎn)換芯片AD7492BRU-5,最大轉(zhuǎn)換速率為1.25×10次/s,具有12位的并行數(shù)據(jù)輸出接口,并且具有三態(tài)功能,能夠滿足系統(tǒng)采樣要求。

由于AD7492BRU-5的基準(zhǔn)電壓為2.5 V,而輸入的模擬信號范圍為0~5 V,因此在模擬信號進(jìn)入AD轉(zhuǎn)換器之前還需要對信號進(jìn)行適當(dāng)?shù)恼{(diào)理,調(diào)理電路如圖2所示。采用兩個10 kΩ電阻對輸出的模擬信號進(jìn)行分壓,使其范圍滿足A/D轉(zhuǎn)換器的輸入要求,并通過電壓跟隨器進(jìn)行輸出,信號不會失真。

圖2 AD轉(zhuǎn)換器連接電路

2.2 FT245接口電路

本系統(tǒng)中FPGA發(fā)送的濾波數(shù)據(jù)通過USB接口回傳給上位機(jī),上位機(jī)讀取USB的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行存盤。USB接口電路采用FTDI公司的FT245RL作為USB接口芯片實現(xiàn)上位機(jī)與FPGA的數(shù)據(jù)通信。FT245RL無需編寫固件程序,可以使用FTDI公司提供的驅(qū)動程序,并且兼容USB1.1及USB2.0協(xié)議。USB連接電路如圖3所示,該電路中數(shù)據(jù)傳輸線接一個共模電感ACM-2012-900,當(dāng)傳輸差分信號USBDM和USBDP上有共模干擾時,由于共模信號產(chǎn)生磁場疊加,在共模電感上形成高阻抗,從而達(dá)到濾除共模干擾的目的。USB口接地端接一個磁珠,這樣連接可以更好地防止電源不穩(wěn)對數(shù)據(jù)傳輸?shù)母蓴_。USB接口從FPGA讀取數(shù)據(jù),F(xiàn)PGA內(nèi)部只要判斷到FIFO中產(chǎn)生半滿信號,就將數(shù)據(jù)傳輸?shù)経SB接口,最終利用上位機(jī)進(jìn)行讀取。

圖3 FT245連接電路

3 FIR濾波器程序設(shè)計

本設(shè)計采用Xilinx公司XC3S400的FPGA進(jìn)行程序驗證,XC3S400是高密度的可編程邏輯器件。它的主要特點(diǎn)包括具有最小5 ns的引腳到引腳的邏輯時延,全局時鐘最高引腳最高輸入頻率為66 MHz,內(nèi)核用1.2 V供電,I/O口可設(shè)置在3.3 V工作。該器件具有豐富邏輯的資源,包括16個MULT18×18SIO,可以進(jìn)行大量的乘法運(yùn)算[8]。

FIR濾波器程序主要由采樣模塊、乘法器模塊、累加和模塊組成,采樣模塊功能是采集60個采樣值、并把濾波系數(shù)輸出到乘法器與采樣值進(jìn)行相乘。乘法器模塊主要功能是對60個采樣值和60個濾波系數(shù)進(jìn)行相乘,所得的相乘結(jié)果輸入累加器。累加器就是將輸入的60個結(jié)果進(jìn)行累加,得到36 位的濾波結(jié)果[9-10]。

3.1 采樣模塊

采樣模塊主要是對AD轉(zhuǎn)換后輸出的值進(jìn)行采樣,本設(shè)計中采樣率為10 kHz,也就是AD的采樣率為10 kHz,而濾波器對AD轉(zhuǎn)換后輸出的值的采樣率也是10 kHz,它們的實現(xiàn)在程序上是同步的。在AD輸出模塊當(dāng)中,每當(dāng)數(shù)據(jù)轉(zhuǎn)換完成輸出時,會產(chǎn)生一個rdy上升沿信號,采樣模塊接收并辨別rdy上升沿信號后接收第一個數(shù)據(jù),并把第一個濾波系數(shù)輸出到MULT18×18SIO乘法器,同時給乘法器CLK端產(chǎn)生一個上升沿信號,啟動乘法器進(jìn)行相乘,相乘結(jié)果時間極短,所以可以實現(xiàn)高速相乘運(yùn)算。

采樣模塊利用VHDL語言進(jìn)行編寫,利用狀態(tài)機(jī)實現(xiàn),在模塊中采用4個狀態(tài)來實現(xiàn)采樣和濾波,第1個狀態(tài)為采樣,只要判斷rdy上升沿信號就利用寄存器進(jìn)行采樣,并給寄存器賦值;第2個狀態(tài)取出對應(yīng)的濾波系數(shù);第3個狀態(tài)為產(chǎn)生乘法器時鐘clk,且計數(shù)器counter加1;第4個狀態(tài)判斷計數(shù)器是否加到60,如果是則跳出采集,輸出濾波結(jié)果,其采集和控制流程圖如圖4所示。

圖4 采樣模塊工作流程圖

采樣模塊當(dāng)中還包括60個濾波系數(shù),濾波器系數(shù)由Matlab產(chǎn)生,Matlab中FDATool(Filter Design& Analysis Tool)是Matlab信號處理工具箱專用的濾波器設(shè)計分析工具,操作簡單、靈活,可以采用多種方法設(shè)計FIR濾波器。本文設(shè)計的FIR濾波器為60階,采樣率為10 kHz,截止頻率為200 Hz的FIR低通濾波器,通帶內(nèi)紋波抖動為1 dB,阻帶下降60 dB,并將其系數(shù)量化成16 bit后保存到COE文件中。本設(shè)計當(dāng)中濾波系數(shù)擴(kuò)大32767 倍,具體的量化過程如下:

設(shè)濾波系數(shù)浮點(diǎn)數(shù)h(n)為xn,最大系數(shù)為xmax,量化結(jié)果為zn,則

量化后的數(shù)據(jù)為10進(jìn)制數(shù),需轉(zhuǎn)化為二進(jìn)制數(shù),并將十進(jìn)制的負(fù)數(shù)轉(zhuǎn)化為二進(jìn)制補(bǔ)碼形式才可以用于乘法器進(jìn)行相乘。在采樣模塊當(dāng)中,定義了一個可以存60個系數(shù)數(shù)組的寄存器,F(xiàn)IR濾波器系數(shù)就存在于60個數(shù)組當(dāng)中,在運(yùn)算中可以靈活取出濾波系數(shù)進(jìn)行相乘。

3.2 乘法器

Xilinx FPGA開發(fā)環(huán)境軟件自帶的18位乘法器模塊MULT18×18SIO如圖5所示,該乘法累加器A(17:0)為AD轉(zhuǎn)換后的數(shù)據(jù)輸入端口,B(17:0)為濾波系數(shù)輸入端口,C端口為乘法器時鐘clk輸入端,上升沿有效,CE為使能端高電平有效,R端為復(fù)位端低電平有效,P(35:0)為濾波器數(shù)據(jù)輸出端。因為MULT18×18SIO乘法器為FPGA內(nèi)部自帶的硬核資源,可以直接調(diào)用,因此幾乎不占用任何FPGA資源,并且可以提高乘法速度,只要在clk端給予一個上升沿就可以對其操作,使用起來方便、快捷。

圖5 MULT18×18SIO乘法器

3.3 累加和模塊

累加和模塊主要對乘法結(jié)果進(jìn)行累加,在累加模塊中定義一個36位的寄存器,在累加上升沿脈沖到來時對乘法器輸出的結(jié)果進(jìn)行累加,一共進(jìn)行59次累加,累加后的結(jié)果送入36位數(shù)據(jù)拆分模塊,拆分成5 byte的數(shù)據(jù)壓入FIFO進(jìn)行發(fā)送,上位機(jī)通過FT245讀取到濾波數(shù)據(jù)。

4 試驗驗證

針對FIR濾波器電路系統(tǒng),設(shè)計了一個專門與配套USB接口FT245通信的軟件,該軟件能讀取USB數(shù)據(jù),并把USB數(shù)據(jù)保存在以DAT為后綴名的文件中。用該軟件對該數(shù)據(jù)進(jìn)行還原轉(zhuǎn)化,即可得到其電壓值,并能通過軟件把結(jié)果顯示出來。

用信號發(fā)生器同時給濾波器系統(tǒng)發(fā)送頻率為100 Hz(小于200 Hz)和250 Hz,幅值為0~+5 V正弦波輸入信號,正弦波信號經(jīng)過信號調(diào)理及AD轉(zhuǎn)換后由FPGA進(jìn)行FIR低通濾波,最終通過USB接口將數(shù)據(jù)傳輸?shù)接嬎銠C(jī)的上位機(jī)當(dāng)中。讀取到的濾波數(shù)據(jù)如圖6所示,圖中陰影部分為一個濾波數(shù)據(jù)值007F00A59F,轉(zhuǎn)化為電壓值過程如下:007F00A59F轉(zhuǎn)化為十進(jìn)制數(shù),得到 N=2130 748831 ,由量化過程得到傳遞值f=524062 (32767 除以最大系數(shù)得到),則AD輸出值x=N/f=4065 ,那么電壓值V=(4065 /4095 ×2.5)V=2.48 V,則輸入電壓值Vin=(2.48×2)V=4.96 V。

圖6 DAT文件的FIR濾波原始數(shù)據(jù)(截圖)

根據(jù)以上轉(zhuǎn)換關(guān)系,利用上位機(jī)軟件對讀取到的數(shù)據(jù)進(jìn)行曲線繪制,所得到的曲線為0~+5 V正弦波,如圖7所示。由試驗數(shù)據(jù)可知,頻率大于200 Hz的信號幅值經(jīng)過濾波器后受到衰減,不能通過FIR低通濾波器,低于200 Hz的信號卻能順利通過濾波器,可見所設(shè)計的濾波器滿足要求。

圖7 上位機(jī)軟件顯示的濾波后的波形(截圖)

5 小結(jié)

試驗結(jié)果表明,基于FPGA乘法器的FIR濾波器在采樣控制、數(shù)字信號處理等方向,相比傳統(tǒng)FPGA的FIR濾波器設(shè)計具有簡單、快捷且有更高的執(zhí)行效率和速度的特點(diǎn)。在該設(shè)計當(dāng)中,F(xiàn)PGA的資源占用率只有10%,留有足夠的資源以設(shè)計其他邏輯電路功能?;贔PGA乘法器的FIR濾波器高速、高靈活性的優(yōu)點(diǎn),使其可廣泛應(yīng)用于高速數(shù)字信號處理領(lǐng)域。

[1]李受明.FIR數(shù)字濾波器在雷達(dá)信號處理中的應(yīng)用[D].西安:西安電子科技大學(xué),2007.

[2]朱義勝,董輝.信號處理濾波器設(shè)計[M].北京:電子工業(yè)出版社,2004.

[3]王金明,張雄偉.FIR濾波器的優(yōu)化設(shè)計與硬件實現(xiàn)[J].電視技術(shù),2003,27(3):19-21.

[4]陸宇鵬,邱宏安,田多華,等.基于FPGA的數(shù)字濾波器的設(shè)計與實現(xiàn)[J]. 電聲技術(shù),2008,32(5):23-25.

[5]虞露,李儆,馮興光.大規(guī)??删幊踢壿嬈骷?FPGA)開發(fā)系統(tǒng)電源設(shè)計研究[M].西安:西安電子科技大學(xué)出版社,2007.

[6]從玉良,王宏志,趙曉明.數(shù)字信號處理原理[M].2版.北京:電子工業(yè)出版社,2009.

[7]蔣壘,王昌林,許沖.基于FPGA的FIR數(shù)字濾波器算法實現(xiàn)[J].船舶電子工程,2006,26(1):151-156.

[8]李云松,宋銳,雷杰,等.Xilinx FPGA設(shè)計基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2008.

[9]徐以濤,王呈貴,王金龍.基于DA算法的FIR濾波器硬件實現(xiàn)[J].解放軍理工大學(xué)學(xué)報:自然科學(xué)版,2003,4(3):22-25.

[10]胡廣書.數(shù)字信號處理:理論、算法與實現(xiàn)[M].2版.北京:清華大學(xué)出版社,2003.

猜你喜歡
乘法器上位濾波器
一種低開銷的近似乘法器設(shè)計
基于Karatsuba和Vedic算法的快速單精度浮點(diǎn)乘法器
從濾波器理解卷積
開關(guān)電源EMI濾波器的應(yīng)用方法探討
特斯拉 風(fēng)云之老阿姨上位
基于FPGA的流水線單精度浮點(diǎn)數(shù)乘法器設(shè)計*
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
基于Canny振蕩抑制準(zhǔn)則的改進(jìn)匹配濾波器
基于TMS320C6678的SAR方位向預(yù)濾波器的并行實現(xiàn)
云安县| 基隆市| 阿城市| 宿松县| 鄂托克旗| 准格尔旗| 应用必备| 青川县| 镇康县| 都江堰市| 永嘉县| 乌兰县| 屯留县| 会昌县| 广饶县| 宁国市| 腾冲县| 富民县| 綦江县| 武隆县| 庆云县| 天等县| 济阳县| 扬州市| 太保市| 巧家县| 揭阳市| 凌源市| 万全县| 连平县| 石楼县| 恩平市| 长春市| 邻水| 平陆县| 班玛县| 铜山县| 威远县| 万山特区| 宜兰县| 法库县|