home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1989-01-22 | 19.3 KB | 621 lines |
- 10 'SAVE TOOLKIT
- 20 DIM RHO(100),ALPHA(100),RETLOS(100),RS(100),JXS(100),VSWR(100),THETA(100)
- 30 DIM RP(100),JXP(100),HEADER$(80),DAT1(100),DAT2(100),DAT3(100),DAT4(100)
- 40 DIM IMPED(100),SWR(100),SIR(100),NSRABS(100),ISRABS(100),NEWSNR(100),DEGRAD(100)
- 50 ZO=50:KLOG=4.34294:PI=3.14159
- 60 '
- 70 CLS
- 80 PRINT " ******************** RF TOOLKIT *******************"
- 81 PRINT " ************* FROM RF DESIGN FEB. 1987 ************"
- 82 PRINT " ***** ENTERED/ENHANCED BY ROBERT C. ENTWISTLE *****"
- 83 PRINT " ********* FOR RF/MICROWAVE II SPRING 1987 *********"
- 90 PRINT
- 100 '
- 110 'BY RICHARD BAIN 10/24/86 (RF DESIGN FEBRUARY 1987)
- 115 'ENTERED BY ROBERT ENTWISTLE FOR T.S.C. 3/13/87
- 120 KEY ON
- 130 PRINT " 1 = SNR DEGRADATION FOR A GIVEN LEVEL OF INTERFERENCE"
- 140 PRINT " 2 = INTERFERENCE LEVEL FOR A GIVEN SNR DEGRADATION"
- 150 PRINT " 3 = POWER OR VOLTAGE SUM OF TWO POWERS IN dBm"
- 160 PRINT " 4 = UNKNOWN POWER IN dBM GIVEN SUM & ONE POWER"
- 170 PRINT " MENU ITEMS 5 TO 14 ACCEPT DATA FROM: MENU ITEMS"
- 180 PRINT " 5 = RHO ANGLE ALPHA TO Rs+/-JXs ----------------- (7)"
- 190 PRINT " 6 = Rs+/-JXs TO RHO ANGLE ALPHA -----------------(12,14)"
- 200 PRINT " 7 = RETURN LOSS TO RHO (REFLECTION COEFFICIENT)"
- 210 PRINT " 8 = RHO TO RETURN LOSS -------------------------- (6)"
- 220 PRINT " 9 = RHO TO VSWR --------------------------------- (6,7)"
- 230 PRINT "10 = RHO TO MISMATCH LOSS ------------------------ (6,7)"
- 240 PRINT "11 = Rs+/-JXs TO Rp,JXp -------------------------- (5,14)"
- 250 PRINT "12 = Rp,JXp TO Rs+/-JXs -------------------------- (11)"
- 260 PRINT "13 = Rs+/-JXs TO Z ANGLE THETA ------------------- (5,12)"
- 270 PRINT "14 = Z ANGLE THETA TO Rs+/-JXs ------------------- (13)"
- 275 PRINT
- 280 INPUT "TYPE YOUR SELECTION, 1 TO 14"; ELECT
- 290 CLS:KEY OFF
- 300 IF ELECT=1 THEN GOSUB 460
- 310 IF ELECT=2 THEN GOSUB 790
- 320 IF ELECT=3 THEN GOSUB 1140
- 330 IF ELECT=4 THEN GOSUB 1520
- 340 IF ELECT=5 THEN GOSUB 1880
- 350 IF ELECT=6 THEN GOSUB 2410
- 360 IF ELECT=7 THEN GOSUB 2980
- 370 IF ELECT=8 THEN GOSUB 3330
- 380 IF ELECT=9 THEN GOSUB 3720
- 390 IF ELECT=10 THEN GOSUB 4080
- 400 IF ELECT=11 THEN GOSUB 4460
- 410 IF ELECT=12 THEN GOSUB 4890
- 420 IF ELECT=13 THEN GOSUB 5320
- 430 IF ELECT=14 THEN GOSUB 5770
- 440 GOTO 80
- 450 '************************ START OF SUBROUTINES *************************
- 460 ' THIS SUB CALCULATES SNR DEGRADATION VS INTERFERING SIG LEVEL
- 470 NUM=0
- 480 PRINT "SNR DEGRADATION VS SIGNAL TO INTERFERENCE RATIO (SIR)"
- 490 NUM=NUM+1
- 500 INPUT "SIGNAL TO NOISE RATIO (dB) =? ",SNR(NUM)
- 510 INPUT "SIGNAL TO INTERFERENCE RATIO (dB) =? ",SIR(NUM)
- 520 NSRABS(NUM)=10^(-SNR(NUM)/10) 'NSRABS=NOISE TO SIGNAL RATIO
- 530 ISRABS(NUM)=10^(-SIR(NUM)/10) 'ISRABS=INTERFERENCE TO SIGNAL RATIO
- 540 NEWSNR(NUM)=-4.34294*LOG(NSRABS(NUM)+ISRABS(NUM))
- 550 DEGRAD(NUM)=SNR(NUM)-NEWSNR(NUM)
- 560 INPUT "1 = NEW SET OF VALUES, 2 = PRINT RESULTS ",CHOOSE
- 570 IF CHOOSE=1 THEN GOTO 490
- 580 CLS
- 590 PRINT "SNR DEGRADATION VS SIGNAL TO INTERFERENCE RATIO (SIR)"
- 600 PRINT
- 610 PRINT " SNR dB SIR dB NEW SNR dB DEGRAD dB"
- 620 FOR M=1 TO NUM
- 630 PRINT USING " +###.##";SNR(M),SIR(M),NEWSNR(M),DEGRAD(M)
- 640 NEXT M
- 650 LOCATE 25,1
- 660 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 670 IF DUMPIT=2 THEN 740
- 680 LPRINT "SNR DEGRADATION VS SIGNAL TO INTERFERENCE RATIO (SIR)"
- 690 LPRINT
- 700 LPRINT " SNR dB SIR dB NEW SNR dB DEGRAD dB"
- 710 FOR M=1 TO NUM
- 720 LPRINT USING " +###.##";SNR(M),SIR(M),NEWSNR(M),DEGRAD(M)
- 730 NEXT M
- 740 LOCATE 25,1
- 750 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 760 CLS
- 770 ELECT=20 'MENU VAR SET OUT OF RANGE
- 780 RETURN
- 790 '************************ MENU ITEM 2 ***********************
- 800 NUM=0
- 810 PRINT "SIGNAL TO INTERFERENCE RATIO (SIR) GIVEN SNR AND DEGRADATION"
- 820 NUM=NUM+1
- 830 INPUT "ENTER KNOWN SIGNAL TO NOISE RATIO (dB)=? ",SNR(NUM)
- 840 INPUT "ENTER KNOWN DEGRADATION (dB)=? ",DEGRAD(NUM)
- 850 NSRABS=10^(-SNR(NUM)/10)
- 860 NEWSNR(NUM)=SNR(NUM)-DEGRAD(NUM)
- 870 NEWNSRABS=10^(-NEWSNR(NUM)/10)
- 880 ISRABS=-NSRABS+NEWNSRABS
- 890 SIRDB(NUM)=-KLOG*LOG(ISRABS)
- 900 INPUT"1 = NEW SET OF VALUES, 2 = PRINT RESULTS ",CHOOSE
- 910 IF CHOOSE=1 THEN GOTO 820
- 920 CLS
- 930 PRINT"SIGNAL TO INTERFERENCE RATIO (SIR) GIVEN SNR AND DEGRADATION"
- 940 PRINT
- 950 PRINT" SNR dB DEGRAD dB NEW SNR dB SIR dB"
- 960 PRINT
- 970 FOR M=1 TO NUM
- 980 PRINT USING" +###.##";SNR(M),DEGRAD(M),NEWSNR(M),SIRDB(M)
- 990 NEXT M
- 1000 LOCATE 25,1
- 1010 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 1020 IF DUMPIT=2 THEN 1090
- 1030 LPRINT"SIGNAL TO INTERFERENCE RATIO (SIR) GIVEN SNR AND DEGRADATION"
- 1040 LPRINT
- 1050 LPRINT" SNR dB DEGRAD dB NEW SNR dB SIR dB"
- 1060 FOR M=1 TO NUM
- 1070 LPRINT USING" +###.##";SNR(M),DEGRAD(M),NEWSNR(M),SIRDB(M)
- 1080 NEXT M
- 1090 LOCATE 25,1
- 1100 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 1110 CLS
- 1120 ELECT=20
- 1130 RETURN
- 1140 '************************ MENU ITEM 3 ***********************
- 1150 NUM=0
- 1160 PRINT" POWER OR VOLTAGE SUM OF TWO POWERS IN dBm"
- 1170 PRINT
- 1180 INPUT"ENTER 1 FOR POWER ADDITION, 2 FOR VOLTAGE ADDITION ",P.OR.V
- 1190 NUM=NUM+1
- 1200 PRINT
- 1210 INPUT"ENTER FIRST POWER IN dBm ",P1(NUM)
- 1220 INPUT"ENTER SECOND POWER IN dBm ",P2(NUM)
- 1230 PSUM(NUM)=KLOG*LOG(10^(P1(NUM)/10)+10^(P2(NUM)/10)) 'POWER ADDITION
- 1240 IF P.OR.V=2 THEN PSUM(NUM)=2*KLOG*LOG(10^(P1(NUM)/20)+10^(P2(NUM)/20))
- 1250 INPUT"1 = ADD ANOTHER POWER TO SUM, 2 = CONTINUE ",WHICH
- 1255 'NOTE THAT P1 AND P2 WILL NOT BE CORRECT ON PRINTOUT FOR ABOVE STEP
- 1260 IF WHICH=1 THEN P1(NUM)=PSUM(NUM): GOTO 1220
- 1270 INPUT"1 = NEW SET OF VALUES, 2 = PRINT RESULTS ",CHOOSE
- 1280 IF CHOOSE=1 THEN 1190
- 1290 CLS
- 1300 IF P.OR.V=1 THEN PRINT" POWER ADDITION OF TWO POWERS IN dBm"
- 1310 IF P.OR.V=2 THEN PRINT" VOLTAGE ADDITION OF TWO POWERS IN dBm"
- 1320 PRINT
- 1330 PRINT" P1 dBm P2 dBm Psum dBm"
- 1340 PRINT
- 1350 FOR M=1 TO NUM
- 1360 PRINT USING " +###.##";P1(M),P2(M),PSUM(M)
- 1370 NEXT M
- 1380 LOCATE 25,1
- 1390 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 1400 IF DUMPIT=2 THEN 1470
- 1410 IF P.OR.V=1 THEN LPRINT" P1 dBm P2 dBm Psum dBm (POWER SUM)"
- 1420 IF P.OR.V=2 THEN LPRINT" P1 dBm P2 dBm Psum dBm (VOLTAGE SUM)"
- 1430 LPRINT
- 1440 FOR M=1 TO NUM
- 1450 LPRINT USING " +###.##",P1(M),P2(M),PSUM(M)
- 1460 NEXT M
- 1470 LOCATE 25,1
- 1480 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 1490 CLS
- 1500 ELECT=20
- 1510 RETURN
- 1520 '************************ MENU ITEM 4 ***********************
- 1530 PRINT"UNKNOWN POWER ADDED TO KNOWN POWER TO GIVE KNOWN SUM (dBm)"
- 1540 NUM=0
- 1550 PRINT
- 1560 INPUT"ENTER 1 FOR POWER SUBTRACTION, 2 FOR VOLTAGE ",P.OR.V
- 1570 NUM=NUM+1
- 1580 INPUT"ENTER KNOWN POWER (P1) IN dBm =? ",P1(NUM)
- 1590 INPUT"ENTER KNOWN SUM (Psum) IN dBm =? ",PSUM(NUM)
- 1600 IF P1(NUM)>PSUM(NUM) THEN PRINT"Psum MUST BE > P1! ":INPUT"PUSH ENTER TO CONTINUE",ANYCHAR:GOTO 1580
- 1610 P2(NUM)=KLOG*LOG(10^(PSUM(NUM)/10)-10^(P1(NUM)/10)) 'POWER DIFFERENCE
- 1620 IF P.OR.V=2 THEN P2(NUM)=2*KLOG*LOG(10^(PSUM(NUM)/20)-10^(P1(NUM)/20))
- 1630 INPUT"1 = NEW SET OF VALUES, 2 = PRINT RESULTS ";CHOOSE
- 1640 IF CHOOSE=1 THEN 1570
- 1650 CLS
- 1660 PRINT"UNKNOWN POWER ADDED TO KNOWN POWER TO GIVE A KNOWN SUM (dBm)"
- 1670 IF P.OR.V=1 THEN PRINT" POWER SUBTRACTION"
- 1680 IF P.OR.V=2 THEN PRINT" VOLTAGE SUBTRACTION"
- 1690 PRINT
- 1700 PRINT" Psum dBm P1 dBm Punknown dBm"
- 1710 FOR M=1 TO NUM
- 1720 PRINT USING " +###.##";PSUM(M),P1(M),P2(M)
- 1730 NEXT M
- 1740 LOCATE 25,1
- 1750 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 1760 IF DUMPIT=2 THEN 1850
- 1770 LPRINT" UNKNOWN POWER ADDED TO KNOWN POWER TO GIVE A KNOWN SUM (dBm)"
- 1780 IF P.OR.V=1 THEN LPRINT" POWER SUBTRACTION"
- 1790 IF P.OR.V=2 THEN LPRINT" VOLTAGE SUBTRACTION"
- 1800 LPRINT
- 1810 LPRINT" Psum dBm P1 dBm Punknown dBm"
- 1820 FOR M=1 TO NUM
- 1830 LPRINT USING " +###.##";PSUM(M),P1(M),P2(M)
- 1840 NEXT M
- 1850 LOCATE 25,1
- 1860 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 1870 CLS:ELECT=20:RETURN
- 1880 '************************ MENU ITEM 5 ***********************
- 1890 '
- 1900 PRINT" CONVERTS RHO ANGLE ALPHA TO Rs+/-JXs"
- 1910 PRINT" (RHO IS REFLECTION COEFFICIENT)"
- 1920 PRINT
- 1930 PRINT"PLEASE INDICATE IF THE DATA TO BE USED IS MENU SELECTION 7"
- 1940 PRINT"THAT IS TO BE CONVERTED OR IF NEW DATA IS BEING ENTERED."
- 1950 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 1960 IF WHICH=2 AND DATYPE<>7 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 1970 CLS
- 1980 IF WHICH=2 THEN 2060
- 1990 NUM=1 'NOTE THAT NUM IS IMPORTED FROM MENU ITEM 7 IF OLD DATA USED
- 2000 PRINT
- 2010 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 2020 INPUT"ENTER RHO,ANGLE ",RHO(NUM),ALPHA(NUM)
- 2030 IF RHO(NUM)=0 AND ALPHA(NUM)=0 THEN NUM=NUM-1:GOTO 2060
- 2040 NUM=NUM+1
- 2050 GOTO 2020
- 2060 FOR N=1 TO NUM
- 2070 A=1+RHO(N)*COS(ALPHA(N)*PI/180)
- 2080 C=1-RHO(N)*COS(ALPHA(N)*PI/180)
- 2090 B=RHO(N)*SIN(ALPHA(N)*PI/180)
- 2100 D=(A^2+B^2)^0.5
- 2110 E=(C^2+B^2)^0.5
- 2120 K=D/E
- 2130 ANG=(ATN(B/A)-ATN(-B/C))
- 2140 RS(N)=ZO*K*COS(ANG)
- 2150 JXS(N)=ZO*K*SIN(ANG)
- 2160 NEXT N
- 2170 DATYPE=5
- 2180 CLS
- 2190 PRINT" RHO ANGLE ALPHA CONVERTED TO Rs+/JXs"
- 2200 PRINT
- 2210 PRINT" RHO ALPHA Deg. Rs Ohms JXs Ohms"
- 2220 FOR N=1 TO NUM
- 2230 PRINT USING" +###.##";RHO(N),ALPHA(N);
- 2240 PRINT USING" +#.###^^^^";RS(N),JXS(N)
- 2250 NEXT N
- 2260 LOCATE 25,1
- 2270 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 2280 IF DUMPIT=2 THEN 2360
- 2310 LPRINT" RHO ALPHA Deg. Rs Ohms JXs Ohms"
- 2320 FOR N=1 TO NUM
- 2330 LPRINT USING" +###.##";RHO(N),ALPHA(N);
- 2340 LPRINT USING" +#.###^^^^";RS(N),JXS(N)
- 2350 NEXT N
- 2360 LOCATE 25,1
- 2370 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 2380 CLS
- 2390 ELECT=20
- 2400 RETURN
- 2410 '************************ MENU ITEM 6 ***********************
- 2420 '
- 2430 PRINT"CONVERTS Rs+/JXs TO RHO ANGLE ALPHA"
- 2440 PRINT
- 2450 PRINT"PLEASE INDICATE IF OLD DATA IS BEING USED, OR"
- 2460 PRINT"IF NEW DATA WILL BE ENTERED"
- 2470 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 2480 IF WHICH=2 AND DATYPE<>12 AND DATYPE<>14 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 2490 CLS
- 2500 IF WHICH=2 THEN 2580
- 2510 NUM=1
- 2520 PRINT
- 2530 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 2540 INPUT"ENTER Rs,JXs IN OHMS, WITH SIGN ",RS(NUM),JXS(NUM)
- 2550 IF RS(NUM)=O AND JXS(NUM)=0 THEN NUM=NUM-1:GOTO 2580
- 2560 NUM=NUM+1
- 2570 GOTO 2540
- 2580 FOR N=1 TO NUM
- 2590 IF RS(N)=ZO THEN RS(N)=ZO+0.000999999
- 2600 A=((RS(N)-ZO)^2+JXS(N)^2)^0.5
- 2610 B=((RS(N)+ZO)^2+JXS(N)^2)^0.5
- 2620 RHO(N)=A/B 'MAGNITUDE OF RHO
- 2630 COSANG1=JXS(N)/A
- 2640 SINANG1=(RS(N)-ZO)/A
- 2650 THETA1=ATN(JXS(N)/RS(N)-ZO)*180/PI 'CALC ARCTAN & CONVERT TO DEGREES
- 2660 IF COSANG1 <0 AND SINANG1 <0 THEN THETA1=THETA1-180
- 2670 IF COSANG1 >0 AND SINANG1 <0 THEN THETA1=THETA1+180
- 2680 'ABOVE 2 STEPS PUT ANGLE IN PROPER QUADRANT
- 2690 THETA2=ATN(JXS(N)/(RS(N)+ZO))*180/PI
- 2700 ALPHA(N)=THETA1-THETA2
- 2710 IF JXS(N)=0 AND RS(N) <50 THEN ALPHA(N)=180 'CORRECTS ANOMOLY @ JXS(N)=0
- 2720 NEXT N
- 2730 DATYPE=6
- 2740 CLS
- 2750 PRINT" Rs+/JXs CONVERTED TO RHO ANGLE ALPHA"
- 2760 PRINT
- 2770 PRINT" Rs ohms JXs ohms RHO ALPHA deg."
- 2775 PRINT
- 2780 FOR N=1 TO NUM
- 2790 PRINT USING" +#.###^^^^";RS(N),JXS(N);
- 2800 PRINT USING" .####";RHO(N);
- 2810 PRINT USING" +###.#";ALPHA(N)
- 2820 NEXT N
- 2830 LOCATE 25,1
- 2840 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 2850 IF DUMPIT=2 THEN 2940
- 2860 LPRINT" Rs ohms JXs ohms RHO ALPHA deg."
- 2880 LPRINT" Rs ohms JXs ohms RHO ALPHA deg."
- 2885 LPRINT
- 2890 FOR N=1 TO NUM
- 2900 LPRINT USING" +#.###^^^^";RS(N),JXS(N);
- 2910 LPRINT USING" .####";RHO(N);
- 2920 LPRINT USING" +###.#";ALPHA(N)
- 2930 NEXT N
- 2940 LOCATE 25,1
- 2950 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 2960 CLS:ELECT=20:RETURN
- 2970 '
- 2980 '************************ MENU ITEM 7 ***********************
- 2990 '
- 3000 PRINT" RETURN LOSS IN dB CONVERTED TO RHO"
- 3010 PRINT" (RHO IS REFLECTION COEFFICIENT)"
- 3020 PRINT
- 3030 NUM=1
- 3040 PRINT"ENTER 0 FOR DATA TO END INPUT"
- 3050 INPUT"ENTER RETURN LOSS IN dB (POSITIVE VALUE) ",RETLOSS(NUM)
- 3060 IF RETLOSS(NUM)=0 THEN NUM=NUM-1:GOTO 3100
- 3070 NUM=NUM+1
- 3080 GOTO 3050
- 3090 CLS
- 3100 FOR N=1 TO NUM
- 3110 RHO(N)=10^(-RETLOSS(N)/20)
- 3120 NEXT N
- 3130 DATYPE=7:CLS
- 3140 PRINT" RET LOSS dB RHO"
- 3150 PRINT
- 3160 FOR N=1 TO NUM
- 3170 PRINT USING" +##.##";RETLOSS(N);
- 3180 PRINT USING" #.###^^^^";RHO(N)
- 3190 NEXT N
- 3200 LOCATE 25,1
- 3210 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 3220 IF DUMPIT=2 THEN 3290
- 3230 LPRINT" RET LOSS dB RHO"
- 3240 LPRINT
- 3250 FOR N=1 TO NUM
- 3260 LPRINT USING" +##.##";RETLOSS(N);
- 3270 LPRINT USING" #.###^^^^";RHO(N)
- 3280 NEXT N
- 3290 LOCATE 25,1
- 3300 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 3310 CLS:ELECT=20:RETURN
- 3320 'NEXT SUB
- 3330 '************************ MENU ITEM 8 ***********************
- 3340 '
- 3350 PRINT" RHO CONVERTED TO RETURN LOSS IN dB"
- 3360 PRINT
- 3370 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 3380 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 3390 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 3400 IF WHICH=2 AND DATYPE<>6 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 3410 CLS: IF WHICH=2 THEN 3470
- 3420 NUM=1:PRINT
- 3430 PRINT"TO END INPUT: ENTER 0 FOR DATA"
- 3440 INPUT"ENTER RHO (REFL COEF) ",RHO(NUM)
- 3450 IF RHO(NUM)=0 THEN NUM=NUM-1:GOTO 3470
- 3460 NUM=NUM+1:GOTO 3440
- 3470 FOR N=1 TO NUM
- 3480 RETLOSS(N)=2*KLOG*LOG(RHO(N))
- 3490 NEXT N
- 3500 DATYPE=8:CLS
- 3510 PRINT" RHO CONVERTED TO RETURN LOSS IN dB"
- 3520 PRINT
- 3530 PRINT" RHO RETLOSS dB"
- 3540 PRINT
- 3550 FOR N=1 TO NUM
- 3560 PRINT USING" #.###^^^^";RHO(N);
- 3570 PRINT USING" +##.###";RETLOSS(N)
- 3580 NEXT N
- 3590 LOCATE 25,1
- 3600 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 3610 IF DUMPIT=2 THEN 1850
- 3640 LPRINT" RHO RETLOSS dB"
- 3650 LPRINT
- 3660 FOR N=1 TO NUM
- 3670 LPRINT USING" #.###^^^^";RHO(N);
- 3680 LPRINT USING" +##.###";RETLOSS(N)
- 3690 NEXT N
- 3700 LOCATE 25,1:INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 3710 CLS:ELECT=20:RETURN
- 3720 '************************ MENU ITEM 9 ***********************
- 3730 '
- 3740 PRINT"RHO CONVERTED TO VSWR (RHO NOT IN dB)"
- 3750 PRINT
- 3760 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 3770 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 3780 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 3790 IF WHICH=2 AND DATYPE<>6 AND DATYPE<>7 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 3800 IF WHICH=2 THEN 3860
- 3810 NUM=1:PRINT
- 3820 PRINT"TO END INPUT: ENTER 0 FOR DATA"
- 3830 INPUT"ENTER RHO (REF COEF) ",RHO(NUM)
- 3840 IF RHO(NUM)=0 THEN NUM=NUM-1:GOTO 3860
- 3850 NUM=NUM+1:GOTO 3830
- 3860 FOR N=1 TO NUM
- 3870 VSWR(N)=(1+RHO(N))/(1-RHO(N))
- 3880 NEXT N
- 3890 DATYPE=9:CLS
- 3900 PRINT" RHO CONVERTED TO VSWR"
- 3910 PRINT
- 3920 PRINT" RHO VSWR"
- 3930 FOR N=1 TO NUM
- 3940 PRINT USING" #.####";RHO(N);
- 3950 PRINT USING" ##.##";VSWR(N)
- 3960 NEXT N
- 3970 LOCATE 25,1
- 3980 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 3990 IF DUMPIT=2 THEN 4050
- 4000 LPRINT" RHO VSWR"
- 4010 FOR N=1 TO NUM
- 4020 LPRINT USING" #.####":RHO(N);
- 4030 LPRINT USING" ##.##";VSWR(N)
- 4040 NEXT N
- 4050 LOCATE 25,1:INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 4060 CLS:ELECT=20:RETURN
- 4070 '
- 4080 '************************ MENU ITEM 10 ***********************
- 4090 '
- 4100 PRINT"RHO CONVERTED TO MISMATCH LOSS IN dB"
- 4110 PRINT
- 4120 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 4130 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 4140 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 4150 IF WHICH=2 AND DATYPE<>6 AND DATYPE<>7 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 4160 CLS:IF WHICH=2 THEN 4220
- 4170 NUM=1:PRINT
- 4180 PRINT"TO END INPUT: ENTER 0 FOR DATA"
- 4190 INPUT"ENTER RHO (REFL COEF) ",RHO(NUM)
- 4200 IF RHO(NUM)=0 THEN NUM=NUM-1:GOTO 4220
- 4210 NUM=NUM+1:GOTO 4190
- 4220 FOR N=1 TO NUM
- 4230 MMLOSS(N)=-KLOG*LOG(1-RHO(N)^2) 'MISMATCH LOSS IN dB *** PROB? ***
- 4240 NEXT N
- 4250 DATYPE=10:CLS
- 4260 PRINT"RHO CONVERTED TO MISMATCH LOSS IN dB"
- 4270 PRINT
- 4280 PRINT" RHO MISMATCH LOSS dB"
- 4290 PRINT
- 4300 FOR N=1 TO NUM
- 4310 PRINT USING" #.####";RHO(N);
- 4320 PRINT USING" +##.###";MMLOSS(N)
- 4330 NEXT N
- 4340 LOCATE 25,1
- 4350 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 4360 IF DUMPIT=2 THEN 4430
- 4370 LPRINT" RHO MISMATCH LOSS dB"
- 4380 LPRINT
- 4390 FOR N=1 TO NUM
- 4400 LPRINT USING" #.####";RHO(N);
- 4410 LPRINT USING" +##.###";MMLOSS(N)
- 4420 NEXT N
- 4430 LOCATE 25,1:INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 4440 CLS:ELECT=20:RETURN
- 4450 '
- 4460 '************************ MENU ITEM 11 ***********************
- 4470 '
- 4480 PRINT"CONVERTS Rs+/=JXs TO Rp,JXp (ALL IN OHMS)"
- 4490 PRINT
- 4500 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 4510 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 4520 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 4530 IF WHICH=2 AND DATYPE<>5 AND DATYPE<>14 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 4540 CLS
- 4550 IF WHICH=2 THEN 4630
- 4560 NUM=1
- 4570 PRINT
- 4580 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 4590 INPUT"ENTER Rs/JXs IN OHMS, WITH SIGN ",RS(NUM),JXS(NUM)
- 4600 IF RS(NUM)=0 AND JXS(NUM)=0 THEN NUM=NUM-1:GOTO 4630
- 4610 NUM=NUM+1
- 4620 GOTO 4590
- 4630 FOR N=1 TO NUM
- 4640 IF RS(N)=0 THEN RS(N)=9.99E-07
- 4650 IF JXS(N)=0 THEN JXS(N)=9.99E-07
- 4660 JXP(N)=(RS(N)^2+JXS(N)^2)/JXS(N)
- 4670 RP(N)=(RS(N)^2+JXS(N)^2)/RS(N)
- 4680 NEXT N
- 4690 DATYPE=11:CLS
- 4700 PRINT" Rs+/-JXs CONVERTED TO Rp,JXp"
- 4710 PRINT
- 4720 PRINT" Rs ohms JXs ohms Rp ohms JXp ohms
- 4730 PRINT
- 4740 FOR N=1 TO NUM
- 4750 PRINT USING" +#.###^^^^";RS(N),JXS(N),RP(N),JXP(N)
- 4760 NEXT N
- 4770 LOCATE 25,1
- 4780 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 4790 IF DUMPIT=2 THEN 4850
- 4800 LPRINT" Rs ohms JXs ohms Rp ohms JXp ohms
- 4810 LPRINT
- 4820 FOR N=1 TO NUM
- 4830 LPRINT USING" +#.###^^^^";RS(N),JXS(N),RP(N),JXP(N)
- 4840 NEXT N
- 4850 LOCATE 25,1
- 4860 INPUT"PRESS ENTER TO TO RETURN TO MENU ",ANYKEY
- 4870 CLS:ELECT=20:RETURN
- 4880 '
- 4890 '************************ MENU ITEM 12 ***********************
- 4900 '
- 4910 PRINT"CONVERTS Rp,JXp TO Rs+/-JXs (ALL IN OHMS)"
- 4920 PRINT
- 4930 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 4940 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 4950 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 4960 IF WHICH=2 AND DATYPE<>11 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 4970 CLS
- 4980 IF WHICH=2 THEN 5060
- 4990 NUM=1
- 5000 PRINT
- 5010 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 5020 INPUT"ENTER Rp,JXp IN OHMS, WITH SIGN ",RP(NUM),JXP(NUM)
- 5030 IF RP(NUM)=0 AND JXP(NUM)= 0 THEN NUM=NUM-1:GOTO 5060
- 5040 NUM=NUM+1
- 5050 GOTO 5020
- 5060 FOR N=1 TO NUM
- 5070 IF RP(N)=0 THEN RP(N)=9.99E-07
- 5080 IF JXP(N)=0 THEN JXP(N)=9.99E-07
- 5090 RS(N)=RP(N)*JXP(N)^2/(RP(N)^2+JXP(N)^2)
- 5100 JXS(N)=RP(N)^2*JXP(N)/(RP(N)^2+JXP(N)^2)
- 5110 NEXT N
- 5120 DATYPE=12:CLS
- 5130 PRINT" Rp,JXp CONVERTED TO Rs+/-JXs"
- 5140 PRINT
- 5150 PRINT" Rp ohms JXp ohms Rs ohms JXs ohms
- 5160 PRINT
- 5170 FOR N=1 TO NUM
- 5180 PRINT USING" +#.###^^^^";RP(N),JXP(N),RS(N),JXS(N)
- 5190 NEXT N
- 5200 LOCATE 25,1
- 5210 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 5220 IF DUMPIT=2 THEN 5280
- 5230 LPRINT" Rp ohms JXp ohms Rs ohms JXs ohms
- 5240 LPRINT
- 5250 FOR N=1 TO NUM
- 5260 LPRINT USING" +#.###^^^^";RP(N),JXP(N),RS(N),JXS(N)
- 5270 NEXT N
- 5280 LOCATE 25,1
- 5290 INPUT"PRESS ENTER TO TO RETURN TO MENU ",ANYKEY
- 5300 CLS:ELECT=20:RETURN
- 5310 '
- 5320 '************************ MENU ITEM 13 ***********************
- 5330 '
- 5340 PRINT"CONVERTS Rs+/-JXs TO Z (OHMS) ANGLE THETA (DEG.)"
- 5350 PRINT
- 5360 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 5370 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 5380 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 5390 IF WHICH=2 AND DATYPE<>5 AND DATYPE<>12 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 5400 CLS
- 5410 IF WHICH=2 THEN 5490
- 5420 NUM=1
- 5430 PRINT
- 5440 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 5450 INPUT"ENTER Rs,JXs IN OHMS, WITH SIGN ",RS(NUM),JXS(NUM)
- 5460 IF RS(NUM)=0 AND JXS(NUM)=0 THEN NUM=NUM-1:GOTO 5490
- 5470 NUM=NUM+1
- 5480 GOTO 5450
- 5490 FOR N=1 TO NUM
- 5500 IF RS(N)=0 THEN RS(N)=9.99E-07
- 5510 IF JXS(N)=0 THEN JXS(N)=9.99E-07
- 5520 THETA(N)=ATN(JXS(N)/RS(N))*180/PI
- 5530 Z(N)=(RS(N)^2+JXS(N)^2)^0.5
- 5540 NEXT N
- 5550 DATYPE=13:CLS
- 5560 PRINT" Rs+/-JXs CONVERTED TO Z ANGLE THETA"
- 5570 PRINT
- 5580 PRINT" Rs ohms JXs ohms Z ohms THETA deg."
- 5590 PRINT
- 5600 FOR N=1 TO NUM
- 5610 PRINT USING" +#.###^^^^";RS(N),JXS(N),Z(N);
- 5620 PRINT USING" +###.##";THETA(N)
- 5630 NEXT N
- 5640 LOCATE 25,1
- 5650 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 5660 IF DUMPIT=2 THEN 5730
- 5670 LPRINT" Rs ohms JXs ohms Z ohms THETA deg."
- 5680 LPRINT
- 5690 FOR N=1 TO NUM
- 5700 LPRINT USING" +#.###^^^^";RS(N),JXS(N),Z(N);
- 5710 LPRINT USING" +###.##";THETA(N)
- 5720 NEXT N
- 5730 LOCATE 25,1
- 5740 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 5750 CLS:ELECT=20:RETURN
- 5760 '
- 5770 '************************ MENU ITEM 14 ***********************
- 5780 '
- 5790 PRINT"CONVERTS Z (OHMS) ANGLE THETA (DEG.) TO Rs+/-JXs (OHMS)"
- 5800 PRINT
- 5810 PRINT"PLEASE INDICATE IF OLD DATA WILL BE USED"
- 5820 PRINT"OR IF NEW DATA WILL BE ENTERED"
- 5830 INPUT"TYPE 1 TO ENTER NEW DATA, 2 TO USE OLD DATA ",WHICH
- 5840 IF WHICH=2 AND DATYPE<>13 THEN INPUT"NO OLD DATA !!, PRESS ENTER FOR MENU",ANYKEY:CLS:ELECT=20:RETURN
- 5850 CLS
- 5860 IF WHICH=2 THEN 5940
- 5870 NUM=1
- 5880 PRINT
- 5890 PRINT"TO END INPUT: ENTER 0,0 FOR DATA"
- 5900 INPUT"ENTER Z IN OHMS, THETA IN DEGREES ",Z(NUM),THETA(NUM)
- 5910 IF Z(NUM)=0 AND THETA(NUM)=0 THEN NUM=NUM-1:GOTO 5940
- 5920 NUM=NUM+1
- 5930 GOTO 5900
- 5940 FOR N=1 TO NUM
- 5950 JXS(N)=Z(N)*SIN(PI*THETA(N)/180)
- 5960 RS(N)=Z(N)*COS(PI*THETA(N)/180)
- 5970 NEXT N
- 5980 DATYPE=14:CLS
- 5990 PRINT" Z ANGLE THETA CONVERTED TO Rs+/-JXs"
- 6000 PRINT
- 6010 PRINT" Z ohms THETA deg. Rs ohms JXs ohms"
- 6020 PRINT
- 6030 FOR N=1 TO NUM
- 6040 PRINT USING" +#.###^^^^";Z(N),THETA(N),RS(N),JXS(N)
- 6050 NEXT N
- 6060 LOCATE 25,1
- 6070 INPUT"1 = DUMP TO PRINTER, 2 = NO DUMP ? ",DUMPIT
- 6080 IF DUMPIT=2 THEN 6140
- 6090 LPRINT" Z ohms THETA deg. Rs ohms JXs ohms"
- 6100 LPRINT
- 6110 FOR N=1 TO NUM
- 6120 LPRINT USING" +#.###^^^^";Z(N),THETA(N),RS(N),JXS(N)
- 6130 NEXT N
- 6140 LOCATE 25,1
- 6150 INPUT"PRESS ENTER TO RETURN TO MENU ",ANYKEY
- 6160 CLS:ELECT=20:RETURN
- 6170 END
-