Google
 

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