色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x

IIR數(shù)字濾波器的FPGA實現(xiàn)

發(fā)布時間:2010-6-9 16:06    發(fā)布者:vinda
關(guān)鍵詞: FPGA , IIR , 數(shù)字濾波器
IIR數(shù)字濾波器的結(jié)構(gòu)  

任意階的IIR濾波器可通過數(shù)學分解,表示為:
  

  
其中為如下的二階形式:
  

  
這樣就可以將任意階的IIR濾波器通過若干二階網(wǎng)絡(luò)(也稱為濾波器的二階基本節(jié))級聯(lián)起來構(gòu)成,其結(jié)構(gòu)如圖1所示。其中,代表第i級的二階網(wǎng)絡(luò)。
  

  
對于每一個二階基本節(jié),可以轉(zhuǎn)置直接II型結(jié)構(gòu)加以實現(xiàn),如圖2所示。


  
采用這種級聯(lián)結(jié)構(gòu)實現(xiàn)IIR濾波器的優(yōu)點是每一個基本節(jié)只是關(guān)系到濾波器的某一對極點和一對零點,調(diào)整系數(shù)a0i、a1i、a2i,只單獨地調(diào)整了濾波器第i對零點而不影響其他任何零、極點。同樣,調(diào)整b1i、b2i系數(shù)、也只單獨調(diào)整了第i對極點。因此,這種結(jié)構(gòu)便于準確地實現(xiàn)濾波器的零、極點,也便于調(diào)整濾波器的頻率響應(yīng)性能。這種結(jié)構(gòu)的另一個優(yōu)點是存儲單元需要較少,在硬件實現(xiàn)時,可以用一個二階節(jié)進行時分復(fù)用,從而降低對FPGA硬件資源的要求。

IIR數(shù)字濾波器的設(shè)計
  
利用MATLAB信號處理工具箱中的濾波器設(shè)計和分析工具(FDATool)可以很方便地設(shè)計出符合應(yīng)用要求的未經(jīng)量化的IIR濾波器。需要將MATLAB設(shè)計出的IIR濾波器進一步分解和量化,從而獲得可用FPGA實現(xiàn)的濾波器系數(shù)。

由于采用了級聯(lián)結(jié)構(gòu),因此如何將濾波器的每一個極點和零點相組合,從而使得數(shù)字濾波器輸出所含的噪聲最小是個十分關(guān)鍵的問題。為了產(chǎn)生最優(yōu)的量化后的IIR數(shù)字濾波器,采用如下步驟進行設(shè)計。
  
(1)首先計算整體傳遞函數(shù)的零極點;
  
(2)選取具有最大幅度的極點以及距離它最近的零點,使用它們組成一個二階基本節(jié)的傳遞函數(shù);
  
(3)對于剩下的極點和零點采用與(2)相類似的步驟,直至形成所有的二階基本節(jié)。

通過上面三步法進行的設(shè)計可以保證IIR數(shù)字濾波器中N位乘法器產(chǎn)生的量化舍入誤差最小。

為了設(shè)計出可用FPGA實現(xiàn)的數(shù)字濾波器,需要對上一步分解獲得的二階基本節(jié)的濾波器系數(shù)進行量化,即用一個固定的字長加以表示。量化過程中由于存在不同程度的量化誤差,由此會導(dǎo)致濾波器的頻率響應(yīng)出現(xiàn)偏差,嚴重時會使IIR濾波器的極點移到單位圓之外,系統(tǒng)因而失去穩(wěn)定性。為了獲得最優(yōu)的濾波器系數(shù),采用以下步驟進行量化。

(1)計算每個系數(shù)的絕對值;
(2)查找出每個系數(shù)絕對值中的最大值;
(3)計算比此絕對值大的最小整數(shù);
(4)對(3)的結(jié)果取反獲得負整數(shù);
(5)計算需要表示此整數(shù)的最小位數(shù);
(6)計算用于表示系數(shù)值分數(shù)部分的余下位數(shù)。

