CTITLEMINPH -- COMPUTES MINIMUM PHASE SPECTRUM 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR N. D. CRUMP 00000020 CA DESIGNER N. D. CRUMP 00000030 CA LANGUAGE FORTRAN 77 00000040 CA SYSTEM IBM & CRAY 00000041 CA WRITTEN 1972 00000050 C REVISED MO-DA-YR 00000060 C REVISED 05-20-85 TWH. ADAPT TO RUN ON IBM & 00000061 C CRAY SYSTEMS. 00000062 C 00000070 CA 00000080 CA 00000090 CA CALL MINPH (CR, CI, NEXP) 00000100 CA IN/OUT CR = REAL PART OF FFT R8 00000110 CA IN/OUT CI = IMAG. PART OF FFT R8 00000120 CA INPUT NEXP = LOG BASE 2 OF LENGTH OF FFT I4 00000130 CA 00000140 CA 00000150 CA THIS ROUTINE ACCEPTS THE FFT OF A TIME FUNCTION 00000160 CA AND RETURNS THE FFT OF ITS MINIMUM PHASE EQUIVALENT 00000170 CA (OUTPUT RETURNED IN PLACE). 00000180 CA 00000190 CA 00000200 C 00000210 C SUBROUTINES CALLED: MFORAX 00000220 C ARSET 00000230 C EJECT 00000240 C 00000250 SUBROUTINE MINPH(CR,CI,NEXP) 00000260 CAEND 00000261 IMPLICIT DOUBLE PRECISION(A-H,O-Z) 00000263 C 00000264 COMMON /SYSTEM/ SYSTEM 00000271 COMMON /SYSTEM/ SYBYPW 00000272 COMMON /SYSTEM/ SYLOCF 00000273 C 00000280 INTEGER SYSTEM,SYBYPW,SYLOCF 00000291 DIMENSION CR(1),CI(1) 00000300 L = 2**NEXP 00000310 LWDS=(8/SYBYPW)*L 00000311 CALL ARSET (CI, LWDS, 0.) 00000320 CALL MFORAX(NEXP,CR,CI,1) 00000330 LH=L/2 00000340 LP2=L+2 00000350 C 00000360 DO 10 00000370 * I=2,LH 00000380 CR(I)=2.*CR(I) 00000390 C 00000400 10 CR(LP2-I)=0.D0 00000410 C 00000420 CALL ARSET (CI, LWDS, 0.) 00000430 CALL MFORAX(NEXP,CR,CI,-1) 00000440 RETURN 00000450 END 00000460