RU2270521C1 - Устройство декодирования циклического кода хемминга - Google Patents

Устройство декодирования циклического кода хемминга Download PDF

Info

Publication number
RU2270521C1
RU2270521C1 RU2004130031/09A RU2004130031A RU2270521C1 RU 2270521 C1 RU2270521 C1 RU 2270521C1 RU 2004130031/09 A RU2004130031/09 A RU 2004130031/09A RU 2004130031 A RU2004130031 A RU 2004130031A RU 2270521 C1 RU2270521 C1 RU 2270521C1
Authority
RU
Russia
Prior art keywords
input
output
inputs
block
address
Prior art date
Application number
RU2004130031/09A
Other languages
English (en)
Inventor
Иван Иосифович Малышев (RU)
Иван Иосифович Малышев
Сергей Федорович Овчинников (RU)
Сергей Федорович Овчинников
Александр Сергеевич Щеголеватых (RU)
Александр Сергеевич Щеголеватых
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 RU2004130031/09A priority Critical patent/RU2270521C1/ru
Application granted granted Critical
Publication of RU2270521C1 publication Critical patent/RU2270521C1/ru

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

Изобретение относится к области вычислительной техники и может быть использовано в устройствах передачи дискретной информации. Технический результат - повышение скорости декодирования и помехозащищенности передаваемой информации за счет увеличение числа исправляемых символов в циклическом (n, k) коде Хемминга. Это достигается тем, что в устройство введены последовательно соединенные блок определения адреса исправляемого символа и второй блок исправления ошибок, выход которого является выходом устройства, кроме того, выход первого блока исправления ошибок соединен с вторым входом второго блока исправления ошибок, n выходов делителя соединены соответственно с n входами блока определения адреса исправляемого символа, сигнальный вход которого соединен с входом делителя, (n-1) выходов которого соединены соответственно с (n-1) входами дешифратора ошибок, при этом входы «С» регистра сдвига, делителя и блока определения адреса исправляемого символа соединены и являются входом начальной установки устройства, входы «R» регистра сдвига, делителя и блока определения адреса исправляемого символа объединены и являются управляющим входом устройства. 2 з.п. ф-лы, 6 ил.

Description

