Меню

Корреляционный код обнаруживает ошибки

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

Дл
построения кода используется информационная
часть в форме двоичного кода. Каждый
элемент двоичного кода заменяется двумя
символами, причем 1 преобразуется в 10,
а 0 – в 01. Таким образом, двоичный код,
например, 1010011 преобразуется в кодовую
комбинацию корреляционного кода
10011001011010.

Корреляционный
код содержит вдвое больше элементов,
чем исходный. При декодировании ошибка
обнаруживается в том случае, если в
парных элементах содержатся одинаковые
символы, т.е. 11 или 00 (вместо 10 и 01). При
отсутствии искажений вторые (чётные)
элементы отбрасываются, и остается
информационная комбинация.

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

Недостатком
кода является большая избыточность.

19. Инверсный код

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

Правило
образования кода следующее: если в
исходной информационной комбинации
содержится чётное число единиц, то
добавляемые контрольные разряды
повторяют исходную комбинацию, если
нечётное, то в добавляемых разрядах все
0 превращаются в 1, а 1 – в 0, т.е. комбинация
инвертируется по отношению к исходной.
Примеры составления комбинаций инверсного
кода из комбинаций семиразрядного
двоичного кода представлены в табл.
4.12.

 Таблица
4.12

Примеры инверсного кода

Информационные
символы
k

Контрольные

символы
m

              1. Инверсный
                код

n
=
k
+
m

1110001

1111101

1111111

1111100

1110001

1111101

0000000

0000011

11100011110001

1111011111101

11111110000000

11111000000011

Декодирование
инверсного кода при его приёме
осуществляется в два этапа. На первом
этапе суммируются единицы в первой
половине полной кодовой комбинации.
Если сумма единиц
чётная,
то контрольные символы т
принимаются
без изменений, если нечётная, то символы
т
инвертируются.

На
втором этапе контрольные символы т
сравниваются
с символами k,
и при наличии хотя бы одного несовпадения
вся переданная комбинация п = k + m
элементов
бракуется. Это поэлементное сравнение
эквивалентно суммированию по модулю
2. При отсутствии ошибок в обеих половинах
символов полной кодовой комбинации их
сумма равна нулю.

Пусть
передана первая комбинация из табл.
4.12. Ниже показано суммирование для трёх
вариантов приема переданной комбинации:

1)


2)

3)

В
первом варианте искажений нет и число
единиц в информационных символах k
четное, поэтому производится суммирование
по модулю 2 с неинвертируемыми символами
т,
что
в результате дает нулевую сумму. Во
втором варианте число единиц в символах
k
нечётное, единица в пятом разряде
искажена, и символы т
инвертированы.
В третьем варианте искажение возникло
в четвертом разряде группы т.
Таким
образом, из трех вариантов лишь первый
оказался без искажений, а второй и третий
должны быть забракованы из-за наличия
несовпадения в группах символов k
и m.

Корректирующие
возможности инверсного кода достаточно
велики. Этому способствует метод его
построения. Добавление т
символов
приводит к увеличению минимального
кодового расстояния.

После
инвертирования корректирующие возможности
кода изменяются в зависимости от числа
разрядов исходного двоичного кода. Так,
если передаются все комбинации обычного
двоичного кода с k
=
2 (00, 01, 10 и 11), то этот непомехоустойчивый
код, превращаясь в инверсный (0000, 0110,
1001 и 1111), увеличивает минимальное кодовое
расстояние до dmin
=2
и
позволяет обнаруживать все одиночные
ошибки и 67% двойных ошибок.

Действительно,
в каждой комбинации может быть С42
= 6 двойных ошибок: так, комбинация 0000
при двойных ошибках примет вид 1100, 0110,
0011, 1001, 1010 и 0101. При этом только второе и
четвертое искажения не могут быть
обнаружены.

У
трёхразрядного двоичного кода (000, 001,
.. , 111) после преобразования его в инверсный
код кодовое расстояние увеличивается
до dmin=3.
Это значит, что такой код гарантированно
обнаруживает все двойные ошибки. Кроме
того, он обнаруживает 80% тройных и
четверных ошибок и все пяти- и шестикратные
ошибки.

