8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 60 61 62 63 64 65 66 ... 78

Р. Шрайбер, Ф. Кьюкес1

22.1. ВВЕДЕНИЕ

Ряд недавних публикаций в литературе по обработке сигналов, архитектуре ЭВМ и проектированию СБИС показали чрезвычайную полезность использования систолических структур при разработке специализированных высокопроизводительных приборов для реализации численных методов линейной алгебры [1,5]. Однако в них не было уделено внимания проблеме интеграции этих разработок в какой-либо вычислительной среде или системе обработки сигналов. Целью данной главы является рассмотрение конкретного варианта применения систолических матриц, а именно для решения проблемы адаптивного формирования луча.

Эта проблема проста и в то же время типична для обработки акустических сигналов. Сигналы принимаются антенной решеткой, состоящей из т идентичных датчиков, запоминаются и подвергаются преобразованию Фурье по времени. Результатом этих преобразований является множество комплексных величин л: (со, /), зависящих от частоты (cj) и номера датчика (/). Затем для каждой из результирующих частот должен быть получен массив значений выходных функций, зависящих от угловой координаты:

m

g((o9 9) = X x(w> Oft со, 9), i = 1

где w - комплексно-сопряженная величина.

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

m

X Ф, со, 9)Щ9 со, 9)= 1,

где c(i, со, #) - выходной сигнал датчика i на частоте со, обусловленный входным сигналом только от источника с угловой координатой Ъ. Решением является весовой вектор

w(co, 9) ее (w(l, со, 9\ ..., w(m, со, 9))т вида

w=Rc/(c*Rc),

где с - вектор полезного сигнала; Rxx - ковариационная матрица сигнала на частоте со:

Rxx(co) = £{х(со)х*(со)}.

1 Фирма ESL, Саннивэйл, Калифорния.

382

На практике для каждой из частот получается (иХга) -матрица отсчетов сигнала

Х*(со) =

1х*(со) 2х*(со)

[ их*(со) J а оценка R определяется соотношением

R **ХХ*,

где верхний индекс * обозначает переход к сопряженной транспонированной матрице. Строкам матрицы Х*(со) могут быть назначены разные веса.

Решение дает следующий алгоритм.

1. Разложение

X* = QU,

где Q - унитарная (п Хп) -матрица; U - верхняя треугольная (пХш) -матрица вида

иЧо

(22.1)

2. Для каждого угла приема #:

а)прямой ход

U*aO>)=c(#),

б)обратный ход Uw(tf) =а(#) (а*а)-1,

- 1 ~ ~ ~---*¥ Т-1

(22.2 а)

(22.26)

где а = (U*) -1 с, т. е. а*а = сПГ1 (U*)"*1 с = c*Rс.

Весь последующий материал данной главы посвящен разработке процессора адаптивного взвешивания, выполняющего два рассмотренных шага алгоритма. В нем будут использованы две систолические матрицы. Первая - вариант QU-разложения Джентелмена и Кунга [2] - выполняет шаг 1. Вторая - выполняет шаг 2 и является новым решением.

22.2. ПРОЦЕССОР QU-РАЗЛОЖЕНИЯ

В этом разделе развиваются результаты, полученные Джентелменом и Кунгом, в нескольких направлениях: комплексные матрицы, вывод данных из матрицы, управление и синхронизация, изготовление ячеек, моделирование больших матриц физически меньшим с помощью декомпозиции задачи.

QU-разложение заключается в отыскании такой ортогональной матрицы Q* при которой матрица Q*A = U6btna бы верхней треугольной.

Матрица Q* может быть произведением простых ортогональных матриц (вращение Гивенса), каждая из которых выбрана так, чтобы один из элементов А под диагональю был нулем. Для обращения в нуль afj i- и (/-1)-я строки матрицы А заменяются на

СИСТОЛИЧЕСКИЕ ЛИНЕЙНЫЕ АЛГЕБРАИЧЕСКИЕ МАШИНЫ


1, 2, m,

где (с, 5) выбраны так, чтобы at]- обращались в нуль и матрица была ортогональной :

с -

ih

ai-j.j + <*t.j

а

Эти элементы могут обращаться в нуль по столбцам снизу вверх в такой последовательности

(п, 1), (гг - 1,1), . . . ,(2,1); (и, 2), . . . , 3,2; .. . ; (л, га),..., (га + 1,га).

Отметим, что преобразования, обращающие в нуль необходимо применять только к столбцам /, / +1, . .., га, так как во время их выполнения элементыи £ при £</ уже равны нулю.

Систолическая структура Джентелмена-Кунга - треугольная процессорная (гаХга)-матрица из гаХга ячеек двух типов, вычисляющая QU-разложе-ние (22.1) входной матрицы размера пХт - показана на рис. 22.1. Кружками обозначены граничные ячейки. На рис. 22.2 показаны функции этих ячеек. Поясним теперь работу таких структур. Во-первых, отметим, что каждая ячейка имеет только одну ячейку памяти. Ее начальное значение равно нулю. Диагональные граничные ячейки вычисляют параметры вращений (с, s). Ячейки (/,/) вычисляют вращения, обращающие в нуль элементы столбца матрицы А. Результаты этих вращений затем перемещаются вправо по строкам процессорной матрицы. Квадратные "внутренние" ячейки осуществляют эти вращения в других столбцах.

Матрица А подается на вход структуры сверху в последовательности, показанной на рис. 22.1. Для каждой из ячеек существует момент, когда сверху

а

07,2

1,3

С=Х/)/х2+у2

