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

  1. 2 ON ERROR GOTO 60000
  2. 3 CLS
  3. 10 PRINT "   ****************************************************************"
  4. 20 PRINT "   *                  ARRAYS OF VERTICAL ANTENNAS                 *"
  5. 30 PRINT "   *          REFERENCE- HENNY, RADIO ENGINEERS HANDBOOK          *
  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(1000*X+.5)/1000
  11. 90 PI=3.141592
  12. 200 PRINT "THIS PROGRAM CALCULATES THE HORIZONTAL PLANE PATTERN OF VERTICAL ANTENNAS"
  13. 210 PRINT " WITH ARBITRARY LOCATION, RELATIVE CURRENT AND PHASING."
  14. 220 PRINT "  ANTENNAS ARE ASSUMED TO HAVE THE SAME HEIGHT."
  15. 230 PRINT "   PATTERN VALUES SHOULD BE MULTIPLIED BY THE GAIN OF A SINGLE ANTENNA."
  16. 240 PRINT "THE REFERENCE ANTENNA #1 HAS UNIT CURRENT, 0 PHASE, 0,0 X-Y COORDINATES"
  17. 250 PRINT " NORTH, EAST DIRECTIONS ARE PLUS, SOUTH, WEST ARE MINUS"
  18. 260 PRINT
  19. 270 INPUT "ENTER P FOR PAPER COPY, RETURN= SCREEN ONLY";P$
  20. 300 PRINT 
  21. 310 INPUT "ENTER OPERATING FREQUENCY, MHZ";FO
  22. 320 LAM=984/FO
  23. 330 PRINT " ONE WAVELENGTH =";FNP(LAM);"FEET"
  24. 340 PRINT
  25. 350 INPUT "ENTER NUMBER OF ANTENNAS IN ARRAY";NA
  26. 400 DIM GEO(NA,4)
  27. 410 FOR N=2 TO NA
  28. 420 PRINT"FOR ANTENNA NUMBER ";N
  29. 430 INPUT "ENTER N-S, E-W DISTANCE FROM ANTENNA 1, FEET";X,Y
  30. 440 RAD=SQR(X*X+Y*Y)
  31. 450 GEO(N,1)=RAD/LAM*2*PI
  32. 460 IF X=0 THEN X=.0000001
  33. 470 IF Y=0 THEN Y=.0000001
  34. 480 GEO(N,2)=ATN(Y/X)
  35. 490 GEO(N,2)=ATN(Y/X)
  36. 500 INPUT "ENTER PHASE RELATIVE TO ANTENNA 1, DEGREES";GEO(N,3)
  37. 510 INPUT "ENTER RELATIVE POWER, RETURN ONLY=SAME LEVEL";T$
  38. 520 IF T$="" THEN GEO(N,4)=1:GOTO 540
  39. 530 GEO(N,4)=VAL(T$)/2/PI
  40. 540 NEXT N
  41. 600 INPUT "ENTER ANGLE CALCULATION INTERVAL, DEGREES";CI
  42. 610 IF CI=<0 THEN 600
  43. 620 NP=360/CI
  44. 630 DIM OUTA(NP,3)
  45. 700 PRINT
  46. 710 IF P$<>"P" THEN 900
  47. 720 LPRINT "PATTERN VALUES FOR";NA;"EQUAL HEIGHT VERTICAL ANTENNAS"
  48. 730 LPRINT " OPERATING AT";FO;"MHZ"
  49. 740 LPRINT "  WITH GEOMETRY AND FEED CONDITIONS OF"
  50. 750 LPRINT "ANTENNA","DISTANCE, FT.","ANGLE, RAD.","PHASE RAD.","REL. CURRENT"
  51. 760 FOR N=1 TO NA
  52. 770 LPRINT  N,FNP(GEO(N,1)),FNP(GEO(N,2)),FNP(GEO(N,3)),FNP(GEO(N,4))
  53. 780 NEXT N
  54. 790 LPRINT 
  55. 800 LPRINT "ANGLE","INTENSITY","INTENSITY, DB"
  56. 810 LPRINT
  57. 900 PRINT 
  58. 910 PRINT "ANGLE","INTENSITY","INTENSITY, DB"
  59. 920 PRINT 
  60. 1000 PRINT
  61. 1010 OUTA(1,1)=1
  62. 1020 FOR K=0 TO NP
  63. 1030 ANG=K*CI/360*2*PI
  64. 1040 GOSUB 2000  'PATTERN VALUE
  65. 1050 GOSUB 3000  'PRINTOUT
  66. 1060 NEXT K
  67. 1070 IF P$="P" THEN LPRINT
  68. 1080 IF P$="P" THEN LPRINT " MULTIPLY GAINS BY GAIN OF A SINGLE ANTENNA"
  69. 1100 INPUT "ENTER I=CHANGE INTERVAL, C=CHANGE CONDITIONS, R=RERUN, P=PAPER COPY, Q=QUIT";T$
  70. 1110 IF T$="I" THEN ERASE OUTA:GOTO 600
  71. 1120 IF T$="C" THEN ERASE OUTA,GEO:GOTO 420
  72. 1126 IF T$="C" THEN ERASE OUTA,GEO:GOTO 420
  73. 1130 IF T$="R" THEN ERASE OUTA,GEO:GOTO 260
  74. 1140 IF T$="P" THEN P$="P":GOTO 720
  75. 1150 IF T$<>"Q" THEN 1100
  76. 1160 END
  77. 2000 REAL=1
  78. 2010 IMAG=0
  79. 2020 FOR N=2 TO NA
  80. 2030 CHI=GEO(N,1)*COS(ANG-GEO(N,2))+GEO(N,3)':PRINT CHI,
  81. 2040 REAL=REAL+GEO(N,4)*COS(CHI)':PRINT REAL,
  82. 2050 IMAG=IMAG+GEO(N,4)*SIN(CHI)':PRINT IMAG
  83. 2060 NEXT N
  84. 2070 OUTA(K,1)=K*CI
  85. 2080 OUTA(K,2)=SQR(REAL*REAL+IMAG*IMAG)
  86. 2090 OUTA(K,3)=20/2.3*LOG(OUTA(K,2))
  87. 2100 RETURN
  88. 3000 PRINT FNP(OUTA(K,1)),FNP(OUTA(K,2)),FNP(OUTA(K,3))
  89. 3010 IF P$="P" THEN LPRINT FNP(O6TA(K,1)),FNP(OUTA(K,2)),FNP(OUTA(K,3))
  90. 3020 RETURN
  91. 59999 END
  92. 60000 PRINT "ERROR";ERR;"AT LINE";ERL
  93. 60010 STOP
  94.