home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
tech
/
design2
/
pi-match.asc
< prev
next >
Wrap
Text File
|
1986-04-16
|
3KB
|
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*1000000!
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!+.5)/100000!
220 PRINT "Q VALUE (MIN IS";Q0;")";:INPUT Q$
230 Q=VAL(Q$)
240 PI = 3.1415926535#
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 = 9.999999E+37: 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 >= .000001 THEN PRINT "L = ";INT(L*1E+09+.5)/1000!;" UH": GOTO 520
510 PRINT "L = "; INT(L*1E+09+.5);" NH"
520 PRINT "C1 = "; INT(C1*1E+12 + .5);" PF"
530 PRINT "C2 = "; INT(C2*1E+12 + .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*1000000!: 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