Формула линейного предсказания

Разберись, как простые числа превращаются в точный прогноз и удиви друзей своей экстрасенсорной математикой

Линейное предсказание (LP, Linear Prediction) – один из фундаментальных методов обработки сигналов, широко применяемый в телефонной связи, синтезе речи, аудио‑кодировании и даже в биомедицинской аналитике. В основе метода лежит идея, что текущий отсчёт сигнала может быть выражен как линейная комбинация его предыдущих отсчётов.


Основная идея линейного предсказания

Пусть s[n] – дискретный временной сигнал (например, речь). Предположим, что значение в момент n можно предсказать по p предшествующим образцам:

ŝ[n] = -∑k=1..p ak·s[n‑k] (1)

Здесь ak – коэффициенты предсказания, а ŝ[n] – предсказанное значение. Ошибка предсказания (резидул) определяется как

e[n] = s[n] – ŝ[n] = s[n] + ∑k=1..p ak·s[n‑k] (2)

Цель – подобрать такие ak, чтобы среднеквадратичная ошибка E{e²[n]} была минимальной.

Минимизацию среднего квадрата ошибки решают методом наименьших квадратов. При условии стационарности сигнала получаем систему линейных уравнений, известную как уравнения Уолша (или уравнения автокорреляции):

∑k=1..p ak·R[|i‑k|] = -R[i], i = 1,…,p (3)

где R[m] – автокорреляционная функция сигнала:

R[m] = E{ s[n]·s[n‑m] } .

Эта система записывается в матричной форме:

⎡R[0] R[1] … R[p‑1]⎤ ⎡a₁⎤ = -⎡R[1]⎤
⎢R[1] R[0] … R[p‑2]⎥·⎢a₂⎥ = -⎢R[2]⎥
⎢⋮ ⋮ ⋱ ⋮⎥ ⎢⋮⎥ ⎢⋮⎥
⎣R[p‑1] R[p‑2] … R[0] ⎦ ⎣aₚ⎦ = -⎣R[p]⎦ (4)

Матрица в левой части – симметричная и тоеплоположительно определённая, что позволяет использовать быстрый рекурсивный алгоритм Левинсона‑Дурбина для её решения.

Алгоритм Левинсона‑Дурбина

  1. Инициализация: a₁⁽¹⁾ = -R[1]/R[0], ошибка E₁ = R[0]·(1‑a₁⁽¹⁾·a₁⁽¹⁾).
  2. Для m = 2 … p вычисляем отражающий коэффициент (рефлективный коэффициент):
     kₘ = -( R[m] + ∑i=1..m‑1 aᵢ⁽ᵐ‑¹⁾·R[m‑i] ) / Eₘ₋₁
     
  3. Обновляем коэффициенты:
     aᵢ⁽ᵐ⁾ = aᵢ⁽ᵐ‑¹⁾ + kₘ·am‑i⁽ᵐ‑¹⁾ , i = 1 … m‑1
     aₘ⁽ᵐ⁾ = kₘ
     
  4. Обновляем ошибку:
     Eₘ = Eₘ₋₁·(1‑kₘ²)
     
  5. После p итераций получаем окончательные коэффициенты a₁,…,aₚ.

Алгоритм работает за O(p²) операций и гарантирует стабильность полученного предсказателя (все корни полинома находятся внутри единичного круга).

Связь линейного предсказания и авторегрессивного (AR) моделирования

AR‑модель имеет вид

s[n] = -∑k=1..p ak·s[n‑k] + w[n] , (5)

где w[n] – белый шум с дисперсией σ². Заметим, что уравнение (5) полностью совпадает с формулой предсказания (1), если трактовать w[n] как ошибку предсказания e[n]. Таким образом, линейное предсказание – это частный случай AR‑модели, где параметры оцениваются через автокорреляцию или спектральную плотность мощности.

Главные различия в практическом применении:

  • Метод оценки: AR‑модели часто оценивают через метод максимального правдоподобия (Yule‑Walker), а LP – через минимум среднеквадратичной ошибки, что в итоге приводит к тем же уравнениям (3).
  • Интерпретация: В речи LP‑коэффициенты удобно преобразовать в формантные частоты (резонансы голосового тракта), тогда как AR‑коэффициенты обычно рассматривают как параметры стохастической модели.

