Блочные коды с коррекцией ошибок, страница 7

                                                                     ●

где В(Х) — частное, a S(X) — остаток деления. Следовательно, S(X) является функцией Z(X). Каким же образом полученный результат можно использовать для исправления ошибок? Для ответа на этот вопрос, запишем уравнение ● в развернутой форме:

   



     Видим, что деление Е(Х)/Р(Х) дает тот же остаток, что и Z(X)/P(X). Следовательно, значение синдрома S(X) зависит только от ошибочных битов и не зависит от начальной последовательности битов (переданного значения Т(Х)). Если ошибоч­ные биты Е(Х) можно получить из синдрома S(X), то ошибки в Z(X) можно испра­вить посредством простого сложения:

Z(Х) + Е(Х) = T(Х) + Е(Х) + Е(Х) = Т(Х).

     Поскольку S(X) зависит только от Е(Х), возможности блочного цикличе­ского кода определить очень легко. Синдром состоит из (n-k) бит, следова­тельно, он может принимать 2n-k  возможных значений. Нулевой синдром указывает на отсутствие ошибок. Следовательно, всего можно исправить (2n-k - 1) различных ошибочных комбинаций. Чтобы с помощью кода (n,k) мож­но было исправить все возможные однобитовые ошибки, должно выполнять­ся неравенство n<(2n-k - 1). Исправление всех 1- и 2- битовых ошибок требует выполнения следующего неравенства:

Способ получения Е(Х) из S(X) может зависеть от используемого кода. Наи­более простой подход — построить таблицу, которая ставила бы в соответствие значениям Е(Х) значения S(X). После этого потребуется простой способ выполне­ния поиска в такой таблице.

Коды БХЧ

Коды БХЧ являются одним из наиболее мощных циклических блочных кодов и получили широкое применение в беспроводных приложениях. Для любой пары положительных целых чисел m и t существуют двоичные коды БХЧ (n, к) со сле­дующими параметрами.

Длина блока                                        n = 2m - 1

Количество контрольных битов       n-k < mt

Минимальное расстояние        _   dmin  > 2t + 1

С помощью такого кода можно исправить все слова, содержащие t (или менее) ошибок. Порождающий многочлен кода БХЧ можно создать из множителей по­линома (X2m-1 + 1). Использование кодов БХЧ предоставляет некоторую свободу выбора параметров (длина блока, степень кодирования). В табл. 8.4 перечислены  параметры БХЧ для кодов длиной до 28 - 1. В табл. 8.5 приводятся некоторые порождающие многочлены БХЧ.

Таблица 3  Параметры кодов БХЧ

n      k       t

n      k        t

n       k       t

n        k       t

n        k       t

7      4       1

63    30      6

        24      7

        18     10

        16     11

        10     13

         7      15

127   64    10

         57    11

         50    13

         43    14

         36    15

         29    21

         22    23

         15    27

          8     31

255   207    6

        199     7

        191     8

        187     9

        179    10

        171    11

        163    12

        155    13

        147    14

        139    15

        131    18

        123    19

        115    21

        107    22

255    99    23

          91    25

          87    26

          79    27

          71    29

          63    30

          55    31

          47    42

          45    43

          37    45

          29    47

          21    55

          13    59

            9    63

15    11     1

         7      2

         5      3

31    26     1

        21     2

        16     3

        11     5

127  120    1

        113    2

        106    3

         99     4

         92     5

         85     6

         78     7

         71     9

63     6      7

        57     1

        51     2

        45     3

        39     4

        36     5

255   247   1

         239   2

         231   3

         223   4

         215   5

Таблица 4 Порождающие многочлены кодов БХЧ