ФОРМИРОВАТЕЛЬ КОДА ХЭММИНГА
HAMMING CODE GENERATOR

Изобретение относится к кодирующим устройствам помехоустойчивого кода, обеспечивающего восстановление передаваемой по каналу связи информации после ее искажений под действием помех.
Известно кодирующее устройство кода Хэмминга (см. Основы передачи дискретных сообщений: Учебник для вузов / Ю.П.Куликов, В.М.Пушкин, Г.И.Скворцов и др.: Под ред. В.М.Пушкина. - М.: Радио и связь, 1992. С.99, рис.3.7), содержащее последовательно-параллельный сдвигающий регистр с числом разрядов 7 и формирователь проверочных элементов на основе трех 3-входовых сумматоров по модулю 2, 4 информационных входов устройства соединены с соответствующими входами сумматоров и со входами параллельной записи старших разрядов регистра, 3 выхода сумматоров соединены с соответствующими входами параллельной записи младших разрядов регистра, выход регистра соединен с выходом устройства, а входы общего сброса, синхронизации и управления параллельно-последовательным режимом - с соответствующими входами устройства.
Недостатками устройства являются:
1) отсутствует возможность получения в приемном устройстве проверочного числа, равного номеру искаженного элемента, что усложняет исправление ошибок;
2) сложность схемы формирования проверочных элементов, связанная с необходимостью использования большого количества многовходовых сумматоров по модулю 2, при этом сами сумматоры обладают сложной схемной реализацией.
Вышеуказанное устройство является наиболее близким по технической сущности к заявляемому устройству, поэтому выбрано в качестве прототипа.
Решаемой технической задачей является создание формирователя кода Хэмминга с расширенными функциональными возможностями.
Достигаемым техническим результатом является упрощение схемной реализации кодирующего устройства и формирование на выходе устройства кода Хэмминга, позволяющего получить проверочное число, равное номеру искаженного элемента.
Для достижения технического результата в формирователе кода Хэмминга, содержащем n-разрядный последовательно-параллельный сдвигающий регистр, вход сброса и тактовый вход которого соединены с соответствующими входами устройства, а входы параллельной записи соединены с соответствующими информационными входами устройства и выходами формирователя проверочных элементов кода, отличающийся тем, что дополнительно введены первый элемент ИЛИ, первый и второй триггеры, элемент «исключающее ИЛИ», выход которого соединен с первым входом первого элемента ИЛИ, второй вход которого соединен с управляющим входом устройства, а выход - со входом управления параллельно-последовательной записи сдвигающего регистра, первый элемент И, выход которого является выходом устройства, при этом формирователь проверочных элементов кода включает в себя счетчик, второй элемент ИЛИ, триггеры и логические элементы И, первые входы каждого из которых объединены и соединены с выходом регистра, а вторые выходы соединены с соответствующими выходами счетчика, счетный вход которого соединен с тактовым входом регистра и первым входом первого элемента И, а вход сброса соединен с выходом второго элемента ИЛИ, первый вход которого соединен со входом сброса устройства, со входами сброса первого и второго триггеров и входами сброса триггеров формирователя проверочных элементов кода, выходами которого являются выходы триггеров, выход каждого логического элемента И формирователя проверочных элементов кода соединен со счетным входом каждого триггера формирователя проверочных элементов кода, выход регистра соединен со вторым входом первого элемента И, третий вход которого соединен с выходом второго триггера и первым входом первого элемента «исключающее ИЛИ», второй вход которого соединен с выходом первого триггера, D-входом второго триггера и вторым входом второго элемента ИЛИ, тактовый вход второго триггера соединен с тактовым входом устройства, тактовый вход первого триггера соединен со старшим разрядом выхода счетчика, а D-вход - с шиной питания устройства, при этом D-вход счетчика заземлен.
Новая совокупность существенных признаков позволяет сформировать на выходе устройства код Хэмминга, позволяющий получить проверочное число, равное номеру искаженного элемента, и упростить схемную реализации кодирующего устройства.
На фигуре представлена схема заявляемого формирователя кода Хэмминга, содержащий n-разрядный последовательно-параллельный сдвигающий регистр 1, вход сброса и тактовый вход которого соединены с соответствующими входами устройства, а входы параллельной записи соединены с соответствующими информационными входами устройства и выходами формирователя проверочных элементов кода 17, первый элемент ИЛИ 5, первый 2 и второй 3 триггеры, элемент «исключающее ИЛИ» 4, выход которого соединен с первым входом первого элемента ИЛИ 5, второй вход которого соединен с управляющим входом устройства, а выход - со входом управления параллельно-последовательной записи сдвигающего регистра 1, первый элемент И 6, выход которого является выходом устройства, при этом формирователь проверочных элементов кода 17 включает в себя счетчик 7, второй элемент ИЛИ 8, триггеры 9, 10, 11, 12 и логические элементы И 13, 14, 15, 16, первые входы каждого из которых объединены и соединены с выходом регистра, а вторые выходы соединены с соответствующими выходами счетчика 7, счетный вход которого соединен с тактовым входом регистра 1 и первым входом первого элемента И 5, а вход сброса соединен с выходом второго элемента ИЛИ 8, первый вход которого соединен со входом сброса устройства, со входами сброса первого 2 и второго 3 триггеров и входами сброса триггеров 9, 10, 11, 12 формирователя проверочных элементов кода 17, выходами которого являются выходы триггеров 9, 10, 11, 12, выход каждого логического элемента И 13, 14, 15, 16 формирователя проверочных элементов кода 17 соединен со счетным входом каждого триггера формирователя проверочных элементов кода 17, выход регистра 1 соединен со вторым входом первого элемента И 5, третий вход которого соединен с выходом второго триггера 3 и первым входом первого элемента «исключающее ИЛИ» 4, второй вход которого соединен с выходом первого триггера 2, D-входом второго триггера 3 и вторым входом второго элемента ИЛИ 8, тактовый вход второго триггера 3 соединен с тактовым входом устройства, тактовый вход первого триггера 2 соединен со старшим разрядом выхода счетчика 7, а D-вход - с шиной питания устройства, при этом D-вход регистра 1 заземлен.
Формирователь кода Хэмминга работает следующим образом.
В начальном состоянии в регистре 1 информация отсутствует, счетчик импульсов 7 и все триггеры 9, 10, 11, 12 формирователя проверочных элементов 17 удерживаются в исходном состоянии логического "0" сигналом по R-входу устройства.
Формирование кода Хэмминга выполняется в два этапа. На первом этапе производится определение значений проверочных элементов.
При поступлении на вход устройства информационных элементов кода a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 (на входах b1, b2, b3, b4 логические нули), удерживающий сигнал на R-входе устройства снимается.
На V-вход устройства подается управляющий сигнал напряжением высокого уровня, который через элемент ИЛИ 5 поступает на вход управления параллельным/последовательным режимом записи p/s регистра 1 и переводит регистр 1 в режим параллельной записи, а на C-вход поступают импульсы синхронизации.
По заднему фронту первого импульса синхронизации на тактовом входе C устройства информационные элементы кода a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 со входов устройства и сигналы логического "0" со счетных триггеров 9, 10, 11, 12 записываются в разряды регистра 1, начиная с последнего разряда.
После этого управляющий сигнал записи на V-входе регистра 1 снимается. По срезу импульса на управляющем V-входе устройства, низкий уровень напряжения поступает на вход управления параллельным/последовательным режимом записи p/s и переключает регистр 1 в последовательный режим записи информации, при этом на входе последовательной записи информации D регистра 1 постоянный логический "0".
1
2
3
4
Выполняется сдвиг информации по заднему фронту каждого последующего тактового импульса. Счетный триггер 9 формирует проверочный элемент b, счетный триггер 11 формирует проверочный элемент b, счетный триггер 11 формирует проверочный элемент b, счетный триггер 12 формирует проверочный элемент b, в соответствии с методикой формирования проверочных элементов кода Хэмминга.
По заднему фронту восьмого тактового импульса счетчик 7 по выходу Q4 устанавливает логическую "1" и вызывает переключение D-триггера 2. При этом выходным сигналом счетчика 7 D-триггера 2 в дальнейшем удерживается в состоянии логического "1". Одновременно на выходе элемента «исключающее ИЛИ» 4 формируется управляющий сигнал, переводящий регистр 1 в режим параллельной записи информационных и проверочных элементов кода в соответствии с кодом Хэмминга.
После этого начинается второй этап формирования кода.
По переднему фронту девятого тактового импульса переключается D-триггер 3, разрешающий прохождение информационных сигналов с выхода регистра 1 и входных тактовых импульсов через логический элемент И 6 на выход Q устройства. На выходе элемента «исключающее ИЛИ» 4 формируется сигнал логического "0", снимающий управляющий сигнал записи с регистра 1.
После этого импульсы синхронизации на тактовом входе C устройства обеспечивают сдвиг информации в регистре 1 и последовательную выдачу ее на выход Q устройства.
После выдачи информации все триггеры 9, 10, 11, 12 формирователя проверочных элементов 17 устанавливаются в состояние логического "0" сигналом по R-входу устройства.
Изготовлен макетный образец заявляемого формирователя кода Хэмминга, испытания которого подтвердили его реализуемость, практическую ценность и эффективность.