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

?

FIR數(shù)字濾波器設(shè)計(jì)及其FPGA實(shí)現(xiàn)*

2013-09-29 11:27:10郝小江
關(guān)鍵詞:濾波器濾波芯片

郝小江,黃 昆

(攀枝花學(xué)院 電氣信息工程學(xué)院,四川 攀枝花 617000)

數(shù)字濾波技術(shù)是數(shù)字信號處理技術(shù)的重要分支。無論是信號的處理交換,還是信號的獲取、傳輸,都離不開濾波技術(shù)。數(shù)字濾波的實(shí)驗(yàn)實(shí)現(xiàn)方法有在通用計(jì)算機(jī)上用軟件實(shí)現(xiàn)、采用DSP實(shí)現(xiàn)、采用FPGA實(shí)現(xiàn)??焖侔l(fā)展的EDA技術(shù)和大規(guī)模可編程器件,使得采用FPGA實(shí)現(xiàn)數(shù)字濾波器可以克服傳統(tǒng)DSP技術(shù)中的技術(shù)瓶頸,在高可靠性、高速與實(shí)時(shí)性、系統(tǒng)的重配置與硬件可重構(gòu)性、單片系統(tǒng)的可實(shí)現(xiàn)性及自主知識產(chǎn)權(quán)化等許多方面具有突出的優(yōu)勢。

本設(shè)計(jì)采用FPGA設(shè)計(jì)工具DSP Builder實(shí)現(xiàn)FIR數(shù)字濾波器的設(shè)計(jì)方案,按照MATLAB/Simulink/DSP Builder/Quartus II的設(shè)計(jì)流程,設(shè)計(jì)一個(gè)32階的抽樣頻率為400 kHz,截止頻率為10 kHz的FIR低通濾波器。在硬件實(shí)現(xiàn)上應(yīng)用A/D轉(zhuǎn)換芯片AD9224采樣輸入信號后送給FPGA芯片EP1C6Q240C8處理,處理后的信號經(jīng)D/A轉(zhuǎn)換芯片AD9764轉(zhuǎn)換為模擬信號輸出。軟件仿真與硬件實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)基于FPGA的FIR數(shù)字濾波器濾波效果良好,可有效提取需要的信號。

1 FIR濾波器建模設(shè)計(jì)分析

FPGA器件由大量邏輯宏單元構(gòu)成,通過配置,使這些邏輯單元形成不同的硬件結(jié)構(gòu),從而構(gòu)成不同的電子系統(tǒng),完成不同的功能。正是FPGA的這種硬件重構(gòu)的靈活性,使得用硬件描述語言(VHDL或Verilog HDL)描述的電路在FPGA中實(shí)現(xiàn)。而DSP Builder可以完成基于FPGA的DSP系統(tǒng)設(shè)計(jì)的整個(gè)過程,它是連接MATLAB/Simulink和 QuartusII開發(fā)軟件的 DSP技術(shù),在Simulink中進(jìn)行圖形設(shè)計(jì)和仿真,同時(shí)又通過Signal Compiler把 MATLAB/Simulink的設(shè)計(jì)文件(.mdl)轉(zhuǎn)換成相應(yīng)的硬件描述語言 VHDL設(shè)計(jì)文件(.vhd),以及用于控制綜合與編譯的TCL腳本,然后可以用FPGA開發(fā)工具Quartus II實(shí)現(xiàn)綜合、布線、RTL級仿真以及生成目標(biāo)板下載文件,在靈活的硬件實(shí)驗(yàn)平臺上實(shí)現(xiàn)。

FIR濾波器的數(shù)學(xué)表達(dá)式為:

FIR的濾波過程就是一個(gè)信號逐級延遲移位的過程,將各級的延遲輸出加權(quán)累加,即得到FIR濾波器的輸出,其中最主要的算法是乘累加運(yùn)算。根據(jù)FIR濾波器的數(shù)學(xué)表達(dá)式,用Altera DSP Builder建立圖1所示的FIR濾波器圖形仿真模型,主要由總線模塊、采樣率降低模塊 (Down Sampling)、 移位寄存器模塊(Shift Taps)、乘累加模塊(MultAdd32)、總線類型轉(zhuǎn)換模塊(Bus Conversion)以及方波信號產(chǎn)生模塊(Pulse Generator)和觀測仿真結(jié)果的示波器組成。其中乘累加模塊采用層次化設(shè)計(jì),由前一級的移位寄存器提供數(shù)據(jù)輸入,經(jīng)過多級累加求和得到FIR濾波器的輸出結(jié)果,其內(nèi)部子模塊采用8個(gè)Multiply Add構(gòu)成,每個(gè)Multiply Add模塊具體設(shè) 置 為 :Number of Multipilers:4、Bus Type:Signed Integer、Inputs[number of bits].[]:12、No Register、Constant Values 為濾波器設(shè)計(jì)系數(shù),并將輸出用Paraller Adder相加在一起。由于在后續(xù)硬件實(shí)現(xiàn)上A/D采用12 bit、D/A采用14 bit,因此輸入信號FIRIN為12 bit整型、輸出信號FIROUT為 14 bit整型。

