RU2054224C1 - Error-correcting decoder - Google Patents
Error-correcting decoder Download PDFInfo
- Publication number
- RU2054224C1 RU2054224C1 RU93049111A RU93049111A RU2054224C1 RU 2054224 C1 RU2054224 C1 RU 2054224C1 RU 93049111 A RU93049111 A RU 93049111A RU 93049111 A RU93049111 A RU 93049111A RU 2054224 C1 RU2054224 C1 RU 2054224C1
- Authority
- RU
- Russia
- Prior art keywords
- outputs
- inputs
- block
- groups
- output
- Prior art date
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
Изобретение относится к вычислительной технике и может быть использовано в системах связи, в которых применяются коды, исправляющие ошибки, в частности коды Рида-Соломона (РС). The invention relates to computer technology and can be used in communication systems that use error correction codes, in particular Reed-Solomon (RS) codes.
Известен декодер линейного кода, содержащий блок буферной памяти, вычислитель синдрома, блок суммирования, арифметический блок, блок памяти многочлена, вычислитель степени многочлена, счетчик ошибок, блок сравнения, блок маскировки и бок управления [1] Недостатком этого устройства является большой объем вычислений, требующий сложной схемотехники и значительного времени. A known linear code decoder containing a buffer memory unit, a syndrome calculator, a summation block, an arithmetic block, a polynomial memory block, a polynomial degree calculator, an error counter, a comparison block, a masking unit and a control side [1] The disadvantage of this device is the large amount of computation that requires complex circuitry and significant time.
Наиболее близким к предлагаемому изобретению является устройство для декодирования кода РС, содержащее блок буферной памяти, информационные входы которого объединены с одноименными входами формирователя синдромов и являются информационными входами устройства, вычислитель поправок, первая группа выходов которого и выходы блока буферной памяти соединены соответственно с второй и первой группами информационных входов первого блока суммирования, блок выбора режима и генератор локаторов [2] Недостатком этого устройства является его невысокое быстродействие, а также сложность, что обусловлено большим объемом потребных вычислений. Closest to the proposed invention is a device for decoding a PC code, comprising a buffer memory unit, the information inputs of which are combined with the inputs of the syndrome generator of the same name and are information inputs of the device, a corrector, the first group of outputs of which and the outputs of the buffer memory unit are connected respectively to the second and first groups of information inputs of the first summing unit, mode selection unit and locator generator [2] The disadvantage of this device is its lack high speed, as well as complexity, due to the large amount of computation required.
Для повышения быстродействия и снижения сложности в декодер с исправлением ошибок, содержащий блок буферной памяти, информационные входы которого объединены с одноименными входами формирователя синдромов и являются информационными входами декодера, вычислитель поправок, первая группа выходов которого и выходы блока буферной памяти соединены соответственно со второй и первой группами информационных входов первого блока суммирования, блок выбора режима и генератор локаторов, введены второй блок суммирования, блоки равнозначности, элемент ИЛИ и синхронизатор, группы выходов формирователя синдромов подключены к одноименным группам информационных входов вычислителя поправок и блока выбора режима, первый и второй выходы которого соединены с одноименными управляющими входами вычислителя поправок, вторая группа выходов которого и выходы первого блока суммирования подключены соответственно к второй и первой группам информационных входов второго блока суммирования, выходы которого являются информационными выходами декодера, третья и четвертая группы выходов вычислителя поправок соединены с первыми группами входов соответственно первого и второго блоков равнозначности, выходы которых подключены к управляющим входам одноименных блоков суммирования, первый и второй выходы вычислителя поправок соединены соответственно с первым входом элемента ИЛИ и управляющим входом блока выбора режима, третий и четвертый выходы которого подключены соответственно к управляющему входу синхронизатора и второму входу элемента ИЛИ, выход которого является выходом отказа от декодирования декодера, информационный вход синхронизатора является входом синхронизации декодера, первый четвертый выходы синхронизатора соединены с входами синхронизации соответственно блока буферной памяти, формирователя синдромов, вычислителя поправок и генератора локаторов, выходы которого подключены к вторым группам входов блоков равнозначности. To improve performance and reduce complexity, an error-correcting decoder containing a buffer memory unit, the information inputs of which are combined with the inputs of the syndrome shaper of the same name and are information inputs of the decoder, is a corrector, the first group of outputs of which and the outputs of the buffer memory are connected to the second and first groups of information inputs of the first summing block, mode selection block and locator generator, the second summing block, equivalence blocks, OR element and synchronizer, groups of outputs of the syndrome generator are connected to the same groups of information inputs of the corrector and the mode selection block, the first and second outputs of which are connected to the same inputs of the corrector, the second group of outputs and the outputs of the first summing unit are connected to the second and first groups of information inputs of the second summing unit, the outputs of which are information outputs of the decoder, the third and fourth groups of outputs are calculated The corrections are connected to the first groups of inputs of the first and second equivalence blocks, the outputs of which are connected to the control inputs of the summation blocks of the same name, the first and second outputs of the corrections calculator are connected respectively to the first input of the OR element and the control input of the mode selection block, the third and fourth outputs of which are connected respectively, to the control input of the synchronizer and the second input of the OR element, the output of which is the output of the refusal to decode the decoder, information in the synchronizer stroke is the decoder synchronization input, the first fourth synchronizer outputs are connected to the synchronization inputs of the buffer memory block, syndrome shaper, corrector calculator and locator generator, the outputs of which are connected to the second groups of inputs of the equivalence blocks.
Кроме того, в рассматриваемом декодере блок выбора режима содержит элементы ИЛИ-НЕ, элементы И и элемент ИЛИ, входы первого четвертого элементов ИЛИ-НЕ являются соответствующими группами информационных входов блока, выход первого элемента ИЛИ-НЕ соединен с первым входом пятого элемента ИЛИ-НЕ и первыми входами первого третьего элементов И, выход второго элемента ИЛИ-НЕ подключен к второму входу пятого элемента ИЛИ-НЕ, вторым входом первого и второго элементов И и первым входам четвертого и пятого элементов И и является вторым выходом блока, выход третьего элемента ИЛИ-НЕ соединен с третьими входами пятого элемента ИЛИ-НЕ и первого элемента И и вторыми входами третьего и четвертого элементов И, выход четвертого элемента ИЛИ-НЕ подключен к четвертым входам первого элемента И и пятого элемента ИЛИ-НЕ и второму входу пятого элемента И, выходы второго пятого элементов И соединены с входами элемента ИЛИ, выход которого и выход первого элемента И являются соответственно четвертым и третьим выходами блока, выход пятого элемента ИЛИ-НЕ подключен к первому входу шестого элемента И, второй вход и выход которого являются соответственно управляющим входом и первым выходом блока. In addition, in the decoder in question, the mode selection block contains OR-NOT elements, AND elements, and an OR element, inputs of the first fourth OR-NOT elements are corresponding groups of information inputs of the block, the output of the first OR-NOT element is connected to the first input of the fifth OR-NOT element and the first inputs of the first third elements AND, the output of the second element OR is NOT connected to the second input of the fifth element OR NOT, the second input of the first and second elements AND and the first inputs of the fourth and fifth elements AND is the second output of a, the output of the third OR-NOT element is connected to the third inputs of the fifth OR-NOT element and the first AND element and the second inputs of the third and fourth AND elements, the output of the fourth OR-NOT element is connected to the fourth inputs of the first AND element and the fifth OR-NOT element and the second input of the fifth AND element, the outputs of the second fifth AND element are connected to the inputs of the OR element, the output of which and the output of the first AND element are the fourth and third outputs of the block, the output of the fifth element OR is NOT connected to the first input of the sixth AND element, the second input and output of which are respectively the control input and the first output of the block.
Еще одним отличием данного декодера является выполнение вычислителя поправок на арифметико-логическом узле, первом и втором блоках переключений, первом четвертом регистрах и блоке управления и синхронизации, первый третий входы которого являются соответственно первым и вторым управляющими входами и входом синхронизации вычислителя, первая четвертая группы информационных входов первого блока переключений являются одноименными группами информационных входов вычислителя, группы выходов первого блока переключений соединены с соответствующими группами информационных входов арифметико-логического узла, первый и второй выходы которого являются соответствующими выходами вычислителя, первая группа выходов блока управления и синхронизации подключена к соответствующим управляющим входам арифметико-логического узла, первая четвертая группы выходов которого соединены с соответствующими группами информационных входов второго блока переключений, первая четвертая группы выходов которого подключены к информационным входам соответственно первого четвертого регистров, вторая и третья группы выходов блока управления и синхронизации соединены с управляющими входами соответственно первого и второго блока переключений, первый четвертый выходы блока управления и синхронизации подключены к входам синхронизации соответственно первого четвертого регистров, выходы которых соединены соответственно с пятой восьмой группами информационных входов первого блока переключений и являются соответственно третьей, четвертой, первой и второй группами выходов вычислителя. Another difference of this decoder is the implementation of the calculator of corrections on the arithmetic-logical node, the first and second switching units, the first fourth registers and the control and synchronization unit, the first third inputs of which are the first and second control inputs and the synchronization input of the computer, the first fourth group of information the inputs of the first switching unit are the same groups of information inputs of the computer, the output groups of the first switching unit are connected to the existing groups of information inputs of the arithmetic-logical unit, the first and second outputs of which are the corresponding outputs of the calculator, the first group of outputs of the control and synchronization unit is connected to the corresponding control inputs of the arithmetic-logical unit, the first fourth groups of outputs of which are connected to the corresponding groups of information inputs of the second switching unit , the first fourth group of outputs of which are connected to the information inputs, respectively, of the first fourth registers , the second and third groups of outputs of the control and synchronization unit are connected to the control inputs of the first and second switching units, the first fourth outputs of the control and synchronization units are connected to the synchronization inputs, respectively, of the first fourth registers, the outputs of which are connected respectively to the fifth eighth groups of information inputs of the first switching unit and are, respectively, the third, fourth, first and second groups of outputs of the calculator.
При этом арифметико-логический узел содержит первый четвертый перемножители, первый третий сумматоры, первый третий блоки возведения в квадрат, блок возведения в четвертую степень, блок умножения на матрицу, блок равнозначности и первый пятый переключатели, информационные входы первого блока возведения в квадрат, первая и вторая группы входов первого перемножителя, информационные входы второго блока возведения в квадрат и первые группы информационных входов первого и второго переключателей являются соответственно первой шестой группами информационных входов узла, выходы первого блока возведения в квадрат и первого перемножителя соединены с первой и второй группами информационных входов первого сумматора, выходы которого подключены к первым группам входов блока равнозначности и четвертого перемножителя и являются первой группой выходов узла, выходы второго блока возведения в квадрат соединены со второй группой информационных входов первого переключателя и информационными входами третьего блока возведения в квадрат, выходы первого и второго переключателей соединены с первой и второй группами входов второго перемножителя, выходы которого подключены к первой группе информационных входов второго сумматора и входам блока возведения в четвертую степень, выходы которого соединены с первой группой информационных входов третьего переключателя, выходы третьего блока возведения в квадрат соединены со второй группой информационных входов второго переключателя, первой группой информационных входов четвертого переключателя и второй группой информационных входов второго сумматора, выходы которого подключены к второй группе информационных входов третьего переключателя, второй группе входов блока равнозначности и является четвертой группой выходов узла, выходы третьего и четвертого переключателей соединены с первой и второй группами входов третьего перемножителя, выходы которого подключены к первым группам информационных входов третьего сумматора и пятого переключателя, выходы которого соединены с второй группой входов четвертого перемножителя, выходы которого подключены к второй группе информационных входов третьего сумматора и информационным входом блока умножения на матрицу, старший разряд выходов четвертого переключателя является вторым выходом узла, вторые группы информационных входов четвертого и пятого переключателей являются соответственно седьмой и восьмой группами информационных входов узла, управляющие входы всех блоков возведения в квадрат, всех сумматоров, блока умножения на матрицу и всех переключателей являются соответствующими управляющими входами узла, выход блока равнозначности является первым выходом узла, выходы блока умножения на матрицу и третьего сумматора являются соответственно второй и третьей группами выходов узла. The arithmetic-logical unit contains the first fourth multipliers, the first third adders, the first third squaring blocks, the fourth power squaring block, the matrix multiplying block, the equivalence block and the first fifth switches, the information inputs of the first squaring block, the first and the second group of inputs of the first multiplier, the information inputs of the second squaring unit and the first group of information inputs of the first and second switches are the first sixth group, respectively the information inputs of the node, the outputs of the first squaring block and the first multiplier are connected to the first and second groups of information inputs of the first adder, the outputs of which are connected to the first groups of inputs of the equivalence block and the fourth multiplier and are the first group of outputs of the node, the outputs of the second squaring block connected to the second group of information inputs of the first switch and information inputs of the third squaring unit, the outputs of the first and second switches soy inens with the first and second groups of inputs of the second multiplier, the outputs of which are connected to the first group of information inputs of the second adder and the inputs of the fourth degree block, the outputs of which are connected to the first group of information inputs of the third switch, the outputs of the third square block are connected to the second group of information the inputs of the second switch, the first group of information inputs of the fourth switch and the second group of information inputs of the second adder, the outputs of which connected to the second group of information inputs of the third switch, the second group of inputs of the equivalence block and is the fourth group of outputs of the node, the outputs of the third and fourth switches are connected to the first and second groups of inputs of the third multiplier, the outputs of which are connected to the first groups of information inputs of the third adder and fifth switch, the outputs of which are connected to the second group of inputs of the fourth multiplier, the outputs of which are connected to the second group of information inputs of the third sum ora and the information input of the matrix multiplication block, the highest bit of the outputs of the fourth switch is the second output of the node, the second groups of information inputs of the fourth and fifth switches are the seventh and eighth groups of information inputs of the node, the control inputs of all squaring blocks, all adders, the multiplication block to the matrix and all the switches are the corresponding control inputs of the node, the output of the equivalence block is the first output of the node, the outputs of the multiplication block are and the matrix and the third adder are, respectively, the second and third groups of outputs of the node.
На фиг. 1 представлена функциональная схема декодера с исправлением ошибок; на фиг. 2 примеры выполнения традиционным способом для поля CF(24) соответственно формирователя синхрома и генератора локаторов; на фиг.3,5 соответственно примеры выполнения блока выбора режима и вычислителя поправок, а также входящего в его состав арифметико-логического узла; на фиг.6 сигналы синхронизации работы декодера; на фиг.7 9 три варианта сигналов, управляющих работой регистров в вычислителе поправок.In FIG. 1 is a functional diagram of an error correction decoder; in FIG. 2 examples of performing in the traditional way for the CF field (2 4 ), respectively, of the synchromer and generator of the locators; in Fig.3.5, respectively, examples of the execution of the mode selection unit and the calculator of amendments, as well as its arithmetic-logical unit; figure 6 signals of synchronization of the decoder; Fig.7 9 three variants of the signals that control the operation of the registers in the calculator corrections.
В основе работы декодера с исправлением ошибок лежит следующий алгоритм декодирования. The error decoding decoder is based on the following decoding algorithm.
Сначала вычисляются элементы Sj (j 0,1,2,3) синдрома
Sj= UiZ
Ui и Zi -соответственно символы и локаторы позиций кодового слова.First, the elements S j (
S j = U i Z
U i and Z i are, respectively, symbols and position locators of the code word.
Если все элементы Sj равны нулю, то ошибок в принятом кодовом слове нет, и информационные символы кодового слова выдаются потребителю. Если в кодовом слове искажен один символ, то должно выполняться условие
(2) причем ни один элемент Sj синдрома не равен нулю. В этом случае локатор Zγ ошибки и ее значение Е1 находят из выражений
Zγ= E1= (3)
При наличии в кодовом слове двух ошибок условие (2) не выполняется. Тогда вычисляются корни следующего многочлена локаторов ошибки
Λ (X) X2 + Λ1 X + Λо, (4)
Коэффициенты этого многочлена определяются системой уравнений
(5)
Решая систему (5) и вводя подстановку X Λ1 · y, преобразуем уравнение (4) к виду
y2 + y + C 0, (6) где
C (7)
A S
B S1 S3 + S
Решив полученное квадратное уравнение (6) по известной методике (Э.М. Габидулин и В.Б.Афанасьев. Кодирование в радиоэлектронике. М. Радио и связь, 1986, с. 58-64), получаем его корни y1 и y2. Поскольку по теореме Виета y1 + y2 -1, а также с учетом подстановки Х Λ1 y, локаторы ошибок определяются из соотношений Zj1= Zy2= Подставив Λ1 выраженную через элементы синдрома в системе уравнений (5), имеем
Zj1= •
Zj2= • (9)
Значения ошибок находятся из следующей системы уравнений
(10)
После соответствующих преобразований и подстановок, получим
E1= y
E2= y1(y1+1)(SoZj1+S1) (11)
В случае, когда S1 0, свободный член С уравнения (6) вычисляется по формуле
C (12)
При этом выражения (9) и (11) примут вид:
Zj1= Zj2= (13)
E1= y
По найденным локаторам и значениям ошибок осуществляют их исправление.If all elements S j are equal to zero, then there are no errors in the received codeword, and information symbols of the codeword are issued to the consumer. If one character is distorted in the codeword, the condition must be met
(2) moreover, not a single element of the S j syndrome is equal to zero. In this case, the error locator Z γ and its value E 1 are found from the expressions
Z γ = E 1 = (3)
If there are two errors in the codeword, condition (2) is not satisfied. Then the roots of the next polynomial of error locators are calculated
Λ (X) X 2 + Λ 1 X + Λ о , (4)
The coefficients of this polynomial are determined by the system of equations
(5)
Solving system (5) and introducing the substitution X Λ 1 · y, we transform equation (4) to the form
y 2 + y + C 0, (6) where
C (7)
As
BS 1 S 3 +
Solving the obtained quadratic equation (6) by a well-known method (E.M. Gabidulin and VB Afanasyev. Coding in radio electronics. M. Radio and communications, 1986, pp. 58-64), we obtain its roots y 1 and y 2 . Since, by the Vieta theorem, y 1 + y 2 -1, and also taking into account the substitution X Λ 1 y, the error locators are determined from the relations Z j1 = Z y2 = Substituting Λ 1 expressed through the elements of the syndrome in the system of equations (5), we have
Z j1 = •
Z j2 = • (9)
Error values are found from the following system of equations
(ten)
After the corresponding transformations and substitutions, we obtain
E 1 = y
E 2 = y 1 (y 1 +1) (S o Z j1 + S 1 ) (11)
In the case when
C (12)
In this case, expressions (9) and (11) will take the form:
Z j1 = Z j2 = (thirteen)
E 1 = y
Based on the locators and error values found, they are corrected.
Случаи, когда So S1 0, или So S20, или S1 S3 0, или S1 S2 0 при неравенстве нулю остальных двух элементов синдрома, а также случай, когда уравнение (6) не имеет решений, соответствуют случаям отказа от декодирования.Cases when S o S 1 0, or S o S 2 0, or S 1 S 3 0, or S 1 S 2 0 if the other two elements of the syndrome do not equal zero, as well as the case when equation (6) has no solutions, correspond to cases of rejection of decoding.
Декодер с исправлением ошибок по выше приведенному алгоритму содержит блок 1 буферной памяти, формирователь 2 синдромов, вычислитель 3 поправок, блок 4 выбора режима, генератор 5 локаторов первый и второй блоки 6, 7 суммирования, первый и второй блоки 8, 9 равнозначности, элемент ИЛИ 10 и синхронизатор 11. Информационные входы блока 1 и формирователя 2 объединены и являются информационными входами 12 декодера, информационный вход синхронизатора 11 является входом 13 синхронизации декодера. Группы выходов формирователя 2, число которых равно числу элементов Sj синдрома, подключены к одноименным группам информационных входов вычислителя 3 и блока 4, первый и второй выходы которого соединены с одноименными управляющими входами вычислителя 3. Выходы блока 1 и первая группа выходов вычислителя 3 подключены к первой и второй группам информационных входов блока 6, выходы которого и вторая группа выходов вычислителя 3 соединены с первой и второй группами информационных входов блока 7, выходы которого являются информационными выходами 14 декодера.The error correction decoder according to the above algorithm contains
Третья и четвертая группы выходов вычислителя 3 подключены к первым группам входов блоков 8 и 9 соответственно, вторые группы входов которых соединены с выходами генератора 5, а выходы с управляющими входами соответственно блоков 6 и 7. Первый и второй выходы вычислителя 3 подключены соответственно к первому входу элемента ИЛИ 10 и управляющему входу блока 4, третий выход которого соединен с управляющим входом синхронизатора 11, первый четвертый выходы которого подключены к входам синхронизации соответственно блока 1, формирователя 2, вычислителя 3 и генератора 5. Четвертый выход блока 4 соединен с вторым входом элемента ИЛИ 10, выход которого является выходом 15 отказа от декодирования декодера. The third and fourth groups of outputs of the
Блок 1 буферной памяти в рассматриваемом случае представляет собой четыре параллельно соединенных n-разрядных регистра сдвига для промежуточного хранения кодового слова, каждый символ Ui (()) которого является элементом поля GF (24).The
Формирователь 2 синдромов может быть выполнен (фиг.2) на четырех регистрах 16-19, четырех умножителях 20-23 на постоянное значение и четырех сумматорах 24-27, первые группы входов которых соответственно объединены и являются входами формирователя. Выходы сумматоров 24-27 подключены к информационным входам соответствующих регистров 16-19, входы синхронизации которых объединены и являются входом синхронизации формирователя 2. Выходы регистров 16-19 через соответствующие умножители 20-23 подключены к вторым группам входов соответствующих сумматоров 24-27 и одновременно являются соответствующими группами выходов формирователя 2. В умножителях 20-23 выходные сигналы регистров 16-19 умножаются на соответствующие локаторы Zo-Z3 позиций, после чего суммируются в сумматорах 24-27 с очередными символами. На выходах регистров 16-19 формируются элементы So-S3 синдрома согласно выражению (1).
Блок 4 выбора режима может быть реализован (фиг.3) на элементах 28-32 ИЛИ-НЕ, элементах И 33-38 и элементе ИЛИ 39. Входы первого-четвертого элементов ИЛИ-НЕ 28-31 являются соответственно первой четвертой группами входов блока 4, на которые с формирователя 2 поступают соответствующие элементы So-S3 синдрома. Выход первого элемента ИЛИ-НЕ 28 соединен с входами первого-третьего элементов И 33-35, выход второго элемента ИЛИ-НЕ 29 с входами первого, второго, четвертого и пятого элементов И 33,34,36,37, выход третьего элемента ИЛИ-НЕ 30 с входами первого, третьего и четвертого элементов И 33,35,36, а выход четвертого элемента ИЛИ-НЕ 31 со входами первого и пятого элементов И 33,37. Кроме того, выходы элементов ИЛИ-НЕ 28-31 подключены 5 к входам пятого элемента ИЛИ-НЕ 32, выход которого соединен с одним входом шестого элемента И 38, другой вход которого является управляющим входом блока 4, а выход 40 первым выходом блока 4. Выход 41 второго элемента ИЛИ-НЕ 29 является вторым выходом блока 4, выход 42 первого элемента И 33 третьим выходом блока 4. Выходы второго пятого элементов И 34-37 подключены к входам элементов ИЛИ 39, выход которого 43 является четвертым выходом блока 4.The
Генератор 5 локаторов формирует на своих выходах локаторы Zo-Zn-1-позиций и может быть выполнен (фиг.4) на триггерах 44-47 и элементе ИСКЛЮЧАЮЩЕЕ ИЛИ 48, выход которого соединен с D-входом первого триггера 44, выход которого подключен к входу элемента 48 и является первым выходом генератора 5. Выход второго триггера 45 соединен с другим входом элемента 48 и является вторым выходом генератора 5. Выходы третьего и четвертого триггеров 46, 47 подключены к D-входам триггеров 45 и 46 соответственно и являются третьим и четвертым выходами генератора 5. D-вход четвертого триггера 47 соединен с выходом первого триггера 44. С-входы триггеров 44-47 объединены и являются входом синхронизации генератора 5, а объединенные R-входы триггеров 44, 47 и S-входы триггеров 45, 46 входом обнуления генератора 5. Такая реализация генератора 6 соответствует порождающему многочлену m(x) X4+ X + 1 в поле GF (24).The
Вычислитель 3 поправок реализуется для данного случая (фиг.5) на арифметико-логическом узле 49, первом и втором блоках 50, 51 переключений, первом четвертом регистрах 52-55 и блоке 56 управления и синхронизации. Первая четвертая группы 57 информационных входов блока 50 являются соответствующими группами информационных входов вычислителя 3. Группы выходов блока 50 соединены с соответствующими группами информационных входов узла 49, четыре группы выходов которого подключены к соответствующим группам информационных входов блока 51. Группы выходов блока 51 соединены с информационными входами соответствующих регистров 52-55, выходы которых подключены к пятой восьмой группам информационных входов блока 50. Первый и второй входы 58, 59 блока 56 являются одноименными управляющими входами вычислителя 3. Первая группа выходов блока 56 соединена с соответствующими управляющими входами узла 49, выход 60 которого является первым выходом вычислителя 3. Выходы 61-64 соответственно третьего, четвертого, первого и второго регистров 54, 55, 52, 53 являются соответственно первой четвертой группами выходов вычислителя 3, а второй выход 65 узла 49 вторым выходом вычислителя 3. Вторая и третья группы выходов блока 56 соединены с управляющими входами блоков 50, 51, первый четвертый выходы блока 56 подключены ко входам синхронизации регистров 52-55. The
Арифметико-логический узел 49 включает в себя (фиг.5) первый четвертый перемножители 66-69, первый третий сумматоры 70-72, первый третий блоки 73-75 возведения в квадрат, блок 76 возведения в четвертую степень, первый пятый переключатели 77-81, блок 82 равнозначности и блок 83 умножения на матрицу. Управляющие входы блоков 74, 75, 73, сумматоров 70, 71, 72, блока 83 и переключателей 77-81 являются соответствующими управляющими входами узла 49. Информационные входы блока 73, первая и вторая группы входов перемножителя 66, информационные входы блока 74, первые группы информационных входов переключателей 77, 78 и вторые группы информационных входов переключателей 80, 81 являются соответственно первой восьмой группами информационных входов узла 49. Выходы блока 73 и перемножителя 66 соединены с группами информационных входов сумматора 70, выходы которого подключены первым группам входов перемножителя 69 и блока 82 и являются первой группой выходов узла 49. Выходы блока 83 и сумматора 72 являются второй и третьей группами выходов узла 49. Выходы блока 74 подключены к второй группе информационных входов переключателя 77 и информационным входам блока 75, выходы которого соединены со второй группой информационных входов переключателя 78, первой группой информационных входов переключателя 80 и одной из групп информационных входов сумматора 71. Выходы переключателей 77 и 78 подключены к группам входом перемножителя 67, выходы которого соединены с входами блока 76 и другой группой информационных входом сумматора 71. Выходы блока 76 подключены к первой группе информационных входов переключателя 79, выходы сумматора 71 соединены с второй группой информационных входов переключателей 79, второй группой входов блока 82 и является четвертой группой выходов узла 49. Выходы переключателей 79, 80 подключены к группам входов перемножителя 68, выходы которого соединены с первыми группами информационных входов сумматора 72 и переключателя 81, выходы которого подключены ко второй группе входов перемножителя 69, выходы которого соединены со второй группой информационных входов сумматора 72 и информационными входами блока 83. Старший разряд выходов перемножителя 69 является первым выходом узла 49, а выход блока 82 вторым выходом узла 49. The
Переключатели 77-81 могут быть реализованы в микроэлектронном исполнении в виде полупроводниковых ключей. Switches 77-81 can be implemented in microelectronic design in the form of semiconductor switches.
Все перемножители 66-69 и умножители 20-23 и 83 и все блоки 73-76 возведения в степень осуществляют все операции в поле GF(24) и могут быть выполнены в виде известных комбинационных схем. Сумматоры 24-27 являются сумматорами по модулю 2, а блоки 6.7 суммирования и сумматоры 70-72 являются сумматорами по модулю 2 с управляемыми вентилями по входу b. Логика работы этих блоков в зависимости от сигналов управления показана в табл.1. Блоки возведения в квадрат 73-75 содержат мультиплексоры, которые работают в зависимости от сигналов управления согласно табл.2, где комбинация v=11 не используется.All the multipliers 66-69 and the multipliers 20-23 and 83 and all the power raising blocks 73-76 carry out all the operations in the GF field (2 4 ) and can be performed in the form of well-known combinational circuits. Adders 24-27 are adders modulo 2, and the adders 6.7 and adders 70-72 are adders modulo 2 with controlled valves at input b. The logic of the operation of these blocks depending on the control signals is shown in Table 1. Blocks squaring 73-75 contain multiplexers that operate depending on the control signals according to table 2, where the combination v = 11 is not used.
Блок 83 умножения на матрицу, который работает согласно табл.3, осуществляет умножение входного кода на матрицу, позволяющую найти корни уравнения (6) y1 и y2, и зависит от порождающего многочлена m(x) (см.выше упомянутую книгу Э.М.Габидулина и В.Б.Афанасьева).
Синхронизатор 11 работает в соответствии с диаграммой на фиг.6. The
Блок 56 управления и синхронизации может быть выполнен известными схемотехническими способами, обеспечивающими его работу согласно табл.4. В этой таблице знаком "х" отмечены произвольные состояния соответствующих сигналов, а "Н" и "В" обозначают соответственно нижнее и верхнее положения переключателей 77-81 на фиг.5. Числа в таблице соответствуют нумерации элементов на фиг.5. Комбинация одновременного появления сигналов ОNE=1 и SEC=1 не используется. Сигналы синхронизации на регистры 52-55 формируются в блоке 56 согласно диаграммам фиг.7.
Декодер с исправлением ошибок работает следующим образом. The error correction decoder works as follows.
На вход 13 поступает либо тактовый сигнал с опорной частотой F, либо сигнал словной (блочной) синхронизации для привязки фазы генератора частоты F в сихронизаторе 11. По сигналу с частотой F в синхронизаторе 11 вырабатываются сигналы F1-F4 (фиг.6). Input 13 receives either a clock signal with a reference frequency F, or a word (block) synchronization signal for linking the phase of the frequency generator F in
По сигналу F1 в первых n тактах в блок 1 записывается очередное кодовое слово. Одновременно с этим по сигналу F2 то же кодовое слово подается в формирователь 2, на выходах которого в n-ном такте формируются элементы So S3 cиндрома согласно (1). Эти элементы поступают на блок 4 выбора режима, в котором в зависимости от соотношений между элементами Sо-S3 формируются соответствующие сигналы.By the signal F1, in the first n clock cycles, the next codeword is recorded in
Если все элементы Sо-S3 синдрома равны нулю, это означает отсутствие ошибки в принятом слове. На выходе 42 блока 4 в этом случае вырабатывается единичный сигнал END, разрешающий выдачу принятого кодового слова потребителю без исправлений. Синхронизатор 11 по этому сигналу сразу начинает формировать вторую половину сигнала F1, по которому коды с блока 1 проходят на выходы 14. Поскольку вычислитель 3 в этом режиме никаких сигналов не выдает, а блоки 6.7 управляющие сигналы не поступают. Поэтому блоки 6 и 7 пропускают выходные сигналы блока 1 без изменений.If all elements of S о -S 3 syndrome are equal to zero, this means that there is no error in the received word. At the
Если в принятом кодовом слове искажены более двух символов, появляется сигнал ERR на выходе 43 блока 4. Этот сигнал проходит на выход 15, индицируя невозможность исправления данного кодового слова. По сигналу ERR во внешней схеме может быть осуществлен запрет передачи данного слова потребителю либо организован переспрос передатчика. В частном случае данный сигнал ERR может быть введен в синхронизатор 11, который в этом случае выдаст сигнал обнуления блока 1 и сразу перейдет к новому циклу формирования сигналов F1-F4. If more than two characters are distorted in the received codeword, an ERR signal appears at the
Отсутствие сигналов END и ERR на выходах 42 и 43 блока 4 означает наличие одной или двух ошибок в принятом кодовом слове. В этом случае вычислитель 3 по сигналу F3 с синхронизатора 11 осуществляет вычисление локаторов Z, Zγ2 и значений Е1, Е2 ошибок. При этом в нулевом состоянии (см.табл.4) узел 49 определяет истинность выражения SоС2 S
На выходах 63 регистра 52 в первом состоянии этого варианта декодирования и а выходах 61 регистра 54 во втором состоянии формируются соответственно локатор Zγ1 1 и значение Е1 ошибки согласно (3). Когда синхронизатор 11 начинает выдавать сигнал F4 (и вторую половину сигнала F1), генератор 5 начинает потактовое формирование локаторов Zi позиций в кодовом слове, которое при этом потактово выводится из блока 1. Локаторы Zi соответствуют позиции символа кодового слова, выводимого в данный момент из блока 1. При равенстве очередного локатора Zi, сформированного генератором 5, с локатором Zγ1 ошибки на выходах 63 вычислителя блок 8 выдает управляющий сигнал на блок 6, по которому в блоке 6 искаженный символ, выводимый в этом такте из блока 1, суммитируется по модулю два со значением Е1 ошибки с выходов 61 вычислителя 3. В результате исправленный символ поступает на выходы 14 декодера. В остальные такты блок 6 пропускает символы без изменения. Блоки 7 и 9 в этом варианте декодирования не используются, т.к. на выходах 64 вычислителя отсутствует код локатора Zγ2 (нет второй ошибки) и управляющий сигнал на блок 7 с блока 9 не выдается.At the outputs 63 of the
Если в нулевом состоянии (таблица) блок 82 не выдает сигнал ЕQ, это означает (при нулевых сигналах END и ERR с выходов 42, 43 блока 4) наличие двух ошибок в принятом кодовом слове. В этом случае на выходе 40 блока 4 сигнал ONE отсутствует. Если элемент S1 синдрома не равен нулю, то отсутствует и сигнал SEC на выходе 41 блока 4. Вычислитель 3 тогда работает по второму варианту табл.4 и фиг.8. определяя локаторы Zγ1, Zγ2и значения Е1, Е2 ошибок согласно выражениям (7)-(9) и (11). В каждом состоянии (на каждом шаге, в каждой итерации) этого варианта в соответствующие регистры 52-55 записываются комбинации элементов Sj, вычисленные в этом состоянии, причем как запись в эти регистры с группы выходов узла 49, так и считывание из них на соответствующие групп входов узла 49 осуществляются с помощью блоков 50, 51 в соответствии с табл.4 и фиг.8. Поскольку узел 49 является асинхронной комбинационной схемой, длительность каждого состояния определяется лишь задержкой в элементах узла 49 и временем срабатывания блоков 50, 51.If in the zero state (table), block 82 does not give an EQ signal, this means (at zero signals END and ERR from
Следует отметить, что как во втором, так и в третьем вариантах декодирования наличие в каком-либо состоянии табл.4 обозначения 54(1) означает, что при считывании из третьего регистра 54 данных через блок 50 в узел 49 вместо младшего разряда этих данных записывается величина, указанная в скобках. It should be noted that in both the second and third decoding versions, the presence in some state of Table 4 of the designation 54 (1) means that when reading data from the
По завершении выдачи синхронизатором 11 сигнала F3 на выходах 63 и 64 вычислителя 3 устанавливаются значения локаторов Zγ1,Zγ2 обеих ошибок, а на выходах 61 и 62 вычислителя 3 значения Е1, Е2 этих ошибок. Далее по сигналу F4 с синхронизатора 11 генератор 5 начинает формировать локаторы Zi позиций, а кодовое слово по сигналу F1 поступает из блока 1. Аналогично первому варианту (при одной ошибке) в момент равенства локатора Zi с одним из локаторов Z 1 или Z 2 соответствующий блок 8 или 9 выдает управляющий сигнал на соответствующий блок 6 или 7, где производится суммирование по модулю два искаженного символа и значения Е1 или Е2 ошибки. Исправленное кодовое слово поступает на выход 14.Upon completion of the issuance by the
В том случае, когда на выходе 41 блока 4 присутствует единичный сигнал SEC, свидетельствующий о равенстве нулю элемента S1, вычисление свободного члена С в уравнении (6) по выражению (7) некорректно. Поэтому вычисления в соответствии с выражениями (12)-(14) для этого режима производится согласно третьему варианту табл.4 и фиг.9. В остальном работа декодера происходит так же, как и во втором варианте.In the case when at the
Если во втором или третьем вариантах декодирования в третьем состоянии (табл. 4) в старшем разряде выходов перемножителя 69 узла 49, т.е. на выходе 65 вычислителя 3 формируется единичный сигнал ER(3), то он поступает через элемент ИЛИ 10 на выход 15 отказа от декодирования. Это связано с тем, что в данном случае для порождающего многочлена m(x) x4 + x + 1 не выполняется условие существования решения квадратного уравнения (6).If in the second or third variants of decoding in the third state (Table 4) in the high order of the outputs of the
Обнуление (начальная установка) генератора 5 может осуществляться специальным сигналом в промежутки между выдачами сигналов F4 либо автоматически по снятию сигнала F4. Zeroing (initial setting) of the
В данном изобретении благодаря использованию при вычислениях сигналов индикации различных режимов, соответствующих разному числу ошибок в принятом кодовом слове, время вычислений и сложность схемы снижения по сравнению с прототипом. In this invention, due to the use of various modes of indications in the calculation of signals corresponding to a different number of errors in the received codeword, the computation time and the complexity of the reduction circuit compared to the prototype.
Быстродействие декодера может быть увеличено за счет совмещения операций вывод кодового слова из блока 1 и записи в блок 1 следующего кодового слова. Кроме того, может быть предусмотрено сокращение времени выдачи сигнала F3 при наличии одной ошибки и отказ от выдачи сигналов F3 и F4 в случае отказ от декодирования. The speed of the decoder can be increased by combining operations outputting the code word from
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93049111A RU2054224C1 (en) | 1993-10-18 | 1993-10-18 | Error-correcting decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU93049111A RU2054224C1 (en) | 1993-10-18 | 1993-10-18 | Error-correcting decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2054224C1 true RU2054224C1 (en) | 1996-02-10 |
RU93049111A RU93049111A (en) | 1997-04-10 |
Family
ID=20148548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU93049111A RU2054224C1 (en) | 1993-10-18 | 1993-10-18 | Error-correcting decoder |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2054224C1 (en) |
-
1993
- 1993-10-18 RU RU93049111A patent/RU2054224C1/en active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР N 1432786, кл. H 03M 13/00, 1988. Авторское свидетельство СССР N 1290540, кл. H 03M 13/08, 1987 (прототип). * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5343481A (en) | BCH error-location polynomial decoder | |
US6029186A (en) | High speed calculation of cyclical redundancy check sums | |
US5440570A (en) | Real-time binary BCH decoder | |
US5699368A (en) | Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes | |
US6026420A (en) | High-speed evaluation of polynomials | |
US4165444A (en) | Apparatus for electronic encypherment of digital data | |
US5694330A (en) | Error correction method including erasure correction, and apparatus therefor | |
US5912905A (en) | Error-correcting encoder, error-correcting decoder and data transmitting system with error-correcting codes | |
US4677623A (en) | Decoding method and apparatus for cyclic codes | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
Kwon et al. | An area-efficient VLSI architecture of a Reed-Solomon decoder/encoder for digital VCRs | |
US7089276B2 (en) | Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256) | |
EP0034036A2 (en) | Encoders and decoders for cyclic block codes | |
US8103943B2 (en) | Symbol reconstruction in Reed-Solomon codes | |
JPH0728227B2 (en) | Decoding device for BCH code | |
US4488302A (en) | Burst error correction using cyclic block codes | |
US5890800A (en) | Method and device for the division of elements of a Galois field | |
US5964826A (en) | Division circuits based on power-sum circuit for finite field GF(2m) | |
US3781791A (en) | Method and apparatus for decoding bch codes | |
US20080140740A1 (en) | Systems and methods for processing data sets in parallel | |
RU2054224C1 (en) | Error-correcting decoder | |
US4298981A (en) | Decoding shortened cyclic block codes | |
CN100459438C (en) | Reed-solomon decoder key equation and error value solving-optimizing circuit | |
JP3343857B2 (en) | Decoding device, arithmetic device, and methods thereof | |
US6138133A (en) | Circuit for calculating the inverse of an arbitrary element of a finite field |