home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / ee3 / attn-ibm.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1989-01-22  |  2.2 KB  |  83 lines

  1. 10  REM PROGRAM TO DO RESISTIVE ATTENUATION LINES AND MINIMUM LOSS FOR L
  2. 20  REM    FOR RF & MICROWAVE II WITH Dr. KATZ
  3. 30  REM   SUBMITTED BY SEAN M. BRODERICK
  4. 40  CLS:PRINT:PRINT:PRINT:PRINT
  5. 45  PRINT "ATTN-CALC VERSION 1.1 (8/15/86)
  6. 46  PRINT "*********** TSC RF/ELECTRONICS PROGRAM COLLECTION **********
  7. 50  PRINT"THIS PROGRAM WILL QUICKLY CALCULATE RESISTANCE VALUES";
  8. 60  PRINT"FOR H-TYPE AND T-TYPE ATTENUATORS";
  9. 70  PRINT"THIS PROGRAM WILL ALSO DO THE CALCULATIONS FOR MINIMUM ";
  10. 80  PRINT"LOSS L-MATCHING NETWORKS";
  11. 90  PRINT:PRINT:PRINT:PRINT:PRINT
  12. 100  PRINT TAB(10) "1 = H PAD"
  13. 110  PRINT TAB(20) "2 = T PAD"
  14. 120  PRINT TAB(30) "3 = L PAD (CALC LOSS)"
  15. 130  PRINT:PRINT:PRINT:PRINT:PRINT:
  16. 140  INPUT " PLEASE ENTER YOUR ATTENUATOR PAD SELECTION (1-3) ";T
  17. 150  CLS
  18. 160  IF T=3 GOTO 590
  19. 170  IF T>3 OR T<1 THEN PRINT "DO IT RIGHT PAL!!!";:FOR X=1 TO 1200:NEXT X:GOTO 140
  20. 180  INPUT " PLEASE ENTER INPUT LOSS IN dB ";DB
  21. 190  N=EXP((DB)*0.230259)
  22. 200  INPUT " PLEASE ENTER THE INPUT IMPEDANCE ";Z1
  23. 210  INPUT " PLEASE ENTER THE OUTPUT IMPEDANCE ";Z2
  24. 220  R3=(2*SQR(N*Z1*Z2))/(N-1)
  25. 230  R1=Z1*((N+1)/(N-1))-R3
  26. 240  R2=Z2*((N+1)/(N-1))-R3
  27. 250  CLS
  28. 260  IF T=1 GOTO 340
  29. 270  IF T=2 GOTO 470
  30. 280  CLS
  31. 290  PRINT:PRINT
  32. 300  INPUT "WOULD YOU LIKE TO DO ANOTHER CALCULATION (Y OR N) ?";Q$
  33. 310  IF Q$="Y" GOTO 40
  34. 320  CLS
  35. 330  END
  36. 340  PRINT "   "INT(R1/2+0.5)  TAB(16);INT(R2/2+0.5)
  37. 350  PRINT "----XXXX--------XXXX----"
  38. 360  PRINT TAB(12)"!":PRINT TAB(12)"!"
  39. 370  PRINT TAB(12)"X"
  40. 380  PRINT TAB(12)"X  " ;INT(R3+0.5)
  41. 390  PRINT TAB(12)"X"
  42. 400  PRINT TAB(12)"!":PRINT TAB(12)"!"
  43. 410  PRINT "----XXXX--------XXXX----"
  44. 420  PRINT "   "INT(R1/2+0.5) TAB(16) INT(R2/2+0.5)
  45. 430  PRINT
  46. 440  PRINT Z1 "OHMS IN" TAB(14) Z2 "OHMS OUT"
  47. 450  PRINT
  48. 460  GOTO 300
  49. 470  PRINT "   "INT(R1+0.5)  TAB(16);INT(R2+0.5)
  50. 480  PRINT "----XXXX--------XXXX----"
  51. 490  PRINT TAB(12)"!":PRINT TAB(12)"!"
  52. 500  PRINT TAB(12)"X"
  53. 510  PRINT TAB(12)"X  "INT(R3+0.5)
  54. 520  PRINT TAB(12)"X"
  55. 530  PRINT TAB(12)"!":PRINT TAB(12)"!"
  56. 540  PRINT "------------------------"
  57. 550  PRINT
  58. 560  PRINT "Z="Z1"-->" TAB(14) "<--Z="Z2
  59. 570  PRINT
  60. 580  GOTO 290
  61. 590  INPUT "INPUT LARGER Z";Z1
  62. 600  INPUT "INPUT SMALLER Z";Z2
  63. 610  IF Z2>Z1 THEN PRINT "ERROR";:GOTO 590
  64. 620  R1=SQR(Z1*(Z1-Z2))
  65. 630  R2=(Z1*Z2)/R1
  66. 640  R3=R2
  67. 650  L=20*LOG(SQR(Z1/Z2)+SQR((Z1/Z2)-1))/2.30259
  68. 660  CLS
  69. 670  PRINT "THE LOSS OF THIS ATTENUATOR IN DB IS";L
  70. 680  PRINT:PRINT
  71. 690  PRINT "   "INT(R1+0.5)
  72. 700  PRINT "----XXXX----------------"
  73. 710  PRINT TAB(12)"!":PRINT TAB(12)"!"
  74. 720  PRINT TAB(12)"X"
  75. 730  PRINT TAB(12)"X  "INT(R3+0.5)
  76. 740  PRINT TAB(12)"X"
  77. 750  PRINT TAB(12)"!":PRINT TAB(12)"!"
  78. 760  PRINT "------------------------"
  79. 770  PRINT
  80. 800  PRINT "Z="Z1"-->" TAB(14) "<--Z="Z2
  81. 810  PRINT
  82. 820  GOTO 290
  83.