Научная статья на тему 'О модификации быстрого одномерного преобразования Фурье по алгоритму Кули-Тьюки'

О модификации быстрого одномерного преобразования Фурье по алгоритму Кули-Тьюки Текст научной статьи по специальности «Математика»

CC BY
1469
476
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРЕОБРАЗОВАНИЕ ФУРЬЕ / БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ (БПФ) / АЛГОРИТМ БПФ КУЛИ-ТЬЮКИ / ПРОГРАММИРУЕМАЯ ЛОГИЧЕСКАЯ ИНТЕГРАЛЬНАЯ СХЕМА (ПЛИС) / FAST FOURIER TRANSFORM (FFT) / PROGRAMMABLE LOGIC DEVICE (PLD) / MATLAB / FOURIER TRANSFORM / COOLEY-TUKEY FFT ALGORITHM

Аннотация научной статьи по математике, автор научной работы — Сидорова Т. В., Зыкова Т. В., Сафонов К. В.

Рассматривается один из методов нахождения дискретного преобразования Фурье, позволяющий уменьшить затраты машинного времени на вычисления по сравнению с классическим алгоритмом. Быстрые алгоритмы вычисления преобразования Фурье очень востребованы и актуальны, они имеют множество приложений в задачах цифровой обработки одномерных и многомерных сигналов, обработки различных изображений, например космоснимков. Общепринятый алгоритм представляет собой последовательное вычисление одномерного дискретного преобразования Фурье по строкам и столбцам. Существуют различные методы ускорения данного алгоритма, один из которых и реализован в данной статье. Представлена программная реализация модифицированного алгоритма по аналогу Кули-Тьюки дискретного преобразования Фурье для одномерного сигнала с числом отсчетов p · 2 s, p, s N. Для данного алгоритма была разработана программа в системе компьютерной математики MATLAB. Она протестирована на наборе, состоящем из 16384 отсчетов одномерного сигнала. При выполнении программы производится также сравнение времени ее выполнения со временем, затрачиваемым встроенным алгоритмом вычисления быстрого преобразования Фурье. В результате, среднее время выполнения программы по модифицированному алгоритму дает выигрыш около 20 % по времени. Кроме того, приводится общее описание алгоритма дискретного преобразования Фурье, обозначены возможности для увеличения скорости выполнения вычислений, рассматривается модифицированный алгоритм по аналогу Кули-Тьюки быстрого преобразования Фурье для одномерных и многомерных сигналов.

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

Похожие темы научных работ по математике , автор научной работы — Сидорова Т. В., Зыкова Т. В., Сафонов К. В.

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

ABOUT MODIFICATION OF ONE-DIMENSIONAL FAST FOURIER TRANSFORM ON ALGORITHM OF COOLEY-TUKEY

In the present paper we give the description a method of finding the discrete Fourier Transform, which allows to reduce the cost of computer time to calculate compared to the classical algorithm. Fast algorithms for calculating the Fourier transform are very relevant and actual, they have many applications in problems of digital processing of one-dimensional and multi-dimensional signal and processing of different images, for example, satellite images. A common algorithm is a sequential calculation of the one-dimensional Discrete Fourier Transform by rows and columns. There are various methods of acceleration of the algorithm, one of which is implemented in this article. It is presented the software implementation of the modified algorithm of Cooley-Tukey analog for the Discrete Fourier Transform for the one-dimensional signal with the number of counts p · 2 s, p, s N. For this algorithm, we developed a program in the computer algebra system MATLAB. It has been tested on a set consisting of a 16384 counts of one-dimensional signal. The time of calculations for the classical algorithm and for modified algorithm of Fast Fourier Transform is carried out. As a result, the average computer time for the modified algorithm gives about 20 % time reduction. In addition, in the article it is provided a general description of the Discrete Fourier Transform algorithm and indicated opportunities for increasing of the speed of computing. Also, it is considered a modified algorithm of Cooley-Tukey analog for the Fast Fourier Transform of one-dimensional and multidimensional signals.

Текст научной работы на тему «О модификации быстрого одномерного преобразования Фурье по алгоритму Кули-Тьюки»

УДК 519.677

Вестник СибГАУ Т. 16, № 2. С. 360-363

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

ПО АЛГОРИТМУ КУЛИ-ТЬЮКИ

Т. В. Сидорова1, Т. В. Зыкова1*, К. В. Сафонов2

1 Сибирский федеральный университет, Институт космических и информационных технологий

