Главная страница  |  Описание сайта  |  Контакты
СИСТЕМА ДЛЯ СОРТИРОВКИ ИНФОРМАЦИИ
СИСТЕМА ДЛЯ СОРТИРОВКИ ИНФОРМАЦИИ

СИСТЕМА ДЛЯ СОРТИРОВКИ ИНФОРМАЦИИ

Патент Российской Федерации
Суть изобретения: Система для сортировки информации. Относится к автоматике и вычислительной технике. Цель - расширение функциональных возможностей путем обеспечения возможности вычисления Хэммингова расстояния. Входные данные поступают во входной блок памяти. Сортировка данных производится в порядке значений их величин с записью частот идентичных входных кодов и выборок во вспомогательном блоке памяти, а координат этих кодов и выборок - в блоке памяти координат. В блоке модификации адреса и частоты и блоке формирования адреса формируются адреса, по которым с помощью счетчика расстояний в блоке памяти расстояний формируется Хэммингово расстояние между выборками различной длины. 2 з. п. ф-лы, 10 ил.
Поиск по сайту

1. С помощью поисковых систем

   С помощью Google:    

   С помощью Яндекс:  

2. Экспресс-поиск по номеру патента


введите номер патента (7 цифр)

3. По номеру патента и году публикации

2000000 ... 2099999   (1994-1997 гг.)

