вычислитель ошибок помехоустойчивого декодера

Классы МПК:H03M13/51 постоянно взвешенные коды; n из m коды; коды Бергера
Автор(ы):,
Патентообладатель(и):Курский государственный технический университет
Приоритеты:
подача заявки:
1999-06-15
публикация патента:

Изобретение относится к автоматике и вычислительной технике и может найти применение при построении аппаратуры передачи и обработки цифровой информации, в устройствах декодирования кода Рида Соломона (далее РС-кода). Используется совмещение процедуры нахождения корней полинома локаторов ошибок с пошаговым методом декодирования циклических кодов, причем в каждом такте декодирования совмещены процедуры классификации типов ошибок, локализации ошибки и вычисления ее значения. Техническим результатом является то, что введенный в кодовое слово дополнительный символ проверки на четность позволяет распознать ситуацию, при которой требуется отмена неправильной коррекции трех неисправимых ошибочных символов. 3 ил.
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5

Формула изобретения

Вычислитель ошибок помехоустойчивого декодера, содержащий вычислитель синдромов S1-S4, первый выход которого соединен с первым и восьмым входами первого блока сумматоров и вторым входом второго блока элементов И, выход которого соединен со вторым входом второго сумматора, выход которого является сигналом коррекции ошибки Y, первый выход первого блока сумматоров соединен с первым входом первого перемножителя, выход которого соединен с первым входом первого сумматора, выход которого соединен со входом элемента ИЛИ-НЕ, выход которого соединен с первым входом первого элемента И и первым входом второго блока элементов И, второй выход первого блока сумматоров соединен со входом квадратора, выход которого соединен со вторым входом первого сумматора и первым входом второго перемножителя, выход которого соединен с первым входом первого блока элементов И, выход которого соединен с первым входом второго сумматора, третий выход первого блока сумматоров соединен со вторым входом первого перемножителя, четвертый выход первого блока сумматоров соединен со входом преобразователя кода и входом элемента ИЛИ, выход которого соединен со вторым входом первого элемента И, выход которого соединен со вторым входом первого блока элементов И, выход преобразователя кода соединен со вторым входом второго перемножителя, кроме того, принятое кодовое слово с возможными ошибками поступает на вход вычислителя синдромов S1-S4 (37), отличающийся тем, что дополнительно введены вычислитель дополнительного синдрома SO, выход которого соединен со входом блока компараторов Soвычислитель ошибок помехоустойчивого декодера, патент № 21521300, третьим входом второго блока сумматоров и первым входом блока компараторов Soвычислитель ошибок помехоустойчивого декодера, патент № 2152130Sфо, выход которого соединен со вторым входом блока комбинационной схемы 1 и третьим входом блока комбинационной схемы 3, выход которого соединен со вторым входом третьего элемента И и вторым входом третьего блока элементов И, выход которого соединен со вторым входом второго блока сумматоров, выход которого соединен со вторым входом блока элементов ИЛИ, выход которого соединен с третьим входом блока выходного двухпортового ОЗУ, выход которого является выходом устройства, первый вход второго блока сумматоров соединен с выходом блока входного двухпортового ОЗУ, блок входного двухпортового ОЗУ, на четвертый вход которого, являющийся входом устройства, поступает исходное кодовое слово с возможными ошибками, выход входного двухпортового ОЗУ соединен с первым входом блока сумматоров с сигналом разрешения, выход которого соединен с первым входом блока элементов ИЛИ, блок компараторов "все Si=0", причем первый выход вычислителя синдромов S1-S4 соединен с первым входом блока компараторов "все Si = 0", второй выход, соответственно, со вторым входом, третий - с третьим, четвертый - с четвертым, на вход вычислителя дополнительного синдрома S0 поступает кодовое слово с возможными ошибками, выход блока компараторов "все Si = 0" соединен с первым входом блоком комбинационной схемы 2, выход которого соединен с первым входом третьего элемента И, выход которого соединен с четвертым входом второго блока сумматоров, блок компаратора "Y = 0", причем выход второго сумматора соединен со вторым входом блока компаратора "Y = 0", третьим входом блока накапливающего сумматора Sфо и вторым входом блока сумматоров с сигналом разрешения, причем сигнал синхронизации от внешнего источника поступает на первый вход блока компаратора "Y = 0", третий вход входного двухпортового ОЗУ, второй вход счетчика символов кодового слова, второй вход второго элемента И, второй вход блока накапливающего сумматора Sфо, четвертый вход блока входного двухпортового ОЗУ, выход блока компаратора "Y = 0" соединен со вторым входом счетчика числа ненулевых коррекций ошибок, выход которого соединен с первым входом блока комбинационной схемы 4, четвертым входом блока комбинационной схемы 3, первым входом блока комбинационной схемы 1, первым входом блока комбинационной схемы 5, выход которого соединен с первым входом RS-триггера, выход которого соединен с первым входом блока комбинационной схемы 3 и третьим входом блока комбинационной схемы 1, выход которого является выходом устройства (сигнал "отказ" от декодирования), первый выход счетчика символов кодового слова соединен со вторым входом блока входного двухпортового ОЗУ и вторым входом блока выходного двухпортового ОЗУ, второй выход счетчика символов кодового слова соединен с первым входом блока входного двухпортового ОЗУ, первым входом блока выходного двухпортового ОЗУ и входом блока компаратора "r = n", выход которого соединен с третьим входом блока сумматоров с сигналом разрешения, вторым входом блока комбинационной схемы 5, третьим входом блока комбинационной схемы 2, вторым входом блока комбинационной схемы 3, вторым входом блока комбинационной схемы 4, четвертым входом блока комбинационной схемы 1, первым входом второго элемента ИЛИ, выход которого соединен с первым входом второго элемента И, выход которого соединен с первым входом счетчика числа ненулевых коррекций ошибок, вторым входом RS-триггера, первым входом блока накапливающего сумматора Sфо, выход которого соединен со вторым входом блока компараторов So = Sфо и первым входом третьего блока элементов И, причем выход элемента ИЛИ-НЕ соединен с третьим входом блока комбинационной схемы 5, выход блока комбинационной схемы 4 является выходом устройства (сигнал "неиспр."), выход блока компараторов Sо = 0 соединен со вторым входом блока комбинационной схемы 2, причем на первый вход счетчика символов кодового слова и на второй вход второго элемента ИЛИ поступает от внешнего источника сигнал запуска устройства ("start").

