Система для сортировки информации
Реферат
Система для сортировки информации. Относится к автоматике и вычислительной технике. Цель - расширение функциональных возможностей путем обеспечения возможности вычисления Хэммингова расстояния. Входные данные поступают во входной блок памяти. Сортировка данных производится в порядке значений их величин с записью частот идентичных входных кодов и выборок во вспомогательном блоке памяти, а координат этих кодов и выборок - в блоке памяти координат. В блоке модификации адреса и частоты и блоке формирования адреса формируются адреса, по которым с помощью счетчика расстояний в блоке памяти расстояний формируется Хэммингово расстояние между выборками различной длины. 2 з. п. ф-лы, 10 ил.
Изобретение относится к автоматике и вычислительной технике и может использоваться в системах ассоциативной обработки и хранения информации (системы ассоциативного поиска, ассоциативная память, ассоциативные процессоры), системах анализа и обработки изображений (распознающие системы, роботы), системах оперативной обработки сигналов (обработка полей различной физической природы по амплитуде сигнала) и системах оперативного анализа данных (сортировка, сжатие данных, построение условных распределений, параллельный поиск данных, управление базами данных и знаний).
Известно устройство для сортировки информации, содержащее счетчик, блок памяти, вспомогательный блок памяти, счетчик равных чисел, блок синхронизации, входной блок памяти, сумматор-вычитатель, вычитатель, регистр, два элемента НЕ, элемент И, три элемента ИЛИ, четыре группы элементов И и три группы элементов ИЛИ [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 читается и