《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Verilog HDL的FIR數字濾波器設計與仿真
基于Verilog HDL的FIR數字濾波器設計與仿真
摘要: 本文主要分析了FIR數字濾波器的基本結構和硬件構成特點,簡要介紹了FIR濾波器實現的方式優缺點;結合Altera公司的Stratix系列產品的特點,以一個基于MAC的8階FIR數字濾波器的設計為例,給出了使用Verilog 硬件描述語言進行數字邏輯設計的過程和方法,并且在QuartusII的集成開發環境下編寫HDL代碼,進行綜合;利用QuartusII內部的仿真器對設計做脈沖響應仿真和驗證。
Abstract:
Key words :

  引言:數字濾波器是語音與圖像處理、模式識別、雷達信號處理、頻譜分析等應用中的一種基本的處理部件,它能滿足波器對幅度和相位特性的嚴格要求,避免模擬濾波器所無法克服的電壓漂移、溫度漂移和噪聲等問題。有限沖激響應(FIR)濾波器能在設計任意幅頻特性的同時保證嚴格的線性相位特性。

  一、FIR數字濾波器

  FIR濾波器用當前和過去輸入樣值的加權和來形成它的輸出,如下所示的前饋差分方程所描述的。

前饋差分方程

  FIR濾波器又稱為移動均值濾波器,因為任何時間點的輸出均依賴于包含有最新的M個輸入樣值的一個窗。由于它的響應只依賴于有限個輸入,FIR濾波器對一個離散事件沖激有一個有限長非零響應,即一個M階FIR濾波器對一個沖激的響應在M個時鐘周期之后為零。

  FIR濾波器可用圖1所示的z域塊圖來描述。

z域塊圖

  其中每個標有z-1的方框都代表了有一個時鐘周期延時的寄存器單元。這個圖中標出了數據通道和必須由濾波器完成的操作。濾波器的每一級都保存了一個已延時的輸入樣值,各級的輸入連接和輸出連接被稱為抽頭,并且系數集合{hk}稱為濾波器的抽頭系數。一個M階的濾波器有M+1個抽頭。通過移位寄存器

 

用每個時鐘邊沿n(時間下標)處的數據流采樣值乘以抽頭,并且求和得到輸出yFIR[n]。濾波器的加法和乘法必須足夠快,在下一個時鐘來到之前形成y[n]。并且在每一級中都必須測量它們的大小以適應他們數據通道的寬度。在要求精度的實際應用中,Lattice結構可以減少有限字長的影響,但增加了計算成本。一般的目標是盡可能快地濾波,以達到高采樣率。通過組合邏輯的最長信號通路包括M級加法和一級乘法運算。FIR結構指定機器的每一個算術單元有限字長,并且管理運算過程中數據流。

 

  二、FIR數字濾波器設計的實現

  目前FIR濾波器的實現方法有三種:利用單片通用數字濾波器集成電路、DSP器件和可編程邏輯器件實現。單片通用數字濾波器使用方便,但由于字長和階數的規格較少,不能完全滿足實際需要。使用DSP器件實現雖然簡單,但由于程序順序執行,執行速度必然不快。FPGA/CPLD有著規整的內部邏輯陣列和豐富的連線資源,特別適合于數字信號處理任務,相對于串行運算為主導的通用DSP芯片來說,其并行性和可擴展性更好。但長期以來,FPGA/CPLD一直被用于系統邏輯或時序控制上,很少有信號處理方面的應用,其原因主要是因為在FPGA/CPLD中缺乏實現乘法運算的有效結構。

  現在的FPGA產品已經能夠完全勝任這種任務了。其中Altera公司的Stratix系列產品采用1.5V內核,0.13um全銅工藝制造,它除了具有以前Altera FPGA芯片的所有特性外,還有如下特點:芯片內有三種RAM塊,即512bit容量的小RAM(M512)、4KB容量的標準RAM(M4K) 、512KB的大容量RAM(MegaRAM)。內嵌硬件乘法器和乘加結構的DSP塊,適于實現高速信號處理;采用全新的布線結構,分為三種長度的行列布線,在保證延時可預測的同時增加布線的靈活性;增加片內終端匹配電阻,提高信號完整性,簡化PCB布線;同時具有時鐘管理和鎖相環能力。

  FIR濾波器的Verilog HDL設計實例

  1、設計意圖

  本例主要是在Stratix器件內實現基本有限脈沖響應濾波器。

  FIR的基本結構包括一系列的乘法和加法。FIR的運算可用式(1)的方程描述,現重寫如下:

