home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / w4mb / vol2 / basic / romb.asc < prev    next >
Text File  |  1996-06-30  |  6KB  |  147 lines

  1. 2 ON ERROR GOTO 60000
  2. 3 CLS
  3. 100 PRINT "     ***********************************************************"
  4. 110 PRINT "     *             HORIZONTAL RHOMBIC ANTENNAS                 *"
  5. 120 PRINT "     *           OPTIMUM AND COMPROMISE DESIGNS                *"
  6. 130 PRINT "     * REFERENCES- BRUCE, BECK, LOWRY;  PROC. IRE, JAN. 1935   *"
  7. 140 PRINT "     *           - KRAUS; ANTENNAS, 2ND ED.                    *"
  8. 150 PRINT "     *           - ARRL; THE ARRL ANTENNA HANDBOOK, CURRENT ED *"
  9. 160 PRINT "     *         PROGRAM BY R. P. HAVILAND, PE, W4MB             *"
  10. 170 PRINT "     *              PROGRAM COPYRIGHT 1990 BY                  *"
  11. 180 PRINT "     *       MINILAB BOOKS, DAYTONA BEACH, FL 32121-1086       *"
  12. 190 PRINT "     ***********************************************************"
  13. 300 DEF FNASIN(X)=ATN(X/SQR(1-X*X))
  14. 310 DEF FNACOS(X)=ATN(SQR(1-X*X)/X)
  15. 400 MTOFT=39.37/12
  16. 410 PI=3.141593
  17. 420 TORAD=PI/180
  18. 430 INPUT " PAPER COPY OF DESIGN DATA, Y/N";P$
  19. 440 IF P$="y" THEN P$="Y"
  20. 500 INPUT "ENTER DESIGN CENTER FREQUENCY, MHZ";FOP
  21. 505 IF P$="Y" THEN LPRINT  " DESIGN CENTER FREQUENCY, MHZ";FOP
  22. 510 IF FOP=<0 THEN 500
  23. 520 LAMBDA=299.7/FOP
  24. 530 PRINT "    DESIGN WAVELENGTH IS";LAMBDA;" METERS"
  25. 540 PRINT
  26. 550 INPUT "ENTER DESIGN SIGNAL ELEVATION ANGLE, DEGREES";ELEV
  27. 555 IF P$="Y" THEN LPRINT " DESIGN SIGNAL ELEVATION ANGLE, DEGREES";ELEV
  28. 560 IF ELEV=<0 THEN 550
  29. 570 ELEV=ELEV*TORAD
  30. 1000 PRINT " SELECT TYPE OF DESIGN BY NUMBER"
  31. 1010 PRINT "      ALIGNMENT DESIGNS"
  32. 1020 PRINT "          1- MAXIMUM SIGNAL AT DESIGN ELEVATION"
  33. 1030 PRINT "          2- LOBE MAXIMUM AT DESIGN ELEVATION"
  34. 1040 PRINT "      COMPROMISE DESIGN"
  35. 1050 PRINT "          3- AS 2 BUT LEG LENGTH SPECIFIED"
  36. 1060 INPUT "ENTER DESIGN NUMBER";TEM
  37. 1070 IF TEM<1 OR TEM>5 GOTO 1000
  38. 1800 ON TEM GOTO 5000,10000,20000
  39. 5000 REM ALIGNMENT 1
  40. 5010 HEIGHTLAM=1/(4*SIN(ELEV))
  41. 5020 HEIGHTMET=HEIGHTLAM*LAMBDA
  42. 5030 HEIGHTFT=HEIGHTMET*MTOFT
  43. 5040 TILTANGL=90-ELEV/TORAD
  44. 5050 LEGLENLAM=.5/(SIN(ELEV)*SIN(ELEV))
  45. 5060 LEGLENMET=LEGLENLAM*LAMBDA
  46. 5070 LEGLENFT=LEGLENMET*MTOFT
  47. 5080 GOSUB 30000
  48. 5090 GOTO 35000
  49. 10000 REM ALIGNMENT 2
  50. 10010 HEIGHTLAM=1/(4*SIN(ELEV))
  51. 10020 HEIGHTMET=HEIGHTLAM*LAMBDA
  52. 10030 HEIGHTFT=HEIGHTMET*MTOFT
  53. 10040 TILTANGL=90-ELEV/TORAD
  54. 10050 LEGLENLAM=.371/(SIN(ELEV)*SIN(ELEV))
  55. 10060 LEGLENMET=LEGLENLAM*LAMBDA
  56. 10070 LEGLENFT=LEGLENMET*MTOFT
  57. 10080 GOSUB 30000
  58. 10090 GOTO 35000
  59. 20000 REM LENGTH COMPROMISE
  60. 20010 HEIGHTLAM=1/(4*SIN(ELEV))
  61. 20020 HEIGHTMET=HEIGHTLAM*LAMBDA
  62. 20030 HEIGHTFT=HEIGHTMET*MTOFT
  63. 20040 INPUT "ENTER LEG LENGTH, FEET";LEGLENFT
  64. 20050 LEGLENMET=LEGLENFT/MTOFT
  65. 20060 LEGLENLAM=LEGLENMET/LAMBDA
  66. 20070 IF LEGLENLAM<.371 THEN PRINT "NO SOLUTION POSSIBLE":GOTO 20040
  67. 20200 X=(LEGLENLAM-.371)/(LEGLENLAM*COS(ELEV))
  68. 20210 IF X=>1 THEN PRINT "NO SOLUTION POSSIBLE":GOTO 20040
  69. 20300 TILTANGL=FNASIN(X)/TORAD
  70. 20400 GOSUB 30000
  71. 20500 GOTO 35000
  72. 30000 PRINT 
  73. 30010 PRINT " REQUIRED HEIGHT IS ";HEIGHTLAM;" WAVELENTHS"
  74. 30020 PRINT "                 OR ";HEIGHTMET;" METERS
  75. 30030 PRINT "                 OR ";HEIGHTFT;" FEET"
  76. 30040 PRINT 
  77. 30100 PRINT " REQUIRED LEG LENGTHS ARE ";LEGLENLAM;" WAVELENGTHS"
  78. 30110 PRINT "                       OR ";LEGLENMET;" METERS"
  79. 30120 PRINT "                       OR ";LEGLENFT;" FEET"
  80. 30130 PRINT 
  81. 30200 PRINT " TOTAL SIDE ANGLE IS ";2*TILTANGL;" DEGREES"
  82. 30210 PRINT "         (TILT ANGLE=";TILTANGL;" DEGREES"
  83. 30220 PRINT 
  84. 30300 PRINT " TOTAL END ANGLE IS ";180-2*TILTANGL;" DEGREES"
  85. 30310 PRINT
  86. 31000 X=LEGLENLAM
  87. 31010 GAIN=3.8478+2.06628*X-.083233*X*X
  88. 31020 GAIN=INT(100*GAIN+.5)/100
  89. 31030 PRINT " GAIN=";GAIN;" DB ABOVE A DIPOLE"
  90. 31040 PRINT "       INCLUDING A 3 DB ALLOWANCE FOR LOSSES"
  91. 31050 PRINT 
  92. 32000 IF P$="Y" THEN LPRINT 
  93. 32010 IF P$="Y" THEN LPRINT " REQUIRED HEIGHT IS ";HEIGHTLAM;" WAVELENTHS"
  94. 32020 IF P$="Y" THEN LPRINT "                 OR ";HEIGHTMET;" METERS
  95. 32030 IF P$="Y" THEN LPRINT " GAIN=";GAIN;" DB ABOVE A DIPOLE"
  96. 32040 IF P$="Y" THEN LPRINT "       INCLUDING A 3 DB ALLOWANCE FOR LOSSES"
  97. 32100 IF P$="Y" THEN LPRINT " REQUIRED LEG LENGTHS ARE ";LEGLENLAM;" WAVELENGTHS"
  98. 32110 IF P$="Y" THEN LPRINT "                       OR ";LEGLENMET;" METERS"
  99. 32120 IF P$="Y" THEN LPRINT "                       OR ";LEGLENFT;" FEET"
  100. 32130 IF P$="Y" THEN LPRINT 
  101. 32200 IF P$="Y" THEN LPRINT " TOTAL SIDE ANGLE IS ";2*TILTANGL;" DEGREES"
  102. 32210 IF P$="Y" THEN LPRINT "         (TILT ANGLE=";TILTANGL;" DEGREES"
  103. 32220 IF P$="Y" THEN LPRINT 
  104. 32300 IF P$="Y" THEN LPRINT " TOTAL END ANGLE IS ";180-2*TILTANGL;" DEGREES"
  105. 32310 IF P$="Y" THEN LPRINT
  106. 34000 RETURN
  107. 35000 PRINT "  ENTER  D= NEW DESIGN, SAME PARAMATERS"
  108. 35010 PRINT "         E= NEW ELEVATION ANGLE
  109. 35020 PRINT "         F= NEW FREQUENCY"
  110. 35030 PRINT "         P= CALCULATE PATTERN"
  111. 35040 PRINT "         Q= QUIT
  112. 35100 INPUT T$
  113. 35110 IF T$="D" THEN 1000
  114. 35120 IF T$="E" THEN 550
  115. 35130 IF T$="F" THEN 500
  116. 35140 IF T$="P" THEN GOSUB 40000
  117. 36000 IF T$<>"Q" THEN 35000
  118. 36010 STOP
  119. 40000 PRINT 
  120. 40010 PRINT " THE RELATIVE VERTICAL PATTERN ON THE RHOMBIC AXIS IS APPROXIMATELY"
  121. 40020 PRINT " ANGLE"," DB","ANGLE","DB"
  122. 40025 PRINT 
  123. 40026 IF P$="Y" THEN LPRINT " THE RELATIVE VERTICAL PATTERN ON THE RHOMBIC AXIS IS APPROXIMATELY"
  124. 40027 IF P$="Y" THEN LPRINT " ANGLE"," DB","ANGLE","DB"
  125. 40030 RTILT=TILTANGL*TORAD
  126. 40100 FOR ANGL=0 TO 180 STEP 5
  127. 40110 RANGL=ANGL*TORAD
  128. 40120 CHI=(1-SIN(RTILT)*COS(RANGL))*.5:IF CHI=0 THEN CHI=.000001
  129. 40130 SIG=COS(RTILT)*SIN(2*PI*HEIGHTLAM*SIN(RANGL))
  130. 40140 SIG=SIG*(SIN(CHI*2*PI*LEGLENLAM))^2
  131. 40150 SIG=ABS(SIG/CHI):IF SIG=0 THEN SIG =.0000001
  132. 40160 DSIG=20/2.3*LOG(SIG)
  133. 40200 PRINT  ANGL,
  134. 40210 PRINT  USING "#####.#";DSIG;
  135. 40215 IF P$="Y" THEN LPRINT  ANGL,
  136. 40216 IF P$="Y" THEN LPRINT  USING "#####.#";DSIG;
  137. 40220 PRINT ,
  138. 40225 IF P$="Y" THEN LPRINT,
  139. 40230 IF ANGL/2-INT(ANGL/2)=0 THEN PRINT
  140. 40235 IF P$="Y" THEN IF ANGL/2-INT(ANGL/2)=0 THEN LPRINT
  141. 40300 NEXT ANGL
  142. 40400 PRINT 
  143. 40410 INPUT "PRESS RETURN TO CONTINUE";T$
  144. 40420 RETURN
  145. 60000 PRINT " ERROR";ERR;"AT LINE";ERL
  146. 60010 STOP
  147.