範例:零相角濾波
使用
filtfilt 函數,以「前向式-後向式」篩選模型計算濾波器的零相角回應。
1. 使用
butter 函數獲得 2 階的類比
Butterworth 的係數。
2. 使用
iirlow 函數獲得低通 IIR 濾波器在 0.25 的截止頻率時的係數。
4. 為 f 的所有值 (但以 p 表示) 重新定義濾波器的量值與相角回應。
5. 繪製量值回應,然後再使用標記顯示其在截止頻率上的量值。
6. 繪製相角回應,然後再使用標記顯示其在截止頻率上的值。
7. 定義並繪製樣本脈衝信號。
此輸入在信號的中點上包含一個脈衝。
8. 使用 filtfilt 函數以計算零相角輸出。
9. 使用
dft 函數透過計算兩個信號的傅立葉轉換,檢視濾波器對信號的效果,然後繪製
Y 的量值與相角。
10. 使用 mag 函數顯示在給定的 X 與 Y 量值比率情況下,轉移函數具有預期的 Butterworth 截止形狀。
11. 繪製量值回應以及轉移函數。
12. 使用 arg 函數定義 X 與 Y 的主引數之間的相角差分。
13. 繪製 X 與 Y 之間的量值回應與相角差分。
• filtfilt 函數的效果是加倍的濾波信號量值 (如繪圖所示),但相角位移為零,而不是原始濾波器的非線性相角。
• 解譯相角圖時,請記住相角 -2π 與 0 相等。當 Y 的量值非常小時,由於適用於遠超過截止頻率以上的頻率,因此相角可能會因為數值雜訊而沒有意義。