《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 32階FIR濾波器的FPGA實現
32階FIR濾波器的FPGA實現
范曉東,蔡德林,桂岳,梁本仁
摘要: 本文采用并行分布式算法在FPGA上設計并實現了高速處理的32階FIR低通濾波器,在此過程中利用Matlab的數值計算與分析功能來提高設計效率。
關鍵詞: 信號調理 FIR FPGA
Abstract:
Key words :

    隨著軟件無線電的發展。對于濾波器的處理速度要求越來越高。傳統的FIR濾波器一般采用通用DSP處理器,但是DSP處理器采用的是串行運算,而FPGA是現場可編程陣列,可以實現專用集成電路,另外還可以采用純并行結構及考慮流水線結構,因此在處理速度上可以明顯高于DSP處理器。本文采用并行分布式算法在FPGA上設計并實現了高速處理的32階FIR低通濾波器,在此過程中利用Matlab的數值計算與分析功能來提高設計效率。

1 FlR低通濾波器的窗函數實現

    理想的濾波器頻率響應中傅里葉反變換ha(n)一定是無限長的序列,而且是非因果的,而實際要設計的濾波器h(n)是有限長的,因此要用有限長來逼近無限長的,其方法就是用一個有限長度的窗口函數序列ω(n)來截取,即:
   
    常見的窗函數有矩形窗、巴特利特窗、漢寧窗、哈明窗、布萊克曼窗、凱澤窗。其中,凱澤窗提供了可變的過渡帶寬。本文采用凱澤窗對FIR濾波器進行設計,其窗函數表達式為:
   
    I0[·]為第一類變形零階貝賽爾函數,形狀參數β為依賴于濾波器階數M的參數,用來調整主瓣寬度與旁瓣衰減,選擇M可產生各種過渡帶寬和接近最優的阻帶衰減。給定通帶截止頻率ωp,阻帶起始頻率ωs,阻帶衰減As,凱澤窗設計中有經典公式可供使用,如下:
    過渡帶寬:
    
    濾波器階數:
    
    形狀參數:
    
    假設低通數字濾波器設計指標如下:

   

采用上面介紹的凱澤窗,利用Matlab編程計算得到32階FIR低通濾波器參數如下:

 

   
    32階FIR低通濾波器幅頻特性圖如圖1所示。

    上述求得的系數是浮點型的,而在FPGA設計中使用的數據是定點型的,所以在設計濾波器之前要將系數轉化為定點型,即系數的量化。在本文中采用數字信號處理(DSP)技術中的Q值法對系數進行量化。為了兼顧精度和所占用的資源,本文的系數用12位二進制來量化,得到的整數系數結果如下:

2 并行分布式算法原理及FPGA設計
    32階FIR濾波器的差分方程表達式為:

 

   
    式中:x(n)為輸入;y(n)為輸出;h(n)為濾波器系數。
    設x(n)用二進制可表示為:

   
    其中,最高位為符號位。則式(7)可寫為:


    式(10)為并行分布式算法,由上可以看出并行分布式算法是將濾波器表達式重新排列,分別加權求和。與傳統算法最大的不同之處是在FPGA設計過程中以查找表代替乘法器,即根據輸入數據的不同,將對應的濾波器系數預先求和保存在ROM中,也就是將每一項的乘法求和通過并行結構查表尋值完成,提高運行速度。
    具體FPGA實現時,首先將12位的輸人數據并行輸入到12列32位移位寄存器分別寄存,然后以寄存器中的值為地址,對應于查找表的結果,按照式(10),每列進行相應二次冪加權,最后各列累加,在第32個數據完全輸入之后得到正確的濾波器輸出。由于輸入數據的延遲,在此之前濾波器輸出會延遲或者產生不正確的結果,可以在實現過程中加入控制信號進行輸出控制。由于查找表的規模是隨著地址的增加呈指數增加的,可以將32位的查找表劃分為四個8位的查找表,從而降低對ROM的需求。
    在本設計中可采用多級流水線技術,也就是將在明顯制約系統速度的長路徑上插入幾級寄存器,雖然流水線會影響器件資源的使用量,但它降低了寄存器間的傳播時延,允許維持高的系統時鐘速率。

3 FPGA仿真與驗證
    由于直接將大量數據進行硬件仿真驗證很不方便,因此利用Matlab產生一個采樣頻率為100 MHz,頻率分別為1 MHz與30 MHz的兩個正弦信號相加后,作為輸入信號。同樣,浮點變為定點,將此信號進行12位量化,并將負數轉化為補碼形式,按照一定格式保存為.vec文件,導入到QuartusⅡ中進行仿真,時序功能仿真結果如圖2所示。

 

 

    其中,clk為時鐘信號,x_in為濾波器輸入信號,y為濾波器輸出信號。圖2并不能很直觀地看出并行分布式算法產生的濾波效果,可以將QuartusⅡ中.vwf文件轉化為.tbl文件,在Matlab中按照一定形式編程可以得到時域及頻域波形圖,如圖3,圖4所示。

    圖3,圖4中,軟件仿真是直接在Matlab中用輸入信號與濾波系數卷積得到的,在時域波形中軟件仿真輸出信號與理想信號相比有一定時間延遲,而QuartusⅡ仿真與軟件仿真結果中幅度的差別是由于硬件輸入量化產生的。
    從時域或者頻域波形圖可以看出,頻率為30 MHz的信號被濾除掉,只有頻率為1 MHz的信號通過濾波器,達到了濾波的目的。


4 結 語
    本設計選用Stratix系列芯片,最大處理速度可以達到200 MHz以上。本文沒有考慮線性相位的濾波器對稱性,在考慮線性相位的基礎之上結合一些其他算法可以降低器件數量和進一步提高處理速度。由于FPGA器件的可編程特性,在本設計中可以修改濾波器參數,得到高速處理的高通或者帶通數字濾波器,具有一定實用價值。另外,本文利用QuartusⅡ與Matlab聯合仿真,極大地提高了FPGA的設計效率。
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲高清一区二区三区久久 | 午夜精品福利视频 | 亚洲第成色999久久网站 | 欧美极品在线 | 又爽又黄又无遮挡网站 | 色在线视频网站 | 天天舔舔 | 成人免费一级片 | 国产成人一区二区三区在线播放 | 伦理片在线观看网站资源 | 天天舔天天 | 天天摸夜夜摸爽爽狠狠婷婷97 | 国产卡1卡2卡三卡在线 | 国产精品亚洲高清一区二区 | 一本大道香蕉大69 | 一个人看的www播放高清 | 看全色黄大色黄女片爽毛片 | 激情综合欧美 | 天天做日日做 | 夜夜躁狠狠躁日日躁视频 | 天天爽天天碰狠狠添 | 干干干操操操 | 中文字幕日韩一区二区三区不 | 96xxxxx日本人 | 久久精品视频免费播放 | 亚洲性夜夜综合久久麻豆 | 韩剧伦理在线观看 | 日本中文字幕在线视频站 | 乡村乱肉情欲小说 | 最新日本中文字幕 | 日韩成人国产精品视频 | 69午夜视频| 波多野结衣一区2区3区 | 免费在线观看a | 久久久96| 国产欧美日韩一区二区三区在线 | 国产一级片网址 | 香港三级日本三级a视频 | 天天曰天天干 | 午夜爽视频 | 国产成人亚洲综合 |