Описание изобретения к патенту

Изобретение относится к автоматике и вычислительной технике и может найти применение при построении аппаратуры пере дачи и обработки цифровой информации, в устройствах декодирования кода Рида Соломона (далее PC-кода).

Известно устройство "Вычислитель ошибок помехоустойчивого декодера" (патент Великобритании N 2079993, кл. G 06 F 11/08, 1983). Его недостатки - сложность реализации и недостаточно высокая вероятность безошибочного декодирования, объясняемая тем, что невозможно гарантированное обнаружение более двух ошибок.

Наиболее близким к предлагаемому устройству по технической сущности является вычислитель ошибок помехоустойчивого декодера. Данный вычислитель содержит три блока сумматоров, два перемножителя, один квадратор, один преобразователь кода, два элемента ИЛИ, один элемент ИЛИ-НЕ, три элемента И (а. с. 1295532 A1 СССР, МКИ4 H 03 M 13/02, G 06 F 11/00, опубл. 07.03.87 г., БИ N 9).

Недостатком данного устройства является недостаточно высокая вероятность безошибочного декодирования, объясняемая тем, что невозможно гарантированное обнаружение более двух ошибок.

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

Техническая задача решается тем, что в вычислитель ошибок помехоустойчивого декодера, содержащий вычислитель синдромов S1-S4, первый выход которого соединен с первым и восьмым входами первого блока сумматоров и вторым входом второго блока элементов И, выход которого соединен со вторым входом второго сумматора, выход которого является сигналом коррекции ошибки Y, первый выход первого блока сумматоров соединен с первым входом первого перемножителя, выход которого соединен с первым входом первого сумматора, выход которого соединен со входом элемента ИЛИ-НЕ, выход которого соединен с первым входом первого элемента И и первым входом второго блока элементов И, второй выход первого блока сумматоров соединен со входом квадратора, выход которого соединен со вторым входом первого сумматора и первым входом второго перемножителя, выход которого соединен с первым входом первого блока элементов И, выход которого соединен с первым входом второго сумматора, третий выход первого блока сумматоров соединен со вторым входом первого перемножителя, четвертый выход первого блока сумматоров соединен со входом преобразователя кода и входом элемента ИЛИ, выход которого соединен со вторым входом первого элемента И, выход которого соединен со вторым входом первого блока элементов И, выход преобразователя кода соединен со вторым входом второго перемножителя, кроме того, принятое кодовое слово с возможными ошибками поступает на вход вычислителя синдромов S1-S4 (37) введены

