PROGRAM CALIM PARAMETER (MAXNUM=70) PARAMETER (BIG=9999.0) REAL GENPOW(MAXNUM,3),SREF(MAXNUM),SIM(MAXNUM) REAL THIRDIM(MAXNUM),ATTPOW(3),ATT(3) INTEGER NOM(MAXNUM),NOMREF(MAXNUM) c OPEN ( UNIT=7,FILE='ft1000_20.txt') c OPEN ( UNIT=7,FILE='ft1000_20d.txt') OPEN ( UNIT=7,FILE='rxhfa_100.txt') c OPEN ( UNIT=7,FILE='ic706_20.txt') OPEN ( UNIT=8,FILE='cal.txt') c OPEN ( UNIT=9,FILE='ft1000d20.txt') OPEN ( UNIT=9,FILE='rxhfa100.txt') c OPEN ( UNIT=9,FILE='ic706a20.txt') I=0 10 I=I+1 READ(8,510)NOM(I),(GENPOW(I,J),J=1,3),THIRDIM(I) 510 FORMAT(I4,2X,3F7.2,1X,F7.2) IF(NOM(I).NE.9999)GOTO 10 MAXNOM=NOM(1) NUM=I-1 MINNOM=NOM(NUM) WRITE(*,*)NUM,MAXNOM,MINNOM DO 20 I=1,MAXNUM NOMREF(I)=9999 SREF(I)=BIG 20 SIM(I)=BIG READ(7,530)NOM_ATTPOW,(ATTPOW(j),j=1,3) 530 FORMAT(I4,3F7.2) WRITE(*,*)'Levels at test object input for ',NOM_ATTPOW, &' dBm (nominal) generator power' DO 30 K=1,NUM IF(NOM(K).EQ.NOM_ATTPOW)GOTO 35 30 CONTINUE WRITE(*,*)'ERROR: LEVEL FOR ATTENUATOR EVALUATION NOT FOUND' &,NOM_ATTPOW STOP 35 CONTINUE WRITE(9,*)'Levels at test object input for ',NOM_ATTPOW, &' dBm (nominal) generator power' WRITE(9,*)' Gen Calibrated Measured Att.' WRITE(9,*)' No (dBm) (dBm) dB' DO 22 I=1,3 ATT(I)=GENPOW(K,I)-ATTPOW(I) WRITE(9,630)I,GENPOW(K,I),ATTPOW(I),ATT(I) 630 FORMAT(I5,3F10.2) 22 WRITE(*,630)I,GENPOW(K,I),ATTPOW(I),ATT(I) WRITE(9,*)'-----------------------------------------' WRITE(9,*) &' Nom. Nom. Linrad Linrad Cal. Theor. Diff' WRITE(9,*) &' Two- Ref- S-meter S-meter level level' WRITE(9,*) &' tone tone Ref-tone IM3 IM3 IM3' WRITE(9,*) &' (dBm) (dBm) (dB) (dB) (dBm) (dBm) (dB)' WRITE(*,*) &' Nom. Nom. Linrad Linrad Cal. Theor. Diff' WRITE(*,*) &' Two- Ref- S-meter S-meter level level' WRITE(*,*) &' tone tone Ref-tone IM3 IM3 IM3' WRITE(*,*) &' (dBm) (dBm) (dB) (dB) (dBm) (dBm) (dB)' 100 READ(7,520)I,J,A,B 520 FORMAT(2I4,2F7.2) IF(I.GT.MAXNOM.OR.I.LT.MINNOM)GOTO 200 DO 110 K=1,NUM IF(NOM(K).EQ.I)GOTO 115 110 CONTINUE WRITE(*,*)'ERROR: LEVEL FOR TWO-TONE NOT FOUND',I STOP 115 DO 120 M=1,NUM IF(NOM(M).EQ.J)GOTO 125 120 CONTINUE WRITE(*,*)'ERROR: LEVEL FOR REF NOT FOUND',J STOP 125 CONTINUE S=B-A+GENPOW(M,1)-ATT(1) T=THIRDIM(K)-2*ATT(2)-ATT(3) WRITE(*,610)I,J,A,B,S,T,T-S WRITE(9,610)I,J,A,B,S,T,T-S 610 FORMAT(2I6,6F10.2) GOTO 100 200 CONTINUE STOP END