File: FIT4.FC of Tape: Various/ETH/fc1
(.FC,.FO Focal format converted to 'WRITE' listing)
C-OS/8 FOCAL, 1972 01.01 C PROG FIT4 / TEST: SINC-ZERO-FIT (LAPLACE) 01.02 C 5.2.73 01.03 C 01.04 C PERFORMANCE: 01.05 C GET DATA 01.06 C FOURIER WHOLE RANGE (0-256); PICK PEAK FREQU NU 01.07 C FOURIER SMALL RANGE (NU-8 TO NU+8); STORE SIGNIF. VALUES = XF(I) 01.08 C FIT CRITERION IS QM = SUM OVER XF(I) WITHOUT XF(S0) 01.09 C FIRST OPTIMIZE S0: CHOOSE APPROX. SIGMA AND FOURIER 01.10 C VARIATE SET OF XF UNTIL QM IS MINIMUM 01.11 C OPTIMIZE SIGMA: MODIFY DATA,FOURIER,CHECK QM 01.12 C 01.20 C 01.50 S S1=0;S SS=1;D 13.9;D 5.3 02.01 C MULT DATA MIT EXP(SI*T) 02.05 D 13.8 02.10 S TI=SI*PI/256 02.20 F I=0,255;S Z=FCOM(I,FCOM(I+512)*FEXP(I*TI));S Z=FX(0,500) 03.01 C SMALL FOUR 03.05 A ?S0?; 03.10 S S1=S0-8;S SS=1/16;D 5.3 03.20 F I=1,7;S XF(I)=FCOM(256+DS+I*32)*FEXP(-SI*PI) 04.01 C QM 04.10 S A4=0;F I=1,7;S A4=A4+XF(I) 04.20 S QM=A4-XF(4) 05.01 C - FOUR 05.10 A ?S1?,?SF?;S X=(SF-S1)/16;I (X-FITR(X)-.5)5.14;S X=X+.5 05.14 S SS=FITR(X)/16;S S2=S1+SS*128;S SF=S1+SS*256 05.30 D 13.9;S Z=FOUR(S1,SS);S ZM=FX(1,760) 08.01 C OPTIMIZE S0 08.10 A ?DS?;D 3.2;D 4;T %8.04,QM,!;G 8.1 09.01 C OPTIMIZE SIGMA 09.10 A ?SI?;D 2;D 3.1;D 3.2;D 4 09.20 T %8.04,QM,!;G 9.1 11.10 F I=1,N;T %8.04 I,XF(I),! 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 14.01 C STORE DATA IN FCOM(2) 14.10 F I=0,255;S Z=FCOM(512+I,FCOM(I)) 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