(((Q = 1) & (p=1)) вычислитель ошибок помехоустойчивого декодера, патент № 2152130 ((Q = 2) & (S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0)) вычислитель ошибок помехоустойчивого декодера, патент № 2152130 ((Q=1)& (вес S = 0))) & (r=n) (6)

(все S = 0) & (S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0) & (r=n) (7)

(Q = 1) & (p = 0) & (S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0) & (r = n) (8)

(Q > 2)& (r=n) (9)

(Q=1) & (вычислитель ошибок помехоустойчивого декодера, патент № 21521302 =0) & (r < n) (10)

вычислитель дополнительного синдрома S0, выход которого соединен со входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0, третьим входом второго блока сумматоров и первым входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0, выход которого соединен со вторым входом блока комбинационной схемы, реализующей формулу 6, и третьим входом блока комбинационной схемы, реализующей формулу 8, выход которого соединен со вторым входом третьего элемента И и вторым входом третьего блока элементов И, выход которого соединен со вторым входом второго блока сумматоров, выход которого соединен со вторым входом блока элементов ИЛИ, выход которого соединен с третьим входом блока выходного двухпортового ОЗУ, выход которого является выходом устройства (т.е. это кодовое слово после обработки декодером, адресные входы ОЗУ для посимвольный выборки данных этого кодового слова на схеме не показаны), первый вход второго блока сумматоров соединен с выходом блока входного двухпортового ОЗУ, блок входного двухпортового ОЗУ, на четвертый вход которого, являющийся входом устройства, поступает исходное кодовое слово с возможными ошибками, выход входного двухпортового ОЗУ соединен с первым входом блока сумматоров с сигналом разрешения (ненулевых значений на выходе), выход которого соединен с первым входом блока элементов ИЛИ, блок компараторов "все Si= 0"", причем первый выход вычислителя синдромов S1-S4 соединен с первым входом блока компараторов "все Si=0"", второй выход - соответственно со вторым входом, третий - с третьим, четвертый - с четвертым, на вход вычислителя дополнительного синдрома S0 поступает кодовое слово с возможными ошибками, выход блока компараторов "все Si=0" соединен с первым входом блока комбинационной схемы, реализующей формулу 7, выход которого соединен с первым входом третьего элемента И, выход которого соединен с четвертым входом второго блока сумматоров, блок компаратора "Y=0", причем выход второго сумматора соединен со вторым входом блока компаратора "Y=0", третьим входом блока накапливающего сумматора Sф0 и вторым входом блока сумматоров с сигналом разрешения, причем сигнал синхронизации от внешнего источника поступает на первый вход блока компаратора "Y=0", третий вход входного двухпортового ОЗУ, второй вход счетчика символов кодового слова (по модулю длины кодового слова, старший разряд счетчика используется для переключения банков двухпортовых ОЗУ), второй вход второго элемента И, второй вход блока накапливающего сумматора Sф0, четвертый вход блока входного двухпортового ОЗУ, выход блока компаратора "Y=0" соединен со вторым входом счетчика числа ненулевых коррекций ошибок, выход которого соединен с первым входом блока комбинационной схемы, реализующей формулу 9, четвертым входом блока комбинационной схемы, реализующей формулу 8, первым входом блока комбинационной схемы, реализующей формулу 6, первым входом блока комбинационной схемы, реализующей формулу 10, выход которого соединен с первым входом RS-триггера, выход которого соединен с первым входом блока комбинационной схемы, реализующей формулу 8, и третьим входом блока комбинационной схемы, реализующей формулу 6, выход которого является выходом устройства и говорит о невозможности исправления ошибки в принятом кодовом слове (сигнал "отказ" от декодирования), первый выход счетчика символов кодового слова соединен со вторым входом блока входного двухпортового ОЗУ и вторым входом блока выходного двухпортового ОЗУ, второй выход счетчика символов кодового слова соединен с первым входом блока входного двухпортового ОЗУ, первым входом блока выходного двухпортового ОЗУ и входом блока компаратора "r=n", выход которого соединен с третьим входом блока сумматоров с сигналом разрешения, вторым входом блока комбинационной схемы, реализующей формулу 10, третьим входом блока комбинационной схемы, реализующей формулу 7, вторым входом блока комбинационной схемы, реализующей формулу 8, вторым входом блока комбинационной схемы, реализующей формулу 9, четвертым входом блока комбинационной схемы, реализующей формулу 6, первым входом второго элемента ИЛИ, выход которого соединен с первым входом второго элемента И, выход которого соединен с первым входом счетчика числа ненулевых коррекций ошибок, вторым входом RS-триггера, первым входом блока накапливающего сумматора Sф0, выход которого соединен со вторым входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0 и первым входом третьего блока элементов И, причем выход элемента ИЛИ-НЕ соединен с третьим входом блока комбинационной схемы, реализующей формулу 10, выход блока комбинационной схемы, реализующей формулу 9, является выходом устройства и сообщает о неисправности в блоке декодера (сигнал "неиспр."), выход блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0, соединен со вторым входом блока комбинационной схемы, реализующей формулу 7, причем на первый вход счетчика символов кодового слова и на второй вход второго элемента ИЛИ поступает от внешнего источника сигнал запуска устройства ("start").

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

