如果我有一個簡單的低通濾波器,例如Matlab - 將低通濾波器應用於矢量?
filt = fir1(20, 0.2);
和具有數字列表(信號)的矩陣,例如, [0.1,-0.2,0.3,-0.4]等,我如何實際應用我創建的濾波器到這個信號?
看起來像一個簡單的問題,但我一直堅持了幾個小時。我需要從濾波器係數手動計算它嗎?
如果我有一個簡單的低通濾波器,例如Matlab - 將低通濾波器應用於矢量?
filt = fir1(20, 0.2);
和具有數字列表(信號)的矩陣,例如, [0.1,-0.2,0.3,-0.4]等,我如何實際應用我創建的濾波器到這個信號?
看起來像一個簡單的問題,但我一直堅持了幾個小時。我需要從濾波器係數手動計算它嗎?
在這裏你去:
filter(filt, 1, mysignal);
會做的伎倆。由於這是一個FIR濾波器,將A參數(第二個參數)被設定爲1
filter
函數是你所需要的。
我相信help filter
或doc filter
會幫助你。
在這裏,你不能給一個值,該值比磨碎器1的FIR1函數的第一個參數。它應該在0和1之間。假設截止頻率爲Fc,採樣頻率爲Fs,那麼如果我們將Wn作爲截止頻率的第一個參數作爲標準化值。這是Wn應該如何計算的。
Wn = (2/Fs)*Fc
那麼你可以申請過濾功能象下面這樣:
filt = fir1(Wn , 0.2);
filter(filt, 1, mysignal);