home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / design5 / ampdesig.asc < prev    next >
Text File  |  1987-09-27  |  6KB  |  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.14159265#
  18. 100 READ T$
  19. 110 PRINT : PRINT "TRANSISTOR",T$
  20. 120 READ F
  21. 130 PRINT "FREQUENCY",F/1000000! "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.