濾波器的設(shè)計(jì)指標(biāo)為:32階低通濾波器,采樣率為400 kHz,截止頻率為 10 kHz。采用 MATLAB中 FDATool工具,使用Hamming窗,計(jì)算出濾波器系數(shù)。在MATLAB命令行中輸入:round(Num1×212),得到 FIR 濾波器的整形系數(shù)h[32]={4 6 10 16 25 37 52 70 90 112 134 155 173 188 199 204 204 199 188 173 155 134 112 90 70 52 37 25 16 10 6 4}。

濾波器建模設(shè)計(jì)完成后,輸入5 kHz的方波信號,從中提取5 kHz的正弦波信號,其仿真波形如圖2所示。從仿真波形可以看出,經(jīng)過FIR濾波后,很好地達(dá)到濾波效果。

圖2 濾波器仿真結(jié)果

在FIR模型中用Signal Compiler模塊Analyze模型,然后選定Cyclone系列FPGA,使用QuartusII綜合工具,優(yōu)化規(guī)則,并產(chǎn)生VHDL程序。

2 FIR濾波器硬件實(shí)現(xiàn)系統(tǒng)

FIR數(shù)字濾波器FPGA實(shí)現(xiàn)的硬件系統(tǒng)如圖3所示,該系統(tǒng)由A/D轉(zhuǎn)換模塊、FPGA模塊、D/A轉(zhuǎn)換模塊和電源模塊4部分組成。

圖3 濾波器硬件系統(tǒng)

FPGA模塊采用Altera公司Cyclone系列FPGA芯片EP1C6Q240C8。

A/D轉(zhuǎn)換模塊的主要功能是對模擬信號進(jìn)行數(shù)字化,然后送入FPGA中進(jìn)行數(shù)字信號處理。A/D轉(zhuǎn)換芯片使用 ADI公司單芯片、12 bit、40 MS/s模數(shù)轉(zhuǎn)換器AD9224。AD9224采用單電源供電,內(nèi)置一個(gè)片內(nèi)高性能采樣保持放大器和基準(zhǔn)電壓源。它采用多級差分流水線架構(gòu),內(nèi)置輸出糾錯(cuò)邏輯,在40 MS/s數(shù)據(jù)速率時(shí)可提供12 bit精度,并保證在整個(gè)工作溫度范圍內(nèi)無失碼。

D/A轉(zhuǎn)換模塊的主要功能是將FPGA處理后輸出的數(shù)字信號轉(zhuǎn)換為模擬量,然后經(jīng)信號調(diào)理輸出。A/D轉(zhuǎn)換芯片選用ADI公司的AD9764。AD9764屬于TxDAC系列高性能、低功耗 CMOS數(shù)模轉(zhuǎn)換器(DAC)的 14 bit分辨率。

在硬件實(shí)現(xiàn)過程中,由于要使用A/D轉(zhuǎn)換時(shí)鐘信號AD_CLK和D/A轉(zhuǎn)換時(shí)鐘信號DA_CLK,需要設(shè)計(jì)頂層文件,以便調(diào)用前述所設(shè)計(jì)的FIR濾波器。

頂層主要源程序如下:

頂層實(shí)體原理圖如圖4所示,輸入時(shí)鐘CLK_IN由外部40 MHz晶振提供。A/D轉(zhuǎn)換后的數(shù)字量由AD_IN[11..0]輸入,輸出數(shù)字量由 DA_OUT[13..0]輸出給 D/A轉(zhuǎn)換器。CLK_IN 100分頻后由 AD_CLK、DA_CLK送給A/D、D/A芯片。

圖4 FIR濾波器頂層原理圖

對整個(gè)項(xiàng)目進(jìn)行綜合、編譯和調(diào)試后,生成的RTL級電路圖如圖5所示。

3 硬件測試實(shí)現(xiàn)

濾波器硬件測試系統(tǒng)中,函數(shù)信號發(fā)生器產(chǎn)生的5 kHz方波信號一路直接輸入數(shù)字示波器CH2通道,另一路輸入給A/D轉(zhuǎn)換模塊,經(jīng)FPGA濾波后送給D/A轉(zhuǎn)換模塊輸出給示波器的CH1通道。通過JTAG接口配置FPGA,測試結(jié)果如圖6所示。由圖6可以看出,輸入5 kHz方波信號,經(jīng)過濾波后得到輸出為5 kHz的正弦波信號。測試結(jié)果與MATLAB/Simulink/DSP Builder模型仿真結(jié)果相同,證明該濾波器設(shè)計(jì)正確,濾波效果很好。