Российская Федерация, 660074, г. Красноярск, ул. Киренского, 26 2Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнёва Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

E-mail: zykovatv@mail.ru

Рассматривается один из методов нахождения дискретного преобразования Фурье, позволяющий уменьшить затраты машинного времени на вычисления по сравнению с классическим алгоритмом. Быстрые алгоритмы вычисления преобразования Фурье очень востребованы и актуальны, они имеют множество приложений в задачах цифровой обработки одномерных и многомерных сигналов, обработки различных изображений, например космоснимков. Общепринятый алгоритм представляет собой последовательное вычисление одномерного дискретного преобразования Фурье по строкам и столбцам. Существуют различные методы ускорения данного алгоритма, один из которых и реализован в данной статье. Представлена программная реализация модифицированного алгоритма по аналогу Кули-Тьюки дискретного преобразования Фурье для одномерного сигнала с числом отсчетов p • 2s, p, s e N. Для данного алгоритма была разработана программа в системе компьютерной математики MATLAB. Она протестирована на наборе, состоящем из 16384 отсчетов одномерного сигнала. При выполнении программы производится также сравнение времени ее выполнения со временем, затрачиваемым встроенным алгоритмом вычисления быстрого преобразования Фурье. В результате, среднее время выполнения программы по модифицированному алгоритму дает выигрыш около 20 % по времени. Кроме того, приводится общее описание алгоритма дискретного преобразования Фурье, обозначены возможности для увеличения скорости выполнения вычислений, рассматривается модифицированный алгоритм по аналогу Кули-Тьюки быстрого преобразования Фурье для одномерных и многомерных сигналов.

Ключевые слова: преобразование Фурье, быстрое преобразование Фурье (БПФ), алгоритм БПФ Кули-Тьюки, MATLAB, программируемая логическая интегральная схема (ПЛИС).

Vestnik SibGAU Vol. 16, No. 2, P. 360-363

ABOUT MODIFICATION OF ONE-DIMENSIONAL FAST FOURIER TRANSFORM ON ALGORITHM OF COOLEY-TUKEY

T. V. Sidorova1, T. V. Zykova1*, K. V. Safonov2

1 Siberian Federal University, Institute of Space and Informatics Technologies 26, Kirenskogo Str., Krasnoyarsk, 660079, Russian Federation 2Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: zykovatv@mail.ru

In the present paper we give the description a method of finding the discrete Fourier Transform, which allows to reduce the cost of computer time to calculate compared to the classical algorithm. Fast algorithms for calculating the Fourier transform are very relevant and actual, they have many applications in problems of digital processing of one-dimensional and multi-dimensional signal and processing of different images, for example, satellite images. A common algorithm is a sequential calculation of the one-dimensional Discrete Fourier Transform by rows and columns. There are various methods of acceleration of the algorithm, one of which is implemented in this article.

It is presented the software implementation of the modified algorithm of Cooley-Tukey analog for the Discrete Fourier Transform for the one-dimensional signal with the number of counts p • 2s, p, s e N. For this algorithm, we developed a program in the computer algebra system MATLAB. It has been tested on a set consisting of a 16384 counts of one-dimensional signal. The time of calculations for the classical algorithm and for modified algorithm of Fast Fourier Transform is carried out. As a result, the average computer time for the modified algorithm gives about 20 % time reduction. In addition, in the article it is provided a general description of the Discrete Fourier Transform algorithm

and indicated opportunities for increasing of the speed of computing. Also, it is considered a modified algorithm of Cooley-Tukey analog for the Fast Fourier Transform of one-dimensional and multidimensional signals.

Keywords: Fourier Transform, Fast Fourier Transform (FFT), Cooley-Tukey FFT algorithm, MATLAB, programmable logic device (PLD).

Введение. Дискретное преобразование Фурье (ДПФ), одномерное и многомерное, имеет множество приложений в задачах цифровой обработки сигналов, например, ДПФ можно использовать для спектрального анализа многомерных сигналов, для обработки космоснимков. Общепринятый алгоритм, который лежит во всех стандартных пакетах обработки сигналов, представляет собой последовательное вычисление одномерного дискретного преобразования Фурье, так называемый алгоритм «по строкам, по столбцам». Существуют различные методы ускорения данного алгоритма - быстрое преобразование Фурье. Самой распространенной реализацией быстрого преобразования Фурье является алгоритм Кули-Тьюки. Модификации данного алгоритма позволяют сократить время выполнения вычислений быстрого преобразования Фурье. Увеличение скорости выполнения алгоритма можно получить путем изменения основания алгоритма Кули-Тьюки: вместо основания 2 берут 4, 8, 16 и т. д., а также использованием параллельных вычислений.

