home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / ant / antdesgn / array2.bas < prev    next >
BASIC Source File  |  1988-08-13  |  2KB  |  90 lines

  1. 10 REM PLOT ARRAY FACTOR
  2. 20 REM "ANTENNA DESIGN USING PERSONAL COMPUTERS"
  3. 30 DIM FLDA(360)
  4. 40 DEF FNLOG10(X)=.4343*LOG(X)
  5. 50 KEY OFF
  6. 60 SCREEN 0,1
  7. 70 CLS
  8. 80 COLOR 1,0
  9. 90 PRINT "PATTERN OF A UNIFORM LINEAR ISOTROPIC ARRAY"
  10. 100 COLOR 4,0
  11. 110 PRINT
  12. 120 INPUT "WHAT IS THE FREQUENCY(MHz)";FMC
  13. 130 INPUT "HOW MANY ELEMENTS";N
  14. 140 INPUT "WHAT IS THE ELEMENT SPACING(meters)";D
  15. 150 INPUT "WHAT IS THE PHASING(degrees)";ALP
  16. 160 COLOR 14,0
  17. 170 PI=3.14159
  18. 180 D=D*FMC/300
  19. 190 ALPR=ALP*PI/180
  20. 200 ROD=PI/180
  21. 210 REM FILL ARRAY WITH FIELD
  22. 220 FMAX=0
  23. 230 FOR TH=0 TO 180
  24. 240 THR=TH*ROD
  25. 250 PSI=2*PI*COS(THR)*D+ALPR
  26. 260 DEN=SIN(PSI/2)
  27. 270 FLDA(TH)=1
  28. 280 IF ABS(DEN)>.01 THEN FLDA(TH)=SIN(N*PSI/2)/(N*DEN)
  29. 290 FLDA(TH)=ABS(FLDA(TH))
  30. 300 IF FLDA(TH)>FMAX THEN FMAX=FLDA(TH)
  31. 310 NEXT TH
  32. 320 REM FILL OTHER HALF OF ARRAY
  33. 330 FOR TH=181 TO 360
  34. 340 FLDA(TH)=FLDA(360-TH)
  35. 350 NEXT TH
  36. 360 PRINT
  37. 370 REM NORMALIZE DATA
  38. 380 FOR TH=0 TO 360
  39. 390 FM=FLDA(TH)/FMAX
  40. 400 IF FM<.0316 THEN FM=.0316
  41. 410 FLDA(TH)=20*FNLOG10(FM)
  42. 420 NEXT TH
  43. 430 REM PREPARE FOR PLOTTING
  44. 440 SCREEN 2,0
  45. 450 VIEW (262,20)-(638,188)
  46. 460 WINDOW (-1,-1)-(1,1)
  47. 470 REM COMPUTE SCAN ANGLE
  48. 480 Y=-ALPR/(2*PI*D)
  49. 490 IF ABS(Y)>1 THEN Y=Y/ABS(Y)
  50. 500 IF Y*Y=0 THEN THMAX=PI/2
  51. 510 IF Y*Y<1 AND Y<>0 THEN THMAX=ATN(SQR(1-Y*Y)/Y)
  52. 520 IF Y=1 THEN THMAX=0
  53. 530 IF Y=-1 THEN THMAX=PI
  54. 540 THMAX=THMAX*180/PI
  55. 550 IF THMAX<0 THEN THMAX=THMAX+180
  56. 555 PRINT USING "Frequency         : #####.##   MHz ";FMC
  57. 556 PRINT USING "Number of elements: #####.         ";N
  58. 557 PRINT USING "Element spacing   : #####.#### m   ";D*300/FMC
  59. 558 PRINT USING "Element phasing   : #####.##   deg.";ALP
  60. 559 PRINT : PRINT
  61. 560 PRINT USING "SCAN ANGLE        : ####.## deg.";90-THMAX
  62. 570 REM PLOT GRID
  63. 580 CIRCLE (0,0),1,,,,.45
  64. 590 CIRCLE (0,0),.666,,,,.45
  65. 600 CIRCLE (0,0),.333,,,,.45
  66. 610 FOR THD=0 TO 150 STEP 30
  67. 620 TH=THD*PI/180
  68. 630 LINE (COS(TH),SIN(TH))-(-COS(TH),-SIN(TH))
  69. 640 NEXT THD
  70. 650 PSET (FLDA(0)/30+1,0)
  71. 660 FOR TH=0 TO 360
  72. 670 THR=TH*PI/180
  73. 680 RAD=FLDA(TH)/30+1
  74. 690 LINE -(RAD*COS(THR),RAD*SIN(THR))
  75. 700 NEXT TH
  76. 710 REM FIND BEAMWIDTH
  77. 720 TH=INT(THMAX-.5)
  78. 730 TH=TH+1
  79. 740 IF FLDA(TH)>-3 THEN GOTO 730
  80. 750 TH0=(-3-FLDA(TH-1)+(TH-1)*(FLDA(TH)-FLDA(TH-1)))/(FLDA(TH)-FLDA(TH-1))
  81. 760 BW=(TH0-THMAX)*2
  82. 770 PRINT USING "-3dB BEAMWIDTH    :  ###.## deg.";BW
  83. 780 PRINT "10 dB/DIV."
  84. 790 PRINT
  85. 800 INPUT "CONTINUE(Y,N)";K$
  86. 810 IF K$<>"N" THEN GOTO 60
  87. 820 SCREEN 0,1
  88. 830 KEY ON
  89. 840 END
  90.