CTITLEARCON -- CONVOLUTION 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR L. B. LIN 00020000 CA DESIGNER L. B. LIN 00030000 CA LANGUAGE FORTRAN 00040000 CA SYSTEM IBM (SEE CRAY) 00050001 CA WRITTEN 10/21/85 00060000 C REVISED 05-30-86 ESN. MAKE FUNCTIONAL BY INVOKING 00070000 C CALL TO CRAY ROUTINE FILTGS. 00080000 C REVISED 06-05-86 ESN. FOR USE ON THE IBM. 00090001 CA 00100000 CA 00110000 CA CALL ARCON (F, NF, A, B, N, NRM) 00120001 CA INPUT F = REAL FILTER ARRAY R4 00130000 CA INPUT NF = NUMBER OF ELEMENTS IN F I4 00140000 CA INPUT A = REAL DATA ARRAY R4 00150000 CA OUTPUT B = REAL DATA ARRAY R4 00160000 CA INPUT N = NUMBER OF ELEMENTS IN B (OUTPUT POINTS) I4 00170000 CA INPUT NRM = NORMALIZATION KEY, IF NON-ZERO THE OUTPUT I4 00180000 CA WILL BE DIVIDED BY THE NUMBER OF FILTER 00190000 CA POINTS 00200000 CA 00210000 CA 00220000 CA ARCON PERFORMS CONVOLUTION ON THE INPUT REAL DATA ARRAY A WITH 00230001 CA THE REAL FILTER ARRAY F. THE N OUTPUT POINTS ARE STORED IN THE00240001 CA REAL ARRAY B. NORMALIZATION BY THE NUMBER OF FILTER POINTS IS 00250001 CA PERFORMED ON THE OUTPUT IF NRM IS NON-ZERO. 00260001 CAEND 00270000 SUBROUTINE ARCON (F, NF, A, B, N, NRM) 00280000 C 00290000 REAL A (1) 00300000 REAL B (N) 00310000 REAL F (NF) 00320000 C 00330000 DO 20 I = 1, N 00340000 B(I) = 0.0 00350000 C 00360000 DO 10 J = 1, NF 00370000 10 B(I) = B(I) + F(J) * A(I+J-1) 00380000 C 00390000 20 CONTINUE 00400000 C 00410000 IF (NRM .NE. 0) THEN 00420000 CONS = NF 00430000 CALL ARDVFC (B, B, CONS, N) 00440000 ENDIF 00450000 C 00460000 RETURN 00470000 C 00480000 END 00490000