В работе создана программа в среде МЛТЬЛБ модифицированного алгоритма Кули-Тьюки для сигнала с числом отсчетов р • Т, р, s е N. Число операций в этом алгоритме меньше, чем при непосредственном вычислении дискретного преобразования Фурье, что позволило сократить время выполнения программы по сравнению со встроенным алгоритмом [1-3].

Быстрое преобразование Фурье на основе модифицированного алгоритма Кули-Тьюки. Дискретное преобразование Фурье периодического дискретного сигнала х(п) с периодом N определяется как

X (k) = £ x(n)e

2m —n

N

k = 0, 1,

N -1.

(1)

Функция X (к) является периодической функцией по аргументу к с периодом N. Дискретное преобразование Фурье представляет собой N отсчетов спектра, взятых на периоде с интервалом дискретизации 2%

по частоте, равным -. Для больших значений N

N7

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

Быстрым преобразованием Фурье называют набор алгоритмов, реализация которых приводит к существенному уменьшению вычислительной сложности дискретного преобразования Фурье [4]. Основная идея быстрого преобразования Фурье состоит в том, чтобы разбить исходный ^отсчетный сигнал х(п) на два более коротких сигнала, ДПФ которых могут быть скомбинированы таким образом, чтобы получить ДПФ исходного ^отсчетного сигнала. Так, если

N

исходный ^отсчетный сигнал разбить на два — -отсчетных сигнала, то для вычисления ДПФ каждого

из них потребуется около

N

комплексных умно-

жений. Тогда для вычисления искомого ^отсчетного

