home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-04-15 | 2.2 KB | 79 lines |
- 100 REM PI-MATCHING NETWORK DESIGN PROGRAM
- 105 REM ----------------------------------
- 106 REM
- 110 REM FROM THE 73 MAGAZINE ARTICLE "THE MICRO MAGIC PI DESIGNER"
- 120 REM (DATE UNKNOWN). PROGRAM AND ARTICLE WRITTEN BY GIL BOELKE.
- 130 REM
- 140 REM TYPED IN BY KEVIN MCCLANING. 04 MARCH 86.
- 145 REM
- 150 CLS:PRINT "PI-MATCHING NETWORK DESIGN PROGRAM":PRINT
- 155 PRINT "NOTE: THE MINIMUM Q IS THE LOWEST LOSS AND THE LEAST CRITICAL"
- 156 PRINT " IN PARTS VALUE.":PRINT:PRINT
- 160 INPUT "FREQUENCY (IN MHZ)";F: IF F <=0 THEN 160 ELSE F = F*1E+06
- 170 PRINT:INPUT "MATCHING NETWORK INPUT IMPEDANCE (IN OHMS)";R1
- 180 INPUT "MATCHING NETWORK OUTPUT IMPEDANCE (IN OHMS)";R2
- 190 Y1=0:IF R2 > R1 THEN SWAP R1, R2: Y1 = 1
- 200 Q0 = SQR(R1/R2-1)
- 210 Q0 = INT(Q0*100000+0.5)/100000
- 220 PRINT "Q VALUE (MIN IS";Q0;")";:INPUT Q$
- 230 Q=VAL(Q$)
- 240 PI = 3.14159
- 250 IF Q$ = "MIN" OR Q = 0 THEN Q = Q0: GOTO 640
- 260 IF Q < Q0 THEN 220
- 265 REM
- 266 REM
- 270 REM CALCULATIONS
- 275 REM
- 276 REM
- 280 IF Q = 0 THEN X1 = 1E+38: GOTO 260
- 290 X1 = R1/Q
- 300 X2 = Q*Q + 1 - R1/R2
- 310 IF X2 <= 0 THEN PRINT "UNREASONABLE PROBLEM.": GOTO 170
- 320 X2 = SQR(R1*R2/X2)
- 330 X3 = Q*R1 + (R1*R2/X2)
- 340 X3 = X3/(Q*Q+1)
- 350 C1 = 1/2/PI/X1/F
- 360 C2 = 1/2/PI/X2/F
- 370 L = X3/2/PI/F
- 375 REM
- 376 REM
- 380 REM SCHEMATIC
- 385 REM
- 386 REM
- 390 PRINT
- 400 PRINT "O--------UUUUU--------O"
- 410 PRINT " ! L !"
- 420 PRINT " ! !"
- 430 PRINT " --- ---"
- 440 PRINT " --- C1 --- C2"
- 450 PRINT " ! !"
- 460 PRINT " ! !"
- 470 PRINT "O---------------------O"
- 480 IF Y1 > 0 THEN PRINT R2; TAB(20) R1: GOTO 500
- 490 PRINT R1; TAB(16) R2
- 500 IF L >= 9.99E-07 THEN PRINT "L = ";INT(L*1E+09+0.5)/1000;" UH": GOTO 520
- 510 PRINT "L = "; INT(L*1E+09+0.5);" NH"
- 520 PRINT "C1 = "; INT(C1*1E+12 + 0.5);" PF"
- 530 PRINT "C2 = "; INT(C2*1E+12 + 0.5);" PF"
- 540 PRINT
- 550 INPUT "ANOTHER Q VALUE";A$
- 560 IF ASC(A$) = 89 THEN 190
- 570 INPUT "IMPEDENCE CHANGE";A$
- 580 IF ASC(A$) = 89 THEN 170
- 590 INPUT "ANOTHER FREQUENCY";A$
- 600 IF ASC(A$) = 89 THEN INPUT "NEW FREQUENCY (IN MHZ)";F: IF F <= 0 THEN 600 ELSE F = F*1E+06: GOTO 200
- 610 INPUT "ANOTHER RUN";A$: IF ASC(A$) = 89 THEN 160
- 620 END
- 625 REM
- 626 REM
- 630 REM MIN Q YIELDS AN L NETWORK
- 635 REM
- 636 REM
- 640 IF Q = 0 THEN PRINT "USE A SHORT CIRCUIT, DUM-DUM !!": GOTO 220
- 650 X3 = Q*R2
- 660 X1 = R1/Q: C1 = 0: C2 = 0: X2 = X1
- 670 IF Y1 = 1 THEN 360
- 680 C1 = 1/2/PI/F/X1
- 690 GOTO 370
- 700 END
-