Самое главное помнить, что линейное предсказание – это вычислительная процедура, позволяющая по набору
предшествующих отсчётов сигнала оценить текущий (или будущий) отсчёт с минимальной средней квадратичной ошибкой.
Очень важно понимать, какие параметры находятся в формуле, как они вычисляются и где применяются
полученные коэффициенты.
Основные понятия
Пусть s(i) – дискретный цифровой сигнал, измеренный в момент i. При линейном предсказании
текущий отсчёт s(i) аппроксимируется линейной комбинацией N предыдущих отсчётов:
ĥs(i) = Σ_{k=1}^{N} α_k · s(i‑k)
где:
- α_k – коэффициенты линейного предсказания (LPC‑коэффициенты);
- N – порядок предсказания (количество используемых прошлых отсчётов);
- ĥs(i) – предсказанное значение сигнала в момент i.
Минимизация ошибки предсказания
Ошибка предсказания определяется как разность между реальным и предсказанным отсчётом:
e(i) = s(i) – ĥs(i)
Среднеквадратичная ошибка (СКО) для бесконечного наблюдения записывается так:
E = ⟨e(i)²⟩ = ⟨[s(i) – Σ_{k=1}^{N} α_k s(i‑k)]²⟩ → min
Задача линейного предсказания состоит в поиске набора {α_k}, который минимизирует E.
Это приводит к системе линейных уравнений – уравнениям Винера‑Хоффмана:
Σ_{k=1}^{N} α_k R(|i‑j|) = R(j), j = 1,…,N
где R(m) – автокорреляционная функция сигнала:
R(m) = ⟨s(i)·s(i‑m)⟩
Алгоритм решения: метод Левинсона‑Дербина
Система Винера‑Хоффмана обладает особой структурой (симметричная, тоепличная), благодаря чему
можно решить её за O(N²) операций, используя рекурсивный алгоритм Левинсона‑Дербина:
- Инициализация: α₁ = –R(1)/R(0), ε₁ = R(0)·(1 – α₁²).
- Для m = 2 … N вычисляем отражающий коэффициент:
k_m = – [R(m) + Σ_{i=1}^{m‑1} α_i^{(m‑1)} R(m‑i)] / ε_{m‑1} - Обновляем коэффициенты:
α_i^{(m)} = α_i^{(m‑1)} + k_m·α_{m‑i}^{(m‑1)}, i = 1 … m‑1и добавляем α_m^{(m)} = k_m.
- Обновляем ошибку:
ε_m = ε_{m‑1}·(1 – k_m²)
После N итераций получаем окончательные LPC‑коэффициенты α₁ … α_N и остаточную ошибку ε_N.
Преобразования между различными представлениями коэффициентов
В практических задачах часто требуется переход от LPC‑коэффициентов к другим формулам:
- Отражательные (парциальные автокорреляционные) коэффициенты – k_m, получаемые в процессе Левинсона‑Дербина.
- Коэффициенты линейных спектральных частот (LSF) – корни полинома, полученного из обратного полинома LPC.
- Кепстральные (cepstral) коэффициенты – получаются рекуррентным преобразованием из LPC‑коэффициентов и часто используют в системах распознавания речи.
Все эти преобразования реализованы в современных DSP‑библиотеках (MATLAB, Python‑SciPy, Octave).
Приложения линейного предсказания
Линейное предсказание нашло широкое применение в разных областях:
- Сжатие речи (LPC‑вокодер) – анализ речи, получение LPC‑коэффициентов, их передача, а затем синтез речи
с помощью рекурсивного цифрового фильтра. - Спектральный анализ – оценка спектра сигнала на коротких кадрах (период квазистационарности).
- Адаптивные фильтры – построение предсказательных фильтров в системах шумоподавления и эхоподавления.
- Медицинская диагностика – анализ ЭЭГ, ЭКГ, ультразвуковых сигналов.
- Сейсмология и геофизика – оценка параметров стохастических сигналов в геофизических исследованиях.
Пример расчёта LPC‑коэффициентов
Рассмотрим простой пример: сигнал s = [1.0, 0.8, 0.5, 0.2, -0.1] и порядок предсказания N = 2.
- Вычислим автокорреляцию:
R(0) = Σ s(i)² = 2.94
R(1) = Σ s(i)·s(i‑1) = 2.04
R(2) = Σ s(i)·s(i‑2) = 1.02
- Инициализация:
α₁ = –R(1)/R(0) = –0.6949
ε₁ = R(0)·(1 – α₁²) = 2.94·(1 – 0.483) = 1.521
- Вторая итерация:
k₂ = –[R(2) + α₁·R(1)] / ε₁ = –[1.02 + (‑0.6949)·2.04] / 1.521 = 0.045
α₂ = k₂ = 0.045
α₁ (обновл.) = α₁ + k₂·α₁ = –0.6949 + 0.045·(‑0.6949) = –0.7215
Полученные коэффициенты: α₁ ≈ –0.722, α₂ ≈ 0.045. Они позволяют предсказывать каждый новый
отсчёт сигнала по двум предыдущим.
Формула линейного предсказания ĥs(i) = Σ_{k=1}^{N} α_k·s(i‑k) является фундаментом
многих современных методов цифровой обработки сигналов. Минимизация средней квадратичной ошибки
ведёт к системе Винера‑Хоффмана, решение которой удобно выполнять рекурсивным алгоритмом
Левинсона‑Дербина. Полученные коэффициенты могут быть преобразованы в различные формы
(отражательные, LSF, кепстральные) и находят применение в сжатии речи, спектральном анализе,
адаптивных фильтрах и многих других областях.
Помните, что правильный выбор порядка N и корректная оценка автокорреляции
являются решающими факторами качества предсказания.
Составлено на основе открытых источников:
Википедия – линейное предсказание,МОЛУЧ – применение модели линейного предсказания.