home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / rf3 / ycalc.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1979-12-31  |  5.0 KB  |  129 lines

  1. 8   REM: FIXED LINES 230,370,380  G.H. 6/11/86
  2. 9   CLS
  3. 10  PRINT;"**********AMP-CALC USING Y-PARAMETERS*********************
  4. 12  PI=3.1416
  5. 15  PRINT;" THIS IS A PROGRAM TO CALCULATE AMPLIFIER COEFFICIENTS
  6. 16  PRINT:PRINT;" USING Y-PARAMETERS
  7. 20  REM:  V1... 5/84
  8. 25  PRINT:PRINT,"K2UYH ---- modified for ibm pc --- wa2tif":PRINT
  9. 30  REM PRECISION 4
  10. 40  REM************COMPLEX ARITHMATIC ROUTINES*******************
  11. 50  DIM YR(2,2), YX(2,2), YM(2,2), YA(2,2),RD(2),ZR(2),ZX(2)
  12. 55  DG =180/PI:ZO=50
  13. 60  DEF FNMR(AR,AX,BR,BX)= AR*BR-AX*BX
  14. 70  DEF FNMX(AR,AX,BR,BX)= AR*BX+AX*BR
  15. 80  DEF FNDR(AR,AX,BR,BX)=(AR*BR+AX*BX)/(BR^2+BX^2)
  16. 90  DEF FNDX(AR,AX,BR,BX)=(AX*BR-AR*BX)/(BR^2+BX^2)
  17. 100  DEF FNMG(AR,AX)=SQR(AR^2+AX^2)
  18. 110   DEF FNAG(AR,AX)=DG*(ATN(AX/AR)-(SGN(AR)-1)*PI/2)
  19. 130  DEF FNR(MG,AG)=MG*COS(AG/DG)
  20. 140  DEF FNX(MG,AG)=MG*SIN(AG/DG)
  21. 150  REM*****************INITIAL & Y-PARAMETERS I/O**************160 PRINT: PRINT "PROGRAM FOR CALCULATING SMALL SIGNAL AMPLIFIER CHARACTERISTICS"
  22. 170  PRINT: PRINT" Y-PARAMETER ANGLES IN DEGREES"
  23. 190  PRINT:INPUT"PARAMETER FORM = ('POL' OR 'RECT' OR 'FILE')";Q$
  24. 200  IF Q$="POL" THEN 240 ELSE IF Q$="RECT" THEN 300 ELSE IF Q$="FILE" THEN 210 ELSE 190
  25. 210  PRINT: INPUT "PARAMETER FILE NAME OR DIR OR QUIT";F$: PRINT
  26. 220  IF F$="DIR" THEN FILES"*.S": GOTO 210 ELSE IF F$="QUIT" THEN 190 ELSE F$=F$+".S"
  27. 229  REM:***********GET DATA FROM FILE***********************
  28. 230  OPEN "I",#1,F$
  29. 231  INPUT #1,YR(1,1),YR(1,2),YR(2,1),YR(2,2)
  30. 232  INPUT #1,YX(1,1),YX(1,2),YX(2,1),YX(2,2)
  31. 233  INPUT #1,YM(1,1),YM(1,2),YM(2,1),YM(2,2)
  32. 234  INPUT #1,YA(1,1),YA(1,2),YA(2,1),YA(2,2)
  33. 235  CLOSE #1:GOTO 390
  34. 239  REM**********INPUT RECTANGULAR & CONVERT TO POLAR****************
  35. 240  FOR J=1 TO 2: FOR I=1 TO 2
  36. 250  PRINT "MAG OF Y("; I; ","; J;")=";: INPUT YM(I,J)
  37. 260  PRINT "ANG OF Y("; I; ","; J;")=";: INPUT YA(I,J)
  38. 270  YR(I,J)=FNR(YM(I,J),YA(I,J)): PRINT "REAL OF Y("; I; ","; J; ")="; YR(I,J)
  39. 280  YX(I,J)=FNX(YM(I,J),YA(I,J)): PRINT "IMAG OF Y("; I; ","; J; ")="; YX(I,J)
  40. 290  PRINT: NEXT: NEXT: GOTO 360
  41. 299  REM**********INPUT POLAR & CONVERT TO RECTANGULAR****************
  42. 300  FOR J=1 TO 2: FOR I=1 TO 2
  43. 310  PRINT "REAL OF Y("; I; ","; J; ")=";: INPUT YR(I,J)
  44. 320  PRINT "IMAG OF Y("; I; ","; J; ")=";: INPUT YX(I,J)
  45. 330  YM(I,J)=FNMG(YR(I,J),YX(I,J)): PRINT "MAG Y("; I; ","; J; ")="; YM(I,J)
  46. 335  IF YR(I,J)=0 THEN YR(I,J)=9.9999E-05
  47. 340  YA(I,J)=FNAG(YR(I,J),YX(I,J)): PRINT "ANGLE Y("; I; ","; J; ")="; YA(I,J)
  48. 350  PRINT: NEXT:NEXT
  49. 359   REM:***************SAVE DATA IN FILE*******************
  50. 360  INPUT "WANT OF SAVE FILE (Y/N)"; Q$: IF Q$<>"Y" THEN 390
  51. 370  INPUT "FILE NAME";F$:F$=F$+".S"
  52. 380  OPEN "O",#1,F$
  53. 381  PRINT #1,YR(1,1),YR(1,2),YR(2,1),YR(2,2)
  54. 382  PRINT #1,YX(1,1),YX(1,2),YX(2,1),YX(2,2)
  55. 383  PRINT #1,YM(1,1),YM(1,2),YM(2,1),YM(2,2)
  56. 384  PRINT #1,YA(1,1),YA(1,2),YA(2,1),YA(2,2)
  57. 385  CLOSE #1
  58. 390  REM**************COMMON PRODUCTS**************************
  59. 400  PR=FNMR(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
  60. 410  PX=FNMX(YR(1,2),YX(1,2),YR(2,1),YX(2,1))
  61. 420  RD(1)= YR(1,1)*YR(2,2)
  62. 430  RD(2)= YX(1,1)*YX(2,2)
  63. 500  REM*********************STABILITY COMPUTATIONS**************
  64. 510  REM*** USING LINVILL'S STABILITY FACTOR********************
  65. 520  C=FNMG(PR,PX)/(2*RD(1)-PR)
  66. 530  PRINT: PRINT"AMPLIFIER WILL BE STABLE WITH CONJUGATE MATCHED SOURCE AND LOAD IF C<1: C ="; C
  67. 540  IF C>1 THEN PRINT:PRINT "UNSTABLE": PRINT: GOTO 5000
  68. 550  REM*****COMPUTATIONS FOR SIMULTANEOUS CONJUGATE MATCH*******
  69. 560  REM: SOURCE COMPUTATIONS
  70. 570  GS= SQR((2*RD(1)-PR)^2-(FNMG(PR,PX))^2)/(2*YR(2,2))
  71. 580  BS= -YX(1,1)+ PX/(2*YR(2,2))
  72. 590  SR=GS/(GS^2+BS^2)
  73. 600  SX=-BS/(GS^2+BS^2)
  74. 605  PRINT"OPT. SOURCE CONDUCTANCE(G)= "; GS
  75. 610  PRINT "OPT. SOURCE SUSCEPTANCE(B)= ";BS
  76. 620  PRINT "OPT. REAL OF SOURCE Z ="; SR
  77. 630  PRINT "OPT. IMAG OF SOURCE Z ="; SX
  78. 640  REM: LOAD COMPUTATIONS
  79. 645  GL= (GS*YR(2,2))/YR(1,1)
  80. 660  BL= -YX(2,2)+PX/(2*YR(1,1))
  81. 670  LR=GL/(GL^2+BL^2)
  82. 680  LX=-BL/(GL^2+BL^2)
  83. 690  PRINT: PRINT: PRINT
  84. 700  PRINT "OPT. LOAD CONDUCTANCE(G)= "; GL
  85. 710  PRINT "OPT. LOAD SUSCEPTANCE(B) = ";BL
  86. 720  PRINT "OPT. REAL OF LOAD Z = "; LR
  87. 730  PRINT "OPT. IMAG OF LOAD Z = "; LX
  88. 800  REM***********ROUTINE TO PRINT HARDCOPY********************
  89. 810  PRINT: PRINT: INPUT "DO YOU WANT A HARDCOPY (Y/N)?";H$
  90. 820  IF H$<> "Y" THEN 1000
  91. 830  LPRINT, "OPT. SOURCE CONDUCTANCE(G)= ";GS
  92. 840  LPRINT, "OPT. SOURCE SUSCEPTANCE(B)= ";BS
  93. 850  LPRINT, "OPT. REAL OF SOURCE Z = ";SR
  94. 860  LPRINT, "OPT. IMG OF SOURCE Z = ";SX
  95. 870  LPRINT: LPRINT:LPRINT, "OPT. LOAD CONDUCTANCE(G)= ";GL
  96. 880  LPRINT, "OPT. LOAD SUSCEPTANCE(B)= ";BL
  97. 890  LPRINT, "OPT. REAL OF LOAD Z = ";LR
  98. 900  LPRINT, "OPT. IMG OF LOAD Z = ";LX
  99. 1000  REM****COMPUTATIONS FOR MAXIMUM AVAILABLE GAIN**********
  100. 1010  MG = YM(2,1)^2/(4*RD(1))
  101. 1020   PRINT: PRINT"MAXIMUM AVAILABLE GAIN = "; MG
  102. 1030  EG= 10*LOG10(MG)
  103. 1040  PRINT "MAXIMUM AVAILABLE GAIN IN DB = "; EG
  104. 1050  REM******COMPUTATIONS OF TRANSDUCER GAIN*****************
  105. 1060  ZR(1)= YR(1,1)+GS
  106. 1070  ZX(1)= YX(1,1)+BS
  107. 1080  ZR(2)= YR(2,2)+GL
  108. 1090  ZX(2)= YX(2,2)+BL
  109. 1100  QR= FNMR(ZR(1),ZX(1),ZR(2),ZX(2))
  110. 1110  QX=FNMX(ZR(1),ZX(1),ZR(2),ZX(2))
  111. 1120  TR = QR - PR
  112. 1130  TX = QX - PX
  113. 1140  GT=(4*GS*GL*YM(2,1)^2)/(FNMG(TR,TX))^2
  114. 1150  PRINT: PRINT "TRANSDUCER GAIN = "; GT
  115. 1160  DT= 10*LOG(GT)/LOG(10)
  116. 1170  PRINT"TRANSDUCER GAIN IN DB = "; DT
  117. 1200  REM*************ROUTINE TO PRODUCE HARDCOPY***************
  118. 1210  PRINT:PRINT:PRINT "DO YOU WANT A HARDCOPY (Y/N)?";H$
  119. 1220  IF H$ <> "Y" THEN 2000
  120. 1230  LPRINT:LPRINT: LPRINT, "MAXIMUM AVAILABLE GAIN = ";MG
  121. 1240  LPRINT, "MAXIMUM AVAILABLE GAIN IN DB = ";DG
  122. 1250  LPRINT, "TRANSDUCER GAIN = "; GT
  123. 1260  LPRINT, "TRANSDUCER GAIN IN DB= "DT
  124. 1270  END
  125. 1300  DEF FNAG(AR,AX)=DG*(ATN(AR/AX)+PI):RETURN
  126. 2000  PRINT:PRINT:PRINT "DO YOU WANT A NEW RUN  (Y/N)?";H$
  127. 2010  IF H$ = "Y" THEN 150
  128. 5000  END
  129.