Увеличением кодового расстояния до d=6 можно добиться существенного повышения достоверности декодирования, так как в этом случае декодер способен вырабатывать сигнал отказа от декодирования при появлении в KC любой комбинации из трех ошибочных символов. Специфика разработанного алгоритма пошагового декодирования такова, что позволяет расширить функциональные возможности декодера наиболее простым способом, если дополнить исходный (n,k) PC-код, обозначаемый далее как К-код, символом общей проверки на четность. Как показано в [1], добавление общей проверки на четность для K-кода с d=5 увеличивает кодовое расстояние до d=6. Такой удлиненный до (n+1, k) PC-код, обозначаемый далее как Кy-код, способен гарантированно исправлять две и выделять ситуацию возникновения трех неисправимых ошибочных символов в КС.

Сущность изобретения поясняется чертежами, на фиг. 1 представлена структурная схема устройства, на фиг. 2 изображен общий алгоритм работы устройства. Временные диаграммы первого такта работы устройства (после прихода сигнала "Start") изображены на фиг. 3.

Вычислитель ошибок помехоустойчивого декодера содержит вычислитель синдромов S1-S4 (37), первый выход которого соединен с первым и восьмым входами первого блока сумматоров (1) и вторым входом второго блока элементов И (12), выход которого соединен со вторым входом второго сумматора (7), выход которого является сигналом коррекции ошибки Y (17); первый выход первого блока сумматоров (1) соединен с первым входом первого перемножителя (2), выход которого соединен с первым входом первого сумматора (6), выход которого соединен со входом элемента ИЛИ-НЕ (9), выход которого соединен с первым входом первого элемента И (10) и первым входом второго блока элементов И (12); второй выход первого блока сумматоров (1) соединен со входом квадратора (4), выход которого соединен со вторым входом первого сумматора (6) и первым входом второго перемножителя (3), выход которого соединен с первым входом первого блока элементов И (11), выход которого соединен с первым входом второго сумматора (7); третий выход первого блока сумматоров (1) соединен со вторым входом первого перемножителя (2); четвертый выход первого блока сумматоров (1) соединен со входом преобразователя кода (5) и входом элемента ИЛИ (8), выход которого соединен со вторым входом первого элемента И (10), выход которого соединен со вторым входом первого блока элементов И (11); выход преобразователя кода (5) соединен со вторым входом второго перемножителя (3), кроме того, принятое кодовое слово с возможными ошибками (сигнал 46, вход устройства) соединено со входом вычислителя синдромов S1-S4 (37), введенные вычислитель дополнительного синдрома S0 (38), выход которого соединен со входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0 (22), третьим входом второго блока сумматоров (29) и первым входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0 (23), выход которого соединен со вторым входом блока комбинационной схемы, реализующей формулу 6, (24) и третьим входом блока комбинационной схемы, реализующей формулу 8, (26), выход которого соединен со вторым входом третьего элемента И (35) и вторым входом третьего блока элементов И (30), выход которого соединен со вторым входом второго блока сумматоров (29), выход которого соединен со вторым входом блока элементов ИЛИ (34), выход которого соединен с третьим входом блока выходного двухпортового ОЗУ (31), выход которого является выходом устройства (т.е. это кодовое слово после обработки декодером; адресные входы ОЗУ для посимвольной выборки данных этого кодового слова на схеме не показаны); первый вход второго блока сумматоров (29) соединен с выходом блока входного двухпортового ОЗУ (39); блок входного двухпортового ОЗУ (39), на четвертый вход которого, являющийся входом устройства, поступает исходное кодовое слово с возможными ошибками, выход входного двухпортового ОЗУ (39) соединен с первым входом блока сумматоров с сигналом разрешения (ненулевых значений на выходе) (36), выход которого соединен с первым входом блока элементов ИЛИ (34); блок компараторов "все Si = 0" (21), причем первый выход вычислителя синдромов S1-S4 (37) соединен с первым входом блока компараторов "все Si = 0" (21), второй выход - соответственно со вторым входом, третий - с третьим, четвертый - с четвертым; на вход вычислителя дополнительного синдрома S0 (38) поступает кодовое слово с возможными ошибками (сигнал 46); выход блока компараторов "все Si = 0" (21) соединен с первым входом блока комбинационной схемы, реализующей формулу 7, (25), выход которого соединен с первым входом третьего элемента И (35), выход которого соединен с четвертым входом второго блока сумматоров (29); блок компаратора "Y=0" (19), причем выход второго сумматора (7) соединен со вторым входом блока компаратора "Y=0" (19), третьим входом блока накапливающего сумматора Sф0 (20) и вторым входом блока сумматоров с сигналом разрешения (36), причем сигнал синхронизации от внешнего источника поступает на первый вход блока компаратора "Y=0" (19), третий вход входного двухпортового ОЗУ (39), второй вход счетчика символов кодового слова (по модулю длины кодового слова; старший разряд счетчика используется для переключения банков двухпортовых ОЗУ) (40), второй вход второго элемента И (33), второй вход блока накапливающего сумматора Sф0 (20), четвертый вход блока входного двухпортового ОЗУ (31); выход блока компаратора "Y=0" (19) соединен со вторым входом счетчика числа ненулевых коррекций ошибок (41), выход которого соединен с первым входом блока комбинационной схемы, реализующей формулу 9, (27), четвертым входом блока комбинационной схемы, реализующей формулу 8, (26), первым входом блока комбинационной схемы, реализующей формулу 6, (24), первым входом блока комбинационной схемы, реализующей формулу 10, (28), выход которого соединен с первым входом RS-триггера (18), выход которого соединен с первым входом блока комбинационной схемы, реализующей формулу 8, (26) и третьим входом блока комбинационной схемы, реализующей формулу 6, (24), выход которого (50) является выходом устройства и говорит о невозможности исправления ошибки в принятом кодовом слове (сигнал "отказ" от декодирования); первый выход счетчика символов кодового слова (40) соединен со вторым входом блока входного двухпортового ОЗУ (39) и вторым входом блока выходного двухпортового ОЗУ (31); второй выход счетчика символов кодового слова (40) соединен с первым входом блока входного двухпортового ОЗУ (39), первым входом блока выходного двухпортового ОЗУ (31) и входом блока компаратора "r=n" (32), выход которого соединен с третьим входом блока сумматоров с сигналом разрешения (36), вторым входом блока комбинационной схемы, реализующей формулу 10, (28), третьим входом блока комбинационной схемы, реализующей формулу 7, (25), вторым входом блока комбинационной схемы, реализующей формулу 8, (26), вторым входом блока комбинационной схемы, реализующей формулу 9, (27), четвертым входом блока комбинационной схемы, реализующей формулу 6, (24), первым входом второго элемента ИЛИ (52), выход которого соединен с первым входом второго элемента И (33), выход которого соединен с первым входом счетчика числа ненулевых коррекций ошибок (41), вторым входом RS-триггера (18), первым входом блока накапливающего сумматора Sф0 (20), выход которого соединен со вторым входом блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0 (23) и первым входом третьего блока элементов И (30), причем выход элемента ИЛИ-НЕ (9) соединен с третьим входом блока комбинационной схемы, реализующей формулу 10, (28); выход блока комбинационной схемы, реализующей формулу 9, (27) является выходом устройства (49) и сообщает о неисправности в блоке декодера (сигнал "неиспр. "); выход блока компараторов S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0 (22) соединен со вторым входом блока комбинационной схемы, реализующей формулу 7, (25), причем на первый вход счетчика символов кодового слова (40) и на второй вход второго элемента ИЛИ (52) поступает от внешнего источника сигнал запуска устройства (45) (сигнал "start"). Выход второго элемента ИЛИ (52) соединен с первым входом второго элемента И (33).

