home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / design5 / ampdesig.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-09-27  |  5.0 KB  |  230 lines

  1. 1   REM 9/1/87 correction i/a/w/sept rf design,p13 (line 410 & 810)
  2. 5  REM AMPDESIGN:THE LISTING FOR THIS PROGRAM IS FROM THE ARTICLE COMPUTER
  3. 10  REM ENHANCED S-PARAMETER DESIGN BY S.NOVAK,PRINTED IN THE FEB'87 ISSUE
  4. 15  REM OF RF DESIGN.ENTERED BY R.PEDUTO,CHECKED BY B.CACCAVALE OF ADEMCO.
  5. 20  DIM V(9),R(9),I(9),A(9),A$(9),M(9)
  6. 25  PRINT "PROGRAM CALCULATES STABILITY CIRCLES FOR INPUT AND OUTPUT OF"
  7. 30  PRINT
  8. 35  PRINT "TRANSISTOR AS WELL AS CONSTANT GAIN CIRCLES."
  9. 40  PRINT : PRINT "S PARAMETERS OF THE DEIVCE GIVEN IN MAGNITUDE AND ANGLE"
  10. 50  A$(1)="INPUT PARAMETER (11)="
  11. 55  A$(2)="REVERSE PARAMETER (12)="
  12. 60  A$(3)="FOWARD PARAMETER (21)="
  13. 65  A$(4)="OUTPUT PARAMETER (22)="
  14. 80  A$(8)="RMS-SOURCE REFLECTION COEFFICIENT"
  15. 85  A$(9)="RML-LOAD REFLECTION COEFFICIENT"
  16. 90  E=1000
  17. 95  PI=3.14159
  18. 100  READ T$
  19. 110  PRINT : PRINT "TRANSISTOR",T$
  20. 120  READ F
  21. 130  PRINT "FREQUENCY",F/1E+06 "MHZ." : PRINT
  22. 140  FOR J=1 TO 4
  23. 150  PRINT A$(J)
  24. 160  READ M(J),A(J)
  25. 170  GOSUB 1800
  26. 180  PRINT M(J),A(J)
  27. 190  NEXT J
  28. 200  PRINT
  29. 210  INPUT "CHACTERISTIC IMPEDANCE OF THE LINE IN OHMS=";ZO
  30. 220  REM CALC S12*S21 AND DS
  31. 230  R1=R(2)
  32. 240  I1=I(2)
  33. 250  R2=R(3)
  34. 260  I2=I(3)
  35. 270  GOSUB 1700
  36. 280  P=R
  37. 290  Q=I
  38. 300  R1=R(1)
  39. 310  I1=I(1)
  40. 320  R2=R(4)
  41. 330  I2=I(4)
  42. 340  GOSUB 1700
  43. 350  R(5)=R-P
  44. 360  I(5)=I-Q
  45. 370  REM CALC C1,C2 VALUES
  46. 380  R1=R(5)
  47. 390  I1=I(5)
  48. 400  R2=R(4)
  49. 410  I2=-I(4)
  50. 420  GOSUB 1700
  51. 430  R(6)=R(1)-R
  52. 440  I(6)=I(1)-I
  53. 450  R2=R(1)
  54. 460  I2=-I(1)
  55. 470  GOSUB 1700
  56. 480  R(7)=R(4)-R
  57. 490  I(7)=I(4)-I
  58. 500  REM POLAR CONV. DS,C1,C2
  59. 510  FOR J=5 TO 7
  60. 520  GOSUB 1900
  61. 530  NEXT J
  62. 540  REM CALC SQUARED VALUES
  63. 550  FOR J=1 TO 7
  64. 560  V(J)=M(J)*M(J)
  65. 570  NEXT J
  66. 580  REM S12 S21
  67. 590  V(2)=SQR(P*P+Q*Q)
  68. 600  REM D-B PARAMETER
  69. 610  D1=V(1)-V(5)
  70. 620  D2=V(4)-V(5)
  71. 630  B1=1-V(4)+D1
  72. 640  B2=1-V(1)+D2
  73. 670  REM CALC STABILITY FACTOR
  74. 680  K=(1+V(5)-V(1)-V(4))/(2*V(2))
  75. 690  PRINT "STABILITY FACTOR K="INT(K*E)/E
  76. 695  IF K>1 THEN 820
  77. 700  PRINT : PRINT "STABILITY CIRCLES"
  78. 710  CI=M(6)/ABS(D1)
  79. 720  CO=M(7)/ABS(D2)
  80. 730  AI=-A(6)
  81. 740  AO=-A(7)
  82. 750  IF D1<0 THEN AI=AI-180
  83. 760  IF D2<0 THEN AO=AO-180
  84. 770  RI=V(2)/ABS(D1)
  85. 780  RO=V(2)/ABS(D2)
  86. 790  PRINT "CTR.INPUT"INT(CI*E)/E,"ANG.IN="INT(AI*E)/E,"RAD.IN="INT(RI*E)/E
  87. 795  PRINT
  88. 800  PRINT "CTR.OUTPUT="INT(CO*E)/E,"ANG.OUT="INT(AO*E)/E,"RAD.OUT="INT(RO*E)/E
  89. 810  IF K<1 THEN 1050
  90. 820  REM CALC GM
  91. 825  PRINT : PRINT "AMPLIFIER UNCONDITIONALLY STABLE"
  92. 830  U=1
  93. 840  IF B1>0 THEN U=-1
  94. 850  GM=(M(3)/M(2))*(K+U*SQR(K*K-1))
  95. 860  PRINT "MAX.GAIN IN DB=",INT(10*LOG(GM)/LOG(10)*E)/E
  96. 870  PRINT "MAX. NUMERIC GAIN=",INT(GM*E)/E
  97. 880  INPUT"WANT MAX.GAIN (Y/N)";B$
  98. 890  IF B$<>"N" THEN 910
  99. 900  GOTO 1070
  100. 910  REM CALC.ZS & ZL
  101. 920  M(8)=M(6)*(B1+U*SQR(B1*B1-(4*V(6))))/(2*V(6))
  102. 930  A(8)=-A(6)
  103. 940  J=8
  104. 950  GOSUB 1800
  105. 960  GOSUB 1520
  106. 970  U=1
  107. 980  IF B2>0 THEN U=-1
  108. 990  M(9)=M(7)*(B2+U*SQR(B2*B2-(4*V(7))))/(2*V(7))
  109. 1000  A(9)=-A(7)
  110. 1010  J=9
  111. 1020  GOSUB 1800
  112. 1030  GOSUB 1450
  113. 1040  GOTO 1425
  114. 1050  PRINT : PRINT "AMPLIFIER POTENTIALLY UNSTABLE"
  115. 1060  PRINT "MAX.STABLE GAIN=",INT(10*LOG(M(3)/M(2))/LOG(10)*E)/E"DB"
  116. 1070  PRINT : INPUT "SELECT GAIN OR REFLECTION COEFF.(G/R)";C$
  117. 1075  IF C$<>"G" THEN 1850
  118. 1080  PRINT : INPUT "GAIN IN DB=";GP
  119. 1085  GP=10^(GP/10)
  120. 1090  PRINT "NUMERIC GAIN=",INT(GP*E)/E
  121. 1100  G=GP/V(3)
  122. 1110  M(9)=G*M(7)/(1+D2*G)
  123. 1120  A(9)=-A(7)
  124. 1130  RC=SQR(1-2*K*V(2)*G+V(2)*V(2)*G*G)/(1+D2*G)
  125. 1140  PRINT : PRINT "CONSTANT GAIN CIRCLE"
  126. 1145  PRINT "CENTER="INT(M(9)*E)/E,"ANGLE="INT(A(9)*E)/E,"RADIUS="INT(RC*E)/E
  127. 1150  REM CHOOSE MIN. LOAD REFLECTION COEFF.
  128. 1155  M(9)=M(9)-RC
  129. 1160  IF M(9)<0 THEN A(9)=A(9)-180
  130. 1165  IF M(9)<0 THEN M(9)=ABS(M(9))
  131. 1170  PRINT : PRINT "MIN.REFLECTION COEFF="INT(M(9)*E)/E;"ANGLE="INT(A(9)*E)/E
  132. 1175  REM CALC ZL
  133. 1180  J=9 : B=1 : C=4
  134. 1190  GOSUB 1800
  135. 1200  GOSUB 1450
  136. 1220  REM CALC ZS OR ZL
  137. 1230  R1=R(J)
  138. 1240  I1=I(J)
  139. 1250  R2=R(5)
  140. 1260  I2=I(5)
  141. 1270  GOSUB 1700
  142. 1280  R3=R(B)-R
  143. 1290  I3=I(B)-I
  144. 1300  R2=R(C)
  145. 1310  I2=I(C)
  146. 1320  GOSUB 1700
  147. 1330  R2=1-R
  148. 1340  I2=I
  149. 1350  R1=R3
  150. 1360  I1=-I3
  151. 1370  GOSUB 1750
  152. 1375  IF J=8 THEN 1435
  153. 1380  J=8
  154. 1390  R(J)=R
  155. 1400  I(J)=I
  156. 1410  GOSUB 1900
  157. 1415  IF J=9 THEN 1440
  158. 1420  GOSUB 1520
  159. 1425  GOSUB 1960
  160. 1430  END
  161. 1435  J=9 : GOTO 1390
  162. 1440  GOSUB 1450
  163. 1445  GOTO 1425
  164. 1450  REM CALC RL
  165. 1460  PRINT : PRINT "IMPEDANCE TO MATCH LOAD"
  166. 1470  GOSUB 1600
  167. 1480  RL=R*ZO
  168. 1490  XL=I*ZO
  169. 1500  PRINT "RL+XL="INT(RL*E)/E,INT(XL*E)/E
  170. 1510  RETURN
  171. 1520  REM CALC RS
  172. 1530  PRINT : PRINT "IMPEDANCE TO MATCH SOURCE"
  173. 1540  GOSUB 1600
  174. 1550  RS=R*ZO
  175. 1560  XS=I*ZO
  176. 1570  PRINT "RS+XS="INT(RS*E)/E,INT(XS*E)/E
  177. 1580  RETURN
  178. 1600  REM (1+COMPLEX NO.)/(1-COMPLEX NO.)
  179. 1610  R1=1+R(J)
  180. 1620  I1=-I(J)
  181. 1630  R2=1-R(J)
  182. 1640  I2=I(J)
  183. 1650  GOSUB 1750
  184. 1660  RETURN
  185. 1700  REM COMPLEX NO. MULTIPLY
  186. 1710  R=R1*R2-I1*I2
  187. 1720  I=I1*R2+R1*I2
  188. 1730  RETURN
  189. 1750  REM COMPLEX NO. DIVIDE
  190. 1760  D=R2*R2+I2*I2
  191. 1770  R=(R1*R2+I1*I2)/D
  192. 1780  I=(I1*R2-R1*I2)/D
  193. 1790  RETURN
  194. 1800  REM POLAR TO RECT.
  195. 1810  A=A(J)*PI/180
  196. 1820  R(J)=M(J)*COS(A)
  197. 1830  I(J)=M(J)*SIN(A)
  198. 1840  RETURN
  199. 1850  REM REFLECTION COEFF. CHOICE
  200. 1855  PRINT :INPUT "SOURCE OR LOAD (S/L)";D$
  201. 1860  IF D$<>"L" THEN 1875
  202. 1865  PRINT : INPUT "LOAD REFLEC. COEFF. AMPLITUDE AND ANGLE";M(9),A(9)
  203. 1870  GOTO 1180
  204. 1875  PRINT : INPUT "SOURCE REFLEC.COEFF AMPLITUDE AND ANGLE";M(8),A(8)
  205. 1880  J=8 : B=4 : C=1
  206. 1885  GOSUB 1800
  207. 1890  GOSUB 1520
  208. 1895  GOTO 1220
  209. 1900  REM RECT. TO POLAR
  210. 1910  M(J)=SQR(R(J)*R(J)+I(J)*I(J))
  211. 1920  A(J)=90*(SGN(I(J))+(I(J)=0))
  212. 1930  IF R(J)=0 THEN 1950
  213. 1940  A(J)=ATN(I(J)/R(J))*180/PI+A(J)*(1-SGN(R(J)))
  214. 1950  RETURN
  215. 1960  REM PRINT REFLECTION COEFF.
  216. 1965  PRINT
  217. 1970  FOR J=8 TO 9
  218. 1975  PRINT A$(J)
  219. 1980  PRINT "MAG="INT(M(J)*E)/E,"ANGLE="INT(A(J)*E)/E
  220. 1985  PRINT
  221. 1990  NEXT J
  222. 1995  RETURN
  223. 3000  REM TRANSISTOR DATA STORAGE
  224. 3005  REM DATA 2N3570,750E6,.277,-59,.078,93,1.92,64,.848,-31
  225. 3010  DATA MRF571,1E9,.61,178,.09,37,3,78,.28,-69
  226. 3015  DATA MRF571,1.5E9,.65,158,.11,44,2,62,.26,-88
  227. 3020  DATA BFR91,2E8,.49,-90,.06,55,8.72,120,.66,-30
  228. 3025  DATA BFR91,5E8,.35,-150,.09,60,4.34,90,.45,-35
  229. 3030  DATA BFR91,8E8,.34,175,.13,65,2.84,75,.4,-40
  230.