CTITLESAMPFKC -- INVERSE TRANSFORM IMAGE TRACE FROM FREQUENCY TO TIME C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR BRUCE VER WEST CA DESIGNER BRUCE VER WEST CA LANGUAGE VS FORTRAN CA SYSTEM IBM / CRAY CA WRITTEN 07/01/86 C REVISED 12-04-87 BJV INCREASED BUFFER BLOCKING ARRAY 00070009 C DIMENSIONS TO 39 AND 19. 00080009 C REVISED MM-DD-YY 00070009 C REVISED 02-20-89 JJC FOR SPARC PRODUCTION. C REVISED 04-11-90 LWC CHANGED FFT991 CALL TO RFFTMLT C REVISED 04-30-90 LWC REPLACE FFT991 C 00080009 C CA SUBROUTINE SAMPFKC(IX,NXTOT,NTBUF,INTRT, CA Q,WORK,WORK2,TRIGST,IFAXW,OTR,IPR) CA CA THIS SUBROUTINE PERFORMS AN INVERSE FOURIER TRANSFORM TO GO CA FROM THE FREQUENCY DOMAIN BACK TO THE TIME DOMAIN AND OUTPUT CA THE RESULT AS A TIME TRACE AS A FUNCTION OF DEPTH POINT NUMBER CA CA********************************************************************** CA CA ARGUMENTS: CA CA IX INPUT COUNTER OF THE OUTPUT MIGRATED IMAGE CA DEPTH POINT TRACE. CA CA NXTOT INPUT TOTAL OF DEPTH POINT TRACES TO BE CA TRANSFORMMED. CA CA NTBUF INPUT NO. OF DEPTH POINT TRACES IN BUFFER CA TO BE TRANSFORMMED. CA CA INTRT INPUT/ COUNTER OF THE INPUT DEPTH POINT CA OUTPUT TRACES TO BE TRANSFORMMED. CA CA Q INPUT COMPLEX DOWNWARD-CONTINUED FIELD CA FROM WHICH THE IMAGE TRACE IS OBTAINED CA VIA AN INVERSE FOURIER TRANSFORM. CA CA WORK INPUT COMPLEX ARRAY WHICH SERVES AS INPUT CA TO THE CRAY ASSEMBLER INVERSE FOURIER CA TRANSFORM ROUTINE CRFFT2 WHICH TAKES CA A CONJUGATE SYMMETRIC COMPLEX INPUT CA RADIAL FREQUENCY ARRAY AND RETURNS TO CA A REAL TIME DOMAIN ARRAY. ITS LENGTH CA MUST BE A POWER OF TWO. CA CA WORK2 INPUT COMPLEX WORK ARRAY WHICH CONTAINS THE CA TRIG TABLES TO BE USED BY THE CRAY CA FFT ROUTINE CRFFT2. CA CA TRIGST INPUT ARRAY WHICH CONTAINS THE TRIG TABLES CA NEED BY THE FFT ALGORITHM CFFT99 FOR CA THE FOURIER TRANSFORMS FROM FREQUENCY CA TO TIME. CA CA IFAXW INPUT ARRAY WHICH CONTAINS THE PRIME CA FACTORS FOR THE FFT LENGTH CA CA OTR OUTPUT THE OUTPUT TIME TRACE RETURNED FROM CA THE INVERSE TRANSFORM FROM FREQUENCY CA TO TIME. CA CA********************************************************************** C SUBROUTINE SAMPFKC(IX,NXTOT,NTBUF,INTRT, + Q,WORK,WORK2,TRIGST,IFAXW,OTR,IPR) C COMMON /CMPFKC/ IF1,LNT,LW,LW2,IW1,ALPHA,SCALE,CMIN,VMUTE, + AFFR,IKHHI COMMON /CMPFKT/ NT,DT,NW,DW,NWD2,NWD21,NWP2 COMMON /CMPFKX/ NX,DX,NKX,DKX,NKXD2,NKXD21,NKX2,NKXP2 COMMON /CMPFKH/ NH,DH,NKH,DKH,NKHD2,NKHD21,NKH2,IHBEG COMMON /CMPFKB/ IKXBF(39),IWBF(19),MKXBF(39),MWBF(19), + NBF,MBF,NKXBF,NWBF C COMPLEX Q(LNT/2,1),TRIGST(1),WORK(1),WORK2(1) DIMENSION OTR(1),IFAXW(1) C IF (IX .LE. INTRT) GO TO 100 C CALL ARSET(WORK,NWP2*NTBUF,0) I1 = INTRT+1 INBUF = MIN0(NTBUF,NXTOT-INTRT) DO 10 I=1,INBUF IND = (I-1)*NWD21+1 10 CALL CCOPY(LW,Q(1,INTRT+I),1,WORK(IND),1) DO 20 I=1,INBUF*NWD21 20 WORK(I) = CONJG(WORK(I)) CALL FFT991(WORK,WORK2,TRIGST,IFAXW,1,NWP2,NW,INBUF,+1) C LWC CALL RFFTMLT(WORK,WORK2,TRIGST,IFAXW,1,NWP2,NW,INBUF,+1) INTRT = INTRT+INBUF C 100 CONTINUE C IND = (IX-I1)*NWD21+1 CALL SCOPY(NT,WORK(IND),1,OTR,1) CALL SSCAL(NT,SCALE,OTR,1) C C RETURN END