устройство для контроля и исправления ошибок в избыточном модуляторном коде
Классы МПК: | H03M13/00 Кодирование, декодирование или преобразование кода для обнаружения ошибок или их исправления; основные предположения теории кодирования; границы кодирования; способы оценки вероятности ошибки; модели каналов связи; моделирование или проверка кодов |
Автор(ы): | Бережной Виктор Васильевич, Червяков Николай Иванович, Оленев Александр Анатольевич, Николаев Юрий Иванович |
Патентообладатель(и): | Бережной Виктор Васильевич, Червяков Николай Иванович, Оленев Александр Анатольевич, Николаев Юрий Иванович |
Приоритеты: |
подача заявки:
1991-07-10 публикация патента:
30.10.1994 |
Изобретение относится к вычислительной технике и может быть использовано в системах связи и обработки информации, оперирующих с модулярными кодами. Цель изобретения - увеличение быстродействия. Цель достигается изменением алгоритма работы, распараллеливанием операций сравнения числа с интервалами распределения ошибок, введением блока 2 групп элементов сравнения с константой, блока 4 умножителей на константу, блока 3 групп элементов ИЛИ, блока 5 элементов ИЛИ, блоков 11, 14 элементов И, блока 12 сравнения, триггера 13 в устройство, содержащее входной 1 и выходной 7 преобразователи кода и вычитатель 6. 1 ил.
Рисунок 1
Формула изобретения
УСТРОЙСТВО ДЛЯ КОНТРОЛЯ И ИСПРАВЛЕНИЯ ОШИБОК В ИЗБЫТОЧНОМ МОДУЛЯТОРНОМ КОДЕ, содержащее входной преобразователь кода, первые входы которого являются первыми информационными входами устройства, а выход соединен с первыми входами вычитателя, выходной преобразователь кода, выходы которого являются первыми информационными выходами устройства, отличающееся тем, что, с целью повышения быстродействия устройства, в него введены блок групп элементов сравнения, блок групп элементов ИЛИ, блок умножителей, блок сравнения, триггер, блок элементов ИЛИ и блоки элементов И, первые входы первого блока элементов И являются вторыми информационными входами устройства, выходы соединены с вторыми входами входного преобразователя кода, входы элементов сравнения всех групп блока объединены и подключены к выходу входного преобразователя кода, выходы элементов сравнения каждой группы блока соединены с соответствующими входами соответствующих групп элементов ИЛИ блока, выходы которых соединены с входами соответствующих умножителей блока, выходы которых соединены с соответствующими входами блока элементов ИЛИ, выходы которого соединены с вторыми входами вычислителя, выходы вычитателя соединены с первыми входами второго блока элементов И и блока сравнения, выход которого соединен с вторым входом второго блока элементов И и счетным входом триггера, установочный вход которого является входом установки устройства, выход триггера соединен с вторым входом первого блока элементов И, выходы второго блока элементов И соединены с входом выходного преобразователя кода и являются вторыми информационными выходами устройства.Описание изобретения к патенту
Изобретение относится к вычислительной технике и может быть использовано в системах связи и обработки информации, оперирующих с модулярными кодами (кодами в системе остаточных классов - СОК). Известно устройство для обнаружения и исправления ошибок арифметических операций, содержащее первый и второй регистры контрольных разрядов, выходы которых соединены с первыми входами соответственно первого и второго сумматоров, вторые входы которых соединены с входами блоков памяти, третий, четвертый и пятый сумматоры, третий и четвертый регистры контрольных разрядов, выходы которых соединены с первыми входами соответственно первого и второго регистров контрольных разрядов, выходы которых соединены с первыми входами соответственно четвертого и пятого сумматоров, вторые входы которых соединены с выходами соответственно четвертого и пятого сумматоров, причем выходы третьего сумматора соединены с входами первого и второго блоков модульной свертки, выходы которых соединены с входами соответственно третьего и четвертого регистров контрольных разрядов [1]. Однако данное устройство обладает низким быстродействием. Наиболее близким по сущности технического решения к изобретению является устройство для контроля ошибок в избыточном модулярном коде, содержащее входной преобразователь кода, входы которого являются соответствующими информационными входами устройства, блок вычисления поправок, первые входы которого подключены к первым информационным входам блока анализа, контрольные выходы которого являются контрольными выходами устройства, блок преобразования числа в цепную дроль, вычитатель и выходной преобразователь кода, причем выходы входного преобразователя кода подключены к соответствующим первым входам вычитателя и информационным входам блока преобразования числа в цепную дроль, выходы которого соединены с информационными входами блока вычисления поправок, выходы которого соединены с вторыми входами вычитателя, выходы которого подключены к соответствующим вторым информационным входам блока анализа, входам выходного преобразователя кода и являются первыми информационными выходами устройства, управляющие выходы блока анализа соединены с соответствующими управляющими входами блока вычисления поправок и блока преобразования числа в цепную дроль, установочные входы которых соответственно объединены и являются первыми установочными входами устройства, первые и вторые установочные входы блока анализа являются соответственно вторыми и третьими установочными входами устройства, выходы выходного преобразователя кода являются вторыми информационными выходами устройства [2]. Однако данное устройство имеет низкое быстродействие. Целью изобретения является повышение быстродействия. Существенным отличительным признаком являются блок групп схем сравнения с константой, блок групп элементов ИЛИ, блок умножителей на константу, триггер и образовавшиеся между ними и имеющимися блоками связи. Предлагаемое устройство использует в своей работе следующее. Известно, что наличие избыточного основания в информации, представленной в СОК, позволяет обнаруживать ошибки. Причем при определенной величине избыточного (контрольного) основания появляется возможность не только обнаружить, но также локализовать и исправить ошибку. В модулярном коде число представляется совокупностью неотрицательных вычетов 1 , 2 , 3 , ... , n , n + 1 по группе взаимно простых оснований 1 , 2 , 3 , . ... ,n , n + 1.При этом рабочий диапазон чисел Pр= , а полный диапазон Pп=. Величину Ри = Pп - Pp назовем избыточным диапазоном. Появление ошибки по одному какому-либо основанию переводит число из рабочего диапазона в избыточный при условии1 < 2 < ... < n < n + 1 . (1)
Распределение ошибок в избыточном диапазоне осуществляется вполне определенно и зависит от величины n + 1 . При этом если n + 1 > n n + 1 , то существует возможность по величине неправильного числа А, равного
= (A+ii) mod Pп (2) однозначно определить ошибочное основание и значение ошибки. Зная i, можно исправить неправильное число
A=(-ii) mod Pп
Границы интервалов распределения ошибок можно определить из выражения (2), если в качестве А использовать числа 0 и Рр - 1, а изменять от 1 до i - 1. П р и м е р. Пусть 1 = 2 , 2 = 3 , 3 = 5 - рабочие основания. Pn+1 выбирают из условия n + 1 > n n +1 , т.е. n +1 = 17, когда Рр= =30, Рп = 510. Определяют границы интервалов распределения ошибок в избыточном диапазоне: основание 1= 1,1=1 __ =[255-284] основание 2 = 3,2=1 __ =[340-369]
2=2 __ =[170-199] основания 3 = 5,3=1 __ =[306-335]
3=2 __ =[102-131]
3=3 __ =[408-437]
3=4 __ =[204-233]. Ошибки по контрольному основанию охватывают весь избыточный диапазон. Пусть в результате вычислений на выходе преобразователя СОК в ПСС получено неправильное число = 128 = (0, 2, 3, 9). По принадлежности интервалу определяют ошибочное основание и величину ошибки 3 = 2. Производят исправление числа = 128:
A = (128 - 2,306) mod 510 = 26 = (0, 2, 1, 9). На чертеже представлена функциональная схема предлагаемого устройства. Устройство для контроля и исправления ошибок в избыточном модуляторном коде содержит входной преобразователь 1 кода, блок 2 групп элементов сравнения с константой, блок 3 групп элементов ИЛИ, блок 4 умножителей, блок 5 элементов ИЛИ, вычитатель 6, выходной преобразователь 7 кода, первые информационные входы 8 устройства, первые информационные выходы 9, вторые информационные выходы 10 устройства, второй блок 11 элементов И, блок 12 сравнения с рабочим диапазоном, триггер 13, первый блок 14 элементов И, вход 15 установки, вторые информационные входы 16 устройства. Входной преобразователь 1 кода обеспечивает преобразование кода в остатках в позиционный код, например двоичный. Он может быть выполнен как в виде комбинационного устройства, не требующего синхронизации, так и в виде многотактного устройства (необходимые цепи синхронизации на чертеже не показаны, но наличие их для этого случая подразумевается). Блок 2 групп схем сравнения с константой состоит из K=(i-1) комбинационных схем (для примера, приведенного в описании, К = 7), осуществляющих сравнение чисел с выхода преобразователя 1 кода с интервалами распределения ошибок. Каждой схеме сравнения соответствует только один интервал, вполне определенный i . Причем при попадании в интервал какой-либо схемы сравнения на ее выходе формируется соответствующее значение i , в противном случае на выходе ноль. Блок 3 групп элементов ИЛИ состоит из n групп log 2 ] i - 1 [( i- 1)-входовых элементов ИЛИ при представлении значений i в двоичном коде или ( i - 1)( i-1)-входовых элементов ИЛИ при представлении в унитарном коде. Блок 4 умножителей на константу состоит из n умножителей по модулю Рn, осуществляющих умножение значения i на соответствующий ортогональный базис i , которые могут быть выполнены в табличном (что наиболее предпочтительно) либо в суммарном варианте. Блок 5 элементов ИЛИ состоит из log 2 ] Pп [n-входовых элементов ИЛИ при представлении значений в двоичном коде либо из Pп n-входовых элементов ИЛИ при представлении в унитарном коде. Вычитатель 6 осуществляет операцию вычитания по модулю и может быть как табличного, так и суммарного типа. Выходной преобразователь 7 кода служит для преобразования позиционного кода в исправленный модулярный код. Этот преобразователь, как и входной преобразователь 1, может быть выполнен в комбинационном или регистровом виде. Второй блок 11 элемента И представляет собой группу элементов , выполняющих функцию ключевого устройства, и содержит столько элементов И, сколько разрядов в выходной шине вычитателя 6. Блок 12 сравнения с рабочим диапазоном представляет собой комбинационное устройство, на выходе которого значение равно логической "1" только тогда, когда на входе число попадает в интервал [0, Pp], в противном случае на выходе ноль. Триггер 13 - известный функциональный элемент, имеющий установочный и счетный выходы, причем при подаче сигнала на установочный вход триггер переключается в единичное состояние, при переходе с единичного в нулевое состояние на счетном входе триггер переключается в противоположное состояние. Первый блок 14 элементов И представляет собой группу элементов И, количество которых определяется разрядностью информационного входа избыточного модуля. Устройство работает следующим образом. На вход 15 установки устройства подается импульс, который устанавливает триггер 13 в единичное состояние, которое разрешает прохождение информации через первый блок 14 элементов И. На информационные входы 8, 16 входного преобразователя 1 подано число в модулярном коде 11, 21,..., n1, 1n+1 через время, определяемое переходными процессами в преобразователе 1. На его выходе устанавливается значение числа А в позиционном коде, которое поступает на блок 2 групп элементов сравнения с константой. Здесь возможны варианты: либо число правильно, т.е. А1 < <Р, либо неправильно, т.е. А1> Рр. Если число правильно и не попадает ни в один интервал распределения ошибок, то на выходах элементов сравнения устанавливается значение "0", которое проходят через блок 3 групп элементов ИЛИ на входы блока 4 умножителей, на выходах которых значения также равны "0". Эти значения поступают через группу 5 элементов ИЛИ на вход вычитаемого вычитателя 6, на входе уменьшаемого которого присутствует число А1. Число А1 поступает на блок 12 сравнения с рабочим диапазоном и на первые входы второго блока 11 элементов И. Так как число А1 правильное и лежит внутри рабочего интервала, то на выходе блока 12 сравнения с рабочим диапазоном устанавливается единичный уровень, который разрешает прохождение числа А1 на информационные выходы 9 устройства и вход выходного преобразователя 7 кода, на выходах которого устанавливается правильное число А 1в коде СОК. Если число А1 ошибочно (А1 > Рр), могут быть два варианта: число А1 ошибочно по какому-либо рабочему основанию; ошибка произошла в избыточном основании. Рассмотрим первый вариант. С выхода входного преобразователя 1 кода число поступает на входы блока 2 групп схем сравнения с константой. Так как ошибка произошла по одному из рабочих оснований, то число А1 попадает в интервал соответствующего элемента сравнения, на выходе которого устанавливается значение величины ошибки i . Оно через блок 3 групп элементов ИЛИ поступает на умножитель 4.i на константу, с выхода которого значение i i поступает на вход вычитаемого вычитателя 6, на входе уменьшаемого которого присутствует неправильное число А1 . С выхода вычитателя 6 откорректированное число поступает на блок 12 сравнения с рабочим диапазоном и на первые входы второго блока 11 элементов И. На выходе блока 12 сравнения устанавливается уровень логической "1", так как число А попадает в рабочий диапазон, который разрешает прохождение числа через второй блок 11 элементов И на первые информационные выходы 9 устройства и входы выходного преобразователя 7 кода. Если ошибка произошла по избыточному основанию n + 1 , то число А1, даже если попадает в интервал какой-либо схемы сравнения с константой, все равно на выходе вычитателя 6 неправильное. Оно больше рабочего диапазона Рр, следовательно, на выходе блока 12 сравнения с рабочим диапазоном устанавливается уровень "0", который запрещает прохождение информации через второй блок 11 элементов И. Переход с высокого уровня на низкий на счетном входе триггера 13 устанавливает триггер в нулевое состояние и запрещает прохождение неправильной информации по информационному входу 16 избыточного модуля. Так как ошибочным допускается только одно основание, то считается, что ошибок по рабочим основаниям нет, следовательно, на выходе входного преобразователя 1 кода формируется правильное число А, которое проходит на информационные выходы 9 и 10 устройства без корректировки. Преимущества предлагаемого устройства по сравнению с базовым объектом. В базовом объекте быстродействие определяется числом членов разложения в цепную дробь [ao, a1...], соответствующим числу тактов, и максимально может быть равно m=log2 . Даже в случае, если имеют одно контрольное основание n + 1 > n n - 1 , число тактов не меньше четырех. С увеличением величин как рабочих, так и контрольных оснований число тактов возрастает. В предлагаемом устройстве за счет распараллеливания операций сравнения неправильного числа с интервалами распределения ошибок достигается максимальное быстродействие.
Класс H03M13/00 Кодирование, декодирование или преобразование кода для обнаружения ошибок или их исправления; основные предположения теории кодирования; границы кодирования; способы оценки вероятности ошибки; модели каналов связи; моделирование или проверка кодов