Текст подпрограммы и версий ( Фортран )
ftfsc.zip
Тексты тестовых примеров ( Фортран )
tftfsc.zip
Текст подпрограммы и версий ( Си )
ftfsc_c.zip
Тексты тестовых примеров ( Си )
tftfsc_c.zip
Текст подпрограммы и версий ( Паскаль )
ftfsc_p.zip
Тексты тестовых примеров ( Паскаль )
tftfsc_p.zip

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

Назначение

Вычисление дискретного или обратного дискретного преобразования Фурье комплексного ряда длины  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