Научная статья на тему 'Реализация умножителя кватернионов на распределенной арифметике'

Реализация умножителя кватернионов на распределенной арифметике Текст научной статьи по специальности «Математика»

CC BY
265
64
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
кватернионы / гиперкомплексная алгебра / распределенная арифметика

Аннотация научной статьи по математике, автор научной работы — Н. А. Петровский, М. Парфенюк

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

IMPLEMENTATION OF A QUATERNION MULTIPLIER BASED ON THE DISTRIBUTED ARITHMETIC

The implementation of a universal quaternion multiplier as a base element of paraunitary filter banks on the distributed arithmetic is considered. At scheme construction a matrix block splitting of the quaternion multiplication operator is used, that, unlike known decisions, allows to reduce twice a multiplier memory size.

Текст научной работы на тему «Реализация умножителя кватернионов на распределенной арифметике»

Доклады БГУИР

2011 № 1 (55)

УДК 004.383

РЕАЛИЗАЦИЯ УМНОЖИТЕЛЯ КВАТЕРНИОНОВ НА РАСПРЕДЕЛЕННОЙ

АРИФМЕТИКЕ

НА. ПЕТРОВСКИЙ, М. ПАРФЕНЮК

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Белостокский политехнический институт ул. Вейска, 45А, Белосток, 15-351, Польша

Поступила в редакцию 16 сентября 2010

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

Ключевые слова: кватернионы, гиперкомплексная алгебра, распределенная арифметика.

Постановка задачи

Арифметика кватернионов - четырехмерных гиперкомплексных чисел [1] находит широкое применение в цифровой обработке сигналов [2-4], в частности, при проектировании параунитарных банков фильтров (ПУБФ) на основе решетчатых структур [5, 6], для которых умножение кватернионов является базовым элементом, где один из сомножителей является кватернион с постоянными параметрами - кватернион константа. Подобные банки фильтров являются преобразованиями без потерь в дополнение к гарантированной перфективной реконструкции сигнала. Точное соотношение между энергиями во всем частотном диапазоне и в субполосах сильно упрощает теоретические выкладки и делает ПУБФ полезными в применении к компрессии (кодированию) изображений. Свойство параунитарности означает, что базовые функции соответствующих субполос банка фильтров являются ортогональными. Таким образом, реализация фундаментальной операции ПУБФ - операции умножения кватернионов -вносит существенный вклад в точность результатов преобразований и влияет на общую производительность вычислительного устройства, реализующего цифровую обработку данных. Задача, поставленная перед данной работой - найти аппаратную реализацию универсального умножителя кватернионов. Поиск оптимальной схемы ведется во множестве структур на распределенной арифметике (РА) [7], которая позволяет получать сбалансированные схемные решения как по производительности, так и потребляемой мощности.

Умножение кватернионов

Кватернион - это гиперкомплексное число размерности 4, которое описывается следующим выражением [1]:

q = q1 + q2i + q3] + q4k, где ¡, ], k - мнимые единицы, q1, q2, q3, q4 е R, (1)

где мнимые части кватерниона связаны между собой следующими зависимостями:

i2 = у2 = k2 = ук = —1 Ч = - Л = k, jk = —к] = i, кл = Чк = ].

Сложение кватернионов осуществляется аналогично сложению комплексных чисел, а умножение - по правилу перемножения многочленов. При этом умножение кватернионов не подчиняется переместительному закону умножения, но подчиняется сочетательному. Операции сложения и умножения кватернионов могут быть реализованы с использованием векторно-матричной алгебры. Для этого кватернионы представляются в виде 4-х мерных векторов. Умножение кватернионов в векторной форме производится по правилу умножения вектора на матрицу, т.к. умножение некоммутативно разделяют «левое» (3) и «правое» (4) умножение [8]:

R = [г

г2 г3 г4 ] = дх ^

R = [г

г2 г3 г4 ] = хд ^

д1 —д2 —дз —д4 х1

д2 д1 —д4 дз х2

дз д4 д1 —д2 хз

д.4 —д4 д2 дх _ Х4

М~ ¥ (д) х

д1 —д2 —дз —д4 4 " х1

д2 д1 д4 —дз х2

