home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / tech / engprog / yagibeam.bas (.txt) < prev   
Encoding:
GW-BASIC  |  1987-07-28  |  4.0 KB  |  100 lines

  1. 0   COLOR ,1:CLS
  2. 10  COLOR 15,1,4:LOCATE 2,30:PRINT"VHF YAGI BEAM DESIGN"
  3. 20  LOCATE 4,1:PRINT STRING$(79,"=")
  4. 30  LOCATE 6,10:PRINT"THIS PROGRAM IS TO DESIGN BEAMS IN THE ";:COLOR 14:PRINT" 144 - 220 - 440 Mhz BANDS":COLOR 15
  5. 40  LOCATE 8,25:PRINT"WHICH HAVE MORE THAN ";:COLOR 14:PRINT" 3 ELEMENTS":COLOR 15
  6. 45  LOCATE 10,10:COLOR 2:PRINT"IT WAS ADAPTED TO COLOR FROM A PROGRAM ON THE PDS DISK AR 1.0"
  7. 50  LOCATE 23,35:COLOR 31:PRINT"[ENTER]"
  8. 60  COLOR 15,0
  9. 70  LOCATE 24,38:ZZ$=INKEY$:IF ZZ$= "" THEN 70
  10. 80  COLOR 15,0,0:CLS
  11. 100  'This program calculates the dimensions of a VHF Yagi antenna.
  12. 110  '
  13. 120  'Design assumptions are:
  14. 130  '  1. Driven element length in inches is 5600/frequency in MHZ.
  15. 140  '  2. The reflector is 5% longer than the driven element.
  16. 150  '  3. Reflector and first director spacing is 0.2 wavelengths from driven.
  17. 160  '  4. The first director is 5% shorter than the driven element.
  18. 170  '     Subsequent director lengths are calculated by adding 1% to
  19. 180  '     the shortening factor of the previous director. For example,
  20. 190  '     the 2nd director is 6% shorter than the driven element,
  21. 200  '     the 3rd is 7% shorter, the 4th, 8% shorter, etc.
  22. 210  '  5. Director spacing is 110% of previous spacing. Spacing starts
  23. 220  '     at 0.2 wavelengths.
  24. 230  '
  25. 240  ' The program is well documented via remarks, so any of the above
  26. 250  ' assumptions may be easily changed.
  27. 255  '
  28. 260  ' Program COLOR mods by R. Thwing K4EDE P.O. Box 40 Columbus, NC 28722
  29. 265  '
  30. 270  '-------------------- PROGRAM BEGINS --------------------------------------
  31. 280  CLS:COLOR 15,0
  32. 290  PRINT"                       VHF YAGI BEAM DESIGN":PRINT:PRINT:PRINT:PRINT"
  33. 300  DEFINT I
  34. 302  LOCATE 6,10:PRINT "THE OUTPUT OF THIS PROGRAM IS TO THE MONITOR SCREEN"
  35. 303  LOCATE 8,10:COLOR 14:PRINT"PRESS [SHIFT]+[PRINT] FOR HARD COPY WHEN WANTED"
  36. 304  PRINT
  37. 305  LOCATE 10,10:COLOR 4:PRINT"DO YOU WANT TO USE PRINTER? Y/N "
  38. 306  LOCATE 10,42:ZZ$=INKEY$:IF ZZ$="" THEN 306
  39. 307  IF ZZ$= "Y" OR ZZ$= "y" THEN GOSUB 10000 ELSE 308
  40. 308  LOCATE 22,30:COLOR 25:INPUT"HIT [ENTER] TO CONTINUE";ZZ:COLOR 15
  41. 309  PRINT:CLS
  42. 310  COLOR 0,15:INPUT"WHAT FREQUENCY (MHZ) ";FREQ
  43. 311  IF FREQ <144 OR FREQ >450 THEN COLOR 4:PRINT"FREQ OUT OF VHF BAND..REENTER FREQ":COLOR 0:GOTO 310
  44. 320  INPUT"HOW MANY ELEMENTS (3 MINIMUM) ";ELNO:PRINT
  45. 321  IF ELNO <3 THEN COLOR 4:PRINT"TOO FEW ELEMENTS...TRY AGAIN":COLOR 0:GOTO 320
  46. 330  WL = 11808/FREQ 'wavelength in free space (inches)
  47. 340  DR = 5600/FREQ 'driven element length (inches)
  48. 350  RF = DR * 1.05 'reflector length
  49. 360  SPR = WL * 0.2 'reflector spacing
  50. 370  PL(1) = DR * 0.95'first director length
  51. 380  SPP(1) = WL * 0.2 'first director spacing
  52. 390  FOR I = 2 TO (ELNO -2)
  53. 396  PRINT
  54. 400  SPP(I) = SPP(I-1) * 1.1 'each director spacing 10% greater than previous
  55. 410  PL(I) = DR * (100 - (4 + I))*0.01 'director length
  56. 420  LN1 = LN1 + SPP(I) 'keep track of overall length
  57. 430  NEXT
  58. 440  DEF FNX(X) = INT(X*100+0.5)*0.01 'function to round off printing to 2 dec.
  59. 450  LNT = SPR + SPP(1) + LN1 'total beam length
  60. 460  COLOR 2,0:PRINT"DESIGN DATA FOR VHF YAGI BEAM ANTENNA: "
  61. 470  PRINT
  62. 480  PRINT"---- DESIGN FREQUENCY IS";FREQ;" MHZ"
  63. 490  PRINT"---- TOTAL NUMBER OF ELEMENTS IS";ELNO
  64. 500  PRINT
  65. 510  PRINT
  66. 520  PRINT TAB(35);"LENGTH IN INCHES"
  67. 530  PRINT"REFLECTOR";TAB(40);FNX(RF)
  68. 540  PRINT"REFLECTOR TO DRIVEN";TAB(41);FNX(SPR)
  69. 550  PRINT"DRIVEN";TAB(40);FNX(DR)
  70. 560  PRINT"DRIVEN TO 1st DIRECTOR";TAB(41);FNX(SPP(1))
  71. 570  PRINT"1st DIRECTOR LENGTH";TAB(40);FNX(PL(1))
  72. 580  PRINT
  73. 590  FOR I = 2 TO (ELNO -2)
  74. 600  PRINT"DIRECTOR No.";I;" LENGTH IS";FNX(PL(I));" INCHES"
  75. 610  PRINT"SPACED";FNX(SPP(I));" INCHES FROM DIRECTOR No.";I-1
  76. 620  PRINT
  77. 630  NEXT
  78. 640  PRINT"------ OVERALL BEAM LENGTH IS";FNX(LNT);" INCHES ------"
  79. 650  LOCATE 24,35:COLOR 20:PRINT"[SPACE BAR]"
  80. 655  AA$=INKEY$:IF AA$="" THEN 655
  81. 660  COLOR 15:CLS
  82. 670  LOCATE 12,20:COLOR 14:PRINT"WHAT NOW?"
  83. 680  LOCATE 14,20:PRINT"DO ANOTHER DESIGN?...........................A"
  84. 690  LOCATE 15,20:PRINT"RETURN TO BASIC..............................B"
  85. 700  LOCATE 16,20:PRINT"RETURN TO MAIN MENU..........................M"
  86. 710  COLOR 4:LOCATE 17,20:PRINT"RETURN TO MS-DOS.............................D"
  87. 720  COLOR 15:LOCATE 20,20
  88. 725  ZZ$=INKEY$:IF ZZ$="" THEN 725
  89. 730  IF ZZ$= "A" THEN CLS:RUN 310
  90. 740  IF ZZ$= "B" THEN CLS:NEW
  91. 750  IF ZZ$= "M" THEN RUN"MAINMENU"
  92. 760  IF ZZ$= "D" THEN 800
  93. 770  CLS:GOTO 660
  94. 800  COLOR ,4:CLS:COLOR 15:LOCATE 12,25:PRINT"ARE YOU SURE (Y)es/(N)o ?":LOCATE 15,20:COLOR 31:PRINT"<<<<< A YES WILL CLEAR BASIC!! >>>>>"
  95. 810  AA$=INKEY$:IF AA$= "" THEN 810
  96. 820  IF AA$= "Y" THEN COLOR 15,0:SYSTEM
  97. 830  COLOR 15,0:GOTO 670
  98. 10000  A=INP(&H379):IF A<>217 THEN LOCATE 16,32:COLOR 20:PRINT"PRINTER NOT READY ":GOTO 10000
  99. 10010  COLOR 0:LOCATE 16,32:PRINT"                              ":RETURN
  100.