_Доклады БГУИР_
200 7 январь-март № 1 (17)
ЭЛЕКТРОНИКА
УДК 621.391.26
ОПТИМИЗАЦИЯ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ С ИСПОЛЬЗОВАНИЕМ СТРУКТУРНЫХ АЛГОРИТМОВ ДЛЯ МАТРИЦ НЕКОТОРЫХ КОДОВ ЯКОБИ
Е.Д. СТРОЙНИКОВА
Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь
Поступила в редакцию 28 ноября 2006
Рассмотрены кодовые последовательности Якоби, соответствующие групповым разностным множествам типа Адамара, с блоковыми длинами Ж=2г-1. Установлена конечность множества численных значений блоковых длин для последовательностей такого вида. Исследованы структурные особенности и свойства данных последовательностей, а также соответствующих кодовых циркулянтных матриц и матриц инцидентности симметричных блок-схем. Для указанных матриц приведены быстрые алгоритмы векторно-матричного умножения, которые могут быть использованы в мультипроцессорных системах цифровой обработки сигналов. Применение новой факторизации матриц Адамара типа Сильвестра и принципа "двойки" обеспечивает наименьшую сложность вычислений и сокращение временных затрат.
Ключевые слова: оптимизация сложности вычислений векторно-матричного умножения, разностное множество, симметричная блок-схема, кодовая последовательность, бинарная циркулянтная матрица кодовых слов, факторизация.
Введение
Многие задачи цифровой обработки сигналов (ЦОС) с формальной точки зрения представляют собой задачи умножения матриц на векторы (например, декодирование по методу максимального правдоподобия, согласованная и трансверсальная фильтрация, синхронизация, корреляционная обработка, спектральный анализ) [1, 2]. В такой постановке оптимизация процедуры обработки сводится к сокращению объема вычислений. Тем самым уменьшаются временные затраты на векторно-матричные вычисления. Алгоритмы умножения, позволяющие сократить число арифметических операций по сравнению с традиционным строчно-столбцовым методом, называют быстрыми. Общепринятый метод решения задачи минимизации векторно-матричных вычислений - факторизация матриц в произведение слабозаполненных множителей [1, 2]. Таким образом, актуальной является проблема отыскания общих методов оптимизирующей факторизации, применение потенциала перестановочных матриц, а также разработка методов факторизации различных, важных для приложений классов матриц.
Качество алгоритма умножения матрицы на вектор оценивается коэффициентом сложности S, который равен отношению количества операций для вычисления этого произведения к числу строк матрицы [1, 2]. В случаях умножения на вектор матриц бинарных и троичных сигналов с элементами 0, ±1 речь идет о сокращении аддитивной сложности вычислений. Следует отметить, что учет структурных свойств матриц может привести
5
к резкому сокращению объема вычислений. В частности, для матриц Адамара типа Сильвестра порядков 2r известны быстрые алгоритмы с коэффициентами сложности r [1] и 0,875r [2], которые лишь незначительно отличаются от нижней границы Капорина SK>0,63r [1]. Наименьшей аддитивной сложностью обладают алгоритмы, основанные на комбинации процедур быстрого преобразования Адамара (БПА) и декодирования полного кода [1, 2]. На основе алгоритмов вычисления БПА конструируются высокоскоростные и эффективные декодеры. Процессоры БПА легко реализуются на универсальных и специализированных микропроцессорах ЦОС или в виде программ для универсальных ЭВМ.
Применение нелинейных сигналов с хорошими корреляционными свойствами позволяет обеспечить высокую криптостойкость и помехозащищенность систем передачи информации [2]. В классе периодических бинарных фазоманипулированных сигналов с одно- и двухуровневыми периодическими функциями автокорреляции (ПФА) квадратично-вычетные (КВ) кодовые последовательности (КП), КП Холла и Якоби позволяют построить на их основе импульсные последовательности, оптимальные по минимаксному критерию и поэтому широко применяемые в системах связи, радиолокации и телеметрии [3-5]. Можно указать на следующие аналогии в структурах и свойствах М-последовательностей и вышеуказанных семейств КП при соответствии последних разностным множествам типа Адамара [6] (М-последовательности всегда соответствуют разностным множествам типа Адамара в силу значений своих ПФА [2, 3, 5-7]) и блоковых длинах N=2r-1. Разностные множества для всех данных КП являются одноуровневыми и имеют одни и те же параметры: v=N=2r-1, k=2r-1-1, Л=2 -1 [3-6]. Матрицы, полученные дополнением первой строкой и первым столбцом, состоящими из 1, соответствующих матриц инцидентности симметричных блок-схем [4-7] в алфавите {1, -1}, являются нормализованными матрицами Адамара порядка 2r [6]. В случаях цикличности разностных множеств, что справедливо при таких N для М-последовательностей, КП Холла, КВ КП [8] и КП Якоби, как будет показано ниже, при некоторых значениях N, ПФА КП является одноуровневой, принимающей одинаковые значения: RM(m)= -1 для 1<m<N [2-5]. Более подробно здесь будут рассмотрены КП Якоби, соответствующие разностным множествам типа Адамара, с блоковыми длинами N=2r-1, а также вопрос об оптимизации сложности векторно-матричного произведения для бинарных матриц кодов Якоби со словами такого типа.
Численные значения блоковых длин вида 2r-1 КП Якоби, соответствующих разностным множествам типа Адамара
Воспользуемся следующим утверждением, которое позволяет также установить тот факт, что численные значения блоковых длин вида 2r-1 КВ КП являются простыми числами Мерсенна [8].
Лемма. В равенстве 2k-1=ps, где p — простое нечетное число, к, s — натуральные числа, к является простым числом, а s=1.
Доказательство. Рассмотрим равенство 2k-1=ps. Если к=21 — четное число, то 2к-1= =(2l-1)(2l+1)=ps. 2l-1>1 при />1 и 2l-1=1 при l=1, 2l+1>1 для любых натуральных l. По свойству простых чисел, если l>1, то p делит 2l-1 и 2l+1 одновременно, что невозможно, поскольку (2l+1, 21-1)=1. Если l=1, то k=2, p=22 - 1=3 и s=1.
Пусть теперь к нечетно. Предположим, что k=m-n — составное число. Тогда ps=(2m-1) (2m(«-i)+ +2m(n-2) + +2m+1) и 2m-1>1, так как m>1. По свойству простых чисел 2m-1 = 0 (mod p) и 2m(n-i)+2m(n-2)+ +2m+1 = о (mod p). Из последнего сравнения следует, что n = 0 (mod p). Аналогично можно показать, что любой отличный от 1 делитель числа к делится на p. Значит, k=p, l>1. Поскольку 2-1=ps, то 2 = 1 (mod p). Значит, по свойству порядка элемента мультипликативной циклической группы поля Галуа GF(p) порядок элемента 2 делит к. С другой стороны, порядок элемента 2 делит порядок группы GF(p) , т.е. p-1. Но так как (p, p-1)=1, получаем противоречие. Значит, к не может быть составным числом, а только нечетным простым числом.
Было показано выше, что при к=2 s=1. Пусть теперь к — нечетное простое число. Из равенства 2li-1=ps получаем, что ps= -1 (mod 8). Если s — четное число, то последнее
сравнение невозможно, так как квадрат любого нечетного числа сравним с 1 по модулю 8. Пусть теперь s - нечетное число, s >1, тогда равенство ps+1=2k невозможно, поскольку ps+1=(p+1)(ps-1- ps-2+...- p+1) и p+1 = 0 (mod 2), а ps-1-ps-2+...-p + 1 = 1(mod 2). Итак, s=1. Лемма доказана.
Теорема. Блоковые длины вида 2r-1 КП Якоби, соответствующих разностным множествам типа Адамара, могут принимать только два значения: 15 и 63.
Доказательство. Длиной КП Якоби, соответствующей групповому разностному множеству в самом общем случае, может быть число вида N=ps-q\ где p и q — простые нечетные числа, причем q — ps+/ [2, 3, 6]. В аддитивной группе GF(ps)@GF(qt), являющейся прямой суммой GF(ps) и GF(q), разностное множество D образуется из следующих пар: 1) (c, d), где c и d — ненулевые квадраты, 2) (g, h), где g и h — не квадраты; 3) (и, 0) [6]. Тогда D содержит k=(N-/+1)/2 элементов. Но поскольку D является разностным множеством типа Адамара, k=(N-1)/2 [6], что указывает на уравновешенность КП Якоби, так как k равно числу символов КП, равных 1. Следовательно, 1=2.
В равенстве 2r-1=(u-1)(u+1) обозначено u-1=ps, u+1= qt. Откуда получаем 2r=u2, следовательно, u=2k и r=2k — четное число. Таким образом, 2k-1=ps, что возможно, согласно лемме, только в случае, когда s=1 и k — простое число. При k=2 получаем 2k -1=3, 2k+1=5, значит, N=15. При нечетном простом k 2 +1 ф 0 (mod 3), откуда имеем 2 +1= qt=3t, следовательно, 3t-1=2 и 3t ф 1 (mod 8), что возможно только при четном t=2n. Тогда 32n-1= =(3"-1)-(3"+1)=2k, откуда 3n-1=2v, 3n+1=2w. Поскольку 2w-2v=2v(2w-v-1)=2, то v=1, w=v+1=2, следовательно, n=1, а t=2. В этом случае получаем единственное значение k=3, поэтому 2k-1=7, 2k+1=9, значит, N=63. Теорема доказана.
Данная теорема позволяет установить конечность множества численных значений (всего два значения) блоковых длин вида 2r-1 КП Якоби типа Адамара.
Теоретический анализ структурных особенностей КП Якоби
В самом общем случае для построения КП Якоби /и={ц7, 7=0, 1,...,N-1} с блоковой длиной М=р4-д' одно из правил кодирования может быть сформулировано следующим образом:
Мг =
1 при i = 0 (mod qt),
-1 при i = 0 (mod ps), i Ф 0 (mod qt), (1)
V1 (i)' V2 (i) при i Ф 0 (mod ps), i Ф 0 (mod qt),
где у/г (7) и у/2 (7) равны значениям квадратичных характеров ненулевых элементов полей Галуа ОЕ(р4) и ОЕ(д'), стоящих на 7-х позициях, приведенных по модулям р4 и д согласно китайской теореме об остатках (КТО) [1, 6]. Причем элементы полей могут быть, например, упорядочены в р- и д-ичных системах счисления в соответствии с разложениями по базисам над О¥(р) и О¥(д), состоящим из степеней примитивных элементов. Нужно отметить, что в данном случае количество способов упорядочения определяется числом примитивных элементов полей Галуа. Такое упорядочение используется при вычислении элементов матриц Джекобстола, которые фигурируют в методе Пейли построения матриц Адамара [7]. Для 4=1, 7=2, например, это выглядит следующим образом:
ОЕ(р): 0, 1,., р-1;
ОЕ(д2): 0, 1,., д-1, Д Д+1,..., в+д-1,..., (д-1)Д (д-1)Д+1,..., (д-1)в+д-1,
где в— примитивный элемент ОЕ(д2).
По КП Якоби (1) однозначно строится разностное множество В, описанное выше в доказательстве теоремы и состоящее из всех элементов аддитивной группы Ж=ОЕ(р4)®ОЕ(д'), соответствующих порядковым номерам символов КП, равных 1. В указанной группе операция сложения задается по правилу: (а, Ь)+(с, d)=(a+c, b+d), где а, сеОЕ(р4), Ь, deGF(qt). При построении симметричной блок-схемы каждый блок С7 имеет ту же мощность, что и В, и получается путем сложения всех элементов В с фиксированным элементом группы g7,
представляющим собой соответствующую номеру i упорядоченную пару, 7—0, 1,...N-1, g0= (0, 0), g1= (1, 1). В случае s=t=1 группа W является циклической с образующим элементом g1 и изоморфна циклической аддитивной группе классов вычетов по модулю N согласно КТО. Во всех остальных случаях группа W не является циклической, поскольку характеристики полей GF(ps) и GF(qt) равны соответственно p и q, откуда (p-q)g7=g0 для любого g7eW, в то время как p-q<N. Поэтому только при s=t=1 соответствующая КП (1) симметричная блок-схема может быть отождествлена с блок-схемой классов вычетов по модулю N и имеет циклический автоморфизм а: i —>7+1, C7—Cí+\, который переставляет как элементы, так и блоки по циклу длины N. Итак, важно отметить, что только в случае s=t=1 разностное множество и порожденная им симметричная блок-схема являются циклическими, а соответствующая матрица инцидентности — циркулянтной. Исходя из критериев существования КП с одно- и двухуровневой ПФА — существования соответствующих одно- и двухуровневых циклических разностных множеств [3], можно заключить, что КП Якоби (1) с такими ПФА могут существовать лишь при s=t=1. И в этом случае КП (1) обладают одноуровневой ПФА ЛДт) = -1 для 1< m <Nпри q = p+2 и двухуровневой — при q = p+4 [3].
Определения и свойства изоморфизмов блок-схем, разностных множеств и КП [3, 6] позволяют заключить, что те же самые замечания касаются и изоморфных (1) КП Якоби. Для вышеуказанных разностного множества D и симметричной блок-схемы существует единственный класс изоморфных коэффициентов T, состоящий из всех пар (y, z) из W, где y, z — ненулевые элементы с различными значениями квадратичных характеров щ и щ2 соответственно. Все коэффициенты из T приводят к одному и тому же разностному множеству, поэтому для КП (1) существует единственная изоморфная КП r—in, 7=0, 1,...,N-1} со следующим правилом кодирования:
Vi =
1 при i = 0 (mod qt),
-1 при i = 0 (mod ps), i Ф 0 (mod qt), (2)
- ^j(i) • y2(i) при i Ф 0 (mod ps), i Ф 0 (mod qt).
При N=15 и N=63 для КП Якоби (1) существует в каждом конкретном случае единственная изоморфная КП (2) — инверсно-изоморфная. Это следует из того, что ^^(-1, -1)еГ, поскольку в случае N=15 ^(-1) и ^(-1) соответственно равны значениям символов Лежандра
^ = -1, ^ = 1, а в случае N=63 у/1 (-1) = 1 ^ = -1, 1//2(-1)=щ(2)=щ(рА)=1 для любого
примитивного элемента в поля GF(32).
При N=63, поскольку 5=1, 7=2, для КП (1) и (2) разностные множества и порожденные ими симметричные блок-схемы не являются циклическими, соответствующие матрицы инцидентности не являются циркулянтными, а ПФА являются пятиуровневыми, независимо от выбора примитивного элемента в поля GF(32), как показывают непосредственные вычисления. Поэтому при N=63 симметричные циркулянтные матрицы КП Якоби и матрицы инцидентности симметричных блок-схем не могут быть получены из соответствующих циркулянтных матриц М-последовательностей при таких же N с помощью перестановок строк и столбцов. Поскольку для симметричных матриц указанные перестановки задаются одним правилом, и это бы означало существование изоморфизмов соответствующих блок-схем, что противоречило бы свойствам изоморфизмов. В данном случае КП (1) и (2) в алфавите {0, 1} после преобразования 1 —>0, -1—1 не могут быть представлены над полем GF(2) даже в виде суммы М-последовательностей с такими же блоковыми длинами, как это было сделано в [8] для КВ КП, в силу того что полиномы степеней N-1 с коэффициентами при X, равными символам КП, не являются идемпотентами кольца ЛN[x]=GF(2)[x]/(xN-1) [7] по причине невыполнения условий и П=П2г для всех 7=0, 1,...,N-1. Действительно, если в— корень
полинома Дх)=х2+2х+2, то ¡И\=Ц2=Щ=Ц8=1, Ц\6= -1, если в — корень полинома £(х)=х2+х+2, то ^1=^2=1, Щ= -1, то же самое для КП п, только знаки меняются на противоположные.
Строение КП Якоби с блоковыми длинами N =15 и их циркулянтных матриц
При N=15, поскольку 4=7=1, р=3, д=5, для КП (1) и (2) разностные множества и порожденные ими симметричные блок-схемы являются циклическими, соответствующие матрицы инцидентности — циркулянтными, а ПФА — одноуровневыми, Я/т) = -1 для 1< т <15. В данном случае КП (1) и (2) являются М-последовательностями [3], что можно доказать аналитически по аналогии с КВ КП в [8].
Согласно правилу кодирования (1), получаем КП / :
/0=1, /1 = 1, /2=1, /3= -1, /4=1, /5=1, /6= -1, /7= -1, /8=1, /9= "1,
/10=1, /п= -1, /12= -1, /13= -1, /14= -1. (3)
В данном случае у/1 (7) = ^-3-| , (7) = ^5| — символы Лежандра и у/1 (7) • (7) = ^ -^т|
— символ Якоби. Поскольку ^ 1г| = 1, /27 =/7 для всех символов КП (3), причем порядковые
номера вычисляются как классы вычетов по модулю 15. КП (3) можно поставить в соответствие полином /(х) с коэффициентами а7, 7 = 0,N — 1, из поля Галуа ОЕ(2) по правилу:
а7 ={}Ц 1. (4)
/(х) = х3+ х6+ х7+ х9+ х11+ х12+ х13+ х14.
Поскольку /2(х) = /(х2) = /(х), /(х) — идемпотент кольца полиномов ^[х]. Поэтому существует однозначное представление /(х) = ^Ь4в4(х), где Ь4еОЕ(2), (Л, 4)=1, вц(х) — примитивные
4
4
идемпотенты кольца ЛЛ[х] [7]. В случае N=15 существует два примитивных идемпотента в1(х) и &(х), соответствующих циклотомическим классам ^={1,2,4,8} и С7={7,14,13,11}. Пусть у — примитивный элемент поля ОЕ(24), являющийся корнем примитивного полинома х4+х+1. Тогда по формуле для коэффициентов в4(х) в7 = , 7 = 0, N — 1, получаем, что /(х) = &](,х). Как
известно, в(х) порождают коды максимальной длины (КМД) [7], следовательно, циклический код Якоби, порожденный /(х), является КМД, а значит, КП (3) является М-последовательностью, ее циркулянтная матрица А1 или, что то же самое, матрица инцидентности соответствующей симметричной блок-схемы является матрицей ненулевых слов КМД в алфавите {1, -1}. Тогда после перестановки в матрице А1 строк в соответствии с возрастанием первых четырех символов в двоичной системе счисления, согласно
преобразованию (4) и перестановке столбцов 7 ^ уг—\ 7 = 1, 15, с записью номера в двоичной системе счисления, согласно разложению по базису {1, у, т2, /}, получится матрица Н16, отличающаяся от матрицы Адамара типа Сильвестра Н16 отсутствием строки и столбца с нулевыми номерами [1, 2]. Таким образом, Н16 = РуАх^1, А1= Р^1-Н16-^Г1, Р1, Р\~1, Q\, Q\— — перестановочные матрицы, которые соответствуют перестановкам координат входного и выходного векторов и при умножении на вектор не требуют выполнения арифметических операций.
Согласно правилу кодирования (2) КП, п имеет следующий вид:
П0=1, П= -1, П2= -1, П3= -1, П4= -1, П5=1, Пб= -1, П7=1, П8= -1, П9= -1,
Пю=1, Пп=1, П12= -1, П13=1, П14=1. (5)
Данной КП по правилу (4) ставится в соответствие полином /(х), который также является идемпотентом кольца Л^х], и /(х) = в1(х). Поэтому циклический код Якоби, порожденный /(х), является КМД, КП (5) — М-последовательностью. По аналогии с А1 получаем симметрическую циркулянтную матрицу А2, после перестановки строк в которой
в соответствии с возрастанием первых четырех символов в двоичнои системе счисления и перестановки столбцов 7 ^ у1-, 7 = 1, 15, с записью номера в двоичной системе счисления, согласно разложению по базису {1, у~1 у~2, у~3}, также получится матрица Н16. Таким образом,
Н 16 = Р2-А2-02, А2= Р2 ■ Н16 , где Р2, Р2 , Q2, Q2 — перестановочные матрицы, которые соответствуют перестановкам координат входного и выходного векторов.
Быстрые алгоритмы векторно-матричного умножения для циркулянтов КП Якоби или
КМД при N =15, основанные на БПА
Строки матрицы-циркулянта КП длиной N получают с помощью всевозможных циклических сдвигов КП на одну позицию влево либо вправо, очевидно, что размерность такой матрицы равна NxN. Умножение матрицы-циркулянта КП, полученной первым (вторым) способом, на вектор является фактически операцией вычисления циклической свертки (периодической корреляционной функции) двух последовательностей [1]. Циркулянтные матрицы в первом и во втором случаях отличаются друг от друга перестановками строк в обратном порядке, за исключением строки с нулевым номером. Поэтому такие матрицы могут быть получены друг из друга при помощи умножения перестановочной матрицы, отличающейся от единичной матрицы перестановкой строк /^N-7, 7—1,..., N-1, и не требующей выполнения арифметических операций при умножении на вектор. Поэтому число арифметических операций при умножении первой и второй матриц на векторы одинаково. В дальнейшем ограничимся рассмотрением первого случая.
Матрицы Адамара типа Сильвестра широко применяются в теории и практике ЦОС, помехоустойчивой передачи информации. Они служат основой БПА, декодирования и поиска последовательностей Уолша (Рида-Маллера), применяются в теории бент-функций [1, 2, 7]. Эти матрицы строятся рекуррентно:
Н = [11 Н2 =
1 1 1 -1
Н г =
Н
г-1
Н
г-1
Н 2 г-1 - Н 2 г-1
= Н2 ® Н - = Н2®Н2
Н
2
где г — натуральное число, ® — знак тензорного произведения матриц. Еще в 1958 г. И. Дж. Гуд показал, что матрицы, являющиеся тензорными степенями других матриц, могут быть факторизованы в произведение слабозаполненных матриц. В частности, это касается и матриц Адамара типа Сильвестра, метод Гуда лежит в основе классического варианта БПА [1, 2, 7].
Используя матрицу Адамара типа Сильвестра Н 2г , можно записать дискретное преобразование Уолша-Адамара в следующей форме:
Ь = Н гИ, (6)
где 5 = (5(0), 5(1),..., 5(2г - 1))т и Ь = (Ь(0), Ь(1),..., Ь(2г - 1))т — соответственно векторы-столбцы отсчетов сигнала и спектральных коэффициентов. Вычисление преобразования (6) требует при обычном строчно-столбцовом методе выполнения 2г(2г-1) операций сложения-вычитания. Для построения БПА в классическом варианте матричное равенство (6) записывается в следующем виде:
2
2
2
г
6(0) 6(1)
6(2;-1 -1) 6(2;-1)
6(2;-1)
Н
;—1
н
;—1
Н 2г-1 - Н 2Г-1
5(0) 5(1)
5(2;-1 -1) 5(2;-1)
5(2;-1)
откуда
" 6(0) " " 5(0) + 5(2Г-1) "
6(1) " Н2;-1 * 5(1) + 5(2Г-1 +1)
6(2;-1 -1) 5(2г-1 -1)+5(2г-1)
" 6(2;-1) " " 5(0)-5(2;-1) "
6(2Г-1 +1) = Н 2-1 • 5(1) - 5(2Г-1 +1)
_ 6(2; -1) _ 5(2г-1 -1) - 5(2г-1)
(7)
Из этих выражений следует, что вычисление 2;-точечного преобразования сводится к предварительному суммированию (вычитанию) входных данных и последующему вычислению двух 2г-1-точечных преобразований. Процедуру снижения размерности преобразования можно продолжить, согласно (7), до получения двухточечного преобразования. Для этого потребуется г шагов. На каждом шаге производится 2Г сложений и вычитаний, поэтому общее количество операций равно г-2г. В результате этого число узлов графа на каждой итерации остается постоянным и равным 2;, а вычислительный процесс заканчивается через г итераций. Рассмотренный алгоритм БПА можно трактовать как разложение (факторизацию) матрицы Нв произведение г слабозаполненных множителей порядка 2гх2г, содержащих в каждой
строке и каждом столбце только два ненулевых элемента. Граф алгоритма имеет регулярную структуру и строится из пары базовых операций сложения и вычитания, необходимой для вычисления произведения Н2 на вектор, которая получила название "бабочка" (см. рис. 1). Крылья такой бабочки уменьшаются вдвое на каждой последующей итерации. Существуют и другие формы факторизации, приводящие к такому же результату. что позволяет отдельно вычислить первую и вторую половины спектра.
Сложность умножения матриц А\ и А2 на вектор определяется аддитивной сложностью умножения матрицы Н16 на вектор, уменьшить которую позволяет БПА для умножения Н16 на вектор. Поскольку размерность матрицы Н16 на единицу больше размерности входного вектора, то для согласования размерностей длина входного вектора увеличивается на единицу. Итак, алгоритм можно разбить на следующие координаты входного вектора или Q2 '; 2) полученный после этого вектор
Рис. 1. Пара базовых операций "бабочка" графа классического БПА
этапы: 1)
подвергаются перестановке, задаваемой Q1-1 или Q2-1; дополняется нулевой координатой 5(0)=0; 3) вычисляется произведение Н16 на данный вектор, используя БПА, причем координату 6(0) на последней итерации вычислять не нужно; 4) в полученном векторе-произведении переставляются координаты в соответствии с Р1~1 или Р2-1. При использовании классического БПА для ;=4, согласно (7), количество операций сложения-вычитания равно 4-24-3=61, поскольку на 1-й итерации отсутствуют вычисления суммы и разности 5(0)±з(8)=±5,(8) и на 4-й итерации отсутствует вычисление одной суммы для получения 6(0). В данном случае выигрыш в числе операций по сравнению с прямым методом умножения ^1=(15-14)/61«3,443 раза, коэффициент сложности ^1=61/15«4,067.
В [2] была предложена новая явная факторизация матриц Адамара типа Сильвестра, которая позволяет выполнить декодирование циклического кода Рида-Маллера с меньшей в среднем на 12,5%, чем ;*2г,сложностью при ориентации на аппаратную реализацию декодера и использовании схем программируемой логики. Результат базируется на факторизации определенного класса тензорных произведений матриц и использовании принципа "двойки". Данный принцип может быть сформулирован следующим образом: "в двоичной системе счисления для любого натурального числа к умножение на 2к арифметической операцией можно не считать". Принцип "двойки" учитывает тот факт, что вычисления на ЭВМ
осуществляются в двоичной системе счисления и умножение на 2 есть лишь разрядный сдвиг, не требующий ни временных, ни аппаратурных затрат.
Матрицу Н4 можно представить в виде произведения следующих слабозаполненных сомножителей:
Н 4 =
1 1 1 1" "0 0 0 1 1
1 -1 1 -1 0 1 0 0 1
1 1 -1 -1 0 0 1 0 1
1 -1 -1 1 1 0 0 0 -1
2 0 0 0 0
0 -2 0 0 0
0 0 -2 0 0
0 0 0 2 0
0 0 0 1 1
10 0 0 0 10 0 0 0 10 0 0 0 1 1 1 0 0 0 0 1 -1
(8)
При разложении (8) с использованием принципа "двойки" аддитивная сложность умножения Н4 на вектор, как и в [2], равна 7 вместо 8 согласно (7). Данный вариант БПА, как и вариант из [2], позволяет вычислить произведение Н4 на вектор за три итерации вместо двух согласно (7). Тем не менее здесь на 1-й итерации требуется выполнение двух операций, на 2-й — одной операции вместо выполнения четырех операций на 1-й итерации в классическом варианте БПА. Следует отметить, что программная реализация БПА при факторизации (8) является более выигрышной по сравнению с аналогичной из [2], поскольку отсутствуют перестановки координат векторов, полученных на всех итерациях, и на 1-й итерации нужно производить запоминание двух нововведенных координат 5:(4) и 5:(5) вместо трех. Граф вычислений показан на рис. 2, где использованы обозначения из рис. 1.
Согласно [2], справедлива следующая факторизация матрицы Н16:
Н16 = и •V •и •V = (и •V)2 =
Е11 Е21 Е31 Е41" Н 4 О О О
Е12 Е22 Е32 Е42 О Н 4 О О
Е13 Е23 Е33 Е43 О О Н 4 О О
Е14 Е24 Е34 Е44 О О Н
(9)
где Е1 — матрица порядка 4x4, в которой элемент ву=1, а остальные равны нулю, О — нулевая матрица порядка 4x4. Матрица и в факторизации (9) является перестановочной матрицей и не требует выполнения арифметических операций при умножении на вектор. На рис. 3 приведен соответствующий граф вычислений. Граф второго варианта БПА для Н16 имеет регулярную структуру (рис. 3), следовательно, алгоритм может быть реализован в два этапа, каждый из которых имеет три итерации в соответствии с (9), (8) и рис. 2. Поскольку после умножения на вектор матрицы V на каждом из двух этапов выполняется одна и та же перестановка координат выходного вектора в соответствии с матрицей и, можно исключить перестановки
в программной реализации, заменив их
непосредственным вычислением соответствующих координат выходного вектора на последней итерации. На каждом из этапов умножение матриц Н4 на соответствующие отрезки вектора может
осуществляться
параллельно для сокращения временных затрат. Таким образом, на 1-й и 4-й итерациях данного алгоритма выполняется 8 операций сложения-вычитания, на 2-й и 5-й - 4 операции сложения, на 3-й и 6-й - 16 операций сложения вычитания, в то время как на каждой из четырех итераций традиционного БПА выполняется 16 операций сложения-вычитания.
Рис. 2. Граф БПА с использованием новой факторизации Н4
2
4
При использовании
варианта БПА, задаваемого (9), факторизации (8) и принципа "двойки" количество операций сложения-вычитания при
умножении матрицы Н16, а значит,
и А1, А2, на вектор будет равно 8-7-3=53, что примерно на 13% меньше, чем при первом варианте с использованием классического БПА. Действительно (см. также рис. 2, 3), так как 5(0)=0, не требуется вычисления одной суммы на 1-й итерации: 5:(4)=^(1), и так как 52(0)=5(0)=0, на 3-й итерации не требуется вычисления одной разности: Ь(3)=-52(4). На 6-й итерации не требуется вычислять одну сумму для получения координаты Ь(0). В данном случае выигрыш в числе операций по сравнению с прямым методом умножения ^2=(15-14)/53«3,962 раза, коэффициент сложности ^2=53/15^3,533. Итак, ^Сй, ЗД«0,869.
Рис. 3. Граф БПА с использованием факторизации (9) для Н1(
Быстрые алгоритмы векторно-матричного умножения для циркулянтов и матриц инцидентности симметричных блок-схем КП Якоби при N =63
Рассмотрим циркулянтные матрицы А1 и А2 КП Якоби и и п при N=63 и матрицы инцидентности соответствующих симметричных блок-схем В1 и В2. Умножения матриц В1 и В2 на векторы можно рассматривать по аналогии с диадной сверткой как вычисление сверток специального вида, когда номера отсчетов представляются, согласно КТО, как элементы-пары вышеописанной группы Ж, упорядоченные соответствующим образом в 7-ичной и 3-ичной системах счисления. Выполним в матрицах А,, В, перестановки строк и такие же перестановки столбцов в соответствии с КТО и внешним упорядочением по второй координате, а внутренним упорядочением по первой координате: (0,0), (1,0), ..., (6,0),..., (0,8), (1,8),..., (6,8). Тогда
А, = РА*Рт, В, = РВ*Рт, / = 1, 2, где Р — соответствующая перестановочная матрица, матрицы А*, В* имеют блочно-циркулянтную структуру. Разделяя данные матрицы на 9 вертикальных блоков по 7 соседних столбцов и применяя теорему оптимизирующей факторизации матриц [2], получаем следующие разложения:
а; = К - Ь =
& =
О р р р
р р р/ р/ р1 р р р/ р1 р р р/
р1 О
р р' р/ р' / р/ р р р/ р / р р р /
р1 О
Ор рр
р/ р р /
р р1 О р1 О р
Орр р р р /
р р / р / р/ р / р р/ р р / р / р / р р / р
р / р р р / р / р р р /
р1 О
Ор рр
рр
(
■ diag
\
м,..., м
где М =
В* = J - Ь =
Орр ррО
р О р р/ р / р
р/ р р/ р р / р/ р/ р р/ р р / р/ р/ р / р
р/ р / р р/ р р/ р р / р/ р/ р р/ р р / р/ р/ р / р
Орр ррО р О р
67
-2Е7 - 67
р / р р/ р р / р / р / р/ р
Орр ррО
рОр р / р/ р
р / р р/ р р / р /
(
- diag
\
М,..., М
V 9 )
(10)
1
1
9
где матрица О состоит из семи 1-х строк единичной матрицы порядка 15, Р - из 2-й - 8-й ее строк, Р - из 9-й - 15-й ее строк, Q7 - циркулянтная матрица КВ КП, Е7 - единичная матрица
порядка 7. В разложениях АВ* матрица М отличается перестановкой местами блоков Q7 и -2E7-Q7. Данные факторизации справедливы, когда примитивный элемент поля ОР(32) в является корнем полинома g(x). Если в — корень полинома у(х), то матрицы ^ и ^ в
012345678 ,012678345
столбцов и строк, состоящих из блоков Р, Р , О.
'01234567^ , (1234567
041253761 и столбцов 14216375
соответствующих разложениях отличаются одинаковыми перестановками
После перестановок строк
согласно [1, 2],
матрица Q^, дополненная строкой с нулевым номером, состоящей из единиц, являющаяся также матрицей КМД в алфавите {1, -1} [3, 8], преобразуется в матрицу Н8, отличающуюся от матрицы Адамара типа Сильвестра Н8 отсутствием столбца с нулевым номером, состоящего из единиц. При использовании БПА для умножения Н 8 на вектор входной вектор дополняется координатой 5(0)=0. В случае классического БПА для г=3, согласно (7), количество операций сложения-вычитания равно 3-23-2=22, поскольку на 1-й итерации отсутствуют вычисления суммы и разности 5(0)±5,(4)=±5,(4). Для матрицы Н8, согласно [1, 2], справедлива следующая факторизация:
Н 8 =
~Е 4 Е 4" Н 4 О '
Е 4 - Е 4 _ О Н 4 _
(11)
где Е4 — единичная матрица порядка 4, О — нулевая матрица порядка 4х4. Соответствующий граф вычислений приведен на рис. 4, где использованы обозначения из рис. 1. При использовании варианта БПА, задаваемого (11), факторизации (8) и принципа "двойки"
количество операций сложения-вычитания при умножении матрицы Н 8 на вектор равно 5+7+8=20, поскольку 5(0)=0 (см. также рис. 2, 4).
При умножении матрицы М на вектор в соответствии с ее разложением
М =
1
1
Q7 -07
- 2 •
0
0
в целом потребуется выполнить 22+7=29 операций сложения-
вычитания и 7 операций умножения на 2 в традиционном варианте. При использовании принципа "двойки" и нового варианта БПА для умножения М на вектор потребуется выполнить только 20+7=27 аддитивных операций. Умножение же матрицы Ь на вектор потребует выполнить 29*9=261 операцию сложения-вычитания и 63 операции умножения на 2
в традиционном и соответственно 27-9=243 аддитивные операции в новом варианте. Итак, последний вариант является более
предпочтительным. При умножении матрицы Ь на вектор все 9 матриц М могут умножаться на соответствующие отрезки вектора параллельно для повышения скорости обработки.
Далее, согласно (10), на полученный вектор умножаются соответственно матрицы К или J. Матрица J может быть разделена на 3 вертикальных блока по 45 соседних столбцов, и, снова применяя теорему об оптимизирующей факторизации,
Рис. 4. Граф БПА с использованием
факторизации (11) для Н8 получим разложение:
J =
е7 оооооооое7 о о о о о о е7 о о е7 оооооооое7 о о о о о о е7
о о
е7 оооооооое7 о о о е7 о о
о о о е7 о о о о о о е7 о е7 о о о о о о о о о е7 о о о о о о е7 о е7 о о о о
о о о о о е7 о о о е7 о о о о е7 о о
о
о о о о е7 о е7 оооооооое7 о о
о о о о о е7 о
е7 оооооооое7 о
■ diag (Я, Я, Я), Я =
о р р р р о
р о р р/ р/ р
р/ р р/ р р/ р'
(12)
о о о е7 о о о о е7 оооооооое7
где О — квадратная матрица порядка 7, состоящая из нулей. Таким образом, умножение матрицы J на вектор требует выполнения 12-7-3+18-7=378 операций сложения. При умножении матрицы J на вектор все 3 матрицы Я могут умножаться на соответствующие отрезки вектора параллельно. Причем все строки внутри каждого из блоков, состоящего из семи соседних строк, всех матриц Я и затем все такие строки последующей матрицы из факторизации могут умножаться на соответствующие отрезки векторов параллельно для повышения скорости
' 012345678^ 036147258 I, получим
обработки. Применив к матрице К перестановку блоков столбцов
матрицу, аналогичную по структуре матрице J, для которой может быть использована подобная факторизация. Поэтому при умножении матрицы К на вектор также потребуется выполнить 378 операций сложения.
Итак, суммарное количество аддитивных операций при вычислении векторно-матричного произведения для всех матриц А*, В*, а также А7, В7, i = 1, 2, согласно данному алгоритму, с использованием представленной оптимизирующей факторизации (10), (12), нового варианта БПА (8), (11) и принципа "двойки" равно 243+378=621. Выигрыш в числе операций по сравнению с прямым методом умножения составляет ^=(63-62)/621 «6,290 раза, коэффициент сложности ^=621/63«9,857. Следует отметить, что выполнение в матрицах Аг-, Bi перестановок строк и таких же перестановок столбцов в соответствии с КТО при внешнем упорядочении по первой координате, внутреннем упорядочении по второй координате: (0,0), (0,1), ..., (0,8),..., (8,0), (8,1),..., (8,6), с последующим разделением данных матриц на 7 вертикальных блоков по 9 соседних столбцов и применение соответствующей оптимизирующей факторизации, даже с учетом нового варианта БПА и принципа "двойки", приводит к большему объему вычислений, чем в описанном здесь случае. Соответствующие коэффициенты сложности при этом приближенно равны 10,556 при 665 аддитивных операциях для матриц Ai и 10,222 при 644 аддитивных операциях для матриц Bi. Это обусловлено тем, что после применения теоремы оптимизирующей факторизации в блочно-диагональной матрице блоки, состоящие из 9 соседних столбцов, требуется делить еще на 3 вертикальных блока по 3 столбца, чтобы применить БПА для Н4 к матрице Н4, отличающейся от матрицы Н4 отсутствием столбца с нулевым номером.
Сравнительный анализ вычислительной сложности алгоритмов
В [2, 9] отмечается, что при использовании теорем оптимизирующей факторизации в общем случае не известен способ переупорядочения столбцов и строк матрицы, приводящий к оптимальному алгоритму, с другой стороны, учет тонкой структуры матрицы может привести к резкому сокращению объема вычислений. Последнее утверждение оказывается справедливым для матриц-циркулянтов и матриц инцидентности симметричных блок-схем КП Якоби типа Адамара с блоковыми длинами N=15, 63, как показывают вышеприведенные структурные алгоритмы векторно-матричного умножения. Одним из важнейших свойств сигнальных матриц, определяющим возможность факторизации со значительным сокращением вычислительных затрат, является связь с матрицами Адамара типа Сильвестра [1, 2]. Однако, как отмечается в [10], для перспективных нелинейных сигналов не известна связь их матриц с матрицами Адамара-Сильвестра и, следовательно, невозможна обработка на основе БПА.
Здесь же эта задача была решена для циркулянтных матриц и матриц инцидентности симметричных блок-схем КП Якоби типа Адамара с блоковыми длинами вида 2г-1, и установлена связь данных матриц с матрицами Адамара типа Сильвестра при построении соответствующих быстрых алгоритмов векторно-матричного умножения.
В работе [9] приведен универсальный алгоритм факторизации прямоугольных бинарных матриц с элементами ±1, имеющий меньшие вычислительные затраты для циркулянтных матриц, чем двукратное преобразование Фурье при N<1024 и алгоритм Агарвала-Кули при N<360. Данный алгоритм основан на теореме оптимизирующей факторизации [2] и последовательном делении первого сомножителя факторизации на вертикальные блоки, состоящие из пар соседних блоков, полученных на предыдущем шаге, до тех пор, пока все сомножители разложения будут содержать не более 2 ненулевых элементов в каждой строке. В случае нечетного числа блоков последний блок остается не объединенным с другими. На первом шаге данного алгоритма в блоки объединяются попарно соседние столбцы. В [9] дано также значение верхней границы коэффициента сложности 5алг1<3+М4 для бинарных квадратных матриц с числом строк N<2^, причем можно дать более точную оценку: 5алг1<2,75-3/К+М4. При сравнении для N=15 52«3,533 алгоритма факторизации матриц А1 и А2, использующего (8), (9), с 5алг1<6,3 при более точной оценке получаем, что 52 меньше верхней границы 5алг1 примерно в 1,783 раза, или на 43,921%. Сравнивая для N=63 5«9,857 алгоритмов факторизации матриц А1, А2, В1, В2, использующих (8), (10)-(12), с 5алг1<18,452 при более точной оценке, получаем, что 5 меньше верхней границы 5алг1 примерно в 1,872 раза, или на 46,580%.
Согласно теореме оптимизирующей факторизации [2], процедура умножения факторизованной матрицы на вектор представляется в виде выполнения внутренней (умножение на вектор матриц-блоков) и внешней (сложение результатов внутренних вычислений) процедур. В работе [10] представлен алгоритм факторизации произвольных бинарных квадратных матриц с элементами ±1 на основе оптимизации блочного разбиения матриц и переупорядочения строк подматриц при выполнении внутренней факторизации по коду Грея, т.е. в таком порядке, чтобы любые две соседние строки отличались только одной координатой. Для длин 2r<N<2'+1 при 3<г<8 оптимальный размер блока, согласно [10], может быть определен как т= ^N+0,5! -1, где Гх! - наименьшее ближайшее целое число к х. Оценка верхней границы коэффициента сложности вычисления векторно-матричного произведения с использованием алгоритма из [10]:
2 т-1 - 2 т
5 алг2 <-+
N т
(13)
где [х] — наибольшее ближайшее целое число к х. Сравнение с известными ранее алгоритмами показывает, что использование данного алгоритма обеспечивает уменьшение оценки верхней границы сложности в некоторых случаях до 25%. Установлено, что с ростом размерности N значение 5алг2 приближается к значению верхней границы, причем для некоторых размерностей циркулянтов нелинейных бинарных сигналов эти значения практически совпадают. При сравнении для N=15 5«3,533 алгоритма факторизации матриц А1 и А2, использующего (8), (9), с 5алг2<5,667 из (13) при т=3 получаем, что 52 меньше верхней границы 5алг2 примерно в 1,604 раза, или на 37,657%. Сравнивая для N=63 5«9,857 алгоритмов факторизации матриц А1, А2, В1, В2, использующих (8), (10)-(12), с 5алг2<15,8 из (13) при т=5 получаем, что 5 меньше верхней границы 5алг2 примерно в 1,603 раза, или на 37,614%.
Заключение
Установлена конечность множества численных значений блоковых длин вида 2г-1 КП Якоби, соответствующих групповым разностным множествам типа Адамара. Исходя из общих замечаний о КП Якоби, были сделаны соответствующие заключения о тонких структурах и свойствах КП типа Адамара с блоковыми длинами N=2^1, а также их циркулянтных матриц и матриц инцидентности соответствующих симметричных блок-схем.
С использованием примитивных идемпотентов кольца полиномов над двоичным полем Галуа показано, что только КП Якоби при N=15 являются М-последовательностями, а соответствующие циклические коды - КМД. Приведены быстрые алгоритмы векторно-матричного умножения для циркулянтов КП Якоби с N=15, 63 и матриц инцидентности симметричных блок-схем, основанные на структурной связи данных матриц с матрицами Адамара типа Сильвестра и общей теореме оптимизирующей факторизации. Причем алгоритмы с использованием принципа "двойки" имеют наименьшую сложность и кроме выигрыша в вычислениях уменьшают количество обращений к памяти, хранящей промежуточные результаты, что приводит к реальному существенному сокращению времени декодирования при микропроцессорной реализации. Сравнительный анализ коэффициентов сложности показывает, что представленные алгоритмы с учетом принципа "двойки" позволяют решать задачи ЦОС с меньшими вычислительными затратами, чем алгоритмы факторизации бинарных матриц В.В. Лосева, С.В. Мальцева из [9] и Р.П. Богуша из [10].
THE OPTIMIZATION OF DIGITAL SIGNAL PROCESSING WITH THE USE OF STRUCTURAL ALGORITHMS FOR SOME JACOBI CODES MATRICES
E.D. STROINIKOVA Abstract
Jacobi codes sequences connected with Hadamard difference sets and having block lengths N=2r-1 are considered. It is established that the set of numerical values of such sequences block lengths is finite. Structural features and properties of these sequences and also of corresponding circulant codes matrices and incidence matrices of symmetric block-schemes are investigated. Fast algorithms of vector-matrix multiplication for given matrices which may be applied in multiprocessor systems of digital signal processing are produced. The use of a new factorization of Hadamard-Sylvester matrices and the principle of "two" guarantees the minimal quantity of calculations and a reduction of time disbursements.
Литература
1. Лосев В.В. Микропроцессорные устройства обработки информации. Алгоритмы цифровой обработки: Учеб. пособие для вузов. Минск, 1990.
2. Дворников В.Д., Конопелько В.К., Липницкий В.А. Теория и практика низкоскоростных кодов. Минск, 2002.
3. СвердликМ.Б. Оптимальные дискретные сигналы. М., 1975.
4. Пелехатый М.И. // Радиотехника и электроника. 1970. Т. 15, № 7. С. 1428-1439.
5. Пелехатый М.И. // Радиотехника и электроника. 1971. Т. 16, № 5. С. 788-796.
6. Холл М. Комбинаторика / Пер. с англ. М., 1970.
7. Мак-Вильямс Ф.Дж., Слоэн Н.Дж.А. Теория кодов, исправляющих ошибки / Пер. с англ. М., 1979.
8. Стройникова Е.Д. // Вестн. Военной академии Республики Беларусь. 2004. № 4(5). С. 62-69.
9. Лосев В.В., Мальцев С.В. // Радиотехника и электроника. 1992. Т. 37, № 12. С. 2190-2198.
10. Богуш Р.П. Корреляционная обработка бинарных изображений и сигналов с использованием факторизации матриц: Дис. ... канд. техн. наук. Новополоцк, 2001.