Текст подпрограммы и версий ( Фортран )
ftflc.zip
Тексты тестовых примеров ( Фортран )
tftflc.zip
Текст подпрограммы и версий ( Си )
ftflc_c.zip
Тексты тестовых примеров ( Си )
tftflc_c.zip
Текст подпрограммы и версий ( Паскаль )
ftflc_p.zip
Тексты тестовых примеров ( Паскаль )
tftflc_p.zip

Подпрограмма:  FTFLC

Назначение

Вычисление  L = 2 J последовательных коэффициентов прямого или обратного дискретного преобразования Фурье комплексного ряда длины  K * L с использованием метода быстрого преобразования Фурье.

Математическое описание

Пусть  N - длина преобразуемого комплексного ряда  A pавна  K * L, где  K - целое, а  L - целая степень двух. Вычисляются  L последовательных (начиная с номеpа  M * L,  M - задано,  0 ≤ М ≤ К - 1) коэффициентов Фурье ряда  A, то есть, ряд  А преобразуется в комплексный ряд  X длины  L по формуле:

                  N-1             
        X r  =  ∑   A n*W n (ML + r)  ,    r = 0, 1, ..., L - 1  ,
                  n=0 

где  W = e- 2π i / N для дискретного преобразования Фурье  W = e2π i / N для обратного дискретного преобразования Фурье. B вычислениях используется метод быстрого преобразования Фурье.

При больших  N число операций пропорционально  N * (1 + log2L). Данная подпрограмма подробно описана в [1, стp. 39] под именем  FFTL. Подпрограмма может использоваться, например, для выделения гармонических составляющих в некотоpом диапазоне частот.

1.  В.А.Морозов, Н.Н.Кирсанова, А.Ф.Сысоев. Комплекс алгоритмов быстрого преобразования Фурье дискретных рядов. Сб. "Численный анализ на ФОРТРАНе", вып. 15, Изд. МГУ, 1976.

Использование

    SUBROUTINE  FTFLC (ARE, AIM, N, L, P, M, XRE, XIM) 

Параметры

         ARE -
         AIM  
вещественные массивы длины  N, компоненты которых являются соответственно действительными и мнимыми частями элементов преобразуемого комплексного ряда  A;
N - заданная длина преобразуемого ряда  A (тип: целый);
L - заданное число вычисляемых коэффициентов Фурье, целая степень двух, делитель  N (тип: целый);
M - заданный параметр, определяющий номеp первого вычисляемого коэффициента Фурье. Этот номеp будет pавен  M * L (тип: целый);
P - заданная вещественная переменная, признак преобразования Фурье. При  P > 0. выполняется дискретное преобразование Фурье, при  P < 0. выполняется обратное дискретное преобразование Фурье;
         XRE -
         XIM  
вещественные массивы длины  L, содержащие вычисленные соответственно действительные и мнимые части элементов преобразованного ряда.

Версии: нет

Вызываемые подпрограммы

FTF1C - вычисление дискретного или обратного дискретного преобразования Фурье комплексного ряда длины, равной целой степени двух, методом быстрого преобразования Фурье.

Замечания по использованию

  1. 

Количество  L вычисляемых коэффициентов Фурье должно быть целой степенью двух

      L = 2 J ,   J - целое ,   L ≥ 4 
  2. 

При работе подпрограммы исходная информация, расположенная в массивах ARE, AIM не сохраняется.

  3. 

Если при обращении к подпрограмме задать  P = 0., то pезультат ее работы не определен.

  4.  Результат может быть получен на месте первых  L компонент исходного ряда (вместо массивов XRE, XIM можно использовать первые  L компонент массивов ARE, AEM).

Пример использования

      DIMENSION  ARE(12), AIM(12), XRE(4), XIM(4)
      DO 1  I = 1, 12
      ARE(I) = I - 1
   1 AIM(I) = 0.0
      N = 12
      L = 4
      M = 1
      P = 1
      CALL  FTFLC (ARE, AIM, N, L, M, P, XRE, XIM)

Результаты:

      XRE(1)  =  -6.0,  XRE(2)  =  -6.0,  XRE(3)  =  -6.0,  XRE(4)  =  -6.0

      XIM(1)  =   3.464102,  XIM(2)  =  1.607695,  XIM(3)  =  0.0
      XIM(4)  =  -1.607695