Signal Processing Toolbox    

関数filter

filterは、転置直接型(Direct Form )II 構造として実現されます。


ここで、n-1はフィルタの次数です。これは、遅れ要素の最小数をもつ正準型です。

サンプルmで、filterは差分方程式

を計算します。最も基本的な型では、filterは遅延出力zi(1), i = 1, ..., n-1を0に初期化します。これは、過去の入力と出力が共にゼロと仮定することと等しくなります。4番目の入力引数を使って、初期遅延出力をfilterに設定するか、または、2番目の出力引数を使って、最終的な遅延を出力します。

初期条件や最終条件を利用することは、特にメモリの制限を考慮する必要がある場合に、ある部分毎にデータをフィルタ処理するのに有効です。それぞれ、5000点の2つのセグメントのデータを収集したとします。

最初のデータ列x1は最初の10分のデータに、また、2番目のデータ列x2はその後の10分のデータに対応すると考えます。データ列全体は、x = [x1; x2]となります。合成したデータ列を保持するメモリが十分にない場合には、部分列x1と部分列x2を1列づつフィルタ処理します。フィルタ処理した列の連続性を確保するためには、x1の最終条件をx2のフィルタ処理の初期条件とします。

関数filticは、filterの初期条件を生成します。filticは、フィルタの挙動が設定された過去の入力、および出力を反映するように、遅延ベクトルを計算します。filticを用いて上記と同じ出力遅延値zfを得るには、

とします。これは、適切な初期条件がフィルタ処理開始時の過渡影響を抑える役目をするため、短いデータ列をフィルタ処理する際に役立ちます。


 関数filterによるフィルタ処理 フィルタ処理のための関数