home *** CD-ROM | disk | FTP | other *** search
- 100 CLS :KEY OFF :REM "14-MATCH"
- 110 PRINT TAB(25);"**** 14 MATCHING NETWORKS ****" :PRINT :PRINT
- 120 REM A.LaPENN -1985
- 130 PRINT "This program designs three element matching networks, as follows:"
- 140 PRINT
- 150 PRINT " TYPE to MATCH 1st ELEMENT 2nd ELEMENT 3rd ELEMENT"
- 160 PRINT
- 170 PRINT " 1 LOWPASS RS<=RL Shunt C Series L Shunt C"
- 180 PRINT " 2 HIGHPASS RS<=RL Shunt L Series C Shunt L"
- 190 PRINT " 3 LOWPASS RS<=RL Shunt L Series L Shunt C"
- 200 PRINT " 4 HIGHPASS RS<=RL Shunt C Series C Shunt L"
- 210 PRINT " 5 LOWPASS RS<=RL Series L Shunt C Series L"
- 220 PRINT " 6 HIGHPASS RS<=RL Series C Shunt L Series C"
- 230 PRINT " 7 LOWPASS RS<=RL Series L Shunt C Series C"
- 240 PRINT " 8 HIGHPASS RS<=RL Series C Shunt L Series C"
- 250 PRINT " 9 LOWPASS RS<=RL Series C Series L Shunt C"
- 260 PRINT "10 HIGHPASS RS<=RL SERIES L SERIES C SHUNT L"
- 270 PRINT "11 LOWPASS RS<=RL Series L Shunt C Shunt L"
- 280 PRINT "12 HIGHPASS RS<=RL Series C Shunt L Shunt C"
- 290 PRINT "13 LOWPASS RS<=RL Series L Shunt C None"
- 300 PRINT "14 HIGHPASS RS<=RL Series C Shunt L None"
- 310 PRINT :BEEP :INPUT "ENTER: SOURCE RESISTANCE (ohms) ";RS
- 320 PRINT :BEEP :INPUT " LOAD RESISTANCE (ohms) ";RL :IF RS<=RL THEN 340
- 330 PRINT :BEEP :PRINT "RS MUST BE < OR = TO RL" :PRINT :GOTO 310
- 340 QM=SQR(RL/RS-1) :PI=4*ATN(1)
- 350 PRINT :BEEP :PRINT " FREQUENCY (Mhz) FOR nh & pf or 0 ";
- 360 INPUT "for REACTANCE (OHMS) ";FO :FO=FO*10^6
- 370 PRINT :BEEP :INPUT " NETWORK TYPE (SEE ABOVE), [1-14]";NET
- 380 IF NET<1 OR NET>14 THEN 370
- 390 PRINT :PRINT TAB(27);"Qmin=";INT(QM*100)/100 :Q=QM
- 400 IF NET>12 THEN 430
- 410 PRINT :BEEP :INPUT "ENTER: DESIRED Q, NOTE: Q>=Qmin ";Q :IF Q>=QM THEN 430
- 420 PRINT :PRINT "Q MUST BE > OR = TO";INT(QM*100)/100 :GOTO 410
- 430 ON NET GOSUB 680,680,750,750,820,820,890,890,960,960,1030,1030,1100,1100
- 440 IF FO=0 THEN 580
- 450 ON SGN(X1)+2 GOTO 460,470,480
- 460 F1=(1/(2*PI*FO*X1))*-1
- 470 GOTO 490
- 480 F1=X1/(2*PI*FO)
- 490 ON SGN(X2)+2 GOTO 500,510,520
- 500 F2=(1/(2*PI*FO*X2))*-1
- 510 GOTO 530
- 520 F2=X2/(2*PI*FO)
- 530 IF NET>12 THEN 580
- 540 ON SGN(X3)+2 GOTO 550,560,570
- 550 F3=(1/(2*PI*FO*X3))*-1
- 560 GOTO 580
- 570 F3=X3/(2*PI*FO)
- 580 GOSUB 1210
- 590 PRINT :BEEP :PRINT "HARD COPY REQUIRED? (Y/N)"
- 600 P$=INKEY$ :IF P$="" THEN 600
- 610 IF P$="Y" THEN 630
- 620 IF P$<>"N" THEN 600 ELSE 640
- 630 GOSUB 1490
- 640 PRINT :BEEP :PRINT "CONTINUE? (Y/N)"
- 650 A$=INKEY$ :IF A$="" THEN 650
- 660 IF A$="Y" THEN RUN
- 670 IF A$<>"N" THEN 650 ELSE END
- 680 REM NET 1 RS<=RL
- 690 X1=RS*(SQR((RL/RS)/(Q^2+1-(RL/RS))))*-1
- 700 X2=(Q*RL-(RS*RL/X1))/(Q^2+1)
- 710 X3=(RL/Q)*-1
- 720 IF NET=1 THEN 740
- 730 GOSUB 1160
- 740 RETURN
- 750 REM NET 3 RS<RL
- 760 X1=RS/(SQR(((RS*(Q^2+1))/RL)-1))
- 770 X2=((RL*Q)/(Q^2+1))*(1-RS/(Q*X1))
- 780 X3=(RL/Q)*-1
- 790 IF NET=3 THEN 810
- 800 GOSUB 1160
- 810 RETURN
- 820 REM NET 5 RS<=RL
- 830 X1=RS*Q
- 840 X2=(RS*(1+Q^2)*-1)/(Q+SQR(((RS*(1+Q^2))/RL)-1))
- 850 X3=RL*SQR(((RS*(1+Q^2))/RL)-1)
- 860 IF NET=5 THEN 880
- 870 GOSUB 1160
- 880 RETURN
- 890 REM NET 7 RS<RL
- 900 X1=RS*Q
- 910 X2=(RS*(1+Q^2)*-1)/(Q-(SQR(((RS*(1+Q^2))/RL)-1)))
- 920 X3=RL*SQR(((RS*(1+Q^2))/RL)-1)*-1
- 930 IF NET=7 THEN 950
- 940 GOSUB 1160
- 950 RETURN
- 960 REM NET 9 RS<RL
- 970 X1=-Q*RS
- 980 X2=SQR(RS*RL-(RS^2))-X1
- 990 X3=(-RS*RL)/(X1+X2)
- 1000 IF NET=9 THEN 1020
- 1010 GOSUB 1160
- 1020 RETURN
- 1030 REM NET 11 RS<RL
- 1040 X1=RS*SQR((RL/RS)-1)
- 1050 X3=RL/Q
- 1060 X2=-X3/((X1/(Q*RS))+1)
- 1070 IF NET=11 THEN 1090
- 1080 GOSUB 1160
- 1090 RETURN
- 1100 REM NET 13
- 1110 X1=SQR((RS*RL)-(RS^2))
- 1120 X2=(RS*RL*-1)/X1
- 1130 IF NET=13 THEN 1150
- 1140 GOSUB 1160
- 1150 RETURN
- 1160 REM INVERSE SUBROUTINE
- 1170 X1=X1*-1 :X2=X2*-1
- 1180 IF NET=14 THEN 1200
- 1190 X3=X3*-1
- 1200 RETURN
- 1210 REM PRINT ROUTINE
- 1220 CLS :PRINT TAB(25);"*** MATCHING NETWORK No.";NET;" ***"
- 1230 PRINT :PRINT "SOURCE RESISTANCE =";INT(RS*100)/100;"ohms";
- 1240 PRINT TAB(40);"LOAD RESISTANCE =";INT(RL*100)/100;"ohms"
- 1250 PRINT :PRINT "Qmin =";INT(QM*100)/100; :IF QM=Q THEN PRINT :GOTO 1270
- 1260 PRINT TAB(40);"Q =";INT(Q*100)/100
- 1270 IF FO<>0 THEN 1340
- 1280 PRINT :PRINT "X1 =";INT(X1*100)/100;"ohms";
- 1290 PRINT TAB(27);"X2 =";INT(X2*100)/100;"ohms";
- 1300 IF NET>12 THEN PRINT :GOTO 1320
- 1310 PRINT TAB(54);"X3 =";INT(X3*100)/100;"ohms"
- 1320 PRINT :PRINT "POSITIVE Nos. ARE INDUCTIVE; NEGATIVE Nos. ARE CAPACITIVE"
- 1330 RETURN
- 1340 PRINT :PRINT "FREQUENCY =";INT(FO*10^-6*100)/100;"Mhz"
- 1350 ON SGN(X1)+2 GOTO 1360,1370,1380
- 1360 PRINT :PRINT "C1 =";INT(F1*10^12*100)/100;"pf"
- 1370 GOTO 1390
- 1380 PRINT :PRINT "L1 =";INT(F1*10^9*100)/100;"nh"
- 1390 ON SGN(X2)+2 GOTO 1400,1410,1420
- 1400 PRINT :PRINT "C2 =";INT(F2*10^12*100)/100;"pf"
- 1410 GOTO 1430
- 1420 PRINT :PRINT "L2 =";INT(F2*10^9*100)/100;"nh"
- 1430 IF NET>12 THEN 1480
- 1440 ON SGN(X3)+2 GOTO 1450,1460,1470
- 1450 PRINT :PRINT "C3 =";INT(F3*10^12*100)/100;"pf"
- 1460 GOTO 1480
- 1470 PRINT :PRINT "L3 =";INT(F3*10^9*100)/100;"nh"
- 1480 RETURN
- 1490 LPRINT :LPRINT TAB(25);"*** MATCHING NETWORK No.";NET;" ***"
- 1500 LPRINT :LPRINT "SOURCE RESISTANCE =";INT(RS*100)/100;"ohms";
- 1510 LPRINT TAB(40);"LOAD RESISTANCE =";INT(RL*100)/100;"ohms"
- 1520 LPRINT "Qmin =";INT(QM*100)/100; :IF QM=Q THEN LPRINT :GOTO 1540
- 1530 LPRINT TAB(40);"Q =";INT(Q*100)/100
- 1540 IF FO<>0 THEN 1610
- 1550 LPRINT "X1 =";INT(X1*100)/100;"ohms";
- 1560 LPRINT TAB(27);"X2 =";INT(X2*100)/100;"ohms";
- 1570 IF NET>12 THEN 1590
- 1580 LPRINT TAB(54);"X3 =";INT(X3*100)/100;"ohms"
- 1590 LPRINT :LPRINT "POSITIVE Nos. ARE INDUCTIVE; NEGATIVE Nos. ARE CAPACITIVE"
- 1600 RETURN
- 1610 LPRINT "FREQUENCY =";INT(FO*10^-6*100)/100;"Mhz"
- 1620 ON SGN(X1)+2 GOTO 1630,1640,1650
- 1630 LPRINT "C1 =";INT(F1*10^12*100)/100;"pf"
- 1640 GOTO 1660
- 1650 LPRINT "L1 =";INT(F1*10^9*100)/100;"nh"
- 1660 ON SGN(X2)+2 GOTO 1670,1680,1690
- 1670 LPRINT "C2 =";INT(F2*10^12*100)/100;"pf"
- 1680 GOTO 1700
- 1690 LPRINT "L2 =";INT(F2*10^9*100)/100;"nh"
- 1700 IF NET>12 THEN 1750
- 1710 ON SGN(X3)+2 GOTO 1720,1730,1740
- 1720 LPRINT "C3 =";INT(F3*10^12*100)/100;"pf"
- 1730 GOTO 1750
- 1740 LPRINT "L3 =";INT(F3*10^9*100)/100;"nh"
- 1750 RETURN