home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / ant / antdesgn / cheby.bas < prev    next >
BASIC Source File  |  1979-12-31  |  3KB  |  136 lines

  1. 10 REM CHEBYSHEV ARRAY SYNTHESIS
  2. 20 REM "ANTENNA DESIGN USING PERSONAL COMPUTERS"
  3. 30 DIM I(50),IT(100)
  4. 40 PI=3.14159
  5. 50 DEF FNLOG10(X)=.4343*LOG(X)
  6. 60 KEY OFF
  7. 70 CLS
  8. 80 SCREEN 0,1
  9. 90 COLOR 1,0
  10. 100 PRINT "THIS PROGRAM COMPUTES THE CHEBYSHEV COEFFICIENTS FOR AN N-ELEMENT"
  11. 110 PRINT "LINEAR ARRAY, WITH A SPECIFIED SIDELOBE LEVEL."
  12. 120 COLOR 4,0
  13. 130 PRINT
  14. 140 INPUT "HOW MANY ELEMENTS IN THE ARRAY";M
  15. 150 INPUT "WHAT IS THE SPACING BETWEEN ELEMENTS(WAVELENGTHS)";D
  16. 160 INPUT "WHAT IS THE DESIRED SIDELOBE LEVEL(+dB)";RDB
  17. 170 COLOR 14,0
  18. 180 PRINT
  19. 190 REM FIGURE IF EVEN OR ODD NUMBER OF ELEMENTS
  20. 200 IEVEN=0
  21. 210 IF 2*INT(M/2)=M THEN IEVEN=1
  22. 220 REM COMPUTE X0
  23. 230 R=10^(RDB/20)
  24. 240 X0=LOG(R+SQR(R*R-1))/(M-1)
  25. 250 X0=.5*(EXP(X0)+EXP(-X0))
  26. 260 ALP=1-1/X0^2
  27. 270 IF IEVEN=0 THEN GOTO 460
  28. 280 REM EVEN NUMBER OF ELEMENTS
  29. 290 N=M/2
  30. 300 FOR LN=1 TO N-1
  31. 310 NP=1
  32. 320 FOR LM=1 TO LN-1
  33. 330 FM=LM*(M-1-2*LN+LM)/((LN-LM)*(LN+1-LM))
  34. 340 NP=NP*ALP*FM+1
  35. 350 NEXT LM
  36. 360 I(N-LN)=(M-1)*ALP*NP
  37. 370 NEXT LN
  38. 380 I(N)=1
  39. 390 REM FILL INTO IT AND NORMALIZE
  40. 400 IN=I(1)
  41. 410 FOR J=1 TO N
  42. 420 IT(J)=I(N+1-J)/IN
  43. 430 IT(M+1-J)=IT(J)
  44. 440 NEXT J
  45. 450 GOTO 640
  46. 460 REM ODD NUMBER OF ELEMENTS
  47. 470 N=(M-1)/2
  48. 480 FOR LN=1 TO N
  49. 490 NP=1
  50. 500 FOR LM=1 TO LN-1
  51. 510 FM=LM*(M-1-2*LN+LM)/((LN-LM)*(LN+1-LM))
  52. 520 NP=NP*ALP*FM+1
  53. 530 NEXT LM
  54. 540 I(N-LN)=(M-1)*ALP*NP
  55. 550 NEXT LN
  56. 560 I(N)=1
  57. 570 REM FILL IT AND NORMALIZE
  58. 580 IN=I(0)
  59. 590 IT(N+1)=1
  60. 600 FOR J=1 TO N
  61. 610 IT(J)=I(N+1-J)/IN
  62. 620 IT(M+1-J)=IT(J)
  63. 630 NEXT J
  64. 640 PRINT "ELEMENT     COEFF(ABS)   COEFF(dB)"
  65. 650 FOR J=1 TO M
  66. 660 ITDB=20*FNLOG10(IT(J))
  67. 670 PRINT USING "   ##         #.#####     ###.##";J,IT(J),ITDB
  68. 680 NEXT J
  69. 690 PRINT
  70. 700 REM COMPUTE DIRECTIVITY, BEAMWIDTH
  71. 710 F=1
  72. 720 IF RDB<22 THEN GOTO 770
  73. 730 X0=LOG(R+SQR(R*R-1))
  74. 740 X0=SQR(X0*X0-PI*PI)
  75. 750 F=.5*(EXP(X0)+EXP(-X0))
  76. 760 F=1+.636*(2*F/R)^2
  77. 770 DT=2*R*R/(1+(R*R-1)*F/(M*D))
  78. 780 DTDB=10*FNLOG10(DT)
  79. 790 BW=101.5/DT
  80. 800 PRINT USING "THE DIRECTIVITY IS ##.## dB";DTDB
  81. 810 PRINT USING "THE 3-dB BEAMWIDTH IS ###.# degrees";BW
  82. 820 PRINT
  83. 830 COLOR 4,0
  84. 840 INPUT "DO YOU WISH TO PLOT THE PATTERN(Y,N)";IP$
  85. 850 IF IP$="N" THEN GOTO 1300
  86. 860 REM PLOT PATTERN
  87. 870 SCREEN 2,0
  88. 880 VIEW (262,3)-(638,182)
  89. 890 WINDOW (-2,-56)-(92,0)
  90. 900 FOR J=0 TO 90 STEP 10
  91. 910 LINE (J,-50)-(J,-51)
  92. 920 NEXT J
  93. 930 LINE (90,-50)-(0,-50)
  94. 940 FOR J=0 TO -50 STEP -10
  95. 950 LINE (0,J)-(-2,J)
  96. 960 NEXT J
  97. 970 LINE (0,0)-(0,-50)
  98. 980 LOCATE 23,55
  99. 990 PRINT "THETA"
  100. 1000 FOR I=0 TO 5
  101. 1010 LOCATE 1+I*4,30
  102. 1020 PRINT USING "###";-10*I
  103. 1030 NEXT I
  104. 1040 LOCATE 11,28: PRINT "dB"
  105. 1050 LOCATE 22,35
  106. 1060 PRINT"0   10   20   30   40   50   60   70   80   90"
  107. 1070 KD=2*PI*D
  108. 1080 DTR=PI/180
  109. 1090 NL=N
  110. 1100 IF IEVEN=0 THEN NL=N+1
  111. 1110 PSET (0,0)
  112. 1120 FOR TH=0 TO 90
  113. 1130 STH=SIN(TH*DTR)
  114. 1140 F=0
  115. 1150 FOR J=1 TO NL
  116. 1160 IF IEVEN=0 THEN C=J-1
  117. 1170 IF IEVEN=1 THEN C=J-.5
  118. 1180 CI=IT(NL+1-J)
  119. 1190 IF J=1 AND IEVEN=0 THEN CI=CI/2
  120. 1200 F=F+CI*COS(C*KD*STH)
  121. 1210 NEXT J
  122. 1220 F=ABS(F)
  123. 1230 IF TH=0 THEN FMAX=F
  124. 1240 F=F/FMAX
  125. 1250 IF F<.00316 THEN F=.00316
  126. 1260 F=20*FNLOG10(F)
  127. 1270 LINE -(TH,F)
  128. 1280 NEXT TH
  129. 1290 LOCATE 1,1
  130. 1300 INPUT "CONTINUE(Y,N)";IP$
  131. 1310 IF IP$<>"N" THEN GOTO 70
  132. 1320 SCREEN 0,1
  133. 1330 COLOR 7,0
  134. 1340 KEY ON
  135. 1350 END
  136.