當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:簡(jiǎn)要介紹了FIR數(shù)字濾波器的結(jié)構(gòu)特點(diǎn)和基本原理,提出基于FPGA和DSP Builder的FIR數(shù)字濾波器的基本設(shè)計(jì)流程和實(shí)現(xiàn)方案。在Mat lab/Simulink環(huán)境下,采用DSP Builder模塊搭建FIR模型,根據(jù)FDATool工具對(duì)FIR濾波

摘要:簡(jiǎn)要介紹了FIR數(shù)字濾波器的結(jié)構(gòu)特點(diǎn)和基本原理,提出基于FPGA和DSP Builder的FIR數(shù)字濾波器的基本設(shè)計(jì)流程和實(shí)現(xiàn)方案。在Mat lab/Simulink環(huán)境下,采用DSP Builder模塊搭建FIR模型,根據(jù)FDATool工具對(duì)FIR濾波器進(jìn)行了設(shè)計(jì),然后進(jìn)行系統(tǒng)級(jí)仿真和ModelSim功能仿真,其仿真結(jié)果表明其數(shù)字濾波器的濾波效果良好。通過(guò)SignalCompiler把模型轉(zhuǎn)換成VHDL語(yǔ)言加入到FPGA的硬件設(shè)計(jì)中,從QuartusⅡ軟件中的虛擬邏輯分析工具SignalTapⅡ中得到數(shù)字濾波器實(shí)時(shí)的結(jié)果波形圖,結(jié)果符合預(yù)期。
關(guān)鍵詞:FPGA;DSP Builder;FIR數(shù)字濾波器;ModelSim功能仿真

    在信息信號(hào)處理過(guò)程中,數(shù)字濾波器是信號(hào)處理中使用最廣泛的一種方法。通過(guò)濾波運(yùn)算,將一組輸入數(shù)據(jù)序列轉(zhuǎn)變?yōu)榱硪唤M輸出數(shù)據(jù)序列,從而實(shí)現(xiàn)時(shí)域或頻域中信號(hào)屬性的改變。常用的數(shù)字濾波器可分為有限脈沖響應(yīng)(FIR)濾波器和無(wú)限脈沖響應(yīng)(IIR)濾波器兩種。其中FIR數(shù)字濾波器具有嚴(yán)格的線性相位,而且非遞歸結(jié)構(gòu)也保證了運(yùn)算的穩(wěn)定性。在實(shí)時(shí)性要求比較高的應(yīng)用場(chǎng)合,采用可編程芯片F(xiàn)PGA加以實(shí)現(xiàn),相比于DSP芯片或?qū)S眯酒膶?shí)現(xiàn)方法,具有高速、高精度、高靈活性的優(yōu)點(diǎn)。本文在采取了一種基于FPGA和DSP Builder的方法設(shè)計(jì)FIR數(shù)字濾波器時(shí),采用了層次化、模塊化的設(shè)計(jì)思想,遵循DSP Builder的設(shè)計(jì)開(kāi)發(fā)流程,在Matlab/Simulink中建立模型并進(jìn)行系統(tǒng)級(jí)仿真,再進(jìn)行Verilog語(yǔ)言轉(zhuǎn)換,ModelSim仿真驗(yàn)證無(wú)誤后實(shí)現(xiàn)了FIR數(shù)字濾波器的實(shí)時(shí)測(cè)試。

1 FIR數(shù)字濾波器的基本原理及結(jié)構(gòu)
   
對(duì)于一個(gè)FIR濾波器系統(tǒng),它的沖擊響應(yīng)總是有限長(zhǎng)的,其系統(tǒng)函數(shù)可以記為:
   
    式中:x(n)是輸入采樣序列;h(i)是濾波器系數(shù);k是濾波器階數(shù);y(n)表示濾波器的輸出序列。
    圖1為k階FIR數(shù)字濾波器的結(jié)構(gòu)框圖。

2 FIR數(shù)字濾波器的設(shè)計(jì)流程
   
