Signal Processing Toolbox | ![]() ![]() |
関数filterによるフィルタ処理
先に示した z変換の関係から差分方程式に戻すことは簡単です。a(1) = 1とします。分母を左辺に移動し、逆 z変換を行います。
現在の入力と過去の入力と過去の出力を使って、y(n) を表すと、
となります。これは、初期条件をゼロとして仮定して、y(1)から計算を始めるディジタルフィルタの標準的な時間領域表現です。この表現に従う過程で求まるものは、
となります。この型のフィルタは、関数filter
を用いると容易に実現することができます。たとえば、単純な単極フィルタ(ローパス)は、
b = 1; % 分子 a = [1 -0.9]; % 分母
と表され、ここで、ベクトルb
およびa
は、伝達関数型をしたフィルタの係数を表わしています。このフィルタをデータに適用するには、
y = filter(b,a,x);
とします。filter
は、入力サンプルと同数のサンプルを出力します。すなわち、y
の長さはx
の長さと等しくなります。a
の最初の要素が1でない場合、filter
は、a(1)
ですべての係数を除算してから差分方程式を実行します。
![]() | フィルタと伝達関数 | 関数filter | ![]() |