exponenta event banner

lpc

Коэффициенты фильтра линейного прогнозирования

Синтаксис

Описание

пример

[a,g] = lpc(x,p) находит коэффициенты pЛинейный предиктор th-го порядка, фильтр FIR, который предсказывает текущее значение действительного временного ряда x на основе прошлых образцов. Функция также возвращает g, дисперсию ошибки прогнозирования. Если x является матрицей, функция обрабатывает каждый столбец как независимый канал.

Примеры

свернуть все

Оцените серию данных, используя прямой предиктор третьего порядка. Сравните оценку с исходным сигналом.

Сначала создайте данные сигнала как выходной сигнал авторегрессионного (AR) процесса, управляемого нормализованным белым гауссовым шумом. Используйте последние 4096 образцов выходных данных процесса AR, чтобы избежать переходных процессов запуска.

noise = randn(50000,1);
x = filter(1,[1 1/2 1/3 1/4],noise);
x = x(end-4096+1:end);

Вычислите коэффициенты предиктора и оцененный сигнал.

a = lpc(x,3);
est_x = filter([0 -a(2:end)],1,x);

Сравните прогнозируемый сигнал с исходным сигналом, построив график последних 100 выборок каждого из них.

plot(1:100,x(end-100+1:end),1:100,est_x(end-100+1:end),'--')
grid
xlabel('Sample Number')
ylabel('Amplitude')
legend('Original signal','LPC estimate')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Original signal, LPC estimate.

Вычислите ошибку предсказания и автокорреляционную последовательность ошибки предсказания. Постройте график автокорреляции. Ошибка предсказания приблизительно равна белому гауссову шуму, как и ожидалось для процесса ввода AR третьего порядка.

e = x-est_x;
[acs,lags] = xcorr(e,'coeff');

plot(lags,acs)
grid
xlabel('Lags')
ylabel('Normalized Autocorrelation')
ylim([-0.1 1.1])

Figure contains an axes. The axes contains an object of type line.

Входные аргументы

свернуть все

Входной массив, заданный как вектор или матрица. Если x является матрицей, то функция обрабатывает каждый столбец как независимый канал.

Полиномиальный порядок фильтра прогнозирования, заданный как положительное целое число. p должно быть меньше или равно длине x.

Выходные аргументы

свернуть все

Коэффициенты линейного предсказателя, возвращаемые в виде вектора строки или матрицы. Коэффициенты относятся к прошлому p образцы x к текущему значению:

x ^ (n) = a (2) x (n 1) a (3) x (n 2) −⋯−a (p + 1) x (n − p).

Дисперсия ошибки прогнозирования, возвращаемая как скаляр или вектор.

Подробнее

свернуть все

Ошибка прогнозирования

Ошибка предсказания e (n) может рассматриваться как выходной сигнал фильтра ошибки предсказания A (z), где

  • H (z) является оптимальным линейным предиктором.

  • x (n) - входной сигнал.

  • x ^ (n) - прогнозируемый сигнал.

Алгоритмы

lpc определяет коэффициенты прямого линейного предсказателя путем минимизации ошибки предсказания в смысле наименьших квадратов. Имеет применение в конструкции фильтра и речевом кодировании.

lpc использует автокорреляционный метод авторегрессионного (AR) моделирования для нахождения коэффициентов фильтра. Сгенерированный фильтр может не моделировать процесс точно, даже если последовательность данных действительно является процессом AR правильного порядка, потому что метод автокорреляции неявно оканчивает данные. Другими словами, способ предполагает, что выборки сигнала превышают длину x равны 0.

lpc вычисляет решение методом наименьших квадратов для Xa = b, где

X = [x (1) 0⋯0x (2) x (1) ⋯⋮⋮ x (2) ⋯0x (m) ⋮⋮ x (1) 0x (m) ⋯x (2) ⋮⋮⋮⋮ 0⋯0x (m)], = [1a (2) ⋮a (p+1)], b = [10⋮0],

и m - длина x. Решение задачи наименьших квадратов с использованием нормальных уравнений 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)] является оценкой автокорреляции для x вычислено с использованием xcorr. Алгоритм Левинсона - Дурбина (см. levinson) решает уравнения Юле-Уокера в O (p2) флопах.

Ссылки

[1] Джексон, Л. Б. Цифровые фильтры и обработка сигналов. 2-е издание. Бостон: Kluwer Academic Publishers, 1989, стр. 255-257.

См. также

| | | |

Представлен до R2006a