Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
COD_POS_2004.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
316.93 Кб
Скачать

2. Кодирование информации

Информация в широком смысле означает сведения, данные, сообщение, известие и т.д. Как правило, информацию можно представить в виде последовательностей символов или знаков некоторого алфавита. Это так называемый алфавит источника информации. Рассмотрим основные принципы кодирования информации для передачи, хранения и обработки в каналах связи.

2. 1. Основные понятия. Примеры кодов

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

Пусть А = a1,a2,...,am, B=0,1,2,..,p-1, p  2 алфавиты источника сообщений и канала связи (в частности p=2) соответственно.Тогда общую схему передачи дискретной информации (СПДИ) можно представить в виде:

шум

Источник

сообщений

Кодер

Канал

Декодер

Адресат

u=u1u2 ...uk x=x1x2...xn x'= x1'x2 '... xl ' u=u1u2 ...uk

Здесь u=u1u2 ...uk - так называемое информационное слово, ukA, x=x1x2...xn- кодовое слово, xnB, x '= x1'x2 '... xl ' - искажённое слово под воздействия шума (для простоты изложения предполагаем, что xl1  B, хотя на практике возможно случай когда xl1  B, для конкретного или для всех l. Кодовое слово х иначе называют сигналом (изменение некоторой физической величины во времени, обеспечивающее передачу информации, называется сигналом, например, для радио сигналами являются электромагнитные колебания). В дальнейшем множество всех кодовых слов также назовём кодом.

Кодирование назовём побуквенным или блочным, если каждой букве или соответственно каждому блоку из А ставится в соответствие некоторое слово из букв В.

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

Кодирование называется р-ичным кодированием, если  В  = р. В данном разделе рассматриваются лишь двоичные кодирования, т.е. р=2,

В= 0,1 . Приведём некоторые примеры.

1. Пусть А=0 , 1 , 2 , 3 , . . ., В= 0,1 . Рассмотрим кодирование С множества натуральных чисел, при котором числу i = 0 ставится в соответствие кодовое слово х = 0, а числу i  1 - такое кодовое слово

х = х1 х2 . . . хm, хm  0,1 , х1 = 1,

что m

 х j 2 m - j = k . ( 1 )

j = 1

Так, например, числу i = 13 соответствует кодовое слово х = 1101 длины m = 4.

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

2. Рассмотрим пример равномерного кодирования С k первых 2 k натуральных чисел.

Числу i=0 сопоставим кодовое слово у = 00...0 длины k, а каждому числу i  1 - кодовое слово у = 0 k - m х 1 . . . х m, где х 1 , . . . , х m определяются соотношением ( 1 ).

Так, например, при k = 6 ( 0  i <2 6 ) числу i =13 сопоставляется кодовое слово х=001101.

Данное кодирование С k представляет собой перевод натуральных чисел в двоичную систему счисления с помощью k цифр и является примером равномерного кодирования, так как кодовые слова имеют равные длины.

3. Код С 0 с проверкой на четность.

Каждому информационному слову u=u1 u 2 ...u k , u k  0,1  сопоставим кодовое слово x=x 1 x 2 . . . x n , n = k +1, для которого

x n = x 1 + x 2 + . . . + x k , x i=u i , i = 1 , n ,

где + - сложение по модулю 2.

Так, например, при n=3 имеем следующие кодовые слова С 0, все слова которого содержат чётное число единиц:

u 1 u 2 u 3 x 1 x 2 x 3 x 4

0 0 0 0 0 0 0

0 0 1 0 0 1 1

0 1 0 0 1 0 1

0 1 1 0 1 1 0

1 0 0 1 0 0 1

1 0 1 1 0 1 0

1 1 0 1 1 0 0

1 1 1 1 1 1 1

4. Код С 1 с повторениями.

При данном способе кодирования сообщений информационный символ u i повторяется n раз ( обычно n нечётно ).

Так, например, если u i 0,1, то код С 1 состоит всего лишь из двух кодовых слов длины n:

С 1 =  0 0 . . . 0 , 1 1 . . . 1.

5. Код Wn Варшамова.

Пусть В =  0 , 1 , . . . , р - 1 - алфавит канала, a - произвольное целое число, n - длина кодового слова х = х1х2 . . .х n , х n В.

Множество Wn всех слов х = х1х2 . . .х n , для которых выполняется сравнение

n

W =  i x i  a ( mod n + 1),

i = 1

образует код Варшамова, т.е. n

Wn =  х1х2 . . .х n  W =  i x i  a ( mod n + 1), х n В , a  .

i = 1

Так, в частности, при р =3, n = 4, a = 0 из указанного сравнения получаем код W4 , состоящих из 17 следующих кодовых слов:

0 0 0 0 1 1 1 1 0 2 1 2

1 0 0 1 2 1 2 0 0 2 2 0

0 1 1 0 0 0 2 1 2 2 2 2

1 2 0 0 2 0 0 2 2 1 1 2

2 0 1 0 0 1 0 2 1 2 2 1

2 2 0 1 1 0 2 2

Код W4 является 3 -ичным равномерным нелинейным кодом.

6. Код М Морзе.

Для кода М алфавитом А сообщений служат буквы немецкого алфавита и десятичные цифры, а алфавитом канала является В =  . , _ ,  , где  - пустой символ . Код М является примером побуквенного кодирования.

Так, например, букве А соответствует кодовое слово . _ , а цифре 6 - слово _ . . . . . и т.д. Код М также является неравномерным кодом. Если установить дополнительное соответствие

. 0 1,

_ 0 1 1,

 0 0 0 ,

то код М можно рассматривать как двоичный неравномерный код.

Из приведённых выше примеров следует, что С k , С 0 , С 1 ,Wn являются равномерными кодами, а С и М - неравномерными. Все они, кроме Wn, двоичные коды.

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

Рассмотрим основные виды преобразований кодовых слов ( сигналов ), называемых канальными ошибками.

І. Симметричные ошибки. Это такие ошибки, при которых вероятности изменения каждого канального символа равны между собой. Тогда соответствующий канал называется симметричным каналом. Примером такого канала является двоичный симметричный канал ( ДСК ):

0 1 - р 0

р р

1 1 - р 1

Здесь с вероятностью р ( 0  р 0.5) двоичный символ 0 переходит в двоичный символ 1: 0 1, а символ 1 - в 0:1 0 .Ошибки указанного типа  0 1 , 1 0  иначе называют аддитивными ошибками или ошибками типа замещения.

Симметричные ошибки типов выпадения ( или стирания ) и вставки имеют соответственно вид:0  , 1  ,  0 ,  1 , где  - пустой символ.

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

Так, например, при асимметричной ошибке типа  1 0  происходит замена 1 на 0 с некоторой вероятностью р, но не наоборот. Такие ошибки возникают в результате размыканий в канале, ибо при размыкании сигнал может лишь исчезнуть.

Аналогично можно рассматривать асимметричные ошибки видов:

 0 1 , 1 0  , 0   , 1  ,  0  ,  1.

ІІІ. Арифметические ошибки вида + 2i ( -2i ). Это такие ошибки, при которых числовое значение искажённого сигнала на 2i больше ( соответственно меньше ) числового значения самого сигнала. Такие ошибки могут возникнуть при выполнении арифметических и логических операций, выполняемых в ЭВМ.

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

2.1.1. Построить соответствующие 3-ичные коды, аналогично кодам С и С k . _

2.1.2. Построить код С 0 с проверкой на нечётность длины n.

2.1.3. Построить р - ичный код С 1 с повторениями длины n.

2.1.4. Построить двоичный код Варшамова W5.

2.1.5. Построить 3 - ичный код Морзе.

2.1.6. Разработать алгоритмы декодирования кодов С , С k и W n.

2.1.7. Определить мощность двоичного кода Варшамова W n.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]