C C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CTITLESAPHZFT -- DETERMINE THE PHASE INTERCEPT 00010001 CA AUTHOR B. S. BOK 00030001 CA DESIGNER B. S. BOK 00040001 CA LANGUAGE FORTRAN 00050001 CA SYSTEM IBM / CRAY 00060004 CA WRITTEN AUGUST, 1990 00070001 C REVISED 12-21-91 JJC - MODIFIED TO MEET EDP STANDARDS. C CA 00150001 CA CALL SAPHZFT (AMP, PHZ, NYQ, CUT, ICODE, PHI, DLAY, WRK) 00160004 CA 00180000 CA INPUT AMP = AMPLITUDE SPECTRUM (LENGTH OF NYQ) R4 00190003 CA INPUT PHZ = PHASE UNWRAPPED SPECTRUM (SIZE OF NYQ) R4 00200003 CA INPUT NYQ = NYQUIST NO. OF SAMPLES I4 00210003 CA INPUT CUT = CUT LEVEL OF AMPLITUDE TO BE USED R4 00200003 CA INPUT ICODE = 0 => AMPLITUDE WEIGHTING I4 00210003 CA .NE. 0 => POWER WEIGHTING CA OUTPUT PHI = PHASE INTERCEPT DETERMINED R4 00260007 CA OUTPUT DLAY = TIME DELAY OR SLOPE OF TANGENTIAL LINE R4 00270004 CA (TIME SAMPLES); IF NYQ IS NOT NYQ CA FREQUENCY, MULTIPLY (1-NYQF) / (1-NYQ) CA OUTPUT WRK = WORK ARRAY OF SIZE AT LEAST NYQ R4 CA 00340000 CA 00350000 CA THIS ROUTINE DETERMINE THE PHASE INTERCEPT OF TANGENTIAL LINE AT 00360001 CA PHASE SPECTRUM 00370001 CA 00510000 C************************************************************** C * C SUBROUTINES AND FUNCTIONS CALLED FROM THIS ROUTINE * C * C SATAYL2 * C * C************************************************************** C SUBROUTINE SAPHZFT (AMP,PHZ,NPT,CUT,ICODE,PHI,SLPE,WRK) C IMPLICIT INTEGER (A-Z) C REAL AMP REAL CUT REAL F REAL HOLD REAL PHI REAL PHZ REAL SLPE REAL WRK C DIMENSION AMP(NPT), PHZ(NPT), WRK(NPT), F(10) C C RANGE OF FREQUENCY TO BE USED C MIN = 1 MAX = NPT IF (CUT .GT. 0.) THEN HOLD = 0. DO 100 N = 1, NPT IF (HOLD .LT. AMP(N)) THEN HOLD = AMP(N) MAX = N ENDIF 100 CONTINUE HOLD = HOLD * CUT DO 120 N = 1, MAX IF (AMP(MAX - N + 1) .LE. HOLD) GO TO 140 120 CONTINUE N = MAX 140 CONTINUE MIN = MAX - N + 1 DO 160 N = MAX, NPT IF (AMP(N) .LE. HOLD) GO TO 180 160 CONTINUE N = NPT 180 CONTINUE MAX = N ENDIF C C PHASE CURVE BY AMPLITUDE OR POWER WEIGHTING C DO 200 N = MIN, MAX WRK(N) = N - 1 200 CONTINUE MAX = MAX - MIN + 1 CALL SATAYL2( WRK(MIN), PHZ(MIN), AMP(MIN), MAX, ICODE, 2, F, WRK( 1 NPT + 1) ) PHI = F(1) SLPE = F(2) C C RETURN END