Способ декодирования помехоустойчивого кода

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

Реферат

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

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

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

Один из известных способов декодирования помехоустойчивых кодов, в том числе и мажоритарно декодируемых [Овечкин Г.В. и Золотарев В.В. Эффективные алгоритмы помехоустойчивого кодирования для цифровых систем связи. Электросвязь, №9, 2003, с.34-37], заключается в том, что информационные символы, передаваемые получателю, направляют в декодер из канала связи, в котором возможно внесение ошибок в цифровое сообщение, вместе с избыточными символами кода, которые преобразуются декодером в символы синдрома, обладающие свойством зависимости их значений только от ошибок, произошедших в канале связи, и не зависят от информационных символов, передаваемых получателю, и суммируют в декодере с помощью порогового элемента на каждом такте работы после очередного сдвига данных по своим регистрам соответствующие символы в ячейках регистра, определяемых выбранным кодом, и после суммирования производят сравнение результата с пороговым значением, по результатам которого судят о необходимости замены декодируемого информационного символа.

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

Наиболее близким по технической сущности и достигаемому результату к предложенному является способ декодирования помехоустойчивого кода [RU 2377722, Н03М 13/43, 27.12.2009], заключающийся в том, что направляют в декодер из канала связи двоичные или недвоичные информационных символы кода вместе с избыточными символами кода, преобразуют их в символы регистра синдрома и направляют в пороговый элемент, где вычисляют оценки значений декодируемых символов на основе проверок в ячейках синдрома, определяемых декодируемым помехоустойчивым кодом, сравнивают результат вычислений с пороговым значением и по результатам сравнения принимают решение о необходимости изменения декодируемого информационного символа, причем символы синдрома направляют в пороговый элемент на такое число тактов его работы раньше относительно момента принятия решения о значении декодируемого символа, какое соответствует количеству символов регистра синдрома на входе порогового элемента, при этом решение о необходимости изменения информационного символа производят на основе конвейерных вычислений, при которых одновременно принимают на разных стадиях решения относительно целой группы декодируемых символов.

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

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

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

Технический результат заключается в повышении оперативности декодирования.

Указанная задача решается, а технический результат достигается тем, что, в способе, в котором из канала связи направляют в декодер двоичные или недвоичные информационные символы и избыточные символы проверок информационных символов используемого кода с параметрами q, R и d, где q - размер передаваемого символа кода, R - кодовая скорость и d - минимальное кодовое расстояние, соответственно, преобразуют их в символы регистра синдрома, которые направляют в пороговый элемент, где вычисляют оценки значений информационных символов используемого кода, сравнивают результаты вычислений с пороговыми значениями и по результатам сравнения принимают решение о необходимости изменения символа используемого кода, согласно предложенному изобретению, в пороговом элементе формируют рабочий и частотный массивы памяти, в которые после предварительного обнуления направляют символы проверок, при этом в ячейку рабочего массива с номером xn, где xn - значение очередной n-й проверки, поступающей в пороговый элемент, добавляют единицу, а в очередную n-ю, начиная с первой, ячейку частотного массива записывают значение xn, после чего в обычном режиме просмотра частотного массива после использования всех d проверок, относящихся к декодируемому символу, выбирают два наиболее часто встречающихся значения проверок, которые используют в качестве оценки значений ошибок в информационных символах используемого кода для принятия решения о необходимости изменения декодируемого символа.

Способ декодирования помехоустойчивого кода осуществляется следующим образом.

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

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

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

Допустим, что пороговый элемент применяется к коду с некоторыми параметрами q, R и d, где q - размер передаваемого символа кода, R - кодовая скорость и d - минимальное кодовое расстояние, соответственно. Пусть первоначально будут обнулены все q ячеек некоторого рабочего массива A и d ячеек в другом, частотном массиве В. Далее выбираются последовательно все d проверок декодируемого символа ij и в ячейку массива А с номером xn, где xn - значение очередной проверки, добавляется единичка. При этом такое же значение записывается в соответствующую ячейку массива В. Объем операций для этой группы вычислений равен N1=q+3d. Затем проверяется, не превышено ли в соответствующей ячейке массива А текущее число наиболее часто встречаемых значений проверок. Общее число таких поисковых операций равно N2=5*d. Если теперь перейти к декодированию нового информационного символа, то можно повторить уже проделанные для первого символа вычисления. Но в выражении для оценки объема операций N1=q+3d учтено, что для нового процесса коррекции очередного символа сначала надо обнулить массив А, который при больших значениях q может быть чрезмерно большим. Однако с другой стороны понятно, что этот массив и так почти полностью обнулен, кроме тех d ячеек, в которые записывались значения проверок. Это значит, что на самом деле обнулять надо только те ячейки, в которые добавлялись значения проверок, которые одновременно записывались в соответствующие ячейки массива В. Следовательно, массив А обнуляется полностью только один раз и только на старте процесса декодирования. А на каждом цикле декодирования необходимость обнуления возникает только в конце процесса декодирования каждого символа и только для d конкретных ячеек. Тогда объем операций будет определяться соотношением N2tot=4*d+5*d+d+4=10d+4, что обусловливает существенно большую оперативность предложенного способа относительно известного, а техническая реализация соответствующих устройств оказывается гораздо проще, так как они будут иметь линейную от параметра d сложность, в отличие от прототипа, в котором они имеют квадратичную от параметра d сложность - d2.

Таким образом, благодаря введению дополнительных операций способа (в частности, тем, что в пороговом элементе формируют рабочий и частотный массивы памяти, в которые после предварительного обнуления направляют символы регистра синдрома, при этом в ячейку рабочего массива с номером xn, где xn - значение очередной n-й проверки, поступающей в пороговый элемент, добавляют единицу, а в очередную n-ю, начиная с первой, ячейку частотного массива записывают значение xn, после чего в обычном режиме просмотра частотного массива после использования всех d проверок, относящихся к декодируемому символу, выбирают два наиболее часто встречающихся значения проверок, которые используют в качестве оценки значений ошибок в информационных символах используемого кода для принятия решения о необходимости изменения декодируемого символа) достигается требуемый технический результат, заключающийся в повышении оперативности способа.

Способ декодирования помехоустойчивого кода, согласно которому из канала связи направляют в декодер двоичные или недвоичные информационные символы и избыточные символы проверок информационных символов используемого кода с параметрами q, R и d, где q - размер передаваемого символа кода, R - кодовая скорость и d - минимальное кодовое расстояние, соответственно, преобразуют их в символы регистра синдрома, которые направляют в пороговый элемент, где вычисляют оценки значений информационных символов используемого кода, сравнивают результаты вычислений с пороговыми значениями и по результатам сравнения принимают решение о необходимости изменения символа используемого кода, отличающийся тем, что в пороговом элементе формируют рабочий и частотный массивы памяти, в которые после предварительного обнуления направляют символы проверок, при этом в ячейку рабочего массива с номером xn, где xn - значение очередной n-й проверки, поступающей в пороговый элемент, добавляют единицу, а в очередную n-ю, начиная с первой, ячейку частотного массива записывают значение xn, после чего в обычном режиме просмотра частотного массива после использования всех d проверок, относящихся к декодируемому символу, выбирают два наиболее часто встречающихся значения проверок, которые используют в качестве оценки значений ошибок в информационных символах используемого кода для принятия решения о необходимости изменения декодируемого символа.