該設(shè)計(jì)流程主要涉及到Matlab/Simulink、DSPBuilder和QuartusⅡ等工具軟件的開(kāi)發(fā)設(shè)計(jì)。整個(gè)設(shè)計(jì)流程,包括從系統(tǒng)描述直至硬件實(shí)現(xiàn),可以在一個(gè)完整的設(shè)計(jì)環(huán)境中完成,如圖2所示。


    (1)Matlab/Simulink中設(shè)計(jì)輸入,即在Matlab的Simulink環(huán)境中建立一個(gè)擴(kuò)展名為mdl的模型文件,用圖形方式調(diào)用Altera DSP Build er和其他Simulink庫(kù)中的圖形模塊(Block),構(gòu)成系統(tǒng)級(jí)或算法級(jí)設(shè)計(jì)框圖(或稱Simulink設(shè)計(jì)模型)。
    (2)利用Simulink的圖形化仿真、分析功能,分析此設(shè)計(jì)模型的正確性,完成模型仿真,也叫系統(tǒng)級(jí)仿真。
    (3)DSP Builder設(shè)計(jì)實(shí)現(xiàn)的關(guān)鍵一步,通過(guò)SignalCompiler把Simulink的模型文件轉(zhuǎn)化成通用的硬件描述語(yǔ)言Verilog文件。
    (4)轉(zhuǎn)換好的Verilog源代碼用ModelSim軟件進(jìn)行功能仿真,驗(yàn)證Verilog文件的正確性。接下來(lái)的幾個(gè)步驟是對(duì)以上設(shè)計(jì)產(chǎn)生的Verilog的RTL代碼和仿真文件在QuartusⅡ工具軟件中進(jìn)行綜合、編譯適配,生成擴(kuò)展名為.sof的文件加載到FPGA硬件系統(tǒng)中。

3 FIR數(shù)字濾波器的詳細(xì)設(shè)計(jì)
3.1 FIR數(shù)字濾波器模塊設(shè)計(jì)與系統(tǒng)級(jí)仿真
    根據(jù)FIR數(shù)字濾波器的原理,在Simulink環(huán)境下搭建16階的FIR數(shù)字濾波器結(jié)構(gòu),如圖3所示。


    在模型的搭建過(guò)程中,使用了兩個(gè)8位的Shift Taps移位寄存器模塊對(duì)輸入信號(hào)進(jìn)行分解,然后根據(jù)數(shù)字濾波器的原理進(jìn)行算法計(jì)算。
    模型搭建好之后,需要確定16階FIR數(shù)字濾波器的系數(shù),在這使用Matlab中的FDATool濾波器設(shè)計(jì)工具來(lái)確定。確定好濾波器的指標(biāo):
    (1)設(shè)計(jì)一個(gè)16階的FIR濾波器;
    (2)低通濾波器;
    (3)采樣頻率fs為16 384 Hz,截頻點(diǎn)頻率fs為533 Hz;
    (4)輸入序列位寬為16位。
    在設(shè)計(jì)濾波器界面中,如圖4所示,進(jìn)行下列選擇:


    (1)濾波器類型(Filter Type)為低通(Lowpass);
    (2)設(shè)計(jì)方法(Design Method)為FIR,采用窗口法(Window);
    (3)濾波器階數(shù)(Filter Order)定制為15(設(shè)置為15階而不是16階,是由于設(shè)計(jì)的16階FIR濾波器的常系數(shù)項(xiàng)h(0)=0);
    (4)濾波器窗口類型為Kaiser,Beta為0.5。
    所有的選項(xiàng)確定好后,在FDATool濾波器設(shè)計(jì)界面中點(diǎn)擊“Design Filter”,Matlab就會(huì)計(jì)算濾波器系數(shù)并作相關(guān)分析。圖5所示為濾波器的幅頻響應(yīng),圖6所示為濾波器的階躍響應(yīng)。


    由于所有的模塊都在同一個(gè)Simulink圖中,這時(shí)的Simulink設(shè)計(jì)圖顯得很復(fù)雜,不利于閱讀和排錯(cuò),因此把FIR數(shù)字濾波器模型做成一個(gè)子系統(tǒng)在設(shè)計(jì)圖中顯示出來(lái),如圖7所示,這就是Matlab中的層次化設(shè)計(jì),在頂層設(shè)計(jì)圖中,濾波器作為名稱是SubFIR_533_16js的一個(gè)模塊出現(xiàn)。同時(shí),圖7中還設(shè)置了其他模塊,包括仿真信號(hào)輸入模塊、Signal TapⅡ信號(hào)實(shí)時(shí)監(jiān)測(cè)模塊、Signal Compiler模塊、硬件開(kāi)發(fā)板模塊、TestBench模塊。


    這樣整個(gè)濾波器的Simulink電路設(shè)計(jì)模型就完成了,然后要對(duì)該模型進(jìn)行系統(tǒng)級(jí)仿真,查看其仿真結(jié)果,在頻率為533 Hz的波形輸入上加入了頻率為3 600 Hz的擾動(dòng)波形,其Simulink仿真結(jié)果如圖8所示。


    圖中,上面的波形是533 Hz的輸出,中間的波形是533 Hz加上3 600 Hz高頻干擾后的輸出,下面的波形是經(jīng)過(guò)濾波后的輸出。
