當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]采用DSPBuilder的FIR濾波器的方案實(shí)現(xiàn)

1.引言

    在信息信號(hào)處理過程中,如對(duì)信號(hào)的過濾、檢測(cè)、預(yù)測(cè)等,都要使用濾波器,數(shù)字濾波器是數(shù)字信號(hào)處理(DSP,DigitalSignalProcessing)中使用最廣泛的一種器件。常用的濾波器有無(wú)限長(zhǎng)單位脈沖響應(yīng)(ⅡR)濾波器和有限長(zhǎng)單位脈沖響應(yīng)(FIR)濾波器兩種[1],其中,FIR濾波器能提供理想的線性相位響應(yīng),在整個(gè)頻帶上獲得常數(shù)群時(shí)延從而得到零失真輸出信號(hào),同時(shí)它可以采用十分簡(jiǎn)單的算法實(shí)現(xiàn),這兩個(gè)優(yōu)點(diǎn)使FIR濾波器成為明智的設(shè)計(jì)工程師的首選,在采用VHDL或VerilogHDL等硬件描述語(yǔ)言設(shè)計(jì)數(shù)字濾波器時(shí),由于程序的編寫往往不能達(dá)到良好優(yōu)化而使濾波器性能表現(xiàn)一般。而采用調(diào)試好的IPCore需要向Altera公司購(gòu)買。筆者采用了一種基于DSPBuilder的FPGA設(shè)計(jì)方法,使FIR濾波器設(shè)計(jì)較為簡(jiǎn)單易行,并能滿足設(shè)計(jì)要求。

2 FIR濾波器介紹

2.1 FIR濾波器設(shè)計(jì)的原理

    FIR濾波器的數(shù)學(xué)表達(dá)式可用差分方程(1)來表示:

      

    其中:r是FIR的濾波器的抽頭數(shù);b(r)是第r級(jí)抽頭數(shù)(單位脈沖響應(yīng));x(n-r)是延時(shí)r個(gè)抽頭的輸入信號(hào)。

    設(shè)計(jì)濾波器的任務(wù)就是尋求一個(gè)因果,物理上可實(shí)現(xiàn)的系統(tǒng)函數(shù)H(z),使其頻率響應(yīng)H(ejw)滿足所希望得到的頻域指標(biāo)。

2.2 設(shè)計(jì)要求

    數(shù)字濾波器實(shí)際上是一個(gè)采用有限精度算法實(shí)現(xiàn)的線性非時(shí)變離散系統(tǒng),它的設(shè)計(jì)步驟為先根據(jù)需要確定其性能指標(biāo),設(shè)計(jì)一個(gè)系統(tǒng)函數(shù)H(z)逼近所需要的技術(shù)指標(biāo),最后采用有限的精度算法實(shí)現(xiàn)。本系統(tǒng)的設(shè)計(jì)指標(biāo)為;設(shè)計(jì)一個(gè)16階的低通濾波器,對(duì)模擬信號(hào)的采樣頻率fs為48KHz要求信號(hào)的截止頻率fc=10.8kHz輸入序列位寬為9位(最寬位為符號(hào)位)。

3 DSPBuilder介紹

    DSPbuilder是Altera推出的一個(gè)DSP開發(fā)工具,它在QuartusⅡFPGA設(shè)計(jì)環(huán)境中集成了Mathworks的Matlab和simulinkDSP開發(fā)軟件[2]。

    以往Matlab工具的使用往往作為DSP算法的建模和基于純數(shù)學(xué)的仿真,其數(shù)學(xué)模型無(wú)法為硬件DSP應(yīng)用系統(tǒng)直接產(chǎn)生實(shí)用程序代碼,仿真測(cè)試的結(jié)果也僅僅是基于數(shù)學(xué)算法結(jié)構(gòu)。而以往FPGA所需的傳統(tǒng)的基于硬件描述語(yǔ)言(HDL)的設(shè)計(jì)由于要考慮FPGA的硬件的δ延時(shí)與VHDL的遞歸算法的銜接,以及補(bǔ)碼運(yùn)算和乘積結(jié)果截取等問題,相當(dāng)繁雜。

    對(duì)DSP是Builder而言,頂層的開發(fā)工具是MatLab/Simulink整個(gè)開發(fā)流層幾乎可以在同一環(huán)境中完成,真正實(shí)現(xiàn)了自定向下的設(shè)計(jì)流程,包括DSP系統(tǒng)的建模、系統(tǒng)級(jí)仿真、設(shè)計(jì)模型向VHDL硬件描述語(yǔ)言代碼的轉(zhuǎn)換、RTL(邏輯綜合RegisterTransferLevel)級(jí)功能仿真測(cè)試、編譯適配和布局布線、時(shí)序?qū)崟r(shí)仿真直至對(duì)DSP目標(biāo)器件的編程配置,整個(gè)設(shè)計(jì)流程一氣呵成地將系統(tǒng)描述和硬件實(shí)現(xiàn)有機(jī)地融為一體,充分顯示了現(xiàn)代電子設(shè)計(jì)自動(dòng)化開發(fā)的特點(diǎn)與優(yōu)勢(shì)。

