Рис. 4.3. Граф вычисления
трехточечной циклической S(o)
свертки для дуального ал-
горитма.
Граф вычислительного процесса для этого алгоритма показан на рис. 4.3.
При этом величины m
Q
, т
тт находятся из следующих равенств:
т
0
= (А(0) + АЦ) + й(2))/3;
т
1
= (А(0) +А(1) -2А(2))/3;
т
2
= (-2А(О) + А(1)+А(2))/3;
т
г
= (А(0) -2А(1) + А(2))/3.
Ца вычисление свертки затрачивается 4 операции умножения и И операций сложения.
Для коротких сверток ./V < 9 по приведенной методике синтезированы алгоритмы с
минимальной сложностью. Описание и структура этих алгоритмов приведены в [ 10, 11].
^ВЫЧИСЛЕНИЕ ДЛИННЫХ СВЕРТОК С ПОМОЩЬЮ
ВЛОЖЕНИЯ КОРОТКИХ (ГНЕЗДОВОЙ АЛГОРИТМ)
Для больших сверток алгоритмы, описанные в предыдущем параграфе,
становятся громоздкими и малоэффективными. Однако, еслиN— составное
число, то матрицу свертки путем перестановки строк и столбцов можно пре-
образовать в блочную матрицу, каждый блок которой является матрицей цик-
лической свертки меньшего размера, а сами блоки также образуют блочную
матрицу циклической свертки. В результате такого преобразования вычисле-
ние длинной свертки можно свести к вычислению серии коротких сверток.
Для того чтобы результат от перестановки не изменился, следует аналогичным
образом переставить входные и выходные отсчеты.
Основой для преобразования матрицы является китайская теорема. Пусть
N = N
1
N
2
— составное число, где N и N
2
взаимно простые, т. е. (Л^ ,N)= 1.
Любое число ш из интервала 0, 1,2,..., JV—1 можно записать в ( )
где
= < N
~>
N
и
2
= <N >
N
. Вьиет п
виде (п
1
,п
2
),
можно рассматривать как пер-
вую координату числа N , а вычет «
2
—как вторую. Если строки исходной
матрицы упорядочить по первой координате, а столбцы по второй, то получим
описанную блочно-циклическую структуру. Процедура разбиения может быть
повторена рекурсивно для сомножителей N
x
и N
2
, если они, в свою очередь,
также разбиваются на взаимно простые сомножители.
Пример 4.13. Рассмотрим вычисление шеститочечной свертки. Представим чис-
ло W как 6 = 2* 3. Тогда получим следующее взаимно однозначное отображение:
0 -+ (0, 0), 1 -<• (1,1), 2-* (0, 2), 3 -• (1, 0), 4 - (0,1), 5 -* (1, 2). Матричная запись исход-
ной свертки имеет вид
91