File: FIT5.FC of Tape: Various/ETH/fc1
(.FC,.FO Focal format converted to 'WRITE' listing) 

C-OS/8 FOCAL, 1972

01.01 C   FIT5    / CORRELATION DOPPELPEAK, TESTFUNK AUS FOUR
01.02 C 8.2.73
01.03 C  MIT LEAST SQUARES FACILITY

02.01 C TESTFUNKTION
02.02 C BRAUCHT A1,A2,N1,N2,P1,P2,T1,T2
02.10 D 13.8;S KK=PI/256;S K1=N1*KK;S K2=P1*PI/180;S K3=-T1*KK
02.20 S K4=N2*KK;S K5=P2*PI/180;S K6=-T2*KK
02.30 F I=0,255;D 2.9;S Z=FCOM(I,XX);S Z=FX(0,500)
02.40 R
02.90 S XX=A1*FSIN(K1*I+K2)*FEXP(K3*I)+A2*FSIN(K4*I+K5)*FEXP(K6*I)

03.01 C STORE VALUES FROM FOUR
03.10 A ?S1?,?S2?;
03.20 S N=0;F I=256+S1,2,256+S2;S N=N+1;S X(N)=FCOM(I)

04.01 C SIN.EXP FUNKTION IN COM(0)
04.10 A ?NU?,?TA?,?AN?
04.20 D 13.8
04.30 F I=0,255;S X=FCOS(I*NU*PI/256)*FEXP(-I*TA*PI/256)+AN*FRAN();D 4.5
04.40 R
04.50 S Z=FCOM(I,X);S Z=FX(0,500)

05.01 C - FOUR
05.10 A ?SI?,?SF?;S X=(SF-SI)/16;I (X-FITR(X)-.5)5.14;S X=X+.5
05.14 S SS=FITR(X)/16;
05.20 D 13.9;
05.30 S Z=FOUR(SI,SS);S ZM=FX(1,760)

06.01 C CALCULATE CORRELATION C
06.15 S S0=N/2+DS
06.20 F S=1,N;D 2;S Y(S)=G
06.30 S A6=0;S B6=0;F I=1,N;S A6=A6+Y(I);S B6=B6+Y(I)^2
06.40 S YM=A6/N;S YV=B6-N*YM^2;S YV=FSQT(YV)
06.50 S C6=0;F I=1,N;S C6=C6+X(I)*Y(I)
06.60 S C=(C6-N*XM*YM)/(XV*YV)

07.01 C CALC LEAST SQUARES BETWEEN X(I) AND Y(I)
07.10 F I=1,N;S Z(I)=(X(I)-Y(I))^2
07.20 D 13.8;F I=1,N;D 7.9
07.30 S Q7=0;F I=1,N;S Q7=Q7+Z(I)
07.40 T %8.04,Q7,!
07.80 R
07.90 F J=1,10;S Z=FCOM(10*I+J,Z(I));S Z=FX(0,500)

08.01 C AUTOM. PARAMETER ADJUST
08.05 S DS=0;A ?TA?,!
08.10 D 6;S CM=C;S A=.1;S B=.1;D 8.5;D 8.5
08.20 S A=.05;S B=.05;D 8.5;D 8.5
08.30 S A=.02;S B=.02;D 8.5
08.40 S A=.01;S B=.01;D 8.5
08.45 Q
08.50 S DA=A;S DB=0;D 7;S DA=0;S DB=B;D 7;D 8.7
08.70 T %4.03,DS,TA,%8.06,CM,!

09.01 C MAP C(S0,TA)
09.10 A "TAU: LOWER LIMIT",A9,"STEP",B9,!
09.15 A "DS:  LOWER LIMIT",C9,"STEP",D9
09.20 T !!,:30,"DS",!,"  TAU   ";F J=0,7;T %5.02,C9+J*D9
09.30 T !;F TA=A9,B9,A9+10*B9;T !,%3.02,TA,"   ";D 9.4
09.35 T !;Q
09.40 F DS=C9,D9,C9+7*D9;D 6;T %5.04,C

10.01 C STORE ORIGINAL FOUR VALUES
10.10 D 3;F J=1,N;S Y(J)=X(J)

13.01 C - DIS SWITCH
13.70 S Z=FDIS(A,FABS(FDIS(A)));S Z=FDIS(B,-FABS(FDIS(B)))
13.80 S A=4;S B=5;D 13.7
13.90 S A=5;S B=4;D 13.7

20.10 S N1=N2*PI/256
20.20 S A=0;F II=0,255;S A=A+FCOM(II)*FCOS(II*N1)
20.30 S B=0;F II=0,255;S B=B-FCOM(II)*FSIN(II*N1)
20.40 S AF=FSQT(A^2+B^2)/128;
20.50 I (B)20.7,20.6;S PH=0;G 20.8
20.60 S PH=90*FSGN(A);R
20.70 S PH=180*FSGN(A)
20.80 S PH=PH+180*FATN(A/B)/PI