4 FIR數(shù)字濾波器的DSPBuilder設(shè)計(jì)

4.1 FIR濾波器參數(shù)選取

    用Matlab提供的濾波器設(shè)計(jì)的專門工具箱———FDATool仿真設(shè)計(jì)濾波器,滿足要求的FlR濾波器幅頻特性如圖1,由于浮點(diǎn)小數(shù)FPGA中實(shí)現(xiàn)比較困難,且代價(jià)太大,因而需要將濾波器的系數(shù)和輸入數(shù)據(jù)轉(zhuǎn)化為整數(shù),其中量化后的系數(shù)在Matlab主窗口可直接轉(zhuǎn)化,對(duì)于輸入數(shù)據(jù),可乘上一定的增益用Altbus控制位寬轉(zhuǎn)化為整數(shù)輸入。

             

4.2 FIR濾波器模型建立

    根據(jù)FIR濾波器原理,可以利用FPGA來實(shí)現(xiàn)FIR濾波電路,DSPBuilder設(shè)計(jì)流程的第一步是在Matlab/Simulink中進(jìn)行設(shè)計(jì)輸入,即在Matlab的Simulink環(huán)境建立一個(gè)MDL模型文件,用圖形方式調(diào)用AlteraDSPBuilder和其他的Simulink庫(kù)中的圖形模塊,構(gòu)成系統(tǒng)級(jí)或算法級(jí)設(shè)計(jì)框圖(或稱Simulink建模),如圖2所示。

          [!--empirenews.page--]

4.3 基于DSPBuilder的濾波器仿真

    輸入信號(hào)分別采用頻率f1=8KHz和f2=16KHz的兩個(gè)正弦信號(hào)進(jìn)行疊加。其中的仿真波形如圖3所示,從FIR濾波電路的仿真結(jié)果看出,輸入信號(hào)通過濾波器后輸出基本上變成單頻率的正弦信號(hào),進(jìn)一步通過頻譜儀可看出f2得到了較大的抑制,與條件規(guī)定的fc=10.8kHz低通濾波器相符合,至此完成了模型仿真。

                        

4.4 運(yùn)用Modelsim進(jìn)行功能仿真

    在Simulink中進(jìn)行的仿真是屬于系統(tǒng)驗(yàn)證性質(zhì)的,是對(duì)MDL文件進(jìn)行的仿真,并沒有對(duì)生成的VHDL代碼進(jìn)行過仿真。事實(shí)上,生成VHDL描述是RTL級(jí)的,是針對(duì)具體的硬件結(jié)構(gòu)的,而在Matlab的Simulink中的模型仿真是算法級(jí)(系統(tǒng)級(jí))的,是針對(duì)算法實(shí)現(xiàn)的,這二者之間有可能存在軟件理解上的差異,轉(zhuǎn)換后的VHDL代碼實(shí)現(xiàn)可能與MDL模型描述的情況不完全相符,這就是需要針對(duì)生成的RTL級(jí)VHDL代碼進(jìn)行功能仿真。

    在此,筆者利用Modelsim對(duì)生成的VHDL代碼進(jìn)行功能仿真。設(shè)置輸入輸出信號(hào)均為模擬形式,出現(xiàn)如圖4所示的仿真波形,可以看到這與Simulink里的仿真結(jié)果基本一致,即可在QuartusⅡ環(huán)境下進(jìn)行硬件設(shè)計(jì)。

                              

4.5 在FPGA器件中實(shí)現(xiàn)FIR濾波器

    在QuartusⅡ環(huán)境中打開DSPBuilder建立的QuartusⅡ項(xiàng)目文件firl.qpf。在QuartusⅡ中進(jìn)行再一次仿真,由此可以看到符合要求時(shí)序波形,然后指定器件引腳并進(jìn)行編譯,最后下載到FPGA器件中,就可以對(duì)硬件進(jìn)行測(cè)試,加上CLCOK信號(hào)和使能信號(hào),用信號(hào)發(fā)生器產(chǎn)生所要求的兩個(gè)不同頻率的正弦信號(hào),就可以在示波器上看到濾波以后的結(jié)果,需要設(shè)計(jì)不同的濾波器電路時(shí),僅修改FIR濾波模型文件就可以實(shí)現(xiàn),這樣不僅避免了繁瑣的VHDL語(yǔ)言編程,而且便于進(jìn)行調(diào)整。

5 結(jié)束語(yǔ)

    在利用FPGA進(jìn)行數(shù)字濾波器的開發(fā)時(shí),采用DSPBuilder作為設(shè)計(jì)工具能加快進(jìn)度。當(dāng)然,在實(shí)際應(yīng)用中,受精度、速度和器件選擇方面的影響,可以對(duì)其轉(zhuǎn)化的VHDL進(jìn)行進(jìn)一步的優(yōu)化。

本站聲明: 本文章由作者或相關(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工具的開發(fā)耗時(shí)1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)開幕式在貴陽(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)閉