基於FPGA的高效FIR濾波器設計與實現

2021-01-10 電子產品世界

摘要: 給出了一種基於FPGA的數字濾波器的設計方法。該方法先通過MATLAB設計出一個具有具體指標的FIR濾波器, 再對濾波器係數進行處理, 使之便於在FPGA中實現, 然後採用基於分布式算法和CSD編碼的濾波器結構進行設計, 從而避免了乘法運算, 節約了硬體資源,其流水線的設計方式也提高了運行速度。Matlab和Modelsim仿真表明, 該設計功能正確, 能實現快速濾波。

本文引用地址:http://www.eepw.com.cn/article/191285.htm

  0 引言

  數字濾波器在語音與圖像處理、模式識別、雷達信號處理、頻譜分析等應用中都具有重要作用。它能避免模擬濾波器所無法克服的溫漂和噪聲等問題, 同時比模擬濾波器精度高、穩定性好、體積小、更加靈活, 因而得到廣泛應用。在聲波測井中, 通常需要對信號進行精確的濾波,並且對濾波器具有嚴格的實時性要求。本文利用輔助Matlab設計工具, 設計了一種基於FPGA且可滿足測井需求的高階快速數字濾波器。

  1 線性相位FIR濾波器結構

  數字濾波器的種類很多, 分類的方法也不盡相同。從數字濾波器的單位衝擊響應來看, 數字濾波器分為有限衝激響應數字濾波器(FIR) 和無限衝激響應數字濾波器(IIR)。相對於IIR濾波器,FIR濾波器可以進行準確的線性相位設計, 而且其結構具有穩定的量化濾波器係數。針對於聲波測井處理具有線性相位要求的聲波信號, FIR濾波器是首選。

  在時域中, FIR濾波器的輸入輸出過程是一個輸入信號與單位脈衝響應進行線性卷積的過程, 其差分方程表達式為:



  其中, y (n) 為濾波輸出, x (n) 為採樣數據, h (n) 為濾波器抽頭係數。其結構如圖1 (a)所示, 圖中, N-1階FIR濾波器要用N個係數描述, 通常, 需要N個乘法器和N-1個兩輸入加法器才能實現。不難發現, 乘法器的係數正好是傳輸函數的係數, 因此, 該結構且稱為直接型結構。

  對於係數對稱的FIR線性相位濾波器, 可將式(1) 寫成如下形式:



  係數對稱的改進型FIR濾波器的結構如圖1(b) 所示。該結構把係數對稱(相同或相反) 的抽頭合併之後再作乘法, 這樣可使乘法器數量降為原有的一半, 但也增加了額外的加法器。



圖1 FIR濾波器結構

  2 設計方法與指標

  FDATool是Matlab信號處理工具箱裡專用的濾波器設計分析工具, 該工具的主要作用是按照設計指標提取濾波器係數。用FDATool設計數字濾波器的關鍵在於濾波器類型、窗函數、濾波器階數、截止頻率等參數的選擇。其中窗函數用於決定阻帶衰減和過渡帶帶寬, 常用的窗函數有矩形窗、漢寧窗、海明窗和布萊克曼窗。矩形窗和漢寧窗阻帶衰減較小, 而布萊克曼窗過渡帶較大, 相對來說, 海明窗更符合設計要求, 它的最小阻帶可以達到54.5dB, 歸一化過渡帶帶寬為3.11π/M (濾波器階數N=2M+1)。針對聲波測井信號, 設計時應進行表1所列的參數設置。

表1 濾波器參數選擇



  圖2所示是該濾波器的幅頻和相頻響應曲線,該曲線在通帶內保持線性相位, 阻帶衰減大於52dB, 過渡帶帶寬為1.65kHz。抽頭係數可以在工具箱中量化為定點整型數據, 以便在FPGA實現階數為127的濾波器, 該濾波器一共有128個係數。對於階數較大的濾波器來說, 其量化對阻帶衰減和過渡帶的影響極小。



圖2 濾波器幅頻和相頻響應特性曲線


