*TITLES1FMAG -- MAGNITUDE FOR FOURIER TRANSFORM 00000001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** *A AUTHOR H. HOOGSTRAAT 00000002 *A DESIGNER H. HOOGSTRAAT 00000003 *A LANGUAGE S/370 ASSEMBLER 00000004 *A SYSTEM IBM (SEE CRAY) 00000004 *A WRITTEN 00000005 * REVISED 00000006 *A 00000007 *A 00000008 *A CALL S1FMAG (NOSAMP, MAG, LFOUR) 00000009 *A INPUT NOSAMP = NUMBER OF SAMPLES I4 00000010 *A OUTPUT MAG = TRANSFORM MAGNITUDE I4 00000020 *A OUTPUT LFOUR = FAST FOURIER TRANSFORM LENGTH (NEXT I4 00000030 *A POWER OF 2 GREATER THAN OR EQUAL TO 00000040 *A NOSAMP) 00000050 *A 00000060 *A 00000070 *A GIVEN THE NUMBER OF SAMPLES THIS ROUTINE CALCULATES THE MAGNITUDE 00000080 *A AND FAST FOURIER TRANSFORM LENGTH AS A POWER OF TWO. 00000090 *A 00000100 * ====================================================== 00000110 * * PROGRAM DEVELOPED BY 00000120 * * H * HOOGSTRAAT PROGRAMMING SERVICES LTD. 00000130 * * P S * BOX 20, SITE 7, SS #1 00000140 * * * * * * * * CALGARY, ALTA. CANADA PH 288-8088 00000150 * ====================================================== 00000160 * 00000170 S1FMAG CSECT 00000180 COPY S1REG 00000181 BASE EQU R15 00000190 USING *,BASE 00000200 STM R2,R5,28(R13) 00000210 * 00000220 LM R1,R3,0(R1) 00000230 L R1,0(R1) R1 = NOSAMP 00000240 LA R4,5 INITIALIZE MAG TO 5 00000250 LA R5,32 INITIALIZE LFOUR TO 32 00000260 * 00000270 LOOP CR R5,R1 00000280 BNL RETURN 00000290 LA R4,1(R4) INCREMENT MAG BY 1 00000300 AR R5,R5 DOUBLE LFOUR 00000310 B LOOP 00000320 * 00000330 RETURN ST R4,0(R2) RETURN MAG 00000340 ST R5,0(R3) RETURN LFOUR 00000350 LM R2,R5,28(R13) 00000360 BR R14 00000370 END 00000380