Вычислитель ошибок работает следующим образом.

Пусть вычислитель ошибок помехоустойчивого декодера, патент № 2152130 = вычислитель ошибок помехоустойчивого декодера, патент № 2152130j - произвольный элемент конечного поля GF (2m), m - размерность поля, вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - примитивный элемент конечного поля GF (2m) и вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - логическая функция. Найдем проверочные символы r(х) исходного информационного слова k(x) как остаток от деления

вычислитель ошибок помехоустойчивого декодера, патент № 2152130

где n - общее число разрядов, k - количество информационных разрядов PC (n, k)-кода, g(x) - порождающий многочлен кода, p(х) - частное (оно не потребуется для дальнейших вычислений), r(х) - остаток от деления, дописываемый в конец исходного информационного слова (т.е. это и есть проверочные биты). Множитель xn-k обозначает сдвиг исходного кодового слова k(x) на (n-k) бит влево. Т. о. получим исходное кодовое слово u(х), дополненное проверочными битами u(х)=xn-k вычислитель ошибок помехоустойчивого декодера, патент № 2152130 k(x)+r(х). В результате различных факторов, здесь не рассматриваемых, исходное кодовое слово искажается помехой e(х), т.о. имеем кодовое слово, содержащее ошибки n(x)=u(x)+e(x).

