sonyps4.ru

Кодирование и декодирование сигналов в системах опознавания. Кодирование формы сигнала

Кодирование сигналов

Кодирование сигналов служит для обмена информацией между отдельными составляющими СУ ТОУ (САУ или АСУ) (схемами, узлами, устройствами, блоками), ее обработки и хранение с требуемой точностью и надежностью (самая высокая помехозащищенность). Кодирование состоит в использовании кода – универсального способа отображения информации при ее передаче, обработке и хранении. Код представляет собой систему соответствий между элементами сообщений и сигналами, при помощи которых эти элементы можно зафиксировать. В коде различные виды сигналов одной физической природы называются символами . Конечная совокупность символов, выбранная для передачи конкретного сообщения , называется словом . Кодовый сигнал (код) - особый вид сигналов (цифровой сигнал). Кодирование может производиться либо от аналоговых, либо от дискретных сигналов (рис.1.2).

пример : 0 или 1 – символы в одном разряде двоичного кода (1 бит информации);

байт содержит 8 бит информации (8 разрядов), т.е. например, 10001001 байтовое слово.

В АСУ так же как в любых информационно-измерительных системах (ИИС) применяются два способа передачи сообщений (совокупности слов): параллельным кодом – все символы одного слова передаются одновременно по каналам, число которых соответствует количеству символов, т.е. длине слова (для передачи байтового слова нужно 8 каналов); последовательным кодом - символы одного слова передаются друг за другом по одному каналу.

Выбор кодов определяется спецификой восприятия и преобразования информации, характерной для данного уровня АСУ ТП и ее составляющих.

Основными требованиями , которые выдвигаются при выборе способа кодирования, являются: экономичность отображения информации, простота технической реализации устройств кодирования, удобство выполнения вычислительных операций и надежность передачи сообщений.

Для выполнения этих требований, особенно связанных с удобством выполнения вычислительных операций , наиболее пригоден цифровой код (алфавит), число символов в котором зависит от основания системы счисления и обычно не превышает 10 или 16. Такой подход позволяет осуществлять кодирование не только чисел, но и понятий.

При помощи кода с основанием n любое число можно представить в виде:

где N – количество разрядов; a j – количество символов в одном разряде.

Если опустить n j , то получим более компактную запись N – разрядного (от N –1 до 0) числа М:

. (1.2)

Пример: М = 123 = 1×10 3-1 + 2 × 10 2-1 + 3 ×10° (n=10).

Из формул (1.1) и (1.2) следует, что одно и то же число М в зависимости от основания n при кодировании формируется из разного количества символов в одном разряде (a j )и количества разрядов (N ). Например, цифровой 3-разрядный десятичный вольтметр, представляющий информацию в коде с основанием 10, имеет в каждом разряде 10 различных цифр (символов), может с точностью до 1 младшего разряда выдать 1000 (0, 1, …, 999) различных значений измеряемого параметра (напряжения). для осуществления той же операции в двоичном коде (коде с основанием 2) потребуется 10 разрядов с двумя значащими цифрами в каждом из них (2 10 = 1024).

Пусть n – максимальное число символов в разряде (основание кода), а N – число разрядов.

Тогда возможное количество различных сообщений составляет

Например, 1024 = 2 10 ; в двоичном коде с помощью 10 разрядов можно записать максимальное число 1024, т.е. для передачи числа 1024 понадобится 10 каналов (разрядов) двоичного кода.

Экономичность кодирования будет тем выше, чем меньше знаков следует затратить на передачу одного и того же сообщения. При передаче сообщений по каналу связи количество знаков определяет также и необходимое для этого время.

По соображениям простоты технической реализации явное преимущество на стороне кода с n = 2, при котором для хранения, передачи и обработки информации необходимы дискретные элементы с двумя устойчивыми состояниями.

Пример: логические функции: «да» - «нет», состояние блока ТОУ: «включено» - «отключено», действие (операция): «выполнено» – «не выполнено», техническое состояние узла ТОУ: «исправен» - «неисправен», кодируется цифрами «1» - «0».

Поэтому двоичный код получил широкое распространение в цифровых устройствах измерения контроля, управления и автоматизации.

При вводе двоично-кодированной информации в ЭВМ для компактной записи часто используют коды, основание которых являются целой степенью чисел 2:2 3 = 8 (восьмеричный) и 2 4 = 16 (шестнадцатеричный).

Для примера рассмотрим формирование чисел в различных системах счисления (табл.1.1).

Таблица 1.1

Система счисления
Десятичная n = 10 Двоичная n = 2 Восьмеричная n = 8 Шестнадцатеричная n = 16
А
В…F

Рассмотрим двоичные позиционные коды. Среди них широко используются специальные коды: прямой, обратный, дополнительный . Во всех этих кодах введен специальный знаковый разряд.

В прямом коде знак кодируется 0 для положительных и 1 – для отрицательных чисел. Пример 1100 (+12) в прямом коде 0.1100. Прямой код удобен для выполнения операций умножения, т.к. знак произведения получается автоматически. Однако затруднено вычитание. Этот недостаток устраняется применением обратного и дополнительного кодов , отличающихся от прямого способом представления отрицательных чисел. Обратный код отрицательного числа образуется инвертированием всех значащих разрядов (-1100 (– 12) в обратном коде: 1.0011). В дополнительном коде после инвертирования разрядов в младший размер добавляется 1. Пример: - 1100 в дополнительном коде: 1.0100.

В системах и устройствах отображение информации (цифровой индикации) нашли применение двоично-десятичные коды . В этих кодах каждая десятичная цифра представляется четырьмя двоичными (тетрадой).

Системы кодирования в 2-10 кодах показаны в табл.1.2.

Таблица 1.2

Выбор частоты квантования для аналого-цифрового преобразователя (АЦП) . При квантовании и последующем кодировании сигналов, например в случае квантования по времени в виде импульсов, модулированных по амплитуде (рис.1.3, б), дальнейшее преобразование сигналов в АЦП заключается в представлении амплитуды импульсов двоичным кодом. При этом установление частоты квантования усложняется в тех случаях, когда исходный аналоговый сигнал y (f ) является произвольной функцией времени и не поддается аналитическому выражению. Тогда частота квантования определяется на основании теоремы В.А.Котельникова . В этой теореме рассматривается непрерывная функция, имеющая ограниченный спектр частот, т.е. содержит частоты от 0 до f m а x . Такую функцию можно представить с достаточной точностью при помощи чисел, следующих друг за другом через интервалы времени

Следовательно, исходя из формулы (1.4), определяющей шаг квантования, при частоте квантования

Общие сведения

Как известно, для передачи информации ее представляют в форме сообщения, например текста. При этом сообщение формируется из некоторого набора символов (букв). Набор символов, из которого формируется сообщение, называется первичным алфавитом . Первичный алфавит обычно содержит большое число символов, например, в русском языке первичный алфавит составляет 33 символа (буквы). При передаче сообщения на него воздействуют помехи, что приводит к изменению символов сообщения, а поскольку количество символов сравнительно большое и вероятность появления их одинакова, то восстановить исходное сообщение довольно сложно. Поэтому осуществляют переход от первичного алфавита с большим количеством символов к вторичному алфавиту с малым числом символов. Так как количество символов вторичного алфавита меньше, то и восстановить исходное сообщение становится легче. Таким образом, можно сказать, что, вторичный алфавит это набор символов, с помощью которого осуществляется отображение символов первичного алфавита. Процесс перехода от первичного алфавита к его вторичному отображению называется кодированием . Набор элементов и правило, в соответствии с которым осуществляется переход от первичного алфавита ко вторичному отображению называется кодом . В процессе кодирования каждому символу первичного алфавита соответствует некоторый набор символов вторичного алфавита. Последовательность символов вторичного алфавита соответствующая одному символу первичного алфавита называется кодовой комбинацией . Для того чтобы правильно восстановить закодированное исходное сообщение необходимо, чтобы кодовые комбинации различных символов первичного алфавита не повторялись.

Основными задачами кодирования являются повышение помехоустойчивости передаваемых сообщений, удаление избыточности из закодированных сообщений и защита информации от несанкционированного доступа (постороннего прослушивания).

Автоматическое кодирование осуществляется в устройстве называемом кодером , а обратный процесс декодирование происходит в декодере . Устройство, объединяющее кодер и декодер называется кодек .

Система передачи сообщений с кодированием представлена на рисунке 1.

Рисунок 1 - Структурная схема системы передачи с кодированием сигналов

Источник сообщения (ИС) формирует сообщение, которое преобразуется в сигнал в преобразователе сообщения в сигнал (ПСС1). Аналоговый сигнал из ПСС1 поступает в аналого-цифровой преобразователь (АЦП) где аналоговый сигнал преобразуется в цифровой. Цифровой сигнал поступает в кодер источника. В кодере источника из закодированного сообщения удаляют избыточность, что позволяет увеличить скорость передачи информации в канале. Полученная на выходе кодера кодовая последовательность Аi поступает в кодер канала. В кодере канала осуществляется кодирование с целью повышения помехоустойчивости сигнала. Для этого кодирования используются корректирующие (помехоустойчивые) коды. Полученная в кодере канала последовательность Bip поступает в канал связи. Под действием помех N(t), воздействующих в канале возможны искажения принимаемого сигнала, проявляющиеся в изменении элементов кодовой последовательности. Принимаемая из канала последовательность Bip’ поступает в кодер канал. В нем осуществляется декодирование и исправление (коррекция) ошибок. Полученная на выходе последовательность Ai’ поступает в декодер источника, в котором восстанавливается избыточность закодированного сообщения. Затем сигнал поступает в цифро-аналоговый преобразователь (ЦАП), где осуществляется преобразование цифрового сигнала в аналоговый. Затем сигнал поступает в преобразователь сигнала в сообщение (ПСС2), где он преобразуется в форму удобную для получателя. Полученное сообщение воспринимается получателем (ПС).

Параметры кодов

Основание кода (m ) — соответствует количеству элементов, из которых состоит вторичный алфавит, соответствует системе счисления. Например в двоичном коде символы могут принимать два значения «0» и «1» или «.» и «-».

Разрядность кодовой комбинации (n ) — соответствует количеству элементов, из которых состоит кодовая комбинация. Например, для кодовой комбинации 100110 разрядность составляет 6.

