Линейное предсказание (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)
Матрица в левой части – симметричная и тоеплоположительно определённая, что позволяет использовать быстрый рекурсивный алгоритм Левинсона‑Дурбина для её решения.
Алгоритм Левинсона‑Дурбина
- Инициализация: a₁⁽¹⁾ = -R[1]/R[0], ошибка E₁ = R[0]·(1‑a₁⁽¹⁾·a₁⁽¹⁾).
- Для m = 2 … p вычисляем отражающий коэффициент (рефлективный коэффициент):
kₘ = -( R[m] + ∑i=1..m‑1 aᵢ⁽ᵐ‑¹⁾·R[m‑i] ) / Eₘ₋₁
- Обновляем коэффициенты:
aᵢ⁽ᵐ⁾ = aᵢ⁽ᵐ‑¹⁾ + kₘ·am‑i⁽ᵐ‑¹⁾ , i = 1 … m‑1 aₘ⁽ᵐ⁾ = kₘ
- Обновляем ошибку:
Eₘ = Eₘ₋₁·(1‑kₘ²)
- После 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‑модели
- Предобработка сигнала: окно Хэмминга, предвыделение (pre‑emphasis) с коэффициентом ~0.97.
- Вычисление автокорреляции до порядка p (обычно 10‑12).
- Решение уравнений Уолша (Левинсон‑Дурбин) → коэффициенты a₁…aₚ.
- Оценка энергии остатка σ² = Eₚ (для передачи в видеокодер).
- Преобразование в частотную область (поиск корней полинома) → формантные частоты.
- Квантование и кодирование параметров для передачи.
Практические советы и распространённые ошибки
- Выбор порядка модели: слишком маленький p не захватывает все формуантные пики; слишком большой – приводит к «переобучению» и искусственным резонансам.
- Окно и предвыделение: без предвыделения спектр будет «плоским», а LPC‑коэффициенты получатся менее стабильными.
- Обработка граничных условий: в начале сигнала автокорреляцию следует вычислять с учётом нулевого заполнения или использовать «сдвиговое» окно.
- Проверка устойчивости: после расчёта коэффициентов проверьте, что все корни полинома находятся внутри единичного круга; иначе фильтр будет неустойчивым.
Формула линейного предсказания объединяет два мощных подхода – авторегрессионное моделирование и акустический анализ речи. Через автокорреляцию и уравнения Уолша мы получаем набор коэффициентов, которые позволяют:
- Эффективно сжать речевой сигнал (LPC‑вокодеры);
- Извлечь физиологически значимые параметры – формантные частоты.
- Построить простую, но точную модель речевого тракта, пригодную для синтеза и распознавания.
Благодаря своей линейности и простоте реализации (автокорреляция, Левинсон‑Дурбин), линейное предсказание остаётся краеугольным камнем современных систем обработки речи и сигналов.
Дата написания: