home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / mininec / amiga / makeyagi.asc < prev    next >
Text File  |  1996-06-30  |  5KB  |  130 lines

  1. 10 ON ERROR GOTO 6000
  2. 20 PRINT"      *******************************************"
  3. 30 PRINT"      *      YAGI ANTENNA DESIGNER FOR          *"
  4. 40 PRINT"      *        3-17 ELEMENT ANTENNAS            *"
  5. 50 PRINT"      *     PROGRAM BY R.P.HAVILAND, W4MB       *"
  6. 60 PRINT"      *          REFERENCE-VIEZBICKE            *"
  7. 70 PRINT"      *         NBS REPORT NBS-TN-688           *"
  8. 80 PRINT"      *          REFERENCE- HAVILAND            *"
  9. 90 PRINT"      *  PRACTICAL ANTENNA DESIGN AND ANALYSIS  *
  10. 100 PRINT"      *         PROGRAM  COPYRIGHT 1986         *"
  11. 110 PRINT"      *             MINILAB BOOKS               *"
  12. 120 PRINT"      *      DAYTONA BEACH, FL 32121-1086       *"
  13. 110 PRINT"      *******************************************"
  14. 200 DIM A(19,6),DI(15,2), ELE(18)
  15. 210 FOR N=0 TO 19
  16. 220 FOR M=1 TO 6
  17. 230 READ A(N,M)
  18. 240 NEXT M
  19. 250 NEXT N
  20. 260 DEF FN A(X)=INT(10*X+.5)/10
  21. 270 DEF FN B(X)=INT(100*X+.5)/100
  22. 280 PI=3.14159
  23. 300 PRINT
  24. 310 INPUT" ENTER CENTER FREQUENCY, MHZ";FO
  25. 320 INPUT"MAXIMUM BOOM LENGTH, FEET";MB
  26. 330 LA=984/FO :LM=299.8/FO
  27. 340 K=6
  28. 350 BL=A(19,K):IF BL=0 THEN PRINT "BEYOND TABLES":GOTO 380
  29. 360 IF LA*BL>MB THEN K=K-1:GOTO 350
  30. 370 PRINT"TABLE BOOM LENGTH IS ";FNB(A(19,K)*LA);"FEET"
  31. 380 PRINT:INPUT"ENTER +1=LONGER BOOM,-1=SHORTER,0=SAME";TV
  32. 390 IF K+TV<1 OR K+TV>6 THEN PRINT"BEYOND TABLES":GOTO 380
  33. 400 IF TV=0 THEN 500
  34. 410 K=K+TV:BL=A(19,K):GOTO 370
  35. 500 PRINT:PRINT"THE GAIN IS ";A(17,K);"DB"
  36. 510 PRINT"THE BOOM LENGTH IS ";FNB(BL*LA);"FEET(+ENDS)"
  37. 520 PRINT"THE REFLECTOR SPACING IS ";FNB(.2*LA);"FEET OR "FNB(2.4*LA);" INCHES"
  38. 530 PRINT"THE DIRECTOR SPACING IS";FNB(A(16,K)*LA);"FEET OR";
  39. 540 PRINT FNB(A(16,K)*LA*12);"INCHES"
  40. 550 E1=.0085
  41. 560 PRINT"THE ELEMENT REFERENCE DIAMETER IS "; FNB(.0085*LA*12);"INCHES"
  42. 570 PRINT"ENTER NEW (AVERAGE) ELEMENT DIAMETER, OR 0 FOR NO CHANGE":INPUT T$
  43. 580 DIA= VAL(T$)
  44. 590 IF DIA=0 THEN E2=.0085:GOTO 700
  45. 600 E2=DIA/12/LA
  46. 610 WRAD=E2/2*LM
  47. 700 FOR N=0 TO 15
  48. 710 IF A(N,K)=0 THEN DI(N,0)=0:DI(N,1)=0:EL=N-1:N=15:GOTO 740
  49. 720 DI(N,0)=23+( 373.75*LOG(2/E1)-640)*(A(N,K)-.4975)
  50. 730 DI(N,1)= .4975+(DI(N,0)-23)/(373.75*LOG(2/E2)-640)
  51. 740 NEXT N
  52. 800 PRINT"ENTER 0 FOR INSULATED BOOM, OR DIAMETER (INCHES) IF METALLIC"
  53. 810 INPUT BD
  54. 820 BC=.06875*BD/LA
  55. 830 FOR N=0 TO EL
  56. 840 DI(N,2)=DI(N,1)+BC
  57. 850 NEXT N
  58. 900 PRINT"THE CORRECTED ELEMENT LENGTHS ARE"
  59. 910 PRINT"REFLECTOR ";FNB(DI(0,2)*LA);" FEET="FNB(DI(0,2)*12*LA);" INCHES"
  60. 920 ELE(0)=DI(0,2)*LM/2
  61. 930 FOR N= 1 TO EL:IF DI(N,2)=0 THEN 1000
  62. 940 PRINT"DIRECTOR ";N;FNB(DI(N,2)*LA);" FEET=";FNB(DI(N,2)*12*LA);" INCHES"
  63. 950 ELE(N+1)=DI(N,2)*LM/2
  64. 960 NEXT N
  65. 1000 LD=LA/2                     
  66. 1010 KR=12*LD/E2
  67. 1020 LR=1-1/(4.6719*LOG(KR)-8)
  68. 1030 TV=LA*LR/2
  69. 1040 IF ABS(LD-TV)>.00001 THEN LD=TV:GOTO 1020
  70. 1050 ELR=LD+.7*BD/12
  71. 1060 ELE(1)=ELR/LA*LM/2
  72. 1070 PRINT "CENTER=SUPPORTED RADIATOR LENGTH =";FNB(ELR);"FEET=";FNB(ELR*12);"INCHES"
  73. 1200 PRINT :PRINT "  ENTER 1= SAVE AS HORIZONTALLY POLARIZED MININEC FILE"
  74. 1210 PRINT "         2= SAVE AS VERTICALLY POLARIZED MININEC FILE"
  75. 1220 PRINT "         3= REVISE DESIGN
  76. 1230 PRINT "         4= QUIT"
  77. 1240 INPUT TEM
  78. 1250 ON TEM GOTO 2000,2000,300,4000
  79. 1260 GOTO 1200
  80. 2000 PRINT :PRINT "ENTER NUMBER OF CALCULATION SEGMENTS"
  81. 2010 PRINT "    4-MINIMUM
  82. 2020 PRINT "    8=REASONABLE ACCURACY"
  83. 2030 INPUT SG 
  84. 2100 INPUT "ENTER FILENAME OF ANTENNA, .GEO IS ADDED";NA$:
  85. 2110 INPUT "ENTER FILEPATH TO USE, INCLUDE AND : AND / ";FP$: NA$=FP$+NA$+".GEO"
  86. 2120 OPEN NA$ AS #1 LEN=30
  87. 2130 FIELD #1, 2 AS S$, 4 AS X1$, 4 AS Y1$, 4 AS Z1$, 4 AS X2$, 4 AS Y2$, 4 AS Z2$, 4 AS RW$
  88. 2140 LSET S$=MKI$(EL+2)
  89. 2150 PUT #1
  90. 2160 Y1=-.2*LM :Y2=Y1
  91. 2200 FOR I= 0 TO EL+2
  92. 2240 LSET S$=MKI$(SG)
  93. 2300 IF TEM=1 THEN X1=ELE(I):Z1=0
  94. 2310 IF TEM=1 THEN Z1=ELE(I):X1=0
  95. 2320 LSET X1$=MKS$(X1): LSET Y1$=MKS$(Y1): LSET Z1$=MKS$(Z1)
  96. 2330 X2=-X1:Z2=-Z1
  97. 2340 LSET X2$=MKS$(X2): LSET Y2$=MKS$(Y2):LSET  Z2$=MKS$(Z2)
  98. 2350 LSET RW$=MKS$(WRAD) 
  99. 2400 PUT #1
  100. 2410 Y1=(Y1+A(16,K)*LM):Y2=Y1
  101. 2420 IF I=0 THEN Y1=0:Y2=0                                  
  102. 2500 NEXT I
  103. 2600 CLOSE #1
  104. 2610 PRINT "   FILE CREATED AS ";NA$;" ON PATH ";FP$
  105. 4000 END
  106. 6000 PRINT "ERROR ";ERR;"AT LINE ";ERL
  107. 6010 IF ERL=2120 THEN RESUME 2100
  108. 6020 RESUME 1200
  109. 10000 DATA .482,.482,.482,.482,.482,.475
  110. 10010 DATA .424,.428,.428,.432,.428,.424
  111. 10020 DATA ,.424,.42,.415,.42,.424
  112. 10030 DATA ,.428,.42,.407,.407,.42
  113. 10040 DATA ,,.428,.398,.398,.407
  114. 10050 DATA ,,,.39,.394,.403
  115. 10060 DATA ,,,.39,.39,.398
  116. 10070 DATA ,,,.39,.386,.394
  117. 10080 DATA ,,,.39,.386,.39
  118. 10090 DATA ,,,.398,.386,.390
  119. 10100 DATA ,,,.407,.386,.39
  120. 10110 DATA ,,,,.386,.39
  121. 10120 DATA ,,,,.386,.39
  122. 10130 DATA ,,,,.386,.39
  123. 10140 DATA ,,,,.386,0
  124. 10150 DATA ,,,,.386,0
  125. 10160 DATA .2,.2,.25,.2,.2,.308
  126. 10170 DATA 7.1,9.2,10.2,12.25,13.4,14.2
  127. 10180 DATA 1,2,2,3,2,4
  128. 10190 DATA .4,.8,1.2,2.2,3.2,4.2
  129.  
  130.