home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / design2 / lozd-tun.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-04-15  |  4.3 KB  |  165 lines

  1. 10  REM
  2. 20  REM                      LOW-Z DOUBLE-TUNED CIRCUIT DESIGN
  3. 30  REM                      ---------------------------------
  4. 40  REM                             BY KEVIN MCCLANING
  5. 50  REM
  6. 60  REM     THIS PROGRAM IS BASED ON THE ARTICLE "LOW-IMPEDANCE DOUBLE-
  7. 70  REM TUNED CIRCUITS" BY ANDRZEJ PRZEDPEISKI, RF DESIGN MAGAZINE,
  8. 80  REM MAY/JUNE 1982, PG 24.
  9. 90  REM
  10. 100  REM
  11. 110  CLS:PRINT
  12. 120  PRINT"                 LOW-Z DOUBLE-TUNED CIRCUIT DESIGN"
  13. 130  PRINT"                 ---------------------------------"
  14. 140  PRINT
  15. 150  PRINT "    THIS PROGRAM ALLOWS THE USER TO DESIGN DOUBLE-TUNED CIRCUITS"
  16. 160  PRINT "FROM USER-SUPPLIED PARAMETERS.  THE CIRCUITS HERE ARE DUAL"
  17. 170  PRINT "L-C NETWORKS, CAPACITIVELY COUPLED."
  18. 180  REM
  19. 190  PI = 3.14159
  20. 200  TWOPI = 2*PI
  21. 210  REM
  22. 220  REM
  23. 230  REM
  24. 240  REM         DEFINE A NEW NETWORK
  25. 250  REM
  26. 260  REM
  27. 270  REM
  28. 280  GOSUB 820:PRINT
  29. 290  PRINT "DEFINE A NEW NETWORK":PRINT
  30. 300  GOSUB 860:                          REM GET THE CENTER FREQ
  31. 310  GOSUB 890:                          REM GET SOURCE IMPEDENCE
  32. 320  GOSUB 920:                          REM GET LOAD IMPEDENCE
  33. 330  GOSUB 950:                          REM GET INDUCTANCE
  34. 340  GOSUB 980:                          REM GET INDUCTOR Q
  35. 350  GOSUB 1010:                          REM GET CIRCUIT Q
  36. 360  GOSUB 1250:                          REM CALCULATE
  37. 370  GOSUB 1040                           REM OUTPUT TO SCREEN
  38. 380  PRINT "WHAT'LL IT BE:"
  39. 390  PRINT "  1 - TWIDDLE WITH A PARAMETER"
  40. 400  PRINT "  2 - DESIGN A NEW NETWORK"
  41. 410  PRINT "  3 - PRINT"
  42. 420  PRINT "  4 - END"
  43. 430  INPUT ANS
  44. 440  IF ANS = 1 THEN 490
  45. 450  IF ANS = 2 THEN GOSUB 180:GOTO 380
  46. 460  IF ANS = 3 THEN GOSUB 1450:GOSUB 820:GOTO 380
  47. 470  IF ANS = 4 THEN CLS:END
  48. 480  BEEP:GOTO 380
  49. 490  REM
  50. 500  REM
  51. 510  REM
  52. 520  REM
  53. 530  REM             TWIDDLE WITH A PARAMETER
  54. 540  REM
  55. 550  REM
  56. 560  REM
  57. 570  GOSUB 820
  58. 580  PRINT "WHICH PARAMETER WOULD YOU LIKE TO TWIDDLE"
  59. 590  PRINT "  1 - CENTER FREQ"
  60. 600  PRINT "  2 - SOURCE IMPEDENCE"
  61. 610  PRINT "  3 - LOAD IMPEDENCE"
  62. 620  PRINT "  4 - INDUCTANCE"
  63. 630  PRINT "  5 - INDUCTOR Q"
  64. 640  PRINT "  6 - CIRCUIT Q"
  65. 650  PRINT "  7 - MAIN MENU"
  66. 660  INPUT ANS
  67. 670  IF ANS = 1 THEN GOSUB 860:GOSUB 1250:GOSUB 1040:GOTO 580
  68. 680  IF ANS = 2 THEN GOSUB 890:GOSUB 1250:GOSUB 1040:GOTO 580
  69. 690  IF ANS = 3 THEN GOSUB 920:GOSUB 1250:GOSUB 1040:GOTO 580
  70. 700  IF ANS = 4 THEN GOSUB 950:GOSUB 1250:GOSUB 1040:GOTO 580
  71. 710  IF ANS = 5 THEN GOSUB 980:GOSUB 1250:GOSUB 1040:GOTO 580
  72. 720  IF ANS = 6 THEN GOSUB 1010:GOSUB 1250:GOSUB 1040:GOTO 580
  73. 730  IF ANS = 7 THEN GOSUB 820:GOTO 380
  74. 740  BEEP:GOTO 580
  75. 750  REM
  76. 760  REM
  77. 770  REM
  78. 780  REM              SUBROUTINES
  79. 790  REM
  80. 800  REM
  81. 810  REM
  82. 820  PRINT "----------------------------":RETURN
  83. 830  REM
  84. 840  LPRINT "----------------------------":RETURN
  85. 850  REM
  86. 860  INPUT "ENTER DESIRED CENTER FREQ (MHz)";F0:F0 = F0*1E+06
  87. 870  RETURN
  88. 880  REM
  89. 890  INPUT "ENTER SOURCE IMPEDANCE (OHMS)";RS
  90. 900  RETURN
  91. 910  REM
  92. 920  INPUT "ENTER LOAD IMPEDANCE (OHMS)";R0
  93. 930  RETURN
  94. 940  REM
  95. 950  INPUT "ENTER INDUCTANCE (uH)";L:L = L*9.99E-07
  96. 960  RETURN
  97. 970  REM
  98. 980  INPUT "ENTER TYPICAL INDUCTOR Q";QL:QL = ABS(QL)
  99. 990  RETURN
  100. 1000  REM
  101. 1010  INPUT "ENTER DESIRED CIRCUIT Q";Q0:Q0 = ABS(Q0)
  102. 1020  RETURN
  103. 1030  REM
  104. 1040  GOSUB 820
  105. 1050  PRINT "DOUBLE-TUNED CIRCUIT"
  106. 1060  PRINT "    CENTER FREQ = ";(INT(F0/10000))/100;" MHz"
  107. 1070  PRINT "    SOURCE IMPEDENCE = ";RS;" OHMS"
  108. 1080  PRINT "    LOAD IMPEDENCE = ";R0;" OHMS"
  109. 1090  PRINT "    INDUCTANCE = ";L*1E+06;" uH"
  110. 1100  PRINT "    INDUCTOR Q = ";QL
  111. 1110  PRINT "    CIRCUIT Q = ";Q0
  112. 1120  PRINT "    XL = ";XL;"     L = ";INT(L*1E+08)/100;" uH"
  113. 1130  PRINT "    X1 = ";X1;"    C1 = ";INT(C1*1E+14)/100;" pF"
  114. 1140  PRINT "    X2 = ";X2;"    C2 = ";INT(C2*1E+14)/100;" pF"
  115. 1150  PRINT "    X3 = ";X3;"    C3 = ";INT(C3*1E+14)/100;" pF"
  116. 1160  PRINT "    X4 = ";X4;"    C4 = ";INT(C4*1E+14)/100;" pF"
  117. 1170  PRINT "    X5 = ";X5;"    C5 = ";INT(C5*1E+14)/100;" pF"
  118. 1180  GOSUB 820:RETURN
  119. 1190  REM
  120. 1200  REM
  121. 1210  REM
  122. 1220  REM  MAIN CALCULATION LOOP
  123. 1230  REM
  124. 1240  REM
  125. 1250  XL = TWOPI*F0*L
  126. 1260  RL = QL*XL
  127. 1270  R8 = Q0*XL
  128. 1280  X3 = -R8
  129. 1290  RT = RL*Q0*XL/(RL-(Q0*XL))
  130. 1300  XT = X3/(Q0-1)
  131. 1310  R1  = RT/(1+(RT*RT/(XT*XT)))
  132. 1320  X1 = 0-SQR(R1*RS*RS/(RS-R1))
  133. 1330  X5 = -SQR(R1*R0*R0/(R0-R1))
  134. 1340  X2PLUSX6 = (RT*RT/XT)/(1+(RT*RT/(XT*XT))):X4PLUSX7 = X2PLUSX6
  135. 1350  X6 = (RS*RS/X1)/(1+(RS*RS/(X1*X1)))
  136. 1360  X2 = X2PLUSX6-X6
  137. 1370  X7 = (R0*R0/X5)/(1+(R0*R0/(X5*X5)))
  138. 1380  X4 = X4PLUSX7-X7
  139. 1390  C1 = -1/(TWOPI*F0*X1)
  140. 1400  C2 = -1/(TWOPI*F0*X2)
  141. 1410  C3 = -1/(TWOPI*F0*X3)
  142. 1420  C4 = -1/(TWOPI*F0*X4)
  143. 1430  C5 = -1/(TWOPI*F0*X5)
  144. 1440  RETURN
  145. 1450  REM
  146. 1460  REM
  147. 1470  REM
  148. 1480  REM
  149. 1490  REM
  150. 1500  GOSUB 840
  151. 1510  LPRINT "DOUBLE-TUNED CIRCUIT"
  152. 1520  LPRINT "    CENTER FREQ = ";INT(F0/10000)/100
  153. 1530  LPRINT "    SOURCE IMPEDENCE = ";RS
  154. 1540  LPRINT "    LOAD IMPEDENCE = ";R0
  155. 1550  LPRINT "    INDUCTOR Q = ";QL
  156. 1560  LPRINT "    CIRCUIT Q = ";Q0
  157. 1570  LPRINT "    XL = ";XL;"     L = ";INT(L*1E+08)/100;" uH"
  158. 1580  LPRINT "    X1 = ";X1;"    C1 = ";INT(C1*1E+14)/100;" pF"
  159. 1590  LPRINT "    X2 = ";X2;"    C2 = ";INT(C2*1E+14)/100;" pF"
  160. 1600  LPRINT "    X3 = ";X3;"    C3 = ";INT(C3*1E+14)/100;" pF"
  161. 1610  LPRINT "    X4 = ";X4;"    C4 = ";INT(C4*1E+14)/100;" pF"
  162. 1620  LPRINT "    X5 = ";X5;"    C5 = ";INT(C5*1E+14)/100;" pF"
  163. 1630  GOSUB 840:RETURN
  164. 1640  REM
  165.