CTITLEMLATDC -- LADDER COEFFICIENTS CALCULATION 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 01/18/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 MLATDC (A, N, R, K, U) 00000100 CA INPUT A = INPUT TRACE R4 00000110 CA INPUT N = LENGTH OF A I4 00000120 CA OUTPUT R = REFLECTION COEFFICIENTS (DIRECTION R4 00000130 CA COSINES) 00000140 CA INPUT K = LENGTH OF R I4 00000150 CA OUTPUT U = OUTPUT ERROR TRACE R4 00000160 CA 00000170 CA 00000180 CA THIS ROUTINE COMPUTES THE LADDER COEFFICIENTS 00000190 CA OF A PREDICTIVE FILTER. 00000200 CA 00000210 CA 00000220 C 00000230 C SUBROUTINES CALLED: ARSET (S1ATP) 00000240 C 00000250 C EJECT 00000260 C 00000270 SUBROUTINE MLATDC(A,N,R,K,U) 00000280 CAEND 00000290 IMPLICIT DOUBLE PRECISION (B-H,O-Z) 00000291 C 00000300 DIMENSION A(N),R(K),D(3000),U(N) 00000320 DATA D / 3000 * 0.0 / 00000321 IF (1 .EQ. 2) CALL S1ATP 00000322 CCCCCCCALL ARSET(R,K,0.0) 00000330 DO 5 I=1,K 00000331 R(I) = 0.0 00000332 5 CONTINUE 00000333 C 00000340 DO 10 00000350 * I=1,N 00000360 D(I) = A(I) 00000370 C 00000380 10 U(I) = A(I) 00000390 C 00000400 DO 40 00000410 * J=1,K 00000420 X = 0.0 00000430 Y = 0.0 00000440 J1 = J+1 00000450 C 00000460 DO 20 00000470 * I=J1,N 00000480 X = X + D(I-1)*U(I) 00000490 C 00000500 20 Y = Y + D(I-1)*D(I-1) + U(I)*U(I) 00000510 C 00000520 IF(Y .LT. 0.00001) GO TO 50 00000530 R(J) = 2.0*X/Y 00000540 C 00000550 DO 30 00000560 * I=J1,N 00000570 X = D(N+J-I) 00000580 Y = U(N+J1-I) 00000590 D(N+J1-I) = X - R(J)*Y 00000600 C 00000610 30 U(N+J1-I) = Y - R(J)*X 00000620 C 00000630 40 CONTINUE 00000640 C 00000650 50 RETURN 00000660 END 00000670