除了系數(shù)存在量化誤差,數(shù)字濾波器運算過程中有限字長效應(yīng)也會造成誤差,因此對濾波器中乘法器、加法器及寄存器的數(shù)據(jù)寬度要也進行合理的設(shè)計,以防止產(chǎn)生極限環(huán)現(xiàn)象和溢出振蕩。

IIR數(shù)字濾波器的VHDL描述
  
由上一節(jié)設(shè)計出來的IIR數(shù)字濾波器可以進一步用VHDL語言加以描述,通過編譯、功能仿真、綜合和時序仿真之后就可以在FPGA上實現(xiàn)了。由于采用了級聯(lián)結(jié)構(gòu),每一個二階基本節(jié)的VHDL描述都是類似的,只是濾波器的系數(shù)有所不同,下面著重討論二階基本節(jié)的VHDL描述。

采用VHDL描述的二階基本節(jié)的頂層結(jié)構(gòu)如圖3所示。數(shù)據(jù)在執(zhí)行單元內(nèi)進行處理。執(zhí)行單元內(nèi)部包含算術(shù)和邏輯單元以及一些寄存器;算術(shù)和邏輯單元主要由串行乘法器和累加器組成;存儲器包括工作RAM和系數(shù)ROM兩部分,分別用于存放計算的中間結(jié)果和濾波器的系數(shù);存儲器和執(zhí)行單元通過內(nèi)部總線相連接;控制模塊包括程序ROM和程序控制單元,程序ROM中存放有濾波算法的程序,程序控制單元用于解釋指令并為數(shù)據(jù)處理模塊產(chǎn)生控制信號。


  
此結(jié)構(gòu)既可以接收串行輸入的數(shù)據(jù),也可以接收并行輸入的數(shù)據(jù),通過SEL進行設(shè)置。外部CPU可以通過READ信號來訪問濾波器的計算結(jié)果,另外,外部CPU也可以通過地址總線A[3:0]對內(nèi)部的存儲器進行訪問,用WRITE信號對濾波器系數(shù)進行寫操作,這樣外部CPU就可以根據(jù)自己的需要對濾波器進行配置,靈活地實現(xiàn)各種功能。

各信號的含義如下。
  CLK:系統(tǒng)時鐘;
  RES:異步全局復(fù)位信號,低有效;
  SDATA:串行輸入數(shù)據(jù);
  PDATA:并行輸入數(shù)據(jù);
  SEL:設(shè)置輸入數(shù)據(jù)為并行還是串行;
  READ:讀信號,低有效;
  WRITE:寫信號,低有效;
  SRES:同步復(fù)位信號,高有效;
  CLKI:外部CPU時鐘;
  A[3:0]:外部CPU訪問內(nèi)部寄存器的地址總線;
  OUT:輸出數(shù)據(jù)。

內(nèi)部算術(shù)與邏輯單元是整個濾波器的核心,它的結(jié)構(gòu)如圖4所示。計算過程是,X、Y為輸入數(shù)據(jù),通過選擇器進入乘法器,算術(shù)與邏輯單元從系數(shù)ROM中讀取濾波器的系數(shù)用以輸入數(shù)據(jù)相乘,相乘的結(jié)果與前一步的結(jié)果相加進入累加器,累加器讀取上一步計算的中間結(jié)果A并計算,最后將此步計算的結(jié)果M存入到RAM中去。



結(jié)語
  
本文介紹了一種采用級聯(lián)結(jié)構(gòu)在FPGA上實現(xiàn)IIR數(shù)字濾波器的方法。在實際使用中,可以根據(jù)不同精度要求,方便地對該IIR濾波器進行修改以滿足不同的指標要求,靈活地組成任意階不同類型的濾波器。同時,在系統(tǒng)運行中,外部CPU可以靈活修改濾波器系數(shù),改變?yōu)V波器的頻率響應(yīng),滿足特定的應(yīng)用要求。
本文地址:http://m.54549.cn/thread-12486-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表