Четырехразрядный
двоичный код (0000, 0001,…. 1111) после
преобразования его в инверсный код
имеет dmin = 4.
Он обнаруживает все ошибки во втором,
третьем, пятом, шестом и седьмом символах,
не обнаруживает 22% четырехкратных ошибок
и совсем не обнаруживает восьмикратные
ошибки.

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

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

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Коды с обнаружением
ошибок
 
 

1.    

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

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

Пример
5.1
.
Построим коды для проверки на четность, где
k

исходные комбинации,
r

контрольные символы.
 

 

k

r

n

11011
0

110110
11100
1

111001

   
Определим, каковы обнаруживающие свойства
этого кода. Вероятность
Poo
обнаружения ошибок будет равна

             

        
Так как вероятность ошибок 


 является
весьма малой величиной, то можно
ограничится                    


Вероятность
появления всевозможных ошибок, как
обнаруживаемых так и не обнаруживаемых,
равна   


, 
где  


  
вероятность отсутствия искажений в кодовой
комбинации. Тогда  


.

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


 Общее
количество комбинаций с обнаруживаемыми и
не обнаруживаемыми ошибками равно 


Тогда
коэффициент обнаружения
Kобн
для кода с четной защитой будет равен


 

Например,
для кода с 
k=5  
и вероятностью ошибки 


   коэффициент
обнаружения составит    


. То есть 90% ошибок
обнаруживаем, при этом избыточность будет
составлять       


 или
17%.
 

  
2.
Код  с 
постоянным   весом.

  
 Этот 
код содержит постоянное число единиц и
нулей. Число кодовых комбинаций составит


Пример 5.2.  Коды с двумя единицами из пяти и
тремя единицами из семи.





 
11000

10010

00101

0000111

1001001

1010100

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

 Рассмотрим
код с тремя единицами из семи. Для этого
кода возможны смещения трех типов.



          
    

           
       

Вероятность появления
не обнаруживаемых ошибок смещения



, где                       



При
p<<1    


, тогда  

Вероятность
появления всевозможных ошибок как
обнаруживаемых, так и не обнаруживаемых
будет составлять


Вероятность
обнаруживаемых ошибок    


. Тогда
коэффициент обнаружения будет равен                  


Например, 
код

   при      


  коэффициент обнаружения составит     

, 
избыточность     
L=27%.
 

  
3.
Корреляционный  код 
(Код  с  удвоением).
Элементы
данного кода заменяются двумя символами,
единица ‘1’ преобразуется в 10, а ноль ‘0’ в
01.

Вместо комбинации 1010011
передается  10011001011010.
Ошибка обнаруживается в том случае, если в
парных элементах будут одинаковые символы
00 или 11 (вместо 01 и 10).

Например,
при
k=5,
n=10 
и вероятности ошибки 


,

.     
Но при этом избыточность будет
составлять 50%.
 

  
4.
Инверсный  код.
К
исходной комбинации добавляется такая же
комбинация по длине. В линию посылается
удвоенное число символов. Если в исходной
комбинации четное число единиц, то
добавляемая комбинация повторяет исходную
комбинацию, если нечетное, то добавляемая
комбинация является инверсной по отношению
к исходной.

k

r

n

11011
11011
1101111011
11100
00011
1110000011

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


Обнаруживающие способности
данного кода достаточно велики. Данный код
обнаруживает практически любые ошибки,
кроме редких ошибок смещения, которые
одновременно происходят как среди
информационных символов, так и среди
соответствующих контрольных. Например, при k=5,  n=10
и      

. Коэффициент обнаружения будет
составлять  

.

  
5.
Код  Грея.

   Код Грея используется для
