home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / w4mb / vol1 / basic / yagi.asc < prev   
Text File  |  1996-06-30  |  5KB  |  122 lines

  1. 100 CLS : PRINT "   ***********************************"
  2. 110 PRINT "   *        UNIFORM YAGI ARRAYS      *"
  3. 120 PRINT "   *SEE GREEN,TRANS.I.E.AUST.MAR.1966*"
  4. 130 PRINT "   * OR IEEE AP NEWSLETTER,JUNE 1985 *"
  5. 140 PRINT "   *      PROGRAM COPYRIGHT 1985     *"
  6. 150 PRINT "   *       R.P. HAVILAND, W4MB       *"
  7. 160 PRINT "   ***********************************"
  8. 170 REM PROGRAM 18
  9. 180 DEF FNP (X) = INT(100 * X + .5) / 100
  10. 190 DIM A(3, 7, 8)
  11. 200 PRINT : PRINT "A UNIFORM YAGI HAS THE SAME SPACING "
  12. 210 PRINT "BETWEEN ELEMENTS,  AND ALL DIRECTORS OF THE SAME LENGTH."
  13. 230 PRINT
  14. 240 PRINT "DESIGN VALUES USED HERE ARE SELECTED FOR MAXIMUM GAIN PER ELEMENT"
  15. 250 IF P$ = "P" THEN 800
  16. 260 PRINT : PRINT "WAIT-READING DATA": PRINT
  17. 300 FOR I = 0 TO 3
  18. 310 FOR J = 0 TO 7
  19. 320 FOR K = 0 TO 8
  20. 330 READ A(I, J, K)
  21. 340 NEXT K
  22. 350 NEXT J
  23. 360 NEXT I
  24. 400 INPUT "ENTER DESIGN FREQUENCY, MHZ"; FO
  25. 410 INPUT "ENTER ALLOWABLE BOOM LENGTH,FT"; LB
  26. 420 LA = 984 / FO: EL = 0
  27. 430 PRINT : PRINT "DATA IS AVAILABLE FOR ELEMENT DIAMETERS"
  28. 440 PRINT "   A="; FNP(.0025 * LA * 12); "INCHES"
  29. 450 PRINT "   B="; FNP(.005 * LA * 12); "INCHES"
  30. 460 PRINT "   C="; FNP(.01 * LA * 12); "INCHES"
  31. 470 PRINT "   D="; FNP(.02 * LA * 12); "INCHES"
  32. 480 PRINT "ENTER LETTER CODE OF NEAREST AVERAGE ELEMENT DIAMETER"
  33. 490 INPUT D$
  34. 500 IF D$ < "A" OR D$ > "D" THEN 480
  35. 600 I = ASC(D$) - 65
  36. 610 DE = .0025 * 2 ^ I
  37. 620 FOR J = 7 TO 0 STEP -1
  38. 630 LT = (J + 2) * A(I, J, 0) * LA
  39. 640 IF LB >= LT THEN EL = J + 3: GOTO 800
  40. 650 IF (J = 0 AND LB < (A(I, J, 0)) * LT) THEN PRINT " *** BOOM LENGTH INCREASED ***"
  41. 660 IF J = 0 THEN EL = EL + 2: LT = A(I, J, 0) * LA: GOTO 800
  42. 670 NEXT J
  43. 790 PRINT " ELEMENT DIAMETER="; FNP(DE * LA * 12); "INCHES"
  44. 800 PRINT : PRINT " ELEMENT DIAMETER="; FNP(DE * LA * 12); "INCHES"
  45. 810 PRINT : PRINT " THE NUMBER OF ELEMENTS="; EL
  46. 820 PRINT "SPACED AT"; A(I, J, 0); "WAVELENGTHS"
  47. 830 PRINT "OR AT"; FNP(A(I, J, 0) * LA); "FEET"
  48. 840 PRINT "ON A BOOM OF"; FNP(LT); "FEET LENGTH"
  49. 850 PRINT : PRINT " THE GAIN IS"; A(I, J, 4); "DB"
  50. 860 PRINT " THE FRONT/BACK RATIO IS"; A(I, J, 5); "DB"
  51. 870 PRINT " THE H-PLANE BEAMWIDTH IS"; A(I, J, 7); "DEGREES"
  52. 880 PRINT " THE E-PLANE BEAMWIDTH IS"; A(I, J, 8); "DEGREES"
  53. 890 PRINT " THE DRIVE RESISTANCE IS"; A(I, J, 6); "OHMS"
  54. 900 PRINT : PRINT " REFLECTOR LENGTH="; FNP(A(I, J, 1) * LA); "FEET"
  55. 910 PRINT " RADIATOR LENGTH="; FNP(A(I, J, 2) * LA); "FEET"
  56. 920 PRINT " DIRECTOR LENGTH="; FNP(A(I, J, 3) * LA); "FEET"
  57. 1000 REM MENU
  58. 1010 PRINT : PRINT "  PRESS A KEY FOR MORE"
  59. 1020 Q$ = INKEY$: IF Q$ = "" THEN 1020
  60. 1030 PRINT : PRINT " ENTER I=INTERPOLATE FOR ELEMENT SIZE"
  61. 1050 PRINT "       R=RERUN"
  62. 1060 PRINT "       Q=QUIT"
  63. 1070 INPUT P$
  64. 1080 IF P$ = "I" THEN 1200
  65. 1100 IF P$ = "R" THEN 400
  66. 1110 IF P$ <> "Q" THEN 1070
  67. 1120 STOP
  68. 1200 INPUT " ENTER ELEMENT DIAMETER, INCHES"; DI
  69. 1210 DL = DI / 12 / LA
  70. 1220 FOR R = 1 TO 3
  71. 1230 B = 0
  72. 1240 FOR S = 0 TO 3
  73. 1250 W = 1
  74. 1260 FOR T = 0 TO 3
  75. 1270 IF T = S THEN 1290
  76. 1275 X1 = .0025 * 2 ^ T:
  77. 1276 X2 = .0025 * 2 ^ S
  78. 1280 W = W * (DL - X1) / (X2 - X1)
  79. 1290 NEXT T
  80. 1300 B = B + W * A(S, J, R)
  81. 1310 NEXT S
  82. 1320 PRINT : PRINT " FOR ELEMENT DIAMETER="; DI; "INCHES"
  83. 1330 IF R = 1 THEN PRINT "REFLECTOR";
  84. 1340 IF R = 2 THEN PRINT "RADIATOR";
  85. 1350 IF R = 3 THEN PRINT "DIRECTOR";
  86. 1360 PRINT " LENGTH="; FNP(B * LA); "FEET"
  87. 1370 NEXT R
  88. 1380 GOTO 1000
  89. 5000 DATA .2,.4883,.4659,.4693,9.84,6.7,7.8,68,52
  90. 5010 DATA .25,.4907,.467,.4621,11.2,13.5,13.5,56,46
  91. 5020 DATA .3,.4835,.4664,.4573,12.2,18.6,21.2,46,40
  92. 5030 DATA .25,.4859,.4662,.4526,12.3,17.4,21.5,46,42
  93. 5040 DATA .3,.4788,.4611,.4478,13,13.3,29.3,40,37
  94. 5050 DATA .3,.4812,.4667,.4526,13.2,30.4,26.6,34,32
  95. 5060 DATA .3,.4764,.4579,.4407,13.4,9.9,39.3,37,34
  96. 5070 DATA .3,.4788,.4624,.4454,14.1,18.8,31.1,32,30
  97. 5100 DATA .2,.4865,.4603,.4629,9.8,7.2,7.9,69,53
  98. 5110 DATA .25,.4865,.4626,.4555,11.2,13.7,12.7,56,46
  99. 5120 DATA .3,.4817,.4589,.4510,12.2,15.4,18.8,44,40
  100. 5130 DATA .25,.4841,.4589,.4463,12.3,15,19.4,46,40
  101. 5140 DATA .3,.4747,.4550,.4392,13,13.6,28.3,40,37
  102. 5150 DATA .3,.4794,.4627,.4440,13.3,26,29.3,34,32
  103. 5160 DATA .3,.4747,.4507,.4322,13.3,10.1,39,37,34
  104. 5170 DATA .3,.4770,.4563,.436,14,18.8,30.5,32,30
  105. 5200 DATA .2,.4826,.4518,.4546,9.8,7.2,7.5,69,53
  106. 5210 DATA .25,.4826,.4530,.4476,11.2,12,10.6,54,46
  107. 5220 DATA .3,.4756,.4511,.4407,12.2,16.8,18.1,44,40
  108. 5230 DATA .25,.4803,.445,.4360,12.3,14.3,17,46,40
  109. 5240 DATA .3,.4710,.4432,.4290,13,12,25.8,40,36
  110. 5250 DATA .3,.4756,.4529,.4336,13.2,28.1,25.3,34,32
  111. 5260 DATA .3,.4663,.4397,.4197,13.4,9.4,35.7,36,34
  112. 5270 DATA .3,.4710,.4468,.4243,14.2,18.3,28,32,30
  113. 5300 DATA .2,.4749,.4384,.4406,.8,7.2,6.9,69,54
  114. 5310 DATA .25,.4771,.4411,.4315,11.2,13.6,10.9,56,46
  115. 5320 DATA .3,.4680,.4362,.4246,12.2,15.6,15.7,44,40
  116. 5330 DATA .25,.4726,.4360,.4178,12.3,14.9,16.5,46,40
  117. 5340 DATA .3,.4612,.4290,.4087,13,12.9,23.8,40,36
  118. 5350 DATA .3,.4657,.4392,.4155,13.2,29.,22.,34,32
  119. 5360 DATA .3,.4566,.4237,.3972,13.4,9.8,32,37,34
  120. 5370 DATA .3,.4657,.4311,.4041,14.2,18.1,25.8,32,30
  121.  
  122.