дз —д4 д1 д2 хз

д4 дз —д2 дх _ Х4

М —(д) х

(3)

(4)

Специфика структур данных матриц М+(д) и М (д) может эксплуатироваться различными способами. Например, в [5, 6], факт, что ортогональность матриц не зависит от используемого кватерниона, применяется в реализации ПУБФ на арифметике с фиксированной запятой без потери свойства перфективной реконструкции сигнала.

Матрицы (3) и (4) соотносятся между собой как

Мт (д) = DCM± (д)TDC,

(5)

где DC = diag(1, —13) описывает в матричной нотации оператор гиперкомплексного сопряжения. Определив сопряженный кватернион как д = д1 — д^ — д3] — д4к или в векторно-матричном виде д = DCд , можно получить, что

М± (д) = М+ (д)т, (6)

и тогда (5) представится следующим образом:

М± (д) = DCM± (д) Dc. (7)

Последнее выражение показывает, что результаты, полученные для варианта умножения согласно (3) или (4), могут быть применимы к умножению на сопряженный кватернион. В частности, это доказывает, что вычислительная сложность операций «левого» и «правого» умножений одинакова. Это обстоятельство позволяет сосредоточить внимание на организации вычислений выражения (3).

Однако, прямое умножение матрицы на вектор потребует 16 умножений действительных чисел и 12 алгебраических сложений. Целью исследований является поиск новых аппаратных решений операции умножения гиперкомплексной переменной на кватернион константу. В работе [9] можно найти обзор известных алгоритмов выполнения умножения кватернионов на арифметике с фиксированной запятой: 1) лестничные структуры (12 операций умножения на действительные числа), где основной компонент схемы умножитель-накопитель, это так назы-

ваемая МАС-архитектура [10]. Затраты оборудования здесь не приемлемы для систем пониженного энергопотребления; 2) применение РА [7] непосредственно к выражению (3) приводит к значительному росту памяти в схеме умножителя, особенно для параллельных, высокопроизводительных структур [11].

Умножитель кватернионов на распределенной арифметике

В отличие от описанных в литературе вариантов [9, 11], в данной статье предлагается

использовать блочное разбиение матрицы М+^) при построении схемы умножения кватернионов, что позволит уменьшить в два раза объем памяти. Матрицу «левого» умножения

М+(3) можно определить в виде блочной матрицы:

М+(^ =

где

С (4) =

ОД

S(q) ОД

" ql ^2 _ S (q) = "qз q4"

32 ql _ _q4 -qз _

Соответственно, кватернион х = [Х1 Х2 ] , Х1 = [х1 х2 ], Х2 = [ х3 х4 ], стороннее умножение кватернионов qx в данном случае будет определено так:

(8)

(9)

тогда лево-

Я = [г

Г Г

4 ]т =[ Я Я2 ] = М+ (q)[ X1 X 2 ]Т =

С (q) Х1 - S (q) X 2 ^ (q) Х1 +C(q) Х 2

(10)

Согласно (9) и (10) каждую компоненту г вектора продукта умножения Я можно записать как:

Г = ги + ^2,, . =1-4,

(11)

где 2и и г2,. представляют собой сумму двух умножений действительных переменных (10): компонент qi кватерниона q, которые являются константами; и компонент х{ кватерниона х. Значения 2и и г2,. могут быть вычислены эффективно на РА. Таким образом, на основании выше изложенных рассуждений, структура умножителя кватернионов будет представлять собой восемь схем РА, объединенных согласно (10):

Рис. 1. Структурная схема умножителя кватернионов

г

Схема РА представляет собой механизм вычисления выражений z1j и z2i, когда компоненты xi кватерниона x нормированы (выполняется условие |х,-| < 1) и представлены в смещенном дополнительном коде (для минимизации объема памяти) [7,11]. На рис. 2 показана данная схема РА, осуществляющая обработку побитно входных данных (1 BAAT - Bit At A Time). Компоненты кватернионов представлены 16 разрядами (N=16). В таблице приводится содержимое памяти умножителя для всех восьми схем РА. Как видно, необходимо 16 ячеек памяти, в то время как в случае прямого вычисления, согласно (3), требуется в два раза больше ячеек [11].

х, <—f-

X,

rs< /

Память (2*N)

Ts - сигнал появления знакового разряда

15 Ц 0

1 ) Г-1 «

Рис. 2. Схема распределенной арифметики (1 ВААТ, Ж=16)

Следует отметить, что память одного модуля РА на рис. 2 представляет собой только два регистра. Таким образом, при реализации умножителя кватернионов на FPGA не потребуется специальный модуль памяти как в [11]. Известно [7], что РА поддается распараллеливанию. На рис. з приведена схема РА, когда одновременно обрабатывается два бита входных данных (2 ВААТ).

z

Рис. 3. Схема распределенной арифметики (2 BAAT, N=16)

Модуль РА Адрес Содержимое памяти Q

РА1 0 - ( (q 1) + (-q 2) )/2

1 - ( (q 1) - (-q 2) )/2

ра2 0 - ( (-q 3) + (-q 4) )/2

1 - ( (-q 3) - (-q 4) )/2

РА3 0 -( (q2) + (q0 )/2

1 -( (q2) - (q0 )/2

РА4 0 - ( (-q 4) + (q 3) )/2

1 - ( (-q 4) - ( q 3) )/2

ра5 0 - ( (q 3) + ( q 4) )/2

1 - ( (q 3) - (q 4) )/2

РА6 0 - ( (q 1) + (-q 2) )/2

1 - ( (q 1) - (-q 2) )/2

РА7 0 - ( (q 4) + (-q 3) )/2

1 - ( (q 4) - (-q 3) )/2

РА8 0 -( (q2) + (q0 )/2

1 -( (q2) - (q0 )/2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Заключение

Предложена универсальная схема умножителя кватернионов на распределенной арифметике, когда один из кватернионов - кватернион константа. В отличие от известных решений, в данной схеме требуется в 2 раза меньше памяти. Принимая во внимание факт, что память одного модуля РА умножителя представляет собой только два регистра, FPGA реализация умножителя кватернионов не потребует внешних блоков памяти. Таким образом, предложен эффективный модуль для построения ПУБФ [5, 6].

IMPLEMENTATION OF A QUATERNION MULTIPLIER BASED ON THE

DISTRIBUTED ARITHMETIC

N.A. PETROVSKY, M. PARFIENIUK

Abstract

The implementation of a universal quaternion multiplier as a base element of paraunitary filter banks on the distributed arithmetic is considered. At scheme construction a matrix block splitting of the quaternion multiplication operator is used, that, unlike known decisions, allows to reduce twice a multiplier memory size.

Литература

1. Кантор И.Л., Солодовников А.С. Гиперкомплексные числа. М., 1973.

2. Buelow T., Sommer G. Hypercomplex signals - a novel extension of the analytic signal to the multidimentional case. IEEE Trans. Signal Process. 2001. Vol. 49, №11. P. 2844-2852.

3. Pei S.C., Ding J.J., Chang J.H. Efficient implementation of quaternion Fourier transform, convolution, and correlation by 2D complex FFT. IEEE Trans. Signal Process. 2001. Vol. 49, №11. P. 2783-2797.

4. Piotrowski A., ParfieniukM. // Politechnika Bialostocka. 2006. P. 389.

5. ParfieniukM., PetrovskyA. // Advances in Signal Processing. 2007. №9.

6. Parfieniuk M., Petrovsky A. // Signal Processing 90. 2010. P. 1755-1767.

7. White S.A. // IEEE ASSP Magazine. 1989. Vol. 6, №3. P. 4-19.

8. Parfieniuk M, Petrovsky A. // IEEE Trans. on circuits and systems. 2010. Vol. 57, №10. P. 2708-2717.

9. Parfieniuk M., Petrovsky A. // The proc. of the 2004 International TICSP Workshop on Spectral Methods and Multirate Signal Processing. 2004. P. 151-158.

10. Петровский Н.А. // Информационные системы и технологии IST' 2009. C. 226-229.

11. Verenik A., Parfieniuk M., Petrovsky A. // Proceedings of the MIXDES' 2007. 2007. P. 605-610.

i Надоели баннеры? Вы всегда можете отключить рекламу.