home *** CD-ROM | disk | FTP | other *** search
- 10 'Amp. design, S.Novak 2/86 (RF Design magazine, 2/87 p.97)
- 20 DIM V(9),R(9),I(9),M(9),A(9),A$(9)
- 30 KEY OFF:CLS:PRINT "This calculates stability circles for input and output of"
- 40 PRINT "transistor and constant gain circles."
- 50 PRINT :PRINT "S-parameters of the device given in magnitude and angle."
- 60 A$(1)="INPUT PARAM.(11)=":A$(2)="REVERSE PARAM.(12)="
- 70 A$(3)="FORWARD PARAM.(21)=":A$(4)="OUTPUT PARAM.(22)="
- 80 A$(8)="RMS-SOURCE REFL. COEFF.":A$(9)="RMS-LOAD REFL.COEFF."
- 90 E=1000!:PI=4*ATN(1)
- 100 READ T$
- 110 PRINT :PRINT "Transistor",T$
- 120 READ F
- 130 PRINT "Frequency",F*.000001"MHz":PRINT
- 140 FOR J=1 TO 4
- 150 PRINT A$(J)
- 160 READ M(J),A(J)
- 170 GOSUB 1800
- 180 PRINT M(J),A(J)
- 190 NEXT J
- 200 PRINT
- 210 INPUT "Characteristic impedance of the line (Ohms)";ZO
- 220 'Calc S12*S21 and DS
- 230 R1=R(2)
- 240 I1=I(2)
- 250 R2=R(3)
- 260 I2=I(3)
- 270 GOSUB 1700
- 280 P=R
- 290 Q=I
- 300 R1=R(1)
- 310 I1=I(1)
- 320 R2=R(4)
- 330 I2=I(4)
- 340 GOSUB 1700
- 350 R(5)=R-P
- 360 I(5)=I-Q
- 370 'Calc C1,C2
- 380 R1=R(5)
- 390 I1=I(5)
- 400 R2=R(4)
- 410 I2=I(1)
- 420 GOSUB 1700
- 430 R(6)=R(1)-R
- 440 I(6)=I(1)-I
- 450 R2=R(1)
- 460 I2=-I(1)
- 470 GOSUB 1700
- 480 R(7)=R(4)-R
- 490 I(7)=I(4)-I
- 500 'Polar conversion DS,C1,C2
- 510 FOR J=5 TO 7
- 520 GOSUB 1900
- 530 NEXT J
- 540 'Calc squared values
- 550 FOR J=1 TO 7
- 560 V(J)=M(J)*M(J)
- 570 NEXT J
- 580 'S12 S21
- 590 V(2)=SQR(P*P+Q*Q)
- 600 'D-B param
- 610 D1=V(1)-V(5)
- 620 D2=V(4)-V(5)
- 630 B1=1-V(4)+D1
- 640 B2=1-V(1)+D2
- 670 'Calc stab. factor
- 680 K=(1+V(5)-V(1)-V(4))/(2*V(2))
- 690 PRINT "Stability factor K =";INT(K*E)/E:IF K>1 THEN 820
- 700 PRINT:PRINT "STABILITY CIRCLES"
- 710 CI=M(6)/ABS(D1)
- 720 CO=M(7)/ABS(D2)
- 730 AI=-A(6)
- 740 AO=-A(7)
- 750 IF D1<0 THEN AI=AI-180
- 760 IF D2<0 THEN AO=AO-180
- 770 RI=V(2)/ABS(D1)
- 780 RO=V(2)/ABS(D2)
- 790 PRINT "CTR.INPUT";INT(CI*E)/E,"ANG.IN=";INT(AI*E)/E,"RAD.IN";INT(RI*E)/E
- 795 PRINT
- 800 PRINT "CTR.OUTPUT=";INT(CO*E)/E;"ANG.OUT=";INT(AO*E)/E,"RAD.OUT=";INT(RO*E)/E
- 810 IF K1 THEN 1050
- 820 'Calc Gm
- 830 PRINT :PRINT "Amplifier Unconditionally stable":U=1
- 840 IF B1>0 THEN U=-1
- 850 GM=(M(3)/M(2))*(K+U*SQR(K*K-1))
- 860 PRINT "Maximum gain (dB) =";INT(10*LOG(GM)/LOG(10)*E)/E
- 870 PRINT "Maximum numeric gain =";INT(GM*E)/E
- 880 INPUT "Want maximum gain";B$
- 890 IF B$<>"N" AND B$<>"n" THEN 910
- 900 GOTO 1070
- 910 'Calc Zs, Zl
- 920 M(8)=M(6)*(B1+U*SQR(B1*B1-4*V(6)))/(2*V(6))
- 930 A(8)=-A(6)
- 940 J=8
- 950 GOSUB 1800
- 960 GOSUB 1520
- 970 U=1
- 980 IF B2>0 THEN U=-1
- 990 M(9)=M(7)*(B2+U*SQR(B2*B2-4*V(7)))/(2*V(7))
- 1000 A(9)=-A(7)
- 1010 J=9
- 1020 GOSUB 1800
- 1030 GOSUB 1450
- 1040 GOSUB 1425
- 1050 PRINT :PRINT "Amplifier potentially unstable."
- 1060 PRINT "Maximum stable gain =";INT(10*LOG(M(3)/M(2))*E/LOG(10))/E;"dB"
- 1070 PRINT :INPUT "Select Gain or Reflection coefficient";C$
- 1075 IF C$<>"G" AND C$<>"g" THEN 1850
- 1080 PRINT :INPUT "Gain (dB)";GP
- 1085 GP=GP^(GP/10)
- 1090 PRINT "Numeric gain =";INT(GP*E)/E
- 1100 G=GP/V(3)
- 1110 M(9)=G*M(7)/(1+D2*G)
- 1120 A(9)=-A(7)
- 1130 RC=SQR(1-2*K*V(2)*G+V(2)*V(2)*G*G)/(1+D2*G)
- 1140 PRINT :PRINT "Constant gain circle"
- 1145 PRINT "Center";INT(M(9)*E)/E,"ANGLE =";INT(A(9)*E)/E,"RADIUS =";INT(RC*E)/E
- 1150 'Choose min. load refl. coeff.
- 1155 M(9)=M(9)-RC
- 1160 IF M(9)<0 THEN A(9)=A(9)-180
- 1165 IF M(9)<0 THEN M(9)=ABS(M(9))
- 1170 PRINT :PRINT "MIN. REFL. COEFF. =";INT(M(9)*E)/E;"ANGLE =";INT(A(9)*E)/E
- 1175 'Calc Zl
- 1180 J=9:B=1:C=4
- 1190 GOSUB 1800
- 1200 GOSUB 1450
- 1220 'Calc Zs or Zl
- 1230 R1=R(J)
- 1240 I1=I(J)
- 1250 R2=R(5)
- 1260 I2=I(5)
- 1270 GOSUB 1700
- 1280 R3=R(B)-R
- 1290 I3=I(B)-I
- 1300 R2=R(C)
- 1310 I2=I(C)
- 1320 GOSUB 1700
- 1330 R2=1-R
- 1340 I2=I
- 1350 R1=R3
- 1360 I1=-I3
- 1370 GOSUB 1750
- 1375 IF J=8 THEN 1435
- 1380 J=8
- 1390 R(J)=R
- 1400 I(J)=I
- 1410 GOSUB 1900
- 1415 IF J=9 THEN 1440
- 1420 GOSUB 1520
- 1425 GOSUB 1960
- 1430 END
- 1435 J=9:GOTO 1390
- 1440 GOSUB 1450
- 1445 GOTO 1425
- 1450 'Calc Rl
- 1460 PRINT :PRINT "Impedance to match load"
- 1470 GOSUB 1600
- 1480 RL=R*ZO
- 1490 XL=I*ZO
- 1500 PRINT "RL + XL =";INT(RL*E)/E,INT(XL*E)/E
- 1510 RETURN
- 1520 'Calc Rs
- 1530 PRINT :PRINT "Impedance to match source"
- 1540 GOSUB 1600
- 1550 RS=R*ZO
- 1560 XS=I*ZO
- 1570 PRINT "RX + XS =";INT(RS*E)/E,INT(XS*E)/E
- 1580 RETURN
- 1600 '(1+compl no.)/(1-compl no.)
- 1610 R1=1+R(J)
- 1620 I1=-I(J)
- 1630 R2=1-R(J)
- 1640 I2=I(J)
- 1650 GOSUB 1750
- 1660 RETURN
- 1700 'Complement no. multiply
- 1710 R=R1*R2-I1*I2
- 1720 I=I1*R2+R1*I2
- 1730 RETURN
- 1750 'Complement no. divide
- 1760 D=R2*R2+I2*I2
- 1770 R=(R1*R2+I1*I2)/D
- 1780 I=(I1*R2-R1*I2)/D
- 1790 RETURN
- 1800 'Polar to rect
- 1810 A=A(J)*PI/180
- 1820 R(J)=M(J)*COS(A)
- 1830 I(J)=M(J)*SIN(A)
- 1840 RETURN
- 1850 'Repl Coeff choice
- 1855 PRINT :INPUT "Source or Load";D$
- 1860 IF D$<>"L" AND D$<>"l" THEN 1875
- 1865 PRINT :PRINT "LOAD REFL. COEFF. AMPL AND ANGLE";M(9),A(9)
- 1870 GOTO 1180
- 1875 PRINT :INPUT "Souce refl. coeff.,angle";M(8),A(8)
- 1880 J=8:B=4:C=1
- 1885 GOSUB 1800
- 1890 GOSUB 1520
- 1895 GOTO 1220
- 1900 'Rect to polar
- 1910 M(J)=SQR(R(J)*R(J)+I(J)*I(J))
- 1920 A(J)=90*(SGN(I(J))+(I(J)=0))
- 1930 IF R(J)=0 THEN 1950
- 1940 A(J)=ATN(I(J)/R(J))*180/PI+A(J)*(1-SGN(R(J)))
- 1950 RETURN
- 1960 'Print refl coeff
- 1965 PRINT
- 1970 FOR J=8 TO 9
- 1975 PRINT A$(J)
- 1980 PRINT "Mag =";INT(M(J)*E)/E,"Angle =";INT(A(J)*E)/E
- 1985 PRINT
- 1990 NEXT J
- 1995 RETURN
- 3000 'Transistor data storage
- 3001 'DATA MRF966,1e8,.89,-28,.006,79,1.56,132,.94,-17
- 3002 'DATA MRF966,5e8,.97,-14,.004,76,1.63,156,.96,-9
- 3004 'DATA 2N3570,5e8,.385,-55,.045,90,2.7,78,.89,-26.5
- 3005 DATA 2N3570,750e6,.277,-59,.078,93,1.92,64,.848,-31
- 3010 'DATA MRF571,2e8,.74,-86,.06,48,10.5,129,.69,-42
- 3020 'DATA MRF571,5E8,.62,-143,.08,33,5.5,97,.41,-59
- 3030 DATA MRF571,1E9,.61,178,.09,37,3,78,.28,-69
- 3040 DATA MRF571,5E9,.65,158,.11,44,2,62,.26,-88
- 3050 DATA BFR91,2E8,.49,-90,.06,55,8.72,120,.66,-30
- 3060 DATA BFR91,5E8,.35,-150,.09,60,4.34,90,.45,-35
- 3070 DATA BFR91,8E8,.34,175,.13,65,2.84,75,.4,-40