このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
filtfilt
ゼロ位相デジタル フィルター処理
説明
は,入力データy
= filtfilt (b
,a
,x
)x
を順方向と逆方向の両方で処理することにより、ゼロ位相デジタル フィルター処理を実行します。データを順方向でフィルター処理した後、関数filtfilt
ではフィルター処理したシーケンスを逆にして、逆方向にフィルター処理が行われます。この結果には、以下の特性があります。
ゼロ位相の歪み
元のフィルター伝達関数の二乗振幅と等しい、フィルター伝達関数
b
とa
により指定されるフィルターの次数の倍のフィルター次数
filtfilt
は、初期条件を一致させることにより、処理の実行開始時と終了時の過渡状態が最小化します。微分器フィルターやヒルベルト FIR フィルターの演算は位相応答に大きく依存しているため、関数filtfilt
をこれらのフィルターと共に使うことは避けてください。
はデジタル フィルターy
= filtfilt (d
,x
)d
を使用して、入力データx
にゼロ位相フィルターを適用します。d
を周波数応答仕様に基づいて生成するには、関数designfilt
を使用します。
例
入力引数
出力引数
参照
[1] Gustafsson, F. “Determining the initial states in forward-backward filtering.” IEEE®Transactions on Signal Processing. Vol. 44, April 1996, pp. 988–992.
[2] Mitra, Sanjit K. Digital Signal Processing. 2nd Ed. New York: McGraw-Hill, 2001.
[3] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.