<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于FPGA的數字濾波器的設計與實(shí)現

基于FPGA的數字濾波器的設計與實(shí)現

——
作者:中南大學(xué) 黃石理工學(xué)院 齊海兵 劉雄飛 張德恒 時(shí)間:2006-09-23 來(lái)源:現代電子技術(shù) 收藏

在信息過(guò)程中,如對信號的過(guò)濾、檢測、預測等,都要使用到濾波器,是數字中使用最廣泛的一種方法,常用的有無(wú)限長(cháng)單位脈沖響應(IIR)濾波器和有限長(cháng)單位脈沖響應(FIR)濾波器兩種。對于應用設計者,由于開(kāi)發(fā)速度和效率的要求很高,短期內不可能全面了解相關(guān)的優(yōu)化技術(shù),需要花費很大的精力才能使設計出的濾波器在速度、資源利用、性能上趨于較優(yōu)。而采用調試好的IP核需要向Altera公司購買(mǎi)。本文采用了一種基于 Builder的設計方法,以一個(gè)低通的16階FIR濾波器的實(shí)現為例,通過(guò)生成的濾波器頂層模塊文件與A/D模塊文件設計,在聯(lián)星科技的NC-EDA-2000C實(shí)驗箱上驗證了利用該方法設計的數字濾波器電路工作正確可靠,能滿(mǎn)足設計要求。

1 FIR濾波器的參數設計

1.1 設計要求

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

1.2 FIR濾波器的參數選取

設計頻率選擇性數字濾波器時(shí),通常希望能有近似恒定的頻響幅度,并盡量減小通帶內的相位失真,斜率為整數的線(xiàn)性相位對應于時(shí)域中簡(jiǎn)單的延時(shí),他在頻域中可將相位失真降低到最小的程度[2],用Matlab提供的濾波器設計的專(zhuān)門(mén)工具箱--FDAtool仿真設計濾波器,滿(mǎn)足要求的FIR濾波器幅頻特性,如圖1所示。

2 數字濾波器的 Builder設計

2.1 Builder介紹

DSP Builer是Altera推出的一個(gè)數字(DSP)開(kāi)發(fā)工具,他在Quartus II 設計環(huán)境中集成了Mathworks的Matlab和Simulink DSP開(kāi)發(fā)軟件[3]。對DSP Builder而言,包括DSP系統的建模,系統級仿真、設計模型向VHDL硬件描述語(yǔ)言代碼的轉換、RTL(Register Transfer Level,邏輯綜合)級功能仿真測試、編譯適配和布局布線(xiàn)、時(shí)序實(shí)時(shí)仿真直至對DSP目標器件的編程配置,整個(gè)開(kāi)發(fā)流程幾乎可以在頂層的開(kāi)發(fā)工具M(jìn)atlab/Simulink同一環(huán)境中完成。

2.2 FIR 濾波器算法模型建立

根據FIR濾波器原理,可以利用來(lái)實(shí)現FIR濾波電路,DSP Builder設計流程的第一步是在Matlab/Simulink中進(jìn)行設計輸入,即Matlab的Simulink環(huán)境中建立一個(gè)MDL模型文件,用圖形方式調用Altera DSP Builder和其他的Simulink庫中的圖形模塊,構成系統級或算法級設計框圖(或稱(chēng)Simulink建模)。

2.3 基于DSP Builder的系統級仿真

輸入信號采用頻率分別為f1=8KHz和f2=16KHz的兩個(gè)正弦信號進(jìn)行疊加,其中的仿真波形如圖2所示,從FIR濾波電路的仿真結果看出,輸入信號通過(guò)濾波器后輸出基本上變成單頻率的正弦信號,至此完成了模型仿真。

3 基于 FPGA的數字濾波器的實(shí)現

3.1 運用Modelsim進(jìn)行功能仿真

在DSP Builder中進(jìn)行的仿真是屬于系統驗證性質(zhì)的,是對MDL文件進(jìn)行的仿真,并沒(méi)有對生成的VHDL代碼進(jìn)行過(guò)仿真。事實(shí)上,生成VHDL描述是RTL級的,是針對具體的硬件結構的,這兩者之間有可能存在軟件理解上的差異,轉換后的VHDL代碼實(shí)現可能與MDL模型描述的情況不完全相符,這就需要針對生成的RTL級VHDL代碼進(jìn)行功能仿真。

我們利用Modelsim來(lái)對生成的VHDL代碼進(jìn)行功能仿真。設置輸入輸出信號均為模擬形式,出現如圖3所示的仿真波形,可以看到這與Simulink里的仿真結果基本一致。即可在Quartus II環(huán)境下的硬件設計[4]。

3.2 在FPGA器件中實(shí)現FIR濾波器

用FPGA實(shí)現的數字濾波器處理的是數字信號,在實(shí)際應用中,首先就要用A/D轉化器對模擬信號進(jìn)行采樣與量化。傳統的方法多數是用CPU或完成的,缺點(diǎn)是控制周期長(cháng),速度慢。而利用同步時(shí)序狀態(tài)機來(lái)控制A/D采樣是一種既簡(jiǎn)單可靠,又能顯著(zhù)提高采樣周期的行之有效的方法。

在Quartus II環(huán)境通過(guò)VHDL語(yǔ)言按要求設計該狀態(tài)機并轉換為.bsf文件;打開(kāi)DSP Builder建立的Quartus II項目文件fir.qpf及fir.vhd并轉換為相應的.bsf文件,由此可以得到對應設計的模塊,如圖4所示,調用這兩個(gè)模塊建立新的頂層原理圖文件,在軟件環(huán)境里通過(guò)時(shí)序仿真,指定器件管腳、進(jìn)行編譯、最后下載到實(shí)驗箱的EP1K10TC100-3器件中。

4 結語(yǔ)

用信號發(fā)生器產(chǎn)生所要求的兩個(gè)不同頻率的正弦信號,就可以示波器上看到濾波以后的結果,需要設計不同的濾波電路時(shí),僅修改濾波器模型文件就可以實(shí)現??梢?jiàn)在利用FPGA進(jìn)行數字濾波器的開(kāi)發(fā)時(shí),采用DSP Builder作為設計工具能快捷、可靠地設計實(shí)用濾波系統。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>