基于FPGA的FIR數字濾波器設計與仿真

發(fā)布時(shí)間:2010-11-26 18:21    發(fā)布者:designer
關(guān)鍵詞: FIR , FPGA , 數字濾波器
1 引言

實(shí)現數字化是控制系統的重要發(fā)展方向,而數字信號處理已在通信、語(yǔ)音、圖像、自動(dòng)控制、雷達、軍事、航空航天等領(lǐng)域廣泛應用。數字信號處理方法通常涉及變換、濾波、頻譜分析、編碼解碼等處理。數字濾波是重要環(huán)節,它能滿(mǎn)足濾波器對幅度和相位特性的嚴格要求,克服模擬濾波器所無(wú)法解決的電壓和溫度漂移以及噪聲等問(wèn)題。而有限沖激響應FIR濾波器在設計任意幅頻特性的同時(shí)能夠保證嚴格的線(xiàn)性相位特性。利用FPGA可以重復配置高精度的FIR濾波器,使用VHDL硬件描述語(yǔ)言改變?yōu)V波器的系數和階數,并能實(shí)現大量的卷積運算算法。結合MATLAB工具軟件的輔助設計,使得FIR濾波器具有快速、靈活、適用性強,硬件資源耗費少等特點(diǎn)。

2 基本原理

分布式算法(Distributed Arithmetic,簡(jiǎn)稱(chēng)DA)是一項重要的FPGA技術(shù),廣泛應用在計算乘積和之中。該算法基本原理如下:

一線(xiàn)性時(shí)不變網(wǎng)絡(luò )輸出:




設系數c[n]是已知常數,x[n]是變量,在有符號DA系統中假設變量x[n]的表達式為:




式中xb[n]為x[n]的第b位,而x[n]也就是x的第n次采樣。于是,內積y可以表示為:




分布式算法是一種以實(shí)現乘加運算為目的的運算方法。它與傳統算法實(shí)現乘加運算的不同在于執行部分積運算的先后順序。該算法利用一個(gè)查找表(LUT)實(shí)現映射,即用一個(gè)2N字寬、預先編好程序的LUT接收一個(gè)N位輸入向量xb=[xb[0]],xb,…,xb[N-1]]的映射,經(jīng)查找表的查找后直接輸出部分積。與傳統算法相比,分布式算法可極大的減少硬件電路的規模,提高電路的執行速度。

3 FIR濾波器的設計與實(shí)現

3.1 FIR濾波器系數的提取


線(xiàn)性相位FIR濾波器通常采用窗函數法設計。這里采用MATLAB窗函數進(jìn)行設計。窗函數設計的基本思想是要選取某一合適的理想頻率選擇性濾波器,然后將其脈沖響應截斷獲得一個(gè)線(xiàn)性相位和因果的FIR濾波器。根據給定的濾波器技術(shù)指標,選用凱澤(Kaiser)窗設計,其幅頻特性和相頻特性如圖1所示。





由于從MATLAB算出的系數h(n)的值是一組浮點(diǎn)數,而FPGA器件只是定點(diǎn)數計算,所以要將浮點(diǎn)數轉換為定點(diǎn)數。為了獲得最佳濾波器系數,轉換時(shí)需對其進(jìn)行處理,轉換后系








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

FPGA采用FLEXlOK系列中的EPF10K10 2C84—3器件。EDA 工具使用QuartusⅡ5.1。使用FIR濾波器描述編程,從而實(shí)現FIR濾波器的頂層原理圖,如圖2所示。




4 FIR濾波器實(shí)驗電路

完成FIR濾波器程序設計后,可將程序編譯時(shí)生成的配置文件下載到選用的器件中,配置后的器件就能夠執行FIR濾波器的功能。為了驗證設計的FIR濾波器的實(shí)際濾波效果,設計了一個(gè)實(shí)驗電路,并利用測試儀器,組成了測試系統,如圖3所示。該測試系統包含交流信號發(fā)生器、實(shí)驗電路和示波器。而實(shí)驗電路包括MD轉換電路、FIR數字濾波電路和D/A轉換電路,它是整個(gè)測試系統的重要部分。





4.1 A/D轉換電路

A/D轉換電路可將模擬信號轉換為數字信號,其電路如圖4所示。該轉換電路中選用MAXIM公司的12位逐次逼近式A/D轉換器MAXl83,其轉換時(shí)間為3μs。MAXl83設置為雙極性工作模式,模擬信號的輸入范圍是±5 V。





交流信號發(fā)生器發(fā)送的信號從連接器進(jìn)入轉換電路,經(jīng)運算放大器OP07構成的反向比例放大電路送至MAXl83的模擬信號輸入端AINl。在一定時(shí)序的控制下,完成將模擬信號轉換為數字信號,并將其數字信號XIN[11..0]輸出。該A/D轉換器MAXl83的模擬信號輸入端接入一個(gè)單級的RC低通濾波器,它實(shí)際上是一個(gè)簡(jiǎn)單的抗混疊濾波器。

4.2 D/A轉換電路

D/A轉換電路可將數字輸入信號轉換為模擬信號,其電路如圖5所示。該電路選用MAXIM公司的電壓輸出型D/A轉換器MX7245,其輸出的模擬信號為電壓信號,并具有12位的數據輸入端。電路中,MX7245被配置成雙極性工作模式,模擬電壓信號的輸出范嗣為±5 V。在一定時(shí)序的控制下,D/A轉換器將輸入端接收到的數字信號YOUT[11..0]轉換成模擬信號輸出。在模擬信號的輸出端連接由電阻電容構成的一個(gè)低通濾波器,具有平滑濾波的作用。




4.3 FIR數字濾波電路

圖6給出FIR數字濾波電路。該電路包括高密度可編程邏輯器件、有源品體振蕩器、10針插座以及多只電阻和按鍵開(kāi)關(guān)。這里選用的高密度可編程邏輯器件為AIXERA公司FLEXlOK系列的EPF10K20RC240—3。





配置的濾波器設計后,利用器件中的剩余資源,即由EPFl0K20RC240—4型FPGA控制A/D轉換器和D/A轉換器的功能。因此RD、ADCS、WR、LDAC、DACS這些引腳就是用于控制A/D轉換器電路和D/A轉換器電路的輸出引腳。其中,引腳RD、ADCS分別與A/D轉換器的引腳RD、CS相連,而引腳WR、LDAC、DACS分別與D/A轉換電路的引腳WR、LDAC、CS相連。

5 濾波效果測試

將設計的低通濾波器的配置文件下載到器件中進(jìn)行實(shí)際濾波測試,用示波器觀(guān)察各個(gè)頻率點(diǎn)上輸出信號的幅值大小。由濾波測試結果可知,該FIR濾波電路完全達到低通濾波器5 MHz的采樣頻率,1.5 MHz的截止頻率,以及16階的技術(shù)指標參數。圖7為原始波形,圖8為濾波后的波形。




6 結語(yǔ)

研究了在FPGA中采用分布式算法實(shí)現FIR濾波器的原理和方法,設計了FIR濾波器并借助Altera公司的FPGA器件和0uartusⅡ軟件對設計方案進(jìn)行仿真驗證,測試結果完全能滿(mǎn)足系統設計要求。
本文地址:http://selenalain.com/thread-42013-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
jerriwang 發(fā)表于 2011-6-22 15:16:43
你好!我現在也在做濾波器的設計,遇到幾個(gè)問(wèn)題一直弄不明白,請問(wèn)能請教你嗎,謝謝!我的QQ282995773,謝謝啦!
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页