Trailing-Edge
-
PDP-10 Archives
-
decus_20tap2_198111
-
decus/20-0026/drharm.doc
There are 2 other files named drharm.doc in the archive. Click here to see a list.
SUBROUTINE DRHARM
PURPOSE
FINDS THE FOURIER COEFFICIENTS OF ONE DIMENSIONAL DOUBLE
PRECISION REAL DATA
USAGE
CALL DRHARM(A,M,INV,S,IFERR)
DESCRIPTION OF PARAMETERS
A - A DOUBLE PRECISION VECTOR
AS INPUT, CONTAINS ONE DIMENSIONAL REAL DATA. A IS
2*N+4 CORE LOCATIONS, WHERE N = 2**M. 2*N REAL
NUMBERS ARE PUT INTO THE FIRST 2*N CORE LOCATIONS
OF A
AS OUTPUT, A CONTAINS THE FOURIER COEFFICIENTS
A0/2,B0=0,A1,B1,A2,B2,...,AN/2,BN=0 RESPECTIVELY IN
THE FIRST 2N+2 CORE LOCATIONS OF A
M - AN INTEGER WHICH DETERMINES THE SIZE OF THE VECTOR
A. THE SIZE OF A IS 2*(2**M) + 4
INV - A VECTOR WORK AREA FOR BIT AND INDEX MANIPULATION OF
DIMENSION ONE EIGHTH THE NUMBER OF REAL INPUT, VIZ.,
(1/8)*2*(2**M)
S - A DOUBLE PRECISION VECTOR WORK AREA FOR SINE TABLES
WITH DIMENSION THE SAME AS INV
IFERR - A RETURNED VALUE OF 1 MEANS THAT M IS LESS THAN 3 OR
GREATER THAN 20. OTHERWISE IFERR IS SET = 0
REMARKS
THIS SUBROUTINE GIVES THE FOURIER COEFFICIENTS OF 2*(2**M)
REAL POINTS. SEE SUBROUTINE DHARM FOR THREE DIMENSIONAL,
DOUBLE PRECISION, COMPLEX FOURIER TRANSFORMS.
SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
DHARM
METHOD
THE FOURIER COEFFICIENTS A0,B0=0,A1,B1,...,AN,BN=0 ARE
OBTAINED FOR INPUT XJ, J=0,1,2,...,2N-1 FOR THE FOLLOWING
EQUATION (PI = 3.14159...)
N-1 J
(1/2)A0+SUM (AK*COS(PI*J*K/N)+BK*SIN(PI*J*K/N))+(1/2)AN(-1)
K=1
SEE REFERENCE UNDER SUBROUTINE DHARM