9000 REM ***** MICRO ***** ENGINEERING PROGRAM 9002 REM MICRO *********** VERSION #1 (7/31/69) ***** MICROWAVE PROGRAMS 9004 REM REVISED JUNE,1972 ANDY ROTH C.C.G. 9006 REM THIS PROGRAM IS A CONGLOMERATE OF MANY SHORT HP 9100 9008 REM CALCULATOR PROGRAMS. THE USER SELECTS THE PROGRAM 9010 REM HE DESIRES BY FIRST ASKING FOR A LISTING OF THE PRO- 9012 REM GRAM LIBRARY AND THEN TYPING IN THE APPROPRIATE CODE 9014 REM NUMBER TO RETRIEVE THAT PROGRAM 9016 REM AFTER CALLING FOR THE DESIRED PROGRAM, THAT PROGRAM 9018 REM WILL THEN ASK FOR THE NECESSARY INPUT(S) TO BE TYPED 9020 REM IN. 9022 REM EXAMPLE OF LIBRARY CALL ROUTINE AND PROGRAM NO. 1 RUN: 9024 REM 9026 REM TYPE 1 IF YOU WANT LIBRARY CATALOG. 9028 REM TYPE 0 IF YOU DO NOT. 9030 REM ?0 9032 REM PROGRAM NUMBER?1 9034 REM WHAT IS VSWR1?2 9036 REM WHAT IS VSWR2?1.5 9038 REM PLUS DB=.5606 9040 REM MINUS DB=-.5993 9042 REM 9044 REM PROGRAM NUMBER ?99 9046 REM 9048 REM DONE 9050 REM 9052 REM MICRO 9054 V1,V2,V3,V4,V5,V6,V7=0 9056 P1,P2,P3,P4,P5,P6,P7=0 9058 PRINT "TYPE 1 IF YOU WANT PROGRAM CATALOG." 9060 PRINT "TYPE 0 IF YOU DO NOT." 9062 INPUT A1 9064 IF A1=1 THEN 9092 9066 PRINT "PROGRAM NUMBER"; 9068 INPUT I1 9070 IF I1=1 THEN 9126 9072 IF I1=2 THEN 9152 9074 IF I1=3 THEN 9216 9076 IF I1=4 THEN 9296 9078 IF I1=5 THEN 9326 9080 IF I1=55 THEN 9326 9082 IF I1=6 THEN 9348 9084 IF I1=7 THEN 9434 9086 IF I1=99 THEN 9999 9088 PRINT "INVALID PROGRAM NUMBER." 9090 GOTO 9066 9092 PRINT "1=CALCULATE MISMATCH UNCERTAINTY IN DB BASED ON "; 9094 PRINT "TWO VSWRS." 9096 PRINT "2=CONVERT RHO, VSWR, OR RETURN LOSS TO OTHER TWO"; 9098 PRINT "PARAMETERS." 9100 PRINT "3=DB TO PERCENT ERROR CONVERSION OR VISA VERSA." 9102 PRINT "4=SIGNAL SEPARATION." 9104 PRINT "5=THEORETICAL NOISE LEVEL." 9106 PRINT "6=CONVERT Z AND THETA TO:" 9108 PRINT " 1.RESISTANCE AND REACTANCE" 9110 PRINT " 2.NORMALIZED R AND X" 9112 PRINT " 3.REFLECTION COEFFICIENT AND ANGLE" 9114 PRINT " 4.REFLECTION COEFFICIENT (RHO)" 9116 PRINT " VOLTAGE STANDING WAVE RATIO" 9118 PRINT " RETURN LOSS" 9120 PRINT "7=SMITHCHART - CONVERT RHO AND ANGLE TO R AND X." 9121 PRINT"TYPE 99 TO END" 9122 GOTO 9066 9124 REM PROGRAM SUBROUTINES 9126 PRINT "VSWR1"; 9128 INPUT V1 9130 P1=(V1-1)/(V1+1) 9132 PRINT "VSWR2"; 9134 INPUT V2 9136 P2=(V2-1)/(V2+1) 9138 Y1=20*.434294*LOG(1+P1*P2) 9140 GOSUB 9498 9142 PRINT "PLUS DB="Y1 9144 Y1=20*.434294*LOG(1-P1*P2) 9146 GOSUB 9498 9148 PRINT "MINUS DB="Y1 9150 GOTO 9204 9152 PRINT "TYPE 1,2, OR 3 IF INPUT IS RHO, VSWR, OR R.L." 9154 INPUT I1 9156 IF I1=1 THEN 9166 9158 IF I1=2 THEN 9176 9160 IF I1=3 THEN 9186 9162 PRINT "INVALID INPUT CODE." 9164 GOTO 9152 9166 PRINT "RHO"; 9168 INPUT V1 9170 GOSUB 9208 9172 GOSUB 9212 9174 GOTO 9194 9176 PRINT "VSWR"; 9178 INPUT V2 9180 V1=(V2-1)/(V2+1) 9182 GOSUB 9212 9184 GOTO 9194 9186 PRINT "R.L."; 9188 INPUT V3 9190 V1=2.71828^(-2.30259*V3/20) 9192 GOSUB 9208 9194 Y1=V1 9196 Y2=V2 9198 Y3=V3 9200 GOSUB 9506 9202 PRINT "RHO="Y1;"VSWR="Y2;"R.L.="Y3 9204 PRINT 9206 GOTO 9066 9208 V2=-(V1+1)/(V1-1) 9210 RETURN 9212 V3=-20*.43429*LOG(V1) 9214 RETURN 9216 PRINT "TYPE 1 OR 2 IF INPUT IS DB OR PERCENT"; 9218 INPUT I1 9220 IF I1=1 THEN 9228 9222 IF I1=2 THEN 9262 9224 PRINT "INVALID INPUT CODE." 9226 GOTO 9216 9228 PRINT "DB"; 9230 INPUT V1 9232 P2=2.71828^(2.30259*V1/10) 9234 P1=P2^.5 9236 V7=P1 9238 GOSUB 9290 9240 Y1=V3 9242 Y2=V4 9244 V7=P2 9246 GOSUB 9290 9248 Y3=V3 9250 Y4=V4 9252 GOSUB 9494 9254 PRINT "PERCENT VOLTAGE +";TAB(18);Y1;TAB(28);"PERCENT "; 9256 PRINT "POWER +";TAB(43);Y3 9258 PRINT TAB(18);Y2;TAB(45);Y4 9260 GOTO 9204 9262 PRINT "PERCENT"; 9264 INPUT V1 9266 V3=20*43429*LOG(1+V1/100) 9268 V4=20*43429*LOG(1-V1/100) 9270 V5=V3/2 9272 V6=V4/2 9274 Y1=V3 9276 Y2=V4 9278 Y3=V5 9280 Y4=V6 9282 GOSUB 9494 9284 PRINT "DB-VOLTAGE +";TAB(13);Y1;TAB(23);"DB-POWER +";TAB(33);Y3 9286 PRINT TAB(13);Y2;TAB(35);Y4 9288 GOTO 9204 9290 V3=100*(V7-1) 9292 V4=-100*(V7-1)/V7 9294 RETURN 9296 PRINT "FIRST VECTOR QTY (DB)"; 9298 INPUT V1 9300 PRINT "SECOND VECTOR QTY (DB)"; 9302 INPUT V2 9304 P1=2.71828^(-2.30259*V1/20) 9306 P2=2.71828^(-2.30259*V2/20) 9308 IF P1>P2 THEN 9316 9310 Y1=-20*.43429*LOG((P2-P1)/2) 9312 Y2=-20*.43429*LOG((P2+P1)/2) 9314 GOTO 9320 9316 Y1=-20*.43429*LOG((P1-P2)/2) 9318 Y2=-20*.43429*LOG((P1+P2)/2) 9320 GOSUB 9502 9322 PRINT "DB(A)="Y1;"DB(B)="Y2 9324 GOTO 9204 9326 PRINT "BANDWIDTH (HZ) VALUE "; 9328 INPUT V1 9330 IF I1=55 THEN 9336 9332 V2=26 9334 GOTO 9340 9336 PRINT "TEMP. (DEGREES C)"; 9338 INPUT V2 9340 V2=V2+272 9342 Y1=10*.43429*LOG(1.38*10^(-20)*V2*V1) 9344 PRINT "(DBM)="Y1 9346 GOTO 9204 9348 PRINT "Z"; 9350 INPUT V1 9352 PRINT "ANGLE"; 9354 INPUT V2 9356 V2=V2*.017453 9358 Y1=V1*COS(V2) 9360 Y2=V1*SIN(V2) 9362 GOSUB 9502 9364 PRINT "R="Y1;"X="Y2 9366 PRINT "CHARACTERISTIC IMPEDANCE"; 9368 INPUT V3 9370 P1=Y1/V3 9372 P2=Y2/V3 9374 PRINT "R(N)="P1;"X(N)="P2 9376 P3=SQR((P1+1)^2+P2^2) 9378 IF (P+1)>0 THEN 9384 9380 P4=ATN(P2/(P1+1))-3.14159 9382 GOTO 9386 9384 P4=ATN(P2/(P1+1)) 9386 P4=P4*57.2958 9388 P5=SQR((P1-1)^2+P2^2) 9390 IF (P1-1)>0 THEN 9396 9392 P6=ATN(P2/(P1-1))-3.14159 9394 GOTO 9398 9396 P6=ATN(P2/(P1-1)) 9398 P6=P6*57.2958 9400 V4=P5/P3 9402 V5=P6-P4 9404 IF V5>180 THEN 9414 9406 IF V5<-180 THEN 9410 9408 GOTO 9416 9410 V5=360+V5 9412 GOTO 9416 9414 V5=V5-360 9416 Y1=V4 9418 Y2=V5 9420 Y3=(V4+1)/(1-V4) 9422 Y4=-20*.43429*LOG(V4) 9424 GOSUB 9494 9426 PRINT " REFLECTION COEFF.";TAB(25);"ANGLE";TAB(43);"VSWR"; 9428 PRINT TAB(57);"RETURN LOSS" 9430 PRINT TAB(7);Y1;TAB(24);Y2;TAB(42);Y3;TAB(59);Y4 9432 GOTO 9204 9434 PRINT "RHO"; 9436 INPUT V1 9438 PRINT"ANGLE"; 9440 INPUT V2 9442 V2=V2*.017453 9444 V3=V1*COS(V2) 9446 V4=V1*SIN(V2) 9448 IF (V3+1)>0 THEN 9454 9450 P2=(ATN(V4/(V3+1))-3.14159)*57.2958 9452 GOTO 9456 9454 P2=ATN(V4/(V3+1))*57.2958 9456 IF (1-V3)>0 THEN 9462 9458 P3=(ATN(-V4/(1-V3))-3.14159)*57.2958 9460 GOTO 9464 9462 P3=ATN(-V4/(1-V3))*57.2958 9464 P1=SQR((1+V3)^2+V4^2)/SQR((1-V3)^2+V4^2) 9466 P4=(P2-P3)*.017453 9468 P5=P1*COS(P4) 9470 P6=P1*SIN(P4) 9472 Y1=P5 9474 Y2=P6 9476 GOSUB 9502 9478 PRINT "R(N)="Y1;"X(N)="Y2 9480 PRINT "CHARACTERISTIC IMPEDANCE"; 9482 INPUT V5 9484 Y1=V5*P5 9486 Y2=V5*P6 9488 GOSUB 9502 9490 PRINT "R="Y1;"X="Y2 9492 GOTO 9204 9494 Y4=INT(10^4*Y4+.5)/10^4 9496 GOTO 9506 9498 Y1=INT(10^4*Y1+.5)/10^4 9500 RETURN 9502 Y2=INT(10^4*Y2+.5)/10^4 9504 GOTO 9498 9506 Y3=INT(10^4*Y3+.5)/10^4 9508 GOTO 9502 9999 END