home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1987-09-27 | 5.0 KB | 230 lines |
- 1 REM 9/1/87 correction i/a/w/sept rf design,p13 (line 410 & 810)
- 5 REM AMPDESIGN:THE LISTING FOR THIS PROGRAM IS FROM THE ARTICLE COMPUTER
- 10 REM ENHANCED S-PARAMETER DESIGN BY S.NOVAK,PRINTED IN THE FEB'87 ISSUE
- 15 REM OF RF DESIGN.ENTERED BY R.PEDUTO,CHECKED BY B.CACCAVALE OF ADEMCO.
- 20 DIM V(9),R(9),I(9),A(9),A$(9),M(9)
- 25 PRINT "PROGRAM CALCULATES STABILITY CIRCLES FOR INPUT AND OUTPUT OF"
- 30 PRINT
- 35 PRINT "TRANSISTOR AS WELL AS CONSTANT GAIN CIRCLES."
- 40 PRINT : PRINT "S PARAMETERS OF THE DEIVCE GIVEN IN MAGNITUDE AND ANGLE"
- 50 A$(1)="INPUT PARAMETER (11)="
- 55 A$(2)="REVERSE PARAMETER (12)="
- 60 A$(3)="FOWARD PARAMETER (21)="
- 65 A$(4)="OUTPUT PARAMETER (22)="
- 80 A$(8)="RMS-SOURCE REFLECTION COEFFICIENT"
- 85 A$(9)="RML-LOAD REFLECTION COEFFICIENT"
- 90 E=1000
- 95 PI=3.14159
- 100 READ T$
- 110 PRINT : PRINT "TRANSISTOR",T$
- 120 READ F
- 130 PRINT "FREQUENCY",F/1E+06 "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 "CHACTERISTIC IMPEDANCE OF THE LINE IN OHMS=";ZO
- 220 REM 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 REM CALC C1,C2 VALUES
- 380 R1=R(5)
- 390 I1=I(5)
- 400 R2=R(4)
- 410 I2=-I(4)
- 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 REM POLAR CONV. DS,C1,C2
- 510 FOR J=5 TO 7
- 520 GOSUB 1900
- 530 NEXT J
- 540 REM CALC SQUARED VALUES
- 550 FOR J=1 TO 7
- 560 V(J)=M(J)*M(J)
- 570 NEXT J
- 580 REM S12 S21
- 590 V(2)=SQR(P*P+Q*Q)
- 600 REM D-B PARAMETER
- 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 REM CALC STABILITY FACTOR
- 680 K=(1+V(5)-V(1)-V(4))/(2*V(2))
- 690 PRINT "STABILITY FACTOR K="INT(K*E)/E
- 695 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 K<1 THEN 1050
- 820 REM CALC GM
- 825 PRINT : PRINT "AMPLIFIER UNCONDITIONALLY STABLE"
- 830 U=1
- 840 IF B1>0 THEN U=-1
- 850 GM=(M(3)/M(2))*(K+U*SQR(K*K-1))
- 860 PRINT "MAX.GAIN IN DB=",INT(10*LOG(GM)/LOG(10)*E)/E
- 870 PRINT "MAX. NUMERIC GAIN=",INT(GM*E)/E
- 880 INPUT"WANT MAX.GAIN (Y/N)";B$
- 890 IF B$<>"N" THEN 910
- 900 GOTO 1070
- 910 REM 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 GOTO 1425
- 1050 PRINT : PRINT "AMPLIFIER POTENTIALLY UNSTABLE"
- 1060 PRINT "MAX.STABLE GAIN=",INT(10*LOG(M(3)/M(2))/LOG(10)*E)/E"DB"
- 1070 PRINT : INPUT "SELECT GAIN OR REFLECTION COEFF.(G/R)";C$
- 1075 IF C$<>"G" THEN 1850
- 1080 PRINT : INPUT "GAIN IN DB=";GP
- 1085 GP=10^(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 REM CHOOSE MIN. LOAD REFLECTION 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.REFLECTION COEFF="INT(M(9)*E)/E;"ANGLE="INT(A(9)*E)/E
- 1175 REM CALC ZL
- 1180 J=9 : B=1 : C=4
- 1190 GOSUB 1800
- 1200 GOSUB 1450
- 1220 REM 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 REM 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 REM CALC RS
- 1530 PRINT : PRINT "IMPEDANCE TO MATCH SOURCE"
- 1540 GOSUB 1600
- 1550 RS=R*ZO
- 1560 XS=I*ZO
- 1570 PRINT "RS+XS="INT(RS*E)/E,INT(XS*E)/E
- 1580 RETURN
- 1600 REM (1+COMPLEX NO.)/(1-COMPLEX 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 REM COMPLEX NO. MULTIPLY
- 1710 R=R1*R2-I1*I2
- 1720 I=I1*R2+R1*I2
- 1730 RETURN
- 1750 REM COMPLEX 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 REM 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 REM REFLECTION COEFF. CHOICE
- 1855 PRINT :INPUT "SOURCE OR LOAD (S/L)";D$
- 1860 IF D$<>"L" THEN 1875
- 1865 PRINT : INPUT "LOAD REFLEC. COEFF. AMPLITUDE AND ANGLE";M(9),A(9)
- 1870 GOTO 1180
- 1875 PRINT : INPUT "SOURCE REFLEC.COEFF AMPLITUDE AND ANGLE";M(8),A(8)
- 1880 J=8 : B=4 : C=1
- 1885 GOSUB 1800
- 1890 GOSUB 1520
- 1895 GOTO 1220
- 1900 REM 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 REM PRINT REFLECTION 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 REM TRANSISTOR DATA STORAGE
- 3005 REM DATA 2N3570,750E6,.277,-59,.078,93,1.92,64,.848,-31
- 3010 DATA MRF571,1E9,.61,178,.09,37,3,78,.28,-69
- 3015 DATA MRF571,1.5E9,.65,158,.11,44,2,62,.26,-88
- 3020 DATA BFR91,2E8,.49,-90,.06,55,8.72,120,.66,-30
- 3025 DATA BFR91,5E8,.35,-150,.09,60,4.34,90,.45,-35
- 3030 DATA BFR91,8E8,.34,175,.13,65,2.84,75,.4,-40
-