Вы находитесь на странице: 1из 17

25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях.

Теория и применение FEC, CRC,…

Главная Техника

Декодирование кодов БЧХ


Пусть с - произвольное кодовое слово некоторого кода БЧХ над полем
GF(q). При передаче кодового слова с через канал связи значение битов
исходного кодового слова может измениться в результате действия помех.
При этом будет получено сообщение v, которое может отличаться от
исходного переданного кодового слова с.

Связь многочлена v(x) принятой последовательности с многочленом с(х)


переданного кодового слова можно записать в виде:

где е{х) - так называемый многочлен ошибок, ненулевые коэффициенты


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

Таким образом, определение многочлена ошибок является основной


задачей декодирования циклического кода. В соответствии с правилами
систематического кодирования циклических кодов (см. подпараграф 2.2.4):

Обозначим многочлен (е(х)) mod (g(x)) через s(x). Многочлен s(x)


Нужна помощь с учебой?
называется синдромным многочленом.
Наши эксперты готовы
помочь!
При небольшой длине циклического кода целесообразно использовать
табличный метод декодирования, схожий с табличным методом
декодирования кодов Хэмминга (см. подпараграф 2.1.7). В этом случае для

https://studref.com/365865/tehnika/dekodirovanie_kodov 1/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

определения многочлена ошибок используется таблица соответствия


значений синдромного многочлена и многочлена ошибок.

При большой длине кодового слова табличный метод декодирования не


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

Рассмотрим q-ичный код БЧХ некоторой длины п с конструктивным


