RU2704499C1 - Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder - Google Patents

Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder Download PDF

Info

Publication number
RU2704499C1
RU2704499C1 RU2018141132A RU2018141132A RU2704499C1 RU 2704499 C1 RU2704499 C1 RU 2704499C1 RU 2018141132 A RU2018141132 A RU 2018141132A RU 2018141132 A RU2018141132 A RU 2018141132A RU 2704499 C1 RU2704499 C1 RU 2704499C1
Authority
RU
Russia
Prior art keywords
unit
decoder
bus
input
block
Prior art date
Application number
RU2018141132A
Other languages
Russian (ru)
Inventor
Наталья Александровна Шехунова
Сергей Иванович Ковалев
Владимир Викторович Хрусталев
Сергей Сергеевич Шумилин
Максим Юрьевич Лопарев
Original Assignee
Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения" filed Critical Федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский государственный университет аэрокосмического приборостроения"
Priority to RU2018141132A priority Critical patent/RU2704499C1/en
Application granted granted Critical
Publication of RU2704499C1 publication Critical patent/RU2704499C1/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: electrical communication engineering.
SUBSTANCE: invention relates to noise-immune coding and can be used to improve communication quality and reliability of storing data in memory microcircuits. Decoder of the Bose-Chaudhuri-Hocquengham code with the canonical Hamming decoder has: a permutation unit connected to a unit for calculating the error position in the canonical Hamming code and the syndrome calculating unit. Unit for calculating an error position in a canonical Hamming code, a unit for calculating an inverse element in a third degree, a first multiplier unit, a key equation solving unit and a second multiplier unit are connected in series. Second input of the second multiplier unit is connected to a unit for calculating the error position in the canonical Hamming code. Second multiplier unit is connected to the first adder unit and the first decoder. Unit for calculating the error position in the canonical Hamming code and a second decoder are connected to the first adder unit. First decoder, the second decoder and the permutation unit are connected to the second summation unit, which is connected to the reverse permutation unit.
EFFECT: high efficiency of decoding a BCH code with a code distance of 5 and 6.
3 cl, 2 dwg

Description

Изобретение относится к области помехоустойчивого кодирования и может быть использовано для повышения качества связи и надежности хранения данных в микросхемах памяти.The invention relates to the field of error-correcting coding and can be used to improve communication quality and reliability of data storage in memory chips.

