Преобразователь двоичного кода в код с постоянным весом
Иллюстрации
Показать всеРеферат
А1
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (19) (11),SU
gg 4 Н 03 М 7/02
ОПИСАНИЕ ИЗОБРЕТЕНИЯ ) е
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
) t
С!
ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3802386/24-24 (22) 10.10.84 (46) 07 ° 05.86. Бюл. У 17 (72) В.В. Потапов (53) 681.325(088.8) (56) Авторское свидетельство СССР
В 662933, кл. G 06 F 5/02, 1979.
Авторское свидетельство СССР
N - 436345, кл. G 06 F 5/02, 1972. (54)(57) ПРЕОБРАЗОВАТЕЛЬ ДВОИЧНОГО
КОДА В КОД С ПОСТОЯННЫМ ВЕСОМ, содержащий генератор весовых коэффициентов, регистр сдвига, сумматор, элемент И и распределитель импульсов, в).ход первого полутакта которого соединен с тактовым входом регистра сдвига и первым входом элемента И, выход второго полутакта распределителя импульсов соединен с управляющим входом генератора весовых коэффициентов, отличающийся тем, что, с целью расширения класса решаемых задач за счет возможности преобразования двоичного кода в код с ограниченным весом, в него введены регистр весового эквивалента, схема сравнения и элемент НЕ, а генератор весовых коэффициентов содержит группу сумматоров, группу пороговых элементов, первую и вторую группы элементов И и группу элементов задержки, причем выход регистра сдвига соединен с первыми входами элементов И первой группы, а через элемент НЕ— с первыми входами элементов И второй группы, выход сумматора соединен с первым информационным входом схемы сравнения, второй информационный вход которой соединен с выходом последнего сумматора группы и вторым входом элемента И, выход которого соединен с входом сумматора, а третий вход элемента И соединен с выходом схемы сравнения, тактовый вход которой соединен с выходом такта,распределителя импульсов, выход i --ro сумматора группы (9 =1-р 9 где р)„— максимальное число единиц кода с ограниченным весом) соединен с первым входом ((+1)-го сумматора группы и через 1-й пороговый элемент груп1 пы — с вторым входом 9 --го элемента И второй группы, третий вход которого
9 соединен с выходом 1 -го элемента задержки группы, с входом (-1)-ro элемента задержки группы и с вторым входом 1 -го элемента И первой груп" пы, выходы (-х элементов И первой и второй групп соединены соответственно с вторым и третьим входами i --го сумматора группы, выход регистра весового эквивалента соединен с первым входом первого сумматора группы, вход последнего элемента задержки группы является управляющим входом генератора весовых коэффициентов.
229964 2
15 у(n, р) где q (n, р) — вес п-го разряда ппеобразуемого числа при наличии р единнц,в старших перед ним разрядах;
p — количество единиц в коде каждого сообщения (характеристике ограничения на вес).
Преобразование двоичных кодов с постоянным весом соответствует переводу чисел из позиционной системы счисления, веса разрядов которой определяются следующим образом: вых коэффициентов
25 (пр)РРР (Pm P ) (2)
С при рър -и.
В преобразователе используется возможность вычисления по (p +I) весовым коэффициентам разрядов:
q(n,,0), (ф(п -1, 1), (р(п,-2, 2), (f(n, -р„, р,„) для любого п,ъ р соответствующего ряда коэффициентов для и<, равного n,+1 нли п,-1, путем простого соответственно сложения или вычитания смежных коэффициентов иэ ряда для п,. Эта возможность определена основным свойством фибоначчиевых систем счисления, которое записывается в виде следующего выражения:
1 1
Изобретение относится к автоматике и цифровой вычислительной технике и может быть использовано при построении преобразователей двоичных кодов в коды с ограниченным или постоянным весом. !
Целью изобретения является расширение класса .решаемых задач за счет воэможности преобразования двоичного кода в код с ограниченным весом.
Преобразование двоичных кодов с. ограниченным весом (количество единиц в коде может быть от 0 до, р) соответствует переводу числа из позиционной системы счисления s код веса разрядов которого определяются выражением
2 при р<р -n (Р - P)
С при р>р -п, <=0
q(n,ð) =q(n„,p)+g(n1-1, р+1) .
Определение весовых коэффициентов разрядов в процессе преобразования ,начинается со старших разрядов, Заме
56
55 тим, что значение Я(п,p) при Р=Р всегда равно 1.
На чертеже представлена структурная схема предлагаемого преобразователя.
Преобразователь содержит регистр 1 весового эквивалента, генератор 2 весовых коэффициентов, включающий в себя группу 3 сумматоров, предназначенных для хранения весовых коэффициентов р, группу 4 пороговых элементов, первую группу 5 элементов И, вторую группу 6 элементов И, группу
7 элементов задержки, элемент НЕ Я, элемент И 9, схему 10 сравнения, распределитель 11 импульсов, сумматор 12 и регистр 13 сдвига.
В зависимости от числа разрядов в преобразуемом коде (и ), типа ограничения на вес кодов и значения параметра ограничения р осуществляется вычисление значений следующих весо,с1(п -р +1, р +1), cp(n -р +2, р -2), ...,ср (и, О).
В первый сумматор 3 записывают двоичный эквивалент числа с (п -р +1, р +1), во второй сумматор 3 — двоичный эквивалент Ч(п -р +2, р,„-2) и т.д. В последнем сумматоре 3 записан двоичный эквивалент числа ((п, О), которое является весовым коэффициентом первого старшего разряда преобразуемого кода. В .регистре 1 двоичный эквивалент "1" соответствует весу любого разряда при р р, так как всегда q(, р)=1, Для случая, когда осуществляется преобразование кода 11 1000 (56) в код с ограниченным весом, число разрядов в котором равно 7 (п =6), а максимально допустимый вес равен 3 (р 3), устройство работает следующим образом.
Преобразование осуществляется за число тактов, равное числу разрядов в исходном коде, в рассматриваемом случае эа 7 тактов. Каждый такт рабо» ты состоит из двух полутактов. Первый полутакт основной (рабочий), в течение которого осуществляется преобразование очередного разряда исходного кода в код с ограниченным .весом, а второй полутакт вспомогательный, в течение которого осуществляется вычисление двоичного эквивалента весом .следующего разряда преобразуемого ко3 12?9 да. Потактную работу преобразователя колов задает распределитель 11 импульсов путем выдачи на выходе 14 управляющего сигнала в течение всего такта работы, на выходе 15 — в течение первого полутакта и на выходе
16 — в течение второго полутакта работы.
В исходном состоянии преобразуемый код 111000 записан в сумматоре 12, ре-»р гистр 13 сдвига обнулен. Число сумматоров в группе равно 3. В сумматоре
3» записан двоичный эквивалент числа
» (6,0)=12, в сумматоре 3 — ф (5, 1)=
=16 и в сумматоре 3» — ч(4,2)=5. »5
Если же преобразователь содержит число сумматоров 3,, 3, ..., Зз в группе больше, чем р, то в избыточные сумматоры записывают двоичные эквиваленты единицы.
Первый такт.
При поступлении управляющего сигнала с выхода 14 распределителя 11 импульсов на тактовый вход схемы 10 сравнения осуществляется сравнение чисел, хранящихся в начале такта работы в сумматоре 3 и сумматоре 12, и в течение времени присутствия на управляющем входе сигнала она выдает на выходе единичное значение сигнала, если число в сумматоре 12 больше или равно числу в сумматоре 3, или нулевое, если число в сумматоре 12 меньше числа в сумматоре 3 . В рассматриваемом примере в начале такта в сумматоре 12 хранится число 56, а в сумматоре 33-42, поэтому на выходе схемы 10 сравнения будет единичное значение сигнала. При поступлении в первом полутакте работы сигнала с выхода 15 распределителя 11 импульсов на управляющий вход регистра 13 сдвига последний осуществляет сдвиг хранящегося в нем числа на один разряд в сторону старших и запись в пер-45 вый младший разряд нулевого или единичного значения, поступающего на его вход с выхода схемы 10 сравнения.
В рассматриваемом случае в регистре
13 в первом такте работы будет сдви- 5»1 нуто нулевое число и записано в младший разряд единичное значение.
Одновременно с поступлением сигнала с выхода 15 распределителя 11 импульсов на управляющий вход регист-5 ра 13 сдвига он поступает и на вход элемента И 9, который обеспечивает подачу числа из сумматора 3 на вход
964 4 сумматора 12 только при наличии на его третьем входе единичного значения сигнала от схемы 10 сравнения. В рассматриваемом случае в первом такте работы при поступлении на вход элемента И 9 управляющего сигнала значение числа 42 из сумматора 3 подается на вход сумматора 12, так как на второй вход элемента И 9 подан от схемы 10 сравнения единичный сигнал. Сумматор 12 осуществляет вычитание поступающего на его вход числа из числа, хранящегося в нем. В рассматриваемом случае в сумматоре 12 из числа 56 будет вычтено число 42, в результате чего в конце первого полутакта в нем будет храниться число 14.
Во втором полутакте осуществляется подготовка генератора 2 весовых коэффициентов к определению значения следующего разряда восстанавливаемого сообщения.
Управляющий сигнал с выхода 16 распределителя 11 импульсов поступает на входы элементов И 6, 5 э и через элементы 7, 7» — на соответствующие пары элементов И 6, 5 и 6», 5» .
При наличии на выходе схемы 10 сравнения сигнала, соответствующего нулевому значению преобразуемого в данном такте разряда исходного кода, этим сигналом через элемент НЕ 8 будут поданы разрешающие сигналы на ды элементо ляющие сигналы поступят через элементы И 6,, 6, 6 на первые управляющие входы только тех сумматоров 3,, 3, 3, в которых будут храниться двойч,ные эквиваленты чисел, строго больших единицы, так как только в этом случае на первые входы элементов И 6»,,6, 6 будут поданы разрешающие сигг налы с выходов соответствующих пороговых элементов 4», 4 z, 4э, подключенных к выходам сумматоров 3,, 3,3>При наличии на выходе схемы 10 сравнения сигнала, соответствующего единичному значению преобразуемого в данном такте разряда исходного кода, этим сигналом будет подано разрешение на элементы И 5, 5, 5> и сигналы с выхода 16 распределителя
11 импульсов будут поступать на вторые управляющие входы сумматоров
34, 3, 334
При поступлении сигнала на первый управляющий вход любого сум»»атоПервый полутакт. 35
При поступлении сигнала с выхода
14 распределителя 11 импульсов схема 10 сравнения выдает на элемент
И 9 нулевой сигнал, в результате чего содержимое сумматора 12 остается щ без изменения, т.е ° сохраняется число 42.
S 12 ра 3, 3, 3 он осуществляет вычитание из хранящегося в нем числа числа, поданного на его информационный вход с выхода предыдущего сумматора или регистра 1, а при поступлении сигна-. ла на второй управляющий вход сумматор осуществляет сброс хранящегося в нем числа и запоминание числа, поданного на его информационный вход.
В рассматриваемом случае первый старший разряд исходного кода, .обрабатываемый в первом такте, имеет единичное значение. Следовательно, управляющий сигнал с выхода 16 распределителя 11 импульсов последовательно, начиная с сумматора 3>, поступит на вторые управляющие входы всех сумматоров 3, 3, 3,, и они произведут запись двоичных эквивалентов следующих чисел: в сумматор 3 — 16=
=q(5, 1), в сумматор 3 — 5 =q(4,2) и в сумматор 3 — 1 = (3, 3) . На этом работа устройства на данном такте заканчивается.
Второй такт °
Работа преобразователя кодов в этом такте отличается тем, что с выхода схемы 10 сравнения будет выдаваться сигнал, соответствующий нулевому значению 6-ro разряда исходного кода, который обрабатывается во втором такте.
29964 а
Второй полутакт.
Управляющий сигнал с выхода 16 распределителя 11 импульсов поступит через элементы И 6, 6z на первые управляющие входы только сумматоров Зз и 3z. В сумматоре 3< (в остальных, если сумматоров больше 3) хранится двоичный эквивалент единицы, поэтому пороговый элемент 4 не
l0 выдает больше разрешающего сигнала на элемент И 61 и сумматор 3 отключается от управления по первому входу. В сумматорах 3 и 3> будет проведено вычитание поданных на их вхо15 ды чисел из хранящихся в них. В результате этого будут получены двоичные эквиваленты следующих чисел: в сумматоре 3 - 16-5=@(4, 1) и в сумматоре 3 — 5-1=ф(3,2). В сумматоре
3< сохранится двоичный эквивалент едИницы, которому можно поставить в соответствие весовой коэффициент
q(2,3)=1.
Работа устройства последующих тактов аналогична первому, если обрабатывается единичный разряд исходного кода, или второму, если обрабатывается нулевой разряд.
Изменение содержимого всех сумма30 торов 12, 3, 3, 3> при преобразовании данного кода (111000) в полный двоичный код представлено в таблице. Конечный результате преобразования получен в регистре 13 на
7-ом такте и равен 1010100.
Изобретение позволяет также преобразовать полные двоичные коды в коды с постоянным весом. Отличие здесь только в том, что значения весовых коэффициентов для записи в сумматоры цепочки в исходном состоянии осуществляют по формуле (2) 7
3229964
I I
I 1
Ю
1 I
I
С4
I 1
1
I !
1 л
Ю
Ю
О
I
I
О
Ю
Ю
О
I o 1 !
Ю
) I
Ю о
О
Ю Ю
О
Ю
Ю
1 1
I с"1 1
Ю
Ю
D
О, О о
О.
О
Ю
Ю
О
Ю
Ю
I
iо I л
1
Ф
В» а
Э
М A
Ф Э е а по..
ФФ
М м асъ! ка! m0
I
Ю 1
I
I I о
5 о
Ql 1 э ЭО
М I и
1е I Э <Ч Э ь 1 ccI о Э I Ж И
1-Ф cuba, 1 сто
Е и ж
Фв °
I Э, 1
I ф
Э м
al n ф е»
cd
1 М Э
1 ОЪ а
1229964
Корректор А, Обручар
Техред Л.Олейник
Редактор Н. Егорова
Подписное
Тираж 816
ВНИИПИ Государственного комитета СССР по делам изобретений и открытий
113035, Москва, Ж-35, Раушская наб,, д. 4/5
Заказ 2460/59
Производственно-полиграфическое предприятие, г. Ужгород, ул. Проектная, 4