расстоянием с/* = 2-f + 1, который задан корнями порождающего
многочленаg(x) из поля GF(qm).

Пусть при передаче кодового слова этого кода произошли ошибки в


разрядах с номерами U, к.....iv (v < t). Отметим, что элементы ряда U, к.....iv не
следует путать с обозначением соответствующих символов информационной
последовательности i. Этот ряд служит для получения упорядоченной
последовательности номеров ошибочных разрядов кодового слова. Будем
считать, что элементу указанного ряда с наименьшим номером (/1)
соответствует ошибочный разряд кодового слова с наибольшим номером[1].
Пусть, например, при передаче кодового слова некоторого кода БЧХ длины п
> 8 произошли две ошибки, например, в нулевом и седьмом разрядах. В этом
случае v = 2, U = 7, к = 0.

В действительности мы не знаем ни числа ошибок v, ни номеров разрядов,


в которых произошли ошибки. Нам только предстоит это выяснить для
произвольного кода БЧХ и произвольного числа ошибок v < t.

Многочлен ошибок е(х) для ряда U, к.....к ошибочных разрядов может быть

записан следующим образом:

Нужна помощь с учебой?


Если значение а (где а - примитивный элемент поля корней порождающего
Наши эксперты готовы
многочлена) является корнем порождающего многочлена,помочь!
то при подстановке
а в многочлен v(x), согласно соотношению (2.36), получим:

https://studref.com/365865/tehnika/dekodirovanie_kodov 2/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Пусть ik, 1 < к < v - номер одного из ошибочных разрядов кодового слова.
Элемент aik называется локатором ошибок.

Обозначим aik как Xу, где j = к. Обозначим также ненулевые элементы eik
многочлена ошибок е(х) как У/, где) = к = 0,1,..., v. Тогда многочлен е(х) при х
= = а будет иметь вид:

По аналогии многочлен е(х) прих = as может быть записан как:

Будем считать, что если в кодовом слове произошла одна ошибка и


многочлену ошибок соответствует некоторое значение У;Хг, то остальные
значения X, равны нулю. Тогда при отсутствии ошибок X,- = 0 для всех /.

Значение S, = v(d) = е(а) называется компонентой синдрома (а - корень


порождающего многочлена).

Как было сказано в параграфе 2.4, порождающий многочлен кода БЧХ


всегда имеет 2-t корней (где t- число исправляемых кодом ошибок). Поэтому
для любого кода БЧХ можно определить систему, состоящую из 2-t
компонент синдрома:

Значения X/, i = 1,2,..., v (v < t) позволяют определить номера ошибочных


разрядов кодового слова, а значения У, соответствуют значениям ошибок.
Очевидно, что в случае двоичного кода БЧХ ненулевыеНужна
значения У, свсегда
помощь учебой?
равны 1. Наши эксперты готовы
помочь!
Из всех величин, входящих в систему (2.37), заранее известными являются

только значения S,-, i = 1, 2.....2-t компонент синдрома, которые


определяются
https://studref.com/365865/tehnika/dekodirovanie_kodov 3/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

подстановкой корней g(x) в принятый многочлен v(x). Система (2.37) не


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

Обозначим как Л(х) многочлен, корнями которого являются обратные


локаторам ошибок значения X/-1 = а-/:

Многочлен (2.38) называется многочленом локаторов ошибок.

j+у—1—1

Умножим многочлен (2.38) на Ym-Xm и примем х-Хт . Поскольку х = Хт


является корнем уравнения A(jc), то:

Это уравнение может быть переписано следующим образом:

Просуммировав последнее уравнение по т от 1 до v, получим:

Каждое слагаемое полученного равенства соответствует некоторой


компоненте синдрома по аналогии с уравнениями системы (2.37). Поэтому
можно записать:

Нужна помощь с учебой?


Наши эксперты готовы
Или: помочь!

https://studref.com/365865/tehnika/dekodirovanie_kodov 4/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Пусть у = 1,2,.... у. Тогда из уравнения (2.39) можно получить систему


уравнений для определения коэффициентов Х многочлена локаторов
ошибок (2.38). Эта система может быть записана в матричном виде:

Обозначим матрицы системы следующим образом:

Такое обозначение позволяет перейти к компактной форме записи


системы:

В действительности мы не знаем числа v произошедших ошибок. Поэтому

в матричном уравнении (2.41) заменим v переменным параметром ц =


1,2.....v.

Тогда, согласно соотношениям (2.37), (2.39) и (2.40), элементы матрицы М


можно записать как:

Перепишем правую часть последнего равенства, представив YtXe+J'1 в ви-


де xi~' Yt-X,xi~':

Нужна помощь с учебой?


Наши эксперты готовы
помочь!

В соответствии с определением операции произведения матриц, матрицу


М можно представить в виде произведения некоторых матриц А и В. В этом
случае элементы матрицы М будут определяться следующим образом:
https://studref.com/365865/tehnika/dekodirovanie_kodov 5/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

где ац = Х{ 1 - элементы матрицы A, btj = YvXtXt 1 - элементы матрицы В.

Любой столбец матрицы А состоит из степеней 0,1.....ц - 1 одного и того же

элемента. Таким образом, матрица А соответствует транспонированной


матрице Вандермонда (см. приложение 1) с элементами Xt, где i = 0, 1, 2, ...,
д - номер столбца матрицы:

Рассмотрим теперь матрицу В. Согласно приведенному выше


представлению отдельных элементов, эта матрица будет

иметь вид:

Также, согласно правилам матричного умножения, матрицу В можно


представить в виде произведения матриц С и D:

При этом элемент матрицы В будет определяться следующим образом:


Нужна помощь с учебой?
Наши эксперты готовы
помочь!

Матрица D соответствует матрице Вандермонда с элементами Х(, где t = О,

https://studref.com/365865/tehnika/dekodirovanie_kodov 6/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

1,2,ц - номер строки матрицы (см. приложение 1). Тогда D = ATv А = DT

Матрица С - диагональная матрица, элементы которой могут быть


записаны следующим образом:

Также элемент матрицы С может быть записан следующим образом:

где 5 г/с - символ Кронекера, принимающий единичное значение при


совпадении значений его индексов и нулевое значение - во всех остальных
случаях:

Теперь элемент матрицы В можно представить в виде:

Тогда элемент искомой матрицы М может быть записан следующим


образом:

Матрица М является результатом произведения трех рассмотренных выше


матриц: М = A-C-D = А-С-Ат, каждая из которых является квадратной
матрицей. Так как для любой квадратной матрицы А справедливо равенство |
т Нужна помощь с учебой?
А | = | А | и для любых двух квадратных матриц А и В справедливо
Наши эксперты готовы
равенство А-В = = A-B (см. приложение 1), то: помочь!

https://studref.com/365865/tehnika/dekodirovanie_kodov 7/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Так как определитель диагональной матрицы равен произведению всех


диагональных (ненулевых) элементов матрицы, то при д > v определитель
матрицы С будет иметь нулевое значение. При д < v определитель матрицы
С отличен от нуля. Кроме того, по свойствам матрицы Вандермонда, при д <
v определитель отличен от нуля (см. приложение 1). Тогда:

где р - элемент поля GF(qm) корней порождающего многочлена кода.

В соответствии с полученным условием (2.42) можно сформулировать


теорему, которая часто называется центральной теоремой декодирования
кодов БЧХ: матрица М не вырождена (определитель матрицы отличен от
нуля) только в том случае, если размер (порядок) д матрицы меньше или
равен числу v ошибок кодового слова.

Теперь мы можем определить в общем виде один из алгоритмов


декодирования кодов БЧХ (пока считаем, что v < fj-

1. Найти число v ошибок кодового слова как наибольший порядок ц


матрицы М из матричного уравнения (2.41), при котором матрица М не
вырождена.

2. Найти коэффициенты Xj,j =1,2,..., v многочлена локаторов ошибок Л(х)


путем решения матричного уравнения (2.41).

3. Найти корни многочлена локаторов ошибок Л(х).

4. Проверить возможность исправления ошибок.

5. Найти значения локаторов ошибок.

6. Найти значения ошибок (для недвоичного кода).

7. По найденным в пп. 5 и 6 значениям определить многочлен ошибок.


Нужна помощь с учебой?
Наши эксперты готовы
Рассмотрим отдельные пункты описанного алгоритма более подробно.
помочь!

Согласно сформулированной выше в этом подпараграфе центральной


теореме декодирования, число ошибок кодового слова может быть найдено
прямым перебором. Так как корректирующая способность определяется
https://studref.com/365865/tehnika/dekodirovanie_kodov 8/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

заранее заданным значением максимального исправляемого кодом числа


ошибок t, то перебор начинается со значения ц = f. Если для ц = t
определитель матрицы М не равен нулю, то число v ошибок кодового слова
принимается равным I В противном случае значение ц уменьшается на
единицу и определитель матрицы М вычисляется снова. Если определитель
матрицы М равен нулю для всех ц = 1, 2.....t,

то это означает, что кодовое слово принято без ошибок.

Матричное уравнение (2.41) решается методом обратной матрицы:


матрица Л находится как произведение матрицы S и обратной матрицы М~

Корни многочлена Л(х) локаторов ошибок могут быть найдены методом


прямого перебора. Если а - примитивный элемент поля GF(qm) корней
порождающего многочлена кода, то для поиска корней многочлена Л(х)
необходимо проверить максимум qm-1 элементов GF(qm).

Метод прямого перебора для поиска корней многочлена локаторов ошибок


Л(х) известен как процедура Ченя.

Наиболее эффективным с точки зрения машинных алгоритмов является


вычисление значения Л((3) циклическим методом:

На каждой итерации вычисляется значение

Такой метод вычисления значения Л((3) называется методом Горнера.

Примечательно, что в настоящее время никаких более эффективных


альтернатив процедуре Ченя и методу Горнера не найдено. Нахождение
корней уравнений над расширениями конечных полей без прямого перебора
Нужна помощь с учебой?
всех элементов поля расширения - одна из нерешенных задач алгебры.готовы
Наши эксперты
помочь!
Корни многочлена ошибок Л(х) - значения X,"1 = а~1 (по определению
многочлена ошибок). Поэтому значения локаторов ошибок ст1' определяются
как 1/Х/.

https://studref.com/365865/tehnika/dekodirovanie_kodov 9/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

В случае недвоичного кода БЧХ требуется решение системы (2.37) для


определения значений ошибок.

Полученные значения ошибок и локаторов ошибок позволяют получить


многочлен ошибок и далее, основываясь на соотношении (2.36),
восстановить исходное кодовое слово.

Пример 2.4.5. Рассмотрим процесс декодирования кодового слова


двоичного (15,5)-кода БЧХ, исправляющего t = 3 ошибки, из примеров 2.4.1 и
2.4.2.

Пусть при передаче кодового слова с = 110010001111010 произошли две


битовые ошибки и вместо исходного кодового слова с принята
последовательность v = 110000001110010, которой соответствует многочлен
v(x) = х14 + х13 + х6 + х5 + + х4 + х над полем GF(2).

Найдем компоненты синдрома S,- = v(d), i- 1,2,..., 2-t, используя


арифметику поля GF(24), построенного по модулю примитивного многочлена
р(х) = х4 + + х+ 1:

Составим квадратную матрицу компонент синдрома (матрицу М)

Определим число ошибок кодового слова. Для этого найдем определитель


матрицы М для различных значений ц порядка матрицы, начиная с ц = 3:

Определитель матрицы М в этом случае равен 0. Это означает, что число


ошибок кодового слова не равно трем. Уменьшим значение ц на 1:

Нужна помощь с учебой?


Наши эксперты готовы
помочь!
При ц = 2 определитель матрицы М отличен от нуля. Следовательно,
можно утверждать, что при передаче исходного кодового слова произошли
две ошибки. Поэтому дальнейшие вычисления производятся для значения v
= 2.

https://studref.com/365865/tehnika/dekodirovanie_kodov 10/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Для нахождения коэффициентов многочлена локаторов ошибок решим


матричное уравнение (2.41). Для этого найдем обратную матрицу М~ь.

Найдем матрицу коэффициентов многочлена локаторов ошибок:

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

Подставляя последовательно все значения а поля GF(24) в многочлен


локаторов ошибок (процедура Ченя), начиная с i = 0, получим:

Для остальных i значение Л(а ) отлично от нуля. Таким образом, корнями


многочлена Л(х) являются х - а5 и хг = а12 поля GF(24). Проверим разложение
Л(х) по найденным корням:

Так как локаторы ошибок обратны корням многочлена Л(х), то: Xi = 1/а5 = =
а15/а5 - а10 и Хг = 1/а12 = а15/а12 = а3.

Так как степень локатора ошибок соответствует ошибочному разряду


Нужна помощь с учебой?
кодового слова, то можно утверждать, что ошибки произошли в третьем и
Наши эксперты готовы
десятом разрядах кодового слова. Тогда многочлен ошибок будет иметь вид:
помочь!
е(х) = х10 + х3.

Согласно соотношению (2.36),

https://studref.com/365865/tehnika/dekodirovanie_kodov 11/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Полученный многочлен соответствует кодовому слову 110010001111010.

Таким образом, мы обнаружили и исправили две ошибки кодового слова с.

Отметим, что порядок перебора корней не имеет никакого влияния на


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

Пример 2.4.6. Рассмотрим теперь случай, когда число ошибок кодового


слова у превышает максимальное значение t исправляемых кодом ошибок.

Пусть вместо исходного кодового слова с = 110010001111010 принята


последовательностью = 110010000000010 с числом ошибок у = 4.

Определив компоненты синдромов и составив матрицу М по аналогии с


предыдущим примером, получим, что определитель матрицы М не равен
нулю уже при р = 3. Полагая, что р = 3, находим корни многочлена Л(х). В
данном случае ни один элемент поля GF(24) не является корнем многочлена
Л(х). Это свидетельствует о том, что в данном случае ошибки не подлежат
исправлению.

Рассмотренный метод декодирования кодов БЧХ известен как метод


Петер- сона-Горенстейна-Цирлера. Этот метод не отличается скоростью
вычислений, однако является относительно простым для понимания (по
сравнению с другими методами декодирования кодов БЧХ), не требует
хранения в памяти всех возможных синдромов и подходит для программной
реализации на любом языке программирования. Основной объем
Нужна помощь
вычислений рассмотренного метода приходится на нахождение с учебой?
матрицы М-1
Наши эксперты готовы
из матричного уравнения (2.41) путем прямого обращения.
помочь!

Прямое обращение матрицы увеличивает время вычислений. Это


особенно сказывается на времени декодирования кодов большой длины.
Поэтому для вычисления коэффициентов многочлена Л(х) были разработаны
https://studref.com/365865/tehnika/dekodirovanie_kodov 12/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

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


количество необходимых действий. Наиболее известным методом непрямого
вычисления коэффициентов Л(х) является алгоритм Берлекэмпа-Месси [2],
[10], [14].

Алгоритм Берлекэмпа-Месси целесообразно использовать при большом


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

[1] На самом деле эта условность оказывает влияние лишь на порядок записи многочлена ошибок и в
данном случае означает запись в порядке уменьшения степени неопределенной переменной.

Вас заШнтРΜСЂРΜСЃСЃРΜС‚

Актеры советского времени, которые покончили


жизнь самоубийством
TERIOLA

Нужна помощь с учебой?


Наши эксперты готовы
Натуральное средство от трещин и огрубевшейпомочь!
кожи
стоп
EPILPROFI

https://studref.com/365865/tehnika/dekodirovanie_kodov 13/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Актеры, которые напрочь отказывались целоваться в


кадре
STAR NEWS

Пожилой вирусолог назвал средство для иммунитета,


которое лучше вакцины!
B2NEWS.RU

Непростая судьба фельдмаршала Федора фон Бока


VELARIX

Нужна помощь с учебой?


Наши эксперты готовы
помочь!

В Сибири нашли вещество, которое в 700 раз


усиливает иммунитет, снижает ...
B2NEWS.RU

https://studref.com/365865/tehnika/dekodirovanie_kodov 14/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Игра, где вы начинаете жить с нуля на одинокой


планете
XCRAFT

Чем закончилось дело о многомиллионном


наследстве Никиты Джигурды
STARYA

Российские актрисы, которые выглядят круче


голливудских!
STAR NEWS

Нужна помощь с учебой?


Наши эксперты готовы
помочь!

Час назад Путин сообщил невероятно плохую весть


https://studref.com/365865/tehnika/dekodirovanie_kodov 15/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

для всей России


NEWS-SPHERE.COM

Вольф Мессинг пророчит 2021 год «роковым» для


России
NEWS-SPHERE.COM

Целых 13 лет они мучили себя, живя под одной


крышей
STARYA

С этих фоток все угорают не по-детски: вот тебе и


спорт
UNDS
Нужна помощь с учебой?
Наши эксперты готовы
помочь!

https://studref.com/365865/tehnika/dekodirovanie_kodov 16/17
25.12.2021, 17:42 Декодирование кодов БЧХ - Конечные поля в телекоммуникационных приложениях. Теория и применение FEC, CRC,…

Новые правители ФРГ решили поставить крест на


«Северном потоке-2»
NEWS-SPHERE.COM

Вскрытие показало, от чего умер Градский: врачи в


потрясении
NEWS-SPHERE.COM

Нужна помощь с учебой?


Наши эксперты готовы
помочь!

https://studref.com/365865/tehnika/dekodirovanie_kodov 17/17

Вам также может понравиться