Известен быстрый программный Боуза-Чоудхури-Хоквингема (далее - БЧХ) кодер и декодер (URL: http://www.channelscience.com/files/NealGloverFastSoftwareBCHEndecR400r2.pdf), который включает в себя блок вычисления синдрома, блок составления ключевого уравнения и блок прямого решения ключевого уравнения.The fast Bowse-Chowdhury-Hockingham software (hereinafter referred to as BCH) is known for the encoder and decoder (URL: http://www.channelscience.com/files/NealGloverFastSoftwareBCHEndecR400r2.pdf), which includes a block for calculating the syndrome, a block for compiling the key equation, and a block direct solution to the key equation.

Недостатком данного декодера является повышенная сложность реализации, вызванная необходимостью хранения таблицы логарифмов в дополнительном блоке памяти.The disadvantage of this decoder is the increased implementation complexity caused by the need to store the logarithm table in an additional memory block.

Известно декодирование двойных ошибок и обнаружение тройных ошибок при помощи БЧХ кодов (заявка № US 4556977 A, опубл. 15.09.1983, URL: https://patents.google.com/patent/US4556977A), которое включает вычислитель синдрома, генератор коэффициента для каждого бита кодового слова и детектор нуля.It is known to decode double errors and detect triple errors using BCH codes (application No. US 4556977 A, published on 09/15/1983, URL: https://patents.google.com/patent/US4556977A), which includes a syndrome calculator, a coefficient generator for each bit of the codeword and zero detector.

Недостатком данного аналога является повышенная сложность реализации, так как необходимо для каждого бита кодового слова вычислять определенный коэффициент, который равен произведению верхней половины синдрома на соответствующую данному биту матрицу.The disadvantage of this analogue is the increased complexity of implementation, since it is necessary to calculate a certain coefficient for each bit of the code word, which is equal to the product of the upper half of the syndrome and the matrix corresponding to this bit.

Известен БЧХ декодер (заявка № US 8806308 B2, опубл. 12.08.2014, URL: https://www.google.com/patents/US8806308), который состоит из генератора синдрома, блока решения ключевого уравнения и блока нахождения позиции ошибки по локатору.Known BCH decoder (application number US 8806308 B2, publ. 08/12/2014, URL: https://www.google.com/patents/US8806308), which consists of a generator of the syndrome, a block for solving the key equation and a block for finding the error position by the locator .

Недостатком данного аналога является необходимость использования блока вычисления ошибки по синдрому, что влечет за собой дополнительные временные и аппаратные затраты.The disadvantage of this analogue is the need to use the unit for calculating errors by the syndrome, which entails additional time and hardware costs.

Наиболее близким техническим решением является "Прямой табличный декодер, исправляющий две ошибки в БЧХ коде и использующий пару синдромов" (заявка № US 4030067 A, опубл. 29.12.1975, URL: https://patents.google.com/patent/US4030067A).The closest technical solution is "Direct table decoder that fixes two errors in the BCH code and uses a couple of syndromes" (application number US 4030067 A, publ. 12/29/1975, URL: https://patents.google.com/patent/US4030067A) .

Прямой табличный декодер состоит из первого блока умножения, на входы которого подключены шины от блока вычисления синдрома, вход которого подключен к первой шине, и блока вычисления обратного элемента в третьей степени, вход которого подключен к шине S1, а выход первого блока умножения через шину с инвертором нулевого бита подключен к входу блока решения ключевого уравнения, выход которого подключен на вход второго блока умножения, на второй вход которого подключена шина S1, а его выход подключен к первому дешифратору и первому блоку суммирования, на второй вход которого подключена шина S1, а выход подключен к входу второго дешифратора, выходы дешифраторов и первая шина подключены ко второму блоку суммирования, шина S1 и шина S3 подключены на входы блока флагов.The direct table decoder consists of the first multiplication unit, the inputs of which are connected to the bus from the syndrome calculation unit, the input of which is connected to the first bus, and the inverse element calculation unit to the third degree, the input of which is connected to the S1 bus, and the output of the first multiplication unit through the bus with the zero bit inverter is connected to the input of the key equation solution block, the output of which is connected to the input of the second multiplication block, the bus S1 is connected to the second input, and its output is connected to the first decoder and the first block by sums the second input of which the bus S1 is connected, and the output is connected to the input of the second decoder, the outputs of the decoders and the first bus are connected to the second summing unit, the bus S1 and bus S3 are connected to the inputs of the flag block.

Прямой табличный декодер работает следующим образом: входное слово подается на блок вычисления синдрома на выходе которого формируется первая и вторая компоненты синдрома. Первая компонента синдрома подается на блок вычисления обратного элемента в третьей степени. Первый блок умножения перемножает результат работы блока вычисления обратного элемента в третьей степени со второй компонентой синдрома и подает результат через шину с инвертором нулевого бита на блок решения ключевого уравнения. Выход которого подается на вход второго блока умножения, на второй вход которого подается первая компонента синдрома. На выходе второго блока умножения появляется первый локатор ошибки, который поступает на первый дешифратор. Первый дешифратор по таблице преобразует первый локатор в вектор первой ошибки и подает его на второй блок суммирования. Также выход второго блока умножения подается на первый блок суммирования, на выходе которого образуется второй локатор, который подается на второй дешифратор. Выход второго дешифратора подается на второй блок суммирования, который производит сумму входного слова с двумя векторами ошибок и выдает на шину выхода исправленное кодовое слово.The direct table decoder works as follows: the input word is fed to the syndrome calculation unit, at the output of which the first and second components of the syndrome are formed. The first component of the syndrome is fed to the inverse element calculation unit in the third degree. The first multiplication block multiplies the result of the inverse element calculation unit in the third degree with the second component of the syndrome and feeds the result through the bus with a zero bit inverter to the key equation solution block. The output of which is fed to the input of the second multiplication block, to the second input of which the first component of the syndrome is fed. At the output of the second multiplication block, the first error locator appears, which arrives at the first decoder. The first decoder on the table converts the first locator into the vector of the first error and feeds it to the second summing block. Also, the output of the second multiplication block is fed to the first summing block, at the output of which a second locator is formed, which is fed to the second decoder. The output of the second decoder is fed to the second summing unit, which produces the sum of the input word with two error vectors and provides the corrected code word to the output bus.

Недостатком прототипа является повышенная сложность реализации, вызванная тем, что из-за структуры блока вычислителя синдрома для нахождения позиции ошибки необходимо использовать таблицу в первом дешифраторе и втором дешифраторе, а также необходимо хранить таблицу для решения ключевого уравнения.The disadvantage of the prototype is the increased complexity of the implementation, due to the fact that due to the structure of the block of the transmitter of the syndrome, to find the position of the error, you must use the table in the first decoder and second decoder, and you also need to store the table to solve the key equation.

Задачей создания изобретения является разработка декодера помехоустойчивого кода, который позволял бы исправлять одиночные и двойные ошибки, а также обнаруживать тройные ошибки и при этом имел бы минимальную аппаратную сложность при высокой скорости работы.The objective of the invention is to develop a decoder error-correcting code that would allow to correct single and double errors, as well as detect triple errors and at the same time would have minimal hardware complexity at high speed.

Техническим результатом является уменьшение аппаратной сложности декодера произвольного БЧХ кода с кодовым расстоянием 5 и 6.The technical result is to reduce the hardware complexity of the decoder of an arbitrary BCH code with a code distance of 5 and 6.

Технический результат достигается тем, что в декодер, содержащий: первый блок умножения, на входы которого подключены шины от блока вычисления синдрома, вход которого подключен к первой шине, и блока вычисления обратного элемента в третьей степени, вход которого подключен к шине S1, а выход первого блока умножения через шину с инвертором нулевого бита подключен к входу блока решения ключевого уравнения, выход которого подключен на вход второго блока умножения, на второй вход которого подключена шина S1, а его выход подключен к первому дешифратору и первому блоку суммирования, на второй вход которого подключена шина S1, а выход - подключен к входу второго дешифратора, выходы дешифраторов и первая шина подключены ко второму блоку суммирования, шина S1 и шина S3 подключены на входы блока флагов, дополнительно установлены блок перестановки, подключенный к шине входа и первой шине, блок обратной перестановки, подключенный к выходу второго блока суммирования и шине выхода, блок вычисления ошибки в каноническом коде Хэмминга, вход которого подключен к первой шине, а выход к шине S1, блок проверки на четность, вход которого подключен к первой шине, а выход к блоку флагов, причем первый и второй дешифраторы выполнены на высокоскоростных аппаратных демультиплексорах, блок перестановки и блок обратной перестановки выполнены перемежением проводников, блок вычисления ключевого уравнения выполнен на аппаратной схеме вычисления следа в поле Галуа, а блок флагов выполнен на аппаратной схеме, обнаруживающей одиночные, двойные, тройные ошибки.The technical result is achieved in that in the decoder, comprising: a first multiplication unit, the inputs of which are connected to the bus from the unit for calculating the syndrome, the input of which is connected to the first bus, and the unit for calculating the inverse element in the third degree, the input of which is connected to the bus S1, and the output the first block of multiplication through the bus with the inverter of the zero bit is connected to the input of the block solving the key equation, the output of which is connected to the input of the second block of multiplication, the second input of which is connected to the bus S1, and its output is connected to the first decryption the switch and the first summing unit, to the second input of which the S1 bus is connected, and the output is connected to the input of the second decoder, the decoder outputs and the first bus are connected to the second summing unit, the S1 bus and S3 bus are connected to the flags block inputs, an additional permutation unit is installed, connected to the input bus and the first bus, a reverse permutation block connected to the output of the second summing block and the output bus, the error calculation block in the canonical Hamming code, the input of which is connected to the first bus, and the output to the S1 bus, block parity checks, the input of which is connected to the first bus, and the output to the flag block, the first and second decoders being made on high-speed hardware demultiplexers, the permutation unit and the reverse permutation unit are interleaved, the key equation calculation unit is executed on the hardware trace calculation circuit in the field Galois, and the flag block is made on a hardware circuit that detects single, double, triple errors.

Технический результат достигается за счет введения дополнительных блоков и связей, а именно блока перестановки, установленного между шиной входа и первой шиной, блока вычисления позиции ошибки в каноническом коде Хэмминга, установленного между первой шиной и шиной S1, блока проверки на четность, на вход которого подключен выход блока перестановки, а выход которого подключен к блоку флагов и блока обратной перестановки, подключенного между выходом второго блока суммирования и шиной выхода, которые позволяют дать причинно-следственную связь между введением новых блоков (связей) и техническим результатом. Выполненные изменения позволяют понизить требования к сложности аппаратной реализации декодера БЧХ кода и увеличить скорость его работы, так как дают возможность упростить и ускорить первый и второй дешифраторы.The technical result is achieved by introducing additional blocks and links, namely, a permutation block installed between the input bus and the first bus, an error position calculation unit in the canonical Hamming code installed between the first bus and the S1 bus, the parity check block, to the input of which is connected the output of the permutation block, and the output of which is connected to the flag block and the reverse permutation block, connected between the output of the second summing block and the output bus, which allow us to give a causal effect bond between the introduction of new blocks (links) and the technical result. The changes made reduce the complexity requirements for the hardware implementation of the BCH code decoder and increase the speed of its operation, as they make it possible to simplify and speed up the first and second decoders.

Сущность изобретения поясняется чертежами, где на фиг. 1 представлена схема декодера, на фиг 2. представлена схема блока вычисления позиции ошибки в каноническом коде Хэмминга и введены следующие обозначения:The invention is illustrated by drawings, where in FIG. 1 is a diagram of a decoder, FIG. 2 is a diagram of a block for calculating an error position in a canonical Hamming code and the following notation is introduced:

n - длина кодового словаn is the codeword length

r - количество проверочных символовr is the number of test characters

1 - Блок перестановки1 - permutation block

2 - Блок вычисления позиции ошибки в каноническом коде Хэмминга2 - Unit for calculating the error position in the canonical Hamming code

3 - Блок вычисления синдрома3 - Syndrome calculation unit

4 - Блок проверки на четность4 - Parity block

5 - Блок вычисления обратного элемента в третьей степени5 - Block calculating the inverse element in the third degree

6 - Первый блок умножения6 - The first block of multiplication

7 - Блок флагов7 - Flag block

8 - Блок решения ключевого уравнения8 - Block solving the key equation

9 - Второй блок умножения9 - The second block of multiplication

10 - Первый блок суммирования10 - The first block summation

11 - Первый дешифратор11 - First decoder

12 - Второй дешифратор12 - Second decoder

13 - Второй блок суммирования13 - The second block summation

14 - Блок обратной перестановки14 - Block reverse permutation

Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга содержит: блок перестановки 1, на вход которого подключена шина входа, а выход подключен к входу блока вычисления позиции ошибки в каноническом коде Хэмминга 2, входу блока вычисления синдрома 3, входу блока проверки на четность 4. Выход блока вычисления позиции ошибки в каноническом коде Хэмминга 2 подключен ко входу блока вычисления обратного элемента в третьей степени 5, выход которого подключен к первому блоку умножения 6, выход которого через шину с инвертором нулевого бита подключен к входу блока флагов 7, на вход которому также подключены выход блока вычисления ошибки в каноническом коде Хэмминга 2, блок вычисления синдрома 3 и блок проверки на четность 4. Выход первого блока умножения 6 через шину с инвертором подключен ко входу блока решения ключевого уравнения 8, выход которого подключен ко второму блоку умножения 9, на второй вход которого подключен выход блока вычисления позиции ошибки в каноническом коде Хэмминга 2. Выход второго блока умножения 9 подключен ко второму входу первого блока суммирования 10 и первому дешифратору 11. Ко второму входу первого блока суммирования 10 подключен выход блока вычисления позиции ошибки в каноническом коде Хэмминга 2. Выход первого блока суммирования 10 подключен к входу второго дешифратора 12. Выходы первого дешифратора 11, второго дешифратора 12 и блока перестановки 1 подключены ко входам второго блока суммирования 13, выход которого подключен к блоку обратной перестановки 14, выход которого подключен к шине выхода.The Bowse-Chowdhury-Hockingham code decoder with the canonical Hamming decoder contains: permutation unit 1, the input bus is connected to the input, and the output is connected to the input of the error position calculation unit in the canonical Hamming code 2, the input of the syndrome 3 calculation unit, the input of the parity check block 4. The output of the unit for calculating the error position in the canonical Hamming code 2 is connected to the input of the unit for calculating the inverse element in the third degree 5, the output of which is connected to the first multiplication unit 6, the output of which is through the bus with the inverter zero the second bit is connected to the input of the flag block 7, the input of which is also connected to the output of the error calculation block in the canonical Hamming code 2, the syndrome 3 calculation block and the parity check block 4. The output of the first multiplication block 6 is connected via the inverter bus to the input of the key decision block equation 8, the output of which is connected to the second block of multiplication 9, the second input of which is connected to the output of the block for calculating the error position in the canonical Hamming code 2. The output of the second block of multiplication 9 is connected to the second input of the first block 10 and the first decoder 11. To the second input of the first summing unit 10 is connected the output of the error position calculating unit in the canonical Hamming code 2. The output of the first summing unit 10 is connected to the input of the second decoder 12. The outputs of the first decoder 11, the second decoder 12 and the permutation unit 1 connected to the inputs of the second summing unit 13, the output of which is connected to the reverse permutation unit 14, the output of which is connected to the output bus.

Блок перестановки 1 выполнен, например, на проводниках, соединение которых между входом и выходом блока выполнены таким образом, чтобы привести систематический вид входного кодового слова к лексикографическому виду.The permutation unit 1 is made, for example, on conductors, the connection of which between the input and output of the unit is made in such a way as to bring the systematic form of the input code word to a lexicographic form.

Блок вычисления позиции ошибки в каноническом коде Хэмминга 2 выполнен, например, на шифраторе, построенном на аппаратных элементах сложения по модулю два [1, 2, 3].The unit for calculating the error position in the canonical Hamming 2 code is executed, for example, on an encoder built on hardware elements of addition modulo two [1, 2, 3].

Блок вычисления синдрома 3 выполнен, например, на элементах сложения по модулю 2 [4].The unit for calculating syndrome 3 is, for example, performed on addition elements modulo 2 [4].

Блок проверки на четность 4 выполнен, например, на нескольких сумматорах типа "исключающего ИЛИ".The parity check block 4 is performed, for example, on several exclusive-OR combiners.

Блок вычисления обратного элемента в третьей степени 5 выполнен, например, на заранее рассчитанной таблице.The inverse element calculation unit in the third degree 5 is made, for example, on a pre-calculated table.

Первый блок умножения 6 выполнен, например, на элементах "И" и сложения по модулю 2 [5].The first block of multiplication 6 is made, for example, on the elements "And" and addition modulo 2 [5].

Блок флагов 7 выполнен, например, на аппаратной схеме из компонентов "ИЛИ", "И", "НЕ".The block of flags 7 is made, for example, on a hardware circuit of the components "OR", "AND", "NOT".

Блок решения ключевого уравнения 8 выполнен, например, на аппаратной схеме, использующей результат вычисления следа элементов в поле Галуа. [6].The block for solving key equation 8 is made, for example, on a hardware circuit using the result of calculating the trace of elements in the Galois field. [6].

Второй блок умножения 9 выполнен, например, на элементах "И" и элементах сложения по модулю 2 [5].The second block of multiplication 9 is made, for example, on the elements "And" and the elements of addition modulo 2 [5].

Первый блок суммирования 10 выполнен, например, на элементах сложения по модулю два с двумя входами.The first summing unit 10 is made, for example, on addition elements modulo two with two inputs.

Первый дешифратор 11 и второй дешифратор 12 выполнены на высокоскоростных аппаратных демультиплексорах [7].The first decoder 11 and the second decoder 12 are made on high-speed hardware demultiplexers [7].

Первый блок суммирования 13 выполнен, например, на элементах сложения по модулю два с тремя входами.The first summing unit 13 is made, for example, on addition elements modulo two with three inputs.

Блок перестановки 14 выполнен, например, на проводниках, соединение которых между входом и выходом блока выполнены таким образом, чтобы произвести перестановку символов кодового слова таким образом, чтобы первая часть синдрома соответствовала каноническому декодеру кода Хэмминга.The permutation unit 14 is made, for example, on conductors, the connection of which between the input and the output of the unit is made in such a way as to permute the symbols of the code word so that the first part of the syndrome corresponds to the canonical Hamming code decoder.

Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга работает следующим образом: входное слово подается на вход блока перестановки 1, который осуществляет перестановку бит входного кодового слова таким образом, чтобы оно соответствовало лексикографическому виду кода. Выходные биты блока перестановки 1 поступают на вход блока вычисления позиции ошибки в каноническом коде Хэмминга 2, который вычисляет первую компоненту синдрома кода Боуза-Чоудхури-Хоквингема, которая соответствует позиции ошибочного бита в случае, если произошла одна ошибка. Также выходные биты блока перестановки 1 поступают на вход блока вычисления синдрома 3, результатом работы которого является вторая компонента синдрома. Первая компонента синдрома подается на блок вычисления обратного элемента в третьей степени 5, результат которого подается на первый блок умножения 6. Также на первый блок умножения 6 подается вторая компонента синдрома, в результате чего на выходе первого блока умножения 6 получаем отношение второй компоненты синдрома к первой компоненте синдрома в третьей степени. Далее к результату первого блока умножения 6 прибавляется единица при помощи шины с инвертором нулевого бита, результат поступает на блок решения ключевого уравнения 8, на выходе которого появляется один корень уравнения. Корень ключевого уравнения перемножается с первой компонентой синдрома при помощи второго блока умножения 9 в результате чего на выходе второго блока умножения 9 оказывается вектор, двоичным представление которого является порядковый номер первого ошибочного бита. Для вычисления порядкового номера второго ошибочного бита результат второго блока умножения 9 складывается с первой компонентой синдрома при помощи первого блока суммирования 10. Порядковый номер первого ошибочного бита подается на вход первого дешифратора 11, а порядковый номер второго ошибочного бита подается на вход второго дешифратора 12. Выходом первого дешифратора 11 является вектор, у которого единица на позиции первого ошибочного бита, а все остальные нули. Выходом второго дешифратора 12 является вектор, у которого единица на позиции второго ошибочного бита, а все остальные нули. Выходные значения дешифраторов подаются на входы второму блоку суммирования 13, на который также поступают биты, полученные с выхода блока перестановки 1. На выходе второго блока суммирования 13 оказывается исправленное кодовое слово кода, имеющего лексикографически упорядоченную верхнюю половину проверочной матрицы. Для приведения полученного от второго блока суммирования 13 кодового слова к исходному коду это слово подается на вход блока обратной перестановки 14, результатом работы которого является исправленное кодовое слово исходного систематического кода. Параллельно с этим осуществляется установка состояния флагов, указывающих на то, насколько далеко находится принятое слово от кодовых слов. Это осуществляется при помощи блока флагов 7, на вход которому поданы две компоненты синдрома, вектор на выходе шины с инвертором нулевого бита и выход блока проверки на четность 4, на вход которого подаются биты с выхода блока перестановки 1.The Bowes-Chowdhury-Hockingham code decoder with the canonical Hamming decoder works as follows: the input word is fed to the permutation unit 1, which permutes the bits of the input code word so that it matches the lexicographic form of the code. The output bits of permutation block 1 go to the input of the block for calculating the error position in the canonical Hamming 2 code, which calculates the first component of the Bowes-Chowdhury-Hawkingham code syndrome, which corresponds to the position of the error bit in case one error occurs. Also, the output bits of permutation block 1 are input to the syndrome 3 calculation block, the result of which is the second component of the syndrome. The first component of the syndrome is fed to the inverse element calculation unit in the third degree 5, the result of which is fed to the first multiplication block 6. Also, the second component of the syndrome is fed to the first multiplication block 6, as a result of which the ratio of the second component of the syndrome to the first component is obtained at the output of the first multiplication block 6 component of the syndrome in the third degree. Next, the unit is added to the result of the first multiplication block 6 using a bus with a zero-bit inverter, the result goes to the block for solving key equation 8, at the output of which one root of the equation appears. The root of the key equation is multiplied with the first component of the syndrome using the second multiplication block 9, resulting in the output of the second multiplication block 9 is a vector whose binary representation is the serial number of the first error bit. To calculate the sequence number of the second error bit, the result of the second multiplication block 9 is added to the first component of the syndrome using the first summing unit 10. The sequence number of the first error bit is fed to the input of the first decoder 11, and the sequence number of the second error bit is fed to the input of the second decoder 12. Output The first decoder 11 is a vector with one at the position of the first erroneous bit and all other zeros. The output of the second decoder 12 is a vector with one at the position of the second erroneous bit and all other zeros. The output values of the decoders are fed to the inputs of the second summing block 13, which also receives the bits received from the output of the permutation block 1. At the output of the second summing block 13, the corrected code word of the code has a lexicographically ordered upper half of the check matrix. To bring the code word received from the second summing block 13 to the source code, this word is fed to the input of the reverse permutation block 14, the result of which is the corrected code word of the original systematic code. In parallel with this, the state of the flags is set, indicating how far the received word is from the code words. This is done using the flag block 7, to the input of which two components of the syndrome are fed, a vector at the output of the bus with a zero-bit inverter and the output of the parity check block 4, to the input of which bits from the output of permutation block 1 are fed.

На основании вышесказанного можно сделать вывод, что предлагаемое изобретение позволяет реализовать декодеры для целого класса БЧХ кодов исправляющих двойные и обнаруживающих тройные ошибки, причем при декодировании не используется операция логарифмирования и необходимая для этого таблица, а достаточно двух быстрых аппаратных демультиплексоров, что значительно экономит аппаратные средства и повышает скорость работы кодировочной системы.Based on the foregoing, we can conclude that the present invention allows decoders to be implemented for a whole class of BCH codes correcting double and detecting triple errors, and when decoding, the logarithm operation and the table necessary for this are not used, but two fast hardware demultiplexers are sufficient, which significantly saves hardware and increases the speed of the encoding system.

Используемая литература:Used Books:

1. Мак-Вильямс Ф., Слоэн Н. Теория кодов, исправляющих ошибки Пер. с англ. - М.: Связь, 1979. - 744 с. (раздел 1.7, стр. 33-34)1. Mc-Williams F., Sloane N. Theory of error correction codes Per. from English - M.: Communication, 1979. - 744 p. (section 1.7, p. 33-34)

2. Аршинов М.Н., Садовский Л.Е. 'Коды и математика (рассказы о кодировании)' \\ Библиотечка 'Квант'. Выпуск 30 - Москва: Наука, 1983 - с. 144 (стр. 45-47)2. Arshinov M.N., Sadovsky L.E. 'Codes and mathematics (stories about coding)' \\ 'Quantum' library. Issue 30 - Moscow: Science, 1983 - p. 144 (p. 45-47)

3. R.W. Hamming, Error detecting and error correcting codes - The Bell system technical journal - Volume 29, Number 2, April 1950 (pages 147-160)3. R.W. Hamming, Error detecting and error correcting codes - The Bell system technical journal - Volume 29, Number 2, April 1950 (pages 147-160)

4. Титце У., Шенк К. Полупроводниковая схемотехника. 12-е изд. Том I: Пер. с нем. - М.: ДМК Пресс, 2008. - 832 с.: ил. ISBN 5-94074-148-7 (раздел 8.6 стр. 734)4. Titz U., Schenk K. Semiconductor circuitry. 12th ed. Volume I: Per. with him. - M.: DMK Press, 2008 .-- 832 p.: Ill. ISBN 5-94074-148-7 (section 8.6 p. 734)

5. Рахман П.А. Арифметика двоичного поля Галуа на базе быстрого умножения и инвертирования элементов поля и ее аппаратная реализация // Международный журнал прикладных и фундаментальных исследований. - 2015. - №12-3. - С. 403-408;5. Rahman P.A. Galois binary field arithmetic based on fast multiplication and inversion of field elements and its hardware implementation // International Journal of Applied and Fundamental Research. - 2015. - No. 12-3. - S. 403-408;

6. Э. Берлекэмп Алгебраическая теория кодирования, Изд. МИР, 1971. - 477 с. (глава 11, 252 стр.)6. E. Berlekamp Algebraic Theory of Coding, Ed. WORLD, 1971. - 477 p. (chapter 11, p. 252)

7. Титце У., Шенк К. Полупроводниковая схемотехника. 12-е изд. Том I: Пер. с нем. - М.: ДМК Пресс, 2008. - 832 с.: ил. ISBN 5-94074-148-7 (раздел 8.2.2 стр. 727)7. Titz U., Schenk K. Semiconductor circuitry. 12th ed. Volume I: Per. with him. - M.: DMK Press, 2008 .-- 832 p.: Ill. ISBN 5-94074-148-7 (section 8.2.2 p. 727)

Claims (3)

1. Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга, содержащий первый блок умножения, на входы которого подключены шины от блока вычисления синдрома, вход которого подключен к первой шине, и блока вычисления обратного элемента в третьей степени, вход которого подключен к шине S1, а выход первого блока умножения через шину с инвертором нулевого бита подключен к входу блока решения ключевого уравнения, выход которого подключен на вход второго блока умножения, на второй вход которого подключена шина S1, а его выход подключен к первому дешифратору и первому блоку суммирования, на второй вход которого подключена шина S1, а выход подключен к входу второго дешифратора, выходы дешифраторов и первая шина подключены ко второму блоку суммирования, шина S1 и шина S3 подключены на входы блока флагов, отличающийся тем, что дополнительно установлены блок перестановки, подключенный к шине входа и первой шине, блок обратной перестановки, подключенный к выходу второго блока суммирования и шине выхода, блок вычисления ошибки в каноническом коде Хэмминга, вход которого подключен к первой шине, а выход - к шине S1, блок проверки на четность, вход которого подключен к первой шине, а выход - к блоку флагов.1. Bowse-Chowdhury-Hawkingham code decoder with a canonical Hamming decoder, comprising a first multiplication unit, the inputs of which are connected to the bus from the syndrome calculation unit, the input of which is connected to the first bus, and the inverse element calculation unit in the third degree, whose input is connected to the bus S1, and the output of the first multiplication block via a bus with a zero-bit inverter is connected to the input of the key equation solving block, the output of which is connected to the input of the second multiplication block, to the second input of which the S1 bus is connected, and its output is sub is connected to the first decoder and the first summing unit, on the second input of which the S1 bus is connected, and the output is connected to the input of the second decoder, the decoder outputs and the first bus are connected to the second summing unit, the S1 bus and S3 bus are connected to the inputs of the flag block, characterized in that that additionally, a permutation unit connected to the input bus and the first bus, a reverse permutation unit connected to the output of the second summing unit and the output bus, an error calculation unit in the canonical Hamming code, the input of which is The key to the first bus, and an output - to bus S1, the parity check block, whose input is connected to the first bus, and the output - to the block flags. 2. Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга по п. 1, отличающийся тем, что первый и второй дешифраторы выполнены, например, на высокоскоростных аппаратных демультиплексорах.2. The Bowes-Chowdhury-Hockingham code decoder with the canonical Hamming decoder according to claim 1, characterized in that the first and second decoders are made, for example, on high-speed hardware demultiplexers. 3. Декодер кода Боуза-Чоудхури-Хоквингема с каноническим декодером Хэмминга по п. 1, отличающийся тем, что блок перестановки и блок обратной перестановки выполнены перемежением проводников.3. The Bowes-Chowdhury-Hockingham code decoder with the canonical Hamming decoder according to claim 1, characterized in that the permutation unit and the reverse permutation unit are interleaved conductors.
RU2018141132A 2018-11-22 2018-11-22 Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder RU2704499C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2018141132A RU2704499C1 (en) 2018-11-22 2018-11-22 Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018141132A RU2704499C1 (en) 2018-11-22 2018-11-22 Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder

Publications (1)

Publication Number Publication Date
RU2704499C1 true RU2704499C1 (en) 2019-10-29

Family

ID=68500526

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2018141132A RU2704499C1 (en) 2018-11-22 2018-11-22 Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder

Country Status (1)

Country Link
RU (1) RU2704499C1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes
US4556977A (en) * 1983-09-15 1985-12-03 International Business Machines Corporation Decoding of BCH double error correction - triple error detection (DEC-TED) codes
US6961891B2 (en) * 2000-09-26 2005-11-01 Stmicroelectronics S.A. High-efficiency error detection and/or correction code
US8806308B2 (en) * 2013-01-07 2014-08-12 Freescale Semiconductor, Inc. Bose-Chaudhuri-Hocquenghem (BCH) decoder
RU2612593C1 (en) * 2015-11-23 2017-03-09 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Device for parallel decoding of cyclic codes on programmable logic integrated circuits
US20180019767A1 (en) * 2015-09-14 2018-01-18 Qualcomm Incorporated Error correction and decoding
US20180175881A1 (en) * 2013-08-06 2018-06-21 Agilepq, Inc. Optimized code table signaling for authentication to a network and information system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes
US4556977A (en) * 1983-09-15 1985-12-03 International Business Machines Corporation Decoding of BCH double error correction - triple error detection (DEC-TED) codes
US6961891B2 (en) * 2000-09-26 2005-11-01 Stmicroelectronics S.A. High-efficiency error detection and/or correction code
US8806308B2 (en) * 2013-01-07 2014-08-12 Freescale Semiconductor, Inc. Bose-Chaudhuri-Hocquenghem (BCH) decoder
US20180175881A1 (en) * 2013-08-06 2018-06-21 Agilepq, Inc. Optimized code table signaling for authentication to a network and information system
US20180019767A1 (en) * 2015-09-14 2018-01-18 Qualcomm Incorporated Error correction and decoding
RU2612593C1 (en) * 2015-11-23 2017-03-09 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Device for parallel decoding of cyclic codes on programmable logic integrated circuits

Similar Documents

Publication Publication Date Title
US5440570A (en) Real-time binary BCH decoder
KR100594241B1 (en) RS decoder circuit having forward Chien search type
CN101814922A (en) Multi-bit error correcting method and device based on BCH (Broadcast Channel) code and memory system
US20130139028A1 (en) Extended Bidirectional Hamming Code for Double-Error Correction and Triple-Error Detection
KR20180085651A (en) Application-specific integrated circuit to perform a method for fast polynomial updates in bm-based fast chase decoding of binary bch codes through degenerate list decoding
Parvathi et al. FPGA based design and implementation of Reed-Solomon encoder & decoder for error detection and correction
Das et al. Design of RS (255, 251) Encoder and Decoder in FPGA
US8631307B2 (en) Method for encoding and/or decoding multimensional and a system comprising such method
US11101925B2 (en) Decomposable forward error correction
EP1102406A2 (en) Apparatus and method for decoding digital data
RU2704499C1 (en) Bose-chaudhuri-hocquenghem code decoder with canonical hamming decoder
Li et al. Modified GII-BCH codes for low-complexity and low-latency encoders
KR20190041390A (en) Bose-chaudhuri-hocquenghem (bch) encoding and decoding method tailored for refundant array of inexpensive disks(raid), and apparatus there-of
KR20060125814A (en) A method of reed-solomon encoding and decoding
Lu et al. New decoder for double-error-correcting binary BCH codes
Qamar et al. An efficient encoding algorithm for (n, k) binary cyclic codes
US7734991B1 (en) Method of encoding signals with binary codes
Umanesan et al. Parallel decoding cyclic burst error correcting codes
Sheelam et al. A novel and efficient design of golay encoder for ultra deep submicron technologies
Elumalai et al. Encoder And Decoder For (15113) and (63394) Binary BCH Code With Multiple Error Correction
Nazeri et al. A novel and fast hardware implementation for Golay Code encoder
US7287207B2 (en) Method and apparatus for computing parity characters for a codeword of a cyclic code
KR100212830B1 (en) Syndrome calculation apparatus of reed solomon decoder
Chandran Investigation of the use of Infinite impulse response filters to construct linear block codes
Kaur Comparative Analysis of Error Correcting Codes for Noisy Channel