Концептуальное описание объекта

Концептуальное описание объекта.

 

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

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

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

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

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

Кодирование, с формальной точки зрения, является описанем данных в форме, удобной для использования в информационных системах и сетях. Оно осуществляется на каком-нибудь формальном языке. Этот процесс выполняется с участием программистов либо автоматически. Кодирование, при котором используется код, состоящий из букв, чисел и других знаков алфавита, именуется буквенно-цифровым кодированием. Кодирование может быть побуквеным, пословным. 
Для кодирования информации, представленной аналоговым сигналом, осуществить необходимо квантование и Аналого-Цифровое Преобразование (АЦП). Благодаря этому, получается дискретный сигнал, который представляется кодовыми комбинациями согласно некоторым правилам, называемым системой кодирования. Используемый код зависит от того, какая выполняется задача и какие требования поставлены перед способом представления информации. 
Кодирование широко применяется в информационных сетях. Оно должно быть таким, чтобы обеспечивать максимально возможную скорость обработки данных и передачи данных, защищенность от искажений. С этой целью особо выделяют помехоустойчивое кодирование. 
Широкую известность в сетях получило манчестерское кодирование, обеспечивающее не только передачу данных, но и синхронизацию этой передачи. Процесс, обратный кодированию, именуют декодированием. Изменение кодов осуществляется благодаря перекодированию данных. 
Кодирование в сети осуществляется на различных уровнях. На физическом уровне оно необходимо потому, что абонентские системы работают с двоичными кодами, а в каналах и моноканалах часто используется троичный код. В результате кодирования физический уровень, часто, преобразует два физически раздельных сигнала: данных и синхронизации в единый самосинхронизирующийся поток битов. Для обеспечения безопасности данных осуществляется специальное кодирование, именуемое шифрованием.

 

Построение оптимального помехоустойчивого кода

 

Исходная информация для построения кода:

 

Тип исправляемых ошибок –некореллированные

Кратность исправляемых ошибок – S =1   ;

Объем кода (число кодируемых сообщений) - Q = 35;

 

  1. Расчет числа информационных и избыточных разрядов.

Число информационных и избыточных разрядов определяется из соотношений

 

2k – 1 ≥ Q ;

2n – k – 1 ≥ n ;

n – k ;

где k – число информационных  разрядов ;

       n  - число разрядов помехоустойчивого слова;

      (n – k) – число избыточных разрядов;

отсюда k = 6;  n =10;  n – k = 4;

 

2.Построение таблицы опознавателей ошибок.

 

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

так как  тогда у нас получится код Хэмминга. 

Векторы ошибок

Опознаватели ошибок

 

A10

A9

A8

A7

A6

A5

A4

A3

A2

A1

0

0

0

0

0

0

0

0

0

1

      1010

1

0

0

0

0

0

0

0

0

1

0

      0001

2

0

0

0

0

0

0

0

1

0

0

      0011

3

0

0

0

0

0

0

1

0

0

0

      1000

4

0

0

0

0

0

1

0

0

0

0

      0101

5

0

0

0

0

1

0

0

0

0

0

      0100

6

0

0

0

1

0

0

0

0

0

0

      1011

7

0

0

1

0

0

0

0

0

0

0

      0111

8

0

1

0

0

0

0

0

0

0

0

       0010

9

1

0

0

0

0

0

0

0

0

0

      1001

10


 

2.Построение проверочных равенств.

 

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

Разряды опознавателя  определяются  следующими проверочными равенствами:  

a2 Ú   a3 Ú  a5  Ú a7  Ú  a8 Ú  a10

a1  Ú  a3 Ú  a7  Ú  a8 Ú  a9

a5  Ú  a6 Ú  a8  

a1  Ú  a4 Ú  a7  Ú a10

Запишем  проверочные равенства в виде системы уравнений:

a2  Å  a3 Å   a5 Å   a7 Å  a8 Å  a10 = 0;

