CTITLESAXSMPC - GENERATE THE FILTER COEFFICIENTS FOR INTERPOLATION C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CABS SAXSMPC- GENERATE THE FILTER COEFFICIENTS FOR INTERPOLATION C C SUBROUTINE SAXSMPC(COEF,LR,LRD2,KPBUGF,IPR) C C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991. C C ALL RIGHTS RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, C REPRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE C PRIOR CONSENT OF ATLANTIC RICHFIELD COMPANY. C CA CA DESIGNER JAMES C. SUN CA AUTHOR JAMES C. SUN CA LANGUAGE FORTRAN 77 CA SYSTEM IBM/CRAY CA WRITTEN JAN 1992 C REVISED APR 1992 WRF EDITED FOR PRODUCTION CA CA PURPOSE OF PROGRAM: CA CA THIS SUBROUTINE GENERATES THE LEAST-SQUARES FILTER COEFFICIENTS CA USED BY THE SICKING INTERPOLATION PROCEDURE (SEE HIS PH.D. CA THESIS). CA C************************************************************** C * C SUBROUTINES AND FUNCTIONS CALLED FROM THIS ROUTINE * C * C ARSET MCOFGN * C * C************************************************************** CA CA ARGUMENTS: CA CA CA COEF OUTPUT REAL ARRAY OF LENGTH 101 * LR WHICH CA WILL CONTAIN THE LEAST SQUARES FILTER CA OPERATOR COEFFICIENTS FOR THE 101 CA FILTERS FOR THE NEAREST .01 TRACE CA SPACING FOR SPATIAL INTERPOLATION. CA CA LR INPUT THE NUMBER OF COEFFICIENTS IN EACH CA FILTER. BECAUSE OF THE INTERNALLY CA DIMENSIONED ARRAYS, LR MUST BE NO CA LARGER THAN 22. CA CA LRD2 INPUT THIS IS THE HALFWAY POINT IN THE NUM- CA BER OF COEFFICIENTS PER FILTER. THAT CA IS LRD2 = LR/2. THIS SHOULD BE THE CA MAXIMUM LAG BETWEEN THE SAMPLE THAT CA IS DESIRED AND THE PRESENT SAMPLE. CA CA KPBUGF INPUT INTEGER DEBUG FLAG FOR PRINTING. CA CA IPR INPUT SPARC LOGICAL PRINT UNIT NUMBER. CA CA EJECT CAEND C*********************************************************************** C SUBROUTINE SAXSMPC(COEF,LR,LRD2,KPBUGF,IPR) C C*********************************************************************** C LOCAL VARIABLES C*********************************************************************** C C AA - WORK ARRAY USED BY THE WIENER FILTER GENERATOR R4 C BW - MAXIMUM FREQUENCY AS A FRACTION OF NYQUIST R4 C FF - FILTER ARRAY USED BY WIENER FILTER GENERATOR R4 C GG - ARRAY USED FOR THE CROSS-CORRELATION USED BY THE C WIENER FILTER GENERATOR R4 C RW - ARRAY USED FOR AUTO-CORRELATION USED BY THE WIENER C FILTER GENERATOR R4 C C*********************************************************************** C IMPLICIT INTEGER(A-Z) C REAL AA REAL BW REAL COEF REAL FF REAL GG REAL RW C DIMENSION COEF(LR,101) DIMENSION AA(22),RW(22),FF(22),GG(22) C CALL ARSET ( COEF, LR * 101, 0.0 ) C C SET UP COEFFICIENTS OF LEAST SQUARES FILTER C THE ENDPOINT COEFFICIENTS ARE SET TO UNITY. C COEF(LRD2, 1) = 1.0 BW = 1. C C GENERATE THE FILTER COEFFICIENTS WITH THE SICKING GENERATOR C IN SPARC C CALL MCOFGN ( LR, BW, RW, GG, FF, AA, COEF(1, 2) ) C COEF(LRD2 + 1, 101) = 1.0 C C IF DEBUG FLAG SET THEN DUMP COEFFICIENTS C IF (KPBUGF .GT. 0) THEN C DO 100 I = 1, 101 WRITE ( IPR, 9000 ) I, ( COEF(J, I), J = 1, LR ) 9000 FORMAT(' COEFFS:= FILTER ',I3,20F6.3) 100 CONTINUE C ENDIF C RETURN END