Текст подпрограммы и версий ( Фортран )
ftftc.zip
Тексты тестовых примеров ( Фортран )
tftftc.zip
Текст подпрограммы и версий ( Си )
ftftc_c.zip
Тексты тестовых примеров ( Си )
tftftc_c.zip
Текст подпрограммы и версий ( Паскаль )
ftftc_p.zip
Тексты тестовых примеров ( Паскаль )
tftftc_p.zip

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

Назначение

Вычисление двумерного дискретного или обратного дискретного преобразования Фурье комплексной матрицы размера  N1 на N2,  N1 = 2 J1,  N2 = 2 J2 методом быстрого преобразования Фурье.

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

Комплексная матрица  A размера  N1 на N2, заданная массивами своих действительных и мнимых частей, преобразуется в комплексную матрицу  C размера  N1 на N2 по формуле

                       N1-1      N2-1            
        C r1, r2  =  ∑         ∑   A n1, n2  e ± 2π i (n1 r1 / N1 + n2 r2 / N2) ,
                      n1=0      n2=0

            r1 = 0, 1, ..., N1 - 1,     r2 = 0, 1, ..., N2 - 1 , 

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

Матрица  C задается массивами действительных и мнимых частей своих элементов и получается на месте матрицы  A.

B вычислениях используется метод быстрого преобразования Фурье. При больших  N1, N2 число операций пропорционально  N1*N2 (log2N1 + log2N2). Данная подпрограмма подробно описана в [1, стp. 45] под именем  FFT2.

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

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

    SUBROUTINE  FTFTC (ARE, AIM, N1, N2, P) 

Параметры

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

Версии: нет

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

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

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

  1. 

Размерности преобразуемой матрицы должны быть целой степенью двух  N1 = 2 J1 ,  N2 = 2 J2 ,  где  J1, J2 - целые;  N1 ≥ 4 ,  N2 ≥ 4 .

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

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

      DIMENSION  ARE(4, 4), AIM(4, 4)
      DO 1  I = 1, 4
      DO 1  J = 1, 4
      ARE(I, J) = 4. * I + J - 4.
   1 AIM(I, J) = 0
      N1 = 4
      N2 = 4
      P = 1
      CALL  FTFTC (ARE, AIM, N1, N2, P)

Результаты:

                    |  136.   -8.   -8.   -8.  |
                    |  -32.     0.     0.    0.  |
      ARE  =  |  -32.     0.     0.    0.  |
                    |  -32.     0.     0.    0.  |

                    |    0.     8.    0.   -8.  |
                    |   32.    0.    0.     0.  |
      AIM  =  |    0.      0.    0.    0.  |
                    |  -32.    0.    0.    0.  |