相關焦點

  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    在具體應用時,要根據工程當中信號的特點:採樣速率、信號帶寬等具體使用Matlab得到FIR濾波器係數。濾波器的結構實現可以使用PC軟體、單片機、微處理器、FPGA、通用DSP晶片。其需根據信號特性選擇。文中主要使用FPGA實現高速時鐘下的串行FIR濾波器結構,達到速度和邏輯資源情況下的最佳均衡。
  • 基於FPGA高階FIR濾波器的實現
    摘要:從FIR數字濾波器的基本結構模型出發,分析了FIR濾波器的設計思路及具體實現方法,詳細介紹了FIR濾波器的分布式算法(DA)結構。通過分析計算,得到普通DA結構實現高階濾波器會消耗大量的查找表資源,這樣的資源消耗甚至令硬體資源不可接受。
  • 基於FPGA和IP核的FIR低通濾波器的設計與實現
    打開APP 基於FPGA和IP核的FIR低通濾波器的設計與實現 秩名 發表於 2012-12-03 11:50:23   FIR
  • 一種改進型的FIR數字濾波器設計
    fir系統有自己突出的優點:系統總是穩定的;易實現線性相位;允許設計多通帶(或多阻帶)濾波器,後兩項都是iir系統不易實現的。fir數字濾波器的設計方法有多種,如窗函數設計法、頻率採樣法和chebyshev逼近法等。隨著matlab軟體尤其是matlab的信號處理工作箱的不斷完善,不僅數字濾波器的計算機輔助設計有了可能,而且還可以使設計達到最優化。
  • 基於FPGA的實時中值濾波器硬體實現
    在許多實際應用場合,如高清視頻監控、X光圖像的降噪等,需要快速且實時地進行中值濾波,軟體實現達不到實時處理的要求,因此選用硬體實現。 在硬體實現上,文獻[1]、[2]等採用行延遲的方法形成鄰域數據,以實現3×3的中值濾波。文獻[7]為了提高紅外成像跟蹤器設計了大窗口的中值濾波器。
  • 基於FPGA的巴特沃茲IIR數字帶通濾波器設計
    其中IIR數字濾波器和FIR數字濾波器是目前人們使用較多的兩種。數字濾波器通常採用計算機軟體、專用數字濾波器、DSP器件或可編程邏輯器件(如FPGA) 實現。因為,用FPGA實現數字濾波器具有實時性強、靈活性高、處理速度快以及小批量生產成本低等優點,所以得到了較為廣泛的應用。本文以巴特沃思數字帶通濾波器為例,較為詳細地介紹了其設計和實現方法。
  • 什麼是fir數字濾波器 什麼叫FIR濾波器
    相較於IIR濾波器, FIR濾波器有以下的優點:* 可以很容易地設計線性相位的濾波器. 線性相位濾波器延時輸入信號,卻並不扭曲其相位.* 實現簡單. 在大多數DSP處理器, 只需要對一個指令積習循環就可以完成FIR計算.* 適合於多採樣率轉換,它包括抽取(降低採樣率), 插值(增加採樣率)操作.
  • Matlab輔助DSP設計FIR數字濾波器
    下面利用Matlab與CCS及目標DSP的連接利用Matlab輔助DSP實現一個低通FIR數字濾波器並把實現的濾波結果和Matlab中仿真的濾波結果進行比較。  3 Matlab輔助DSP實現FIR過程  Matlab輔助DSP實現FIR,其總體過程為在DSP中編寫處理程序;在Matlab中利用濾波器設計、分析工具(FDATool),根據指定的濾波器性能快速設計一個FIR,然後把濾波器係數以頭文件形式導人CCS中,頭文件中含濾波器階數和係數數組,在Matlab中調試、運行DSP程序並顯示、分析處理後的數據。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    2 系統硬體總體設計 系統的硬體功能是實現語音指令的採集和步進電機的驅動控制,為系統軟體提供開發和調試平臺。如圖1所示。 系統硬體分為語音信號的採集和播放,基於dsp的語音識別,fpga動作指令控制、步進電機及其驅動、dsp外接快閃記憶體晶片,jtag口仿真調試和鍵盤控制幾個部分。
  • 一種基於FPGA實現SRRC濾波及多速率變換模塊的方法介紹
    本文基於FPGA設計一種多速率變換器提高信號的採樣率,實現任意倍數的符號率變換(本文主要實現了上採樣變換,下採樣實現方法相同)。採用SRRC濾波與半帶(Half-band,HB)濾波器、級聯積分梳狀(Cascade Integrator Comb,CIC)濾波器、Farrow濾波級聯進行上採樣,實現平方根升餘弦濾波及信號任意倍數的上變頻處理。
  • 基於Matlab的FIR數字濾波器設計
    摘要:提出FIR敷字濾波器的設計方案,並基於Matlab實現濾波仿真。通過使用Matlab信號處理工具箱提供的函數,選擇適當的窗函數編寫程序,其中窗函數按照實際信號的處理需求,參數折中選擇。實驗獲得了比較理想的濾波器特性,可以實現較好的濾波作用。
  • 基於Matlab的FIR數字濾波器設計方案
    本文先介紹FIR數字濾波器的相關概念,並利用MATLAB中的FDA TOOL工具箱和Simulink工具進行FIR帶通數字濾波器的設計,給出了基於Matlab的FIR數字濾波器設計方案。
  • 採用FPGA實現多種類型的數位訊號處理濾波器
    濾波器是任何信號處理系統的關鍵組成部分,隨著現代應用的日趨複雜,濾波器設計的複雜程度也日益提高。採用 FPGA 設計和實現的高性能濾波器的能力是模擬方法所望塵莫及的。
  • FIR濾波器設計方案
    常用的濾波器有無限長單位脈衝響應(ⅡR)濾波器和有限長單位脈衝響應(FIR)濾波器兩種,其中,FIR濾波器能提供理想的線性相位響應,在整個頻帶上獲得常數群時延從而得到零失真輸出信號,同時它可以採用十分簡單的算法實現,這兩個優點使FIR濾波器成為明智的設計工程師的首選,在採用VHDL或VerilogHDL等硬體描述語言設計數字濾波器時,由於程序的編寫往往不能達到良好優化而使濾波器性能表現一般。
  • 一種基於FPGA的實時紅外圖像預處理方法
    針對這一問題,提出一種基於FPGA的實時紅外圖像預處理方法。該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    Sinc3濾波器的基本原理本文引用地址:http://www.eepw.com.cn/article/129009.htm  Σ-Δ ADC利用過採樣的方法將量化噪聲搬移到高頻段,後端再使用數字抽取濾波器將高頻噪聲濾除
  • 基於MATLAB的數字基帶傳輸的 FIR濾波器的設計
    滿足奈奎斯特第一準則的H(w)有很多種,首先是理想低通型,理想低通傳輸特性雖然可滿足基帶系統的極限傳輸速率和極限頻帶利用率,但這種特性在物理上很難實現,並且理論特性衝激響應的尾巴衰減振蕩幅度較大,抽樣時刻稍有偏差就會出現嚴重地碼間串擾。為了解決理想低通特性存在的問題,可採用升餘弦滾降特性的系統,以使理想低通濾波器的邊緣緩慢下降,並使振幅特性在滾降段中心頻率處呈奇對稱,從而保證滿足奈奎斯特第一準則。
  • 基於FDATool的FIR濾波器設計方法(一)
    在無線通信收發機中的DDC/DUC模塊,抽取和內插都需要加入濾波器以防止信號在頻譜上混疊,最典型的是採用 FIR濾波器實現半帶濾波器。本文引用地址:http://www.eepw.com.cn/article/249651.htm  FIR濾波處理如下式所示,其中x(n)為輸入信號,h(n)為FIR濾波係數,y(n)為經過濾波後的信號;N表示FIR濾波器的抽頭數,濾波器階數為N-1。
  • FPGA實現32階FIR數字濾波器的硬體電路方案
    傳統的FIR濾波器一般採用通用DSP處理器,但是DSP處理器採用的是串行運算,而FPGA是現場可編程陣列,可以實現專用集成電路,另外還可以採用純並行結構及考慮流水線結構,因此在處理速度上可以明顯高於DSP處理器。本文採用並行分布式算法在FPGA上設計並實現了高速處理的32階FIR低通濾波器,在此過程中利用Matlab的數值計算與分析功能來提高設計效率。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。