Применение LP к оценке формантных частот гласных

Гласные в человеческой речи характеризуются ярко выраженными формантами – резонансными пиками спектра. При использовании LPC (Linear Predictive Coding) получаем полином предсказания:

A(z) = 1 + a₁z⁻¹ + a₂z⁻² + … + aₚz⁻ᵖ . (6)

Корни полинома A(z) находятся в комплексной плоскости. Если корень zᵢ = r·e^{jθ}, то соответствующая формантная частота вычисляется как

Fᵢ = (θ·Fs) / (2π) (Гц) , где Fs – частота дискретизации. (7)

Для типичной телефонной речи берут p ≈ 10‑12. После нахождения корней выбирают те, у которых r близко к 1 (наиболее «звонкие»), и полученные частоты Fᵢ соответствуют первым формантам (F1, F2, F3).

Пример расчёта (псевдокод)


% Предположим, у нас есть окно речи x[n] длиной N=256, Fs=8000 Гц
R = autocorr(x, p); % автокорреляция до порядка p
a = levinson(R, p); % решение уравнений Уолша
A = [1; a]; % полином предсказания
rootsA = roots(A); % корни полинома
% Выбираем корни с Im>0 и r≈1
theta = angle(rootsA(Im>0));
F = thetaFs/(2pi);
disp(F(1:3)); % первые три формантные частоты

LPC‑вокодер (липредер) и преобразование в модель речеобразования

Линейное предсказание позволяет построить модель речевого тракта в виде последовательности фильтров:

  • Исходный голосовой сигнал моделируется как белый шум, пропущенный через полосу‑резонансный фильтр, параметры которого задаются LPC‑коэффициентами.
  • Полученные коэффициенты передаются в виде параметров LPC‑вокодера (обычно 10‑12 коэффициентов + энергия и фундаментальная частота).
  • На стороне приёмника синтезируется звук, пропуская белый шум через обратный фильтр 1/A(z).

Преимущества:

  • Низкая битовая скорость (2–4 кбит/с) при сохранении естественной звучности.
  • Простота оценки параметров – всё сводится к линейным операциям (автокорреляция + решение уравнений Уолша).
  • Возможность быстрого извлечения формантных частот для анализа речи.

Пошаговый алгоритм построения LPC‑модели

  1. Предобработка сигнала: окно Хэмминга, предвыделение (pre‑emphasis) с коэффициентом ~0.97.
  2. Вычисление автокорреляции до порядка p (обычно 10‑12).
  3. Решение уравнений Уолша (Левинсон‑Дурбин) → коэффициенты a₁…aₚ.
  4. Оценка энергии остатка σ² = Eₚ (для передачи в видеокодер).
  5. Преобразование в частотную область (поиск корней полинома) → формантные частоты.
  6. Квантование и кодирование параметров для передачи.

Практические советы и распространённые ошибки

  • Выбор порядка модели: слишком маленький p не захватывает все формуантные пики; слишком большой – приводит к «переобучению» и искусственным резонансам.
  • Окно и предвыделение: без предвыделения спектр будет «плоским», а LPC‑коэффициенты получатся менее стабильными.
  • Обработка граничных условий: в начале сигнала автокорреляцию следует вычислять с учётом нулевого заполнения или использовать «сдвиговое» окно.
  • Проверка устойчивости: после расчёта коэффициентов проверьте, что все корни полинома находятся внутри единичного круга; иначе фильтр будет неустойчивым.

Формула линейного предсказания объединяет два мощных подхода – авторегрессионное моделирование и акустический анализ речи. Через автокорреляцию и уравнения Уолша мы получаем набор коэффициентов, которые позволяют:

  • Эффективно сжать речевой сигнал (LPC‑вокодеры);
  • Извлечь физиологически значимые параметры – формантные частоты.
  • Построить простую, но точную модель речевого тракта, пригодную для синтеза и распознавания.

Благодаря своей линейности и простоте реализации (автокорреляция, Левинсон‑Дурбин), линейное предсказание остаётся краеугольным камнем современных систем обработки речи и сигналов.


Дата написания: