
- •190000, Санкт-Петербург, ул. Б. Морская, 67
- •1. Методические указания по подготовке к лабораторной работе
- •1. 1. Структурная схема цифровой системы связи
- •1.6. Методы синхронизации и фазирования в цифровых системах связи
- •2. Порядок выполнения лабораторной работы
- •2.3. После набора контрольного слова необходимо нажать клавишу
- •16. Решить предыдущую задачу 15 при следующих условиях:
- •1. Методические указания по подготовке к лабораторной работе
- •1.1 Информация, сообщение, кодирование, сигнал
- •1.2. Информационные характеристики системы передачи сообщений
- •1.3. Эффективное кодирование дискретных сообщений
- •2. Порядок выполнения лабораторной работы
- •3. Порядок оформления и содержание отчета
- •4. Контрольные вопросы и задачи
- •3. Поясните определение "энтропия". Перечислите свойства энтропии.
- •1. Методические указания по подготовке к лабораторной работе
- •1.1. Принципы помехоустойчивого кодирования
- •1.4. Корректирующие коды Хемминга
- •3. Контрольные вопросы и задачи
- •1. Методические указания по подготовке к лабораторной работе
- •1.1. Классификация корректирующих кодов
- •1.3. Порождающие полиномы циклических кодов
- •1.4. Принципы формирования и обработки разрешенных кодовых комбинаций циклических кодов
- •1.5. Построение порождающих и проверочных матриц циклических кодов
- •1.6. Укороченные циклические коды
- •1.7. Циклические коды Боуза –Чоудхури –Хоквингема
- •1.8. Структурный состав линейных переключательных схем
- •1.10. Деление полиномов на базе лпс
- •1.11. Кодирующее и декодирующее устройства для кода Хемминга (7,4)
- •1.12. Принципы построения декодирующих устройств для циклических кодов с исправлением ошибок
- •2. Порядок выполнения лабораторной работы
- •3. Контрольные вопросы и задания
- •5. Харкевич а. А. Борьба с помехами. М.: Физматиздат, 1963. 276 с.
1.3. Эффективное кодирование дискретных сообщений
Цели эффективного кодирования
Основной целью эффективного (статистического) кодирования яв- ляется преобразование сообщения в сигнал с меньшей, чем у сообще- ния, избыточностью (в пределе – без избыточности). Сигналы без из- быточности имеют максимальную удельную энтропию. Для передачи информации с помощью таких сигналов требуется минимальное коли- чество символов. Поэтому такие коды называют эффективными, а так- же экономными и оптимальными. В результате эффективного кодиро- вания скорость передачи информации по дискретному каналу связи может быть приближена к его пропускной способности. В этом случае говорят о согласовании источника с каналом.
Скорость передачи информации и пропускная способность дискретного канала без помех
Вопросы статистического кодирования сообщений рассмотрим в пред- положении, что передача ведется по каналу связи в отсутствии помех. В этом случае принятый за время T сигнал YT совпадает с переданным
ST, равны их энтропии H(ST) = H(YT) и скорость передачи информации
R lim H (ST ) H1(S ) ,
T
T
(2.13)
где H1(S) – удельная энтропия сигнала; – длительность символов сиг- налов неуправляемого источника ( = const).
При однозначном преобразовании сообщения в сигнал H(XT) = H(ST) и скорость передачи может быть выражена через удельную энтропию H1(X) сообщения:
R lim H (ST ) lim H ( X T ) H1( X ) H ( X ),
T T
(2.14)
T
T
т. е. скорость равняется производительности источника (2.12).
Пропускная способность канала C, характеризующая его потенци- альные возможности, определяется как верхняя граница (или макси- мум) скорости передачи информации R. Для дискретного канала без помех максимальное значение скорости достигается при равновероят- ных и независимых символах сигнала (2.6)
C max R max H1(S ) H1(S )max log mS ,
p ( x)
(2.15)
где ms – алфавит кодера канала (сигнала).
В частности, для двоичного канала ms = 2 и C = 1/ численно совпа-
дают со скоростью манипуляции символов в канале. Полное согласова-
ние источника с каналом достигается при R / C = 1, а качество согласо- вания определяется отношением
R H1(S ) 1 ,
C log mS
S
(2.16)
где s = 1 – H1(S) / log ms – избыточность сигнала по аналогии с (2. 9).
При заданном канале отношение R/C полностью определяется избы-
точностью сигнала и его удельной энтропией H1(S).
Чтобы R / C 1, следует выбирать такой способ кодирования сооб-
щений источника, при котором H1(S) log ms, т. е. в результате коди- рования должна получаться последовательность, составленная из рав- новероятных и независимых символов.
Основная теорема кодирования
Вопрос о возможности передачи информации со скоростью, равной пропускной способности канала без помех, решается положительно при применении безызбыточного кодирования [(2.16) – при s = 0]. Это ут- верждение доказывается одной из основных теорем теории информа-
ции, которая называется теоремой кодирования для источника. Посколь- ку при этом предполагается, что последовательность кодовых символов принимается без ошибок, то эту теорему называют также теоремой ко- дирования для канала без помех.
Одна из возможных формулировок этой теоремы следующая:
Если производительность источника H(X) = C – , где C – пропуск- ная способность канала связи, а > 0 – сколь угодно малая величина, то
существует способ кодирования, обеспечивающий передачу всех сооб- щений, вырабатываемых источником, со скоростью R = H(X) = C – . Если H(X) > C, то длительная передача всех сообщений невозможна. Доказательство этой теоремы можно найти в [3]. Другая формулировка этой теоремы приведена в [1].
Избыточность источника возникает за счет:
неравной вероятности набора символов, составляющих алфавит источника;
зависимости выбора последующего символа от предыдущего (так, в связном русском тексте после гласных не может появиться "Ъ", мала вероятность сочетания более трех согласных подряд и т. п.).
Устранение избыточности достигается следующим образом:
1-й этап – применяется укрупнение алфавита источника для устра- нения статистической связи между соседними символами (кодируются не отдельные буквы, а целые слова текста), при этом уменьшается не- равновероятность букв укрупненного алфавита;
2-й этап – при последующем кодировании используются неравно- мерные коды; при этом наиболее вероятные буквы ранее укрупненного алфавита источника передаются меньшим количеством символов.
Теорема кодирования является теоремой существования, т. е. она доказывает, что оптимальные (эффективные) коды существуют, но не дает указаний о том, как построить такие коды.
В настоящее время разработано большое количество эвристических приемов, позволяющих осуществить статистическое кодирование и най- ти код, близкий к оптимальному. Однако основные свойства и особен- ности, которыми должны обладать такие эффективные коды, следуют из теоремы кодирования.
1. Для обеспечения минимальной средней длины кодового слова из- быточность должна быть сведена к минимуму (желательно к нулю). Для этого эффективный код должен состоять из кодовых слов, в которых все символы равновероятны и статистически независимы. Это позво- ляет уравнять скорость передачи с пропускной способностью канала связи, что и является целью безызбыточного кодирования.
2. Ни одна из кодовых комбинаций не должна получаться из другой, более короткой, путем добавления новых символов. Эффективные коды
не требуют разделительных символов (маркеров) и при этом должно выполняться их однозначное декодирование. Коды, удовлетворяющие этому условию, называются префиксными кодами, так как ни одно кодо- вое слово не является передней частью ("префиксом" – приставкой) дру- гого кодового слова.
3. Эффективные коды являются неравномерными, т. е. для передачи разных символов сообщения mi используются кодовые комбинации раз- ной длины. Наиболее вероятные сообщения кодируются самыми корот-
кими кодовыми словами, вследствие чего средняя длина кодового сло- ва в сообщении уменьшается, что и позволяет решить задачу равенства скорости передачи и пропускной способности канала.
При неравномерном эффективном кодировании средняя длина кодо- вого слова n определяется выражением
mi
n nk p ( xk ),
k 1
(2.17)
где p (xk ) – вероятность появления сообщения (кодового слова), при- чем их сумма равна 1; nk – длина кодовых слов xk (k = 1, 2, ..., mi).
По аналогии с выражением (2.10), где предполагалось применение равномерных кодов с постоянной длиной кодовых слов (n = const), при использовании эффективных неравномерных кодов (n = var) избыточ- ность кода источника
n nmin 1 nmin .
(2.18)
k n n
Очевидно, когда n = nmin, что эквивалентно равенству Hmax(X) = H(X), избыточность кода k равна нулю, и при применении эффективных ко- дов обеспечивается полное согласование источника сообщений с кана-
лом (2.16). При этом энтропия источника H(X) является оценкой сред- него числа n двоичных символов, требуемых для кодирования сообще- ний.
Процедуру построения эффективного кода, близкого к оптимально-
му, предложили практически одновременно Шеннон и Фано (код Шен- нона – Фано). Эта процедура рассмотрена подробно в [1, разд. 3.3].
В данной лабораторной работе студенты знакомятся с процедурой построения эффективных кодов, предложенной Хафменом. При малом алфавите источника и неравновероятных символах xi выгодно кодиро-
вать не отдельные символы, а целые блоки из нескольких символов (букв). В этом студенты убеждаются, исследуя в лабораторной работе метод кодирования Хафмена.
Код Хафмена
Д. А. Хафменом был предложен систематический метод кодирова- ния, который всегда приводит к получению оптимального множества кодовых слов для кодирования данного множества сообщений.
Для дискретных систем с двоичным алфавитом кодера (m = 2) мето- дика построения кода Хафмена сводится к следующей процедуре:
1. Все mi = M сообщений (буквы алфавита источника) выписывают- ся в порядке убывания вероятностей p (xi) (табл. 2.1).
2. Две последние буквы алфавита, имеющие наименьшие вероятнос-
ти p (xМ–1) и p (xM), группируются вместе и объединяются в одну вспо- могательную букву, которой приписывается суммарная вероятность p=
= p (xM–1) + p (xM).
3. Вероятности букв, не участвовавших в объединении, и получен-
ная суммарная вероятность снова располагаются в порядке убывания вероятностей (в следующем столбце табл. 2.1). Объем нового алфавита таким образом уменьшается на единицу: М–1.
4. Производят второе укрупнение алфавита, состоящего уже из М–1 символов, путем объединения двух символов с наименьшими вероят- ностями и вычисляют их общую вероятность. Получают новый алфа- вит объемом М–2.
5. Упорядочивают по вероятности символы этого нового алфавита.
6. Образуют последовательность укрупненных алфавитов путем пос- ледовательного повторения операций пп. 4 и 5, пока в ансамбле не останется единственное сообщение с вероятностью, равной 1 (шаговая процедура, записываемая в столбцах табл. 2.1).
7. Проведя линии, соединяющие символы при последовательном ук- рупнении алфавита, получают так называемое кодовое дерево, концы вет- вей которого являются символами исходного алфавита источника сооб- щений. Приписывая ветвям дерева, исходящим из каждого промежуточ- ного узла, различные символы алфавита кодера (0 или 1), получают кодо- вые слова, соответствующие кодируемым сообщениям источника.
Методика поясняется примером, представленным в табл. 2.1, где для алфавита источника с объемом М = 8 приняты произвольные значения
M
вероятностей p (xi) , но
p ( xi ) 1.
i 1
Таблица
2.1
xi Вероят- ности
p(xi)
Шаговая процедура (кодовое дерево)
1
Кодовые слова
x2 0,081 x3 0,081 x4 0,081 x5 0,009 x6 0,009
x7 0,009 1
x8 0,001
0
0,081
0,081
0,081
0,010
0,009 1
0,009
0
0,081
0,081
0,081
0,018
0,010
0,081
0,081 1
0,081
1
0,028
0
0
0,109
0,0811
0,081
0
0,1621
0,109
001
00011
00010
00001
00000
0,271
011
010
Для составления кодовой комбинации, соответствующей данному сообщению xi , необходимо проследить путь перехода сообщения по строкам и столбцам таблицы. Для наглядности кодовое дерево постро-
ено в поле табл. 2.1. Целесообразно строить кодовое дерево, начиная с первого столбца таблицы, располагая ветви против группируемых по- парно вероятностей p (xi) и соединяя их со значением суммарной веро-
ятности p, располагаемой в следующем столбце. Ветвям с большей
вероятностью присваивается символ 1, а с меньшей – 0 (или наоборот).
Такое последовательное ветвление продолжается до тех пор, пока ветвь не закончится узлом с вероятностью p (xi) каждой буквы алфавита источника. Отдельно кодовое дерево для алфавита источника, рассмат-
риваемого в примере, приведено на рис. 2.2.
Перемещаясь по кодовому дереву сверху вниз, можно записать для каждой буквы алфавита xi соответствующую ей кодовую комбинацию
x1 x2 x3 x4 x5 x6 x7 x8
1 011 010 001 00011 00010 00001 00000
Код Хафмена при любом распределении вероятностей p (xi) дает однозначный ансамбль набора кодовых слов, в то время как при коде Шеннона – Фано на выходной ансамбль кодовых слов влияет субъек-
0
0,729 0,271
x1
0,081
1
0,162
1 0
0
1
0,081 0,081
0,109
0
0,028
x2 x3 x4
1
0,018
0
0
0,010
1 0
0,009 1
0,009
0,001
x5 0,009
x6 x7 x8
Рис. 2.2
тивный выбор границ последовательного разбиения алфавита на две группы [1].
Существенное преимущество кода Хафмена по сравнению с кодом Шеннона – Фано проявляется при применении кодов с основанием большим 2 (М > 2) и заключается в том, что методика Хафмена гаран- тирует однозначное построение кода с наименьшим для данного рас- пределения вероятностей средним количеством символов на букву, что показано в [1, с. 43–46].
Достоинства и недостатки эффективных кодов
Кратко сформулируем перечисленные выше достоинства оптималь- ных эффективных кодов.
1. При эффективном кодировании, учитывающим вероятности по- явления букв алфавита источника сообщений, удается построить коды с максимальной удельной энтропией на символ.
2. Обеспечивается преобразование сообщения в сигнал с меньшей, чем у сообщения избыточностью (в пределе – без избыточности).
3. На передачу сообщения затрачивается минимальное количество символов.
4. Решается задача согласования источника сообщений с каналом связи, в результате чего скорость передачи информации может быть приближена к пропускной способности канала.
5. Не требуется введения специальных разделительных символов (мар- керов), как, например, в коде Морзе для отделения одной кодовой ком-
бинации от другой, так как ни одна комбинация эффективного кода не совпадает с началом другой, более длинной. Такое свойство кода назы- вается "неприводимостью", и коды называются префиксными или кода- ми без запятой.
К недостаткам эффективных кодов можно отнести следующее:
1. Эффективные коды являются неравномерными, т. е. кодовые комбинации имеют различное количество символов. Если линия свя- зи работает с постоянной скоростью передачи, то на выходе кодера необходимо буферное запоминающее устройство (" упругая задерж- ка") для записи в него "пульсирующих" по длительности кодовых групп и последующего считывания в канал символов с постоянной скоростью. Аналогичная "упругая задержка" должна быть и на сто- роне приема.
2. Наибольший эффект оптимальные коды дают при кодировании
исходного сообщения длинными блоками, поскольку при этом достига- ется равновероятность и статистическая независимость блоков. Однако блочное кодирование вызывает необходимость накапливать слова ал- фавита источника, прежде чем поставить им в соответствие определен- ную кодовую группу эффективного кода. Это приводит к большим за- держкам при передаче и приеме сообщений, что затрудняет (или ис- ключает) применение эффективных кодов в системах, работающих в реальном масштабе времени. Эффективное кодирование (кодом Хафме- на) применяется при записи информации на магнитные носители (сис- темы архивации) и в системах факсимильной связи.
3. Существенным недостатком эффективных кодов является то, что они непомехозащищенные. Любая одиночная ошибка при при- еме переводит передаваемую комбинацию в другую, не равную ей по длительности, что влечет за собой неправильное декодирование целого ряда последующих кодовых групп. Такое специфическое вли- яние помех называется "треком ошибок" или пакетом ошибок. В чи- стом виде эффективное кодирование можно применять только для каналов без помех.
Таким образом, непосредственная передача сообщений при приме- нении эффективных кодов по каналу связи с шумами приводит к не- допустимо большим искажениям (потере информации). Однако эф- фективное кодирование, устраняющее статистическую избыточность в передаваемом сообщении, наилучшим образом подготавливает не- прерывную кодовую последовательность, полученную после первич-
ного кодирования сообщений источника, к последующему помехоус- тойчивому кодированию с помощью корректирующих кодов в кодере канала (рис. 2.1). Целенаправленное введение избыточности при по- мехоустойчивом кодировании путем добавления дополнительных про- верочных символов в кодовые информативные группы позволяет при декодировании обнаруживать и исправлять ошибки, вызванные по- мехами.