ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

lpc

線形予測フィルター係数

構文

[a,g] = lpc(x,p)

説明

lpc では、最小二乗的に予測誤差を最小にすることで、前方線形予測子の係数が決定されます。フィルター設計や音声符号化に応用されます。

[a,g] = lpc(x,p) では、過去のサンプルに基づいて実数値時系列 x の現在値を予測する、p 次の線形予測子 (FIR フィルター) の係数が求められます。

x^(n)=a(2)x(n1)a(3)x(n2)a(p+1)x(np).

ここで、p は、予測フィルター多項式 a = [1 a(2) ... a(p+1)] の次数です。p を指定しないと、lpc では既定の p = length(x)-1 が使用されます。x が、各列に個別の信号を含む行列である場合、lpc では行列 a の行に各列に対するモデルの推定値が返され、予測誤差分散の列ベクトル g が返されます。p の長さは、x の長さ以下でなければなりません。

すべて折りたたむ

3 次の前方予測子を使用してデータ系列を予測します。予測と元の信号を比較します。

まず、正規化されたホワイト ガウス ノイズで駆動される自己回帰過程の出力として、信号データを作成します。立ち上がりの過渡特性を避けるため、AR 過程出力の後半の 4,096 サンプルを使用します。

noise = randn(50000,1);
x = filter(1,[1 1/2 1/3 1/4],noise);
x = x(45904:50000);

予測子係数、予測した信号、予測誤差、予測誤差の自己相関列を計算します。

a = lpc(x,3);
est_x = filter([0 -a(2:end)],1,x);
e = x-est_x;
[acs,lags] = xcorr(e,'coeff');

予測した信号と元の信号を比較します。

plot(1:97,x(4001:4097),1:97,est_x(4001:4097),'--'), grid
title 'Original Signal vs. LPC Estimate'
xlabel 'Sample number', ylabel 'Amplitude'
legend('Original signal','LPC estimate')

予測誤差の自己相関列をプロットします。

plot(lags,acs), grid
title 'Autocorrelation of the Prediction Error'
xlabel 'Lags', ylabel 'Normalized value'

予測誤差は、3 次の AR 入力過程に対して期待されたとおり、近似的にホワイト ガウス ノイズになっています。

詳細

すべて折りたたむ

予測誤差

予測誤差 e(n) は、以下に示す予測誤差フィルター A(z) の出力と見ることができます。ここで、H(z) は最適線形予測子、x(n) は入力信号、x^(n) は予測信号です。

アルゴリズム

lpc では、自己回帰 (AR) モデリングの自己相関法を使用して、フィルター係数が求められます。生成されるフィルターは、たとえデータ シーケンスが正しい次数の AR 過程であっても、過程を正確にモデリングしない可能性があります。これは、自己相関法が、暗黙的にデータにウィンドウを適用しているためです。すなわち、x の長さを超える信号サンプルは 0 であると仮定しているためです。

lpc では、以下の方程式の最小二乗の解が計算されます。

Xa=b,

ここで、

X=[x(1)00x(2)x(1)x(2)0x(m)x(1)0x(m)x(2)00x(m)],a=[1a(2)a(p+1)],b=[100],

であり、mx の長さです。正規方程式として、最小二乗の問題

XHXa=XHb

を解くと、ユール・ウォーカー方程式に導かれます。

[r(1)r(2)r(p)r(2)r(1)r(2)r(p)r(2)r(1)][a(2)a(3)a(p+1)]=[r(2)r(3)r(p+1)],

ここでは、r = [r(1) r(2) ... r(p+1)] は、xcorr を使用して計算された x に対する自己相関の推定です。ユール・ウォーカー方程式は、レビンソン・ダービン アルゴリズム (levinson を参照) を使用して、O(p2) フロップで解かれます。

参考文献

[1] Jackson, L. B. Digital Filters and Signal Processing. 2nd Edition. Boston: Kluwer Academic Publishers, 1989, pp. 255–257.

R2006a より前に導入