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