home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1979-12-31 | 5.0 KB | 129 lines |
- 8 REM: FIXED LINES 230,370,380 G.H. 6/11/86
- 9 CLS
- 10 PRINT;"**********AMP-CALC USING Y-PARAMETERS*********************
- 12 PI=3.1416
- 15 PRINT;" THIS IS A PROGRAM TO CALCULATE AMPLIFIER COEFFICIENTS
- 16 PRINT:PRINT;" USING Y-PARAMETERS
- 20 REM: V1... 5/84
- 25 PRINT:PRINT,"K2UYH ---- modified for ibm pc --- wa2tif":PRINT
- 30 REM PRECISION 4
- 40 REM************COMPLEX ARITHMATIC ROUTINES*******************
- 50 DIM YR(2,2), YX(2,2), YM(2,2), YA(2,2),RD(2),ZR(2),ZX(2)
- 55 DG =180/PI:ZO=50
- 60 DEF FNMR(AR,AX,BR,BX)= AR*BR-AX*BX
- 70 DEF FNMX(AR,AX,BR,BX)= AR*BX+AX*BR
- 80 DEF FNDR(AR,AX,BR,BX)=(AR*BR+AX*BX)/(BR^2+BX^2)
- 90 DEF FNDX(AR,AX,BR,BX)=(AX*BR-AR*BX)/(BR^2+BX^2)
- 100 DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
- 110 DEF FNAG(AR,AX)=DG*(ATN(AX/AR)-(SGN(AR)-1)*PI/2)
- 130 DEF FNR(MG,AG)=MG*COS(AG/DG)
- 140 DEF FNX(MG,AG)=MG*SIN(AG/DG)
- 150 REM*****************INITIAL & Y-PARAMETERS I/O**************160 PRINT: PRINT "PROGRAM FOR CALCULATING SMALL SIGNAL AMPLIFIER CHARACTERISTICS"
- 170 PRINT: PRINT" Y-PARAMETER ANGLES IN DEGREES"
- 190 PRINT:INPUT"PARAMETER FORM = ('POL' OR 'RECT' OR 'FILE')";Q$
- 200 IF Q$="POL" THEN 240 ELSE IF Q$="RECT" THEN 300 ELSE IF Q$="FILE" THEN 210 ELSE 190
- 210 PRINT: INPUT "PARAMETER FILE NAME OR DIR OR QUIT";F$: PRINT
- 220 IF F$="DIR" THEN FILES"*.S": GOTO 210 ELSE IF F$="QUIT" THEN 190 ELSE F$=F$+".S"
- 229 REM:***********GET DATA FROM FILE***********************
- 230 OPEN "I",#1,F$
- 231 INPUT #1,YR(1,1),YR(1,2),YR(2,1),YR(2,2)
- 232 INPUT #1,YX(1,1),YX(1,2),YX(2,1),YX(2,2)
- 233 INPUT #1,YM(1,1),YM(1,2),YM(2,1),YM(2,2)
- 234 INPUT #1,YA(1,1),YA(1,2),YA(2,1),YA(2,2)
- 235 CLOSE #1:GOTO 390
- 239 REM**********INPUT RECTANGULAR & CONVERT TO POLAR****************
- 240 FOR J=1 TO 2: FOR I=1 TO 2
- 250 PRINT "MAG OF Y("; I; ","; J;")=";: INPUT YM(I,J)
- 260 PRINT "ANG OF Y("; I; ","; J;")=";: INPUT YA(I,J)
- 270 YR(I,J)=FNR(YM(I,J),YA(I,J)): PRINT "REAL OF Y("; I; ","; J; ")="; YR(I,J)
- 280 YX(I,J)=FNX(YM(I,J),YA(I,J)): PRINT "IMAG OF Y("; I; ","; J; ")="; YX(I,J)
- 290 PRINT: NEXT: NEXT: GOTO 360
- 299 REM**********INPUT POLAR & CONVERT TO RECTANGULAR****************
- 300 FOR J=1 TO 2: FOR I=1 TO 2
- 310 PRINT "REAL OF Y("; I; ","; J; ")=";: INPUT YR(I,J)
- 320 PRINT "IMAG OF Y("; I; ","; J; ")=";: INPUT YX(I,J)
- 330 YM(I,J)=FNMG(YR(I,J),YX(I,J)): PRINT "MAG Y("; I; ","; J; ")="; YM(I,J)
- 335 IF YR(I,J)=0 THEN YR(I,J)=9.9999E-05
- 340 YA(I,J)=FNAG(YR(I,J),YX(I,J)): PRINT "ANGLE Y("; I; ","; J; ")="; YA(I,J)
- 350 PRINT: NEXT:NEXT
- 359 REM:***************SAVE DATA IN FILE*******************
- 360 INPUT "WANT OF SAVE FILE (Y/N)"; Q$: IF Q$<>"Y" THEN 390
- 370 INPUT "FILE NAME";F$:F$=F$+".S"
- 380 OPEN "O",#1,F$
- 381 PRINT #1,YR(1,1),YR(1,2),YR(2,1),YR(2,2)
- 382 PRINT #1,YX(1,1),YX(1,2),YX(2,1),YX(2,2)
- 383 PRINT #1,YM(1,1),YM(1,2),YM(2,1),YM(2,2)
- 384 PRINT #1,YA(1,1),YA(1,2),YA(2,1),YA(2,2)
- 385 CLOSE #1
- 390 REM**************COMMON PRODUCTS**************************
- 400 PR=FNMR(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
- 410 PX=FNMX(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
- 420 RD(1)= YR(1,1)*YR(2,2)
- 430 RD(2)= YX(1,1)*YX(2,2)
- 500 REM*********************STABILITY COMPUTATIONS**************
- 510 REM*** USING LINVILL'S STABILITY FACTOR********************
- 520 C=FNMG(PR,PX)/(2*RD(1)-PR)
- 530 PRINT: PRINT"AMPLIFIER WILL BE STABLE WITH CONJUGATE MATCHED SOURCE AND LOAD IF C<1: C ="; C
- 540 IF C>1 THEN PRINT:PRINT "UNSTABLE": PRINT: GOTO 5000
- 550 REM*****COMPUTATIONS FOR SIMULTANEOUS CONJUGATE MATCH*******
- 560 REM: SOURCE COMPUTATIONS
- 570 GS= SQR((2*RD(1)-PR)^2-(FNMG(PR,PX))^2)/(2*YR(2,2))
- 580 BS= -YX(1,1)+ PX/(2*YR(2,2))
- 590 SR=GS/(GS^2+BS^2)
- 600 SX=-BS/(GS^2+BS^2)
- 605 PRINT"OPT. SOURCE CONDUCTANCE(G)= "; GS
- 610 PRINT "OPT. SOURCE SUSCEPTANCE(B)= ";BS
- 620 PRINT "OPT. REAL OF SOURCE Z ="; SR
- 630 PRINT "OPT. IMAG OF SOURCE Z ="; SX
- 640 REM: LOAD COMPUTATIONS
- 645 GL= (GS*YR(2,2))/YR(1,1)
- 660 BL= -YX(2,2)+PX/(2*YR(1,1))
- 670 LR=GL/(GL^2+BL^2)
- 680 LX=-BL/(GL^2+BL^2)
- 690 PRINT: PRINT: PRINT
- 700 PRINT "OPT. LOAD CONDUCTANCE(G)= "; GL
- 710 PRINT "OPT. LOAD SUSCEPTANCE(B) = ";BL
- 720 PRINT "OPT. REAL OF LOAD Z = "; LR
- 730 PRINT "OPT. IMAG OF LOAD Z = "; LX
- 800 REM***********ROUTINE TO PRINT HARDCOPY********************
- 810 PRINT: PRINT: INPUT "DO YOU WANT A HARDCOPY (Y/N)?";H$
- 820 IF H$<> "Y" THEN 1000
- 830 LPRINT, "OPT. SOURCE CONDUCTANCE(G)= ";GS
- 840 LPRINT, "OPT. SOURCE SUSCEPTANCE(B)= ";BS
- 850 LPRINT, "OPT. REAL OF SOURCE Z = ";SR
- 860 LPRINT, "OPT. IMG OF SOURCE Z = ";SX
- 870 LPRINT: LPRINT:LPRINT, "OPT. LOAD CONDUCTANCE(G)= ";GL
- 880 LPRINT, "OPT. LOAD SUSCEPTANCE(B)= ";BL
- 890 LPRINT, "OPT. REAL OF LOAD Z = ";LR
- 900 LPRINT, "OPT. IMG OF LOAD Z = ";LX
- 1000 REM****COMPUTATIONS FOR MAXIMUM AVAILABLE GAIN**********
- 1010 MG = YM(2,1)^2/(4*RD(1))
- 1020 PRINT: PRINT"MAXIMUM AVAILABLE GAIN = "; MG
- 1030 EG= 10*LOG10(MG)
- 1040 PRINT "MAXIMUM AVAILABLE GAIN IN DB = "; EG
- 1050 REM******COMPUTATIONS OF TRANSDUCER GAIN*****************
- 1060 ZR(1)= YR(1,1)+GS
- 1070 ZX(1)= YX(1,1)+BS
- 1080 ZR(2)= YR(2,2)+GL
- 1090 ZX(2)= YX(2,2)+BL
- 1100 QR= FNMR(ZR(1),ZX(1),ZR(2),ZX(2))
- 1110 QX=FNMX(ZR(1),ZX(1),ZR(2),ZX(2))
- 1120 TR = QR - PR
- 1130 TX = QX - PX
- 1140 GT=(4*GS*GL*YM(2,1)^2)/(FNMG(TR,TX))^2
- 1150 PRINT: PRINT "TRANSDUCER GAIN = "; GT
- 1160 DT= 10*LOG(GT)/LOG(10)
- 1170 PRINT"TRANSDUCER GAIN IN DB = "; DT
- 1200 REM*************ROUTINE TO PRODUCE HARDCOPY***************
- 1210 PRINT:PRINT:PRINT "DO YOU WANT A HARDCOPY (Y/N)?";H$
- 1220 IF H$ <> "Y" THEN 2000
- 1230 LPRINT:LPRINT: LPRINT, "MAXIMUM AVAILABLE GAIN = ";MG
- 1240 LPRINT, "MAXIMUM AVAILABLE GAIN IN DB = ";DG
- 1250 LPRINT, "TRANSDUCER GAIN = "; GT
- 1260 LPRINT, "TRANSDUCER GAIN IN DB= "DT
- 1270 END
- 1300 DEF FNAG(AR,AX)=DG*(ATN(AR/AX)+PI):RETURN
- 2000 PRINT:PRINT:PRINT "DO YOU WANT A NEW RUN (Y/N)?";H$
- 2010 IF H$ = "Y" THEN 150
- 5000 END
-