home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / eepub10 / 14-match.asc next >
Text File  |  1986-10-21  |  6KB  |  167 lines

  1. 100 CLS :KEY OFF :REM "14-MATCH"
  2. 110 PRINT TAB(25);"**** 14 MATCHING NETWORKS ****" :PRINT :PRINT
  3. 120 REM A.LaPENN -1985
  4. 130 PRINT "This program designs three element matching networks, as follows:"
  5. 140 PRINT
  6. 150 PRINT "    TYPE       to MATCH      1st ELEMENT   2nd ELEMENT   3rd ELEMENT"
  7. 160 PRINT
  8. 170 PRINT " 1 LOWPASS      RS<=RL         Shunt C       Series L      Shunt C"
  9. 180 PRINT " 2 HIGHPASS     RS<=RL         Shunt L       Series C      Shunt L"
  10. 190 PRINT " 3 LOWPASS      RS<=RL         Shunt L       Series L      Shunt C"
  11. 200 PRINT " 4 HIGHPASS     RS<=RL         Shunt C       Series C      Shunt L"
  12. 210 PRINT " 5 LOWPASS      RS<=RL         Series L      Shunt C       Series L"
  13. 220 PRINT " 6 HIGHPASS     RS<=RL         Series C      Shunt L       Series C"
  14. 230 PRINT " 7 LOWPASS      RS<=RL         Series L      Shunt C       Series C"
  15. 240 PRINT " 8 HIGHPASS     RS<=RL         Series C      Shunt L       Series C"
  16. 250 PRINT " 9 LOWPASS      RS<=RL         Series C      Series L      Shunt C"
  17. 260 PRINT "10 HIGHPASS     RS<=RL         SERIES L      SERIES C      SHUNT L"
  18. 270 PRINT "11 LOWPASS      RS<=RL         Series L      Shunt C       Shunt L"
  19. 280 PRINT "12 HIGHPASS     RS<=RL         Series C      Shunt L       Shunt C"
  20. 290 PRINT "13 LOWPASS      RS<=RL         Series L      Shunt C       None"
  21. 300 PRINT "14 HIGHPASS     RS<=RL         Series C      Shunt L       None"
  22. 310 PRINT :BEEP :INPUT "ENTER: SOURCE RESISTANCE (ohms) ";RS
  23. 320 PRINT :BEEP :INPUT "       LOAD RESISTANCE   (ohms) ";RL :IF RS<=RL THEN 340
  24. 330 PRINT :BEEP :PRINT "RS MUST BE < OR = TO RL" :PRINT :GOTO 310
  25. 340 QM=SQR(RL/RS-1) :PI=4*ATN(1)
  26. 350 PRINT :BEEP :PRINT "       FREQUENCY (Mhz) FOR  nh & pf or 0 ";
  27. 360 INPUT "for REACTANCE (OHMS) ";FO :FO=FO*10^6
  28. 370 PRINT :BEEP :INPUT "       NETWORK TYPE (SEE ABOVE), [1-14]";NET
  29. 380 IF NET<1 OR NET>14 THEN 370
  30. 390 PRINT :PRINT TAB(27);"Qmin=";INT(QM*100)/100 :Q=QM
  31. 400 IF NET>12 THEN 430
  32. 410 PRINT :BEEP :INPUT "ENTER: DESIRED Q, NOTE: Q>=Qmin ";Q :IF Q>=QM THEN 430
  33. 420 PRINT :PRINT "Q MUST BE > OR = TO";INT(QM*100)/100 :GOTO 410
  34. 430 ON NET GOSUB 680,680,750,750,820,820,890,890,960,960,1030,1030,1100,1100
  35. 440 IF FO=0 THEN 580
  36. 450 ON SGN(X1)+2 GOTO 460,470,480
  37. 460 F1=(1/(2*PI*FO*X1))*-1
  38. 470 GOTO 490
  39. 480 F1=X1/(2*PI*FO)
  40. 490 ON SGN(X2)+2 GOTO 500,510,520
  41. 500 F2=(1/(2*PI*FO*X2))*-1
  42. 510 GOTO 530
  43. 520 F2=X2/(2*PI*FO)
  44. 530 IF NET>12 THEN 580
  45. 540 ON SGN(X3)+2 GOTO 550,560,570
  46. 550 F3=(1/(2*PI*FO*X3))*-1
  47. 560 GOTO 580
  48. 570 F3=X3/(2*PI*FO)
  49. 580 GOSUB 1210
  50. 590 PRINT :BEEP :PRINT "HARD COPY REQUIRED? (Y/N)"
  51. 600 P$=INKEY$ :IF P$="" THEN 600
  52. 610 IF P$="Y" THEN 630
  53. 620 IF P$<>"N" THEN 600 ELSE 640
  54. 630 GOSUB 1490
  55. 640 PRINT :BEEP :PRINT "CONTINUE? (Y/N)"
  56. 650 A$=INKEY$ :IF A$="" THEN 650
  57. 660 IF A$="Y" THEN RUN
  58. 670 IF A$<>"N" THEN 650 ELSE END
  59. 680 REM NET 1 RS<=RL
  60. 690 X1=RS*(SQR((RL/RS)/(Q^2+1-(RL/RS))))*-1
  61. 700 X2=(Q*RL-(RS*RL/X1))/(Q^2+1)
  62. 710 X3=(RL/Q)*-1
  63. 720 IF NET=1 THEN 740
  64. 730 GOSUB 1160
  65. 740 RETURN
  66. 750 REM NET 3 RS<RL
  67. 760 X1=RS/(SQR(((RS*(Q^2+1))/RL)-1))
  68. 770 X2=((RL*Q)/(Q^2+1))*(1-RS/(Q*X1))
  69. 780 X3=(RL/Q)*-1
  70. 790 IF NET=3 THEN 810
  71. 800 GOSUB 1160
  72. 810 RETURN
  73. 820 REM NET 5 RS<=RL
  74. 830 X1=RS*Q
  75. 840 X2=(RS*(1+Q^2)*-1)/(Q+SQR(((RS*(1+Q^2))/RL)-1))
  76. 850 X3=RL*SQR(((RS*(1+Q^2))/RL)-1)
  77. 860 IF NET=5 THEN 880
  78. 870 GOSUB 1160
  79. 880 RETURN
  80. 890 REM NET 7 RS<RL
  81. 900 X1=RS*Q
  82. 910 X2=(RS*(1+Q^2)*-1)/(Q-(SQR(((RS*(1+Q^2))/RL)-1)))
  83. 920 X3=RL*SQR(((RS*(1+Q^2))/RL)-1)*-1
  84. 930 IF NET=7 THEN 950
  85. 940 GOSUB 1160
  86. 950 RETURN
  87. 960 REM NET 9 RS<RL
  88. 970 X1=-Q*RS
  89. 980 X2=SQR(RS*RL-(RS^2))-X1
  90. 990 X3=(-RS*RL)/(X1+X2)
  91. 1000 IF NET=9 THEN 1020
  92. 1010 GOSUB 1160
  93. 1020 RETURN
  94. 1030 REM NET 11 RS<RL
  95. 1040 X1=RS*SQR((RL/RS)-1)
  96. 1050 X3=RL/Q
  97. 1060 X2=-X3/((X1/(Q*RS))+1)
  98. 1070 IF NET=11 THEN 1090
  99. 1080 GOSUB 1160
  100. 1090 RETURN
  101. 1100 REM NET 13
  102. 1110 X1=SQR((RS*RL)-(RS^2))
  103. 1120 X2=(RS*RL*-1)/X1
  104. 1130 IF NET=13 THEN 1150
  105. 1140 GOSUB 1160
  106. 1150 RETURN
  107. 1160 REM INVERSE SUBROUTINE
  108. 1170 X1=X1*-1 :X2=X2*-1
  109. 1180 IF NET=14 THEN 1200
  110. 1190 X3=X3*-1
  111. 1200 RETURN
  112. 1210 REM PRINT ROUTINE
  113. 1220 CLS :PRINT TAB(25);"*** MATCHING NETWORK No.";NET;" ***"
  114. 1230 PRINT :PRINT "SOURCE RESISTANCE =";INT(RS*100)/100;"ohms";
  115. 1240 PRINT TAB(40);"LOAD RESISTANCE =";INT(RL*100)/100;"ohms"
  116. 1250 PRINT :PRINT "Qmin =";INT(QM*100)/100; :IF QM=Q THEN PRINT :GOTO 1270
  117. 1260 PRINT TAB(40);"Q =";INT(Q*100)/100
  118. 1270 IF FO<>0 THEN 1340
  119. 1280 PRINT :PRINT "X1 =";INT(X1*100)/100;"ohms";
  120. 1290 PRINT TAB(27);"X2 =";INT(X2*100)/100;"ohms";
  121. 1300 IF NET>12 THEN PRINT :GOTO 1320
  122. 1310 PRINT TAB(54);"X3 =";INT(X3*100)/100;"ohms"
  123. 1320 PRINT :PRINT "POSITIVE Nos. ARE INDUCTIVE; NEGATIVE Nos. ARE CAPACITIVE"
  124. 1330 RETURN
  125. 1340 PRINT :PRINT "FREQUENCY =";INT(FO*10^-6*100)/100;"Mhz"
  126. 1350 ON SGN(X1)+2 GOTO 1360,1370,1380
  127. 1360 PRINT :PRINT "C1 =";INT(F1*10^12*100)/100;"pf"
  128. 1370 GOTO 1390
  129. 1380 PRINT :PRINT "L1 =";INT(F1*10^9*100)/100;"nh"
  130. 1390 ON SGN(X2)+2 GOTO 1400,1410,1420
  131. 1400 PRINT :PRINT "C2 =";INT(F2*10^12*100)/100;"pf"
  132. 1410 GOTO 1430
  133. 1420 PRINT :PRINT "L2 =";INT(F2*10^9*100)/100;"nh"
  134. 1430 IF NET>12 THEN 1480
  135. 1440 ON SGN(X3)+2 GOTO 1450,1460,1470
  136. 1450 PRINT :PRINT "C3 =";INT(F3*10^12*100)/100;"pf"
  137. 1460 GOTO 1480
  138. 1470 PRINT :PRINT "L3 =";INT(F3*10^9*100)/100;"nh"
  139. 1480 RETURN
  140. 1490 LPRINT :LPRINT TAB(25);"*** MATCHING NETWORK No.";NET;" ***"
  141. 1500 LPRINT :LPRINT "SOURCE RESISTANCE =";INT(RS*100)/100;"ohms";
  142. 1510 LPRINT TAB(40);"LOAD RESISTANCE =";INT(RL*100)/100;"ohms"
  143. 1520 LPRINT "Qmin =";INT(QM*100)/100; :IF QM=Q THEN LPRINT :GOTO 1540
  144. 1530 LPRINT TAB(40);"Q =";INT(Q*100)/100
  145. 1540 IF FO<>0 THEN 1610
  146. 1550 LPRINT "X1 =";INT(X1*100)/100;"ohms";
  147. 1560 LPRINT TAB(27);"X2 =";INT(X2*100)/100;"ohms";
  148. 1570 IF NET>12 THEN 1590
  149. 1580 LPRINT TAB(54);"X3 =";INT(X3*100)/100;"ohms"
  150. 1590 LPRINT :LPRINT "POSITIVE Nos. ARE INDUCTIVE; NEGATIVE Nos. ARE CAPACITIVE"
  151. 1600 RETURN
  152. 1610 LPRINT "FREQUENCY =";INT(FO*10^-6*100)/100;"Mhz"
  153. 1620 ON SGN(X1)+2 GOTO 1630,1640,1650
  154. 1630 LPRINT "C1 =";INT(F1*10^12*100)/100;"pf"
  155. 1640 GOTO 1660
  156. 1650 LPRINT "L1 =";INT(F1*10^9*100)/100;"nh"
  157. 1660 ON SGN(X2)+2 GOTO 1670,1680,1690
  158. 1670 LPRINT "C2 =";INT(F2*10^12*100)/100;"pf"
  159. 1680 GOTO 1700
  160. 1690 LPRINT "L2 =";INT(F2*10^9*100)/100;"nh"
  161. 1700 IF NET>12 THEN 1750
  162. 1710 ON SGN(X3)+2 GOTO 1720,1730,1740
  163. 1720 LPRINT "C3 =";INT(F3*10^12*100)/100;"pf"
  164. 1730 GOTO 1750
  165. 1740 LPRINT "L3 =";INT(F3*10^9*100)/100;"nh"
  166. 1750 RETURN
  167.