3.2 從模型文件到Verilog代碼的RTL級(jí)轉(zhuǎn)換和編譯適配
   
利用Signal Compiler模塊將電路模型文件即Simulink模塊文件(.mdl)轉(zhuǎn)換成RTL級(jí)的Verilog代碼表述和Tcl(工具命令語(yǔ)言)腳本。這種轉(zhuǎn)換是用來(lái)對(duì)數(shù)字濾波器Simulink模型進(jìn)行結(jié)構(gòu)化分析的。獲得轉(zhuǎn)換好的VHDL描述后就可以調(diào)用Verilog綜合器,這里我們選用Quartus Ⅱ,用來(lái)生成底層網(wǎng)表文件,同時(shí)也就可以得到其網(wǎng)表文件對(duì)應(yīng)的RTL電路圖。如圖9所示。


3.3 數(shù)字濾波器的ModelSim功能仿真
    ModelSim軟件可支持VHDL和Verilog混合仿真,無(wú)論是FPGA設(shè)計(jì)的RTL級(jí)和門級(jí)電路仿真,還是系統(tǒng)的功能仿真都可以用ModelSim來(lái)實(shí)現(xiàn)。由Signal Compiler生成的Verilog硬件描述語(yǔ)言模塊,在ModelSim中可以直接對(duì)Verilog代碼進(jìn)行仿真,檢測(cè)源代碼是否符合功能要求。圖10所示的16階FIR數(shù)字濾波器的功能仿真結(jié)果圖。與圖8的Simulink仿真結(jié)果圖的波形一致,表明經(jīng)過(guò)轉(zhuǎn)換的Verilog源代碼可以實(shí)現(xiàn)正常的濾波功能。


3.4 FIR數(shù)字濾波器的FPGA硬件實(shí)現(xiàn)
   
FIR數(shù)字濾波器一般是嵌入在采集器的采集板卡中進(jìn)行工作的,把由數(shù)字濾波器的Verilog源代碼生成的模塊嵌入到采集板卡的FPGA邏輯中,如圖11所示。在QuartusⅡ環(huán)境下,數(shù)字濾波器的內(nèi)部邏輯經(jīng)過(guò)編譯適配之后,以.sof文件的形式直接加載到FPGA中。



4 FIR數(shù)字濾波器的FPGA實(shí)時(shí)測(cè)試
   
進(jìn)行實(shí)時(shí)測(cè)試的電路是應(yīng)用FPGA和USB的數(shù)據(jù)采集電路,如圖12所示。


    測(cè)試時(shí)把信號(hào)發(fā)生器設(shè)置好的輸入信號(hào)輸入到A/D,采樣得到的數(shù)據(jù)經(jīng)過(guò)FPGA,再通過(guò)USB與PC機(jī)相連,應(yīng)用QuartusⅡ中的SignalTapⅡ工具進(jìn)行實(shí)時(shí)檢測(cè),結(jié)果如圖13所示,其中,上面的波形為輸入波形,頻率為200 Hz,下面的波形為輸出波形,由于200 Hz在低通的帶通內(nèi),所以兩者的波形相差不大。當(dāng)輸入波形為頻率533 Hz時(shí),由于是在截頻點(diǎn),其輸出波形的幅值約為輸入波形幅值的71%,如圖13和14所示。



5 結(jié)語(yǔ)
   
FIR數(shù)字濾波器在數(shù)字信號(hào)處理領(lǐng)域有著廣泛的使用,本文通過(guò)仿真和實(shí)時(shí)驗(yàn)證兩種方式實(shí)現(xiàn)了一種基于FPGA和DSP Builder的FIR數(shù)字濾波器。先根據(jù)FIR濾波器的基本原理和結(jié)構(gòu)框圖搭建了濾波器的模型,再根據(jù)濾波器的性能指標(biāo)通過(guò)FDATool工具對(duì)其進(jìn)行設(shè)計(jì),并通過(guò)系統(tǒng)級(jí)仿真和ModelSim功能仿真進(jìn)行了簡(jiǎn)要的可行性分析,最后通過(guò)QuartusⅡ軟件對(duì)FIR數(shù)字濾波器進(jìn)行實(shí)時(shí)驗(yàn)證,表明所設(shè)計(jì)的FIR濾波器功能正確,性能良好。



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