home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / rf4 / pi-match.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-04-15  |  2.2 KB  |  79 lines

  1. 100  REM                PI-MATCHING NETWORK DESIGN PROGRAM
  2. 105  REM                ----------------------------------
  3. 106  REM
  4. 110  REM       FROM THE 73 MAGAZINE ARTICLE "THE MICRO MAGIC PI DESIGNER"
  5. 120  REM       (DATE UNKNOWN).  PROGRAM AND ARTICLE WRITTEN BY GIL BOELKE.
  6. 130  REM
  7. 140  REM    TYPED IN BY KEVIN MCCLANING.  04 MARCH 86.
  8. 145  REM
  9. 150  CLS:PRINT "PI-MATCHING NETWORK DESIGN PROGRAM":PRINT
  10. 155  PRINT "NOTE: THE MINIMUM Q IS THE LOWEST LOSS AND THE LEAST CRITICAL"
  11. 156  PRINT "   IN PARTS VALUE.":PRINT:PRINT
  12. 160  INPUT "FREQUENCY (IN MHZ)";F: IF F <=0 THEN 160 ELSE F = F*1E+06
  13. 170  PRINT:INPUT "MATCHING NETWORK INPUT IMPEDANCE (IN OHMS)";R1
  14. 180  INPUT "MATCHING NETWORK OUTPUT IMPEDANCE (IN OHMS)";R2
  15. 190  Y1=0:IF R2 > R1 THEN SWAP R1, R2: Y1 = 1
  16. 200  Q0 = SQR(R1/R2-1)
  17. 210  Q0 = INT(Q0*100000+0.5)/100000
  18. 220  PRINT "Q VALUE (MIN IS";Q0;")";:INPUT Q$
  19. 230  Q=VAL(Q$)
  20. 240  PI = 3.14159
  21. 250  IF Q$ = "MIN" OR Q = 0 THEN Q = Q0: GOTO 640
  22. 260  IF Q < Q0 THEN 220
  23. 265  REM
  24. 266  REM
  25. 270  REM                        CALCULATIONS
  26. 275  REM
  27. 276  REM
  28. 280  IF Q = 0 THEN X1 = 1E+38: GOTO 260
  29. 290  X1 = R1/Q
  30. 300  X2 = Q*Q + 1 - R1/R2
  31. 310  IF X2 <= 0 THEN PRINT "UNREASONABLE PROBLEM.": GOTO 170
  32. 320  X2 = SQR(R1*R2/X2)
  33. 330  X3 = Q*R1 + (R1*R2/X2)
  34. 340  X3 = X3/(Q*Q+1)
  35. 350  C1 = 1/2/PI/X1/F
  36. 360  C2 = 1/2/PI/X2/F
  37. 370  L = X3/2/PI/F
  38. 375  REM
  39. 376  REM
  40. 380  REM                         SCHEMATIC
  41. 385  REM
  42. 386  REM
  43. 390  PRINT
  44. 400  PRINT "O--------UUUUU--------O"
  45. 410  PRINT "    !      L      !"
  46. 420  PRINT "    !             !"
  47. 430  PRINT "   ---           ---"
  48. 440  PRINT "   --- C1        --- C2"
  49. 450  PRINT "    !             !"
  50. 460  PRINT "    !             !"
  51. 470  PRINT "O---------------------O"
  52. 480  IF Y1 > 0 THEN PRINT R2; TAB(20) R1: GOTO 500
  53. 490  PRINT R1; TAB(16) R2
  54. 500  IF L >= 9.99E-07 THEN PRINT "L = ";INT(L*1E+09+0.5)/1000;" UH": GOTO 520
  55. 510  PRINT "L = "; INT(L*1E+09+0.5);" NH"
  56. 520  PRINT "C1 = "; INT(C1*1E+12 + 0.5);" PF"
  57. 530  PRINT "C2 = "; INT(C2*1E+12 + 0.5);" PF"
  58. 540  PRINT
  59. 550  INPUT "ANOTHER Q VALUE";A$
  60. 560  IF ASC(A$) = 89 THEN 190
  61. 570  INPUT "IMPEDENCE CHANGE";A$
  62. 580  IF ASC(A$) = 89 THEN 170
  63. 590  INPUT "ANOTHER FREQUENCY";A$
  64. 600  IF ASC(A$) = 89 THEN INPUT "NEW FREQUENCY (IN MHZ)";F: IF F <= 0 THEN 600 ELSE F = F*1E+06: GOTO 200
  65. 610  INPUT "ANOTHER RUN";A$: IF ASC(A$) = 89 THEN 160
  66. 620  END
  67. 625  REM
  68. 626  REM
  69. 630  REM                    MIN Q YIELDS AN L NETWORK
  70. 635  REM
  71. 636  REM
  72. 640  IF Q = 0 THEN PRINT "USE A SHORT CIRCUIT, DUM-DUM !!": GOTO 220
  73. 650  X3 = Q*R2
  74. 660  X1 = R1/Q: C1 = 0: C2 = 0: X2 = X1
  75. 670  IF Y1 = 1 THEN 360
  76. 680  C1 = 1/2/PI/F/X1
  77. 690  GOTO 370
  78. 700  END
  79.