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

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

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

Аннотация научной статьи по математике, автор научной работы — Алмазова Гулшат Мырадовна, Рахманбердийев Шамухаммет Баймухаммедович

В работе рассматриваются быстрые алгоритмы дискретного преобразования Фурье. Данные алгоритмы позволяют снизить вычислительную сложность обычного дискретного преобразования Фурье.

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

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

НАУЧНЫЙ ЖУРНАЛ

НАУКА И МИРОВОЗЗРЕНИЕ

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

Алмазова Гулшат Мырадовна

Старший преподаватель Туркменский государственный архитектурно-строительный институт г. Ашхабад Туркменистан

Рахманбердийев Шамухаммет Баймухаммедович

Преподаватель Туркменский государственный архитектурно-строительный институт г. Ашхабад Туркменистан

В работе рассматриваются быстрые алгоритмы дискретного преобразования Фурье. Данные алгоритмы позволяют снизить вычислительную сложность обычного дискретного преобразования Фурье.

Введение

Пусть V = (VI, г = 0,..,п-1} обозначает вектор с вещественными или комплексными компонентами.

Определение. Преобразованием Фурье вектора V называется вектор V длины п с комплексными компонентами, задаваемыми равенствами

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

Для построения алгоритма предполагается, что п = П1П2. В выражении для преобразования Фурье произведем следующую замену записи индексов: г = ¡1 + П1/2 11 = 0,..,П1-1 ¡2 = 0,..,П2-1

к = П2^1 + к2 к1 = 0,..,щ-1 к2 = 0,..,П2-1

Подставим новые обозначения в исходную формулу преобразования:

■п-1

где:

Определим двумерные переменные для удобства записи формул:

0)711 = У и 0)112 = Р-

Раскроем скобки в показателе степени и положим внимание, что ^ —О) — 1.

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

Также примем во

Дискретное преобразование Фурье по алгоритму Кули-Тьюки требует не более п*(п + П2 + 1) комплексных умножений и п*(п + П2 - 2) комплексных сложений. В общем случае количество умножений и сложений можно записать следующим образом: Мс(п) = щМс(и2) + И2Мс(т) + п

Ас(п) = щЛс(П2) + П2Ас(П1)

Так, например, для п = 1000 (учитывая, что Мс(2) = 0, Мс(5) = 10): Мс(1000) = 2Мс(500) + 500Мс(2) + 1000 = 2Мс(500) + 1000 = 11000

Таким образом, алгоритм Кули-Тьюки дает выигрыш по количеству умножений в 1000000/11000 ~ 91 раз.

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

порядку в таблицу щ на П2 слева направо, сверху вниз. Вычисления состоят из П2-точечного

Д11Ф каждого столбца, поэлементного умножения всех элементов таблицы соответственно / 1 ^ 1 ^ 2

на и «1-точечного Д11Ф для каждой строки.

Алгоритм Кули-Тьюки в случае, когда п = 2т

Если т = 2, а т = 2111"1, то алгоритм называют алгоритмом Кули-Тьюки по основанию два с

прореживанием по времени. Используя тот факт, что $ ^ уравнения,

задающие БПФ, можно записать в следующем виде:

к = 0,..,п/2 - 1

Если щ = 2т-1, а п2 = 2, то алгоритм называют алгоритмом Кули-Тьюки по основанию два с прореживанием по частоте. Уравнения БПФ в этом случае преобразуются к виду:

Число Мс(п) комплексных умножений п-точечного БПФ удовлетворяет уравнению Мс(п) = 2Мс(п/2) + п/2, а число Ас(п) комплексных сложений удовлетворяет уравнению Ас(п) = 2Ас(п/2) + п. Решения этих уравнений даются равенствами Мс(п) = (п/2) 1о§2п, Ас(п) = п 1о§2п

Алгоритм Гуда-Томаса

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

Это правило представляет собой отображение индекса i на расширенную диагональ двумерной таблицы, элементы которой занумерованы парами индексов (ii, i2). Из теории чисел известно, что для чисел ni и П2 существуют такие целые числа Ni и N2, что Nini + Nn = НОД(п1, П2). Если ni и П2 взаимно просты, то, согласно китайской теореме об остатках

i = iiNn + iNini (mod n).

Пусть ki = N2k (mod ni), k2 = Nik (mod n2). Тогда выходные индексы вычисляются по правилу k = n2ki + nik2 (mod n).

В этих новых индексных обозначениях формула преобразуется к виду

Пд -1 п± -1

ii = i (mod ni),

i2 = i (mod n2)

^ W 3! "«аjvyz ■'"a*V

(i , JV2n2+ i г JVhUh Xn2 к+Пч к 2)

i-iN^n^+UN, п.

i2=0 i±=0

Раскроем скобки в показателе степени

И1 - 1 - 1

~ 1 - 1

I, -о и=о

¿1= О ¿я=0

Если длина п преобразования раскладывается в произведение простых множителей т, то описанная форма БПФ-алгоритма требует примерно ^ 2 умножений и столько же сложений. Например, для п = 1000 = 2*2*2*5*5*5 число умножений Мс(1000) = 1000*(2+2+2+5+5+5) = 21000, что дает выигрыш по количеству операций умножения в 1000000/21000 ~ 48 раз. Заключение

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

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