Суть линейного предсказания в нахождении коэффициентов ak (k=1..p) для формулы:
p
x[n] =
∑
(ak x[n-k])
(1)
k=1
и последующем использовании этой формулы. Другими словами мы должны построить линейный многочлен, позволяющий с хорошей точностью вычислять значение любого отсчета в сигнале по значениям предыдущих p отсчетов. Коэффициенты ak и называются коэффициентами линейного предсказания.
Фактически, имея некоторый сигнал, мы имеем статистическую выборку которую можно представить в виде таблицы:
х[n-p]
х[n-p+1]
х[n-p+2]
. . .
х[n-1]
х[n]
х[0]
х[1]
х[2]
. . .
x[p-1]
x[p]
х[1]
х[2]
х[3]
. . .
x[p]
x[p+1]
х[2]
х[3]
х[4]
. . .
x[p+1]
x[p+2]
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
. . .
х[N-p-1]
х[N-p]
х[N-p+1]
. . .
x[N-2]
x[N-1]
То есть нахождение коэффициентов линейного предсказания сводится к вычислению коэффициентов линейной регрессии для данной статистической выборки и мы можем пользоваться методами математической статистики.
Минимизируем сумму квадратов ошибок для каждого из вычисляемых отсчетов. Ошибка для отсчета x[n] равна
p
δ[n] = x[n] —
∑
(ak x[n-k])
(2)
k=1
А минимизируемая функция равна
N-1
N-1
p
N-1
N-1
p
E =
∑
δ 2 [n] =
∑
x[n] —
∑
(ak x[n-k])) 2 =
∑
x 2 [n] — 2
∑
x[n]
∑
(ak x[n-k]) )+
n=0
n=0
k=1
n=0
n=0
k=1
N-1
p
N-1
p
N-1
+
∑
(
∑
(ak x[n-k])) 2 =
∑
x 2 [n] — 2
∑
(ak
∑
(x[n] x[n-k])) +
n=0
k=1
n=0
k=1
n=0
p
p
N-1
+
∑
∑
ak aj
∑
(x[n-k]x[n-j]))
(3)
j-1
k=1
n=0
Продифференцируем E по ak и приравняем частные производные нулю для нахождения экстремума:
N-1
p
N-1
dE/dak =
∑
(x[n] x[n-k])) +
∑
aj
∑
(x[n-k]x[n-j]))=0
(4)
n=0
j=1
n=0
Заменив для удобства восприятия j на i, а k на j получим систему p линейных уравнений c p неизвестными :
p
∑
aicij=c0j
(5.1)
i=1
N-1
cij=cji=
∑
x[n-i]x[n-j])
(5.2)
n=0
Эта система называется системой уравнений Юла-Уокера. Погрешность найденных коэффициентов оценивается как:
p
p
p
p
E = c00-2
∑
aic0i+
∑
ai
∑
ajcij = c00 —
∑
aic0i
(6)
i=1
i=1
j=1
i=1
Есть два основных подхода для решения системы уравнений Юла-Уокера.
Источник
Коэффициенты линейного предсказания (получение и расчет)
Формирование сигнала ошибки при использовании линейного предсказания эквивалентно прохождению исходного сигнала через линейный цифровой фильтр. Этот фильтр называется фильтром сигнала ошибки (ФСО) или обратным фильтром.
Обозначим передаточную функцию такого фильтра как А(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.
;
Таким образом, получается выражение, имеющее структуру кратковременной ненормированной АКФ, но зависящей не только от относительного сдвига последовательности i, но и от положения этих последовательностей внутри сегмента РС, которые определяются индексом k, входящим в пределы суммирования. Такой метод определения функции называется ковариационным.
Выражение (*) представляет собой систему линейных алгебраических уравнений (СЛАУ) относительно , у которых все коэффициенты различны.
При использовании ковариационного метода получаются несмещенные оценки коэффициентов линейного предсказания, то есть E<ak>= ak.ист, где ak.ист – истинные значения коэффициентов линейного предсказания.
Другой способ определения коэффициентов системы (*) состоит в том, что вместо функции используется некоторая другая функция , которая определяется как
,
где — ненормированная кратковременная АКФ. Поскольку определение функции сводится к расчету АКФ, то такой метод называется автокорреляционным. При использовании этого метода мы получаем смещенные оценки коэффициентов линейного предсказания (однако, при M
Распишем полученную систему линейных алгебраических уравнений (СЛАУ) в явном виде:
Перепишем ее в матричной форме:
;
Свойства матрицы коэффициентов системы:
1) матрица симметрична;
2) матрица Теплица (матрица, в пределах каждой диагонали которой все элементы равны);
Для решения СЛАУ с такой матрицей используется алгоритм Левинсона – Дурбина, который требует меньших вычислительных затрат, чем стандартные алгоритмы. Он выглядит следующим образом.
Источник
Реферат: Сжатие речевого сигнала на основе линейного предсказания
Название: Сжатие речевого сигнала на основе линейного предсказания Раздел: Рефераты по радиоэлектронике Тип: реферат Добавлен 21:37:06 08 марта 2007 Похожие работы Просмотров: 1643 Комментариев: 17 Оценило: 3 человек Средний балл: 5 Оценка: неизвестно Скачать
Одной из задач такого обширного раздела как «Цифровая обработка речевых сигналов», входящего в состав науки, занимающейся цифровой обработкой сигналов или просто обработкой сигналов является сжатие или кодирование речевого сигнала (РС). Сжатие РС может быть как без потерь (архивация), так и с потерями. Причем в последнем случае это кодирование можно подразделить на три вида:
1. кодирование непосредственно реализации РС (WaveFormCodec);
2. измерение, кодирование и передача на приемную сторону параметров РС, по которым уже на приемной стороне производится синтез этого (искусственного) РС. Такие системы называют вокодерными (Source Codec);
3. гибридные способы кодирования, т.е. сочетание первого и второго способов кодирования. В задачу данной работы входит рассмотрение первого способа кодирования.
Под кодированием подразумевается преобразование РС в некоторый «другой» сигнал, который можно представить с меньшим числом разрядов, что в итоге повысит скорость передачи данных. Одним из видов такого кодирования является дифференциальная импульсно-кодовая модуляция (ДИКМ), о которой и пойдет речь в дальнейшем.
Дифференциальная импульсно-кодовая модуляция
В обычной импульсно-кодовой модуляции каждый отсчет кодируется независимо от других. Однако у многих источников сигнала при стробировании с частотой Найквиста или быстрее проявляется значительная корреляция между последовательными отсчетами [1] (в частности, источник РС является квазистационарным источником и может относиться к рассматриваемым видам источников). Другими словами, изменение амплитуды между последовательными отсчетами в среднем относительно малы. Следовательно, схема кодирования, которая учитывает избыточность отсчетов, будет требовать более низкой битовой скорости.
Суть ДИКМ заключается в следующем. Предсказывается текущее значение отсчета на основе предыдущих M отсчетов. Для конкретности предположим, что означает текущий отсчет источника, и пусть обозначает предсказанное значение (оценку) для , определяемое как
.
Таким образом, является взвешенной линейной комбинацией M отсчетов, а являются коэффициентами предсказания. Величины выбираются так, чтобы минимизировать некоторую функцию ошибки между и . Проиллюстрируем вышесказанное на отрезке РС:
Прежде чем идти дальше, рассмотрим виды предсказания. «Линейное» предсказание означает, что является линейной функцией предыдущих отсчетов; при «нелинейном» предсказании – это нелинейная функция. Порядок предсказания определяется количеством используемых предыдущих отсчетов. То есть, предсказание нулевого и первого порядка является линейным, а второго и более высокого порядка — нелинейным. При линейном предсказании восстановить сигнал значительно проще, чем при нелинейном предсказании. Будем рассматривать только линейное предсказание.
Виды линейных предсказаний
1.Предсказание нулевого порядка.
В этом случае для предсказания текущего отсчета используется только предыдущий отсчет РС, т.е.
=>
2.Предсказание первого порядка (линейная экстраполяция).
В этом случае для предсказания текущего отсчета используется не только предыдущий отсчет, но и разница между предпоследним и последним отсчетами, которая суммируется к общему результату:
=>
Коэффициенты линейного предсказания (получение и расчет)
Формирование сигнала ошибки при использовании линейного предсказания эквивалентно прохождению исходного сигнала через линейный цифровой фильтр. Этот фильтр называется фильтром сигнала ошибки (ФСО) или обратным фильтром.
Обозначим передаточную функцию такого фильтра как А(z):
,
где E(z) и X(z) – прямое z — преобразование от сигнала ошибки и входного сигнала соответственно.
На приемной стороне при прохождении сигнала ошибки через формирующий фильтр (ФФ) мы в идеале получим исходный сигнал. Обозначим передаточную функцию формирующего фильтра как K(z).
Т.е. передаточная функция K(z) связана с A(z) следующим соотношением:
.
Рассмотрим последовательно соединенные кодер и декодер:
При условии, что A(z)K(z) = 1, будет обеспечено абсолютно точное восстановление сигнала, т.е. . Но это в идеале, на самом деле такого быть не может по причинам, о которых скажем ниже.
Для примера, найдем передаточные функции ФСО и ФФ для разных типов линейного предсказания.
а) предсказание нулевого порядка;
; ;
Получили, что такой фильтр неустойчив (граница устойчивости), так как полюс находится на единичной окружности.
б) предсказание первого порядка;
;;
Получили, что и такой фильтр тоже неустойчив (граница устойчивости).
в) общая форма предсказания;
Было получено, что => .
; ;
На основании рассмотренных примеров можно сделать следующие выводы.
Фильтр сигнала ошибки всегда является КИХ фильтром, а формирующий фильтр – БИХ фильтром. Коэффициенты передаточной функции ФФ, которые, как уже было сказано выше, являются коэффициентами линейного предсказания (LPC: LinearPredictionCoefficients), должны быть такими, чтобы:
1. формирующий фильтр был устойчивым;
2. ошибка была минимальна.
Для получения передаточной функции ФФ, наиболее точно воспроизводящего частотную характеристику голосового тракта для данного звука, следует определять коэффициенты передаточной функции исходя из условия наименьшей ошибки линейного предсказания речевого сигнала (по условию минимума среднего квадрата ошибки).
Запишем выражение для оценки дисперсии сигнала ошибки, которую надо свести к минимуму:
; ;
Получили, что — функция нескольких переменных. Продифференцируем ее и приравняем частные производные для нахождения экстремума:
; ,
где — символ Кронекера. Следовательно: ;
; => ;
Получили нормальные уравнения или уравнения Юла-Волкера. Введем обозначение: , где — есть ни что иное, как корреляционная функция. Перепишем полученное выражение с учетом принятого обозначения:
(*)
Для вычисления функции необходимо определить пределы суммирования по n : , где N – количество отсчетов в сегменте РС, а M — количество отсчетов, необходимых для расчета коэффициентов предсказания (M + 1)-го отсчета. Значит, первое предсказанное значение запишется так: , где n = M + 1.
;
Таким образом, получается выражение, имеющее структуру кратковременной ненормированной АКФ, но зависящей не только от относительного сдвига последовательности i , но и от положения этих последовательностей внутри сегмента РС, которые определяются индексом k , входящим в пределы суммирования. Такой метод определения функции называется ковариационным .
Выражение (*) представляет собой систему линейных алгебраических уравнений (СЛАУ) относительно , у которых все коэффициенты различны.
При использовании ковариационного метода получаются несмещенные оценки коэффициентов линейного предсказания, то есть E<ak >= ak.ист , где ak.ист – истинные значения коэффициентов линейного предсказания.
Другой способ определения коэффициентов системы (*) состоит в том, что вместо функции используется некоторая другая функция , которая определяется как
,
где — ненормированная кратковременная АКФ. Поскольку определение функции сводится к расчету АКФ, то такой метод называется автокорреляционным. При использовании этого метода мы получаем смещенные оценки коэффициентов линейного предсказания (однако, при M 2 будет иметь наименьшее значение, т.е. после определенных итераций необходимо достичь вершины этого параболоида. Алгоритм такого градиентного метода выглядит так:
,
где i – номер шага, μ – шаг алгоритма.
При малом шаге алгоритма мы практически полностью устраняем возможность расхождения алгоритма, но при этом проигрываем в скорости сходимости или в скорости нахождения коэффициентов предсказателя. И наоборот.
Следует сказать, что такой алгоритм сходится при очень большом количестве итераций, в общем случае, при количестве итераций стремящемся к бесконечности. Поэтому необходимо также перед началом вычислений задаться допустимой погрешностью, которая нас может устроить.
Найдем частную производную:
Тогда алгоритм адаптации коэффициентов линейного предсказания примет следующий вид:
Ниже приводятся иллюстрации одного из опытов, проделанного в лабораторной работе.
Обрабатываемый сегмент речевого сигнала:
Коэффициенты отражения и Импульсная характеристика формирующего фильтра:
Передаточные функции ФФ и ФСО и Диаграмма полюсов:
Полученный (синтезированный) сегмент РС:
В проделанной работе проводились исследования влияния разрядности коэффициентов предсказания / отражения и сигнала ошибки на синтезированный сигнал в системе с АДИКМ, полученный по этим величинам на приемной стороне декодером. Как уже ясно из названия коэффициентов, исследовались и сравнивались два типа фильтров: стандартный и решетчатый.
В результате можно сделать следующие выводы.
Решетчатый фильтр всегда устойчив и коэффициенты отражения всегда меньше 1, потому что коэффициенты отражения являются также и коэффициентами корреляции. Устойчивость решетчатого фильтра инвариантна к разрядности коэффициентов отражения. Разрядность коэффициентов отражения сказывается лишь на форме передаточной функции и, как следствие, на диаграмме полюсов и импульсной характеристике, а на форму синтезированного РС влияет очень незначительно, при условии постоянной, довольно высокой (12) разрядности сигнала ошибки.
В случае фиксированной, довольно низкой, разрядности коэффициентов отражения (4) и уменьшающейся разрядности сигнала ошибки до значения (6), ухудшение синтезированного РС незначительно. При числе разрядов меньше (6) уже начинают наблюдаться значительные искажения. Если сравнить эти опыты с опытами, проделанными над стандартным фильтром, то для того же сегмента и при значении разрядности (8), наблюдалась неустойчивость синтезированного фильтра и, как следствие, полное искажение РС.
В случае, если два фильтра были устойчивы и разрядность их коэффициентов, а также разрядность сигнала ошибки была одинаковой, то синтезированный сигнал оказывался идентичным.
Следует также отметить не только влияние разрядности коэффициентов предсказания / отражения на синтезированный сигнал, но и, прежде всего, саму реализацию исходного аналогового РС, как основы, по которой рассчитываются сами коэффициенты. Поэтому необходимо иметь запас по разрядности коэффициентов предсказания, чтобы стандартный фильтр для некоторых реализаций не оказался неустойчив (решетчатый фильтр устойчив в любом случае). Экспериментально был подобран вариант выбора разрядности коэффициентов предсказания (12), а сигнала ошибки (8) (разрядность коэффициентов отражения не играет почти никакой роли). Это достаточно хорошо различимая речь.
В данной работе достаточно подробно изложен метод цифрового сжатия речевого сигнала на основе линейного предсказания. Показано, что существуют несколько подходов к решению этой задачи. Приведены иллюстрации из проделанной лабораторной работы со всеми необходимыми комментариями и выводами.
1. Прокис Дж., «Цифровая связь», — М: Радио и связь, 2000.
2. Рабинер Л.Р., Шафер Р.В., «Цифровая обработка РС», — М: Радио и связь, 1981.
3. Конспект лекций по курсу «Цифровая обработка РС», 2004.