Устройство для цифровой фильтрации

Иллюстрации

Показать все

Реферат

 

СОЮЗ СО8ЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИК (19) (11) (б1) 4 G 06 F 15/31

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

° Jg к")7

ГОСУДАРСТ8ЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 3722154/24-24 (22) 02.04.84 (46) 15.02.86. Бюл, N - 6 (71) Киевский ордена Ленина политехнический институт им.50-летия Великой Октябрьской социалистической революции (72) А.В.Выжиковска, P.ÂbDKèêoâñêè (ПИР) и Ю.С.Каневский (53) 681.333(088.8) (56) Патент Японии Ф 52-22218, кл. G 06 F 7/39, 1977.

Williams F.À. An expandable single-is digital filter/correlator

"ICASSP82: Proc IEEE Int. Conf. acoust Speech and signal Proc., 1982, р. 1077-1088. (54)(57) УСТРОЙСТВО ДЛЯ ЦИФРОВОЙ

ФИЛЬТРАЦИИ, содержащее k корреляторов, каждый из которых содержит регистр коэффициента, умножитель, сумматор, первый регистр результатов, вход которого подключен к выходу сумматора, первый вход которого подключен к выходу умножителя, первый вход которого подключен к выходу регистра коэффициента, о т л и ч а— ю щ е е с я тем, что, с целью расширения функциональных возможностей за счет фильтрации двухмерных сигналов, в него введен блок управления, состоящий из счетчика по модулю К элемента ИЛИ-НЕ, дешифратора и коммутатора, а в кажцый коррелятор введены коммутатор, буферный регистр, регистр адреса, блок постоянной памяти, второй регистр результатов и триггер, выход которого соединен с управляющим входом коммутатора того же коррелятора, первый информационный вход которого объединен с входом второго регистра результатов того же коррелятора и подключен к выходу первого регистра результатов того же коррелятора, выход коммутатора соединен с вторым входом сумматора того же коррелятора, выход регистра адреса соединен с адресным входом блока постоянной памяти того же коррелятора, выход которого соединен с входом регистра коэффициента того же коррелятора, второй вход умножителя подключен к выходу буфер- ного регистра того же коррелятора, выходы триггера, второго регистра результатов и буферного регистра г каждого i -го (где i =2, K ) коррелятора соединены соответственно с нулевым входом триггера, вторым информационным входом коммутатора и входом,буферного регистра (-1)-ro коррелятора, информационный вход коммутатора и вход буферного регистра первого коррелятора являются соответственно первым и вторым информационными входами устройства, выход второго регистра результатов K --ro коррелятора является выходом устройства, вход начальной установки счетчика по модулю К, управляющий вход коммутатора блока управления и первый вход элемента ИЛИ-HE объединены и являются управляющим входом устройства, выход счетчика по модулю K соединен с первым информационным входом коммутатора блока управления и входом дешифратора, выход которого соединен с вторым входом элемента ИЛИ-НЕ, выход которого соединен с нулевым входом триггера первого коррелятора, выход коммутато1211748

15

25,30

1 35

45 ра блока управления соединен с входами регистров адреса всех корреляторов, второй информационный и управляющий входы коммутатора блока

Изобретение относится к вычислительной технике и может быть использовано при построении специализиро» ванных вычислительных систем, функционирующих в реальном масштабе времени.

Целью изобретения является расширение функциональных возможностей устройства за счет фильтрации двухмерных сигналов.

На фиг.1 представлена блок- схема предлагаемого устройства; на фиг.2— блок-схема вычислительного модуля, на фиг.З вЂ” блок-схема блока управления; на фиг.4 — временные диаграммы сигналов на входе и втором выходе блока управления на фиг.5 и 6— схема алгоритма работы устройства при вычислении результата y(n) корреляции одномерных сигналов; на ,фиг.7 — и 8 — диаграмма работы устройства при вычислении результата корреляции двухмерных сигналов (фиг.7 и 8 соответствуют К-3 и N=5).

Устройство содержит К.корреляторов 1. 1, 1.2, ..., 1.К, блок 2 управления, причем, каждый j-ый коррелятор содержит регистр З.j адреса, блок 4.j постоянной памяти, регистр