преобразования угла поворота тела вращения
в код.
Принцип 
работы можно представить по рис.5.2. На 
пластине, которая  вращается  на 
валу, сделаны  отверстия, через 
которые  может 
проходить  свет.
Причём, диск  разбит 
на  сектора, в 
которых  и 
сделаны  эти 
отверстия. При  вращении, свет 
проходит  через 
них, что  приводит 
к срабатыванию фотоприёмников. При
снятии информации в виде двоичных кодов
может произойти существенная ошибка.
Например, возьмем две соседние цифры 7 и 8.
Двоичные коды этих цифр отличаются во всех
разрядах.               

                                     
7       0111  
>  1111

                                     
8       1000 
>  
0000

   
Если ошибка произойдет в старшем разряде,
то это приведет к максимальной ошибке, на 3600.

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

Рис.5.2. Схема съема
информации угла поворота вала в код

                
Код Грея
записывается следующим образом

Номер
Код
Грея

0
0   
0     0    
0

1
0   
0     0    
1

2
0   
0     1    
1

3
0   
0     1    
0

4
0   
1     1    
0

5 0   
1     1    
1

6
0   
1     0    
1

7
0   
1     0    
0

8
1   
1     0     0

9
1   
1     0    
1

10
1   
1     1    
1

11
1   
1     1    
0

12
1   
0     1    
0

13
1   
0     1    
1

14
1   
0     0    
1

15
1   
0     0    
0

   
Разряды
в коде Грея не имеют постоянного веса. Вес
kразряда
определяется следующим образом         



.

При этом все нечетные
единицы, считая слева направо, имеют
положительный вес, а все четные единицы
отрицательный.

Например,   


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

Пусть         


— двоичный  код,           


— код  Грея

Тогда 
переход из двоичного кода 
в код Грея  выполнится
по следующему алгоритму



   

Например,        

.

Обратный переход из кода Грея в
двоичный код




Например,  

.

Hosted by uCoz

Notio.

Подробности
Категория: Учеба

Страница 12 из 15

Идея получения комбинаций корреляционного кода основана на повторной передаче кодовой комбинации некоторого кода, называемого основным кодом.
Таким образом, мощность корреляционного кода равна мощности основного кода. В качестве основного кода можно выбрать любой двоичный код, т.е. код с любым минимальным кодовым расстоянием, и в том числе двоичный безызбыточный код. Рассмотрим, каким образом формируются комбинации корреляционного кода (процедура кодирования).
Допустим, что в качестве основного выбран двоичный 4-элементный безызбыточный код. Вот его две комбинации: №1 => 1001 и №2 => 1011. Для образования комбинаций корреляционного кода каждый элемент основной комбинации отображается двумя элементами, расположенными на «рабочей» и «контрольной» позициях соответственно. На рис. 3.10 показана схема формирования комбинаций корреляционного кода, соответствующих выбранным комбинациям основного кода.

Рис. 3.10. Образование комбинаций корреляционного кода

Как видно по схеме, комбинация на контрольных позициях (помечены буквами «к») является инверсной комбинации на рабочих позициях, помеченных буквой р. Комбинация же на рабочих позициях совпадает с комбинацией основного кода. Если выбранные комбинации №1 и №2 отличаются значением одного элемента, т.е. находятся на расстоянии одного кодового перехода, то полученные комбинации корреляционного кода отличаются уже значениями двух элементов, т.е. минимальное кодовое расстояние равно двум кодовым переходам. Кроме того, комбинации корреляционного кода имеют вдвое больше элементов по сравнению с комбинациями основного кода.
Так как минимальное кодовое расстояние корреляционного кода увеличивается вдвое относительно минимального кодового расстояния основного кода, то корреляционный код приобретает новые свойства в части обнаружения и исправления ошибок.
В частности, корреляционный код с минимальным расстоянием d = 6, состоящий из 12 элементов и полученный двукратной передачей комбинаций кода Хэмминга с d = 3, позволит исправить двойные ошибки и обнаружить три ошибки. Такой вывод вполне согласуется с тем, что при однократной передаче можно исправить одну ошибку, а две ошибки трансформируют передаваемое сообщение.

 Кодирующее устройство для такого корреляционного кода можно получить, добавив по каждому выходу схемы (рис. 3.9) элементы НЕ (всего 6 элементов).