a1  Å  a3 Å   a7 Å   a8 Å  a9 = 0;

a5  Å  a6   Å  a8   = 0;

a1   Å a4 Å   a7 Å a10 = 0;

 

4. Построение алгоритма кодирования

Из системы уравнений приведенной выше составим следующее правило кодирования.

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

 

 

 

a2 = a3 Å  a5 Å  a7 Å  a8  Å  a10

a4 = a1 Å  a7 Å  a10

a6 = a5 Å  a8        

a9 = a1 Å a3  Å  a7 Å  a8

5. Таблица кодирования.

 

 

Вход кодера

Выход кодера

000001

000010

000011

000100

000101

000110

000111

001000

001001

001010

001011

001100

001101

001110

001111

010000

010001

010010

010011

010100

010101

010110

010111

011000

011001

011010

011011

011100

011101

011110

011111

100000

100001

100010

100011

0100001001

0100000110

0000001111

0000110010

0100111011

0100110100

0000111101

0101001010

0001000011

0001001100

0101000101

0101111000

0001110001

0001111110

0101110111

0110100010

0010101011

0010100100

0110101101

0110010000

0010011001

0010010110

0110011111

0011101000

0111100001

0111101110

0011100111

0011011010

0111010011

0111011100

0011010101

1000001010

1100100011

1100101100

1000000101


 

                                          

Таблица декодирования

         

0100001001

0100000110

0000001111

0000110010

0100111011

0100110100

0000111101

0101001010

0001000011

0101000101

0101111000

0001110001

0001111110

0101110111

0110100010

0010101011

0010100100

0110101101

0110010000

0010011001

0010010110

0110011111

0011101000

0111100001

0111101110

0011100111

0011011010

0111010011

0111011100

0011010101

1000001010

1100100011

1100101100

1000000101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      00000000000

 

 

 

 

 

 

 

 

 

 

 

 

0100001000

0100000111

0000001110

0000110011

0100111010

0100110101

0000111100

0101001011

0001000010

0101000100

0101111001

0001110000

0001111111

0101110110

0110100011

0010101010

0010100101

0110101100

0110010001

0010011000

0010010111

0110011110

0011101001

0111100000

0111101111

0011100110

0011011011

0111010010

0111011101

0011010100

1000001011

1100100010

1100101101

1000000100

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

  

 

   00000000001

0100001011

0100000100

0000001101

0000110000

0100111001

0100110110

0000111111

0101001000

0001000001

0101000111

0101111010

0001110011

0001111100

0101110101

0110100000

0010101001

0010100110

0110101111

0110010010

0010011011

0010010100

0110011101

0011101010

0111100011

0111101100

0011100101

0011011000

0111010001

0111011110

0011010111

1000001000

1100100001

1100101110

1000000111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  00000000010


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0100001001

0100000010

0000001011

0000110110

0100111111

0100110000

0000111001

0101001110

0001000111

0101000001

0101111100

0001110101

0001111010

0101110011

0110100110

0010101111

0010100000

0110101001

0110010100

0010011101

0010010010

0110011011

0011101100

0111100101

0111101010

0011100011

0011011110

0111010111

0111011000

0011010001

1000001110

1100100111

1100101000

1000000001

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

      00000000100

 

 

 

 

 

 

 

 

 

 

 

 

0100101001

0100100110

0000101111

0000010010

0100011011

0100010100

0000011101

0101101010

0001100011

0101100101

0101011000

0001010001

0001011110

0101010111

0110000010

0010001011

0010000100

0110001101

0110110000

0010111001

0010110110

0110111111

0011001000

0111000001

0111001110

0011000111

0011111010

0111110011

0111111100

0011110101

1000101010

1100000011

1100001100

1000100101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00001000000

0110001001

0110000110

0010001111

0010110010

0110111011

0110110100

0010111101

0111001010

0011000011

0111000101

0111111000

0011110001

0011111110

