Signal Processing Toolbox    

時間領域ベースのモデリング

関数lpcprony、および、stmcbは、与えられた時間領域インパルス応答に近似するディジタル有理伝達関数の係数を求めます。アルゴリズムは、結果のモデルの複雑さや精度により異なります。

線形予測

線形予測モデリングでは、信号の各出力サンプルx(k)が、過去のn個の出力の線形結合である(すなわち、これらの出力から"線形的な予測"が可能である)ということ、ならびに係数がサンプル間で一定であるということを仮定しています。

信号xn次の全極モデルは、つぎのステートメントより得られます。

lpcを説明するために、加算的な白色雑音をもつ全極フィルタのインパルス応答であるサンプル信号を作成します。

システムをモデリングする4次の全極フィルタの係数は、つぎのようになります。

lpc は、まずxcorrを使って、xの相関関数のバイアス付きの推定値を求め、関数levinsonで実現されているLevinson-Durbinの帰納法を用いてモデル係数aを求めます。Levinson-Durbinの帰納法は、対称トエプリッツ線形方程式を解くための高速のアルゴリズムです。n = 4に対するlpcのアルゴリズムは、つぎのようになります。

つぎのように、バイアスのない相関推定値などのさまざまな相関推定値をlevinsonに渡すことにより、他の仮定で線形予測係数を形成することができます。

Prony法(ARMAモデリング)

関数pronyは、設定された数の極および零点を用いて信号をモデリングします。データ列xと分子および分母の次数nbおよびnaが与えられると、ステートメント

は、そのインパルス応答が列xを近似するIIRフィルタの分子および分母の係数を求めます。

関数 pronyは、Parks and Burrus [3] (226-228 ページ)に記述されている方法を実現します。この方法は、ARモデリングの共分散法を修正したものを用いて分母の係数aを求めた後、生じるフィルタのインパルス応答がxの最初のnb + 1個のサンプルに厳密に一致するように分子の係数bを求めます。このフィルタは必ずしも安定ではありませんが、データ列が、正しい次数の自己回帰移動平均(ARMA)プロセスの場合、係数を正確に回復できる可能性があります。

3次のIIRフィルタを用いた試験列 x(先のlpcの例題)のモデルは、つぎのようになります。

コマンドimpzは、このフィルタのインパスル応答がどの程度、オリジナルのデータ列と一致するかを示します。

最初の4つのサンプルは正確に一致していることに注目してください。正確に回復する例として、このインパルス応答からButterworthフィルタの係数を回復してみましょう。

この例題を実行してみてください。bb、および、aaは、10-13の許容範囲でオリジナルのフィルタ係数と一致します。

Steiglitz-McBride法(ARMAモデリング)

stmcbは、近似インパルス応答列x、さらに希望する零点と極の数を与えて、システムb (z )/a (z )の係数を求めます。この関数は、システムの挙動を表わす入出力データ列、あるいは単にシステムのインパルス応答のどちらかを使って、未知のシステムを同定します。デフォルトモードでは、stmcbは、pronyと同様に働きます。

stmcbは、また、つぎのように与えられた入力列や出力列と 一致するシステムも求めます。

この例題では、xからyを作成するのに用いられたシステムを正確に同定しています。

Steiglitz-McBride法は、フィルタ出力と与えられた出力信号との間の信号の誤差を最小限に抑えようとしながら、分子および分母の係数を同時に解く高速反復アルゴリズムです。このアルゴリズムは、通常急速に収束しますが、モデルの次数が大きすぎる場合には収束しない可能性があります。pronyの場合、同様に、stmcbで得られるフィルタは必ずしも安定しません。これは、その厳密なモデリング手法のためです。

stmcbは、いくつかの重要なアルゴリズムを制御するパラメータの設定を行います。データのモデリングに問題がある場合には、これらのパラメータを変更してください。デフォルトの5回の反復回数を変更し、分母の係数の初期推定値を設定するには、つぎのようにします。

この関数は、ユーザが初期値を設定しない場合には、pronyで作成した全極モデルを初期設定値として使用します。

関数lpcprony、および、stmcbを比較するために、つぎのようにそれぞれの場合の誤差を計算します。

IIRモデルの次数を与えて、モデリング機能を比較すると、上の結果から、この例題の場合にはstmcbが最良であり、ついで、pronylpcの順となることがわかります。この相対的な性能はモデリング関数の特色を示しています。


 パラメトリックモデリング 周波数領域ベースのモデリング