Scientific journal
Modern high technologies
ISSN 1812-7320
"Перечень" ВАК
ИФ РИНЦ = 0,940

DISCRETE TRANSFORMATION OF FOURIER AND HIS FAST ALGORITHMS

Timoshenko L.I. 1
1 Stavropol branch of the Krasnodar university Ministry of Internal Affairs of the Russian Federation
Use of digital methods of information processing allows to raise a communication system noise stability, to provide better indicators during the processing of signals and interface of channels. It in turn, predetermined keen interest of developers of perspective communication systems in methods of digital processing of signals.
digital processing of signals
realization of arithmetic operations
speed indicators
processing speed
algorithms of the accelerated calculation

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

К первой из них относятся вычислительные процессоры, базирующиеся на реализации ортогональных преобразований сигналов [7, с. 76, 8, с. 38-39, 9, с. 77]. Такие преобразования, как правило, определены над полем комплексных чисел и называются дискретным преобразованием Фурье (ДПФ), которое определяется выражением:

timos1.wmf. (1)

где timos2.wmf – поворачивающий коэффициент; timos3.wmf – количество отсчетов, timos4.wmf, timos5.wmf.

Для реализации обратного преобразования сигналов используется обратное ДПФ (ОДПФ), согласно равенства

timos6.wmf, (2)

Анализ выражений (1) и (2) показывает, что значения входного сигнала timos7.wmf являются подмножеством поля комплексных чисел С. В этом случае ортогональные преобразования, задаваемые выражением ДПФ и ОДПФ, так же определяются над этим полем, т. е. поле С используется для определения преобразований, применяемых при построении математической модели ЦОС. Следовательно, реализация таких моделей связана с реализацией арифметических операций поля комплексных чисел, что нельзя считать удачным. Действительно, сигнал х(п), полученный в результате АЦП, представляет собой список чисел, объем информации которого – конечная и вполне определенная величина. Осуществив преобразование этого сигнала в соответствии с выражением (1), получим сигнал X(k), числовое представление которого обладает теоретически бесконечным объемом информации, так как в результате определения модели над бесконечным полем С значения х(n) умножаются и суммируются на коэффициенты из С, часто являющиеся иррациональными числами. Известно, что иррациональное число выражается бесконечной дробью, что приводит к бесконечному объему информации цифрового представления сигнала. Практически объем информации такого представления конечен, но больше первоначального и определяется точностью представления чисел в вычислительном устройстве или, другими словами, длиной разрядной сетки. Длина разрядной сетки для представления результатов промежуточных вычислений обычно в два и более число раз превышают длину разрядной сетки, представляющие входные данные. Значит, благодаря этому непроизвольно вводится информационная избыточность и усложняются вычисления, так как они проводятся в поле комплексных чисел [1, с. 60-97, 2].

Таким образом, очевидно, что реализация прямого и обратного ДПФ предопределяет значительные погрешности при вычислении значений спектральных коэффициентов в поле комплексных чисел, обусловленных тем, что поворачивающие коэффициенты timos8.wmf представляют собой иррациональные числа, а это при значительных значениях N приводит к существенной аддитивной арифметической погрешности.

Вычисления спектра и восстановление по нему исходного сигнала непосредственно по выражениям (1) и (2) требует выполнения значительного числа операций умножения и сложения в поле комплексных чисел. Непосредственное вычисление ДПФ при комплексных значениях x(nT) требует для каждого значения k (N–1) умножений и (N–1) сложений комплексных чисел или 4(N–1) умножений и timos10.wmf сложений действительных чисел. Следовательно, для вычисления всех N значений коэффициентов ДПФ входного вектора x(nT) потребуется примерно N2 умножений и N2 сложений комплексных чисел. Таким образом, для больших значений N (N > 100) входного вектора прямое вычисление ДПФ согласно (1) требует весьма большего числа арифметических операций умножения и сложения, что затрудняет реализацию вычислений в реальном масштабе времени процессов и спектров [4, с. 60-97].