0111110111

0100100010

0000101011

0000100100

0100101101

0100010000

0000011001

0000010110

0100011111

0001101000

0101100001

0101101110

0001100111

0001011010

0101010011

0101011100

0001010101

1010001010

1110100011

1110101100

1010000101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0010000000


 

 

 

 

 

1.  Отсутствие ошибок в канале связи.

 

а)   010000  [ КОДЕР ]   0110100010  [КАНАЛ СВЯЗИ]  0110100010 [ ДЕКОДЕР ] 010000

                             

б)   001001  [КОДЕР]   0001000011  [КАНАЛ СВЯЗИ] 0001000011 [ДЕКОДЕР] 001001

   

2. Ошибка опознана  и исправлена верно.

 

а)   001011  [ КОДЕР ]   0101000101 [КАНАЛ СВЯЗИ] 0101000001 [ ДЕКОДЕР ] 001011

     Кодирование: находим  в таблице кодирования  кодовое  слово соответствующее входному.

     Искажение помехой:  0000000100

     Декодирование:

0 Å  0 Å  0 Å  1 Å  0 Å  0  =1

             0 Å 0 Å 1 Å  0  =1

             0 Å0  Å 0 =0

             0 Å0 Å 1Å  0 Å  1=0       

   Опознаватель 0011 => вектор  ошибки 0000000100

   Восстановление

         0101000001

   Å   0000000100

         0101000100

Выделение содержимого информационных разрядов 001011

 

б)   001010  [ КОДЕР ]  0001001100 [КАНАЛ СВЯЗИ]  0001011100 [ ДЕКОДЕР ] 001010

       Кодирование: находим  в таблице кодирования  кодовое  слово соответствующее входному.

      Искажение помехой:  0000010000

      Декодирование:

  0  Å 1 Å 1 Å  1 Å  0 Å 0 = 1

              0  Å 1 Å 1 Å   0  = 0

              1  Å 0 Å 0 = 1

              0  Å 1 Å 1 Å  0  Å  0= 0        

Опознаватель 0101 => вектор ошибки 0000010000

Восстановление

      0001011100

 Å  0000010000

      0001001100

Выделение содержимого информационных разрядов 001010

 

3.Ошибка  опознана и исправлена неверно.

 

а)  010001  [ КОДЕР ]   0010101011  [КАНАЛ СВЯЗИ]  0110101111 [ ДЕКОДЕР ] 0110101101

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  0100000100

     Декодирование:

1  Å  1 Å  0 Å  0 Å  1 Å  0  =1

              1  Å  1Å  0 Å  0=0

              0  Å  1 Å  1 = 0

              1  Å  1 Å  0 Å 1 Å 1=0        

Опознаватель 0001 => вектор ошибки 0000000010

Восстановление

       0110101111

   Å 0000000010

       0110101101

Выделение содержимого информационных разрядов 010011

 

б)  011100  [ КОДЕР ]   0011011010  [КАНАЛ СВЯЗИ]  1000100000 [ ДЕКОДЕР ] 1001111010

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  1000100000

     Декодирование:

1 Å  0 Å  1 Å  1 Å  1 Å  1 = 1

              0 Å  0  Å 1 Å  0=1

              0 Å  0 Å  0 =0

              0 Å  0 Å  1Å 0 Å 1=0        

Опознаватель 0011 => вектор ошибки 0000000100

Восстановление

     0101000001

Å  0000000100

     0101000100

Выделение содержимого информационных разрядов 011100

 

4.Ошибка  не опознана.

 

а)   000110  [ КОДЕР ] 0100110100  [КАНАЛ СВЯЗИ] 1110010101   [ ДЕКОДЕР ]  111011

Кодирование: находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  1010100001

     Декодирование:

0 Å  1Å   1Å   0 Å  1 Å  1=0

1 Å  0  Å  0 Å  1= 0

1 Å  0 Å  1 = 0

