Previous Next Contents Generated Index Doc Set Home



Initialize EZ Fourier Transform and Synthesis

The subroutine described in this section initializes the array WSAVE, which is used in both EZFFTF and EZFFTB.

Calling Sequence

CALL EZFFTI 
(N, WSAVE)






void ezffti 
(int n, float *wsave)

Arguments

N

Length of the sequence to be transformed. N 0.

WSAVE

On entry, an array with a dimension of at least (3 × N + 15). The same work array can be used for both EZFFTF and EZFFTB as long as N remains unchanged. Different WSAVE arrays are required for different values of N. This initialization does not have to be repeated between calls to EZFFTF or EZFFTB as long as N and WSAVE remain unchanged, thus subsequent transforms can be obtained faster than the first.

Sample Program

 
      PROGRAM TEST
      IMPLICIT NONE
C
      INTEGER          N
      PARAMETER       (N = 9) 
C
      INTEGER          I
      REAL             A(N), B(N), AZERO, PI, R(N)
      REAL             WSAVE(3 * N + 15) 
C
      EXTERNAL         EZFFTB, EZFFTF, EZFFTI
      INTRINSIC        ACOS, COS, SIN
C
C     Initialize array to a sequence of real numbers.  
C
      PI = ACOS (-1.0)
      DO 100, I=1, N
        R(I) = 3.0 + SIN ((I - 1.0) * 2.0 * PI / N)  + 
     $         4.0 * COS ((I - 1.0) * 8.0 * PI / N) 
  100 CONTINUE
C
      CALL EZFFTI (N, WSAVE)
      PRINT 1000 
      PRINT 1010, (R(I), I = 1, N)
      CALL EZFFTF (N, R, AZERO, A, B, WSAVE)
      PRINT 1020, AZERO
      PRINT 1030 
      PRINT 1010, (A(I), I = 1, N) 
      PRINT 1040 
      PRINT 1010, (B(I), I = 1, N)
      CALL EZFFTB (N, R, AZERO, A, B, WSAVE)
      PRINT 1050 
      PRINT 1010, (R(I), I = 1, N)
C
 1000 FORMAT (1X, 'Original Sequence: ')
 1010 FORMAT (100(F6.1, 1X))
 1020 FORMAT (1X, 'Azero = ' F4.1)
 1030 FORMAT (1X, 'A =  ')
 1040 FORMAT (1X, 'B = ')
 1050 FORMAT (1X, 'Recovered Sequence: ')
C
      END
 

Sample Output

 
 Original Sequence: 
   7.0   -0.1    7.0    1.9    4.0    3.4    0.1    5.1   -1.4
 Azero =  3.0
 A =  
   0.0    0.0    0.0    4.0    0.0    0.0    0.0    0.0    0.0
 B = 
   1.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0    0.0
 Recovered Sequence: 
   7.0   -0.1    7.0    1.9    4.0    3.4    0.1    5.1   -1.4






Previous Next Contents Generated Index Doc Set Home