Чирп-алгоритм

Материал из testwiki
Версия от 12:04, 27 июня 2023; imported>Anapatakan (ближе к источнику)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Чирп-алгоритм (алгоритм Блюстейна) — алгоритм вычисления быстрого преобразования Фурье, заключающийся в сведении вычисления дискретного преобразования Фурье к вычислению свёртки.

Для n, ω=e2πin, β=ω12 формула алгоритма выводится из формулы для дискретного преобразования Фурье сигнала x к сигналу X следующим образомШаблон:Sfn:

X(k)=j=0n1x(j)ωkj=j=0n1x(j)β2kj=βk2j=0n1β(jk)2(βj2x(j)),k=0,,n1.

С использованием обозначений a(j)=x(j)βj2, b(j)=βj2 можно переписать эту формулу в более компактном виде:

X(k)=b*(k)(a*b),k=0,,n1.

Здесь верхний индекс * означает комплексное сопряжение, а символ * — свёртку. Величины b(j) называются чирпом (Шаблон:Lang-en).

Алгоритм содержит n-точечную свёртку, вычисление которой требует O(n2) операций, и 2n дополнительных умножений, то есть полное число операций имеет порядок O(n2), поэтому алгоритм Блюстайна асимптотически не эффективнее прямого вычисления преобразования Фурье. Однако в некоторых приложениях он допускает более простую аппаратурную реализацию. Более того, прямое вычисление свёртки можно заменить быстрыми алгоритмамиШаблон:Sfn.

Примечания

Шаблон:Примечания

Литература