1 Å  1 Å  0 Å 1Å1= 0

      

Опознаватель 0000 => вектор ошибки 0000000000

Восстановление не требуется.

Выделение содержимого информационных разрядов  111011

 

б)   011010  [ КОДЕР ] 0111101110  [КАНАЛ СВЯЗИ]  0110010000 [ ДЕКОДЕР ]  011100

Кодирование: находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой: 0110010000

     Декодирование:

1Å1Å 1 Å1Å 0 = 0

0 Å 1Å1Å 0 =  0

1 Å 1Å 0 = 0

0 Å  1 Å 1 Å  0 Å 0 = 0     

Опознаватель 0000 => вектор ошибки 0000000000

Восстановление не требуется.

Выделение содержимого информационных разрядов 011100

 

5. Ошибка  только обнаруживается

а) 011101  [ Кодер ]0111010011 [ канал связи ] 1110111111[дешифратор] ошибка

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  1001111111

     Декодирование:

1Å1Å1Å 0 Å 1Å 1=1

1Å 1 Å 0 Å 1=1

1Å 1Å 1=1

1Å1Å 1Å0=1        

 Опознаватель 1111 => вектор ошибки  отсутствует

 Восстановление не требуется.

На выходе дешифратора сигнал ошибки.

б) 000111  [ Кодер ]0000111101 [ канал связи ] 000010100[дешифратор] ошибка

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  0000010101

     Декодирование:

0 Å  0 Å  0 Å  0Å  0=0

0  Å 1 Å  0 Å  0=1

0  Å 1 Å  0 =1

0 Å  0 Å  0 Å  0 Å  0=0        

 Опознаватель 0110 => вектор ошибки  отсутствует

 Восстановление не требуется.

 На выходе дешифратора сигнал  ошибки.

 

Построение неоптимального помехоустойчивого кода.

 

Исходная информация для построения кода:

 

Тип исправляемых ошибок –некореллированные

Кратность исправляемых ошибок – S =1   ;

Объем кода (число кодируемых сообщений) - Q =17;

 n’-n=2

 

  1. Расчет числа информационных и избыточных разрядов.

 

Число информационных и избыточныхразрядов определяется из соотношений

2k – 1 ≥ Q ;

2n – k – 1 ≥ n ;

n – k ;

где k – число информационных  разрядов ;

      n  - число разрядов помехоустойчивого слова;

      (n – k) – число избыточных разрядов;

отсюда k = 5;  n =9;  n – k = 4;

 

2.Построение таблицы  опознавателей ошибок.

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

так как  тогда у нас получится код Хэмминга

А11

А10

A9

A8

A7

A6

A5

A4

A3

A2

A1

Опознаватели

0

0

0

0

0

0

0

0

0

0

1

   000001

0

0

0

0

0

0

0

0

0

1

0

   010100

0

0

0

0

0

0

0

0

1

0

0

   101010

0

0

0

0

0

0

0

1

0

0

0

   000010

0

0

0

0

0

0

1

0

0

0

0

   001001

0

0

0

0

0

1

0

0

0

0

0

   000100

0

0

0

0

1

0

0

0

0

0

0

   011010

0

0

0

1

0

0

0

0

0

0

0

   001000

0

0

1

0

0

0

0

0

0

0

0

   010000

0

1

0

0

0

0

0

0

0

0

0

   100000

1

0

0

0

0

0

0

0

0

0

0

   010001


 

3.Построение проверочных равенств

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

Разряды опознавателя  определяются  следующими проверочными равенствами

а1 Ú  а5 Ú а11 

а3  Ú а4 Ú а7

а2  Ú а6

а3  Ú а5 Ú а7 Ú а8

а2  Ú а7 Ú а9 Ú а11

а3  Ú а10 

Запишем  проверочные равенства в виде системы уравнений:

а1  Å  а5 Å а11 

а3  Å  а4 Å  а7

а2  Å  а6

