В.В. Сергеев, А.В. Усачев
НОВЫЙ АЛГОРИТМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ХАРТЛИ
Удобным аппаратом цифровой обработки сигналов является дискретное преобразование Фурье (ДПФ). Широкое применение ДПФ объясняется наличием эффективных алгоритмов его вычисления.
Одним из наиболее быстрых алгоритмов вычисления ДПФ длиной 2^ (I i 2 ■ целое) был предложен И.Е. Капориным [1]. Этот алгоритм основывается на сведении преобразования Фурье L-точечной комплексной последовательности к вычислению четырех вещественных преобразований (двух косинусных и двух синусных) длиной порядка L/2. В обозначениях принятых в [1] преобразование по косинусам последовательности имеет вид: г
Ф.(Ю [а] = 2 а. eos , 0 < k < N, (1)
К j=0 3 N
а преобразование по синусам последовательности выглядит следующим обра-
зом:
(Ы) N_1 -к
4V [а] = I 1 SkSN ■ 1. (2)
j=1 3 N
В (1) показано, что преобразование по косинусам можно вычислить с помощью nN/2 - N + 1 умножений и 3nN/2 - 2N + п + 4 сложений, а преобразование по синусам - с помощью такого же числа умножений и 3nN/2 - 2N - п + 2 сложений, где n = log2 N.
Предложенный в [i] алгоритм вычисления ДПФ требует наименьшего количества вещественных операций сложения и умножения по сравнению с известными алгоритмами.
Указанный подход можно применить к вычислению дискретного преобразования Хартли, к которому в последнее время вновь появился интерес [2]. Использование этого преобразования вместо ДПФ в задачах обработки вещественных сигналов позволяет ограничиться только вещественной арифметикой и примерно вдвое сократить объем вычислений.
Преобразование Хартли вещественной последовательности {а^}определяется
соотношением
= Г
L-1
a .
j = 0 J
COS —jjj— + sin ¿all], о < к < L - 1. (3)
Покажем, как можно свести вычисления по формуле (3) к вычислению по формулам (1) и (2).
Пусть N > 2 - целое,
ьо = V
bj = aj + а 2 N — j ' Cj = aj - а 2 N — j ' 1 S j S N - 1; (4)
bN = V
Разложив правую часть выражения (3) на две суммы по косинусам и синусам и учитывая, что
cos 2n(N-j)k = cos 2т^к . sin 2n<N-j)k _sin 2JÚ1 f получим следующие соотношения:
*«">[.] - Ф<"[„];
<2N>[a] - <Ю[Ь] ♦ Ф«И)[С]; 1 í k í N - 1;
(5)
«gü^M - Ф^}[ь]-ф{Н)[е]; 1 S к < N - 1;
„<2Юг i a(N) ful
HN [а] = [bj-
Согласно формулам СО и (5) преобразование Хартли длиной L (L - четно) сводится к преобразованию по косинусам длиной L/2 + 1 и преобразованию по синусам длиной L/2 - 1 и дополнительно 4CL/2 - 1) вещественным сложениям. Учитывая приведенные выше вычислительные затраты на преобразования по косинусам и синусам, можно получить, что для реализации преобразования Хартли длиной L, равной целой степени двойки, требуется IL/2 - 3L/2 + 2 вещественных умножений и 31L/2 - 3L/2 + 2 сложений, где I = log2 L.
8 [З] описан, по-видимому, наиболее быстрый из известных алгоритмов преобразования Хартли и даны оценки его вычислительной сложности для различных длин преобразуемых последовательностей. Сравнение предлагаемого в данной работе алгоритма с алгоритмом Прадо показывает, что для реализации первого требуется ровно столько вещественных сложений, сколько для второго, а умножений - в два раза меньше.
Представленный алгоритм (с использованием подхода, применяемого Капориным для вычисления ДПФ) является наилучшим с точки зрения вычислительных затрат, хорошо структуризуется и может быть рекомендован для практического использования .
ЛИТЕРАТУРА
1. К а п о р и н И.Е. Новый алгоритм БПФ // Журнал вычислительной математики и математической физики, 1980, Т. 20, № U, С. 105^-1058.
2. Брейсуэлл Р.Н. Быстрое преобразование Хартли // ТИИЭР, 1 98*» , Т. 72, If 8, С. 19-28.
3. П р а д о *. Замечания к статье "Быстрое преобразование Хартли" // ТИИЭР, 1 985, Т. 73, N- 12, С. 182-1 83.