Изобретение относится к области вычислительной техники и может быть использовано в устройствах передачи дискретной информации.
Известное устройство декодирования циклического кода Хемминга приведено в книге Мак-Вильямс Ф.Д., Слоэн Н.Д.А. Теория кодов, исправляющих ошибки. М.: Связь, с.271, рис.9.5. Устройство содержит блок задержки, два формирователя для вычисления синдрома порождающего многочлена, блок исправления ошибок (сумматор по модулю 2), реализующий процедуру исправления ошибок Ченя, блок определения многочлена локаторов ошибок и формирователи для вычисления синдромов.
Недостатком данного устройства декодирования циклического кода Хемминга является сложность реализуемых алгоритмов, а также то, что для повышения исправляющей способности циклического кода размерности n=2m-1 при кодировании необходимо уменьшать количество информационных символов в кодовом многочлене за счет увеличения числа проверочных символов.
Наиболее близким к предлагаемому является устройство декодирования циклического кода Хемминга, описанное в книге Шварцман В.О., Емельянов Г.А. Теория передачи дискретной информации. М.: Связь, 1979, с.309, рис.10.4, принятое за прототип.
Схема устройства-прототипа представлена на фиг.1, где обозначено:
1 - регистр сдвига;
2 - делитель;
3 - устройство исправления ошибки;
4 - дешифратор ошибки;
5, 6 - ключи.
Устройство-прототип содержит последовательно соединенные регистр сдвига 1 и устройство исправления ошибки 3, выход которого является выходом устройства, а также делитель 2, содержащий в цепи обратной связи ключ 5, выход делителя 2 через ключ 6 соединен с входом дешифратора ошибки 4, выход которого соединен с вторым входом устройства исправления ошибки 3. При этом входы регистра сдвига 1 и делителя 2 объединены и являются входом устройства.
Работает устройство-прототип следующим образом.
Работа устройства начинается со сброса регистра сдвига 1 и делителя 2 в исходное состояние. Затем на вход устройства декодирования поступает кодовая комбинация длины n, при этом в течение длины кодовой комбинации ключ 5 замкнут, а ключ 6 разомкнут. В результате в регистре сдвига записывается принятая кодовая комбинация длины n, а в делителе 2 оказывается записанным синдром. Размыкается ключ 5 и замыкается ключ 6, и информация, записанная в делителе 2, унитарным кодом поступает в дешифратор ошибки 4, где определяется разряд, в котором обнаружена ошибка. С помощью тактовых импульсов происходит передача кода, записанного в регистре сдвига 1 на первый вход устройства исправления ошибки 3, на второй вход которого поступает сигнал с выхода дешифратора ошибки 4. Устройство исправления ошибки 3 представляет собой сумматор по модулю 2. Когда на выходе дешифратора ошибки 4 сигнал равен "1", то на выходе устройства исправления ошибки 3 происходит инверсия кода, поступающего на первый вход этого устройства 3. Когда на выходе дешифратора ошибки 4 сигнал равен "0", то на выходе устройства исправления ошибки 3 происходит повторение кода, поступающего на первый вход этого устройства 3. На выходе дешифратора ошибки 4 появляется уровень "1", когда разряд кода с выхода регистра сдвига 1 соответствует месту обнаруженной ошибки. В результате осуществляется исправление одного ошибочного символа на выходе устройства декодирования.
Недостатком устройства-прототипа является невозможность исправления более одного ошибочного символа входной информации, представляемой циклическим (n, k) кодом Хемминга.
Целью предлагаемого решения является повышение помехозащищенности передаваемой информации за счет увеличение числа исправляемых символов в циклическом (n, k) коде Хемминга, имеющем кодовое расстояние 3.
Для устранения указанных недостатков в устройство, содержащее последовательно соединенные регистр сдвига 1 и первый блок исправления ошибок 3, а также делитель, первый выход которого соединен с первым входом дешифратора ошибок 4, выход которого соединен с вторым входом блока исправления ошибок 3, причем входы регистра сдвига 1 и делителя 2 соединены и являются входом устройства, согласно изобретению введены последовательно соединенные блок определения адреса исправляемого символа 5, второй блок исправления ошибок 6, выход которого является выходом устройства, кроме того, выход первого блока исправления ошибок 3 соединен с вторым входом второго блока исправления ошибок 6, m выходов делителя 2 соединены соответственно с m входами блока определения адреса исправляемого символа 5, сигнальный вход которого соединен с входом делителя 2, (m-1) выходов которого соединены соответственно с (m-1) входами дешифратора ошибок 4, при этом входы "R" регистра сдвига 1, делителя 2 и блока определения адреса исправляемого символа 5 соединены и являются входом начальной установки, входы "С" регистра сдвига 1, делителя 2 и блока определения адреса исправляемого символа 5 объединены и являются управляющим входом устройства, при этом блок определения адреса исправляемого символа 5 содержит блок сравнения 5.2, выход которого соединен с первым входом элемента 2И 5.5 и вторым входом элемента 2НЕ-И 5.6, а также D-триггер 5.3, выход которого соединен с вторым входом элемента 2И 5.5 и первым входом элемента 2НЕ-И 5.6, выходы обоих элементов 2И 5.5 и 2НЕ-И 5.6 соединены с соответствующими входами элемента 2ИЛИ 5.8, выход которого соединен с первым входом элемента 2И-НЕ 5.1, выход которого соединен с первым входом RS-триггера 5.7, выход которого является выходом блока определения адреса исправляемого символа 5, кроме того, селективный счетчик импульсов 5.4, выход 2n которого соединен через инвертор 5.9 с первым входом элемента 2НЕ-ИЛИ-НЕ 5.10, выход которого соединен с вторым входом RS-триггера 5.7, и "R" входами D-триггера 5.3 и селективного счетчика импульсов 5.4, i-й выход которого соединен с "С" входом D-триггера 5.3, а (n+1)-й выход селективного счетчика 5.4 соединен с вторым входом элемента 2И-НЕ 5.1, причем m входов блока сравнения 5.2 являются соответствующими входами блока определения адреса исправляемого символа 5, второй вход элемента 2НЕ-ИЛИ-НЕ 5.10 является входом начальной установки, вход "С" селективного счетчика импульсов 5.4 является управляющим входом, а вход "D" D-триггера 5.3 является сигнальным входом блока определения адреса исправляемого символа 5.
Структурная схема предлагаемого устройства представлена на фиг.2, где обозначено:
1 - регистр сдвига;
2 - делитель;
3, 6 - первый и второй блок исправления ошибок;
4 - дешифратор ошибок;
5 - блок определения адреса исправляемого символа.
Предлагаемое устройство декодирования циклического кода Хемминга содержит последовательно соединенные регистр сдвига 1, первый 3 и второй 6 блоки исправления ошибок, а также делитель 2, m выходов которого соединены с соответствующими m входами дешифратора ошибок 4 и блока определения адреса исправляемого символа 5. При этом выход дешифратора ошибок 4 соединен с вторым входом первого блока исправления ошибок 3, а выход блока определения адреса исправляемого символа 5 - с вторым входом второго блока исправления ошибок 6, выход которого является выходом устройства. Кроме того, информационные входы регистра сдвига 1, делителя 2 и блока определения адреса исправляемого символа 5 соединены между собой и являются входом устройства. "R" входы регистра сдвига 1, делителя 2 и блока определения адреса исправляемого символа 5 соединены и являются входом начальной установки устройства. Входы "С" регистра сдвига 1, делителя 2 и блока определения адреса исправляемого символа 5 соединены и являются управляющими входами устройства.
Регистр сдвига 1 представляет собой последовательное соединение n D-триггеров с объединенными управляющими входами "С" и входами начальной установки "R", причем выход каждого D-триггера подсоединен к D-входу последующего. D-вход первого D-триггера регистра сдвига 1 является входом устройства, а выход последнего D-триггера является выходом регистра сдвига 1.
Оба блока исправления ошибок 3 и 6 выполнены на двухвходовых сумматорах по модулю 2.
На фиг.3 приведена блок-схема дешифратора ошибок 4; на фиг.4 - схема блока определения адреса исправляемого символа 5; на фиг.5 - схема блока сравнения 5.2 блока определения адреса исправляемого символа 5; на фиг.6 изображена схема селективного счетчика импульсов 5.4 блока определения адреса исправляемого символа 5.
Дешифратор ошибок 4 (фиг.3) содержит m элементов 2НЕ-И 4.1...4. m и элемент И 4.0, выход которого является выходом блока 4. Первые входы элементов 2НЕ-И 4.1...4. m являются m входами дешифратора ошибок 4 и соединены с соответствующими m выходами делителя 2, вторые входы элементов 2НЕ-И 4.1...4. m объединены и соединены с общей шиной. Выходы элементов 2НЕ-И 4.1...4. m соединены с соответствующими входами элемента И 4.0.
На фиг.4 приведена схема блока определения адреса исправляемого символа 5, где обозначено:
5.1 - элемент 2И-НЕ; 5.2 - блок сравнения; 5.3 - D-триггер; 5.4 - селективный счетчик импульсов; 5.5 - элемент 2И; 5.6 - элемент 2НЕ-И; 5.7 - RS-триггер; 5.8 - элемент 2ИЛИ; 5.9 - инвертор; 5.10 - элемент 2НЕ-ИЛИ-НЕ.
Блок определения адреса исправляемого символа 5 содержит блок сравнения 5.2, выход которого соединен с первым входом элемента 2И 5.5 и вторым (инверсным) входом элемента 2НЕ-И 5.6, а также D-триггер 5.3, выход которого соединен с вторым входом элемента 2И 5.5 и первым (инверсным) входом элемента 2НЕ-И 5.6, выходы элементов 2И 5.5 и 2НЕ-И 5.6 соединены с соответствующими входами элемента 2ИЛИ 5.8, выход которого соединен с первым входом элемента 2И-НЕ 5.1, выход которого соединен с первым входом RS-триггера 5.7, выход которого является выходом блока определения адреса исправляемого символа 5. Кроме того, селективный счетчик импульсов 5.4, выход 2n которого соединен через инвертор 5.9 с первым входом элемента 2НЕ-ИЛИ-НЕ 5.10, выход которого соединен с вторым входом RS-триггера 5.7, и "R" входами D-триггера 5.3 и селективного счетчика импульсов 5.4, i-й выход которого соединен с "С" входом D-триггера 5.3, а (n+1)-й выход селективного счетчика 5.4 соединен с вторым входом элемента 2И-НЕ 5.1. Причем m входов блока сравнения 5.2 являются входами блока 5. Второй вход элемента 2НЕ-ИЛИ-НЕ 5.10 является входом начальной установки. Вход "С" селективного счетчика импульсов 5.4 является управляющим входом. Вход "D" D-триггера 5.3 является сигнальным входом блока определения адреса исправляемого символа 5.
Блок сравнения 5.2 (фиг.5) содержит инвертор 8, выход которого соединен с вторыми входами u элементов 2И 7.1...7.u, выходы которых соединены с соответствующими входами элемента И 10, выход которого является выходом блока сравнения 5.2. Кроме того, v элементов 2НЕ-И 9.1...9.v, выходы которых соединены с соответствующими входами элемента И 10. Вторые входы элементов 2НЕ-И 9.1...9.v соединены с входом инвертора 8 и общей шиной. При этом первые входы элементов 2И 7.1...7.u и элементов 2НЕ-И 9.1...9.v являются m входами блока сравнения 5.2.
Селективный счетчик импульсов 5.4 (фиг.6) содержит счетчик импульсов 5.4.1, выходы которого соединены с соответствующими входами дешифратора 5.4.2. Входы "С" и "R" счетчика импульсов 5.4.1 являются управляющим и входом начальной установки соответственно. Выходы дешифратора 5.4.2 являются i-м контрольным разрядом циклического кода Хемминга, (n+1)-м и 2n-м выходами селективного счетчика импульсов 5.4 соответственно.
Предлагаемое устройство работает следующим образом.
Установление декодирующего устройства циклического кода Хемминга в исходное состояние осуществляется после подачи импульса на входы начальной установки "R" регистра сдвига 1 и блока определения адреса исправляемого символа 5 (фиг.2). При этом обнуляются информационные выходы регистра сдвига 1 и селективный счетчик импульсов 5.4, RS-триггер 5.7 и D-триггер 5.3 блока определения адреса исправляемого символа 5 (фиг.4).
На первом этапе синхроимпульсы, поступающие на управляющий вход устройства декодирования (фиг.2), обеспечивают прием поступающей на вход последовательности импульсов регистром сдвига 1 и делителем 2. Последний используется для деления многочлена А(х) на порождающий многочлен g(x). В результате в делителе 2 получается остаток от деления
Figure 00000002
где α
Figure 00000003
- примитивный элемент матрицы Н (2). На этом же этапе n-м синхроимпульсом в принимаемой кодовой последовательности выделяется контрольный разряд, содержимое которого регистрируется D-триггером 5.3 блока определения адреса исправляемого символа 5 (фиг.4).
На втором этапе осуществляется вывод информационной части кодового многочлена
Figure 00000004
из регистра сдвига 1 на выход устройства декодирования циклического кода Хемминга (фиг.2) с одновременным поиском дешифратором ошибок 4 адресов возможных ошибочных символов, которые согласно выражению (4) исправляются в блоке исправления ошибок 3 в соответствии с известным алгоритмом Ченя. При этом осуществляется коррекция выходной информации во втором блоке исправления ошибок 6 путем прибавления к полученному коду многочлена I(х), если это необходимо по результатам анализа, осуществленного блоком определения адреса исправляемого символа 5.
Если многочлен R(x)=0, то делитель 2 после окончания первого этапа содержит адрес (локатор) ошибочного символа. Исправление его осуществляется в соответствии с известным алгоритмом Хемминга в блоке исправления ошибок 3 путем последовательного сдвига содержимого регистра сдвига 1 при выводе информации на выход устройства декодирования циклического кода Хемминга (фиг.2).
Анализ содержимого делителя 2 после каждого сдвига осуществляется дешифратором ошибок 4. Одновременно блок сравнения 5.2 блока определения адреса исправляемого символа 5 анализирует содержимое делителя 2 для выявления в нем контрольного символа, расположенного по адресу αi.
Работа блока исправления ошибок 6 разрешается высоким уровнем RS-триггера 5.7 блока определения адреса исправляемого символа 5. При этом RS-триггер 5.7 устанавливается в единичное состояние низким уровнем на выходе элемента 2И-НЕ 5.1, который появляется по (n+1) управляющему синхроимпульсу, приходящему на втором этапе на управляющий вход устройства декодирования циклического кода Хемминга (фиг.2) при наличии высокого уровня на выходе элемента 2ИЛИ 14. На выходе элемента 2И 12, к которому подключен первый элемента 2ИЛИ 5.8, появится высокий уровень, при наличии высокого уровня на выходе D-триггера 5.3 (контрольный символ кодового многочлена
Figure 00000005
не равен нулю) при условии, что на выходе блока сравнения 5.2 находится высокий уровень (многочлен
Figure 00000006
На выходе элемента 2НЕ-И 5.7, к которому подключен второй вход элемента 2ИЛИ 5.8, появится высокий потенциал при наличии низкого уровня на выходе D-триггера 5.3 (контрольный символ кодового многочлена
Figure 00000005
равен нулю) и низкого уровня на выходе блока сравнения 5.2
Figure 00000007
Соответственно высокий уровень на выходе элемента И 10 блока сравнения 5.2 появится только при наличии высоких уровней на выходе элементов 2И 7 и 2И-НЕ 9
Figure 00000006
Таким образом, в зависимости от вида многочлена
Figure 00000008
на выходе устройства декодирования циклического кода Хемминга (фиг.2) в соответствии с формулами (4)-(6) возможны следующие варианты:
1.
Figure 00000009
Тогда на выходе дешифратора ошибок 4 по i-му синхроимпульсу появится высокий уровень (по (i+1)-му синхроимпульсу сбросится), а на выходе блока определения адреса исправляемого символа 5 появится низкий, т.е. в блоке исправления ошибок 3 на i-м шаге произойдет замена 1-го символа на противоположный.
2.
Figure 00000010
Тогда на выходе дешифратора ошибок 4 будет присутствовать низкий уровень, а на выходе блока определения адреса исправляемого символа 5 будет низкий, т.е. в блоке исправления ошибок 3 будет осуществлено инвертирование всех символов, поступивших из регистра сдвига 1.
3.
Figure 00000011
Тогда на выходе дешифратора ошибок 4 по i-му синхроимпульсу появится высокий уровень (по (i+1)-му синхроимпульсу сбросится), а на выходе блока определения адреса исправляемого символа 5 появится высокий уровень, т.е. в блоке исправления ошибок 3 на 1-м шаге произойдет замена i-го символа на противоположный, а также инвертирование всех символов, поступивших из регистра сдвига 1.
Пример реализации способа декодирования циклического кода Хэмминга для n=24-1=15. Выберем неприводимый многочлен g(x)=1+x+x4, для которого проверочная матрица Н имеет вид
Figure 00000012
Пусть необходимо передать по каналу, подверженному воздействию помех, кодовый многочлен
Figure 00000013
где
Figure 00000014
- контрольный символ.
Алгоритм следующий:
1. Вычисляется многочлен
Figure 00000015
2. По формуле (3) вычисляем многочлен
Figure 00000016
3. Формируется кодовый многочлен
Figure 00000017
согласно выражению (1)
Figure 00000018
Примечание: контрольный символ
Figure 00000019
4. Задается вид многочлена ошибок согласно формулам (4)-(6)
Figure 00000020
Вариант а.
4. а. Многочлен
Figure 00000021
найдем по формуле (7)
Figure 00000022
5, а. Определяется остаток от деления многочлена
Figure 00000021
на порождающий многочлен g(x) на первом этапе
Figure 00000023
Figure 00000024
6, а. Исправляется ошибочный символ на обратный при R(x)=1 в делителе 2 после соответствующего количества сдвигов содержимого сдвигового регистра 1 и делителя 2 (так как R(x)=0 согласно п.5, а).
Вариант б.
4, б. Многочлен
Figure 00000021
найдем по формуле (7)
Figure 00000025
5, б. Определяется остаток от деления многочлена
Figure 00000021
на порождающий многочлен g(x) на первом этапе
Figure 00000026
R(x)=0.
6, б. Исправляются все символы многочлена
Figure 00000021
на обратные, так как контрольный символ равен нулю
Figure 00000027
согласно п.5, б.
Вариант в.
4, в. Многочлен
Figure 00000021
найдем по формуле (7)
Figure 00000028
5, в. Определяется остаток от деления многочлена
Figure 00000021
на порождающий многочлен g(x) на первом этапе
Figure 00000023
Figure 00000029
6, в. Исправляются все символы многочлена
Figure 00000021
на обратные, так как контрольный символ равен нулю
Figure 00000030
и многочлен R(x)=0 согласно п.5, в. Исправляется ошибочный символ
Figure 00000030
на обратный при R(x)=1 в делителе 2 после соответствующего количества сдвигов содержимого сдвигового регистра 1 и делителя 2.
Предложенное устройство может исправлять помимо одиночных ошибок, также и n или (n-1) ошибочных символов в циклическом (n, k) коде Хемминга (размерности n) за счет включения в устройство блока определения адреса исправляемого символа 5 и второго блока исправления ошибок 6.
Сущность алгоритма, реализуемого устройством декодирования циклического кода Хемминга, сводится к следующему.
Из многочлена, описывающего циклический код Хемминга, содержащего m членов
Figure 00000031
формируется кодовый многочлен
Figure 00000032
где
Figure 00000033
- проверочные символы, являющиеся остатком от деления многочлена
Figure 00000034
на неприводимый многочлен g(x)=1+x+...+xm, являющимся порождающим для данного циклического кода Хемминга.
Многочлен α(х) можно также получить с помощью проверочной прямоугольной матрицы размером n×m:
Figure 00000035
где
Figure 00000036
- примитивный элемент, степени которого порождают конечное поле Галуа GF(2m) по модулю g(x). В этом случае
Figure 00000037
где k - степени ненулевых членов многочлена
Figure 00000034
.
Так как в канале передачи присутствуют помехи, то получим многочлен ошибок
Figure 00000038
, который примет одну из следующих форм:
Figure 00000039
где I(х) - единичный многочлен, содержащий n ненулевых членов.
Тогда на приемном конце кодовый многочлен А(х) примет следующий вид:
Figure 00000040
Нахождение и исправление ошибочных символов в кодовом многочлене
Figure 00000021
в декодирующем устройстве циклического кода Хэмминга осуществляется следующим образом.
Устройство декодирования приводится в исходное состояние, когда регистр сдвига 1 и блок определения адреса исправляемого символа 5 обнуляются. Затем происходит работа в два этапа.
На первом этапе синхроимпульсы, поступающие на вход устройства декодирования циклического кода Хемминга, последовательно записываются в регистре сдвига 1. В результате чего осуществляется прием кодового многочлена
Figure 00000041
Одновременно эти импульсы поступают на вход делителя 2, где осуществляется деление кодового многочлена (7) на порождающий многочлен g(x). В результате в делителе 2 получается остаток
Figure 00000042
где
Figure 00000043
- примитивный элемент матрицы Н (2).
На этом этапе n-ым синхроимпульсом в принимаемой кодовой последовательности выделяется контрольный разряд и запоминается.
На втором этапе осуществляется вывод информационной части кодового многочлена
Figure 00000044
из регистра сдвига 1 на вход устройства декодирования с одновременным поиском дешифратором ошибок 4 адресов возможных ошибочных символов, которые согласно выражению (4) исправляются в соответствии с известным алгоритмом Ченя. При этом осуществляется коррекция выходной информации во втором блоке исправления ошибок 6 путем прибавления к полученному коду многочлена I(х), если это необходимо по результатам анализа, осуществленного блоком определения адреса исправляемого символа 5.
Если многочлен R(x)=0, то делитель 2 содержит адрес (локатор) ошибочного символа. Исправление его осуществляется в соответствии с известным алгоритмом Хемминга путем последовательного сдвига содержимого регистра сдвига 1.
Анализ содержимого делителя 2 производится после каждого сдвига. Одновременно осуществляется анализ содержимого делителя 2 для выявления в нем контрольного символа, расположенного по адресу αi.
По сравнению с прототипом в предлагаемом устройстве появляется возможность исправления более одного ошибочного символа входной информации, представляемой циклическим (n, k) кодом Хемминга, имеющим кодовое расстояние 3, что обеспечивает повышение помехозащищенности передаваемой информации.

Claims (3)

1. Устройство декодирования циклического кода Хемминга, содержащее последовательно соединенные регистр сдвига и первый блок исправления ошибок, а также делитель, первый выход которого соединен с первым входом дешифратора ошибок, выход которого соединен с вторым входом первого блока исправления ошибок, причем входы регистра сдвига и делителя соединены и являются входом устройства, отличающееся тем, что введены последовательно соединенные блок определения адреса исправляемого символа и второй блок исправления ошибок, выход которого является выходом устройства, кроме того, выход первого блока исправления ошибок соединен с вторым входом второго блока исправления ошибок, m выходов делителя соединены соответственно с m входами блока определения адреса исправляемого символа, сигнальный вход которого соединен с входом делителя, (m-1) выходов которого соединены соответственно с (m-1) входами дешифратора ошибок, при этом входы R регистра сдвига, делителя и блока определения адреса исправляемого символа соединены и являются входом начальной установки, входы C регистра сдвига, делителя и блока определения адреса исправляемого символа объединены и являются управляющим входом устройства, при этом блок определения адреса исправляемого символа содержит блок сравнения, выход которого соединен с первым входом элемента 2И и вторым входом элемента 2НЕ-И, а также D-триггер, выход которого соединен со вторым входом элемента 2И и первым входом элемента 2НЕ-И, выходы элементов 2И и 2НЕ-И соединены с соответствующими входами элемента 2ИЛИ, выход которого соединен с первым входом элемента 2И-НЕ, выход которого соединен с входом S RS-триггера, выход которого является выходом блока определения адреса исправляемого символа, кроме того, селективный счетчик импульсов, выход 2n которого соединен через инвертор с первым входом элемента 2НЕ-ИЛИ-НЕ, выход которого соединен с R входом RS-триггера, и R входами D-триггера и селективного счетчика импульсов, i-й выход которого соединен с C входом D-триггера, а (n+1)-й выход селективного счетчика соединен со вторым входом элемента 2И-НЕ, причем m входов блока сравнения являются соответствующими входами блока определения адреса исправляемого символа, второй вход элемента 2НЕ-ИЛИ-НЕ является входом начальной установки, вход C селективного счетчика импульсов является управляющим входом, а вход D D-триггера является сигнальным входом блока определения адреса исправляемого символа.
2. Устройство по п.1, отличающееся тем, что дешифратор ошибок содержит m элементов 2НЕ-И и элемент И, выход которого является выходом дешифратора, первые входы m элементов 2НЕ-И являются m входами дешифратора ошибок, вторые входы m элементов 2НЕ-И объединены и соединены с общей шиной, а выходы m элементов 2НЕ-И соединены с соответствующими входами элемента И.
3. Устройство по п.1, отличающееся тем, что селективный счетчик импульсов содержит счетчик импульсов, выходы которого соединены с соответствующими входами дешифратора, выходы которого являются i-м контрольным разрядом циклического кода Хемминга, (n+1)-м и 2n-м выходами селективного счетчика импульсов соответственно, а входы С и R счетчика импульсов являются управляющим и входом начальной установки соответственно.
RU2004130031/09A 2004-10-11 2004-10-11 Устройство декодирования циклического кода хемминга RU2270521C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2004130031/09A RU2270521C1 (ru) 2004-10-11 2004-10-11 Устройство декодирования циклического кода хемминга

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2004130031/09A RU2270521C1 (ru) 2004-10-11 2004-10-11 Устройство декодирования циклического кода хемминга

Publications (1)

Publication Number Publication Date
RU2270521C1 true RU2270521C1 (ru) 2006-02-20

Family

ID=36051122

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2004130031/09A RU2270521C1 (ru) 2004-10-11 2004-10-11 Устройство декодирования циклического кода хемминга

Country Status (1)

Country Link
RU (1) RU2270521C1 (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2526769C1 (ru) * 2013-03-19 2014-08-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Формирователь кода хэмминга
RU2612593C1 (ru) * 2015-11-23 2017-03-09 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Устройство параллельного декодирования циклических кодов на программируемых логических интегральных схемах
RU2800768C1 (ru) * 2023-01-13 2023-07-28 Акционерное общество "Микрон" (АО "Микрон") Устройство формирования и восстановления модифицированного кода хемминга для 32-разрядных двоичных чисел

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ШВАРЦМАН В.О., ЕМЕЛЬЯНОВ Г.А. Теория передачи дискретной информации. - М.: Связь, с.309, рис.10.4. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2526769C1 (ru) * 2013-03-19 2014-08-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом" Формирователь кода хэмминга
RU2612593C1 (ru) * 2015-11-23 2017-03-09 Федеральное Государственное Унитарное Предприятие Ордена Трудового Красного Знамени Научно-Исследовательский Институт Радио (Фгуп Ниир) Устройство параллельного декодирования циклических кодов на программируемых логических интегральных схемах
RU2800768C1 (ru) * 2023-01-13 2023-07-28 Акционерное общество "Микрон" (АО "Микрон") Устройство формирования и восстановления модифицированного кода хемминга для 32-разрядных двоичных чисел
RU2824472C1 (ru) * 2024-02-02 2024-08-08 Акционерное общество "Микрон" (АО "Микрон") Устройство формирования и восстановления модифицированного кода хемминга для 16-разрядных двоичных чисел

Similar Documents

Publication Publication Date Title
US6026420A (en) High-speed evaluation of polynomials
JP3249405B2 (ja) 誤り訂正回路および誤り訂正方法
JPH0380727A (ja) データストリームのフレーム同期検出方法及び装置
JP2019110522A (ja) バイト誤り位置信号の決定および使用
JPH0728227B2 (ja) Bch符号の復号装置
JPH07202723A (ja) デコーダ、これに使用するエラー探知シーケンス・ジェネレータおよびデコーディング方法
JP7116374B2 (ja) 短縮レイテンシ誤り訂正復号
JPH1093445A (ja) 誤り位置検出多項式計算装置
RU2270521C1 (ru) Устройство декодирования циклического кода хемминга
US7178091B1 (en) Reed solomon encoder
US7320101B1 (en) Fast parallel calculation of cyclic redundancy checks
JP3812983B2 (ja) エラー評価多項式係数計算装置
Wu et al. Stream cipher by reed-solomon code
US10623018B2 (en) Method of arrangement of an algorithm in cyclic redundancy check
TWI523437B (zh) Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法
JP3398560B2 (ja) 短縮化誤り訂正復号装置
TWI742371B (zh) 應用單項跡之錯誤更正方法
KR930011573B1 (ko) 2중 오류정정이 가능한 bch 코덱(codec)
RU42143U1 (ru) Декодирующее устройство помехоустойчивого кода
KR100192792B1 (ko) 리드 솔로몬 복호기의 다항식 평가 장치
KR100192790B1 (ko) 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수계산장치
KR100192788B1 (ko) 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수계산장치
JP3268926B2 (ja) 誤り訂正回路
KR100212830B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치
KR100212825B1 (ko) 리드 솔로몬 복호기의 신드롬 계산장치

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20101012