а3  Å  а5 Å  а7 Å а8

а2  Å  а7 Å  а9 Å а11

а3  Å  а10

 

4.Построение  правила кодирования.

Из системы уравнений приведенной выше составим следующее правило кодирования.

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

а1   = а5  Å а11 

а4   = а3  Å а7

а6   = а2

а8   = а3 Å  а5  Å а7

а9   = а2  Å а7 Å  а11

а10 = а3

 

5.Построение  кодирующей таблицы.

 

000001

00100100010

000010

01010001100

000011

01110101110

000100

00010010001

000101

00110110011

000110

01000011101

000111

01100111111

001000

00111001000

001001

00011101010

001010

01101000100

001011

01001100110

001100

00101011001

001101

00001111011

001110

01111010101

001111

01011110111

010000

10100000001

010001

10000100011


 

 

6.Построение таблицы декодирования.

 

 

00100100010

01010001100

01110101110

00010010001

00110110011

01000011101

01100111111

00111001000

00011101010

01101000100

01001100110

00101011001

00001111011

01111010101

01011110111

10100000001

10000100011

 

 

 

 

 

 

 

 

00000000000

00100100011

01010001101

01110101111

00010010000

00110110010

01000011100

01100111110

00111001001

00011101011

01101000101

01001100111

00101011000

00001111010

01111010100

01011110110

10100000000

10000100010

 

 

 

 

 

 

 

 

00000000001

00100100000

01010001110

01110101100

00010010011

00110110001

01000011111

01100111101

00111001010

00011101000

01101000110

01001100100

00101011011

00001111001

01111010111

01011110101

10100000011

10000100001

 

 

 

 

 

 

 

 

00000000010


 

 

 

 

 

 

 

 

 

 

 

 

00100100110

01010001000

01110101010

00010010101

00110110111

01000011001

01100111011

00111001100

00011101110

01101000000

01001100010

00101011101

00001111111

01111010001

01011110011

10100000101

10000100111

 

 

 

 

 

 

 

 

00000000100

00100101010

01010000100

01110100110

00010011001

00110111011

01000010101

01100110111

00111000000

00011100010

01101001100

01001101110

00101010001

00001110011

01111011101

01011111111

10100001001

10000101011

 

 

 

 

 

 

 

 

00000001000

00100110010

01010011100

01110111110

00010000001

00110100011

01000001101

01100101111

00111011000

00011111010

01101010100

01001110110

00101001001

00001101011

01111000101

01011100111

10100010001

10000110011

 

 

 

 

 

 

 

 

00000010000


 

00100000010

01010101100

01110001110

00010110001

00110010011

01000111101

01100011111

00111101000

00011001010

01101100100

01001000110

00101111001

00001011011

01111110101

01011010111

10100100001

10000000011

 

 

 

 

 

 

 

 

 

 

00000100000

 

00101100010

01011001100

01111101110

00011010001

00111110011

01001011101

01101111111

00110001000

00010101010

01100000100

01000100110

00100011001

00000111011

01110010101

01010110111

10101000001

10001100011

 

 

 

 

 

 

 

 

 

 

00001000000

00110100010

01000001100

01100101110

00000010001

00100110011

01010011101

01110111111

00101001000

00001101010

01111000100

01011100110

00111011001

00011111011

01101010101

01001110111

10110000001

10010100011

 

 

 

 

 

 

 

 

 

 

00010000000


 

00000100010

01110001100

01010101110

00110010001

00010110011

01100011101

01000111111

00011001000

00111101010

01001000100

01101100110

00001011001

00101111011

01011010101

01111110111

10000000001

10000100011

 

 

 

 

 

 

 

 

00100000000

01100100010

00010001100

00110101110

01010010001

01110110011

00000011101

00100111111

01111001000

01011101010

00101000100

00001100110

01101011001

01001111011

00111010101

00011110111

11100000001

11000100011

 

 

 

 

 

 

 

 

