CTITLEMSIGES -- COMPUTES WAVELET ESTIMATE 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR J. E. BROWN 00000020 CA DESIGNER J. E. BROWN 00000030 CA LANGUAGE FORTRAN 77 00000040 CA SYSTEM IBM & CRAY 00000041 CA WRITTEN 08/12/75 00000050 CA REVISED 01/15/76 00000060 C REVISED 05/20/85 TWH. ADAPTED TO IBM & CRAY. 00000061 C 00000070 CA 00000080 CA 00000090 CA CALL MSIGES (X, C, M) 00000100 CA OUTPUT X = WAVELET ESTIMATE R4 00000110 CA INPUT C = REFLECTION COEFFICIENTS R4 00000120 CA INPUT M = LENGTH OF C AND X (LIMIT 200) I4 00000130 CA 00000140 CA 00000150 CA THIS ROUTINE COMPUTES WAVELET ESTIMATE BASED ON 00000160 CA REFLECTION COEFFICIENTS FROM ROUTINE 'MLATDC'. 00000170 CA 00000180 CA 00000190 C 00000200 C SUBROUTINES CALLED: ARSET (S1ATP) 00000210 C 00000220 C EJECT 00000230 C 00000240 SUBROUTINE MSIGES(X,C,M) 00000250 CAEND 00000251 IMPLICIT DOUBLE PRECISION (A-H,O-W) 00000252 DIMENSION X( M),C(M),U(200),D(200) 00000260 DATA U / 200 * 0.0 / 00000281 DATA D / 200 * 0.0 / 00000282 IF (1 .EQ. 2) CALL S1ATP 00000283 C 00000290 X(1) = 1.0 00000300 C 00000310 DO 30 00000320 * K=2,M 00000330 K1 = K - 1 00000340 CCCCCC CALL ARSET(D,K1,0.0) 00000350 DO 4 I=1,K1 00000351 D(I) = 0.0 00000352 4 CONTINUE 00000353 CCCCCC CALL ARSET(U,K,0.0) 00000360 DO 6 I=1,K 00000361 U(I) = 0.0 00000362 6 CONTINUE 00000363 D(K) = 1.0 00000370 C 00000380 DO 20 00000390 * N=1,K 00000400 C 00000410 DO 10 00000420 * J=1,K1 00000430 L = K - J 00000440 L1 = L + 1 00000450 D(L) = D(L1) + C(L)*U(L) 00000460 U(L1) = U(L) - C(L)*D(L) 00000470 C 00000480 10 CONTINUE 00000490 C 00000500 U(1) = D(1) 00000510 D(K) = 0.0 00000520 C 00000530 20 CONTINUE 00000540 C 00000550 30 X(K) = U(1) 00000560 C 00000570 PEAK = 0.0 00000580 C 00000590 DO 40 00000600 * N=1,M 00000610 XA = ABS(X(N)) 00000620 C 00000630 40 IF(XA .GT. PEAK) PEAK = XA 00000640 C 00000650 DO 50 00000660 * N=1,M 00000670 C 00000680 50 X(N) = X(N)/PEAK 00000690 C 00000700 RETURN 00000710 END 00000720