5.j коэффициента, умножитель б.j сумматор 7.3, первый регистр 8.j результатов, коммутатор 9.j триггер

10.j, второй регистр 11.j результатов, буферный регистр 12 ° j. Блок 2 управления содержит счетчик 13 по модулю К, коммутатор 14, дешифратор

15 и элемент ИЛИ-НЕ 16. Причем вход начальной установки счетчика 13 по модулю К объединен с управляющим входом коммутатора 14, первым входом элемента ИЛИ-НЕ и является входом задания режима работы устройства, первый информационный вход коммутатора 14 объединен с входом деши@ратора 15 и подключен к выходу счетчика 13 по модулю К, выход коммутатоуправления являются соответственно входом задания точностных характеристик и входом задания режима рабо- l ты устройства. ра 14 соединен со входами регистров

3.) адреса (где j=-1,Ê). Второй информационный вход коммутатора 14 является входом задания точностных ха-.

5 рактеристик устройства. Второй вход элемента ИЛИ-НЕ 16 подключен к выходу дешифратора 15, выход элемента ИЛИ-НЕ соединен с входами триггеров 10.j (где )=1 K). Выход регистра

З.j j-oro коррелятора соединен с адресным входом блока 4.j постоянной памяти, выход которого через регистр 5.j коэффициента соединен с первым входом умножителя б.j, второй вход которого объединен с входом буферного регистра 12.(j+1) и подключен к выходу буферного регистра

12 ° j выход умножителя 6.j соединен с первым входом сумматора 7.j второй вход которого подключен к выходу коммутатора 9.j выход сумматора 7.j через первый регистр 8.j результатов подключен к входу второго регистра 11.j результатов и к первому информационному входу коммутатора

9.j выход второго регистра 11.j результатов соединен с вторым информационным входом коммутатора 9e(j++1), управляющий вход которого нодключен к выходу триггера 10 ° j. Второй информационный вход коммутатора

9.1 и вход буферного регистра 12. 1 являются соответственно первым и вторым информационными входами устройства. Выход второго регистра .

11.) результатов является выходом устройства.

В общем случае устройство выполняет операцию фильтрации (корреляции) двухмерных сигналов вида к к

y(m,ï)= Л . » сд (е,j)x(m-e+1, и-j+1), 1= (1) где п,m=1,2,...,N+K+1, 121 1 74 8 4

v ре 12.j хранится операнд а, кото3 рыи затем поступает на второй вход умножителя б.j на первый вход которого с выхода регистра 5.j коэффициента поступает коэффициент я (j).

Затем умножитель б.j формирует произведение V (j)dj, которое поступает на первый вход сумматора 7.j. Одновременно с выхода второго регист1б ра 11.(j-1) результатов (j-1)-oro коррелятора на второй информационный вход коммутатора 9.j поступает (й) частичный результат b, который

j-% э (поскольку на управляющий вход коммутатора 9.j подан логический "0") передается на второй вход сумматора

7.j. Затем сумматор 7.j формирует

П) сумму Q (j)a-b „которая с приходом тактового импульса записывается в

ZO первый регистр 8.1 результатов, прежнее содержимое которого переписывается во второй регистр 11.j результатов. Под воздействием тактового импульса осуществляется так25 же перезапись содержимого буферного регистра 12.(j-1) в буферный регистр

12.j (или просто запись нового входного отсчета в регистр 12.1 в случае модуля 1.1).

Рассмотрим формирование отсчета выходной последовательности с номером п(n=1,2,...,N-К+1), определяемого выражением

y(n) = 6)(1)х(п)+Я(2)х(п+1)+... +Я(К)» °

5 "x(n+<-1) .

Кроме операцию номерных

y(n) = к

y(n)= Л с (j)x(n+j-1) . (4)

j =-1

При выполнении операций фильтрации (корреляции) одномерных сигналов устройство работает следующим образом.