Лучшие показатели быстродействия получаются при использовании так называемых быстрых алгоритмов, которые существуют для ДПФ [5, с. 73-74, 14]. Исходная идея данных алгоритмов быстрого преобразования Фурье (БПФ) состоит в том, что N-точечная последовательность разбивается на две более короткие последовательности, для которых вычисляется ДПФ с последующим восстановлением исходного ДПФ. Если N=2v , v>0 и целое, то процесс уменьшения размера ДПФ может продолжаться до тех, пока не останутся только двухточечные ДПФ. При этом общее число этапов вычисления ДПФ будет равно timos11.wmf, а число требуемых арифметических операций будет порядка timos12.wmf, т.е. уменьшается примерно в timos13.wmf раз.

При реализации БПФ возможно несколько вариантов вычислений в зависимости от способа деления последовательности отсчетов на части (прореживание по времени либо по частоте) и от того, на сколько фрагментов производится разбиение последовательности на каждом шаге, т.е. от основания БПФ. Так для прореживания по времени реализации БПФ определяется

timos14.wmf, (3)

где timos15.wmf – соответственно последовательность с четными и нечетными номерами;

timos16.wmf.

Процесс вычисления коэффициентов дискретного преобразования Фурье с использованием алгоритма с прореживанием по частоте задается выражением

timos17.wmf, (4)

где timos18.wmf – соответственно первая и вторая части входной последовательности отсчетов.

Необходимо отметить, что в обоих алгоритмах БПФ – и с прореживанием по времени, и с прореживанием по частоте – требуется примерно timos19.wmf операций комплексного умножения и оба алгоритма могут быть реализованы по способу с замещением, используя только один массив ячеек памяти. Таким образом, применение БПФ с основанием 2 позволяет выполнить более эффективное вычисление ортогональных преобразований сигналов по сравнению с прямым преобразованием (1).

В основу данных алгоритмов положен принцип разбиения исходного ДПФ на совокупность малоточечных реализаций. Различия заключаются в способах вычисления таких малоточечных алгоритмов и последующем объединение частичных результатов. При этом размер преобразований не обязательно равен степени двойки. Другими словами, становится возможность быстрой реализации ортогональных преобразований произвольной длины, что очень важно для ряда практических задач [6, с. 98-100].

В работе [11, с. 59-60] представлен обобщенный алгоритм Кули-Тьюки с произвольным основанием и поворачивающими множителями. Данный быстрый алгоритм реализации ДПФ применим в случае, если N является составным, т.е. timos20.wmf, где N1 и N2 – положительные числа. Тогда вычисление исходного N-точечного ДПФ сводится к вычислению N1 N2 –точечных и N2 N1 –точечных ДПФ и N умножений на множители поворота timos21.wmf. В этом случае в выражение (1) производится подстановка

timos22.wmf (5)

timos23.wmf (6)

Применение выражений (5) и (6) позволяет свести равенство (1) к виду

timos24.wmf. (7)

Таким образом, быстрый алгоритм вычисления ДПФ включает в себя две основные ступени: на первой ступени представленные в соответствии с (6) входные выборки подвергаются N2-точечному преобразованию Фурье на второй ступени производится вычисление N1-точечных ДПФ. Между первой и второй ступенями осуществляются операции поворота путем умножения на поворачивающие множители timos25.wmf. Полученная последовательность на выходе СП ДПФ переставляется в соответствии с (5).

Дальнейшим шагом в повышении эффективности реализации ортогональных преобразований с использованием дискретного преобразования Фурье стал алгоритм простых множителей [17, с. 22-25]. Данный алгоритм применяется когда длина входной последовательности N представима в виде произведения взаимнопростых множителей. В этом случае обеспечивается возможность сокращения числа операций умножений, за отказа от поворачивающих множителей, используемых в (7).

Для этого производится перестановка входной последовательности согласно условия

timos26.wmf, (8)

где timos27.wmf

А перестановка выходной последовательности определяется

timos29.wmf, (9)

где timos30.wmf

При этом значения timos31.wmf и timos32.wmf задаются из следующих уравнений в соответствии с китайской теоремой об остатках

timos33.wmf, (10)

timos34.wmf. (11)

В этом случае алгоритм вычисления ДПФ представляется в виде

timos35.wmf. (12)

