home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / ant / antdesgn / array.bas < prev    next >
BASIC Source File  |  1979-12-31  |  2KB  |  85 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. 560 PRINT USING "SCAN ANGLE=###.# deg.";90-THMAX
  57. 570 REM PLOT GRID
  58. 580 CIRCLE (0,0),1,,,,.45
  59. 590 CIRCLE (0,0),.666,,,,.45
  60. 600 CIRCLE (0,0),.333,,,,.45
  61. 610 FOR THD=0 TO 150 STEP 30
  62. 620 TH=THD*PI/180
  63. 630 LINE (COS(TH),SIN(TH))-(-COS(TH),-SIN(TH))
  64. 640 NEXT THD
  65. 650 PSET (FLDA(0)/30+1,0)
  66. 660 FOR TH=0 TO 360
  67. 670 THR=TH*PI/180
  68. 680 RAD=FLDA(TH)/30+1
  69. 690 LINE -(RAD*COS(THR),RAD*SIN(THR))
  70. 700 NEXT TH
  71. 710 REM FIND BEAMWIDTH
  72. 720 TH=INT(THMAX-.5)
  73. 730 TH=TH+1
  74. 740 IF FLDA(TH)>-3 THEN GOTO 730
  75. 750 TH0=(-3-FLDA(TH-1)+(TH-1)*(FLDA(TH)-FLDA(TH-1)))/(FLDA(TH)-FLDA(TH-1))
  76. 760 BW=(TH0-THMAX)*2
  77. 770 PRINT USING "3-dB BEAMWIDTH=###.# deg.";BW
  78. 780 PRINT "10 dB/DIV."
  79. 790 PRINT
  80. 800 INPUT "CONTINUE(Y,N)";K$
  81. 810 IF K$<>"N" THEN GOTO 60
  82. 820 SCREEN 0,1
  83. 830 KEY ON
  84. 840 END
  85.