| Signal Processing Toolbox | ![]() |
表示
k = schurrc(r) [k,e] = schurrc(r)
詳細
k = schurrc(r)
は、Schurアルゴリズムを使って、自己相関列を表すベクトルrから反射係数ベクトルkを計算します。kとrは、同じサイズです。反射係数は、自己相関列 rを与えて、信号に対する予測フィルタを作成する場合のラティスフィルタパラメータを表します。rが行列の場合、関数schurrcは、rの各列を独立した自己相関列として取り扱い、rと同じサイズの行列kを出力します。kの各列は、対応する自己相関列rを使って、プロセスを予測するためのラティス予測フィルタの反射係数を表します。
[k,e] = schurrc(r)
は、予測誤差分散を表すスカラeも計算します。rが行列の場合、eは行ベクトルになります。eの長さは、rの列数と同じです。
例題
ファイルmtlb.matに含まれているMATLABの音声信号から自己相関列を計算しましょう。そして、Schurアルゴリズムを使って、この自己相関列に対するラティス予測フィルタの反射係数を計算しましょう。
load mtlb
r = xcorr(mtlb(1:5),'unbiased');
k = schurrc(r)
k =
0.2645
3.1953
-0.9723
-6.3971
0.6357
-0.8720
-0.2128
-1.0000
参考
levinson Levinsonアルゴリズムを使って、予測フィルタを計算します。
参考文献
[1] Proakis, J. and D. Manolakis, Digital Signal Processing: Principles, Algorithms, and Applications, Third edition, Prentice-Hall, 1996, pp. 868-873.
| sawtooth | seqperiod | ![]() |