Таким образом, алгоритм простых множителей является способом представления одномерного ДПФ в виде многомерного, причем размерность зависит от числа простых сомножителей N. Алгоритм простых множителей имеет ступенчатую форму объединения малоточечных преобразований. При этом на первой ступени производится N1 N2 –точечных ДПФ, а на второй ступени – N2 N1 –точечных ДПФ. Отказ от выполнения поворота промежуточных результатов по первой координате позволил сократить время вычисления ДПФ более чем на 10 процентов по сравнению с алгоритмом (6).

Дальнейшее сокращение времени реализации ортогональных преобразований сигналов возможно достичь если ступенчатый характер объединения частичных малоточечных преобразований заменить вложенным [12, с. 76-78]. В некоторых работах представлен алгоритм Винограда используемый для быстрого вычисления ДПФ. Применение последнего позволяет сократить число операций умножений по сравнению с БПФ в 2-3 раза при незначительном увеличении числа сложений.

В основу алгоритма Винограда положена замена длинного преобразования ДПФ серией коротких путём построения гнездового алгоритма, аналогичному алгоритму вычисления, свёрток, и сведение коротких преобразований к циклическим свёрткам. При этом при построении гнездового алгоритма используется КТО.

Пусть дано ортогональное преобразование в поле комплексных чисел длины N, выполняемое согласно (1.1), причем N=N1N2 и НОД(N1,N2)=1. Тогда используя КТО, представим показатель kn поворачивающего коэффициента W в модулярном коде.

timos36.wmf, (13)

где timos37.wmf.

Для осуществления обратного преобразования к позиционному виду используется КТО, согласно которой

timos38.wmf. (14)

где timos39.wmf.

Тогда ДПФ, в модулярном коде вычисляется

timos40.wmf, (15)

где timos41.wmf.

Применение китайской теоремы об остатках позволяет перейти от вычисления одномерного ДПФ к многомерному согласно выражения

timos42.wmf. (16)

Выражение (16) соответствует определению двумерного ДПФ с ядрами timos43.wmf и timos44.wmf. Таким образом, гнездовой алгоритм Винограда сводит вычисление одномерного ДПФ к двухмерному, если строки и столбцы матрицы преобразования и исходных данных представить в соответствии с КТО. При этом вычисление ДПФ проводится в 3 этапа:

1) переставляются строки и столбцы матрицы ДПФ и отсчётов последовательности xi(n) в соответствии с КТО.

2) выполняется двумерное ДПФ, соответствующее внутренней сумме выражения (16)

3) результаты внутреннего преобразования, являются вектором над которыми выполняется внешнее ДПФ, соответствующее внешней сумме (16).

Оптимальные алгоритмы для вычисления малоточечных ДПФ при N≤16 приведены в работе [13, с. 71-73]. Гнездование этих алгоритмов позволяет эффективно осуществлять вычисления ДПФ длинных последовательностей.

Если положить, что значение N=N1, N2,…Ni, где НОД (Ni,Nj)=1, то тогда вычисление ДПФ по алгоритму Винограда сводиться к вычислению малоточечных преобразований размером Ni, i =1,2, … d. При этом если для реализации преобразований размера Ni потребуется Mi комплексных умножений и Ai комплексных сложений соответственно равно

timos47.wmf, (17)

timos48.wmf (18)

Очевидно, что число сложений (18) зависит от порядка выполнения операций. Поэтому наиболее оптимальным считается такой порядок, при котором количество операций минимально.

Рассмотренные алгоритмы ускоренного вычисления ортогональных преобразований сигналов, связанные с применением быстрых алгоритмов ДПФ, являются распространенными и универсальными способами сокращения объема вычислений. Однако при их использовании вычисления выполняются с трансцендентными (тригонометрическими) функциями, что приводит к накоплению аддитивных погрешностей при увеличении размерностей задачи [15, с. 23-24, 16, с. 22-23]. Более того, для реализации БПФ требуется двухканальный вычислитель для обработки действительной и мнимых частей сигнала, что требует значительных схемных затрат, и в конечном итоге приводит к резкому снижению надежности всей вычислительной системы. Поэтому для уменьшения среднеквадратической погрешности вычислений и повышению надежности функционирования СП ЦОС целесообразно обратить внимание на группу алгоритмов цифровой обработки сигналов, в которой бы не используются операции поля комплексных чисел [18].