Адресное устройство для цифрового фильтра
Изобретение относится к специализированным средствам вычислительной техники и может быть использовано для цифровой обработки сигналов, в частности для цифровой фильтрации в различных цифровых комплексах. Цель изобретения - повьшение быстродействия . Поставленная цель достигается за счет того, что устройство содержит первую .группу из (2Р+1) регистров сдвига 1.1-1.2Р+, вторую 2.1-2.2Р и третью 3.1-3.2Р, группы из 2 регистров сдвига, мультиплексоры 4.1- 4.2Р, (Р - порядок фильтра), блок 5 памяти, регистр 6 указателя таблиц, блок элементов ИЛИ 7, тактовые входы 8, элементы ИЛИ 9.1-9.2Р+1, формирователь 10 адреса, шину 11 данных и выход 12 адреса. 3 ил. ю
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИК (19) (ll) ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н ABTGPCHGMV СВИДЕТЕЛЬСТВУ
„Вм
ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР
ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 3981542/24-24 (22) 18. 10. 85 (46) 23.03.87. Бюл. ¹ 11 (71) Московский институт электронной техники (72) В.А. Колюскин и В.И. Джиган (53) 681.32(088.8) (56) Авторское свидетельство СССР № 1107291, кл. Н 03 Н 1.7/04, 1984.
Zeman I. and Nagle Т. А high-Speed
Mickopkogrammable Digital Signal Processor Employind Distributes Arithmetic. — IEEE Journal of Solid-State circuit, 1980, vol. SC-15,№ 1, Febru-! °
ary, р. 70-80. (51)4 Н 03 Н 17/04; С 06 Г 15/353 (54) АДРЕСНОЕ УСТРОЙСТВО ДЛЯ ЦИФРОВОГО ФИЛЬТРА (57) Изобретение относится к специализированным средствам вычислительной техники и может быть использовано для цифровой обработки сигналов, в частности для цифровой фильтрации в различных цифровых комплексах. Цель изобретения — повышение быстрбдействия. Поставленная цель достигается за счет того, что устройство содержит первую .группу из (2Р+1) регистров сдвига I 1 — 1.2Р+1, вторую 2.1-2.2Р и третью 3.1-3.2Р, группы из 2Р регистров сдвига, мультиплексоры 4.1—
4.2Р, (Р— порядок фильтра), блок 5 памяти, регистр 6 указателя таблиц, блок элементов ИЛИ 7, тактовые входы 8, элементы ИЛИ 9.1-9.2Р+1, формирователь 10 адреса, шину ll данных и выход 12 адреса. 3 ил.
1298859 а. Ь.
1 коэффициенты фильтра m-го звена; номер обрабатываемой выборки; порядок звена (обычно Р = 2,4).
8 1
Yen(n) = 2 p(X (п), Х (п-1),...,Х (п-Р), у (п-1),..., у (n ð) )
-PlX (n, Х (n-l),...,Õ (n-P), Y (n-1) ... у („ р)) (4) где p(X (n), Х (n-1) +...+ Х (n-P), Y (n-1),...,у (n-ð) 1
= а Х (и) + а, Х (и-I ) +. ° . + а Х (n-р) — b, у" (n- 1 ) — Ъ Y (n-Р) );
Изобретение относится к специализированным средствам вычислительной техники и может быть использовано для цифровой обработки сигналов, в частности для цифровой фильтрации 5 в различных цифровых комплексах.
Цель изобретения — повьппение быстродействия адресного устройства.
На фиг. 1 изображена функциональная схема адресного устройства для цифрового фильтра; на фиг. 2 — функциональная схема формирователя адреса; на фиг. 3 — временные диаграммы работы адресного устройства.
Адресное устройство содержит пер!
5 вую 1 ° 1-1.2Р+I, вторую 2.1-2.2Р и третью 3.1-3.2Р группы регистров сдвига, 2Р мультиплексоров 4.1-4.2Р, блок 5 памяти, регистр 6 указателя таблиц; блок ИЛИ 7 элементов, тактовые входы 8, 2P+I элементов ИЛИ 9.1-9.2Р+1, формирователь 10 адреса, рину 11 данных, информационный выход 12 адреса устройства.
Формирователь 10 адреса (фиг. 2) содержит информационный вход 13, управляющий вход 14, первый 15 и второй 16 выходы, регистр 17, блок 18 сравнения, счетчик 19 (адресов), сумматор 20 и мультиплексор 21 (адресов).
Работу фильтра можно описать разностным уравнением е е у. (п) = а. Х (n-i) + Ъ,. Y (n-i),35
1=O 1=1 (1)где Х (k) и у (k) — входной и выход(ш =1,2,...,M) ной операнды ш-ro звена в k-й мо40 мент времени;
Г
X"(n) — разряд числа Х (n), принимающий значение 0 или 1;
 — разрядность обрабатываемых цифровых фильтров операндов.
Требуемые значения функций e () (частичные суммы произведений) для каждого ш"го звена рассчитываются
При каскадном построении многозвенных фильтров входные и выходные переменные звенья связаны соотношением
Х (n-i) = Х(п-i), i = О,. ° .,Р;
X (n-i) = Y „(п-i), m = 2,3,..., S ЭФ
Y (n) = У(п), (3) где X(n) и Y(n) — входные и выходные операнды многозвенного фильтра.
При параллельном соединении звеньев сложного фильтра аналогичные свя- зи имеют следующий вид:
Х (и) = Х(п);
Y(n) =, Y (n), m = 1,2,...,М (3). г ъ-!
Из соотношений (1) — (3) следует, что реализация многозвенных цифровых фильтров в микропроцессорных устройствах сводится к двум группам действий: вычислению базовых звеньев P-го порядка (1) и подготовка операндов для очередного звена, которая сводится в основном к операциям пересылки операн-. дов с учетом соотношений (2) и (3).
При использовании принципа распределенной арифметики, расчет базового звена (!) осуществляется в соответст- вии с алгоритмом заранее и хранятся в виде таблиц в блоке памяти микропроцессорной системы. Таблица для m-го звена выбирается кодом из регистра указателя таблиц, а слово в таблице — кодом, формируемым из одноименных разрядов операндов Х (i), Y (i) > находящихся в регистрах сдвига адресного устройства.
l 298859
Операции, выполняемые адресным устройством, повторяются циклически при расчете очередного звена в каждом новом отсчете сигнала. Рассмотрим работу адресного устройства во время расчета ш-ro звена при обработке и-го входного отсчета.
Исходное состояние.
Перед началом расчета n — ro отсчета в m — м звене в регистрах 1. 2 †.i +1 на в !О ходятся операнды Х „(n),...,X „(n-P+
+1), в регистрах 1.P+3- 1.2Р+1 — опе— ранды 1,(п-l),...,Y,(n Ð+1), а вычисленный при расчете предыдущего (m-1)-го звена результат Y,(и) нахо- !5 дится во внутреннем регистре микропроцессора (не входящего в состав адресного устройства); который подключен к шине 11 данных. В регистрах 3.13.2Р третьей группы в этот момент 20 времени находятся-выведенные из блока 5 памяти в процессе расчета (m-1) — го звена операнды, необходимые для расчета следующего ш-ro звена. В регистрах 3.1-3.P сдвига третьей группы находятся операнды Х (п-l),..., ...,Х, (n — P), а в регистрах З.Р+1
3,2Р сдвига третьей группы — Операнды Y (n-l),...,7 (n-P) соответственно. Содержимое регистров 2.1 — 2.?Р сдвига второй группы, а также регистров 1.1 и 1.Р+2 сдвига первой группы в данный момент времени не имеет значения.
Далее микропрограммно выполняется 35 операция пересылки операндов между первой, второй и третьей группами ре— гистров сдвига адресного устройства, завершая тем самым подготовку к рас— чету следующего m-го звена. Каждая микрокоманда выполняется за один машинный цикл, определяемый периодом задающих тактовых импульсов (фиг. За).
Первой микрокомандой в цикле расчета выполняется микрокоманда пересылки Y Ä(n) из внутреннего регистра микропроцессора в регистр 2.Р+1 сдвига второй группы. При выполнении этой микрокоманды на соответствующем тактовом входе вырабатывается сигнал па-50 раллельной записи П32 (фиг. Зб), который подается на все регистры 2.12,2Р сдвига второй группы. Поэтому одновременно с записью Y,,(n) в регистр 2.Р+1 сдвига второй группы осу- 55 ществляется пересылка содержимого регистров 1.2-1.Р+1, 1.P+3. — 1.2Р+1 сдвига первой группы в 1.1-1.Р, 1.Р1.2Р второй группы соответственно.
При этом операнды Х (nl Х„„,(n-P+1), Y (п),...,Y (и-р+!) будут занесены в регистры 2.1-2.2Р сдвига второй группы соответственно. Эта операция требуется для сохранения операндов, необходимых при расчете следующего (и+1)-ro отсчета на выходе (m — 1)-го звена.
Следующая микрокоманда осуществляет пересылку нового операнда из внутреннего регистра микропроцессора в регистр 1.1 сдвига первой группы ад— ресного устройства. Для первого звена этим операндом является очередной отсчет входного сигнала Х(п), а для
m-ro звена (m = 2,3,...,И) — это результат предыдущего. звена Y,,(n). В процессе выполнения этой микрокоманды нз соответствующем тактовом входе 8 вырабатывается сигнал разрешения параллельной записи П31 (фиг. Зв), «o— торый через элементы ИЛИ 9.1-9.2P+1 подается на входы управления режимом работы всех регистров сдвига первой группы. Этот же сигнал переключает мультиплексоры 4.1-4,2Р в положение пропускания на выходы информации от третьей группы регистров сдвига. Таким образом, в результате выполнения этой операции осуществляется пересылка содержимого регистров 3.1-3.2Р сдвига третьей группы в регистры 1.?1.2Р+1 сдвига первой группы 1.2-1.2Р+
+1 соответственно.
По окончании выполнения описываемой микрокоманды в регистрах сдвига первой группы находятся все операнды, необходимые для расчета и-го отсчета на выходе m-ro звена, в регистрах сдвига второй группы все операнды, которые необходимо хранить для вычисления (и+1)-й выборки на выходе (m-! )-го звена. Содержимое регистров 3.!—
3.2Р сдвига третьей группы переписано в регистры 1.2-1. 2Р+1 сдвига первой группы, следовательно, регистры
3.1-3.2Р сдвига третьей группы готовы к приему новой информации.
Первый тактовый вход и входы 8 задания режима подключены входом управления режимом работы регистров 1.11.2Р+1 сдвига первой группы через одноименные двухвходовые элементы
ИЛИ 9.1-9.2P+!. Такое исключение позволяет, кроме режима одновременной параллельной записи во все регистры
1.1-1 ° 2Р+1 сдвига первой группы осу1298859 6 ществлять микропрограммно загрузку из микропроцессора любого из этих регистров так же, как и регистра указателя таблиц.
Далее выполняется микропрограмма расчета m-ro звена цифрового фильтра по формуле (4). При этом с помощью первой группы регистров 1.1-1.2P+I сдвига формируются адреса операндов (5). Одновременно осуществляются запись на хранение в блок 5 памяти операндов из регистров 2.1-2.2Р сдвига второй группы и считывание из блока 5 памяти в регистры 3.1-3.2Р сдвига третьей группы операндов, необходимых для расчета следующего ((m+1)-ro если ш (M, или первого, если m - =М) звена.
Очередная микрокоманда выполняет операцию сложения, в соответствии с выражением (4), содержимого аккумулятора микропроцессора со значением функции () извлекаемой из главной памяти микропроцессорной системы по адресу, формируемому блоком 7 элементов ИЛИ, из трех компонент,. Окончательно этот адрес формируется в блоке 7 элементов ИЛИ логики. Старшие разряды адреса, определяющие область памяти (таблицу), в которой хранятся
30 значения функции P(.) для рассчитываемого звена, определяются кодом, находящимся в регистре 6 указателя таблиц, и кодом, который поступает в блок 7 элементов ИЛИ с первого (I,—
loy В) разрядного выхода формирова2 теля 10 адреса, 2P+l младших разрядов адреса определяют конкретные ячейки в выбранной области памяти. Они составлены из значений разрядов операн-, дов; которые находятся в это время в младше разрядах регистров сдвига первой группы.
В дальнейшем то множество разрядов Z;, i 1,2,...,Nу, которые находят1 45 ся в данный момент на последовательных выходах из регистров сдвига первой, второй или третьей группы, условно называется срезом операндов.
В процессе выполнения этой микрокоманды высокий. уровень сигнала U < (фиг. Зг) разрешает запись в блок 5 памяти среза операндов, который поступает из регистров 2, 3 ° 2Р сдвига, Четвертая микрокоманда по временной диаграмме выполняет в соответствии с выражением (4) операцию сдвига вправо суммы, накопленной в аккумуляторе микропроцессора после выполнения предыдущей микрокоманды сложения. Одновременно на соответствующем тактовом входе 8 формируется сигнал Ut (фиг. Зд), который подается на тактовые входы всех регистров 1.1 †!.2Р+l, 2.1-2,2Р и 3.1 3.2Р сдвига первой и второй и третьей групп соответственно и осуществляется сдвиг содержимого этих регистров на один разряд вправо. Одновременно со сдвигом содержимого регистров 3.1-3.2Р сдвига третьей группы в их старшие разряды передним фронтом импульсов У поразрядно записываются считываемые из блока 5 памяти операнды, необходимые для расчета следующего звена. Две последние микрокоманды повторяются В раз. В результате вычисляется выходная выборка m-го звена Y (и}, операнды (m-1)-ro звена Х,(n),..., ..., Х ",(и-Р+1 ), У,(п),...,7, (и-Р+1) из второй группы. регистров 2.1-2.2Р сдвига записываются в блок 5 памяти по соответствующим адресам, вырабатываемым формирователем 10 адреса, новые операнды для (m+I)-ro звена поразрядно считываются из соответствующих ячеек блока 5 памяти в регистры 3.13.2Р третьей группы. После этого описанный цикл пересылки операндов и рас. чета очередного звена может повторяться. Таким образом, в цикле вычисления ш-ro звена при обработке n-ro отсчета осуществляется запись В срезов 2Р операндов (m-1)-ro звена в отведенную для этого звена область блока памяти из В ячеек, а В срезов 2Р операндов (ш+1)-го звена считываются из своей области памяти. Области памяти, отведенные для соответствующих звеньев расположены в блоке 5 памяти в порядке возрастания номеров звеньев. Поэтому адрес считывания всегда должен быть больше адреса записи на 2В, где  — разрядность обрабатываемых слов и, следовательно, число слов (срезов), которое хранится в блоке 5 памяти для 7 1298859 8 каждого звена. Далее будем считать Р В = 2, где 1 — целое число. Требуемая последовательность адре— сов записи и считывания информации из блока 5 памяти вычисляется в специальном блоке — формирователе 10 адреса (фиг. 2). Входящий в состав этого блока счетчик 19 адресов наращивает свое значение по переднему фронту сигнала U, поступающему на управля- 10 ющий вход 14. Код адреса записи снимается со счетчика 19, а код адреса считывания получается путем сложения в сумматоре 20 кода, снимаемого со счетчика 19 адресов, с кодом числа 2В, поступающим на второй вход сумматора 20 с (младших разрядов регистра 17. Коммутация этих адресов осуществляется мультиплексором 21,управляемым сигналом.1Г „ . Высокий уровень 20 этого сигнала соответствует прохождению через мультиплексор 2! адреса записи, низкий — адреса считывания. Период расчета M-звенного цифрового фильтра задается с помощью блока 18 сравнения. На первый вход блока 18 сравнения подается с программно доступного из микропроцессора регистра 17 код числа М В. Этот код определяет период расчета M-звенного филь-З0 тра, обрабатывающего В-разрядные слова, и максимальный адрес ячейки блока 5 памяти, отведенной для хранения срезов операндов . На второй вход блока 18 сравнения подается текущий код 35 адреса с выходов счетчика 19. При совпадении этих кодов блок 18 сравнения формирует сигнал обнуления счетчика 19. После этого цикл обработки очеред- 40 ного отсчета в M-звенном фильтре повторяется. (L — log В) старших разря1 дов счетчика адресов содержат код номера рассчитываемого звена, где L —полная разрядность счетчика адресов 45 L log (M л В). Этот код с первого выхода 16 формирователя 10 адреса подается на третий вход блока 7 элементов ИЛИ. 50 изобретения Формула Адресное устройство для цифрового фильтра, содержащее первую группу из 2Р+1 (Р— порядок фильтра) регистров сдвига, регистр указателя таблиц и 55 блок элементов ИЛИ; причем разрядные информационные входы регистра указателя таблиц и первого регистра сдвига первой группы подключены к шине да» ных устройства, последовательные выходы всех (2Р+1) регистров сдвига первой группы подключены к первому вхо-. ду блока элементов ИЛИ, второй вход которого подключен к разрядному выходу регистра указателя таблиц, выход блока элементов ИЛИ является выходом адреса устройства последовательный выход i-ro (i = 1,2Р) регистра сдвига первой группы подключен к последовательному входу (i+1) — ro регистра сдвига первой группы, о т л и ч а ю щ ее с я тем, что, с целью повышения быстродействия, в него введены вторая и третья группы по 2Р регистров сдви— га в каждой, 2Р мультиплексоров, (2Р+1) элементов ИЛИ, блок памяти и формирователь адреса, причем разрядный выход j-ro (j = 2,2Р+1 j Р+2) регистра сдвига первой группы подключен к разрядному информационному входу (j — 1)-го регистра сдвига второй группы, разрядный информационный вход (Р+1) — го регистра сдвига второй группы подключен к шине данных устройства, последовательный выход i-го регистра сдвига второй группы подключен к информационному входу i-ro разряда блока памяти, выход i-го разряда которого подключен к последовательному информационному входу i-ro регистра сдвига третьей группы, разрядный выход которого подключен к первому информационному входу i-го мультиплексора, второй информационный вход которого подключен к шине данных устройства, а выход i — ro мультиплексора подключен к разрядному информационному входу (i+I)-го регистра сдвига первой группы, управляющие входы 2Р мультиплексоров и первые входы (2Р+1) элементов ИЛИ объединены и являются первым тактовым входом устройства, вторые входы (2Р+)) элементов ИЛИ являются входами задания кода режима устройства, вторым тактовым входом которого является вход разрешения записи регистра указателя таблиц, выход 1-ro (1 = 1, 2Р+1) элемента ИЛИ подключены к входу разрешения записи 1-ro регистра сдвига .первой группы, тактовые входы регистров сдвисдвига первой, второй и третьей групп объединены и являются третьим тактовым входом устройства, входы разрешения параллельной записи регистров сдвигов второй группы объединены и! 2988 Рив. 2 а Ф ЮЩРОиона ид acean 132 Составитель А. ьаранов Техред А.Кравчук Редактор В. Петраш Корректор Г. Решетник Заказ 896/57 Тираж 902 ВНИИПИ Государственного комитета СССР по делам изобретений и открытий 113035, Москва, Ж-35, Раушская наб., д. 4/5 Подписное Производственно-полиграфическое предприятие, r Ужгород, ул, Проектная, 4 являются четвертым тактовым входом устройства, пятым тактовым входом которого являются соединенные между собой вход чтения/записи блока памяти и управляющий вход формирователя аг-. 5 реса, информационный вход которого подключен к шине данных устройства, а первый и второй выходы формирователя адреса подключены соответственно к третьему входу блока элементов ИЛИ и адресному входу блока памяти, причем формирователь адреса содержит регистр, блок сравнения, счетчик адресов, сумматор и мультиплексор, выход регистра подключен к первым входам блока сравнения и сумматора, выход 59 10 которого подключен к первому информационному входу мультиплексора, второй информационный вход которого соединен с вторыми входами сумматора и блока сравнения и подключен к информационному выходу счетчика, вход обнуления которого подключен к выходу блока сравнения, информационный выход счетчика и выход мультиплексора являются соответственно первым и вторым выходами формирователя адреса, информационным входом которого является информационный вход регистра, а счетный вход счетчика соединен с управляющим входом мультиплексора и является управляющим входом формирователя адреса.