Емкость кода (N 0 ) — соответствует количеству возможных кодовых комбинаций при заданном основании и разрядности:

N 0 = m n .

Данный показатель применяют к равномерным кодам.

Количество сообщений, которые необходимо закодировать N а — соответствует количеству символов первичного алфавита. Например для русского алфавита N а = 33.

Для корректирующих кодов вводятся следующие параметры.

Вес кодовой комбинации (W ) — соответствует количеству ненулевых элементов в кодовой комбинации. Например, для кодовой комбинации 11011 вес равен W = 4.

Расстояние Хэмминга (d ij ) — показывает, на сколько разрядов одна кодовая комбинация отличается от другой. Данный параметр определяется как вес кодовой комбинации полученной в результате сложения по модулю два двух рассматриваемых комбинаций

Кодовое расстояние (d 0) — это наименьшее расстояние Хэмминга для заданного кода. Для его определения d 0 производится определение расстояния Хэмминга для всех возможных пар кодовых комбинаций кода, после чего выбирается наименьшее. Например, для кода состоящего из трех кодовых комбинаций 100101, 011010, 100011 кодовое расстояние будет равно

Относительная скорость кода (R к) — показывает относительное число разрешенных комбинаций кода.

R к = log 2 Na / log 2 N 0 .

Избыточность кода (c к ) — показывает относительное число запрещенных комбинации кода.

c к = 1 – R к.

Корректирующая способность кода — определяется кратностями обнаруживаемых (q о ош) и исправляемых (q и ош) ошибок, под которыми понимают гарантированное число обнаруживаемых и исправляемых ошибок в кодовых комбинациях кодом. Например, если q о ош = 1, то код способен обнаружить ошибку в любом разряде принятой комбинации, при условии, что она одна, а если q и ош = 1 то код способен исправить одну ошибку в любом разряде принятой комбинации, при условии, что она одна.

Классификация кодов

Общая классификация кодов представлена схемой (рисунок 2).

Двоичные — это коды, основание которых равно двум (m=2), примерами таких кодов может являться код Морзе, линейный двоичный код.

Многопозиционные — это коды, основание которых больше двух (m>2).

Равномерные — это коды, все кодовые комбинации которых имеют одинаковую разрядность (n=const), примерами таких кодов могут являться циклические коды, МТК-3.

Неравномерные — это коды, кодовые комбинации которых имеют различную разрядность (n?const), примерами таких кодов могут являться код Шеннона-Фано, код Хафмена, код Морзе.

Простые — это коды, в которых все возможные кодовые комбинации используются для передачи сообщения (N 0 =N a). Такие коды не обладают способностью обнаруживать и исправлять ошибки в кодовых комбинациях.

Рисунок 2 - Классификация кодов

Избыточные — это коды, в которых часть кодовых комбинаций используется для передачи сообщений (разрешенные комбинации ), а остальные комбинации не используется для передачи сообщений (запрещенные комбинации ), т. е. у таких кодов N 0 >N a . Такие коды способны обнаруживать и исправлять ошибки в кодовых комбинациях.

Последовательные — это коды, разряды кодовых комбинаций которых передаются последовательно друг за другом. Такие коды используются для передачи сообщений в каналы связи (код Морзе, МТК-3, HDB-3).

Параллельные — это коды, разряды кодовых комбинаций которых передаются одновременно. Такие коды используются в микропроцессорной технике, а также к ним можно отнести многочастотные коды, используемые в координатных АТС.

Отображение логических каналов на физические каналы осуществляется через процессы кодирования и шифрования передаваемых сообщений.

Для защиты логических каналов от ошибок, которые имеют место в процессе передачи, используют три вида кодирования: блочное - для быстрого обнаружения ошибок при приеме; сверхточное - для исправления одиночных ошибок; перемежение - для преобразования пакетов ошибок в одиночные.

Для защиты каналов от подслушивания в каналах связи и управления применяется шифрование.

Для передачи сообщений по физическим каналам используется гауссовская частотная манипуляция с минимальным частотным сдвигом (GMSK).

Модуляция радиосигнала

В стандарте GSM применяется спектрально-эффективная гауссовская частотная манипуляция с минимальным частотным сдвигом (GMSK). Манипуляция называется "гауссовской" потому, что последовательность информационных бит до модулятора проходит через фильтр нижних частот (ФНЧ) с характеристикой Гаусса, что дает значительное уменьшение полосы частот излучаемого радиосигнала. Формирование GMSK радиосигнала осуществляется таким образом, что на интервале одного информационного бита фаза несущей изменяется на 90°. Это наименьшее возможное изменение фазы, распознаваемое при данном типе модуляции. Непрерывное изменение фазы синусоидального сигнала дает в результате частотную модуляцию с дискретным изменением частоты. Применение фильтра Гаусса позволяет при дискретном изменении частоты получить "гладкие переходы". В стандарте GSM применяется GMSK-модуляция с величиной нормированной полосы ВТ - 0,3, где В - ширина полосы фильтра по уровню минус 3 дБ, Т - длительность одного бита цифрового сообщения. Основой формирователя GMSK-сигнала является квадратурный (1/Q) модулятор. Схема состоит из двух умножителей и одного сумматора. Задача этой схемы заключается в том, чтобы обеспечить непрерывную, очень точную фазовую модуляцию. Один умножитель изменяет амплитуду синусоидального, а второй косинусоидального колебания. Входной сигнал до умножителя разбивается на две квадратурные составляющие. Разложение происходит в двух обозначенных "sin" и "cos" блоках.

Модуляцию GMSK отличают следующие свойства, которые предпочтительны для подвижной связи:

    постоянная по уровню огибающая, которая позволяет использовать эффективные передающие устройства с усилителями мощности в режиме класса С;

    компактный спектр на выходе усилителя мощности передающего устройства, обеспечивающий низкий уровень внеполосного излучения;

    хорошие характеристики помехоустойчивости канала связи.

КОДИРОВАНИЕ И ПЕРЕМЕЖЕНИЕ В КАНАЛАХ СВЯЗИ И УПРАВЛЕНИЯ СТАНДАРТА GSM

Общая структурная схема кодирования и перемежения в стандарте GSM

Для защиты от ошибок в радиоканалах подвижной связи GSM PLMN используются сверточное и блочное кодирование с перемежением. Перемежение обеспечивает преобразование пакетов ошибок в одиночные. Сверточное кодирование является мощным средством борьбы с одиночными ошибками. Блочное кодирование, главным образом, используется для обнаружения нескорректированных ошибок.

Блочный код (п, k, t) преобразует k информационных символов в п символов путем добавления символов четности (n-k), а также может корректировать t ошибок символов.

Сверточные коды (СК) относятся к классу непрерывных помехоустойчивых кодов. Одной из основных характеристик СК является величина К, которая называется длиной кодового ограничения, и показывает, на какое максимальное число выходных символов влияет данный информационный символ. Так как сложность декодирования СК по наиболее выгодному, с точки зрения реализации, алгоритму Витерби возрастает экспоненциально с увеличением длины кодового ограничения, то типовые значения К малы и лежат в интервале 3-10. Другой недостаток СК заключается в том, что они не могут обнаруживать ошибки. Поэтому в стандарте GSM для внешнего обнаружения ошибок используется блочный код на основе сверточного кода (2, 1, 5) со скоростью r=1/2. Наибольший выигрыш СК обеспечивает только при одиночных (случайных) ошибках в канале.

В каналах с замираниями, что имеет место в GSM PLMN, необходимо использовать СК совместно с перемежением.

В GSM PLMN основные свойства речевых каналов и каналов управления значительно отличаются друг от друга. Для речевых каналов необходима связь в реальном масштабе времени с короткими задержками при сравнительно низких требованиях к вероятности ошибки в канале. Для каналов управления требуется абсолютная целостность данных и обнаружения ошибок, но допускается более длительное время передачи и задержки.

В соответствии с общей структурой кадров в стандарте GSM передача информационных сообщений и сигналов управления осуществляется в нормальном временном интервале (NB) TDMA кадра. Структура NB (два пакета по 57 информационных бит каждый) требует, чтобы количество кодированных бит m, соответствующих n - некодированным битам в общей схеме кодирования и перемежения, равнялась бы целому числу, кратному 19. Затем эти биты зашифровываются и объединяются в I групп. Количество бит в этих группах также должно равняться 19, I групп переходят в I временных интервалов. Номер I называется степенью перемежения.

В различных логических каналах используются различные сверточные коды, поскольку скорости передачи и требования по защите от ошибок также различны. Для упрощения механизмов кодирования и декодирования для формирования кодов используются только несколько полиномов. Это позволяет использовать сверточный код с одной скоростью г=1/2. Однако, чтобы выполнить требования формирования полноскоростного канала связи, а также привести в соответствие структуру размещения бит со структурой кадров необходима скорость г=244/456=0,535. Для выравнивания скорости в речевом канале до г=1/2 применяют прореживание, то есть периодический пропуск некоторых кодированных символов. Такая операция называется перфорированием, а формируемые таким образом коды называются перфорированными. При приеме декодер, зная алгоритм прореживания, интерполирует принимаемые данные.

При передаче логического быстрого совмещенного канала управления FACCH перфорирование не используется.

Сверточное кодирование и перемежение в полноскоростном речевом канале

Речевой кодек передает каждые 260 бит информационной последовательности со скоростью 13 кбит/с на схему канального кодирования. Первые 182 бита этого кадра, называемые в стандарте GSM битами 1 класса, защищаются с помощью слабого блочного кода для обнаружения ошибок в приемнике.

Кодирование осуществляется следующим образом: биты класса 1 разделяются дополнительно на проверки на четность. Блочный код представляет собой укороченный систематический 50 бит класса 1а и 132 бита класса 1б. Биты класса 1а дополняются тремя битами циклический код (53, 50).

В соответствии с принятым правилом формирования систематического кода, ключ Sw закрыт на время первых пяти-десяти тактовых импульсов, а информационные биты, поступающие на вход кодирующего устройства, одновременно поступают на блок переупорядочения и формирования бит проверки на четность. После пятидесяти тактовых импульсов переключатель Sw срабатывает и биты проверки на четность поступают из кодирующего устройства. На этой стадии проводится первый шаг перемежения. Биты с четными индексами собираются в первой части информационного слова, за которыми следуют три бита проверки на четность. Затем биты с нечетными индексами запоминаются в буферной памяти и переставляются. Далее следуют четыре нулевых бита, которые необходимы для работы кодера, формирующего код, исправляющий случайные ошибки в канале. После чего 189 бит класса 1 кодируются сверточным кодом (2,1,5) со скоростью г=1/2.

После сверточного кодирования общая длина кадра составляет 2х189+78=456 бит. После этого кадр из 456 бит делится на восемь 57 битовых подблоков, которые подвергаются диагональному и внутрикадровому перемежению. Более точно подблоки В0 и В4 формируются в пакеты по 114 бит, которые являются результатом блочно-диагонального перемежения (DI/B). Биты В0 и В4 подблоков попарно перемежаются, образуя процесс внутрикадрового битового перемежения (IBI/B). В результирующий пакет включены два опережающих флага h1, h0, которые используются для классификации различных пакетов передачи.

Кодирование и перемежение в полноскоростном канале

передачи данных

Для повышения эффективности применения сверточного кодирования в полноскоростных каналах передачи данных необходим длительный период перемежения. В этих каналах внутрикадровое перемежение (IВI/В) реализуется для степени перемежения I=19, что приводит к задержке передачи данных на 19х116=2204 бит. Если биты I-го пакета (временного интервала) до перемежения обозначить как С (Km), m=1...116, то схема перемежения, то есть позиции бит после перемежения, определяются следующей формулой:

I (К + j,j + 19t) = С (К, т) для всех К j = m mod 19, t = m mod 6.

Простейшими кодерами/декодерами речи, вообще не использующими информацию о том, как был сформирован кодируемый сигнал, а просто старающимися максимально приблизить восстанавливаемый сигнал по форме к оригиналу, являются кодеры/декодеры формы сигнала . Теоретически они инвариантны к характеру сигнала, подаваемого на их вход, и могут использоваться для кодирования любых, в том числе и неречевых, сигналов. Эти кодеры - самые простые по принципу действия и устройству, но больших степеней сжатия (низких скоростей кода) обеспечить не могут.

Простейшим способом кодирования формы сигнала является так называемая импульсно-кодовая модуляция ИКМ (или PCM – Pulse Code Modulation), при использовании которой производятся просто дискретизация и равномерное квантование входного сигнала, а также преобразование полученного результата в равномерный двоичный код.

Для речевых сигналов со стандартной для передачи речи полосой 0,3 – 3,5 кГц обычно используют частоту дискретизации F дискр ³2F max = 8 кГц. Экспериментально показано, что при равномерном квантовании для получения практически идеального качества речи нужно квантовать сигнал не менее чем на ± 2000 уровней, иными словами, для представления каждого отсчета понадобится 12 бит, а результирующая скорость кода будет составлять

R = 8000 отсчетов/с * 12 бит/отсчет = 96000 бит/с = 96 кбит/с.

Используя неравномерное квантование (более точное для малых уровней сигнала и более грубое для больших его уровней, таким образом, чтобы относительная ошибка квантования была постоянной для всех уровней сигнала ), можно достичь того же самого субъективного качества восстановления речевого сигнала, но при гораздо меньшем числе уровней квантования – порядка ± 128 . В этом случае для двоичного представления отсчетов сигнала понадобится уже 8 бит и результирующая скорость кода составит 64 кбит/с.



С учетом статистических свойств речевого сигнала (вида распределения вероятностей мгновенных значений), а также нелинейных свойств слуха, гораздо лучше различающего слабые звуки, оптимальной является логарифмическая шкала квантования, которая и была принята в качестве стандарта еще в середине 60-х годов и сегодня повсеместно используется. Правда, в США и Европе стандарты нелинейного квантования несколько различаются (m-law companding и A-law compression), что приводит к необходимости перекодирования сигналов.

Таким образом, исходной для любого сравнения эффективности и качества кодирования речевых сигналов может служить скорость кода, равная 64 кбит/с.

Следующим приемом, позволяющим уменьшить результирующую скорость кода, может быть попытка предсказать значение текущего отсчета сигнала по нескольким предыдущим его значениям, и далее, кодирование уже не самого отсчета, а ошибки его предсказания – разницы между истинным значением текущего отсчета и его предсказанным значением . Если точность предсказания достаточно высока, то ошибка предсказания очередного отсчета будет значительно меньше величины самого отсчета и для ее кодирования понадобится гораздо меньшее число бит. Таким образом, чем более предсказуемым будет поведение кодируемого сигнала, тем более эффективным будет его сжатие.

Описанная идея лежит в основе так называемой дифференциальной импульсно-кодовой модуляции - ДИКМ (DPCM ) – способа кодирования, при котором кодируются не сами значения сигнала, а их отличия от некоторым образом предсказанных значений. Простейшим способом предсказания является использование предыдущего отсчета сигнала в качестве предсказания его текущего значения :

x* i = x i –1 , e i = x i - x* I . (8.10)

Это так называемое предсказание нулевого порядка , самое простое, но и наименее точное. Более точным, очевидно, будет предсказание текущего отсчета на основе линейной комбинации двух предшествующих и т.д.:

x* i = å a k x i – k , e i = x i - x* I . (8.11)

К сожалению, точность предсказания не всегда растет с ростом порядка предсказания, поскольку свойства сигнала между отсчетами начинают уже изменяться, поэтому обычно ограничиваются предсказанием не выше 2 – 3-го порядка.

На рис. 8.16 и 8.17 приведены схемы ДИКМ кодера и декодера.

При кодировании речевых сигналов с учетом степени их кратковременной (на несколько очередных отсчетов) предсказуемости результирующая скорость кода для ДИКМ (DPCM ) обычно составляет 5 – 6 бит на отсчет или 40 – 48 кбит/с.

Эффективность ДИКМ может быть несколько повышена, если предсказание и квантование сигнала будет выполняться не на основе некоторых усредненных его характеристик, а с учетом их текущего значения и изменения во времени, то есть адаптивно. Так, если скорость изменения сигнала стала большей, можно увеличить шаг квантования, и, наоборот, если сигнал стал изменяться гораздо медленнее, величину шага квантования можно уменьшить. При этом ошибка предсказания уменьшится и, следовательно, будет кодироваться меньшим числом бит на отсчет. Такой способ кодирования называется адаптивной ДИКМ , или АДИКМ (ADPCM ). Сегодня такой способ кодирования стандартизован и широко используется при сжатии речи в междугородных цифровых системах связи, в системе микросотовой связи DECT , в цифровых бесшнуровых телефонах и т.д. Использование АДИКМ со скоростью кода 4 бита/отсчет или 32 кбит/с обеспечивает такое же субъективное качество речи, что и 64 кбит/с - ИКМ , но при вдвое меньшей скорости кода.

На сегодня стандартизованы также АДИКМ – кодеки для скоростей 40, 24 и 16 кбит/с (в последнем случае с несколько худшим, чем для 32 кбит/с – АДИКМ, качеством сигнала). Таким образом, видно, что сжатие речевых сигналов на основе кодирования их формы обеспечивает в лучшем случае двух - трехкратное уменьшение скорости кода. Дальнейшее снижение скорости ведет к резкому ухудшению качества кодируемого сигнала.

Описанные выше кодеры формы сигнала использовали чисто временной подход к описанию этого сигнала. Однако возможны и другие подходы. Примером может служить так называемое кодирование поддиапазонов (Sub-Band Coding - SBC ), при котором входной сигнал разбивается (или расфильтровывается) на несколько частотных диапазонов (поддиапазонов - sub-bands) и сигнал в каждом из этих поддиапазонов кодируется по отдельности, например, с использованием техники АДИКМ .

Поскольку каждый из частотных поддиапазонов имеет более узкую полосу (все поддиапазоны в сумме дают полосу исходного сигнала), то и частота дискретизации в каждом поддиапазоне также будет меньше. В результате суммарная скорость всех кодов будет по крайней мере не больше, чем скорость кода для исходного сигнала. Однако у такой техники есть определенные преимущества. Дело в том, что субъективная чувствительность слуха к сигналам и их искажениям различна на разных частотах. Она максимальна на частотах 1 - 1,5 кГц и уменьшается на более низких и более высоких частотах. Таким образом, если в диапазоне более высокой чувствительности слуха квантовать сигнал более точно, а в диапазонах низкой чувствительности более грубо, то можно получить выигрыш в результирующей скорости кода. Действительно, при использовании технологии кодирования поддиапазонов получено хорошее качество кодируемой речи при скорости кода 16 – 32 кбит/с. Кодер получается несколько более сложным, чем при простой АДИКМ, однако гораздо проще, нежели для других эффективных способов сжатия речи.

Упрощенная схема подобного кодера (с разбиением на 2 поддиапазона) приведена на рис. 8.18.

Близким к кодированию поддиапазонов является метод сжатия, основанный на применении к сигналу линейных преобразований, к примеру, дискретного косинусного или синусного преобразования. Для кодирования речи используется так называемая технология ATC (Adaptive Transform Coding), при которой сигнал разбивается на блоки, к каждому блоку применяется дискретное косинусное преобразование и полученные коэффициенты адаптивно, в соответствии с характером спектра сигнала, квантуются.

Чем более значимыми являются коэффициенты преобразования, тем большим числом бит они кодируются. Техника очень похожа на JPEG , но применяется к речевым сигналам. Достигаемые при таком кодировании скорости кодов составляют 12 – 16 кбит/с при вполне удовлетворительном качестве сигнала. Широкого распространения для сжатия речи этот метод не получил, поскольку известны гораздо более эффективные и простые в исполнении методы кодирования.

Рис. 8.18. Схема, поясняющая кодирование поддиапазонов

Следующим большим классом кодеров речевых сигналов являются кодеры источника.

Кодирование источника

В отличие от кодеров формы сигнала , вообще не использующих информацию о том, как был сформирован кодируемый сигнал, кодеры источника основываются именно на модели источника и из кодируемого сигнала извлекают информацию о параметрах этой модели. При этом результатом кодирования являются не коды сигналов, а коды параметров источника этих сигналов. Кодеры источника для кодирования речи называются вокодерами (VOice CODERS) и работают примерно следующим образом. Голосообразующий тракт представляется как линейный фильтр с переменными во времени параметрами, возбуждаемый либо источником белого шума (при формировании согласных звуков), либо последовательностями импульсов с периодом основного тона (при формировании гласных звуков) – рис. 8.19 .

Линейная модель системы речеобразования и ее параметры могут быть найдены различными способами. И от того, каким способом они определяются, зависит тип вокодера.

Информация, которую получает вокодер в результате анализа речевого сигнала и передает декодеру, это параметры речеобразующего фильтра, указатель гласный/негласный звук, мощность сигнала возбуждения и период основного тона для гласных звуков . Эти параметры должны обновляться каждые 10 – 20 мс, чтобы отслеживать нестационарность речевого сигнала.

Вокодер, в отличие от кодера формы сигнала, пытается сформировать сигнал, звучащий как оригинальная речь, и не обращает внимания на отличие формы этого сигнала от исходного. При этом результирующая скорость кода на его выходе обычно составляет не более 2,4 кбит/с, то есть в пятнадцать раз меньше, чем при АДИКМ ! К сожалению, качество речи, обеспечиваемой вокодерами, очень далеко от идеального, ее звучание хотя и достаточно разборчиво, но абсолютно ненатурально. При этом даже существенное увеличение скорости кода практически не улучшает качества речи, поскольку для кодирования была выбрана слишком простая модель системы речеобразования. Особенно грубым является предположение о том, что речь состоит лишь из гласных и согласных звуков, не допускающее каких либо промежуточных состояний.

Основное применение вокодеры нашли в военной области, где главное – это не натуральность речи, а большая степень ее сжатия и очень низкая скорость кода, позволяющая эффективно защищать от перехвата и засекречивать передаваемую речь. Кратко рассмотрим основные из известных типов вокодеров.

Канальные вокодеры. Это наиболее древний тип вокодера, предложенный еще в 1939 году. Этот вокодер использует слабую чувствительность слуха человека к незначительным фазовым (временным) сдвигам сигнала.

Для сегментов речи длиной примерно в 20 - 30 мс с помощью набора узкополосных фильтров определяется амплитудный спектр. Чем больше фильтров, тем лучше оценивается спектр, но тем больше нужно бит для его кодирования и тем больше результирующая скорость кода. Сигналы с выходов фильтров детектируются, пропускаются через ФНЧ, дискретизуются и подвергаются двоичному кодированию (рис. 8.20).

Таким образом, определяются медленно изменяющиеся параметры голосообразующего тракта и, кроме того, с помощью детекторов основного тона и гласных звуков, – период основного тона возбуждения и признак - гласный/негласный звук.

Канальный вокодер может быть реализован как в цифровой, так и в аналоговой форме и обеспечивает достаточно разборчивую речь при скорости кода на его выходе порядка 2,4 кбит/с.

Рис. 8.20. Схема начального вокодера

Декодер (рис. 8.21), получив информацию, вырабатываемую кодером, обрабатывает ее в обратном порядке, синтезируя на своем выходе речевой сигнал, в какой-то мере похожий на исходный.

Учитывая простоту модели, трудно ожидать от вокодерного сжатия хорошего качества восстановленной речи. Действительно, канальные вокодеры используются в основном только там, где главным образом необходимы разборчивость и высокая степень сжатия: в военной связи, авиации, космической связи и т.д.

Синтезированная речь

Гомоморфный вокодер. Гомоморфная обработка сигналов представляет собой один из нелинейных методов обработки, который может эффективно применяться к сложным сигналам, например к речевым.

С учетом используемой в вокодерах модели системы голособразования речевой сигнал можно представить как временную свертку импульсной переходной характеристики голосового тракта с сигналом возбуждения. В частотной области это соответствует произведению частотной характеристики голосового тракта и спектра сигнала возбуждения. Наконец, если взять логарифм от этого произведения, то получим сумму логарифмов спектра сигнала возбуждения и частотной характеристики голосового тракта. Поскольку человеческое ухо практически не чувствительно к фазе сигнала, можно оперировать с амплитудными спектрами:

log(|S(e jw)|) = log(|P(e jw)|) + log(|V(e jw)|, (8.12)

где S(e jw) - спектр речи, P(ejw) спектр сигнала возбуждения и V(ejw) - частотная характеристика голосового тракта.

Если теперь выполнить над log(|S(e jw)|) обратное преобразование Фурье (ОПФ ), то получим так называемый кепстр сигнала. Параметры голосового тракта изменяются во времени сравнительно медленно (их спектр находится в области низких частот - НЧ), тогда как сигнал возбуждения – быстроосциллирующая функция (ее спектр сосредоточен в области высоких частот - ВЧ). Поэтому в кепстре речевого сигнала эти составляющие разделяются (рис. 8.22) и могут быть закодированы по отдельности.

Рис. 8.22. Представление речевого сигнала в виде НЧ и ВЧ составляющих

Схема гомоморфного кодера/декодера речи приведена на рис. 8.23, с его использованием можно получить скорость кода порядка 4 кбит/с.

Формантные вокодеры. Как уже отмечалось ранее, основная информация о речевом сигнале содержится в положении и ширине составляющих его формант. Если с высокой точностью определять и кодировать параметры этих формант, можно получить очень низкую результирующую скорость кода – менее 1 кбит/с. К сожалению, сделать это очень трудно, поэтому формантные кодеры речи пока не нашли широкого распространения.

Вокодеры с линейным предсказанием. Вокодеры на основе линейного предсказания используют такую же модель речеобразования, что и остальные из рассмотренных. Что их отличает – это метод определения параметров тракта. Линейные предсказывающие кодеры, или ЛПК, полагают голосовой тракт линейным фильтром с непрерывной импульсной переходной характеристикой, в котором каждое очередное значение сигнала может быть получено как линейная комбинация некоторого числа его предыдущих значений.

Рис. 8.23. Схема гомоморфного кодера/декодера

В ЛПК-вокодере речевой сигнал делится на блоки длиной около 20 мс, для каждого из которых определяются коэффициенты предсказывающего фильтра. Эти коэффициенты квантуются и передаются декодеру. Затем речевой сигнал пропускается через фильтр, частотная характеристика которого обратна частотной характеристике голосового тракта. На выходе фильтра получается ошибка предсказания. Назначение предсказателя – устранить корреляцию между соседними отсчетами сигнала. В результате гораздо отчетливее проявляется долговременная корреляция в сигнале, что позволяет точнее определить частоту основного тона и выделить признак гласный/согласный звук.

Вокодеры на основе линейного предсказания сейчас наиболее популярны, поскольку все используемые ими фильтровые модели речевого тракта работают очень хорошо. Получаемые с их помощью скорости кодов при неплохом качестве речи составляют до 2,4 кбит/с.

В широком смысле под кодированием сигнала понимают процесс преобразования сообщения в сигнал. Как правило, сообщение от источника информации выдается в аналоговой форме, т.е. в виде непрерывного сообщения. Однако как при приеме-передаче информации, так и при ее обработке и хранении значительное преимущество дает дискретная форма представления сигнала. Поэтому в тех случаях, когда исходные сигналы в информационных системах являются непрерывными, необходимо предварительно преобразовать их в дискретные. В связи с этим термин «кодирование» относят обычно к дискретным сигналам и под кодированием в узком смысле понимают представление дискретных сообщений сигналами в виде определенных сочетаний символов. Совокупность правил, в соответствии с которыми производятся эти операции, называется кодом .

Процесс кодирования заключается в представлении сообщений условными комбинациями, составленными из небольшого количества элементарных сигналов (например, посылка и пауза в коде Бодо, «точка» и «тире» в коде Морзе).

В зависимости от целей кодирования различают следующие его виды:

  • кодирование по образцу - используется всякий раз при вводе информации в компьютер для ее внутреннего представления;
  • криптографическое кодирование (шифрование) - используется при необходимости защиты информации от несанкционированного доступа;
  • эффективное (оптимальное) кодирование - используется для устранения избыточности информации, т.е. для снижения ее объема (например, в архиваторах);
  • помехозащитное (помехоустойчивое) кодирование - используется для обеспечения заданной достоверности в случае, когда на сигнал накладывается помеха (например, при передаче информации по каналам связи).

Процесс кодирования информации обеспечивает достижение нескольких целей. Во-первых, сообщения представляют в системе символов, обеспечивающей простоту аппаратной реализации информационных устройств. Задача кодирования сообщений для этого случая представляется как преобразование исходного сообщения в используемую (как правило, двоичную) систему счисления. Число используемых при этом различных элементарных сигналов называется основанием кода, а число элементов, образующих кодовую комбинацию, - значностью кода. Если все комбинации кода имеют одинаковую значность, то такой код называется равномерным, в противном случае - неравномерным. Операция кодирования применяется для цифровых сигналов. Для непрерывных сигналов требуется предварительное преобразование аналогового сигнала в цифровой.

Во-вторых, кодирование используется для наилучшего согласования свойств источника сообщений со свойствами канала связи - оптимальное статистическое кодирование. Под ним понимают коды, которые обеспечивают минимизацию среднего количества кодовых символов на один элемент сообщения.

В-третьих, кодирование позволит уменьшить влияние помех на процесс приема-передачи (помехоустойчивое кодирование).

В-четвертых, кодирование обеспечивает защиту информации от несанкционированного доступа.

Коды как средство тайнописи появились еще в глубокой древности. Например, древнегреческий историк Геродот в V в. до н.э. приводил примеры писем, понятных только адресату. Секретная азбука использовалась и Юлием Цезарем. Над созданием шифров работали такие известные ученые Средневековья, как Ф. Бэкон, Д. Кардано и др.

При кодировании в двоичной системе счисления используют два элементарных сигнала, которые технически легко сформировать. Например, одним элементарным сигналом может быть посылка напряжения или тока, вдвое превышающая помеху, а другим - отсутствие посылки. На рисунке 2.1 показаны преобразования исходного аналогового сигнала: сначала в цифровой, а затем в двоичный код с числом двоичных символов п = 2 (двоичное кодирование).

Рис. 2.1. Двоичное кодирование: а - исходный аналоговый сигнал; б - дискретный по времени и квантованный по уровню цифровой сигнал; в - двоичный код отсчетов с числом двоичных символов п = 2



Загрузка...