Итак, пошаговый алгоритм обнаружения и коррекции ошибок в кодовом слове n(х) заключается в следующем. Исходное кодовое слово состоит из n символов, каждый из которых имеет длину m. На каждом шаге алгоритма выполняется проверка и, при необходимости, коррекция ошибок в очередном символе кодового слова PC. Т. о. число шагов данного алгоритма равно числу символов KC, то есть n.

В начале каждого шага вычисляются f синдромов Si (f - число корней полинома g(x), вычислитель ошибок помехоустойчивого декодера, патент № 2152130 , здесь вычислитель ошибок помехоустойчивого декодера, патент № 2152130 обозначают целую часть). Начальное значение синдромов Si = n ( вычислитель ошибок помехоустойчивого декодера, патент № 2152130i ), вычислитель ошибок помехоустойчивого декодера, патент № 2152130 , где n - кодовое слово с возможными ошибками. Далее, значения ошибок Y будут вычисляться в соответствии с логико-алгебраическим выражением

вычислитель ошибок помехоустойчивого декодера, патент № 2152130

где вычислитель ошибок помехоустойчивого декодера, патент № 2152130ij(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) = Siвычислитель ошибок помехоустойчивого декодера, патент № 2152130i+Sjвычислитель ошибок помехоустойчивого декодера, патент № 2152130j, (2)

