News
最新消息
Date 2022-11-18
Title 【KARMA小學堂】FIR 濾波器
FIR 濾波器
 
介紹
以下白皮書向您介紹了 FIR 濾波器的世界。在對數位濾波器進行簡短的一般描述之後,將描述 FIR 濾波器的結構和功能以及如何在 OXYGEN 中參數化 FIR 濾波器,以便您能夠使用 DEWETRON 軟體 OXYGEN 滿足 FIR 濾波器的要求。

數位濾波器
數位濾波器是一種數學算法,用於處理信號以提取信息並去除不需要的信息,例如阻塞或通過特定頻率範圍。因此,它是一個數位系統,它通過一個轉換過程將輸入序列轉換為輸出序列。
數位濾波器分為兩類:

  • 無限脈衝響應 (IIR- Infinite impulse response)
  • 有限脈衝響應 (FIR- Finite impulse response)
顧名思義,每種濾波器類型都按其脈衝響應的長度分類。與使用電容器、線圈、電阻器等電子元件實現的模擬濾波器不同,數位濾波器使用邏輯器件(例如 ASIC、FPGA)或以帶有信號處理器的時序程序的形式實現。

IIR FIR 濾波器——有什麼區別?
如前所述,數位濾波器根據單獨的脈衝響應進行分類。脈衝響應是濾波器對輸入脈衝的響應:對於所有 i≠0,x[0]=1 和 x[i]=0。
如果經過有限時間後濾波器的脈衝響應降為零,則稱為 FIR 濾波器(有限脈衝響應)。另一方面,如果脈衝響應在時間上不受限制,則它是 IIR 濾波器(無限脈衝響應)。數位濾波器的脈衝響應是否在有限時間後降為零取決於輸出值的計算方式。對於 FIR 濾波器,輸出值僅取決於當前和先前的輸入值,而對於 IIR 濾波器,輸出值還取決於先前的輸出值。
IIR 濾波器相對於 FIR 濾波器的優勢在於,IIR 濾波器通常需要更少的係數來執行類似的濾波操作,運行速度更快,並且需要更少的 RAM。
IIR 濾波器的缺點是它們的非線性相位響應。對於不需要相位信息的應用,例如監控信號幅度,IIR 濾波器非常適合。對於需要線性相位響應的應用,FIR 濾波器通常更適合。

FIR – 過濾器功能
下圖旨在演示 FIR 濾波器的功能操作。在輸入端,數據/值 x(n) 由 A/D 轉換器逐個時鐘(逐個樣本)應用。
在上一行中有移位元件 (z -1 ),它在每個時鐘週期將應用於輸入的數據/值移位一個步驟。這意味著在以下示例的末尾,存在比當前值 x(n) 早 3 個時鐘的值 x(n-3)。
中間是 FIR 係數 k 0 – k m。這些係數表示將輸入值乘以增益“k”的放大器。
最下面一行是求和分支,它將所有乘法(積分)的結果相加。輸出現在是根據 FIR 係數處理的信號。
輸出可以用以下數學表達式表示:
 
 
1FIR 濾波器的計算過程

FIR濾波器係數的示例
為了理解 FIR 係數的確定,我們現在將以 FIR 低通濾波器為例計算它們。
在時域中,模擬信號可以用階躍響應或脈衝響應來描述。脈衝響應是階躍響應的導數(微分、斜率分析),反之亦然,階躍響應是脈衝響應的積分(求和)。後者恰恰發生在 FIR 濾波器中。脈衝響應的係數存儲在 FIR 濾波器的計算器中。由於在 FIR 濾波器中,輸入值與相應係數的乘積之和在輸出端形成,原則上除了輸入信號在脈衝響應上的積分外,不會發生任何其他情況。
理想的低通濾波器是 sinc 濾波器。sinc 函數定義為:
 
