lpc

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

Во-первых, создайте данные сигнала как выход авторегрессивного (AR) процесс, управляемый нормированным белым Гауссовым шумом. Используйте последние 4 096 выборок процесса 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 object. The axes object 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 object. The axes object contains an object of type line.

Входные параметры

свернуть все

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

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

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

свернуть все

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

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

Ошибочная дисперсия предсказания, возвращенная как скаляр или вектор.

Больше о

свернуть все

Ошибка предсказания

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

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

  • x (n) является входным сигналом.

  • x^(n) предсказанный сигнал.

Алгоритмы

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

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

lpc вычисляет решение методом наименьших квадратов к X a = 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],

и 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] Джексон, L. B. Цифровые фильтры и Обработка сигналов. 2-й Выпуск. Бостон: Kluwer Академические Издатели, 1989, стр 255–257.

Смотрите также

| | | |

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