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

  1. 2 ON ERROR GOTO 60000
  2. 3 CLS
  3. 10 PRINT "   ***************************************************************"
  4. 20 PRINT "   *                      CORNER REFLECTORS                      *"
  5. 30 PRINT "   *                  REFERENCE- KRAUS, ANTENNAS                 *"
  6. 40 PRINT "   *                PROGRAM BY  R.P. HAVILAND, W4MB              *"
  7. 50 PRINT "   *                       COPYRGHT 1990                         *"
  8. 60 PRINT "   *          MINILAB BOOKS, DAYTONA BEACH, FL 32121-1086        *"
  9. 70 PRINT "   ***************************************************************"
  10. 80 DEF FNP (X) = INT(100 * X + .5) / 100
  11. 90 PI = 3.141592
  12. 100 RTOD = 360 / 2 / PI
  13. 110 DIM FLD(15), MUT(1, 25)
  14. 120 FOR N = 0 TO 25
  15. 130 READ MUT(0, N)
  16. 140 NEXT N
  17. 150 FOR N = 0 TO 25
  18. 160 READ MUT(1, N)
  19. 170 NEXT N
  20. 200 PRINT " THIS PROGRAM GIVES DESIGN DATA FOR THE TWO MAJOR CONFIGURATIONS"
  21. 210 PRINT "  OF REFLECTOR ANTENNAS, THE FLAT PLATE AND THE 90 DEG. CORNER."
  22. 220 INPUT " ENTER THE OPERATING FREQUENCY, MHZ"; FO
  23. 230 IF FO <= 0 THEN 220
  24. 240 LAM = 299.7 / FO
  25. 250 PRINT "  THE OPERATING WAVELENGTH="; FNP(LAM); "METERS"
  26. 260 PRINT "                          ="; FNP(LAM * 39.37); "INCHES"
  27. 300 PRINT
  28. 310 INPUT "  ENTER THE REFLECTOR ANGLE, 90 OR 180 DEGREES ONLY"; ANGL
  29. 320 IF ANGL = 90 THEN 350
  30. 330 IF ANGL = 180 THEN 350
  31. 340 GOTO 310
  32. 350 INPUT "   ENTER THE ANTENNA-REFLECTOR SPACING, WAVELENGTHS"; SP
  33. 360 IF SP < .01 OR SP > 1 THEN PRINT "OUT OF RANGE": GOTO 350
  34. 370 MXF = 0
  35. 400 PRINT
  36. 410 PRINT " ENTER 1= IDEAL PATTERN"
  37. 420 PRINT "       2= IDEAL GAIN"
  38. 430 PRINT "       3= CONSTRUCTION LIMITS"
  39. 440 PRINT "       4= NEW SPACING"
  40. 450 PRINT "       5= DATA PRINTOUT"
  41. 460 PRINT "       6= RERUN"
  42. 470 PRINT "       7= QUIT"
  43. 480 INPUT TEM
  44. 500 ON TEM GOSUB 1000, 2000, 3000, 350, 4000, 200, 5000
  45. 510 GOTO 400
  46. 1000 CLS
  47. 1010 PRINT , "+ ANGLE", "FIELD", " ANGLE", "FIELD"
  48. 1020 SR = SP * 2 * PI
  49. 1030 MXF = 0
  50. 1040 FOR N = 0 TO 15
  51. 1050 PANG = ANGL / 30 * N
  52. 1060 RADANG = PANG / RTOD
  53. 1070 FLD = SIN(SR * COS(RADANG))
  54. 1080 IF ANGL = 90 THEN FLD = COS(SR * COS(RADANG)) - COS(SR * SIN(RADANG))
  55. 1100 FLD = ABS(FLD)
  56. 1110 IF MXF < FLD THEN MXF = FLD
  57. 1120 FLD(N) = FLD
  58. 1130 NEXT N
  59. 1200 FOR N = 0 TO 15
  60. 1210 PANG = ANGL / 30 * N
  61. 1220 FLD(N) = ABS(FLD(N) / MXF)
  62. 1230 PRINT , PANG, FNP(FLD(N)), -PANG, FNP(FLD(N))
  63. 1240 NEXT N
  64. 1400 INPUT "PRESS RETURN TO CONTINUE"; T$
  65. 1999 RETURN
  66. 2000 CLS
  67. 2010 IF MXF = 0 THEN PRINT " DO PATTERN FIRST": GOTO 2999
  68. 2020 INPUT " ENTER REFLECTOR LOSS RES., TYPICALLY 1 OHM, 0=IDEAL"; R1L
  69. 2030 IF ANGL = 90 THEN 2200
  70. 2040 R11 = MUT(1, 0)
  71. 2050 SEP = 2 * SP
  72. 2060 GOSUB 2900
  73. 2070 R12 = MUTR
  74. 2080 GAIN = 2 * SQR((R11 + R1L) / (R11 + R1L - R12))
  75. 2090 GOTO 2800
  76. 2200 R11 = MUT(1, 0)
  77. 2210 SEP = 1.414 * SP
  78. 2220 GOSUB 2900
  79. 2230 R12 = MUTR
  80. 2240 SEP = 2 * SP
  81. 2250 GOSUB 2900
  82. 2260 R14 = MUTR
  83. 2270 GAIN = 2 * SQR((R11 + R1L) / (R11 + R1L + R14 - 2 * R12))
  84. 2280 GOTO 2800
  85. 2400 R11 = MUT(1, 0)
  86. 2410 SEP = .707 * SP
  87. 2420 GOSUB 2900
  88. 2430 R12 = MUTR
  89. 2440 SEP = 1.732 * SP
  90. 2450 GOSUB 2900
  91. 2460 R14 = MUTR
  92. 2470 SEP = 2 * SP
  93. 2480 GOSUB 2900
  94. 2490 R16 = MUTR
  95. 2500 GAIN = 2 * SQR((R11 + R1L) / (R11 + R1L + 2 * R14 - 2 * R12 - R16))
  96. 2800 GAIN = GAIN * MXF
  97. 2810 GAIN = 20 / 2.3 * LOG(GAIN)
  98. 2820 PRINT "  GAIN="; FNP(GAIN); "DB ABOVE A DIPOLE"
  99. 2830 PRINT "   AT THE PEAK OF THE LARGEST LOBE"
  100. 2899 RETURN
  101. 2900 N = 1
  102. 2910 IF SEP > MUT(0, N) THEN N = N + 1: GOTO 2910
  103. 2920 INPV = (MUT(0, N) - SEP) / (MUT(0, N) - MUT(0, N - 1))
  104. 2930 MUTR = MUT(1, N) - (MUT(1, N) - MUT(1, N - 1)) * INPV
  105. 2999 RETURN
  106. 3000 CLS
  107. 3010 PRINT " SPACING, RADIATOR TO REFLECTOR APEX="; FNP(SP * LAM); "METERS"
  108. 3020 PRINT "                                    ="; FNP(SP * LAM * 39.37); "INCHES"
  109. 3030 PRINT " MINIMUM SCREEN SIZE,APEX TO EDGE="; FNP(.75 * LAM); "METERS"
  110. 3040 PRINT "                                 ="; FNP(.75 * LAM * 39.37); "INCHES"
  111. 3050 PRINT " MINIMUM LENGTH OF SCREEN OR REFLECTOR RODS="; FNP(.7 * LAM); "METERS"
  112. 3060 PRINT "                                           ="; FNP(.7 * LAM * 39.37); "INCHES"
  113. 3100 PRINT " TYPICAL ROD SPACING="; FNP(.1 * LAM * 100); "CM"
  114. 3110 PRINT " THE RADIATOR MAY BE A BOW-TIE FOR BROAD-BAND OPERATION"
  115. 3120 PRINT "  WITH A LENGTH OF 0.8 WAVELENGTHS AT MID-BAND,"
  116. 3130 PRINT "                             ="; (.8 * LAM); "METERS"
  117. 3140 PRINT "                             ="; (.8 * LAM * 39.37); "INCHES"
  118. 3150 PRINT "  AND A WIDTH AT END OF .15 WAVELENGTHS, OR"
  119. 3160 PRINT "                             ="; (.15 * LAM); "METERS"
  120. 3170 PRINT "                              ="; (.15 * LAM * 39.37); "INCHES"
  121. 3180 PRINT " FORM DIPOLE TO BE PARALLEL TO REFLECTOR SIDES"
  122. 3190 PRINT "  USE LOWEST FREQUENCY FOR ABOVE MINIMUM DIMENSIONS"
  123. 3200 PRINT
  124. 3210 PRINT " THE RADIATOR MAY BE A BOW-TIE FOR BROAD-BAND OPERATION"
  125. 3220 PRINT "   WITH A LENGTH OF 0.8 WAVELENGTHS AT MID-BAND"
  126. 3230 PRINT "                              ="; FNP(.8 * LAM); "METERS"
  127. 3240 PRINT "                              ="; FNP(.8 * LAM * 39.37); "INCHES"
  128. 3250 PRINT "  AND A WIDTH AT END OF .15 WAVELENGTHS, OR"
  129. 3260 PRINT "                             ="; FNP(.15 * LAM); "METERS"
  130. 3270 PRINT "                             ="; FNP(.15 * LAM * 39.37); "INCHES"
  131. 3280 PRINT " FORM DIPOLE TO BE PARALLET TO REFLECTOR SIDES"
  132. 3290 PRINT "  USE LOWEST FREQUENCY TO OBTAIN MINIMUM REFLECTOR DIMENSIONS"
  133. 3300 PRINT
  134. 3400 INPUT "PRESS RETURN TO CONTINUE"; T$
  135. 3999 RETURN
  136. 4000 LPRINT " CORNER REFLECTOR ANTENNA"
  137. 4010 LPRINT "   FOR FREQUENCY="; FO; "MHZ"
  138. 4020 LPRINT "     CORNER ANGLE="; ANGL; "DEGREES"
  139. 4030 LPRINT " SPACING, RADIATOR TO REFLECTOR APEX="; FNP(SP * LAM); "METERS"
  140. 4040 LPRINT "                                    ="; FNP(SP * LAM * 39.37); "INCHES"
  141. 4050 LPRINT " MINIMUM SCREEN SIZE,APEX TO EDGE="; FNP(.75 * LAM); "METERS"
  142. 4060 LPRINT "                                 ="; FNP(.75 * LAM * 39.37); "INCHES"
  143. 4070 LPRINT " MINIMUM LENGTH OF SCREEN OR REFLECTOR RODS="; FNP(.7 * LAM); "METERS"
  144. 4080 LPRINT "                                           ="; FNP(.7 * LAM * 39.37); "INCHES"
  145. 4100 LPRINT " TYPICAL ROD SPACING="; FNP(.1 * LAM * 100); "CM"
  146. 4110 LPRINT " THE RADIATOR MAY BE A BOW-TIE FOR BROAD-BAND OPERATION"
  147. 4120 LPRINT "  WITH A LENGTH OF 0.8 WAVELENGTHS AT MID-BAND,"
  148. 4130 LPRINT "                             ="; (.8 * LAM); "METERS"
  149. 4140 LPRINT "                             ="; (.8 * LAM * 39.37); "INCHES"
  150. 4200 LPRINT
  151. 4210 LPRINT " THE RASIATOR MAY BE A BOW-TIE FOR BROAD-BAND OPERATION"
  152. 4220 LPRINT "   WITH A LENGTH OF 0.8 WAVELENGTHS AT MID-BAND"
  153. 4230 LPRINT "                              ="; FNP(.8 * LAM); "METERS"
  154. 4240 LPRINT "                              ="; FNP(.8 * LAM * 39.37); "INCHES"
  155. 4250 LPRINT "  AND A WIDTH AT END OF .15 WAVELENGTHS, OR"
  156. 4260 LPRINT "                             ="; FNP(.15 * LAM); "METERS"
  157. 4270 LPRINT "                             ="; FNP(.15 * LAM * 39.37); "INCHES"
  158. 4280 LPRINT " FORM DIPOLE TO BE PARALLET TO REFLECTOR SIDES"
  159. 4290 LPRINT "  USE LOWEST FREQUENCY TO OBTAIN MINIMUM REFLECTOR DIMENSIONS"
  160. 4300 LPRINT
  161. 4400 LPRINT "    MAIN LOBE PATTERN DATA"
  162. 4410 LPRINT " "
  163. 4420 LPRINT , "ANGLE", "REL.GAIN", "ANGLE", "REL.GAIN"
  164. 4430 FOR N = 0 TO 15
  165. 4440 PANG = ANG / 30 * N
  166. 4450 LPRINT , PANG, FNP(FLD(N)), -PANG, FNP(FLD(N))
  167. 4460 NEXT N
  168. 4500 LPRINT
  169. 4510 LPRINT "  GAIN="; FNP(GAIN); "DB ABOVE A DIPOLE"
  170. 4520 LPRINT "   AT THE PEAK OF THE LARGEST LOBE"
  171. 4530 LPRINT
  172. 4999 RETURN
  173. 5000 END
  174. 9000 DATA 0,.01,.05,.1,.125,.15,.2,.25,.3,.4,.5,.6,.7,.8,.9
  175. 9010 DATA 1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2
  176. 9020 DATA 73.13,73.07,71.65,67.5,64.4,60.6,51.6,40.9,29.4,6.3
  177. 9030 DATA -12.7,-23.4,-24.8,-18.6,-7.2,3.8,12.1,15.8,12.4,5.8
  178. 9040 DATA -2.4,-8.3,-10.7,-9.4,-4.8,1.1
  179. 60000 PRINT "ERROR"; ERR; "AT LINE"; ERL
  180. 60010 STOP
  181.  
  182.