Текст подпрограммы и версий ( Фортран ) ftfsc.zip |
Тексты тестовых примеров ( Фортран ) tftfsc.zip |
Текст подпрограммы и версий ( Си ) ftfsc_c.zip |
Тексты тестовых примеров ( Си ) tftfsc_c.zip |
Текст подпрограммы и версий ( Паскаль ) ftfsc_p.zip |
Тексты тестовых примеров ( Паскаль ) tftfsc_p.zip |
Вычисление дискретного или обратного дискретного преобразования Фурье комплексного ряда длины K*2M с использованием метода быстрого преобразования Фурье.
Пусть N - длина преобразуемого комплексного ряда A pавна K*L, где K - целое, а L - целая степень двух. Ряд A преобразуется в комплексный ряд X длины N по формуле:
N-1 X r = ∑ An*W n r , r = 0, 1, ..., N - 1 , n = 0
где W = e-2π i / N для дискретного преобразования Фурье и W = e2π i / N для обратного дискретного преобразования Фурье. B вычислениях используется метод быстрого преобразования Фурье. При больших N число операций пропорционально N * (N / L + log2L).
Данная подпрограмма подробно описана в [1, стp.37] под именем FFTKL.
1. | В.А.Морозов, Н.Н.Кирсанова, А.Ф.Сысоев, Комплекс алгоритмов быстрого преобразования Фурье дискретных рядов. Сб. "Численный анализ на ФОРТРАНе", вып. 15, Изд - во МГУ, 1976. |
SUBROUTINE FTFSC (ARE, AIM, N, L, P, XRE, XIM)
Параметры
ARE - AIM | вещественные массивы длины N, компоненты которых являются соответственно действительными и мнимыми частями элементов преобразуемого комплексного ряда A; |
N - | заданная длина преобразуемого ряда A (тип: целый); |
L - | заданный делитель N, целая степень двух (тип: целый); |
P - | заданная вещественная переменная, признак преобразования Фурье. При P > 0. выполняется дискретное преобразование, при P < 0. выполняется обратное дискретное преобразование Фурье; |
XRE - XIM | вещественные массивы длины N, содержащие вычисленные соответственно действительные и мнимые части преобразованного ряда. |
Версии: нет
Вызываемые подпрограммы
FTF1C - | вычисление дискретного или обратного дискретного преобразования Фурье комплексного ряда длины, равной степени двух, методом быстрого преобразования Фурье. |
Замечания по использованию
1. |
Длина преобразуемого ряда должна быть кpатна целой степени двух N = K * L ; L = 2 J ; K, L, J - целые , K ≥ 3 , L ≥ 4 | |
2. |
При работе подпрограммы исходная информация, расположенная в массивах ARE, AIM, разрушается. | |
3. | Если при обращении к подпрограмме задать P = 0., то pезультат ее работы не определен. |
DIMENSION ARE(12), AIM(12), XRE(12), XIM(12) DO 1 I = 1, 12 ARE(I) = I - 1. 1 AIM(I) = 0.0 N = 12 L = 4 P = 1. CALL FTFSC (ARE, AIM, N, L, P, XRE, XIM) Результаты: XRE = (66.0, -6., -6., -6., -6., -6., -6., -6., -6., -6., -6., -6.) XIM(1) = 0., XIM(2) = 22.3923, XIM(3) = 10.3923, XIM(4) = 6., XIM(5) = 3.4641, XIM(6) = 1.6077, XIM(7) = 0., XIM(8) = -1.6077, XIM(9) = -3.4641, XIM(10) = -6., XIM(11) = -10.3923, XIM(12) = -22.3923