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