01000000000

10100100010

11010001100

11110101110

10010010001

10110110011

11000011101

11100111111

10111001000

10011101010

11101000100

11001100110

10101011001

10001111011

11111010101

11011110111

00100000001

00000100011

 

 

 

 

 

 

 

 

10000000000


 

 

 

Примеры неоптимального кодирования

 
1. Отсутствие  ошибок в канале связи.

 

а)   01100  [ КОДЕР ]   00101011001  [КАНАЛ СВЯЗИ] 00101011001 [ ДЕКОДЕР ] 00110

 

б)   10001  [ КОДЕР ]  10000100011  [КАНАЛ СВЯЗИ] 10000100011 [ ДЕКОДЕР ] 10001

 

2. Ошибка  опознана и исправлена верно.

 

а)   01001  [ КОДЕР ]   00011101010  [КАНАЛ СВЯЗИ] 00011101110 [ ДЕКОДЕР ] 01001

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  0000000100

     Декодирование:

0 Å 0 Å 0 =0

1  Å 1 Å 1=1

1  Å 1 =0

1  Å 0 Å  1 Å  1=1

1 Å  1 Å  0 Å   0 =0

0  Å 1 =1        

 Опознаватель 101010 => вектор ошибки 0000000100

 Восстановление

      00011101110

  Å 00000000100

      00011101010

Выделение содержимого информационных разрядов 01001

 

 

б)   00101  [ КОДЕР ]  00110110011  [КАНАЛ СВЯЗИ] 00111110011 [ ДЕКОДЕР ] 00101

Кодирование: находим в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  00001000000

     Декодирование:

1Å   1 Å  0 =0

0 Å  0 Å  1=1

1  Å 1=0

0 Å  1 Å  1 Å 1=1

1  Å 1 Å  1 Å  0=1

0  Å  0 =0

 

        

 Опознаватель  011010=> вектор  ошибки 00001000000

 Восстановление

    00111110011

Å 00001000000

    00110110011  

Выделение содержимого информационных разрядов 00101

 

 

3. Ошибка  опознана но исправлена неверно.

 

а)1001[Кодер] 100001110  [ канал связи ] 10000110010[декодер] 1010

     Кодирование: находим  в таблице кодирования  кодовое  слово соответствующее входному.

     Искажение помехой: 00000010001

     Декодирование:

0 Å 1 Å 1  =0

0 Å 0 Å  0 =0

1 Å 1 =0

0 Å 0 Å 1 Å 0 =1

0 Å 1Å  0 Å 1 =0

0 Å 0 =0        

 Опознаватель 001000 => вектор ошибки 00010000000

 Восстановление

      10000110010

 Å  00010000000

      10010110010  

Выделение содержимого информационных разрядов 10101

 

б) 00110[кодер] 01000011101[канал связи] 01010010001[ декодер] 00100

   Кодирование: находим в таблице кодирования  кодовое слово соответствующее входному.

   Искажение помехой: 00010001101

   Декодирование:

1Å  1 0 =0

0 Å 0 Å  0=0

0 Å 0=0

1 Å 0 Å 1 Å 0  =0

0 Å 0 Å 0 Å 0  =0

1 Å 0 =1        

 Опознаватель 100000 => вектор ошибки  01000000000

 Восстановление

01010010001

01000000000

00010010001 

Выделение содержимого информационных разрядов 00100

 

4.Ошибка  не обнаруживается.

 

  а) 01110  [ Кодер ] 01111010101 [ канал  связи ] 01011110111[дешифратор] 01111

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

Искажение помехой: 00100100010

Декодирование:

1Å  1Å  0 =0

0 Å 1Å  1=0

1 Å 1 =0

1 Å 1Å  1 Å 1=0

0 Å 1Å  1Å  0=0        

 Опознаватель 000000 => вектор ошибки  00000000000

 Восстановление не требуется.

 

