home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / hammisc1 / parabola.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-04-03  |  5.1 KB  |  200 lines

  1. 10  ' PARABOLIC ANTENNA DESIGN PROGRAM
  2. 20  ' INCLUDES CALCULATION OF ANTENNA GAIN AND BEAMWIDTH
  3. 30  ' THE PICTORIAL DEFINITION OF TERMINOLOGY REQUIRES GRAPHICS CARD.
  4. 40  '
  5. 50  'AUTHOR:  ALAN CHRISTIAN     WA6YOB        SACRAMENTO,CA
  6. 60  'VERSION: 1.0
  7. 70  'DATE:    AUGUST 11,1984
  8. 80  '
  9. 90  ' THIS PROGRAM IS DISTRIBUTED FREE OF CHARGE VIA RBBS TO ANYONE
  10. 100  ' WHO WANTS TO USE IT.  IT MAY BE FREELY COPIED BUT MAY NOT BE
  11. 110  ' SOLD.  THE AUTHOR ASSUMES NO LIABILITY FOR THE FITNESS OF THIS
  12. 120  ' PROGRAM FOR ANY PURPOSE AND IS NOT LIABLE FOR DAMAGES OF ANY
  13. 130  ' SORT RESULTING FROM THE USE OF THIS PROGRAM.
  14. 140  '
  15. 150  ' THIS PROGRAM SHOULD BE DISTRIBUTED IN ITS ORIGINAL FORM.  ANY
  16. 160  ' REVISIONS SHOULD BE APPENDED OR CONTAINED IN A SEPARATE FILE.
  17. 170  '
  18. 180  ' ***** INTRODUCTION AND INSTRUCTIONS *****
  19. 190  CLS
  20. 200  SCREEN 0,0,0,0
  21. 210  COLOR 7,0,0
  22. 220  GOSUB 1120
  23. 230  LOCATE 4,5:PRINT "PARABOLIC ANTENNA DESIGN PROGRAM              VERSION 1.0"
  24. 240  LOCATE 6,5:PRINT "FOR USE IN DESIGNING PARABOLIC ANTENNA REFLECTORS.  MAY"
  25. 250  LOCATE 7,5:PRINT "BE USED FOR AMATEUR RADIO APPLICATIONS (TX/RX) OR FOR"
  26. 260  LOCATE 8,5:PRINT "GEO-STATIONARY SATELLITE RECEPTION APPLICATIONS."
  27. 270  '
  28. 280  LOCATE 12,5:PRINT "THIS PROGRAM DESIGNS THE REFLECTOR ONLY.  THE DESIGN OF"
  29. 290  LOCATE 13,5:PRINT "THE ANTENNA FEED (ILLUMINATION) SYSTEM IS NOT DISCUSSED."
  30. 300  LOCATE 15,5:PRINT "THE REFLECTOR MAY BE ILLUMINATED BY A HORN, DIPOLE, ETC."
  31. 310  LOCATE 17,5:PRINT "DO YOU WANT TO SEE A PICTORIAL DEFINITION OF THE TERMS "
  32. 320  LOCATE 18,5:PRINT "USED IN THE DESIGN?    (NOTE: GRAPHICS CARD AND MONITOR"
  33. 330  LOCATE 19,5:PRINT "ARE REQUIRED.                                     (Y/N)"
  34. 340  QQ$=INKEY$:IF QQ$="" THEN 340
  35. 350  IF QQ$="Y" OR QQ$="y" THEN GOSUB 1490:REM HI-RES GRAPHICS SUBROUTINE
  36. 360  ' ***** CALCULATION OF "DEPTH" OF REFLECTOR AT 1-INCH INTERVALS *****
  37. 370  CLS
  38. 380  PRINT:PRINT
  39. 390  INPUT "DIAMETER OF REFLECTOR IN FEET  ";DF
  40. 400  INPUT "FOCAL LENGTH OF ANTENNA IN FEET";FF
  41. 410  DI=DF*12
  42. 420  FI=FF*12
  43. 430  YF=DF/2
  44. 440  YI=DI/2
  45. 450  DIM ZZ(DI,2)
  46. 460  FOR Y=1 TO YI
  47. 470  ZZ(Y,0)=Y
  48. 480  ZZ(Y,1)=(INT(Y^2/(4*FI)*100))/100
  49. 490  NEXT Y
  50. 500  ' ***** SELECT OUTPUT DEVICE *****
  51. 510  PRINT "DO YOU WANT RESULTS ON THE PRINTER (P) OR SCREEN (S)"
  52. 520  QQ$ = INKEY$:IF QQ$="" THEN 520
  53. 530  IF QQ$="P" OR QQ$="p" THEN 770
  54. 540  ' ***** OUTPUT TO VIDEO SCREEN *****
  55. 550  PC=0
  56. 560  CLS
  57. 570  PRINT "RADIAL DISTANCE (Y)";SPC(20);"DEPTH (Z)"
  58. 580  PRINT "INCHES FROM CENTER ";SPC(20);"IN INCHES"
  59. 590  PRINT "-------------------------------------------------"
  60. 600  LOCATE 4,1
  61. 610  PG=0:IF PC=1 THEN 630
  62. 620  FOR Q=0 TO YI
  63. 630  PRINT USING "#########";ZZ(Q,0);
  64. 640  PRINT SPC(25)
  65. 650  PRINT USING "######.##";ZZ(Q,1)
  66. 660  PG = PG+1:IF PG < 17 THEN 710
  67. 670  PRINT:PRINT "HIT ANY KEY TO CONTINUE"
  68. 680  QQ$=INKEY$:IF QQ$="" THEN 680
  69. 690  PC=1
  70. 700  GOTO 560
  71. 710  NEXT Q
  72. 720  PRINT "DO YOU WANT TO CALCULATE GAIN (Y/N)"
  73. 730  QQ$=INKEY$:IF QQ$="" THEN 730
  74. 740  IF QQ$="Y" OR QQ$="y" THEN 980
  75. 750  GOTO 1990
  76. 760  ' ***** OUTPUT TO PRINTER *****
  77. 770  PC=0
  78. 780  LPRINT CHR$(12)
  79. 790  LPRINT "RADIAL DISTANCE (Y)";SPC(20);"DEPTH (Z)"
  80. 800  LPRINT "INCHES FROM CENTER ";SPC(20);"IN INCHES"
  81. 810  LPRINT "-------------------------------------------------"
  82. 820  LPRINT
  83. 830  PG=0:IF PC=1 THEN 850
  84. 840  FOR Q=0 TO YI
  85. 850  LPRINT USING "#########";ZZ(Q,0);
  86. 860  LPRINT SPC(25)
  87. 870  LPRINT USING "######.##";ZZ(Q,1)
  88. 880  PG = PG+1:IF PG < 55 THEN 910
  89. 890  PC=1
  90. 900  GOTO 780
  91. 910  NEXT Q
  92. 920  LPRINT CHR$(12)
  93. 930  PRINT "DO YOU WANT TO CALCULATE GAIN (Y/N)"
  94. 940  QQ$=INKEY$:IF QQ$="" THEN 940
  95. 950  IF QQ$="Y" OR QQ$="y" THEN 980
  96. 960  GOTO 1990
  97. 970  ' ***** GAIN AND BEAMWIDTH CALCULATION *****
  98. 980  SCREEN 0,0,0,0:CLS:KEY OFF:WIDTH 80
  99. 990  PRINT "PARABOLIC ANTENNA GAIN AND BEAMWIDTH CALCULATION"
  100. 1000  PRINT
  101. 1010  K=0.434293
  102. 1020  INPUT "FREQUENCY IN MEGAHERTZ     ";F
  103. 1030  D=DF
  104. 1040  G=(INT(20*(LOG(F)*K)+20*(LOG(D)*K)-52.6)*10)/10
  105. 1050  TH=(INT(7E+07/(F*D)))/1000
  106. 1060  PRINT
  107. 1070  PRINT "ANTENNA GAIN =";G;"DB OVER A POINT SOURCE (ISOTROPIC)"
  108. 1080  PRINT "BEAM ANGLE =";TH;"DEGREES"
  109. 1090  PRINT:PRINT
  110. 1100  GOTO 1990
  111. 1110  ' ***** PRINT THE FRAMES FOR THE INSTRUCTIONS *****
  112. 1120  LOCATE 2,1
  113. 1130  GOSUB 1280
  114. 1140  FOR PX=3 TO 9
  115. 1150  LOCATE PX,1:PRINT CHR$(186)
  116. 1160  LOCATE PX,74:PRINT CHR$(186)
  117. 1170  NEXT PX
  118. 1180  LOCATE 10,1
  119. 1190  GOSUB 1350
  120. 1200  FOR PX=11 TO 20
  121. 1210  LOCATE PX,1:PRINT CHR$(186)
  122. 1220  LOCATE PX,74:PRINT CHR$(186)
  123. 1230  NEXT PX
  124. 1240  LOCATE 21,1
  125. 1250  GOSUB 1420
  126. 1260  RETURN
  127. 1270  ' PRINT HORIZONTAL LINE WITH DOWNTURNED CORNERS
  128. 1280  PRINT CHR$(201);
  129. 1290  FOR PP=1 TO 72
  130. 1300  PRINT CHR$(205);
  131. 1310  NEXT PP
  132. 1320  PRINT CHR$(187)
  133. 1330  RETURN
  134. 1340  ' PRINT HORIZONTAL LINE WITH "T" CORNERS
  135. 1350  PRINT CHR$(204);
  136. 1360  FOR PP=1 TO 72
  137. 1370  PRINT CHR$(205);
  138. 1380  NEXT PP
  139. 1390  PRINT CHR$(185)
  140. 1400  RETURN
  141. 1410  ' PRINT HORIZONTAL LINE WITH UPTURNED CORNERS
  142. 1420  PRINT CHR$(200);
  143. 1430  FOR PP=1 TO 72
  144. 1440  PRINT CHR$(205);
  145. 1450  NEXT PP
  146. 1460  PRINT CHR$(188)
  147. 1470  RETURN
  148. 1480  ' ***** HI-RES GRAPHICS ROUTINE TO DISPLAY DESIGN TERMINOLOGY *****
  149. 1490  CLS
  150. 1500  KEY OFF
  151. 1510  SCREEN 2
  152. 1520  PSET (15,50)
  153. 1530  DRAW "L5;R10;L5;D100;L5;R10;"
  154. 1540  PSET (50,100)
  155. 1550  DRAW "U50;D100;U50;L10;R20;L10;U50;L5;R10;L5;D100;L5;R10;L5;U50;"
  156. 1560  FOR Y=-50 TO 50 STEP 0.1
  157. 1570  Z=Y*Y/30
  158. 1580  PSET (Z+50,Y+100)
  159. 1590  NEXT Y
  160. 1600  LOCATE 2,35
  161. 1610  PRINT "DESIGN OF A PARABOLIC REFLECTOR"
  162. 1620  LOCATE 3,35
  163. 1630  PRINT "PICTORIAL DEFINITION OF TERMS"
  164. 1640  LOCATE 5,40
  165. 1650  PRINT "Y= 0.5 Diameter of reflector"
  166. 1660  LOCATE 6,40
  167. 1670  PRINT "Z= Reflector 'depth' at point Y'"
  168. 1680  LOCATE 7,40
  169. 1690  PRINT "F= Design focal length"
  170. 1700  LOCATE 8,45
  171. 1710  PRINT "NOTE: F,Y are in feet"
  172. 1720  LOCATE 9,45
  173. 1730  PRINT "      Z  is in inches"
  174. 1740  LOCATE 8,8
  175. 1750  PRINT "--Z--"
  176. 1760  LOCATE 13,25
  177. 1770  PRINT "FOCAL POINT"
  178. 1780  PSET (170,100)
  179. 1790  CIRCLE (170,100),3
  180. 1800  FOR Q = 160 TO 70 STEP -1
  181. 1810  IF Q/4=INT(Q/4) THEN PSET (Q,100):GOTO 1830
  182. 1820  PRESET (Q,100)
  183. 1830  NEXT Q
  184. 1840  LOCATE 13,15
  185. 1850  PRINT " F "
  186. 1860  LOCATE 12,2
  187. 1870  PRINT "  "
  188. 1880  LOCATE 14,2
  189. 1890  PRINT "  "
  190. 1900  LOCATE 13,2
  191. 1910  PRINT "2Y"
  192. 1920  LOCATE 22,1
  193. 1930  PRINT "Scale exaggerated for clarity"
  194. 1940  LOCATE 23,1
  195. 1950  PRINT "Hit any key to continue"
  196. 1960  KK$=INKEY$:IF KK$="" THEN 1960
  197. 1970  SCREEN 0:CLS
  198. 1980  RETURN
  199. 1990  CLEAR:END
  200.