ycx+sy z-~sx+cy

Рис. 22.1. Структура Джентелмена-Кунга для QU-разложения

Рис. 22.2. Процессорные ячейки QU-структуры

слева поступает первый элемент массива А. Предположим, что ап 1 поступает на ячейку (1,1) в момент г = 1. Первый элемент матрицы U, т.е. щ}1,вычисляется в ячейке (1,1) в момент t -п. К моменту времени £ = w + 2(ra - 1) вычисляется последний элемент ит т. Матрица U теперь находится в ячейках памяти структуры. Вращения/определяющие Q*, появятся на правой границе структуры.

22.2.1. Трапецеидальная систолическая подструктура

Желательно решать задачи формирования луча различных размерностей, используя одну физическую структуру, поэтому следует решить, как моделировать полную (гаХга)-структуру, используя только ее фрагмент. Предположим, чго мы имеем трапецеидальную структуру размера pXq (рис. 22.3). Пусть В - матрица, содержащая п строк и q столбцов, загружается в верхнюю часть процесса. Вычисляется разложение

Q*B =

О

U2

в2

(22.3)

где 0 - нулевая матрица размера (п-р)Хр; Uu - верхняя треугольная матрица размера рХр; U12, В2 - заполненные матрицы с (q -р) столбцами. Матрица В2 выводится из нижней части структуры, a Uu, U12 запоминаются внутри нее.

Можно ли получить полное QU-разложение с помощью такой трапецеидальной структуры? Если q не меньше га (числа столбцов А), то сделать это можно; следовало бы обнулить группы из р столбцов матрицы слева направо, используя Гт/pl проходов по матрице. Детали процесса очевидны. Однако если m>q, то решение невозможно. Для проверки предположим, что обнулены первые р столбцов под диагональю при проходе по столбцам 1,2,... Л матрицы. Затем желательно обнулить столбцы р +1,..., 2р при проходе столбцов р + 1, . . . ,p+q. Однако пока не получено вращение после первого прохода для столбцов q +1 , . . ,р +q их нельзя применить для второго прохода.

Для обеспечения разложения матриц с числом столбцов, большим q, необходима возможность применения ранее вычисленных и хранящихся в памяти результатов вращения к входным столбцам. Можно придать матрице такое свойство, отключая ячейки крайней левой треугольной части размером pXq и поддерживая активным прямоугольник размером pX(q-p). Параметры вращения вводятся через левую границу. Подмножество из q-p столбцов может поступать в активный прямоугольник сверху. В результате входные векторы, подвергнутые входным вращениям, появляются в нижней части (за исключением первых р строк, которые запоминаются в ячей- Рис- 22-3- Трапецеидальная ках активного прямоугольника).подструктура


22.2.2. Моделирование полной структуры

В этом подразделе показано, как можно управлять процессором трапецеидальной структуры, снабженным соответствующей системой памяти для хранения промежуточных результатов, для осуществления разложения при т > >q. Предположим, что множество задач, которые требуется решить, описываются треугольной матрицей пар

(/,/): К/</ <га,

где пара (/,/) представляет задачу, заключающуюся в применении к столбцу / вращений, с помощью которых обнуляются элементы столбца /. Эта матрица может служить для выполнения шагов "генерации", в которых столбцы действительно обнулены, и "исполнительных" шагов, в которых используются сохраненные в памяти результаты вращения. При генерации осуществляется обработка трапецеидального участка (рхq)-множества исходных пар задачи; при исполнительном проходе осуществляется обработка прямоугольного участка размером px(q-p). Чередование шагов для выполнения всей задачи аналогично покрытию треугольника трапецеидальными и прямоугольными "листами" в соответствии со следующими правилами :

1)трапецеидальные листы должны прилегать к гипотенузе треугольника;

2)ни один лист не может быть размещен, пока не покрыта диагональная сторона слева от него;

3)ни один лист не может быть размещен, если не покрыто пространство непосредственно под ним.

Существует множество допустимых вариантов покрытия; на рис. 22.4 показан один из них.

При многопроходном получении QU-разложения вырабатываются промежуточные результаты. Они должны запоминаться и позже вновь вводиться в процессор. На рис. 22.5 показана организация памяти. Важными явля-

данки памяти

Систолическая матрица

Рис. 22.4. План проходов при покры- Рис. 22.5. Организация QU-памяти тии "листами" для QU-разложения

ООО

ООО

Рис. 22.6. Двухматричная структура прямого и обратного хода

ются ее следующие свойства. Имеется отдельный, независимый банк памяти для каждого столбца матрицы. Столбец матрицы запоминается в банке над ячейкой, в которую он вводится впервые. Столбец промежуточных результатов, который появляется из нижней части, пересылается в банк над ячейкой, в которую будет осуществляться следующий ввод. При чередовании шагов в соответствии с рис. 22.4 эти позиции для некоторых столбцов оказываются определенными однозначно, а для других существуют по две возможности. Поэтому соединения в структуре очень просты.

Управление структурой также несложно ввиду регулярности путей доступа к данным (рис. 22.6). Адреса памяти могут вычисляться один раз и передаваться из одного банка в следующий.

22.2.3. Другая схема

Существует другая возможность, заключающаяся в работе с листами следующих конфигураций:

i

д-р

iii

2(p-f)

h----

1

h

л

1

д-р -»>

р-1

Процессор обрабатывает лист II, активно используя все внутренние ячейки; лист I обрабатывается так же, но с обратным порядком следования



0 ... 60 61 62 63 64 65 66 ... 78