濾波器的脈衝響應(理想低通濾波器的傳遞函數的逆傅立葉變換)定義為:
 
 
2FIR 濾波器的計算過程
在這種情況下,“fc”是截止頻率,表示為取樣率的分數。例如,如果取樣率為 10kHz,截止頻率為 1kHz,則 fc = 0.1。
問題是理想低通濾波器的傳遞函數的傅立葉逆變換的結果是無窮大的,在那種情況下是不可實現的。為了獲得具有所需長度 N 的有限脈衝響應,通過窗口函數選擇無限脈衝響應的一部分。
在這種情況下,讓我們使用眾所周知的 Blackmann 窗函數(其他窗函數可用,請參閱下一節中的“WINDOW FUNCTIONS”),定義為:
 
通常,經典的布萊克曼窗口選擇α = 0.16
 
3:布萊克曼窗函數
我們現在必須做的是將濾波器的脈衝響應與窗口函數(在本例中為 Blackman)相乘以獲得 FIR 濾波器係數(sinc 濾波器移動到範圍 [0, N−1])。
 
normalized windowed-sinc:
 
4:標準化加窗 sinc 濾波器

如何在 OXYGEN 中設置 FIR 濾波器
OXYGEN 已通過一個非常簡單的可配置變量進行擴展,用於設置 FIR 濾波器。選擇要配置 FIR 濾波器的通道後,可以通過選擇現有 OXYGEN 數學函數列表的選項來添加 FIR 濾波器。
 
 
 
5:在 OXYGEN 中添加 FIR 濾波器通道
您可以在 4 種不同的過濾器類型之間進行選擇:
  • 低通
  • 高通
  • 帶通
  • 帶阻
按下“添加”按鈕後,將添加一個新的 FIR 通道。如果您打開通道的設置,您可以設置 FIR 濾波信號。
 
6OXYGEN FIR 濾波器通道的設置
只需輸入濾波器長度、所需的窗函數以及信號延遲的信息,由於濾波器長度是否應進行補償。
此外,FIR 低通濾波器可以定義不同的濾波器級以減少計算量。例如,當以非常高的取樣率應用非常低的截止頻率時,這非常有用。這將導致高濾波器長度並且由於濾波器長度,高計算工作量和信號延遲。通過輸入抽取因子,輸入取樣率將按給定因子降低。例如,如果您有一個以 200 kHz 取樣的信號,並且您想要設置一個截止頻率為 100 Hz 的低通濾波器,則建議添加不同的階段。通過為第一級濾波器輸入抽取因子 2,取樣率將降低至 100 kHz。
例如,通過添加抽取因子為 5 的另一級,它將降低到 20 kHz。對於上一個屏幕截圖的最後階段,輸入了 20 的抽取因子以將信號降低到 1 kHz,最終截止頻率為 100 Hz。
如果不進行此操作並且僅使用一個濾波器級,則此示例需要使用大約 5000 的濾波器長度才能獲得與上述濾波器級和 600 的濾波器長度類似的響應。因此,單個濾波器每個階段都以較短的濾波器長度執行,從而減少了計算量。此外,它還導致信號延遲的減少,因為濾波器長度僅為 600 的 3 倍,即 1800,而不是本示例中的 5000。

窗口函數(Window function)
在數位信號處理中,窗口函數確定在後續計算中包含在部分(窗口)內的信號取樣期間獲得的樣本的權重。在區間之外,窗函數為零。
在濾波器設計中,寬窗函數會導致通帶和阻帶之間的陡峭過渡,但會導致低阻帶衰減。窄窗函數導致通帶和阻帶之間的平坦過渡,但會導致高阻帶衰減。
在 OXYGEN 中有幾個窗口函數可供您選擇,以獲得滿足您要求的最佳結果:

  • Rectangular
  • Hann
  • Hamming
  • Blackman
  • Blackman/Harris > Flat Top
  • Bartlett
  • Kaiser
  • Cosine
 

Back
台北總公司 /115-70 台北市南港區南港路三段50巷8號5F TEL /02-2788-1515 FAX /02-2785-2850 Copyright © Karma Tech. All rights reserved.  網頁設計|鉅潞科技
高雄分公司 /802-45 高雄市苓雅區自強三路3號19樓之8 TEL /07-5665068 / 0922234031