Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ezfftb(3P) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

ezfftb(3P)

NAME

ezfftb - computes a periodic sequence from its Fourier coefficients.  EZFFTB is a simplified but slower version of RFFTB. 

SYNOPSIS

SUBROUTINE EZFFTB (N, R, AZERO, A, B, WSAVE)

 

#include <sunperf.h>

void ezfftb (int n, float ∗r, float ∗azero, float ∗a, float ∗sb, float ∗wsave) ;

ARGUMENTS

N Length of the sequence to be synthesized.  The method is most efficient when N is the product of small primes.  N >= 0. 

R On exit, the Fourier synthesis of the inputs.  AZEROThe constant Fourier coefficient A0. 

A, BArrays that contain the remaining Fourier coefficients.  On exit, these arrays are unchanged. 

WSAVE On entry, an array with dimension of at least (3 ∗ N + 15), initialized by EZFFTI. 

SAMPLE PROGRAM

 
      PROGRAM TEST
      IMPLICIT NONE
C
      INTEGER          N
      PARAMETER       (N = 9)
C
      INTEGER          I
      REAL             A(N), B(N), AZERO, PI, R(N), 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(F4.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

SunOS 5.0  —  Last change: 10 Dec 1998

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026