вычислитель ошибок помехоустойчивого декодера, патент № 2152130

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

Анализируя выражения (1) - (3), можно заметить, что необходимым условием вычисления ненулевого значения ошибки Y является

вычислитель ошибок помехоустойчивого декодера, патент № 2152130

Это уравнение относительно вычислитель ошибок помехоустойчивого декодера, патент № 2152130 может иметь не более двух различных корней. Таким образом, при пошаговом алгоритме декодирования любое число ошибок, поражающих KC, должно привести к появлению на выходе декодера только Q вычислитель ошибок помехоустойчивого декодера, патент № 2152130 2 ненулевых значений Y. Случай Q > 1 свидетельствует о неисправности декодера.

Покажем, что, используя подсчет ненулевых коррекций Q в KC K-кода и дополнительный синдром So, можно построить несложный алгоритм гарантированного выделения ситуации возникновения трех неисправимых ошибочных символов в Кy-коде.

Пусть вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - синдромы, вычисленные по принятому слову K-кода вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - синдром общей проверки на четность Кy-кода; Xi, Yi - соответственно локаторы и значения ошибок; t, ty - количество ошибок, поразивших соответственно К- и Кy-коды; вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - синдромы, соответствующие ненулевым значениям Y, полученным в результате вычисления выражения (1) при поражении KC Ky-кода числом ошибок, превышающим корректирующую способность; вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - сумма всех значений Y, вычисляемых по (1) на каждом такте декодирования K-кода; Xфi, Yфi - некоторые "фиктивные" локаторы и значения ошибок, которые получаются в результате ошибочной коррекции; Q - число ненулевых коррекций при декодировании K-кода. Если KC K-кода поражено не более чем двумя ошибочными символами, то Xфi = Xi, Yфi = Yi, Sфj = Sj для вычислитель ошибок помехоустойчивого декодера, патент № 2152130 .

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

1. Ошибки отсутствуют, т.е. ty = t = 0. Тогда Q = 0, Sj = 0 для вычислитель ошибок помехоустойчивого декодера, патент № 2152130.

2. Имеется одна ошибка Y1, расположенная в поле локаторов K-кода, т.е. ty = t = 1. Тогда Q = 1; вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) = 0 при всех вычислитель ошибок помехоустойчивого декодера, патент № 2152130вычислитель ошибок помехоустойчивого декодера, патент № 2152130GF(2m), т.к.

вычислитель ошибок помехоустойчивого декодера, патент № 2152130

с учетом того, что вычислитель ошибок помехоустойчивого декодера, патент № 215213024(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) = (X1вычислитель ошибок помехоустойчивого декодера, патент № 2152130)2Y1[1+(X1вычислитель ошибок помехоустойчивого декодера, патент № 2152130)2]+(X2вычислитель ошибок помехоустойчивого декодера, патент № 2152130)2Y2[1+(X2вычислитель ошибок помехоустойчивого декодера, патент № 2152130)2]; S0 = Sф0 = Y1.

3. Имеется одна ошибка Y1, расположенная в символе удлинения K-кода, т. е. ty = 1, t = Q. Тогда Q = 0 и ситуация распознается по Sj = 0 для вычислитель ошибок помехоустойчивого декодера, патент № 2152130 S0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0, Sф0 = 0. Ошибку можно исправить, задавая Y1 = S0.

4. Имеются две ошибки Y1 и Y2, расположенные в поле локаторов K-кода, ty = t = 2. Тогда Q=2 и S0 = Sф0 = Y1 + Y2.

