Skip to content
白皮书 软件资讯
July 11, 2023

什么是 FIR 滤波器?

在訊號處理中,濾波器是去除訊號中不需要成分的重要程序。有限脈衝回應 (FIR) 濾波器是其中一類特殊的濾波器,我們將在本篇文章中詳細討論。在簡短描述一般數位濾波器之後,我們將討論 FIR 濾波器的結構和功能。最後,我們會概略介紹
FIR 濾波器在我們的測量軟體 OXYGEN 中的實作

一般而言,數位濾波器是什麼?

數位濾波器是一種數學演算法,用來處理訊號以抽取資訊並移除不需要的資訊,例如阻斷或通過某個頻率範圍。因此,它是一種數位系統,將輸入序列經由轉換過程轉換為輸出序列。

濾波器有各種不同的類別。不過,根據其脈衝響應的長度,我們可以將數位濾波器分為以下幾類:

  • 無限脈衝回應 (IIR)
  • 有限脈衝回應 (FIR)

類比濾波器是以電容、線圈、電阻等電子元件來實作,而數位濾波器則不同,它是以 ASIC、FPGA 等邏輯裝置,或是以訊號處理器的序列程式形式來實作。

IIR 和 FIR 濾波器有何差異?

一般而言,IIR 和 FIR 濾波器的差異在於濾波器對輸入脈衝的回應。如果濾波器的脈衝響應在經過有限的時間後降為零,則稱為 FIR 濾波器(有限脈衝響應)。另一方面,如果脈衝響應在時間上是無限的,它就是 IIR 濾波器(無限脈衝響應)。數位濾波器的脈衝響應是否會在有限時間之後降為零,取決於輸出數值的計算方式。FIR 濾波器的輸出值僅取決於目前和之前的輸入值,而 IIR 濾波器的輸出值則額外取決於之前的輸出值。

IIR 濾波器相較於 FIR 濾波器的優勢在於,IIR 濾波器通常需要較少的係數來執行類似的濾波作業、運作速度較快,而且所需的 RAM 較少。然而,IIR 濾波器的一大缺點是它的非線性相位回應。對於不需要相位資訊的應用,例如監控訊號的幅度,IIR 濾波器非常適合。但是,對於需要線性相位回應的應用,FIR 濾波器通常比較適合。

FIR 濾波器如何運作?

圖 1 展示 FIR 濾波器的功能運作。在輸入端,資料/數值 x(n) 由 A/D 轉換器逐個時脈 (逐個取樣) 輸入。

在上一行,有移位元件 (z-1),每個時鐘週期將應用在輸入端的資料/值移位一步。這表示在以下範例結束時,值 x(n-3) 比目前值 x(n) 早三個時脈。中央是 FIR 系數 k0 – km。這些係數代表將輸入值乘以增益「k」的放大器。最下面一行是求和分支,將所有乘法的結果相加(積分)。輸出 y(n) 現在是根據 FIR 系數處理過的訊號,可以用下面的數學表達式來表示:

$$ y(n)=sumlimits_{i = 0}^m k(i)*x(n-i) $$

FIR filter schematic structure

圖 1:FIR 濾波器的計算過程

 

在我們的 白皮書中、中,我們進一步介紹了如何確定 FIR 低通濾波器的濾波係數的詳細範例。

OXYGEN 中的 FIR 濾波器

OXYGEN 是我們直覺式的測試與量測軟體。它是一款集測量、可視化和分析於一身的軟體,適用於各種應用。因此,它包含了大量的功能,其中包括 FIR 濾波器。

它是一款易於使用的工具,可讓您在四種不同的濾波器類型中進行選擇:

  • 低通
  • 高通濾波器
  • 帶通
  • 頻帶停止

選定後,只需輸入濾波器的長度、所需的視窗功能,以及是否要補償訊號延遲,就可以開始使用了。有關如何在 OXYGEN 中設定 FIR 濾波器的詳細指南,請參閱我們的白皮書。

一言以蔽之

數位濾波器是一種數學演算法,用來處理訊號以擷取和/或移除不需要的資訊。FIR 濾波器是其脈衝響應為有限長度的子類,因為它會在有限時間內回歸到零。相較於 IIR 濾波器,FIR 濾波器基本上更穩定,而且可以設計成線性相位。