( N V N2

ДПФ потребуется порядка 21 — I = —— комплексных умножений, т. е. вдвое меньше по сравнению с прямым вычислением. Операцию разбиения можно

( N ^

повторить, вычисляя вместо I — I -отсчетного ДПФ

два

N

-отсчетных ДПФ и сокращая тем самым

объем вычислений еще в два раза. Существует большое количество алгоритмов БПФ, однако все они являются частными случаями единого алгоритма, базирующегося на задаче разбиения одного массива чисел на два. Наиболее распространенным алгоритмом является алгоритм Кули-Тьюки [5] и его аналоги [6-9].

Алгоритм Кули-Тьюки по основанию 2 работает следующим образом. В этом случае количество отсчетов в выборке функции должно быть кратно степени 2. Выборка делится пополам, далее каждая половина делится на две части. Продолжается данный процесс до тех пор, пока не останутся два элемента, для которых реализуется преобразование Фурье. Таким образом, при вычислении одномерного дискретного преобразования Фурье длиной N необходи-N

мо выполнить — • N двухточечных ДПФ, каждое

из которых требует одно комплексное умножение и два комплексных сложения.

Двумерное разбиение по основанию 2 делит вы-

N N

борку N х N элементов на четыре выборки — х —

элементов и т. д. до тех пор, пока не останутся выборки 2 х 2 элементов (см. рисунок).

Алгоритм двумерного ДПФ с разбиением на строки и столбцы требует проведения 2^одномерных ДПФ, и вычислительная сложность его составляет

N2 N комплексных умножений и 2 • N2 N комплексных сложений.

Разработка различных модификаций алгоритма Кули-Тьюки в одномерном и многомерном случаях проводилась М. В. Носковым, А. В. Старовойтовым и другими исследователями в работах [10-13]. Все результаты работ направлены на уменьшение времени вычислений. Этого можно добиться путем уменьшения числа операций комплексного умножения и сложения, изменения основания алгоритма Кули-Тьюки

n=0

или распараллеливая вычисления. Кроме того, само комплексное умножение можно вычислять различным образом - через 4 действительных умножения и 2 сложения или за 3 действительных умножения и 3 действительных сложения.

Рассмотрим сигнал/ который является периодическим сигналом с периодом р • 2* (см., например, [14]). Отсчеты задаются как / где к = 0, 1, ..., р ■ 2* -1. Дискретное преобразование Фурье для данного сигнала / задается формулой

p-2s-1

F(t) = X Л<

k=0

2ni k

Разобьем данную сумму на 2s вида

сумм следующего

2s-1 p-1

F (t) = Ц f

2s-1 = X

k =o

k1=0 k2=0 P-1

X fpk1

k2 =0

pk+k2

^Tt (pk1 +k2 )

,p-2S

+k2

?p

Внешнюю сумму можно рассматривать как преобразование Фурье для сигнала с числом отсчетов 2\ для подсчета которого можно воспользоваться алгоритмом Кули-Тьюки, а внутреннюю сумму вычислить как ДПФ для сигнала с числом отсчетов р. Тогда общее число операций в полученном алгоритме соста-

вит p • 2s • s комплексных сложений и p • 2s • — ком -

2

плексных умножений.

Модифицированный одномерный алгоритм БПФ по аналогу Кули-Тьюки в MATLAB. Описанный алгоритм был реализован в виде программы в системе компьютерной математики MATLAB и протестирован на наборе, состоящем из 16384 отсчетов сигнала. Время выполнения программы сравнивалось со временем, потраченным на вычисление ДПФ с помощью встроенного алгоритма среды MATLAB. В таблице приведены данные выполнения модифицированного алгоритма и встроенной версии, программа тестировалась на виртуальной машине со следующими параметрами: AMD Phenom X2 3.2GHz, 2 Gb ОЗУ. Время выполнения сократилось в среднем на 20 %. Разработанная программа была зарегистрирована [15].

Заключение. Представлена реализация модифицированного алгоритма по аналогу Кули-Тьюки дискретного преобразования Фурье для одномерного сигнала с числом отсчетов p • 2s. Для данного алгоритма была разработана программа в системе компьютерной математики MATLAB. Авторы ставили перед собой задачу реализации модифицированного одномерного алгоритма БПФ по аналогу Кули-Тьюки именно в MATLAB, так как для реализации цифровой обработки сигналов радиоприемных устройств на практике часто используют программное обеспечение фирмы Xilinx (LogiCORE IP Fast Fourier Transform), где БПФ реализовано по алгоритму Кули-Тьюки в MATLAB.

0 N/4 N/2 N

0 ■■■;■-

N/4 ---

N/2 ---

N

Схема прореживания двумерного ДПФ по основанию 2

Время выполнения модифицированного алгоритма и встроенного алгоритма Кули-Тьюки в МЛТЬЛБ

Модифицированный алгоритм Встроенный алгоритм

2,063 2,634

2,004 2,523

2,025 2,484

2,013 2,582

2,053 2,404

1,996 2,353

2,014 2,634

Дальнейшую перспективу работы авторы статьи видят в проведении сравнительного анализа разработанного алгоритма в среде MATLAB с другими алгоритмами, описанными в недавних работах современных исследователей.

Благодарности. Второй автор поддержан грантом Министерства образования и науки Российской Федерации № 1.1462.2014/K.

Acknowledgments. The second author was supported by grant of the Ministry of Education and Science of the Russian Federation № 1. 1462.2014/K.

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

Библиографические ссылки

1. Даджион Д., Мерсеро Р. Цифровая обработка многомерных сигналов. М. : Мир, 1988. 488 c.

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

3. Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов. М. : Связь, 1979. 416 с.

4. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М. : Техносфера, 2005. 1072 с.

5. Cooley J. W., Tukey J. An algorithm for the machine calculation of complex Fourier series // Math. Comput. 1965. Vol. 19, No. 90. P. 297-301.

6. Rudnick P. Note on the calculation of fourier series // Math. Comp. 1966. Vol. 20, No. 3. P. 429-430.

7. Danielson G. C., Lanczos C. Some improvements in practical fourier analysis and their application to x-ray scattering from liquids // J. Franklin Inst. 1942. Vol. 233, No. 4. P. 365-380.

8. Heideman M. T., Johnson D. H., Burrus C. S. Gauss and the history of the fast fourier transform // The ASSP Magazine. 1984. Vol. 1, No. 4. P. 14-21.

9. Cooley J. W., Lewis P. A., Welch P. D. An algorithm for the machine calculation of complex fourier series // IEEE Trans. Audio Electroacoustics. 1967. Vol. 15, No. 2. P. 76-79.

10. Старовойтов А. В. О многомерном аналоге алгоритма Кули-Тьюки // Вестник СибГАУ. 2010. Т. 27, № 1. С. 69-73.

11. Киселев О. И., Кольцова И. В., Тутатчиков В. С. Схема параллельного вычисления одномерного быстрого преобразования Фурье // Наука и образование в XXI веке : материалы Междунар. науч.-практ. конф. (30 сент. 2013, г. Тамбов) : в 8 ч. / Институт повышения квалификации. Тамбов, 2013. С. 140-141.

12. Tutatchikov V. S., Kiselev O. I., Noskov M. V. Calculating the n-Dimensional Fast Fourier Transform // Pattern Recognition and Image Analysis. 2013. Vol. 23, No. 3. P. 429-433.

13. Noskov M. V., Tutatchikov V. S. Modification of a two-dimensional fast fourier transform algorithm for a rectangle signal // Pattern Recognition and Image Analysis. 2015. Vol. 25, No. 1. P. 81-83.

14. Малоземов В. П., Машарский С. М. Основы дискретного гармонического анализа. СПб. : НИИММ, 2003. 304 c.

15. Программа для вычисления одномерного быстрого преобразования Фурье на основе модифицированного алгоритма Кули-Тьюки : свидетельство о гос. регистрации программы для ЭВМ / Т. В. Сидорова, Т. В. Зыкова ; Роспатент. № 2014661701 РФ ; заявл. 19.09.2014 (заявка № 2014619428) ; зарег. 11.11.2014.

References

1. Dadzhion D., Mersero R. Tsifrovaya obrabotka mnogomernykh signalov [Digital processing of multidimensional signals]. Moscow, Mir Publ., 1988, 488 p.

2. Bleynut R. Bystrye algoritmy tsifrovoi obrabotki signalov [Fast algorithms of digital processing of signals]. Moscow, Mir Publ., 1989, 448 p.

3. Oppengeym A. V., Shafer R. V. Tsifrovaya obrabotka signalov [Digital processing of signals]. Moscow, Svyaz Publ., 1979, 416 p.

4. Gonsalez R., Woods R. Tsifrovaya obrabotka izo-brazhenii [Digital processing of images]. Moscow, Tehnosfera Publ., 2005, 1072 p.

5. Cooley J. W., Tukey J. An algorithm for the machine calculation of complex Fourier series. Math. Comput. 1965, Vol. 19, No. 90, P. 297-301.

6. Rudnick P. Note on the calculation of fourier series. Math. Comp. 1966, Vol. 20, No. 3, P. 429-430.

7. Danielson G. C., Lanczos C. Some improvements in practical fourier analysis and their application to x-ray scattering from liquids. J. Franklin Inst. 1942, Vol. 233, No. 4, P. 365-80.

8. Heideman M. T., Johnson D. H., Burrus C. S. Gauss and the history of the fast fourier transform. The ASSP Magazine. 1984, Vol. 1, No. 4, P. 14-21.

9. Cooley J. W., Lewis P. A., Welch P. D. An algorithm for the machine calculation of complex fourier series. IEEE Trans. Audio Electroacoustics. 1967, Vol. 15, No. 2, P. 76-79.

10. Starovoitov A. V. [About multidimensional analog of algorithm of Cooley-Tukey]. Vestnik SibGAU. 2010, No. 1 (27), P. 69-73 (In Russ.).

11. Kiselev O. I., Kolthova I. V., Tutatchikov V. S. [Scheme of parallel calculation of one-dimensional fast fourier transformation]. MaterialyXVMezhdunar. nauch. konf. "Nauka i obrazovanie v XXI veke" [Materials Intern. Scientific. Conf "Science and education in the XXI century"]. Tambov, 2013, P. 140-141 (In Russ.).

12. Tutatchikov V. S., Kiselev O. I., Noskov M. V. Calculating the n-Dimensional Fast Fourier Transform. Pattern Recognition and Image Analysis. 2013, Vol. 23, No. 3, P. 429-433.

13. Noskov M. V., Tutatchikov V. S. Modification of a two-dimensional fast fourier transform algorithm for a rectangle signal. Pattern Recognition and Image Analysis. 2015, Vol. 25, No. 1, P. 81-83.

14. Malozemov V. P., Masharsky S. M. Osnovy diskretnogo garmonicheskogo analiza [Bases of the discrete harmonious analysis]. St. Peterburg, NIIMM Publ., 2003, 304 p.

15. Sidorova T. V., Zykova T. V. Programma dlya vychisleniya odnomernogo bystrogo preobrazovaniya Fur'e na osnove modifitsirovannogo algoritma Kuli-T'yuki [The program for calculation of one-dimensional fast Fourier transformation on the basis of the modified algorithm of Cooley-Tukey]. Certificate on the state registration of the computer program No. 2014661701 of the Russian Federation, dem. 19.09.2014 (demand No. 2014619428), registration 11.11.2014 Rospatent.

© Сидорова Т. В. Зыкова Т. В., Сафонов К. В., 2015

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