Выделение содержимого информационных разрядов 01111

 

б)  01010  [ Кодер ] 0110100010 [ канал связи ] 00111001000[дешифратор] 01000

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

Искажение помехой: 01010001100

Декодирование:

0 Å 0Å  0 = 0

1 Å 0 Å 1 = 0

0 Å 0 =0

1 Å 0 Å 0 Å 1=0

1 Å  0 Å  1 Å  0 =0

0 Å  0=0       

Опознаватель 000000 => вектор ошибки  00000000000

Восстановление не требуется.

Выделение содержимого информационных разрядов 01000

 

5.Ошибка  только обнаруживается

 

а) 00001 [ Кодер ]00100100010 [ канал связи ] 01000100010[дешифратор] ошибка

     Кодирование : находим  в таблице кодирования  кодовое слово соответствующее входному.

     Искажение помехой:  01100000000

     Декодирование:

0 Å  0 Å  0 =0

0  Å 0 Å  0 =0

1  Å 1 =0

0 Å  0 Å 0 Å  0 =0

0  Å 1 Å  0 Å 0 =1

1  Å 0 =1        

 Опознаватель 110000 => вектор ошибки  отсутствует

 На выходе дешифратора сигнал ошибки.

 

б) 00011  [ Кодер ] 01110101110 [ канал связи ] 01110100111[дешифратор] ошибка

Кодирование : находим в таблице кодирования  кодовое слово соответствующее входному.

Искажение помехой:  0000001001

Декодирование:

1 Å0Å 0=1

0Å1Å0=1

1Å1=0

1Å1Å0Å0=0

1Å1Å0Å0=0

1Å1=0

Опознаватель 000011 => вектор ошибки отсутствует

На выходе дешифратора ошибка

 

Построение группового кода для исправления двукратных ошибок.

 

 

 

Исходная информация для построения кода:

Тип исправляемых ошибок  – некоррелированные

Кратность исправляемых ошибок – S =2   ;

Объем кода (число кодируемых сообщений) - Q =5;

 

1.Расчет числа информационных  и избыточных разрядов.

 

 

 

Число информационных и избыточных разрядов определяется из соотношений

2k – 1 ≥ Q:

2n-k – 1 ≥ n2 + n /2: 

где k – число информационных  разрядов ;

      n  - число разрядов помехоустойчивого слова;

      (n – k) – число избыточных разрядов;

отсюда k = 3;  n =10;  n – k = 7;

 

2.Построение  таблицы опознавателей ошибок.

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

так как  тогда у нас получится код Хэмминга

Вектор ошибки

0000000001

0000000010

0000000100

0000001000

0000010000

0000100000

0001000000

0010000000

0100000000

1000000000

0000000011

0000000101

0000001001

0000010001

0000100001

0001000001

0010000001

0100000001

1000000001

0000000110

0000001010

0000010010

0000100010

0001000010

0010000010

0100000010

1000000010

0000001100

0000010100

0000100100

0001000100

0010000100

0100000100

1000000100

 

Опознаватели

0000001

0000010

0000100

0001000

0001111

0010000

0100000

0110011

1000000

1010101

0000011

0000101

0001001

0001110

0010001

0100001

0110010

1000001

1010100

0000110

0001010

0001101

0010010

0100010

0110001

1000010

1010111

0001100

0001011

0010100

0100100

0110111

1000100

1010001

Вектор

Ошибки

0000011000

0000101000

0001001000

0010001000

0100001000

1000001000

0000110000

0001010000

0010010000

0100010000

1000010000

0001100000

0010100000

0100100000

1000100000

0011000000

0101000000

1001000000

0110000000

1010000000

1100000000

 

Опознаватели

0000111

0011000

0101000

0111011

1001000

1011101

0011111

0101111

0111100

1001111

1011010

0110000

0100011

1010000

1000101

0010011

1100000

1110101

1110011

1100100

0010101

Концептуальное описание объекта