5. Имеются две ошибки Y1 и Y2, только одна из которых (например, Y1) расположена в поле локаторов K-кода, ty = 2, t = 1. Тогда Q=1 вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) = 0 при всех вычислитель ошибок помехоустойчивого декодера, патент № 2152130вычислитель ошибок помехоустойчивого декодера, патент № 2152130GF(2m) согласно (5), но S0=Y1+Y2, a Sф0=Y1. Ошибку в Ky-коде можно исправить Y2=S0+Sф0.

Если имеются три ошибки в поле локаторов K-кода, ty=t=3, то возможны следующие случаи.

6.1. Q= 0, если (4) не имеет корней в GF (2m), т.е. вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0 при всех вычислитель ошибок помехоустойчивого декодера, патент № 2152130вычислитель ошибок помехоустойчивого декодера, патент № 2152130GF(2m). Такое возможно, когда для некоторых вычислитель ошибок помехоустойчивого декодера, патент № 2152130 справедливо неравенство Sj вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0.

6.2. Q=1, если любые два из коэффициентов в (4) ненулевые, а третий равен нулю. При этом по (1) декодер ошибочно корректирует символ с локатором Xф1, вычисляя неправильное значение ошибки Yф1 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0. В данном случае вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) = 0 только при вычислитель ошибок помехоустойчивого декодера, патент № 2152130 = 1/Xф1 иначе вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0 (т.е., если хотя бы один раз вычислитель ошибок помехоустойчивого декодера, патент № 2152130(вычислитель ошибок помехоустойчивого декодера, патент № 2152130) вычислитель ошибок помехоустойчивого декодера, патент № 2152130 0 - отказываемся от декодирования).

6.3. Q=2, если (4) имеет два корня Xф1 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Xф2 в GF (2m). Ненулевые значения Yф1, и Yф2, вычисленные по (1) в моменты вычислитель ошибок помехоустойчивого декодера, патент № 2152130 = 1/Xф1 и вычислитель ошибок помехоустойчивого декодера, патент № 2152130 = 1/Xф2, соответствуют некоторым фиктивным синдромам Sфj, вычислитель ошибок помехоустойчивого декодера, патент № 2152130. Элементарные симметрические функции от Xф1 и Xф2 могут быть выражены из (4) через известные синдромы Sj. Определяя "фиктивные" синдромы вычислитель ошибок помехоустойчивого декодера, патент № 2152130 и подставляя в них значения Yфi, вычисленные по формуле (1), с учетом выражений для элементарных симметрических функций можно показать, что вычислитель ошибок помехоустойчивого декодера, патент № 2152130 для вычислитель ошибок помехоустойчивого декодера, патент № 2152130. Если предположить, что Sф0 = Yф1 + Yф2 = S0 = Y1 + Y2 + Y3, то, заменяя все Si=Sфj для вычислитель ошибок помехоустойчивого декодера, патент № 2152130, получаем одновременно вычислитель ошибок помехоустойчивого декодера, патент № 2152130 (как для Sфj, соответствующих t=2) и вычислитель ошибок помехоустойчивого декодера, патент № 2152130 (как для Sj, соответствующих t= 3), где вычислитель ошибок помехоустойчивого декодера, патент № 2152130 - матрица коэффициентов системы, построенная для вычислитель ошибок помехоустойчивого декодера, патент № 2152130 . Получено противоречие, следовательно, Sф0 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 S0.

Если имеются три ошибки, одна из которых расположена в символе удлинения K-кода, то t=2, ty=3. Тогда Q=2, но S0=Y1+Y2+Y3 вычислитель ошибок помехоустойчивого декодера, патент № 2152130 Sф0 =Y1+Y2.

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

Данный алгоритм несколько сложнее в реализации, чем алгоритм коррекции двух ошибочных символов в KC и требует декодирования всех символов (n+l, k) PC-кода, однако снижение быстродействия такого декодера значительно меньше, чем при использовании (n+2, k) PC-кода и он в отличие от (n, k) PC-кода позволяет исправлять 2 и обнаруживать еще одну дополнительную ошибку. Например, для (16, 11) PC-кода над GF(24) при длительности такта декодирования 12,5 нс быстродействие декодера составит V=27,5 Мбайт/с.

Наверх