Декодирование корреляционных кодов заключается в выполнении следующих процедур; 1) декодирование комбинаций основного кода; 2) со поставление результата декодирования комбинаций на рабочих позициях с результатом декодирования комбинации на контрольных позициях; 3) принятие решения «разрешение/запрег» на выдачу результата декодирования.
Декодирование комбинаций основного кода ведётся по правилам этого же кода. Процедуры сопоставления результатов декодирования комбинаций на рабочих и контрольных позициях можно описать логической операцией: сумма по mod 2 сигналов с одноимённых выходов основных дешифраторов первого и второго декодирующих устройств. В таком случае защитный отказ от выдачи окончательного результата декодирования возникнет только тогда, когда первое и второе декодирующие устройства выдадут «противоречивые» результаты. Это произойдёт при трёх ошибках (две ошибки в комбинации на рабочих позициях и одна ошибка в комбинации на контрольных позициях).
Корреляционные коды позволяют обнаруживать все ошибки, которые приводят к появлению одинаковых значений элементов на рабочих и «спаренных» с ними контрольных позициях. В таком варианте корреляционные коды используются только для обнаружения ошибок. Максимальная кратность обнаруживаемых ошибок для рассматриваемого корреляционного кода на основе кода Хэмминга с d=3 будет равна шести.
В зарубежной литературе по вопросам передачи информации часто употребляются названия кодов такие, как «NRZ-код», «RZ-код», «код Манчестер» и другие.
Эти названия обусловлены правилами формирования уже закодированных сигналов для их передачи по линиям с временным разделением каналов связи. Именно этот способ разделения каналов используется для повторной (многократной) передачи сигналов. При временном разделении каждый элемент кодовой комбинации (и соответствующий элемент сигнала) передастся на определённой (фиксированной) временной позиции. Длительность временной позиции задаётся генератором тактовой частоты, определяющей скорость передачи информации. Период следования тактовых импульсов (At), как правило, остаётся постоянным и предопределяет длительность одной временной позиции.
Названные коды различаются тем, как используется временная позиция, отведённая для передачи одного элемента (и одного бита информации) кодовых слов. Проиллюстрируем это различие временными диаграммами сигналов, закодированных кодом Хэмминга с d=4, при передаче, например, комбинации 6 (см. табл. 8). Эти диаграммы приведены на рис. 3.11.
Как видно из диаграмм, отличия кодов NRZ и RZ состоят в том, что у кода NRZ элемент кодовой комбинации с признаком «1» передаётся сигналом лог.1 в течение всего такта длительностью At, а у кода RZ в течение полтакта. Таким образом, сигнал передаваемый «кодом» RZ, представляет собой последовательность импульсов, разделённых паузами. При коде же NRZ длительность сигнала лог. 1 может быть произвольной, но кратной длительности такта.

Рис. 3.11. Временные диаграммы сигналов к пояснению кодов NRZ-, RZ- и «Манчестер»

Анализируя диаграмму сигнала кода Манчестер, нетрудно заметить сходство с построением комбинаций корреляционного кода. Действительно, если каждую временную позицию (такт работы системы передачи информации) разделить на две «подпозиции» — рабочую и контрольную, то полученная структура сигнала может быть полностью отображена комбинацией корреляционного кода, рассмотренного выше.
Обратите внимание, на диаграммах рис. 3.11 принято, что сигнал лог.0 отображается отсутствием напряжения либо тока. Если есть возможность, то за сигнал лог.0 следует принять отрицательное напряжение (либо ток), т.е. перейти к использованию полярных признаков. В таком случае можно обеспечить передачу сигналов (и информации) с наибольшей помехоустойчивостью.
Заканчивая рассмотрение корреляционных кодов, следует также отметить, что они применяются для кодирования относительно небольших массивов информации, когда кодовые слова «занимают» не более 2-х…3-х байтов. В противном случае используются циклические либо итеративные коды.

Еще по теме:

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Коррекция ошибок при передаче данных 10 класс видеоурок
  • Коррекция ошибок обусловленных несформированностью лексико грамматической стороны речи выпуск 3