- •Основы теории цифровой связи Часть 1 кодирование информации
- •1. Введение
- •1.1. Модель радиотехнической системы связи
- •Контрольные вопросы
- •1.2. Статистическая трактовка процесса передачи информации
- •Контрольные вопросы
- •1.3. Основные понятия и элементы математического аппарата теории связи
- •1.3.1. Сигналы и помехи
- •1.3.2. Разложение сигнала по системе ортогональных функций. Спектр сигнала
- •1.3.3. Cвойства преобразования Фурье
- •1.3.4. Корреляционная функция сигнала
- •1.3.5. Связь между корреляционной функцией и спектром сигнала
- •1.3.6. Случайные сигналы и их характеристики
- •Контрольные вопросы
- •1.4. Источники информации
- •1.5. Теорема дискретизации
- •1.6. Дискретизация изображений
- •Контрольные вопросы
- •1.7. Квантование. Ошибки квантования
- •Контрольные вопросы
- •1.8. Количество информации, содержащейся в сообщении
- •1.8.1. Энтропия сложных сообщений, избыточность источника
- •Контрольные вопросы и задачи
- •2. Основы экономного кодирования информации
- •2.1. Способы представления кодов
- •Контрольные вопросы и задачи
- •2.2. Типы систем сжатия
- •X Квантователь Xq Кодер без потерь информации b (Xq) Декодер X*
- •Методы кодирования без потерь
- •2.3.1. Понятие префиксного множества
- •2.3.2. Алгоритм кодирования Хаффмена
- •2.3.3. Алгоритм Шеннона–Фано
- •2.3.4. Блочные коды
- •2.3.5. Арифметическое кодирование
- •2.3.6. Словарное кодирование. Метод Зива–Лемпеля
- •2.3.7. Кодирование длин повторений (rle)
- •2.3.8. Дифференциальное кодирование
- •Контрольные вопросы и задачи
- •2.4. Методы сжатия с потерей информации
- •2.4.1. Функции “скорость–искажение” и “искажение–скорость”
- •2.5. Сжатие речевых сигналов
- •2.5.1. Кодирование формы сигнала, икм
- •2.5.2. Дифференциальная икм
- •2.5.3. Адаптивная дифференциальная икм (адикм)
- •2.5.4. Дельта-модуляция
- •2.5.5. Другие методы кодирования формы сигнала
- •2.5.6. Кодирование источника
- •2.5.7. Гибридные методы кодирования речи
- •2.5.8. Полноскоростной кодер rpe-ltp (стандарт gsm 06.10)
- •2.5.9. Кодер vselp (стандарт d-amps)
- •Контрольные вопросы и задачи
- •2.6. Кодирование изображений. Стандарт сжатия jpeg
- •Процедуру дкп можно записать в матричной форме:
- •2.6.1. Рекурсивный (вэйвлет) алгоритм
- •2.7. Сжатие подвижных изображений (видео)
- •3. Основы помехоустойчивого кодирования
- •3.1. Основные принципы. Типы кодов
- •3.2. Линейные блочные коды
- •3.2.1. Код с проверкой на четность
- •3.2.2. Итеративный код
- •3.2.3. Порождающая матрица линейного блочного кода
- •3.2.4. Проверочная матрица
- •3.2.5. Дуальные коды
- •3.2.6. Синдром и обнаружение ошибок
- •3.2.7. Синдромное декодирование линейных блочных кодов
- •3.2.8. Мажоритарное декодирование линейных блочных кодов
- •3.2.9. Декодирование методом максимального правдоподобия
- •Поскольку
- •Если принятый сигнал дискретизован и Si – I-й отсчет принятого сигнала.
- •3.2.10. Вес и расстояние Хемминга. Способность кодов обнаруживать и исправлять ошибки
- •Контрольные вопросы и задачи
- •3.3. Полиномиальные коды
- •3.3.1. Циклические коды
- •3.3.2. Кодирование с использованием циклических кодов
- •3.3.3. Вычисление синдрома и исправление ошибок в циклических кодах
- •3.3.4. Неалгебраические методы декодирования циклических кодов
- •3.4. Сверточные коды
- •3.4.1. Кодирование с использованием сверточных кодов
- •3.4.2. Синдромное декодирование сверточных кодов
- •3.4.3. Кодовое дерево и решетчатая диаграмма
- •3.4.4. Декодирование сверточных кодов. Алгоритм Витерби
- •3.4.5. Алгоритмы поиска по решетке
- •Контрольные вопросы и задачи
- •3.5. Применение корректирующего кодирования в системах связи
- •3.5.1. Каскадные коды
- •3.5.2. Кодирование с перемежением
- •Библиографический список
- •Часть 1 1
2.5.5. Другие методы кодирования формы сигнала
Описанные выше кодеры формы сигнала использовали чисто временной подход к описанию этого сигнала. Однако возможны и другие подходы. Примером может служить так называемое кодирование поддиапазонов или подполос (Sub-Band Coding SBC), при котором входной сигнал разбивается (или расфильтровывается) на несколько частотных диапазонов (поддиапазонов sub-bands), и сигнал в каждом из этих поддиапазонов дискретизуется и кодируется по отдельности, например, с использованием техники АДИКМ.
Поскольку каждый из частотных поддиапазонов имеет более узкую полосу Fmi (все поддиапазоны в сумме дают полосу исходного сигнала Fm), то и частота дискретизации в каждом поддиапазоне также будет меньше. В результате суммарная скорость всех кодов будет по крайней мере не больше, чем скорость кода для исходного сигнала во всей полосе. Однако у такой техники есть определенные преимущества. Дело в том, что субъективная чувствительность слуха к сигналам и их искажениям различна на разных частотах. Она максимальна на частотах 1…1,5 кГц и уменьшается на более низких и более высоких частотах. Таким образом, если в диапазоне более высокой чувствительности слуха квантовать сигнал более точно, а в диапазонах низкой чувствительности более грубо (и представлять полученные данные меньшим числом бит), то можно получить выигрыш в результирующей скорости кода. Действительно, при использовании технологии кодирования поддиапазонов получено хорошее качество кодируемой речи при скорости кода 16…32 кбит/с. Кодер получается несколько более сложным, чем при простой АДИКМ, однако гораздо проще, нежели для других эффективных способов сжатия речи.
Упрощенная схема подобного кодера (с разбиением на два поддиапазона) изображена на рис. 2.22.
Рис. 2.22
Аналогичным образом строится многополосный вокодер, при этом процедура расфильтровывания кодируемого сигнала по подполосам обычно также выполняется в цифровой форме.
Близким к кодированию поддиапазонов является метод сжатия, основанный на применении к сигналу линейных преобразований, например дискретного косинусного или синусного преобразования. Для кодирования речи используется так называемая технология ATC (Adaptive Transform Coding), при которой сигнал разбивается на блоки, к каждому блоку применяется дискретное косинусное преобразование и полученные коэффициенты адаптивно квантуются в соответствии с характером спектра сигнала. Чем более значимыми являются коэффициенты преобразования, тем большим числом бит они кодируются. Достигаемые при таком кодировании скорости кодов составляют 12…16 кбит/с при вполне удовлетворительном качестве сигнала. Широкого распространения для сжатия речи этот метод не получил, поскольку известны гораздо более эффективные и простые в исполнении методы кодирования.
Следующим большим классом кодеров речевых сигналов являются кодеры источника.
2.5.6. Кодирование источника
В отличие от кодеров формы сигнала, вообще не использующих информацию о том, как был сформирован кодируемый сигнал, кодеры источника основываются на модели источника и из кодируемого сигнала извлекают информацию о параметрах этой модели. При этом результатом кодирования являются не коды сигналов, а коды параметров источника этих сигналов.
Кодеры источника для кодирования речи называются вокодерами (VOice CODERS) и работают примерно следующим образом.
Голосообразующий тракт представляется в виде линейного фильтра с переменными во времени параметрами, возбуждаемый либо источником белого шума (при формировании согласных звуков), либо последовательностями импульсов с периодом основного тона (при формировании гласных звуков) (рис. 2.23).
Рис. 2.23
Линейная модель системы речеобразования и ее параметры могут быть найдены различными способами. И от того, каким способом они определяются, зависит тип вокодера.
Информация, которую получает вокодер в результате анализа речевого сигнала и передает декодеру, это параметры речеобразующего фильтра, указатель гласный/негласный звук, мощность сигнала возбуждения и период основного тона для гласных звуков. Эти параметры должны обновляться каждые 10 – 20 мс, отслеживая изменение характера речевого сигнала.
Вокодер, в отличие от кодера формы сигнала, пытается сформировать сигнал, звучащий как оригинальная речь, и не обращает внимания на отличие формы этого сигнала от исходного. При этом результирующая скорость кода на его выходе может составлять менее 2,4 кбит/с, то есть в пятнадцать раз меньше, чем при АДИКМ !
К сожалению, качество речи, обеспечиваемой вокодерами, далеко от идеального, ее звучание хотя и достаточно разборчиво, но абсолютно ненатурально. При этом даже существенное увеличение скорости кода практически не улучшает качества речи, поскольку для кодирования выбрана слишком простая модель системы речеобразования. Особенно грубым является предположение о том, что речь состоит лишь из гласных и согласных звуков, не допускающее каких-либо промежуточных состояний. Основное применение вокодеры нашли в военной области, где главное – это не натуральность речи, а большая степень ее сжатия и очень низкая скорость кода, позволяющая эффективно защищать от перехвата и засекречивать передаваемую речь.
Канальные вокодеры
Это наиболее древний тип вокодера, предложенный еще в 1939 году. Данный вокодер использует слабую чувствительность слуха человека к незначительным фазовым (временным) сдвигам сигнала.
Для сегментов речи длиной примерно в 20…30 мс с помощью набора узкополосных фильтров определяется амплитудный спектр. Чем больше фильтров, тем лучше оценивается спектр, но тем больше нужно битов для его кодирования и тем больше результирующая скорость кода. Сигналы с выходов фильтров детектируются, пропускаются через ФНЧ, дискретизуются и подвергаются двоичному кодированию (рис. 2.24).
Рис. 2.24
Таким образом определяются медленно изменяющиеся параметры голосообразующего тракта и, кроме того, с помощью детекторов основного тона и гласных звуков период основного тона возбуждения и признак гласный/негласный звук.
Канальный вокодер может быть реализован как в цифровой, так и в аналоговой форме, при этом он обеспечивает достаточно разборчивую речь при скорости кода на его выходе порядка 2,4 кбит/с.
Декодер (рис. 2.25), получив информацию, вырабатываемую кодером, обрабатывает ее в обратном порядке, синтезируя на своем выходе речевой сигнал, в какой-то мере похожий на исходный.
Учитывая простоту модели, трудно ожидать от вокодерного сжатия хорошего качества восстановленной речи. Действительно, канальные вокодеры используются в основном только там, где необходимы главным образом разборчивость и высокая степень сжатия: в авиации, военной и космической связи и т.д.
Рис. 2.25
Формантные вокодеры
Как уже отмечалось ранее, основная информация о речевом сигнале содержится в положении и ширине составляющих его формант. Если с высокой точностью определять и кодировать параметры этих формант, можно получить очень низкую результирующую скорость кода – менее 1 кбит/с. На практике процедура определения параметров формант в конечном итоге сводится к формированию спектра кодируемого сигнала с высоким разрешением (как это делается в полосовом вокодере) и по этому спектру моделированиию и определению параметров формант. Это требует достаточно много вычислительных операций, поэтому формантные кодеры речи не нашли широкого распространения.
Вокодеры с линейным предсказанием (ЛПК-вокодеры)
Вокодеры на основе линейного предсказания используют ту же идею кодирования, что и остальные вокодеры – в них кодируются и передаются не параметры речевого сигнала как такового, а параметры некоторого фильтра, в известном смысле эквивалентного голосовому тракту, и параметры сигнала возбуждения этого фильтра. Задача кодирования на передающем конце линии связи заключается в оценке параметров фильтра и параметров сигнала возбуждения, а задача декодирования на приемном конце в пропускании сигнала возбуждения через фильтр, на выходе которого получается восстановленный сигнал речи.
Линейные предсказывающие кодеры, или ЛПК (Linear Predictive Coders LPC), полагают голосовой тракт линейным фильтром с непрерывной импульсной переходной характеристикой, в котором каждое очередное значение сигнала может быть получено как линейная комбинация некоторого количества его предыдущих значений:
= a k xn – k , (2.23)
где a k коэффициенты линейного предсказания; M – порядок предсказания.
Работа ЛПК-кодера состоит в определении значений коэффициентов a k, формировании на их основе фильтра, эквивалентного голосовому тракту, и определении с его использованием сигнала возбуждения.
Разность между истинным и предсказанным с использованием выражения (2.23) значениями отсчетов сигнала определяет ошибку предсказания (остаток предсказания):
= xn – a k xn – k , (2.24)
Величины {a k} должны выбираться таким образом, чтобы минимизировать некоторую функцию ошибки предсказания, например дисперсию различий между xn и :
ξp = < 2 > = <( xn – a k xn – k) 2 > =
= < xn2 > – 2 k a k < xn xn – k > + a k a l< xn-l xn – k > =
= R(0) – 2 a k R(k) + a k a l R(k l), (2.25)
где R(k) – автокорреляционная функция (АКФ) последовательности отсчетов кодируемого речевого сигнала xn .
Для минимизации величины ξp по коэффициентам предсказания {a k} нужно продифференцировать выражение (2.25) по ak и приравнять частные производные к нулю, что приводит к системе линейных уравнений вида
a k R(k – l) = R(l), l = 1, 2, 3, …, M , (2.26)
которая решается известными (алгоритм Левинсона–Дурбина) методами.
Подставив полученные значения {a k} в разностное уравнение (2.24) и выполнив z-преобразование, получим
,
(2.27)
где
.
(2.28)
может рассматриваться как передаточная характеристика некоторого фильтра (инверсного фильтра или фильтра-анализатора), частотная характеристика которого обратна по отношению к частотной характеристике голосового тракта. При этом если на вход инверсного фильтра подать речевой сигнал, то на его выходе получается сигнал возбуждения, подобный сигналу возбуждения на входе фильтра голосового тракта.
Порядок предсказания фильтра выбирается из условия компромисса между качеством кодирования речи и пропускной способностью линии связи. На практике порядок фильтра берется около десяти (M = 10). При этом поскольку интервал времени, в течение которого коэффициенты остаются неизменными, составляет около 20–30 мс, то их значения должны обновляться (рассчитываться заново) каждые 20–30 мс.
Таким образом, в ЛПК-вокодере речевой сигнал делится на блоки (сегменты), для каждого из которых определяются коэффициенты предсказывающего фильтра. Эти коэффициенты квантуются и передаются декодеру. Далее речевой сигнал пропускается через инверсный фильтр (фильтр, частотная характеристика которого обратна частотной характеристике голосового тракта). На выходе фильтра получается ошибка предсказания (сигнал возбуждения). Эта ошибка предсказания кодируется и передается получателю. Задача декодера на приемном конце – пропустить сигнал возбуждения через фильтр, на выходе которого получается восстановленный сигнал речи.
Вокодеры на основе линейного предсказания в настоящее время наиболее популярны. Получаемые с их помощью скорости кодов при удовлетворительном качестве речи составляют до 2,4 кбит/с. На их основе также строится большинство современных практических систем сжатия речевых сигналов, использующихся в сотовой телефонии.