圖5 RTL級電路圖

圖6 數(shù)字示波器波形圖

本文主要研究了FIR數(shù)字濾波器的設(shè)計(jì),包括建模算法仿真以及最后的硬件實(shí)現(xiàn)。

設(shè)計(jì)結(jié)果表明,在利用FPGA進(jìn)行數(shù)字濾波器設(shè)計(jì)時(shí),利用DSP Builder可以簡化計(jì)算與設(shè)計(jì)難度,加快設(shè)計(jì)速度,靈活選擇精度,實(shí)現(xiàn)優(yōu)化設(shè)計(jì)。將DSP Builder與Quartus II軟件有機(jī)融合,整個(gè)開發(fā)流程一氣呵成,真正實(shí)現(xiàn)了自頂向下的設(shè)計(jì)流程,充分顯示了現(xiàn)代EDA(電子設(shè)計(jì)自動化)開發(fā)的特點(diǎn)與優(yōu)勢。設(shè)計(jì)不同性能的濾波器電路,只需修改濾波器模型文件即可實(shí)現(xiàn),不僅避免了繁瑣的VHDL語言編程,而且易于修改、測試及硬件升級,成本相對較低,具有一定的工程設(shè)計(jì)參考價(jià)值。

[1]程佩青.數(shù)字信號處理教程(第 3版)[M].北京:清華大學(xué)出版社,2007.

[2]席在芳,周少武,歐青立,等.基于 Simulink的 FIR數(shù)字濾波器設(shè)計(jì)實(shí)驗(yàn)教學(xué)探索與實(shí)踐[J].實(shí)驗(yàn)技術(shù)與管理,2010(5):80-82.

[3]潘松,黃繼業(yè).SOPC技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社,2005.

[4]潘松,黃繼業(yè),王國棟.現(xiàn)代技術(shù) DSP技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.

[5]郭海麗,王紫婷.基于Matlab/Simulink的FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].電氣應(yīng)用,2008(1):73-75.

[6]徐年,張劍英.基于 FPGA的 FIR數(shù)字濾波器的實(shí)現(xiàn)[J].煤炭工程,2007(4):118-120.

[7]張海軍.基于FPGA的16階FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽大學(xué)學(xué)報(bào)(自然科學(xué)版),2009(1):62-65.

[8]趙文兵,楊建寧.FIR濾波器的FPGA實(shí)現(xiàn)及其仿真研究[J].微計(jì)算機(jī)信息,2005(6Z):108-109.

[9]雷能芳.基于分布式算法有限脈沖響應(yīng)(FIR)濾波器的FPGA 設(shè)計(jì)[J].科學(xué)技術(shù)與工程,2010(11):2743-2746.

[10]郝小江,繆志農(nóng),張小平.基于 FPGA的 FIR濾波器設(shè)計(jì)與實(shí)現(xiàn)[J].儀表技術(shù),2010(1):44-46.

[11]蔣立平,譚雪琴.一種基于FPGA的高效FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].南京理工大學(xué)學(xué)報(bào),2007,31(1):125-128.

猜你喜歡
濾波器濾波芯片
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
開關(guān)電源EMI濾波器的應(yīng)用方法探討
電子制作(2018年16期)2018-09-26 03:26:50
芯片測試
基于Canny振蕩抑制準(zhǔn)則的改進(jìn)匹配濾波器
多通道采樣芯片ADS8556在光伏并網(wǎng)中的應(yīng)用
基于TMS320C6678的SAR方位向預(yù)濾波器的并行實(shí)現(xiàn)
RTS平滑濾波在事后姿態(tài)確定中的應(yīng)用
基于線性正則變換的 LMS 自適應(yīng)濾波
遙測遙控(2015年2期)2015-04-23 08:15:18
74HC164芯片的應(yīng)用
河南科技(2014年10期)2014-02-27 14:09:18
基于隨機(jī)加權(quán)估計(jì)的Sage自適應(yīng)濾波及其在導(dǎo)航中的應(yīng)用
保康县| 青浦区| 辉县市| 永善县| 怀化市| 清丰县| 怀安县| 醴陵市| 永吉县| 凤翔县| 闻喜县| 昌乐县| 湟中县| 旌德县| 成武县| 秭归县| 从化市| 平罗县| 卓尼县| 东城区| 河东区| 通州区| 新源县| 扎囊县| 汝城县| 平泉县| 山丹县| 彭州市| 抚顺县| 西乡县| 桓台县| 城固县| 利津县| 饶平县| 中西区| 清徐县| 改则县| 克拉玛依市| 濮阳市| 苍南县| 凌源市|