函數 > 信號處理 > 數位濾波 > 範例:使用 Remez 交換法的 FIR 濾波器
  
範例:使用 Remez 交換法的 FIR 濾波器
remez 函數可實行 FIR 濾波器設計的 Remez 交換演算法。
如需有關演算法之討論及範例,請參閱 Rabiner 與 Gold 合著之 Theory and Application of Digital Signal Processing (數位信號處理理論與應用) (Prentice-Hall, Inc.),以及 Parks 與 Burrus 合著之 Digital Filter Design (數位濾波器設計) (Wiley-Interscience)。
低通濾波器
1. 定義在 passband 中為 1 且 stopband 中為 0 的回應,並在 passband 及 stopband 邊緣間內插直線轉移。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
一般而言,頻率網格中的點數應在 8 到 10 倍濾波器長度的階位,且頻率從 0 開始,同時均等增加到剛好低於 0.5。回應的定義需要頻帶邊緣的定義,及指派給各頻帶之錯誤的權重。此演算法會將超過頻域 [0, 0.5] 的加權誤差上限減至最小。
2. 定義 passband 及 stopband 邊緣:
按一下以複製此運算式
按一下以複製此運算式
3. 定義 passband、stopband 及轉移帶加權:
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
4. 定義可像頻率函數提供所需回應的函數。在每個網格點進行計算,建構回應向量。
按一下以複製此運算式
按一下以複製此運算式
5. 定義為每個網格點指派對應頻帶權重的權值向量。
按一下以複製此運算式
6. 使用函數 remezlength 計算濾波器係數:
按一下以複製此運算式
按一下以複製此運算式
7. 使用函數 gain 為此奇數長度的濾波器計算增量為 0 及 .5 時所發生的 passband 及 stopband 誤差上限:
按一下以複製此運算式
按一下以複製此運算式
8. 繪製函數及其從 0 到 .5 的頻率回應。
按一下以複製此運算式
按一下以複製此運算式
按一下以複製此運算式
十個頻率極值皆可見,包括 (1 - δ1) 線穿越 passband 邊緣 pb 的點,以及 δ2 線穿越 stopband 邊緣 sb 的點。此誤差會平均輪流出現在每個頻帶的頻率極值中。若要查看兩項誤差 d 不相等的範例,請將上述濾波器規格中的 stopband 權重變更為 .5。
Bandpass 濾波器
1. 定義回應函數,而其建構方法為加入函數以取得每個轉移帶及 passband 中的回應。
按一下以複製此運算式
2. 使用向量化運算子立刻將濾波器函數套用至整個網格。權重一致。
按一下以複製此運算式
按一下以複製此運算式
3. 產生有 45 個係數的濾波器:
按一下以複製此運算式
按一下以複製此運算式
4. 繪製濾波器的頻率回應:
按一下以複製此運算式
按一下以複製此運算式