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 | ![]() |