FIR的運算

  一個L=8的FIR設計如圖2,利用了輸入的8個樣本。因此稱之為8抽頭濾波器。該結構是有一個移位寄存器,乘法器和加法器組成的,可實現L=8階的FIR。其數據通道必須足夠寬,以適應乘法器和加法器的輸出。這些采樣值被編碼為有限字長的形式,然后通過M個寄存器并行移動。可見用一個MAC級連鏈就可以構成這種機器。每個寄存器提供一個單位樣本內延遲。這些延遲輸入與各自的系數相乘,然后疊加得到輸出。圖2所示為基于MAC的8階FIR數字濾波器結構

基于MAC的8階FIR數字濾波器結構

  在該設計中有八個抽頭,各抽頭有18位輸入和濾波器系數。由于一個DSP塊可以支持4個18位輸入的分支,所以設計需要2個DSP塊。輸入數據串行加載到DSP塊中,DSP內部的移入/移出寄存器鏈用于產生延遲。濾波器系數從TriMatrix™ 的ROM存儲器中加載。

  2、Verilog HDL代碼編寫風格

  HDL代碼編寫應該具有很好的易讀性和可重用性,而自頂向下的分割方法可以幫助我們達到最佳的結果。HDL代碼在達到功能的情況下要盡可能的簡潔,盡量避免使用帶有特殊庫單元的實例,因為這樣會使得整個進程變得不可靠。

  在本設計中,我們將設計劃分成一個頂級文件和三個次級文件,并且調用了QuartusII中的MegaFunction功能輔助完成整個設計。

 

  圖3顯示FIR濾波器的頂級方塊圖

FIR濾波器的頂級方塊圖

  表1:FIR濾波器的設計范例的端口列表

FIR濾波器的設計范例的端口列表

      3、驗證仿真

  完全可綜合設計的一個優點就是同樣的HDL代碼能夠用于驗證和綜合。在使用HDL代碼之前必須要驗證設計的功能,最好且最簡單的方法就是利用驗證工具,其次是利用仿真工具作有目的的仿真。

  QuartusII內部帶有仿真器,只要通過建立正確的Vector Waveform File(向量波形文件)就可以開始仿真了。圖4所示為QuartusII內部仿真器得到的8階FIR的脈沖響應波形。

8階FIR的脈沖響應波形

  五、結論

  利用Verilog HDL設計數字濾波

 

器的最大優點就是可使設計更加靈活。比較硬件電路圖設計,Verilog HDL語言設計的參數可以很容易在Verilog程序中更改,通過綜合工具的簡化和綜合即可以得到電路圖,其效率要高出利用卡諾圖進行人工設計許多。而且編譯過程也非常簡單高效。優秀編碼風格能夠在綜合過程中節省芯片使用的單元,從而降低設計成本。

 

  參考文獻:

  [1]. 夏宇聞。VerilogHDL數字系統設計教程,北京航空航天大學出版社,北京. 2003.

  [2]. Altera Corporation. Introduction to QuartusII. 2003

  [3]. Michael D. Ciletti. Advanced Digital Design with Verilog HDL. Prentice Hall, NJ.2005.

  [4].彭保等.基于VerilogHDL的FPGA設計. 微計算機信息, 2004年第20卷第10期

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 毛片com| 欧美一级特黄视频 | 国产精品久久久精品视频 | 三级网站视频在线观看 | 特级欧美午夜aa毛片 | 久青草国产在线 | 91在线精品亚洲一区二区 | 亚洲精品区一区二区三区四 | 在线99视频 | 91手机看片国产福利精品 | 欧美成人午夜做爰视频在线观看 | hdxxx色视频| 欧美日韩一区二区综合 | 久久精品免费i 国产 | 深夜福利视频在线观看免费视频 | 亚洲区免费 | 图片区偷拍区小说区 | 看一级特黄a大片国产 | 男女牲高爱潮免费视频男女 | 波多结衣一区二区三区 | 99在线观看精品 | 亚洲一级毛片免费看 | 91精品国产高清久久久久久91 | 99视频99| 在线小毛片 | 午夜国产高清精品一区免费 | 亚洲国产精品久久久久久 | 欧美les视频xxxx在线观看 | 女人张开腿让男人捅视频 | 亚洲精品国产一区二区三区四区 | 人成精品视频三区二区一区 | 国产高清一级片 | 日韩中文精品亚洲第三区 | 免费观看情趣v视频网站 | 久草手机在线 | 国产精品1区2区3区在线播放 | 看真人视频一级毛片 | 玖玖精品在线视频 | 亚洲激情 欧美 | 黄色毛片视频在线观看 | 久久国产欧美日韩高清专区 |