我正試圖為一個俱樂部專案自學數字濾波器設計。我需要對模擬資料進行采樣,并使用一個帶通濾波器來通過20-40kHz。我使用MATLAB生成FIR濾波器的抽頭,并使用這些系數在C語言中實作了一個濾波器。目前,我正在使用一個樣本資料陣列,只是為了讓我的濾波器啟動和運行,但最終這將是來自ADC的流資料。
現在在MATLAB和我的代碼中,過濾后的資料在輸出樣本資料的開始部分有一個瞬態回應。由于我是數字濾波器領域的新手,我有兩個問題:
什么是數字濾波器?
這個瞬態上升背后的原因是什么?有沒有辦法以不同的方式梳理資料,以擺脫這種瞬態來進行實時分析? 我需要測量擊中兩個不同水聽器的ping之間的時間差,所以我過濾的資料的開頭是非常重要的。
在模擬濾波的情況下,我不認為這將是一個太大的問題,但如果我用實時資料的緩沖陣列做同樣的程式,輸出資料的每一次迭代都將不斷出現這種瞬態。
uj5u.com熱心網友回復: 擺脫FIR濾波器的瞬態回應的唯一方法是在感興趣的信號之前和/或之后收集更多的資料(取決于FIR濾波器內核的對稱性和寬度)。
標籤:

