Научная статья на тему 'АНАЛИЗ БЫСТРОГО АЛГОРИТМА УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ ДЛЯ БАНКА ЦИФРОВЫХ ФИЛЬТРОВ'

АНАЛИЗ БЫСТРОГО АЛГОРИТМА УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ ДЛЯ БАНКА ЦИФРОВЫХ ФИЛЬТРОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
161
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОСКОРОСТНАЯ ОБРАБОТКА СИГНАЛОВ / БАНК (НАБОР) ЦИФРОВЫХ ФИЛЬТРОВ / БЫСТРЫЙ АЛГОРИТМ / ЧУВСТВИТЕЛЬНОСТЬ К ОШИБКАМ ОКРУГЛЕНИЯ / МЕТОД 3M / МЕТОД ВИНОГРАДА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крейнделин Виталий Борисович, Григорьева Елена Дмитриевна

Представлены алгоритмы реализации векторно-матричного умножения, предназначенные для применения в банках (наборах) цифровых фильтров. Указанные алгоритмы обеспечивают существенную экономию вычислительных затрат по сравнению с традиционными алгоритмами. При этом, сокращение вычислительной сложности алгоритмов достигается без ухудшения качественных характеристик банков (наборов) цифровых фильтров. В качестве основы для построения предложенных в статье алгоритмов использованы известные ранее метод Винограда умножения действительных матриц и векторов и два варианта метода типа 3M для умножения комплексных матриц и векторов. Рассмотрены способы комбинирования этих известных методов умножения матриц и векторов для построения банков (наборов) цифровых фильтров. Проведен анализ вычислительной сложности таких способов, который показал возможность сокращения вычислительной сложности по сравнению с традиционным алгоритмом реализации банка (набора) цифровых фильтров примерно в 2,66 раза - при реализации на процессоре без аппаратного умножителя; и в 1,33 раза - при реализации на процессоре с аппаратным умножителем. Эти показатели заметно превышают показатели известных алгоритмов. Проведен анализ чувствительности предложенных в статье алгоритмов к ошибкам округления, возникающим при цифровой обработке сигналов. На основе этого анализа выбран алгоритм, который имеет вычислительную сложность, меньшую, чем сложность традиционного алгоритма, но при этом его чувствительность к ошибкам округления такая же, как и у традиционного алгоритма. Даны рекомендации по его практическому применению при разработке банка (набора) цифровых фильтров.

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

ANALYSIS OF FAST ALGORITHM OF MATRIX-VECTOR MULTIPLICATION FOR THE BANK OF DIGITAL FILTERS

Algorithms of implementation of vector-matrix multiplication are presented, which are intended for application in banks (sets) of digital filters. These algorithms provide significant savings in computational costs over traditional algorithms. At the same time, reduction of computational complexity of algorithms is achieved without any performance loss of banks (sets) of digital filters. As the basis for the construction of algorithms proposed in the article, the previously known Winograd method of multiplication of real matrices and vectors and two versions of the method of type 3M for multiplication of complex matrices and vectors are used. Methods of combining these known methods of multiplying matrices and vectors for building digital filter banks (sets) are considered. The analysis of computing complexity of such ways which showed a possibility of reduction of computing complexity in comparison with a traditional algorithm of realization of bank (set) of digital filters approximately in 2.66 times - at realization on the processor without hardware multiplier is carried out; and by 1.33 times - at realization on the processor with the hardware multiplier. These indicators are markedly higher than those of known algorithms. Analysis of sensitivity of algorithms proposed in this article to rounding errors arising by digital signal processing was carried out. Based on this analysis, an algorithm is selected that has a computational complexity smaller than that of a traditional algorithm, but its sensitivity to rounding errors is the same as that of a traditional algorithm. Recommendations are given on its practical application in the development of a bank (set) of digital filters.

Текст научной работы на тему «АНАЛИЗ БЫСТРОГО АЛГОРИТМА УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ ДЛЯ БАНКА ЦИФРОВЫХ ФИЛЬТРОВ»

АНАЛИЗ БЫСТРОГО АЛГОРИТМА УМНОЖЕНИЯ МАТРИЦ И ВЕКТОРОВ ДЛЯ БАНКА ЦИФРОВЫХ ФИЛЬТРОВ

DOI: 10.36724/2072-8735-2021-15-1-4-10

Крейнделин Виталий Борисович,

Московский технический университет связи и информатики, Москва, Россия, vitkrend@gmail.com

Григорьева Елена Дмитриевна,

Московский технический университет связи и информатики, Москва, Россия, ed.grigorieva@yandex.ru

Manuscript received 25 October 2020; Accepted 20 November 2020

Ключевые слова: многоскоростная обработка сигналов, банк (набор) цифровых фильтров, быстрый алгоритм, чувствительность к ошибкам округления, метод 3M, метод Винограда

Представлены алгоритмы реализации векторно-матричного умножения, предназначенные для применения в банках (наборах) цифровых фильтров. Указанные алгоритмы обеспечивают существенную экономию вычислительных затрат по сравнению с традиционными алгоритмами. При этом, сокращение вычислительной сложности алгоритмов достигается без ухудшения качественных характеристик банков (наборов) цифровых фильтров. В качестве основы для построения предложенных в статье алгоритмов использованы известные ранее метод Винограда умножения действительных матриц и векторов и два варианта метода типа 3М для умножения комплексных матриц и векторов. Рассмотрены способы комбинирования этих известных методов умножения матриц и векторов для построения банков (наборов) цифровых фильтров. Проведен анализ вычислительной сложности таких способов, который показал возможность сокращения вычислительной сложности по сравнению с традиционным алгоритмом реализации банка (набора) цифровых фильтров примерно в 2,66 раза - при реализации на процессоре без аппаратного умножителя; и в 1,33 раза - при реализации на процессоре с аппаратным умножителем. Эти показатели заметно превышают показатели известных алгоритмов. Проведен анализ чувствительности предложенных в статье алгоритмов к ошибкам округления, возникающим при цифровой обработке сигналов. На основе этого анализа выбран алгоритм, который имеет вычислительную сложность, меньшую, чем сложность традиционного алгоритма, но при этом его чувствительность к ошибкам округления такая же, как и у традиционного алгоритма. Даны рекомендации по его практическому применению при разработке банка (набора) цифровых фильтров.

Информация об авторах:

Крейнделин Виталий Борисович, заведующий кафедрой ТЭЦ, профессор, д.т.н, Московский технический университет связи и информатики, Москва, Россия

Григорьева Елена Дмитриевна, доцент кафедры ТЭЦ, к.т.н., Московский технический университет связи и информатики, Москва, Россия

Для цитирования:

Крейнделин В.Б., Григорьева Е.Д.. Анализ быстрого алгоритма умножения матриц и векторов для банка цифровых фильтров // T-Comm: Телекоммуникации и транспорт. 2021. Том 15. №1. С. 4-10.

For citation:

Kreyndelin V.B., Grigorieva E.D. (2021) Analysis of fast algorithm of matrix-vector multiplication for the bank of digital filters. T-Comm, vol. 15, no.1, pр. 4-10. (in Russian)

Введение и постановка задачи

Многоскоростная адаптивная фильтрация сигналов и синтеза систем обработки сигналов на основе использования банка (набора) фильтров широко применяется в современных системах связи [0].

Поскольку верхняя частота спектра полезного сигнала обычно намного меньше частоты дискретизации, то можно использовать пониженную частоту дискретизации, что существенно снизит вычислительную сложность алгоритма обработки сигнала. В настоящее время требования к скорости передачи информации серьезно ужесточаются, что влечет за собой ужесточение требований к вычислительной сложности реализации банков (наборов) фильтров [0], [0].

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

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

Как известно, реализацию банка (набора) цифровых фильтров можно представить в виде умножения некоторой комплексной матрицы на комплексный вектор входных сигналов [0], [0]. Вид матрицы определяется характеристиками используемых цифровых фильтров.

Рассмотрим сначала задачу вычисления произведения действительной квадратной матрицы А размерности N х N на действительный вектор-столбец X размерности N х 1, которая часто встречается в цифровой обработке сигналов [0], [0]:

А-х,

(1)

В результате получаем действительный вектор-столбец у размерности N х 1. Будем полагать также, что размерность N - чётное число.

Вектор у состоит из N компонент, которые, согласно известному традиционному методу, вычисляются следующим образом:

у. = а.,х, + +... + а--х- +... + а.-,тх-кт, /11 г2 2 г] ] ш N

г = 1,2...N.

В методе вычислений (2) число умножений равно N2, а число сложений равно N (N -1). При больших размерностях

N может оказаться, что непосредственная реализация выражения (2) потребует слишком больших вычислительных затрат. Поэтому для снижения вычислительных затрат применяют методы, называемые быстрыми алгоритмами. Рассмотрим некоторые известные быстрые алгоритмы, позволяющие снизить сложность реализации выражения (2).

1. Метод Винограда для умножения действительных матриц и векторов.

Величины у. могут быть вычислены по известной фор-7 г

муле Винограда при / = 1,2...N [0]:

N /2

= ¡р=11 аг,2к-1+ Х2к А а/,2к + Х2к-1

(3)

N /2

N /2

к51 а/,2к-1' а/,2к Х2к-1' Х2к'

Число умножений в формуле Винограда (3) равно _. N2,

2

что в 1,5 раза больше, чем число умножений в традиционной формуле (2).

Заметим, что формула (3) обладает следующими особенностями:

N/2 л

• выражение у а ■ а может быть вычислено

г,2к-1 г,2к

заранее, поскольку матрица А в (1) при построении банка фильтров считается постоянной и заранее известной; N/2

• выражение у х ■ х является одинаковым для

к—1 2к-1 2к

всех г = 1,2..^, поэтому оно может быть вычислено только один раз. В связи с этим для его вычисления требуется

N N

только _ умножении и _ _ \ сложении.

2 2 Таким образом, основные вычислительные затраты, необходимые для вычисления (3), сосредоточены в выражении

N/2/

ЙI аг,2к -Г

аг,2к + х2к-1

(4)

С учётом изложенного, число выполняемых в реальном времени умножений в формуле Винограда (3) оказывается

равным 1. ^2 + N) что асимптотически в два раза меньше,

чем число умножений в традиционной формуле (2). Число выполняемых в реальном времени сложений в (3) равно N(N + 2), что асимптотически равно числу сложений в (2).

(2)

2. Методы типа 3М для умножения матриц комплексных чисел

На практике при построении банков фильтров приходится осуществлять вычисление произведения комплексных матриц и векторов [0], [0]. Рассмотрим задачу вычисления произведения комплексной матрицы на комплексный вектор:

y = A- х = ( Ас + jAs )(хс + jxs ) = j (Аsxc ~ Acxs),

(5)

- Асхс Asxs

У = А'x = ACxc - Asxs +

+J ((Ac + As) • (xc + xs) - Acxc - Asxs) ■

(6)

где А - комплексная квадратная матрица размерности N х N; Ас, А^ _ действительные квадратные матрицы

размерности N х N; хс - Д ействительные векторы-

столбцы размерности N х1; х и у _ комплексные векторы-

столбцы размерности N х 1.

Выражение (5) определяет традиционный метод перемножения комплексных матриц и векторов [0]. Этот метод требует выполнения четырех действительных векторно-матричных умножений и двух действительных векторных сложений. Существуют, однако, методы, требующие меньшего числа действительных векторно-матричных умножений.

Известен следующий метод реализации комплексного векторно-матричного умножения [0], [0], [0]:

3. Анализ вычислительной сложности

Сделаем подсчёт числа арифметических операций, необходимых для реализации комплексного векторно-матричного умножения с одновременным применением формулы Винограда (3) и метода 3М (6). В этом случае реальном времени потребуется выполнить:

• 3 . ^2 + N| действительных умножений;

• 3N (N + 2) + 4N = 3N2 + 10N действительных сложений.

Проведем аналогичным образом подсчет числа арифметических операций, необходимых для реализации комплексного векторно-матричного умножения с одновременным применением формулы Винограда (3) и модификации (7) метода 3М. Учтем при этом, что в реальном времени для реализации (7) требуется не четыре, а только три действительных векторных сложения. В (7) требуется выполнить:

•2 2

2

. NI действительных умножении;

2 V.....')

• 3N (N + 2) + 3N = 3N2 + 9N

действительных сложе-

нии.

В таблице 1 приведены результаты сравнительного анализа вычислительной сложности

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

• алгоритма (3), (6),

• алгоритма (3), (7).

Таблица 1

Реализация метода (6) требует только трех действительных векторно-матричных умножений, но одно действительное матричное сложение и четыре действительных векторных сложения. В литературе он известен как метод 3М (3 multiplications, 3 умножения) [0], [0]. Отметим, что матричное сложение Ac + As может быть вычислено заранее,

поскольку матрица A определяет свойства банка фильтров и считается постоянной и заранее известной.

Векторно-матричные умножения в (6) могут быть реализованы, например, с помощью формулы Винограда (3).

Рассмотрим еще одну модификацию метода 3M [0], [0].

y = A-х = {xT ■A)Т ={xTc -xTs)• As -xTc •(Ac - As)+ (7) +j ((x^ - xs )• As + xs •( A + As)).

Выражение (7), как и выражение (6), требует выполнения трех действительных векторно-матричных умножений, двух действительных матричных сложений и трех действительных векторных сложений. Отметим также, что матричные сложения в (7) A^ - As и A^ + A^, как и в случае (6), может быть вычислено заранее, поскольку матрица A, определяющая свойства банка фильтров, считается постоянной и заранее известной.

Количество умножений Количество сложений Общее количество операций

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

Традиционный Алгоритм (2) 4N 2 2N (N -1) 6 N2 - 2 N

Алгоритм (3), (6) 1,5 N2 +1,5 N 3N2 + 10N 4,5 N2 + 11,5N

Алгоритм (3), (7) 1,5 N 2 +1,5 N 3N2 + 9N 4,5N2 + 10,5N

Из таблицы 1 видно, что применение алгоритма (3), (6) или алгоритма (3), (7) позволяет получить существенный асимптотический (при N ^ да) выигрыш в вычислительной сложности по сравнению с традиционным алгоритмом (2). Величина этого выигрыша практически одинакова у алгоритмов (3), (6) и (3), (7) и составляет:

• в 2,66 раза _ при реализации на процессоре без аппаратного умножителя;

• в 1,33 раза (или на 25%) _ при реализации на процессоре с аппаратным умножителем.

Нужно отметить, что при наличии в сигнальном процессоре аппаратного умножителя время выполнения операции умножения и время выполнения операции сложения совпадают [0], [0]. Если в процессоре отсутствует аппаратный умножитель, то время выполнения операции умножения в несколько десятков раз превышает время выполнения операции сложения.

4. Анализ чувствительности различных методов реализации комплексного векторно-матричного умножения к ошибкам округления

Как известно, вычисления всегда сопровождаются ошибками округления [0]. Поэтому важным является определить степень чувствительности рассмотренного метода (6) к ошибкам округления и сравнение ее с чувствительностью к ошибкам округления традиционного метода (5).

Будем полагать, что

А с ~ Ас'

-5АС; А8 - А8 ■

-¿А8;х с =

= х.

хС ^хс; ^ _ ,

где А^ А„ - приближенные значения матриц А^ и А ,

С' о С а

соответственно; 5АС - ошибки округления матриц

Ас и Ао , соответственно; XXс, XXо - приближенные значения векторов хс и х8, соответственно; Зхс- ошибки округления векторов хс и х8, соответственно. Также предположим, что

у с=Ус+^Ус;у о=Уо, (9)

где ус, уо - приближенные значения векторов ус и уо ,

соответственно; 5ус,8уо - ошибки округления векторов

ус и уо , соответственно.

Задача состоит в том, чтобы найти зависимость ошибок округления дус ,3уо результата от ошибок округления

5АС,£А8, 5хссомножителей в (1). Для этого подставим (8) в (5). В результате после несложных алгебраических преобразований имеем:

(8)

5ус =§Асхс

5Асдхс -

-£А8х8 - А8£х8 -

(10)

-Ая5хс

Ас5ха-

5Асдхо.

Пренебрегая членами второго порядка малости, из (10) приближенно получим:

Зус «¿Асх, ¿у8 «¿А8хс

схс ^ ^А^^х^ ¿^-^А^хо ^А^^х^

¿Асх8

(11)

5ус « 5Асхс + Ас5хс - £А8х8 - А8 ду^ « с>А8хс + А8 + Ас + с>Асх8

(12)

Выражения (12) в точности совпадают с выражениями (11). Это позволяет сделать вывод о том, что чувствительность к ошибкам округления метода (6) и чувствительность к ошибкам округления традиционного метода (5) являются одинаковыми.

Рассмотрим теперь метод (7) реализации комплексного векторно-матричного умножения. Для этого подставим (8) в (7). В результате приближенно имеем:

5ус « 5Асхс + Ас5хс - £А8х8 - А8£х8 ¿у8 »(2АС - А8) + 25АС (х8 + хс) + .

(13)

+Ас£хс - £А8х8.

Из сравнения (13) с (12) видно, что действительная часть погрешности §ус метода (7) совпадает с действительной

частью погрешности известного метода (5) и метода (6). Однако мнимая часть погрешности метода (7) заметно

отличается от мнимой части погрешности методов (5) и (6).

Проведем сравнительную оценку величины этих погрешностей. В качестве критерия оценки будем использовать величину дисперсии суммарной погрешности компонент вектора у. Корреляционная матрица К8 действительного случайного вектора Зуо определяется следующим образом [0]:

Ко = Е },

(14)

где Е{...} - оператор математического ожидания; (,..)Т -

операция транспонирования.

Дисперсия суммарной погрешности компонент вектора у представляет собой сумму дисперсий компонент этого вектора. Поскольку в корреляционной матрице дисперсии компонент являются элементами ее главной диагонали, то

.2 _

гг

(К ) = * (Е {¿уя*у£}

(15)

где гг (...) - след матрицы.

Для традиционного метода (5) и метода (6) имеем: „.2

Выражения (11) показывают зависимость ошибок округления результата от ошибок округления исходных данных для традиционного метода (5) реализации комплексного векторно-матричного умножения.

Проведем анализ метода (6) реализации комплексного векторно-матричного умножения. Для этого подставим (8) в (6). В результате после ряда несложных алгебраических преобразований и пренебрегая членами второго порядка малости, приближенно имеем:

=гг (К )=гг(Е {¿у^уТ })« (Т (Е {¿А8хсх^Ао}) + гг (Е Ао}) +

гг (Е {Асёх8ёх1Атс}) + гг (Е {ёАс х8хг8 }) = 1г (Е {х^А^А8хс}) + 1г (А8 Е {5хс5хТс) Ао гг (Ас Е {¿х8 } ) + гг (Е {х^А^Асх8}) =

гг (хТс Е {} хс) + гг (АоАо) + гг (Ас Ас)"

+гг (хо Е {ёАТсёАс} х8 ) =

гг (хсхс) +гг (АоАо) +гг (Ас Ас) +гг (^)

(16)

В (16) использовано известное матричное тождество [0], [0], [0]:

1т (АВ ) = 1т (БА) (17)

Кроме того, при преобразованиях (16) было принято, что:

Е{5хс5хтс) = 1; Е{¿х8£х£}=1; Е {¿А££АС} = 1; Е {¿А££А8 } = 1

Также предположим, что

У = У + ,1 =1,2...N,

(21

ления у..

преобразований, пренебрегая членами второго порядка малости, получим:

N ( \ N

]=1

1 = 1,2... N.

Х] +8Х] ^ у +Ц ]],

(22)

(18)

где 1 _ единичная матрица.

В выражениях (18) учтено, что

• ошибки округления различных компонент матриц и векторов некоррелированы;

• дисперсии всех ошибок округления одинаковы и нормированы.

С целью анализа величины ошибок округления для метода (7) обратимся теперь к уравнению (13). После преобразований, аналогичных преобразованиям (16), получим:

1г (Е }) * 2 • * ((х8 + хс )Т (х8 + хс )) +

((2АС - А)(2АС - А)Т) +

*Г ( АСАС ) + *Г (х^х8 )■

Из сравнения выражений (18) и (19) видно, что при одинаковых величинах ошибок округления входных данных величина погрешности результата для метода (7) значительно превышает погрешность результата у традиционного метода (5) и метода (6).

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

Обратимся снова к уравнению (2), описывающему традиционный метод вычисления произведения действительной матрицы на действительный вектор. Будем полагать, что

а- = а- + 3а-• ;х ■ = х +5х ^^..М; ] =\,2■■■N, (20) Ч 1 г] ] ] ]

где а.. _ приближенные значения а-.; 5а - _ ошибки ок-

Ч Ч Ч

ругления элементов а..; X ■ _ приближенные значения х .;

Ч ] ]

§х ■ _ ошибки округления элементов х ..

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

Из (22) и (2) получаем следующую зависимость погрешности результата от ошибок округления исходных данных для традиционного метода (2) реализации действительного векторно-матричного умножения.

Зу. х'Уда-.х .+а. -5х ,1 = 1,2...N.

^ ¿л 1] ] ч ]

■=1

(23)

Перейдем к анализу метода Винограда (3). Для этого подставим (20) в (3). После несложных алгебраических преобразований, пренебрегая членами второго порядка малости, получим:

N

ч

у1 = Ц а1,2к-1 + х2к + даг,2к-У + Зх2к ) >

к=1 '

<( аи.

2к т х2к-1 +^°1,2к

~8х2к-1 )"

¡а1-,2к-1 +5аг,2к-1)-(а1,2к +5аг,2к ) " Л х2к-1 + 5х2к-1)

<(х2к + У

к=1

N 2

к (

(24)

где у. _ приближенные значения у.; §у. _ ошибки округ-

Найдем зависимость погрешности §у. результата от

ошибок округления §а , §х сомножителей в (2). Для это-Ч ]

го подставим (20) в (2). После несложных алгебраических

N2

У х2к30< ,2к + а(,2к-\ к=1

Из (24) и (2) получаем следующую зависимость погрешности результата от ошибок округления исходных данных для метода Винограда (3) реализации действительного векторно-матричного умножения.

N2

5У. х2кда

,2к + а1,2 к-1 2к + ^аи2к- 1х2к-1

к=1

1 = 1,2... N.

Нетрудно убедиться, что выражения (23) и (25) являются идентичными, что указывает на одинаковую чувствительность к ошибкам округления традиционного метода (2) реализации действительного векторно-матричного умножения и аналогичного по назначению, но более простого с точки зрения вычислительной сложности метода Винограда (3).

Выводы

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

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

2. Предложенные алгоритмы реализации банка фильтров (3), (6) и (3), (7) позволяют сократить вычислительную сложность по сравнению с традиционным алгоритмом (2) примерно

• в 2,бб раза - при реализации на процессоре без аппаратного умножителя;

• в 1,ЗЗ раза - при реализации на процессоре с аппаратным умножителем.

При этом алгоритм (З), (7) требует выполнения несколько меньшего числа сложений по сравнению с алгоритмом (З), (б).

3. Предложенный алгоритм реализации банка фильтров (З), (б) обладает одинаковой чувствительностью к ошибкам округления по сравнению с традиционным алгоритмом (2).

4. Алгоритм (З), (7) обладает заметно большей чувствительностью к величине ошибок округления, чем алгоритм (З), (б), при несколько меньшей вычислительной сложности.

Литература

1. Зайцев A.A. Методы построения банков цифровых фильтров: тематический обзор // Цифровая обработка сигналов. 200З. № l. C. 2-l0.

2. Витязев B.B. Банки фильтров в системах широкополосной передачи данных // Цифровая обработка сигналов. 2016. № 2. C. 44-52.

3. Витязев В.В., Харин A.B. Оценка вычислительной эффективности методов построения банка фильтров-демодуляторов // Материалы II Всероссийской научно-технической конференции «Актуальные проблемы современной науки и производства», l5-l7 ноября 20l7 г. Рязань: ИПКоняхин A.B. (Book Jet), 20l7. С. 11З-12З.

4. Витязев В.В. Многоскоростная обработка сигналов. М.: Горячая линия - Телеком, 20l7. ЗЗ6 с.

5. Крейнделин В.Б., Смирное А.Э., Бен Режеб Т.Б.К. Эффективность методов обработки сигналов в системах MU-MIMO высоких порядков // T-Comm: Телекоммуникация и транспорт. 20l6. Том l0. №l2. С. 24-З0.

6. Крейнделин В.Б., Резнее A.A. Свойства квазиоптимального кода в системах связи с пространственно-временным кодированием

// T-Comm: Телекоммуникация и транспорт. 2013. Том 7. №10. С. 59-60.

7. Крейнделин В.Б., Григорьева Е.Д. Реализация банка цифровых фильтров с пониженной вычислительной сложностью // T-Comm: Телекоммуникация и транспорт. 2019. Том 13. №7. С. 48-53.

8. Higham N. Accuracy and Stability of Numerical Algorithms. Second edition. USA, Philadelphia, SIAM, 2002, 710 p.

9. Тыртышникое E.E. Матричный анализ и линейная алгебра. М.: Физматлит, 2007. 480 с.

10. Higham N. Stability of a Method for Multiplying Complex Matrices with Three Real Matrix Multiplications. SIAM J. Matrix Anal. Appl. Vol.13. № 3, pp.681-687, July 1992.

11. Блейхут P. Быстрые алгоритмы цифровой обработки сигналов. М.: Мир, 1989. 448 с.

12. Бакулин М.Г., Крейнделин В.Б., Панкратов Д.Ю. Технологии в системах радиосвязи на пути к 5G. М.: Горячая линия - Телеком, 2018. 280 с.

13. Иванова В.Г. Тяжев А.И. Цифровая обработка сигналов и сигнальные процессоры: учебное пособие - 2-е изд. Самара: ПГУ-ТИ, 2017. 252 с.

14. Kreyndelin V.B., Smirnov A.E. Decreasing of computational complexity of demodulation algorithms in multi-antenna systems due to application of fast algorithms // Telecommunications and Radio Engineering. 2016. Vol. 75, issue: 19. P. 1757-1773.

15. Вержбицкий B.M. Основы численных методов. М.: Высшая школа, 2002. 840 с.

16. Seber G.A.F. Matrix Handbook for Statisticians. New Jersey, USA: John Wiley & Sons, 2008. 593 p.

17. Fackler P.L. Notes of Matrix Calculus. North Carolina State University, September 27, 2005. 14 p.

18. Kreyndelin V.B. and Grigorieva E.D. Analysis of Fast Algorithm of Matrix-Vector Multiplication for the Bank of Digital Filters // 2020 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO), Svetlogorsk, Russia, 2020, pp. 1-5, doi: 10.1109/SYNCHR0INF049631.2020.9166081.

ANALYSIS OF FAST ALGORITHM OF MATRIX-VECTOR MULTIPLICATION FOR THE BANK OF DIGITAL FILTERS

Vitaly B. Kreyndelin, Moscow Technical University of Communications and Informatics, Moscow, Russia, vitkrend@gmail.com Elena D. Grigorieva, Moscow Technical University of Communications and Informatics, Moscow, Russia, ed.grigorieva@yandex.ru

Abstract

Algorithms of implementation of vector-matrix multiplication are presented, which are intended for application in banks (sets) of digital filters. These algorithms provide significant savings in computational costs over traditional algorithms. At the same time, reduction of computational complexity of algorithms is achieved without any performance loss of banks (sets) of digital filters. As the basis for the construction of algorithms proposed in the article, the previously known Winograd method of multiplication of real matrices and vectors and two versions of the method of type 3M for multiplication of complex matrices and vectors are used. Methods of combining these known methods of multiplying matrices and vectors for building digital filter banks (sets) are considered. The analysis of computing complexity of such ways which showed a possibility of reduction of computing complexity in comparison with a traditional algorithm of realization of bank (set) of digital filters approximately in 2.66 times - at realization on the processor without hardware multiplier is carried out; and by 1.33 times - at realization on the processor with the hardware multiplier. These indicators are markedly higher than those of known algorithms. Analysis of sensitivity of algorithms proposed in this article to rounding errors arising by digital signal processing was carried out. Based on this analysis, an algorithm is selected that has a computational complexity smaller than that of a traditional algorithm, but its sensitivity to rounding errors is the same as that of a traditional algorithm. Recommendations are given on its practical application in the development of a bank (set) of digital filters.

Keywords: multirate signal processing, Bank (set) of digital filters, fast algorithm, sensitivity to calculation errors, 3M method, Winograd method.

References

cation of fast algorithms. Telecommunications and Radio Engineering. Vol. 75, issue: 19. P. 1757-1773.

15. Verzhbitsky V.M. (2002). Basis of numeric methods. Moscow: Vyshaya shkola. 840 p. (in Russian)

16. Seber G.A.F. (2008). Matrix Handbook for Statisticians. New Jersey, USA: John Wiley & Sons. 593 p.

17. Fackler P.L. (2005). Notes of Matrix Calculus. North Carolina State University, September 27, 2005. 14 p.

18. Kreyndelin V.B. and Grigorieva E.D. (2020). Analysis of Fast Algorithm of Matrix-Vector Multiplication for the Bank of Digital Filters. 2020 Systems of Signal Synchronization, Generating and Processing in Telecommunications (SYNCHROINFO), Svetlogorsk, Russia, 2020, pp. 1-5, doi: 10.1109/SYN-CHR0INF04963I.2020.9I6608I.

Information about authors

Vitaly B. Kreyndelin, Moscow Technical University of Communications and Informatics, chief of the Department of electric circuit theory, Moscow, Russia Elena D. Grigorieva, Moscow Technical University of Communications and Informatics, member of the Department of electric circuit theory, Moscow, Russia

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