2100000 ... 2199999   (1997-2003 гг.)
Номер патента: 2058583
Класс(ы) патента: G06F7/06
Номер заявки: 94026554/09
Дата подачи заявки: 18.07.1994
Дата публикации: 20.04.1996
Заявитель(и): Акционерное общество "Авиастрой - Санкт-Петербург"
Автор(ы): Латышев В.А.; Волков В.М.
Патентообладатель(и): Акционерное общество "Авиастрой - Санкт-Петербург"; Латышев Валерий Алексеевич
Описание изобретения: Изобретение относится к автоматике и вычислительной технике и может использоваться в системах ассоциативной обработки и хранения информации (системы ассоциативного поиска, ассоциативная память, ассоциативные процессоры), системах анализа и обработки изображений (распознающие системы, роботы), системах оперативной обработки сигналов (обработка полей различной физической природы по амплитуде сигнала) и системах оперативного анализа данных (сортировка, сжатие данных, построение условных распределений, параллельный поиск данных, управление базами данных и знаний).
Известно устройство для сортировки информации, содержащее счетчик, блок памяти, вспомогательный блок памяти, счетчик равных чисел, блок синхронизации, входной блок памяти, сумматор-вычитатель, вычитатель, регистр, два элемента НЕ, элемент И, три элемента ИЛИ, четыре группы элементов И и три группы элементов ИЛИ [1]
Недостатком известного устройства является отсутствие возможности определения координат (номеров) сигналов упорядочиваемой последовательности.
Наиболее близкой по технической сущности к предлагаемой системе является система для сортировки информации, содержащая входной блок памяти, блок памяти координат, вспомогательный блок памяти, счетчик, счетчик адресов вспомогательного блока памяти, вычитатель, дополнительный вычитатель, регистр, блок синхронизации, четыре группы элементов И, три группы элементов ИЛИ, элемент И, два элемента ИЛИ и инвертор, причем информационные выходы системы соединены с входами данных входного блока памяти, регистра и входами уменьшаемого вычитателя, входы вычитаемого которого соединены с выходами регистра и входами вычитаемого дополнительного вычитателя, первый вход первого элемента ИЛИ подключен к выходу элемента И, первый вход которого соединен с выходом знакового разряда вычитателя, а второй с входом записи-чтения входного блока памяти и выходом записи-чтения исходных данных блока синхронизации, выход первого элемента ИЛИ соединен с входом синхронизации регистра, выход инвертора подключен к первым входам первой группы элементов И, их выходы соединены с входами данных вспомогательного блока памяти, адресные входы которого подключены к выходам первой группы элементов ИЛИ, выход счетчика соединен с адресными входами входного блока памяти и с первыми входами второй группы элементов И [2]
Недостатком данной системы являются узкие функциональные возможности системы, позволяющие лишь выделить среди всего множества выборок исходных кодовых сигналов выборки с нулевым Хэмминговым расстоянием.
Цель расширение функциональных возможностей системы путем обеспечения возможности вычисления Хэммингова расстояния.
Технические средства, отличающие заявляемое устройство от известных, проявляют новые свойства, позволяющие получить технический эффект, заключающийся в расширении функциональных возможностей путем получения в результате сортировки входных кодовых сигналов Хэммингова расстояния между всеми возможными линейными выборками различной длины, входящими в множество выборок исходных кодовых сигналов.
На фиг. 1 приведена функциональная схема системы; на фиг.2 представлен конкретный вариант выполнения функциональной схемы блока модификации адреса и частоты; на фиг.3 конкретный вариант выполнения функциональный схемы блока формирования адреса; на фиг.4 приведен в качестве примера один из возможных вариантов выполнения функциональной схемы блока синхронизации; на фиг.5 приведен в качестве примера один из возможных вариантов выполнения функциональной схемы блока формирования адресов команд; на фиг.6 приведен в качестве примера один из возможных вариантов выполнения функциональной схемы узла тактирования.
Предлагаемая система содержит входной блок 1 памяти, блок 2 памяти координат, вспомогательный блок 3 памяти, счетчик 4, счетчик 5 адресов вспомогательного блока памяти, вычитатель 6, дополнительный вычитатель 7, регистр 8, соответственно первую, вторую, третью и четвертую группы элементов И 9, 10, 11 и 12, первую группу элементов ИЛИ 13, первый элемент И 14, первый элемент ИЛИ 15, инвертор (элемент НЕ) 16, блок 17 памяти расстояний, блок 18 модификации адреса и частоты, блок 19 формирования адреса, счетчик 20 расстояний, счетчик 21 текущей длины выборки, счетчик 22 заданной длины выборки, блок 23 синхронизации, соответственно пятую, шестую, седьмую и восьмую группы элементов И 24, 25, 26 и 27, вторую и третью группы элементов ИЛИ 28 и 29, второй элемент ИЛИ 30.
Блок 18 модификации адреса и частоты (фиг.2) содержит счетчик 31 частоты, умножитель 32, сумматор 33, первую 34 и вторую 35 схемы сравнения, девятую и десятую группы элементов И 36 и 37, четвертую и пятую группы элементов ИЛИ 38 и 39, вход 40 блокировки числа циклов, вход 41 блокировки частоты, вход 42 синхронизации счетчика частоты, вход 43 автоувеличения частоты, вход 44 автоуменьшения частоты, вход 45 обнуления частоты, выход 46 прямого переноса счетчика частоты, выход 47 обратного переноса счетчика частоты, выход 48 сравнения частот, выход 49 сравнения с единичной частотой.
Блок 19 формирования адреса (фиг.3) содержит счетчик 50 адреса записи, счетчик 51 адреса элемента записи, вычитатель 52 константы, умножитель 53, делитель 54, сумматор 55, схему 56 сравнения, одиннадцатую, двенадцатую, тринадцатую группы элементов И 57, 58, 59, шестую и седьмую группы элементов ИЛИ 60 и 61, инвертор (элемент НЕ) 62, вход 63 блокировки координат, вход 64 синхронизации счетчика адреса записи, вход 65 автоувеличения адреса записи, вход 66 автоуменьшения адреса записи, вход 67 блокировки адреса записи, вход 68 синхронизации счетчика адреса элемента записи, вход 69 автоувеличения адреса элемента записи, вход 70 автоуменьшения адреса элемента записи, выход 71 прямого переноса счетчика адреса записи, выход 72 сравнения адреса записи, выход 73 прямого переноса счетчика адреса элемента записи.
Блок 23 синхронизации (фиг.4) содержит узел 74 тактирования, счетчик 75 адресов команд, блок 76 памяти команд, регистр 77 команд, блок 78 формирования адресов команд, первый триггер 79, четырнадцатую и пятнадцатую группы элементов И 80 и 81, восьмую группу элементов ИЛИ 82, второй 83 и третий 84 элементы И, третий 85, четвертый 86 и пятый 87 элементы ИЛИ, инвертор (элемент НЕ) 88, первый 89, второй 90, третий 91 элементы задержки с временем задержки τо, вход 92 длины выборки, вход 93 обратного переноса счетчика, вход 94 прямого переноса счетчика адресов вспомогательного блока памяти, вход 95 сравнения с единичной частотой, вход 96 сравнения частот, вход 97 обратного переноса счетчика частоты, вход 98 прямого переноса счетчика частоты, вход 99 прямого переноса счетчика адреса элемента записи, вход 100 сравнения адреса записи, вход 101 прямого переноса счетчика адреса записи.
Блок 78 формирования адресов команд (фиг.5) содержит второй,седьмой триггеры 102.107, первый,четырнадцатый регистры 108.121 адреса, шестнадцатую, двадцать шестую группы элементов И 122.132, девятую группу элементов ИЛИ 133, четвертый,семнадцатый элементы И 134. 149, шестой,одиннадцатый элементы ИЛИ 150.155, четвертый инвертор (элемент НЕ) 156, четвертый,двенадцатый элементы 157.168 задержки с временем задержки τо, вход 169 частоты, вход 170 длины выборки, вход 171 обратного переноса счетчика, вход 172 прямого переноса счетчика адресов вспомогательного блока памяти, вход 173 сравнения с единичной частотой, вход 174 сравнения частот, вход 175 обратного переноса счетчика частот, вход 176 прямого переноса счетчика частоты, вход 177 прямого переноса счетчика адреса элемента записи, вход 178 сравнения адреса записи, вход 179 прямого переноса счетчика адреса записи, входы 180.200 вспомогательных команд, выход 201 управления адресацией.
Узел 74 тактирования (фиг.6) содержит генератор 202, делитель 203 частоты, восьмой триггер 204, восемнадцатый элемент И 205, первый 206, второй 207 и третий 208 выходы частот.
Система работает следующим образом.
С шины логических констант системы до начала работы системы подаются следующим константы: К1 N-1 на информационные входы пятой группы элементов И 24, К2 N-2 на входы данных счетчика 5 вспомогательного блока памяти, К3 N на вторые входы умножителя 32, К4= 2N-3 на первые входы вычитателя 52, константа "1" на информационные входы седьмой группы элементов И 26 и на вторые входы схемы 35 сравнения, константа "2" на вторые входы делителя 54 (N число вводимых внешним устройством в систему кодов S). До начала работы системы внешнее устройство выставляет на информационных входах системы код Smax, разрядность которого соответствует разрядности регистра 8 и который содержит "1" во всех разрядах, кроме знакового, а на входах данных счетчика 22 длину линейных выборок Lзад, составленных из кодов S, вводимых в систему внешним устройством по информационным входам системы. Внешнее устройство подает сигнал начальной установки на вход начальной установки системы, который поступает через второй вход элемента ИЛИ 15 на вход синхронизации регистра 8, вход синхронизации счетчика 22, входы начальной установки блоков 19 и 23 и вход установки нуля счетчика 21. В результате происходит запись кода Smax в регистр 8, в счетчик 22 и обнуление счетчиков 21 и 50. После выдачи сигнала начальной установки внешнее устройство подает на вход запуска системы сигнал запуска, который поступает с этого входа на вход запуска блока 23 синхронизации. Блок 23 синхронизации по этому сигналу начинает выдавать последовательность синхронизирующих сигналов, тактирующих работу системы.
Блок 23 одновременно выдает на своих выходах установки нуля счетчика, установки нуля счетчика адресов вспомогательного блока памяти и установки нуля частоты сигналы, по которым происходит обнуление счетчиков 4, 5, 31. Блок выдает на выходе автоуменьшения заданной длины выборки сигнал, по которому происходит уменьшение на единицу содержимого счетчика 22. Блок 23 выдает на выходе запроса числа сигнал, который поступает на выход запроса числа системы. По сигналу запроса числа внешнее устройство устанавливает на информационных входах системы код S. С выхода записи-чтения исходных данных блок 23 выдает сигнал на второй вход элемента И14 и вход записи-чтения входного блока 1 памяти. По этому сигналу происходит запись кода S с информационных входов системы во входной блок 1 памяти по адресу А1 содержимое счетчика 4 (3), где содержимое счетчика 4 изменяется от 0 до N-1. Одновременно, если код S меньше содержимого регистра 8, на выходе вычитателя 6 появляется сигнал, по которому происходит запись кода S в регистр 8. Блок 23 выдает синхронизирующий сигнал на выходе автоувеличения координаты, по которому содержимое счетчика 4 увеличивается на единицу, и проверяет наличие единичного сигнала на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи. При отсутствии единичных сигналов на этих входах блок 23 выдает сигнал на выходе блокировки адреса строки, который устанавливает единичные потенциалы на управляющих входах элементов И 11 третьей группы, а с помощью элемента НЕ 16 нулевые потенциалы на управляющих входах элементов И 9, 10 и 11 первой, второй и четвертой групп.
Блок 23 синхронизации выдает одновременно синхронизирующие сигналы на выходах блокировки адреса строки, записи-чтения частоты и записи-чтения координаты. По этим сигналам происходит обнуление ячеек блоков 2 и 3 памяти. Адрес А2 обнуляемой ячейки блока 2 памяти поступает с адресных выходов блока 18, в котором вычисляется в соответствии с выражением А2= содержимое счетчика 5˙К3 + содержимое счетчика 31 (4), где содержимое счетчика 5 изменяется от 0 до D Smax Smin (5) (Smax и Smin наибольший и наименьший коды, поступающие на информационные входы системы, а содержимое счетчика 31 изменяется от 0 до N. Адрес А3обнуляемой ячейки блока 3 памяти поступает с выходов счетчика 5, т.е. А3= содержимое счетчика 5 (6). Блок 23 выдает сигнал на выходе автоувеличения частоты, по которому содержимое счетчика 31 увеличивается на единицу. Блок 23 повторяет выдачу вышеописанной последовательности синхронизирующих сигналов, начиная с выдачи сигнала на выходе блокировки адреса строки до момента переполнения счетчика 31. При этом происходит обнуление одной строки памяти блока 2 (размером в N+1 ячейку) и одной ячейки блока 3 памяти.
При переполнении счетчика 31 сигнал с его выхода 46 прямого переноса поступает на вход прямого переноса счетчика частоты блока 23. Блок 23 после приема этого сигнала выдает на выходе автоувеличения адреса строки сигнал, по которому происходит увеличение на единицу содержимого счетчика 5, и проверяет наличие единичного сигнала на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи. При отсутствии единичных сигналов на этих входах блок 23 выдает сигнал на выходе блокировки адреса записи, который отпирает информационные входы элементов И 59. Блок 23 одновременно выдает синхронизирующие сигналы на выходе блокировки адреса записи и выходе записи в счетчик адреса элемента записи. По этим сигналам осуществляется запись содержимого счетчика 50 в счетчик 51.
Блок 23 выдает сигнал на выходе блокировки логической "1", по которому отпираются управляющие входы элементов И 26. Блок 23 одновременно выдает сигналы на выходе блокировки логической "1" и на выходе записи-чтения Хэммингова расстояния. По этим сигналам происходит запись единицы в блок 17 памяти по адресу А4[K4 содержимое счетчика 50]˙содержимое счетчика 50}2 + содержимое счетчика 51 (7), вырабатываемому в блоке 19 с помощью вычитателя 52, умножителя 53, делителя 54 и сумматора 55. При этом содержимое счетчиков 50 и 51 изменяется в пределах от 0 до N-2. Блок 23 выдает сигнал на выходе автоувеличения адреса элемента записи, по которому происходит увеличение на единицу содержимого счетчика 51, и проверяет наличие единичного сигнала на своем входе прямого переноса счетчика адреса элемента записи. При отсутствии единичного сигнала на этом входе блок 23 повторяет описанную последовательность команд, начиная с выдачи сигнала на выходе блокировки логической "1". В результате многократного выполнения указанной последовательности команд до момента переполнения счетчика 51 в блок 17 памяти записывается запись, состоящая из единиц и имеющая длину, равную содержимому счетчика 51 на момент начала первого выполнения последовательности.
При поступлении единичного сигнала на вход прямого переноса счетчика адреса элемента записи блока 23 последний выдает сигнал на выходе автоувеличения адреса записи, по которому увеличивается на единицу содержимое счетчика 50, и повторяет описанную ранее последовательность команд, начиная с выдачи сигнала с выхода запроса числа. В результате однократного выполнения этой последовательности команд в блок 1 памяти записывается код S, поступающий с информационных входов системы, в блоке 2 памяти очищается строка памяти в N+1 элементов, в блоке 3 памяти очищается одна ячейка, в блоке 17 памяти формируется запись из единиц, длина которой определяется содержимым счетчика 51 на момент начала формирования записи, а в регистре 8 формируется код Smin наименьший из кодов S, записанных в блок 1 памяти на момент выполнения рассматриваемой последовательности команд. Запись в блоки 1, 2, 3, 17 памяти производится по адресам А1, А2, А3, А4, которые формируются в соответствии с выражениями (3), (4), (6), (7). Рассматриваемая последовательность команд выполняется блоком 23 до момента переполнения счетчиков 5 и 50. Содержимое счетчика 5 при выполнении последовательности изменяется от 0 до D (см. выражение (5)), а содержимое счетчика 50 от 0 до N-2. При этом возможны три случая: D < N-2, D > N-2 и D N-2. В любом случае выполнение данной последовательности команд заканчивается при поступлении единичных сигналов на вход прямого переноса счетчика адресов вспомогательного блока памяти и вход прямого переноса счетчика адреса записи, т.е. при переполнении счетчиков 5 и 50. В результате в блок 1 памяти записываются N кодов S, поступивших с информационных входов системы, в регистр 8 записывается код Smin наименьший из всех кодов S, записанных в блоке 1 памяти, очищаются блоки 2 и 3 памяти, во все ячейки блока 17 записываются единичные коды. Рассмотрим как это происходит во всех трех случаях. Назовем последовательность команд, по которым записываются исходные данные в блоки 1, 2, 3, 17 памяти и регистр 8, последовательностью формирования начальных условий.
В первом случае (D < N-2) при многократном выполнении последовательности формирования начальных условий первым переполняется счетчик 5. Тогда блок 23 при очередной выдаче синхронизирующего сигнала на выходе автоувеличения координаты и одновременной проверке наличия единичного сигнала на своих входах прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи устанавливается факт переполнения счетчика 5 и меняет последовательность выдачи сигналов. После выдачи указанного сигнала блок 23 выдает сигнал на выходе блокировки адреса записи, блокируя при этом выполнение последовательности команд, формирующих начальные условия в блоках 2 и 3 памяти, и переходя к выполнению последовательности команд, формирующих начальные условия в блоке 17 памяти. Таким образом, блок 23 выполняет многократно последовательность формирования начальных условий, формируя начальные условия в блоке 17 памяти и блокируя управляющие сигналы формирования начальных условий в блоках 2 и 3 памяти, так как переполнение счетчика 5 свидетельствуют о том, что эти условия в блоках 2 и 3памяти сформированы. Так блок 23 работает до переполнения счетчика 50. Факт переполнения счетчиков 5 и 50 блок 23 управления фиксирует по наличию единичных сигналов на их выходах прямого переноса, т.е. на своих соответствующих входах прямого переноса счетчика адресов вспомогательного блока памяти и прямого переноса счетчика адреса записи при выдаче сигнала на своем выходе автоувеличения координаты. После этого блок 23 прекращает выполнение последовательности формирования начальных условий и выдает синхронизирующий сигнал на выходе блокировки наибольшей координаты.
Во втором случае (D > N-2) при многократном выполнении последовательности формирования начальных условий первым переполняется счетчик 50. Тогда блок 23 при очередной выдаче сигнала на выходе автоувеличения координаты и одновременной проверке наличия единичного сигнала на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи устройства устанавливает факт переполнения счетчика 50 и меняет последовательность выдачи синхронизирующих сигналов. После выдачи указанного сигнала блок 25 выдает сигналы на выходе блокировки адреса строки, выходе записи-чтения частоты, выходе записи-чтения координаты, выходе автоувеличения частоты и выходе автоувеличения адреса строки в ранее описанном порядке. При этом в блоке 2 памяти обнуляется строка в n+1 элемент, а в блоке 3 ячейка. При выдаче сигнала на выходе автоувеличения адреса строки блок 23 проверяет наличие единичных сигналов на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи. Так как счетчик 50 переполнен (это означает, что в блоке 17 памяти сформированы начальные условия), то блок 23 многократно повторяет последовательность команд, формирующих нулевую строку в блоке 2 памяти и записывающих ноль в ячейку блока 3 памяти. Это происходит до момента переполнения счетчика 5. Факт переполнения счетчиков 5 и 50 блок 23 фиксирует по наличию единичных сигналов на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи при выдаче сигнала на своем выходе автоувеличения адреса строки. На этот момент начальные условия формируются в блоках 1, 2, 3, 17 памяти и регистре 8. Блок 23 управления формирует сигнал на своем выходе блокировки наибольшей координаты.
В третьем случае (D N-2) при многократном выполнении блоком 23 синхронизации последовательности формирования начальных условий счетчики 5 и 50 переполняются одновременно. Факт переполнения блок 23 фиксирует по наличию единичных сигналов на входе прямого переноса счетчика адресов вспомогательного блока памяти и на входе прямого переноса счетчика адреса записи при выдаче сигнала на выходе автоувеличения координаты. На этот момент времени в блоках 1, 2, 3, 17 памяти и в регистре 8 формируются начальные условия и блок 23 выдает сигнал на выходе блокировки наибольшей координаты.
Таким образом, во всех трех случаях выполнение последовательности формирования начальных условий завершается записью начальных условий в блоки 1, 2, 3, 17 памяти и регистр 8 и выдачей синхронизирующего сигнала на выходе блокировки наибольшей координаты, по которому отпираются информационные входы элементов И 24 и значение константы К1 поступает на входы данных счетчика 4. Блок 23 выдает одновременно сигналы на выходе блокировки управляющего сигнала и на выходе синхронизации счетчика. По этим управляющим сигналам производится запись в счетчик 4 константы К1 наибольшего порядкового номера (координаты) введенного в блок 1 памяти кода S. Нумерация введенных кодов производится от 0 до N-1.
Блок 23 синхронизации выдает сигнал на выходе блокировки частоты, по которому отпираются управляющие входы элементов И 37. Блок 23 одновременно выдает сигналы на выходе блокировки частоты и выходе записи частоты, по которым осуществляется запись частоты кода S в счетчик 31 из блока 3 памяти. Чтение частоты кода S из блока 3 памяти осуществляется по адресу А5 S -Smin (8), где значение кода S читается из блока 1 памяти по адресу, поступающему с выходов счетчика 4, а значение Sminпоступает с выходов регистра 8. Адрес А5 формируется вычитателем 7 и с его выходов через элементы И 12 и элементы ИЛИ 13 поступает на адресные входы блока 3 памяти. Блок 23 формирует управляющий сигнал на выходе записи-чтения координаты, по которому в блок 2 памяти записывается координата кода S в ячейку с адресом А6 А5˙К3 + содержимое счетчика 31, вычисляемым в блоке 18 с помощью умножителя 32 и сумматора 33. Адрес А5 (см. выражение (8)) поступает на первые адресные входы блока 18 с выходов вычитателя 7. Координата кода S поступает на входы данных блока 2 памяти с выходов счетчика 4. Блок 23 выдает сигнал на выходе автоувеличения частоты, по которому увеличивается на единицу содержимое счетчика 31. Блок 23 выдает сигнал на выходе записи-чтения частоты, по которому частота кода S, увеличенная на единицу в счетчике 31, записывается обратно в блок 3 памяти по адресу А5, вычисляемому в соответствии с выражением (8). Блок 23 одновременно выдает сигнал на выходе автоуменьшения координаты, по которому уменьшается на единицу содержимое счетчика 4, и проверяет наличие единичного сигнала на своем входе обратного переноса счетчика. Наличие единичного сигнала на этом входе свидетельствует о появлении сигнала на выходе обратного переноса счетчика 4. При отсутствии сигнала обратного переноса блок 23 повторяет описанную последовательность сигналов, начиная с выдачи сигнала на выходе блокировки частоты. В результате многократного выполнения этой последовательности сигналов на момент обнуления счетчика 4 в блоке 2 памяти сформированы D+1 групп координат кодов S, а в блоке 3 памяти частоты кодов S. Каждая группа координат соответствует нормированному значению кода S: d S Smin и содержит количество координат, равное частоте кода S.
При обнаружении единичного сигнала на входе обратного переноса счетчика блок 23 синхронизации проверяет наличие единичного сигнала на входе длины выборки, который поступает с выхода элемента ИЛИ 30 и определяется содержимым счетчика 21. В счетчике 21 хранится значение текущей длины выборки Lтек, где под выборкой понимаются несколько кодов S, подряд расположенных в ячейках блока 1 памяти в порядке возрастания адресов ячеек (координат выборки). При отсутствии единичного сигнала на входе длины выборки (на данный момент Lтек 0) блок 23 выдает сигнал на выходе обнуления счетчика адресов вспомогательного блока памяти, по которому происходит обнуление счетчика 5.
Блок 23 выдает сигнал на выходе блокировки адреса строки, по которому отпираются информационные входы элементов И 11 и с помощью инвертора 16 запираются информационные входы групп элементов И 9, 10, 12. Блок 23 повторно выдает сигнал на выходе блокировки адреса строки и одновременно проверяет наличие единичного сигнала на входе сравнения с единичной частотой. Сигнал на этот вход поступает со схемы 35 сравнения, которая сравнивает частоту кода S с единицей. Частота кода S на схему 35 сравнения поступает из ячейки блока 3 памяти с адресом, равным содержимому счетчика 5. Если частота кода S больше единицы, то с выхода схемы 35 сравнения на вход сравнения с единичной частотой блока 23 поступает нулевой сигнал, по которому последний одновременно выдает единичный сигнал на выходе установки нуля счетчика и на выходе блокировки числа циклов. По этим сигналам обнуляется счетчик 4 и отпираются информационные входы элементов И 36. Блок 23 одновременно выдает синхронизирующие сигналы на выходе блокировки числа циклов и выходе записи частоты, по которым в счетчик 31 записывается содержимое счетчика 4.
Блок 23 синхронизации одновременно выдает сигналы на выходе блокировки адреса строки и на выходе блокировки координаты, по которым отпираются информационные входы групп элементов И 11 и И 57 и запираются информационные входы групп элементов И 9, 10, 12, 58. Блок 23 повторяет выдачу указанных сигналов и одновременно с ними дополнительно выдает сигнал на выходе записи счетчик адреса элемента записи, по которому в счетчик 51 записывается координата кода S из ячейки блока 2 памяти с адресом А2 (см.выражение (4)), поступающим на адресные входы блока 2 памяти из блока 18. Блок 23 одновременно выдает сигналы на выходе блокировки адреса строки и на выходе автоувеличения частоты, по которым отпираются информационные входы группы элементов И 11, запираются информационные входы групп элементов И 9, 10, 12 и увеличивается на единицу содержимое счетчика 31. Блок 23 повторяет выдачу сигнала на выходе блокировок адреса строки и одновременно проверяет наличие единичного сигнала на входе сравнения частот. На этот вход поступает сигнал с выхода схемы 34 сравнения, которая сравнивает содержимое счетчика 31 с частотой кода S, поступающей из ячейки блока 3 памяти с адресом, равным содержимому счетчика 5. При несовпадении с инверсного выхода схемы 34 сравнения поступает на вход сравнения частот блока 23 единичный сигнал. По этому сигналу блок 23 повторяет выдачу сигнала на выходе блокировки частоты и одновременно выдает сигнал на выходе блокировки координаты. Между входами и выходами блоков системы устанавливается описанная коммутация. Блок 23 повторяет выдачу сигналов на выходах блокировок частоты и координаты и одновременно выдает сигнал на выходе записи в счетчик адреса записи, по которому в счетчик 50 записывается координата кода S из ячейки блока 2 памяти с адресом А2(см.выражение (4)), поступающим на адресные входы блока 2 памяти из блока 18. Блок 23 выдает сигнал на выходе синхронизации счетчика расстояний, по которому производится запись в счетчик 20 Хэммингова расстояния h между двумя выборками текущей длины. При этом расстояние h берется между выборками, координаты концов которых содержатся в счетчиках 50 и 51. Запись расстояния h в счетчик 20 производится из ячейки блока 17 памяти с адресом А4 (см.выражение (7)), который формируется в блоке 19 с помощью вычитателя 52, умножителя 53, делителя 54 и сумматора 55. Блок 23 одновременно выдает сигналы на выходе блокировки расстояния и на выходе автоуменьшения расстояния, по которым отпираются информационные входы элементов И 27 и уменьшается на единицу содержимое счетчика 20. Блок 23 одновременно выдает сигналы на выходе блокировки расстояния и на выходе записи-чтения Хэммингова расстояния, по которым производится запись содержимого счетчика 21 в ячейку блока 17 памяти с адресом А2 (см. выражение (4)). Блок 23 многократно выполняет описанную последовательность команд, начиная с выдачи сигналов на выходе блокировки адреса строки и на выходе автоувеличения частоты до момента снятия единичного сигнала с инверсного выхода схемы 34 сравнения. В результате в блоке 17 памяти скорректировано расстояние h для выборок текущей длины, координаты концов которых входят в одну из групп координат, хранящихся в блоке 2 памяти. Причем рассматриваемая последовательность команд корректирует расстояние h между выборкой, координата которой записана в счетчике 51, и остальными выборками, координаты концов которых входят в обрабатываемую группу. Коррекция расстояния h здесь заключается в следующем. Информация, хранящаяся в блоке 17 памяти, логически может быть представлена в виде треугольной матрицы. Рассмотрим сначала этот процесс на примере целочисленного массива (см.фиг. 7), состоящего из шести элементов с координатами Хi, где Х1 1, Х2 2.Х6 6. На этой же фигуре в виде графа представлено множество всех возможных выборок длины от 1 до 6, составляемых из элементов массива и матрицы ассоциаций для выборок длины 1, 2, 3, 4, 5. В матрицах ассоциаций указывается расстояние h каждой выборки с каждой, причем вертикальный и горизонтальный столбцы Х указывают координаты концов выборок. В этих матрицах h изменяется в пределах от hmin 0 до hmax Lтек. При увеличении длины выборки на единицу расстояние hi между двумя любыми выборками длины Lтек с координатами Хiи Xi' и расстояние hi+1 между двумя выборками длины Lтек +1 с координатами Хi+1, X'i+1, полученных из выборок длины Lтек путем добавления к ним соседнего элемента массива находятся в следующих соотношениях: либо hi+1 hi, либо hi+1 hi +1. Информация, хранящаяся в блоке 17 памяти, логически представляется в виде треугольной матрицы соответствующей матрицы ассоциаций для Lтек 1, но не содержит горизонтального и вертикального столбцов Х и главной диагонали. Адресация к элементам этой матрицы осуществляется в соответствии с выражением (7). Матрицы ассоциаций, соответствующие Lтек≥2, строятся как подмножества этой же матрицы. В результате выполнения последовательности формирования начальных условий блок 17 памяти заполняется единицами, т.е. hmax 1 для Lтек 1. Группы координат, сформированные в строках блока 2 памяти, задают выборки, для которых при Lтек 1 h 0, а при Lтек≥2 hi+1 hi. Таким образом, рассматриваемая последовательность команд уменьшает на единицу расстояние h между выборкой, координата которой хранится в счетчике 51, и выборками, координаты которых входят в обрабатываемую группу координат из блока 2 памяти.
После снятия единичного сигнала с инверсного выхода схемы 34 сравнения блок 23 одновременно выдает сигналы на выходе автоувеличения координаты и выходе блокировки числа цикла, по которым происходит увеличение на единицу содержимого счетчика 4, отпираются информационные входы элементов И 36. Блок 23 одновременно выдает сигналы на выходе блокировки адреса строки, на выходе блокировки числа циклов и на выходе записи частоты, по которым отпираются информационные входы групп элементов И 11, 36, запираются информационные входы групп элементов И 9, 10, 12, коммутируются входы данных счетчика 31 с выходами счетчика 4 и записывается содержимое счетчика 4 в счетчик 31. Блок 23 выдает сигнал на выходе блокировки адреса строки и одновременно проводит наличие единичного сигнала на входе сравнения частот. Пpи наличии единичного сигнала на этом входе блок 23 повторяет последовательность сигналов, начиная с одновременной подачи сигналов на выходе блокировки адреса строки и на выходе блокировки координаты. Указанная последовательность сигналов многократно выполняется до момента снятия единичного сигнала с входа сравнения частот блока 23. В результате в блоке 17 памяти скорректировано расстояние h для всех выборок с Lтек 1, входящих в группу координат блока 2 памяти.
При снятии единичного сигнала с входа сравнения частот блок 23 выдает сигнал на своем выходе автоувеличения адреса строки, по которому увеличивается на единицу содержимое счетчика 5, и одновременно проверяет переполнение счетчика адреса вспомогательного блока памяти по наличию единичного сигнала на входе прямого переноса счетчика адреса вспомогательного блока памяти. При отсутствии сигнала переполнения на указанном входе блока 23 многократно выполняется последовательность синхронизирующих сигналов, начиная с выдачи сигнала на выходе блокировки адреса строки. В результате в блоке 17 памяти скорректировано расстояние h для всех выборок, входящих во все группы координат, сформированные в блоке 2 памяти. Если при выполнении блоком 23 этой последовательности сигналов на момент выдачи последним сигнала на выходе блокировки адреса строки с одновременной проверкой наличия единичного сигнала на входе сравнения с единичной частотой на этом входе появляется единичный сигнал, то блок 23 вместо выполнения последовательности сигналов, корректирующих расстояние h в блоке 17 памяти, для выборок с координатами из текущей группы координат блока 2 памяти выдает сигнал на выходе автоувеличения адреса строки с одновременной проверкой наличия единичного сигнала на входе прямого переноса счетчика адреса вспомогательного блока памяти. Таким образом пропускаются группы координат с единичной частотой, т.е. группы координат, содержащие координату конца одной выборки.
При появлении сигнала прямого переноса на входе прямого переноса счетчика адреса вспомогательного блока памяти блок 23 выдает сигнал на своем выходе блокировки длины выборки, по которому отпираются информационные входы элементов И 25. Блок 23 одновременно выдает сигналы на выходе блокировки длины выборки и на выходе записи в счетчике адреса записи, по которым содержимое счетчика 21 записывается в счетчик 50. Блок 23 выдает сигнал на выходе автоувеличения длины выборки, по которому содержимое счетчика 21 увеличивается на единицу.
Блок 23 одновременно выдает сигналы на выходе автоувеличения адреса строки и на выходе блокировки адреса строки, по которым открываются информационные входы элементов И 11, запираются информационные входы групп элементов И 9, 10, 12 и увеличивается на единицу содержимое счетчика 5. Блок 23 одновременно выдает сигналы на выходе блокировки адреса строки и на выходе записи в счетчике адреса элемента записи, по которым содержимое счетчика 5 записывается в счетчик 51.
Блок 23 управления выдает сигнал на выходе блокировки длины выборки, по которому данные (Lтек) с выходов счетчика 21 поступают на выходы длины выборки системы. Блок 23 одновременно выдает сигналы на выходе блокировки выборки и выходе синхронизации, по которым внешнее устройство с выходов Хэммингова расстояния и длины выборки системы читает расстояние h между выборками, координаты концов которых определяются содержимым счетчиков 50 и 51, и длину выборки. Расстояние h читается из блока 17 памяти по адресу, вырабатываемому блоком 19 в соответствии с выражением (7). Блок 23 синхронизации выдает сигнал на выходе автоувеличения адреса элемента записи, по которому увеличивается на единицу содержимое счетчика 51, и одновременно проверяет наличие единичного сигнала на входе прямого переноса счетчика адреса элемента записи, который свидетельствует о переполнении счетчика 51. Блок 23 многократно до момента переполнения счетчика 51 выполняет последовательность команд, начиная с выдачи сигнала на выходе блокировки длины выборки. В результате внешнее устройство считывает из блока 17 памяти строку треугольной матрицы, которая хранит расстояние h между выборкой, координата которой определяется содержимым счетчика 50, и остальными выборками длиной Lтек.
При переполнении счетчика 51 блок 23 выдает сигнал на выходе автоувеличения адреса записи, по которому увеличивается на единицу содержимое счетчика 50, и одновременно проверяет наличие единичного сигнала на входе прямого переноса счетчика адреса записи. При отсутствии последнего блока 23 многократно до момента переполнения счетчика 50 выполняет рассмотренную последовательность команд, начинающуюся с одновременной выдачи сигналов на выходе автоувеличения адреса строки и на выходе блокировки адреса строки. В результате внешнее устройство считает построчно всю матрицу расстояний h, хранящуюся в блоке 17 памяти.
При переполнении счетчика 50 блок 23 синхронизации выдает сигнал на выходе автоуменьшения заданной длины выборки, по которому уменьшается на единицу содержимое счетчика 22. Если при этом на выходе обратного переноса счетчика 22 возникает единичный сигнал, то он поступает на выход конца работы системы, чем сигнализирует внешнему устройству об окончании работы системы, и на вход конца работы блока 23. По этому сигналу блок 23 перестает генерировать синхронизирующие сигналы. Если в блок 23 сигнал конца работы не поступает, то он одновременно выдает сигналы на выходе блокировки длины выборки и на выходе автоуменьшения текущей длины выборки, по которым открываются информационные входы элемента И 25 и уменьшается на единицу содержимое счетчика 21. Блок 23 одновременно выдает сигналы на выходе блокировки длины выборки и на выходе синхронизации счетчика, по которым содержимое счетчика 21 переписывается в счетчик 4. Блок 23 выдает сигнал на выходе блокировки частоты, по которому отпираются информационные входы элементов И 37. Блок 23 одновременно выдает сигналы на выходе блокировки частоты и на выходе записи частоты, по которым производит запись в счетчике 31 частоты кода S из ячейки блока 3 памяти по адресу, поступающему с вычитателя 7. При этом вычитатель 7 формирует адрес А5 в соответствии с выражением (8). Блок 23 выдает сигнал на выходе автоуменьшения частоты, по которому содержимое счетчика 31 уменьшается на единицу. Блок 23 синхронизации выдает сигнал на выходе записи-чтения частоты, по которому содержимое счетчика 31 переписывается в ячейку блока 3 памяти с адресом А5. Тем самым блок 23 уменьшает на единицу частоты кода S с координатой, равной Lтек -1. Поэтому при последующей корректировке матрицы расстояний h для выборок длиной Lтек из групп координат исключены выборки с координатой Lтек -1. Блок 23 выдает сигнал на выходе автоувеличения длины выборки, по которому увеличивается на единицу содержимое счетчика 21. Блок 23 проверяет наличие единичного сигнала на входе длины выборки. Так как Lтек≠0, то с выхода элемента ИЛИ 30 на вход длины выборки блока 23 поступает единичный сигнал, по которому блок 23 выдает последовательность сигналов, аналогичную последовательности формирования начальных условий и формирующую в блоке 17 памяти новые начальные условия для выборок длиной Lтек≠0. Формирование новых начальных условий заключается в добавлении единицы к содержимому ячеек блока 17 памяти. Эта последовательность команд следующая.
Блок 23 одновременно формирует синхронизирующие сигналы на выходе обнуления счетчика, на выходе синхронизации счетчика адресов вспомогательного блока памяти и на выходе обнуления частоты, по которым происходит обнуление счетчиков 4 и 31 и запись константы K2 в счетчик 5. Блок 23 выдает сигналы на выходе блокировки адреса строки, по которому отпираются информационные входы элементов И 11 и запираются информационные входы групп элементов И 9, 10, 12. Блок 23 одновременно выдает сигналы на выходе блокировки адреса строки, на выходе записи в счетчик адреса записи и на выходе записи в счетчик адреса элемента записи, по которым в счетчики 50 и 51 переписывается содержимое счетчика 5.
Блок 22 синхронизации формирует управляющий сигнал на выходе автоуменьшения адреса записи, по которому уменьшается на единицу содержимое счетчика 50. Блок 23 выдает сигнал на выходе синхронизации счетчика расстояний, по которому в счетчик 20 записывается расстояние h ячейки блока 17 памяти с адресом А4, поступающим из блока 19 и вычисляемом в соответствии с выражением (7). Блок 23 выдает сигнал на выходе автоувеличения расстояния, по которому содержимое счетчика 20 увеличивается на единицу. Блок 23 одновременно выдает сигналы на выходе автоувеличения адреса записи, на выходе автоувеличения адреса элемента записи и на выходе блокировки расстояния, по которым увеличиваются на единицу содержимое счетчиков 50 и 51 и отпираются информационные входы элементов И 27. Блок 23 управления одновременно выдает управляющие сигналы на выходе автоуменьшения частоты, на выходе блокировки расстояния и на выходе записи-чтения Хэммингова расстояния, по которым уменьшается на единицу содержимое счетчика 31 и в ячейку блока 17 памяти с адресом А4 (вычисляется в соответствии с выражением (7)) записывается модифицированное расстояние из счетчика 20, и проверяет наличие единичного сигнала на своем входе обратного переноса счетчика частоты. Наличие единичного сигнала на этом входе соответствует окончанию последовательности формирования новых начальных условий в одной строке треугольной матрицы расстояний h, начинающейся с выдачи управляющего сигнала на выходе автоуменьшения адреса записи.
Так как на данный момент на выходе обратного переноса счетчика 31 возникает сигнал обратного переноса, то блок 23 формирует сигнал на выходе блокировки длины выборки, по которому отпираются информационные входы элементов И 25. Блок 23 синхронизации повторяет выдачу сигнала на выходе блокировки длины выборки и одновременно проверяет наличие единичного сигнала на входе сравнения адреса записи, который поступает с выхода схемы 56 сравнения, где сравнивается с содержимым счетчика 50. Совпадение с содержимым счетчика 50 соответствует моменту окончания формирования новых начальных условий в матрице расстояний h.
Так как в данный момент Lтек не совпадает с содержимым счетчика 50, то блок 23 одновременно формирует синхронизирующие сигналы на выходе автоувеличения координаты, на выходе автоуменьшения адреса строки, на выходе блокировки адреса строки, на выходе блокировки числа циклов и на выходе автоуменьшения адреса записи, по которым увеличивается на единицу содержимое счетчика 4, уменьшаются на единицу содержимые счетчиков 5 и 50, отпираются информационные входы групп элементов И 11 и 36 и запираются информационные входы групп элементов И 9, 10, 12. Блок 23 одновременно выдает сигналы на выходе блокировки адреса строки, на выходе блокировки числа циклов, на выходе записи частоты и на выходе записи в счетчик адреса элемента записи, по которым производит перезапись содержимых счетчиков 4 и 5 в счетчики 31 и 51.
Далее блок 23 выполняет последовательность формирования новых начальных условий в одной строке матрицы расстояний h. При этом сигналы последовательности многократно повторяются до момента появления сигнала на выходе обратного переноса счетчика 31. При его появлении и поступлении на вход обратного переноса счетчика частоты блока 23 последний, как и ранее, дважды выдает сигнал на выходе блокировки длины выборки и при повторной выдаче проверяет наличие единичного сигнала на входе сравнения адреса записи. Порядок формирования сигналов на выходах блока 23 при отсутствии единичного сигнала на входе сравнения адреса записи рассмотрен ранее.
При появлении единичного сигнала на входе сравнения адреса записи блока 23 последний, как и в случае, когда Lтек 0, выдает сигнал на выходе установки нуля счетчика адресов вспомогательного блока памяти. После этого блок 23 выполняет описанные ранее последовательности команд, корректирующие матрицу расстояний h для выборок длины Lтек блока 17 памяти, осуществляющие построчный вывод этой матрицы и корректирующие частоту кодов S в блок 3 памяти. Если Lтек < Lзад, то блок 23 для выборок новой длины Lтек выполняет последовательности сигналов, формирующих в матрице расстояний h новые начальные условия, корректирующие эти новые начальные условия, осуществляющие построчный вывод матрицы h и корректирующие частоту кода S. Этот процесс повторяется для всех Lтек≅Lзад до момента, когда при возникновении сигнала обратного переноса на выходе обратного переноса счетчика 22 блока 23 не прекратит выдачу сигналов. В результате система за время работы последовательно выдает на соответствующем выходе Хэммингово расстояние матрицы расстояний h для выборок кодовых сигналов длиной от Lтек 1 до Lтек Lзад.
Работа приведенной в качестве примера схемы блока 23 синхронизации осуществляется следующим образом.
По сигналу начальной установки (фиг.4), поступающему из внешнего устройства, сбрасывается триггер 79, единичный сигнал с инверсного выхода которого открывают информационные входы элементов И 80. Этот же сигнал, задержанный элементом 89, записывает в счетчик 75 константу К5, которая равна наибольшему коду, записываемому в счетчик 75. Сигнал начальной установки, пройдя элемент 90 задержки, поступает на вход чтения блока 76 памяти, а пройдя элемент 91 задержки, обнуляет регистр 77, записывая в него нулевую константу К6 из блока 76 памяти. Сигналом запуска внешнее устройство переводит триггер 79 в единичное состояние и запускает узел 74 тактирования. Единичный сигнал с прямого выхода триггера 79 открывает информационные входы элементов И 81 и запирает информационные входы элементов И 80. Узел 74 тактирования на своих трех выходах выдает единичный сигнал с частотами f1= f2= f3= где fo тактовая частота генератора. По переднему фронту сигнала с частотой f3происходит увеличение на единицу содержимого счетчика 75. По заднему фронту сигнала с частотой f1 производится чтение из блока 76 памяти, который хранит программу управления системой. По заднему фронту сигнала с частотой f2 происходит запись команды программы управления в регистр 77. В таблице 2 приведен перечень управляющих сигналов (10.38), поступающих в систему с выходов регистра 77, и вспомогательных команд (39.59), предназначенных для управления ходом программ. На фиг.8-10 приведена программа управления системой. В следующем цикле своей работы узел 74 тактирования снова выдает три сигнала с частотами f1, f2, f3, по которым увеличивается на единицу содержимое счетчика 75 и в регистр 77 записывается следующая команда программы из блока 76 памяти. Так последовательно перебираются все команды программы.
Для изменения хода выполнения программы (циклы, условные и безусловные переходы) вспомогательные сигналы из блока 76 памяти поступают в блок 78, в который с входов 92.101 устройства 23 поступают также сигналы, являющиеся результатом выполнения системой управляющих сигналов из регистра 77. Используя эти два вида сигналов, блок 78 вырабатывает адрес команды программы управления, который поступает на вход данных счетчика 75. Этот адрес записывается в счетчик 75, если блок 78 вырабатывает единичный сигнал на своем выходе перехода. Сигнал перехода поступает на вход элемента НЕ 88, блокируя при этом суммирующий вход счетчика 75, и на вход элемента И 83, пропуская сигнал частоты f3 с узла 74 на синхронизирующий вход счетчика 75.
Блок 78 формирования адресов команд (фиг.5) в регистрах 110.119 формирует адреса условных и безусловных переходов в программе управления. В регистры 110.119 записываются константы с шины логических констант. Запись производится разрешающим сигналом, отпирающим информационные входы групп элементов И 122.130 и поступающим на вход синхронизации регистров 110.119 через элементы 158.166 задержки. Разрешающий сигнал формируется элементами И 134. 141 и элементами И 150, 151 из сигналов, поступающих из системы на входы 170, 172, 173, 174, 178, 179, и из сигналов, поступающих из блока 76 памяти на входы 181.189. Регистры 108, 109, 120, 121 служат для организации циклов в программе управления. По вспомогательным командам, поступающим на входы 190 191 в регистры 108 или 109 из счетчика 75, записывается адрес начала цикла. В конце цикла разрешающий сигнал отпирает информационные входы элементов И 131 или 132 и, пройдя через элемент 167 или 168 задержки, переписывает адрес начала цикла из регистра 108 или 109 в регистр 120 или 121. Разрешающий сигнал формируется элементами И 142.149 и ИЛИ 152, 153 из сигналов, поступающих из системы на входы 171, 172, 174, 175, 176, 177, 179, и из сигналов, поступающих из блока 76 памяти на входы 192.200. Из разрешающих сигналов элементом ИЛИ 155 формируется сигнал перехода, поступающий на выход 201. Триггеры 102.107 служат для запоминания сигналов прямого и обратного переноса, поступающих с выходов счетчиков системы. Регистры 110.121 и триггеры 102, 104, 105, 106 устанавливаются в исходное состояние сигналом с частотой f3, поступающим из блока 74 синхронизации на вход 169. Триггеры 103 и 107 устанавливаются в исходное состояние сигналом начальной установки, поступающим от внешнего устройства, или командой сброса, поступающей из блока 76 памяти на вход 180.
Узел 74 тактирования (фиг.6) с помощью генератора 202 и делителя 203 частоты создает синхронизирующие сигналы на выходе 206 с частотой f1, на выходе 207 с частотой f2 и на выходе 208 с частотой f3. Сигнал начальной установки устанавливает в исходное состояние триггеры делителя 203 частоты и триггер 204, единичный сигнал с инверсного выхода которого подключает выход генератора 202 к делителю 203 частоты. Сигнал конца работы устанавливает триггер 204 в единичное состояние, который отключает генератор 202 от делителя 203 частоты.
В соответствии с изложенным, система осуществляет разбиение множества линейных выборок исходных кодовых сигналов на подмножества выборок длины от L 1 до L Lзад с определением координат концов этих выборок и Хэммингова расстояния каждой выборки подмножества со всеми остальными выборками этого подмножества.
Таким образом, преимуществом предлагаемой системы является возможность находить в результате сортировки входных кодовых сигналов и координат концов множества выборок исходных кодовых сигналов Хэммингово расстояние между указанными выборками. Это расширяет область ее применения в устройствах ассоциативной обработки и хранения информации, анализа и синтеза изображений, оперативной обработки сигналов и данных и т.п. так как предлагаемая система позволяет сжимать объемы обрабатываемой и хранимой информации и ускорять ее поиск путем выделения в исходном множестве информации с заданным Хэмминговым расстоянием.
Формула изобретения: 1. СИСТЕМА ДЛЯ СОРТИРОВКИ ИНФОРМАЦИИ, содержащая входной блок памяти, блок памяти координат, вспомогательный блок памяти, счетчик, счетчик адресов вспомогательного блока памяти, вычитатель, дополнительный вычитатель, регистр, блок синхронизации, четыре группы элементов И, три группы элементов ИЛИ, элемент И, два элемента ИЛИ и инвертор, причем информационные входы системы соединены с входами данных входного блока памяти, регистра и входами уменьшаемого вычитателя, входы вычитаемого которого соединены с выходами регистра и входами вычитаемого дополнительного вычитателя, первый вход первого элемента ИЛИ подключен к выходу элемента И, первый вход которого соединен с выходом знакового разряда вычитателя, а второй соединен с входом записи-чтения входного блока памяти и выходом записи-чтения исходных данных блока синхронизации, выход первого элемента ИЛИ соединен с входом синхронизации регистра, выход инвертора подключен к первым входам элементов И первой группы, их выходы соединены с входами данных вспомогательного блока памяти, адресные входы которого подключены к выходам элементов ИЛИ первой группы, выход счетчика соединен с адресными выходами входного блока памяти и с первыми входами элементов И второй группы, входы записи-чтения блока памяти координат и вспомогательного блока памяти соединены с соответствующими выходами записи-чтения блока синхронизации, выходы запроса числа и синхронизации которого являются соответствующими одноименными выходами системы, отличающаяся тем, что в систему введены блок памяти расстояний, блок модификации адреса и частоты, блок формирования адреса, счетчик расстояний, счетчик заданной длины выборки, счетчик текущей длины выборки, а также пятая восьмая группы элементов И, причем входы длины выборки системы образованы входами данных счетчика заданной длины выборки, вычитающий вход которого соединен с выходом автоуменьшения заданной длины выборки блока синхронизации, вход начальной установки системы образован соединенными входами установки нуля счетчика текущей длины выборки, начальной установки блока синхронизации, начальной установки блока формирования адреса, вторым входом первого элемента ИЛИ и входом синхронизации счетчика заданной длины выборки, выход обратного переноса которого является выходом конца работы системы и подключен к входу конца работы блока синхронизации, вход запуска системы образован выходом запуска блока синхронизации, выход блокировки наибольшей координаты которого подключен к первым входам элементов И пятой группы, их вторые входы и входы данных счетчика адресов вспомогательного блока памяти соединены с шиной логических констант системы, выходы счетчика текущей длины выборки подключены к входам второго элемента ИЛИ и первым входам элементов И шестой группы, выходы которых соединены с первыми входами элементов ИЛИ второй группы, с входами длины выборки блока формирования адреса и с выходами длины выборки системы, адресные входы блока памяти координат подключены к выходам адреса блока модификации адреса и частоты, первые входы адреса которого соединены с выходами элементов И четвертой группы и первыми входами элементов ИЛИ первой группы, их вторые входы соединены с выходами элементов И третьей группы, с вторыми входами адреса блока модификации адреса и частоты и с входами адреса блока формирования адреса, суммирующий и вычитающий входы счетчика текущей длины выборки соединены соответственно с выходами автоувеличения текущей длины выборки и автоуменьшения текущей длины выборки блока синхронизации, выходы блока памяти координат соединены с выходами координаты блока формирования адреса, выходы частоты блока модификации адреса и частоты подключены к вторым входам элементов И первой группы, выход блокировки длины выборки блока синхронизации соединен с вторыми входами элементов И шестой группы, выходы вспомогательного блока памяти подключены к входам частоты блока модификации адреса и частоты, входы числа циклов которого соединены с выходами счетчика, входы данных счетчика соединены с выходами элементов ИЛИ второй группы, вторые входы которых подключены к выходам элементов И пятой группы, вход синхронизации, суммирующий и вычитающий входы, вход установки нуля счетчика соединены соответственно с выходами синхронизации счетчика, автоувеличения координаты, автоуменьшения координаты и обнуления счетчика блока синхронизации, выход блокировки адреса строки которого подключен к входу инвертора и первым входам элементов И третьей группы, их вторые входы соединены с выходами счетчика адресов вспомогательного блока памяти, его входы синхронизации, установки нуля, суммирующий и вычитающий подключены соответственно к выходам синхронизации счетчика адресов вспомогательного блока памяти, установки нуля счетчика адресов вспомогательного блока памяти, автоувеличения адреса строки и автоуменьшения адреса строки блока синхронизации, выход обратного переноса счетчика соединен с одноименным входом блока синхронизации, выход записи-чтения Хэммингова расстояния которого подключен к входу записи-чтения блока памяти расстояний, выход прямого переноса счетчика адресов вспомогательного блока памяти подключен к одноименному входу блока синхронизации, выход блокировки логической единицы которого соединен с первыми входами элементов И седьмой группы, входы блокировки числа циклов, блокировки частоты, записи частоты, автоувеличения частоты, автоуменьшения частоты и сброса частоты блока модификации адреса и частоты соединения соответственно с одноименными выходами блока синхронизации, адресные входы блока памяти расстояний соединены с выходами адреса блока формирования адреса, входы данных блока памяти расстояний соединены с выходами элементов ИЛИ третьей группы, первые входы которых соединены с выходами элементов И седьмой группы, подключенных вторыми входами к шине логической единицы, а вторые с выходами элементов И восьмой группы, выходы блока памяти расстояний подключены к входам данных счетчика расстояний и являются выходами Хэммингова расстояния системы, вход синхронизации, суммирующий и вычитающий входы счетчика расстояний соединены соответственно с выходами синхронизации счетчика расстояний, автоувеличения расстояния и автоуменьшения расстояния блока синхронизации, выходы прямого переноса частоты, обратного переноса частоты, сравнения частот и сравнения с единичной частотой блока модификации адреса и частоты соединения соответственно с одноименными входами блока синхронизации, выход блокировки расстояния которого соединен с первыми входами элементов И восьмой группы, их вторые входы подключены к выходам счетчика расстояний, входы блокировки координаты, записи в счетчик адреса записи, автоувеличения адреса записи, автоуменьшения адреса записи, записи в счетчик адреса элемента записи, автоувеличения адреса элемента записи и автоуменьшения адреса элемента записи блока формирования адреса подключены соответственно к одноименным выходам блока синхронизации, выходы прямого переноса счетчика адреса записи, сравнения адреса записи, прямого переноса счетчика адреса элемента записи блока формирования адреса подключены к одноименным входам блока синхронизации, выходы входного блока памяти подключены к входам уменьшаемого дополнительного вычитателя, его выходы соединены с первыми входами элементов И четвертой группы, их вторые входы соединены с выходом инвертора и с вторыми входами элементов И второй группы, выходы которых подключены к входам данных блока памяти координат.
2. Система по п. 1, отличающаяся тем, что блок модификации адреса и частоты содержит счетчик частоты, умножитель, сумматор, две схемы сравнения, девятую и десятую группы элементов И и четвертую и пятую группы элементов ИЛИ, причем первые и вторые входы адреса блока соединены соответственно с первыми и вторыми входами элементов ИЛИ четвертой группы, выходы которых соединены с первыми входами данных умножителя, входы числа циклов блока соединены с первыми входами элементов И девятой группы, вторые входы которых образуют вход блокировки числа циклов блока, входы частоты блока соединены с первыми входами элементов И десятой группы, вторые входы которых соединены с входами блокировки частоты блока, входы записи, автоувеличения, автоуменьшения и сброса частоты блока соединены соответственно с входом синхронизации, суммирующим и вычитающим входами и входом начальной установки счетчика частоты, вторые входы данных умножителя соединены с шиной логических констант блока, входы данных счетчика частоты соединены с выходами элементов ИЛИ пятой группы, первые входы которых соединены с выходами элементов И девятой группы, выходы счетчика частоты соединены с выходами частоты блока, первыми входами первой схемы сравнения и вторыми входами сумматора, первые входы которого соединены с выходами умножителя, выходы прямого и обратного переноса счетчика частоты являются одноименными выходами блока, выходы сумматора выходами адреса блока, вторые входы первой схемы сравнения соединены с входами частоты блока и первыми входами второй схемы сравнения, выход которой является выходом сравнения с единичной частотой блока, вторые входы второй схемы сравнения соединены с шиной логических констант блока, инверсный выход первой схемы сравнения является выходом сравнения частот блока, выходы элементов десятой группы соединены с вторыми входами элементов ИЛИ пятой группы.
3. Система по п.1, отличающаяся тем, что блок формирования адреса содержит счетчик адреса записи, счетчик адреса элемента записи, вычитатель константы, сумматор, умножитель, делитель, схему сравнения, одиннадцатую, двенадцатую и тринадцатую группы элементов ИЛИ, шестую и седьмую группы элементов ИЛИ и инвертор, причем входы координаты блока образованы первыми входами элементов И одиннадцатой группы, вторые входы которых соединены с входом блокировки координаты блока и входом инвертора, вход синхронизации счетчика адреса записи, вход автоувеличения адреса записи, вход автоуменьшения адреса записи и вход начальной установки блока соединены соответственно с входом синхронизации, суммирующим и вычитающим входами и входом начальной установки счетчика адреса записи, входы данных которого соединены с выходами элементов ИЛИ шестой группы, входы адреса блока соединены с первыми входами элементов И двенадцатой группы, вторые входы которых соединены с выходом инвертора, входы длины выборки блока соединены с первыми входами элементов ИЛИ шестой группы и вторыми входами схемы сравнения, первые входы которой соединены с выходами счетчика адреса записи, входами вычитаемого вычитателя константы и умножителя и первыми входами элементов И тринадцатой группы, вход блокировки адреса записи соединен с вторыми входами элементов И тринадцатой группы, выходы которой соединены с первыми входами элементов ИЛИ седьмой группы, вход синхронизации счетчика адреса элемента записи и входы автоувеличения и автоуменьшения адреса элемента записи соединены соответственно с входом синхронизации, суммирующим и вычитающим входами счетчика адреса элемента записи, входы данных которого соединены с выходами элементов И седьмой группы, входы уменьшаемого вычитателя константы и вторые входы делителя соединены с шиной логических констант блока, выход прямого переноса счетчика адреса записи соединен с выходом прямого переноса счетчика адреса записи блока, выходы счетчика адреса элемента записи соединены с вторыми входами сумматора, первые входы которого соединены с выходами делителя, выход прямого переноса счетчика адреса элемента записи соединен с выходом прямого переноса счетчика адреса элемента записи блока, выходы вычитателя константы соединены с первыми входами умножителя, выходы которого соединены с первыми входами делителя, выходы сумматора являются выходами адреса блока, выход схемы сравнения выходом сравнения адреса записи блока, выходы элементов И одиннадцатой группы соединены с вторыми входами элементов ИЛИ седьмой группы и с третьими входами элементов ИЛИ шестой группы, вторые входы которых соединены с выходами элементов И двенадцатой группы и с третьими входами элементов ИЛИ седьмой группы.