Во время этой операции под воздействием сигнала "Одномерная обработка", поступающего на управляющий вход коммутатора 14, элемент ИЛИ-НЕ 16 формирует уровень логического "0", передаваемый посредством триггеров 10.j на управля° ° ° ющие входы коммутаторов 9 ° j. Под воздействием этого же сигнала "Одноерная обработка" коммутатор 14 про пускает на выход блока 2 управления код числа К, передаваемый посредством регистров .З.j адреса на адресный вход блока 4.j памяти, в результате чего из ячейки этого блока с адресом

К считывается коэффициент Q (j), который в течение всей операции фиксируется в регистре 5.j коэффициента.

Через промежуток времени, равный по крайней мере одному такту от момента подачи сигнала "Одномерная обработка", на второй вход буферного регистра 12. 1 коррелятора 1 ° 1 со скоростью одного. отсчета на такт начинают поступать отсчеты входной последовательности х(1), х(2),..., х(Н) (на второй информационный вход коммутатора 9.1 в этом случае подается код нуля).

Определим .базовую операцию А, которая осуществляется в течение од-. ного такта в корреляторе 1.j и выполняется следующим образом. В исходный момент времени в первом регистре 8.j результатов и втором регистре 11.j результатов хранятся соответственно частичные результа(Ф! (2! ты b; и Ь; а в буферном регистy(n,m)=0 для n,тп(К или и, m > N к

g(n,п )=с. Z Я(з,jlx(mme-1,п 1-1) (2) m, n = 1, 2, ..., N-K + 1. того, устройство выполняет фильтрации (корреляции) одсигналов вида к я (j)x(n-j+1); (3)

Jс1

Работу устройства представим потактно, перечисляя только те из микроопераций, выполняемые в данном такте базовой операцией А, которые

40 влияют на формирование у(п).

Такт и. В буферный регистр 12.1 записывается входной отсчет. x(n).

Такт n+1. В корреляторе 1. 1 фор-. мируется произведение 4) (1)x(n), 45 которое записывается в первый регистр 8j результатов ° Кроме этого, в буферный регистр 12.1 поступает новый входной отсчет х(п+1).

Такт n+2. Произведение и (1)x(n)

50 переписывается во второй регистр

11.1 результатов, отсчет х(п+!) поступает в буферный регистр 12.2, а новый входной отсчет x(n+2) записывается в буферный регистр 12.1.

SS Такт и+3. В корреляторе 1.2 формируется сумма ц(1)х(п)+ co(2)x(n+1), которая записывается в первый 8,2 регистр результатов. Кроме этого, 211748

t-j=1 mod К, 35

55

5 1 отсчет x(n+2) поступает в буферный регистр 12.2, а новый входной отсчет х(п+3) записывается в буферный регистр 12.1.

Такт n+4. Сумма ы (1)x(n)+Q(2)x > к(п+1) переписывается во второй регистр 11.2 результатов, отсчет.х(п+

+2) поступает в буферный регистр

12.3, отсчет х(п+3) поступает в буферный регистр 12.2, а новый входной отсчет х(п+4) записывается в буферный регистр 12.1.

Такт и+5. В корреляторе 1.3 формируется сумма са (1)х(п)+ы(2)х(п+1)+

+G)(3) х (и+2), которая записывается в регистр 8.3 результатов, Кроме этого, отсчет х(п+3) поступает в буферный регистр 12.3, отсчет х(п+

+4) — в буферный регистр 12.2, а новый входной отсчет x(n+5) записывается в буферный регистр 12.1 и т.д.

Такт (и+2К-3). В корреляторе

1..(К-1) формируется сумма Q (1)x(n)+

+ C) (2)х(п+1)+...+ сд (К-1)х(п+К-2), (5) которая записывается в регистр 8.(К1) результатов. Кроме этого, отсчет х(п+К-1) поступает в буферный регистр 12.(К-1).

Такт (n+2K-2). Сумма (5) переписывается в регистр 11.(К-1) результата, а отсчет х(п+К-1) поступает в буферный регистр 12.К.

Такт (и+2К-1). В корреляторе 1.К формируется окончательное значение выходного отсчета у(п), которое записывается в регистр 8.К результатов.

Такт и+2К. Выходной отсчет у(п) переписывается в регистр 1 1.К результатов, откуда поступает на выход устройства.

При выполнении операции фильтрации (корреляции) двухмерных сигналов устройство работает следующим образом.

В исходном состоянии счетчик 13 по модулю К обнулен. Затем на управляющий вход коммутатора 14 поступает сигнал "Двухмерная обработка", под воздействием которого счетчик

13 по модулю К начинает реагировать на поступающие на его вход тактовые импульсы (этот ход не показан), осуществляя их счет по модулю К. Коммутатор 14 пропускает на выход блока

2 управления содержимое счетчика 13 по модулю, передаваемое посредством б регистров 3 адреса на адресный вход блоков 4 постоянной памяти. В результате этого в течение такта с номером Т(Т=1,2,...) таким, что

Т-j=(е-1)mod К, причем T-j>>0 из ячейки блока 4.j постоянной памяти с адресом (8-1) происходит микрооперация считывания коэффициента Ы (Е,j), который затем 1 в течение следующего такта (т.е. (Т+1) фиксируется в регистре 5.j коэффициента. Содержимое счетчика

13 по модулю К дешифрируется с помощью дешифратора 15, на выходе которого в течение такта с номером таким, что ь =-1 mod 3, вырабатывается уровень логической "1", под воздействием которого элемент ИЛИ-НЕ 16 формирует на своем выходе уровень логического "0", передаваемый посредством триггеров 10.j на управляющий вход коммутатора 9.j . .В течение остальных тактов дешифратор 15 и элемент ИЛИ-НЕ 16 вырабатывают на выходе элемента ИЛИ-HE 16 блока 8 управления уровень логической "1", также передаваемый посредством триггеров 10.j на управляющие входы коммутаторов 9. Таким образом, в течение такта с номером t таким, что в корреляторе 1.j выполняется базо-. вая операция А. В течение остальных тактов в корреляторе 1.j выполняется базовая операция В, которая от предыдущей отличается лишь тем, что коммутатор 9.j (поскольку íà его управляющий вход поступает логическая "1") передает на второй вход сумматора 7.j частичный -результат

b>(1), хранящийся в первом регистре .

8.j результатов. Через промежуток времени, равный по крайней мере одному такту от момента подачи сигнала "Двухмерная обработка", на соответствующий информационный вход устройства со скоростью один отсчет на такт начинают поступать отсчеты входного массива x(1,1),х(2.,1),...;

x(N,N) таким образом, что выполняется следующая закономерность. В течение тактов (m-1)КН+1 — шКЛ(ш=1,2, ...,И-К+1) поступают те отсчеты входного массива, которые принадлежат строкам с номерами от m до (ш+К-1).

При этом указанные строки передаются 1211748 8

° Такт R+K+3. В корреляторе 1.2 выполняется базовая операция В, в результате которой в регистр 8.2 результатов записывается сумма y(m.

"n)„ =y(m,n)„ „ +u(2,2)x(m+1, n+1); а отсчет x(m+2,n+1) переписывается в регистр 12.2. Кроме этого, в регистр 12.1 поступает новый входной отсчет x(m+3, и+1) и т.д.

Такт R+K +К-2. В корреляторе 1.К выполняется базовая операция В, в

Ъ результате которой в первый регистр

8К результатов записывается сумма у (m, п) „;, =у (m, n)»» + u (К-1, К) х (m+

15 +K-2, n+K-1), отсчет x(m+K-1, n+K-1) переписывается в буферный регистр

12.К.

Такт R+K +К-1, В корреляторе 1.К выполняется базовая операция В, в

2О результате которой в регистр 8 К результатов записывается сумма у(тп, n)«г =у(m,п)-=у(m,п)„г,+ и (К,K)х(m+K-1, n+K-1) .

Такт R+K +К. Выходной отсчет

25 у(m,n) переписывается во второй регистр 1I,К результатов, откуда поступает на выход устройства.

Точно таким же образом выполняется операция фильтрации двухмерных сигналов с той лишь разницей, что в блоке 4.j постоянной памяти в ячейке с адресом В-1 хранится коэффициент Q (К-1+1, K-j+1) .

Предлагаемое изобретение позво35 ляет расширить функциональные возможности, так как кроме операции фильтрации или корреляции одномерных сигналов, которая выттолняется прототипом, предлагаемое устройство

4 позволяет также выполнять операцию фильтрации или корреляции двухмерных сигналов, например изображений.

Такт R= (m-1) KN+ (n-1) K-1 . В буферный регистр 12.1 записывается входной отсчет x(m,n).

Такт R+1. В корреляторе 1.1 выполняется базовая операция А, в результате которой в первый регистр

8.1 результатов записывается произведение y(m,n), = я (1, 1)x(m,n) а в буферный регистр 12.1 поступает новый входной отсчет x(m+1,n)..

Такт R+2. В корреляторе 1.1 выполняется базовая операция В, в результате которой в регистр 8.1 результатов записывается сумма у(ш,n) =

=у(m,n), +У(2,1)x(m+1,n), а в буферный регистр 12.1 поступает новый входной отсчет x(m+2,n) и т.д.

Такт R+K. В корреляторе 1.1 выполняется базовая операция В, в регистр 8.1 результатов записывается сумма у(тп,n)„=y(m,n)„, + сп (К,1)»

«х(ш+К-1,n) а в регистр 12.1 поступает новый входной отсчет x(m,n+1).

Такт R+K+1. Сумма y(m,n)K переписывается во второй регистр 11.1 результатов, отсчет x(m,n+1) записывается в буферный регистр 12.2, а новый входной отсчет x(m+1,r +1) поступает в регистр 12.1.

Такт R+K+2. В корреляторе 1.2 выполняется базовая операция А в

Э результате которой в первый регистр

8.2 результатов записывается сумма у (m,n) „„=y (ш,n) „+тп(1, 2) х (m,n+1), а отсчет х(тп+1, n+1) переписывается в буферный регистр 12.2 ° Кроме этого, новый входной отсчет x(m+2, п+1) поступает в регистр 12.1.

55 по столбцам, т... в следующем порядке

x(m+1, 1); . ° .,х (тп+К-1, 1),x (m,2),x(m+

+1,2),..., x(m+K-1,2),...,x(m,N),õ <

»(m+1,N),...,х(тп+К-1,N) .

Таким образом, в течение тактов (ш-1)К(0+1) - mKN на вход устройства поступают отсчеты входного массива, иэ которых формируется строка выходного массива с номером m, т.е. у(m, 1),у(m,2),...,у(m,N-К+1).

Рассмотрим формирование произвольного отсчета выходной последовательности y(m,n) (n,m=1,2,...,N-К+1), определенного выражением у(m,n)= с)(1,1)х(тп,n)+со(2,1)х(m+

+1,n)+Q(K, 1) х (тп+К-1,п)+т.т(1, 2) х) m,n+

+1) + и(2, 2) х (m+1, n+1) +... + сй (К, K) x»

» (m+K-1,п+К- 1) .

Предлагаемое устройство позволяет также почти неограниченно наращивать количество корреляторов. Это обусловлено тем, что в нем входные данные, результаты, адреса и управляющие сигналы передаются между соседними корреляторами по локальным коммуникационным каналам. В то же время в прототипе необходимо обеспечить с помощью глобального коммуникационного канала одновременное поступление входных данных на все корреляторы. Наличие глобального коммуникационного канала является причиной того, что при увеличении количества корреляторов уменьшается до9 121 пустимая тактовая частота (из-за проблем с возрастающей нагрузкой), и следовательно, уменьшается производительность устройства. Уменьшение

1748

1О производительности имеет особо важное значение в случае поразрядного режима обработки информации.

Дие. 2

1211748

1211748

1211748

1211748

Составитель А.Иванова

Редактор Т.Парфенова Техред Л.Микеш, Корректор А.Обручар

Заказ 642/54 Тираж 673 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб., д.4/5

Филиал ППП "Патент", г.ужгород, ул.Проектная, 4