Формирование сигнала ошибки при использовании линейного предсказания эквивалентно прохождению исходного сигнала через линейный цифровой фильтр. Этот фильтр называется фильтром сигнала ошибки (ФСО) или обратным фильтром.
Обозначим передаточную функцию такого фильтра как А(z):
,
где E(z) и X(z) – прямое z - преобразование от сигнала ошибки и входного сигнала соответственно.
На приемной стороне при прохождении сигнала ошибки через формирующий фильтр (ФФ) мы в идеале получим исходный сигнал. Обозначим передаточную функцию формирующего фильтра как K(z).
Т.е. передаточная функция K(z) связана с A(z) следующим соотношением:
.
Рассмотрим последовательно соединенные кодер и декодер:
При условии, что A(z)K(z) = 1, будет обеспечено абсолютно точное восстановление сигнала, т.е. . Но это в идеале, на самом деле такого быть не может по причинам, о которых скажем ниже.
Для примера, найдем передаточные функции ФСО и ФФ для разных типов линейного предсказания.
а) предсказание нулевого порядка;
;
;
Получили, что такой фильтр неустойчив (граница устойчивости), так как полюс находится на единичной окружности.
б) предсказание первого порядка;
;
;
Получили, что и такой фильтр тоже неустойчив (граница устойчивости).
в) общая форма предсказания;
Было получено, что =>
.
;
;
На основании рассмотренных примеров можно сделать следующие выводы.
Фильтр сигнала ошибки всегда является КИХ фильтром, а формирующий фильтр – БИХ фильтром. Коэффициенты передаточной функции ФФ, которые, как уже было сказано выше, являются коэффициентами линейного предсказания (LPC: Linear Prediction Coefficients), должны быть такими, чтобы:
1. формирующий фильтр был устойчивым;
2. ошибка была минимальна.
Для получения передаточной функции ФФ, наиболее точно воспроизводящего частотную характеристику голосового тракта для данного звука, следует определять коэффициенты передаточной функции исходя из условия наименьшей ошибки линейного предсказания речевого сигнала (по условию минимума среднего квадрата ошибки).
Запишем выражение для оценки дисперсии сигнала ошибки, которую надо свести к минимуму:
;
;
Получили, что - функция нескольких переменных. Продифференцируем ее и приравняем частные производные для нахождения экстремума:
;
,
где - символ Кронекера. Следовательно:
;
; =>
;
Получили нормальные уравнения или уравнения Юла-Волкера. Введем обозначение: , где
- есть ни что иное, как корреляционная функция. Перепишем полученное выражение с учетом принятого обозначения:
(*)
Для вычисления функции необходимо определить пределы суммирования по n:
, где N – количество отсчетов в сегменте РС, а M - количество отсчетов, необходимых для расчета коэффициентов предсказания (M + 1)-го отсчета. Значит, первое предсказанное значение запишется так:
, где n = M + 1.
Получили:
;
Обозначим n – k = j => n = k + j, n – m = k + j – m <=> n – m = i + j, где i = k – m. Следовательно:
Таким образом, получается выражение, имеющее структуру кратковременной ненормированной АКФ, но зависящей не только от относительного сдвига последовательности i, но и от положения этих последовательностей внутри сегмента РС, которые определяются индексом k, входящим в пределы суммирования. Такой метод определения функции называется ковариационным.
Выражение (*) представляет собой систему линейных алгебраических уравнений (СЛАУ) относительно , у которых все коэффициенты различны.
При использовании ковариационного метода получаются несмещенные оценки коэффициентов линейного предсказания, то есть E{ ak }= ak.ист, где ak.ист – истинные значения коэффициентов линейного предсказания.
Другой способ определения коэффициентов системы (*) состоит в том, что вместо функции используется некоторая другая функция
, которая определяется как
,
где - ненормированная кратковременная АКФ. Поскольку определение функции
сводится к расчету АКФ, то такой метод называется автокорреляционным. При использовании этого метода мы получаем смещенные оценки коэффициентов линейного предсказания (однако, при M << N смещение пренебрежимо мало).
Перепишем СЛАУ (*) с учетом введенной функции :
.
.
При использовании автокорреляционного метода вся информация о сигнале, необходимая для определения коэффициентов линейного предсказания, содержится в кратковременной ненормированной АКФ B (i).
Распишем полученную систему линейных алгебраических уравнений (СЛАУ) в явном виде:
Перепишем ее в матричной форме:
;
Свойства матрицы коэффициентов системы:
1) матрица симметрична;
2) матрица Теплица (матрица, в пределах каждой диагонали которой все элементы равны);
Для решения СЛАУ с такой матрицей используется алгоритм Левинсона – Дурбина, который требует меньших вычислительных затрат, чем стандартные алгоритмы. Он выглядит следующим образом.
Начальные значения для алгоритма:
Алгоритм: