DEFEXT A-Z FUNCTION PBMAIN 5 REM SETI League Zone Plate WITH GROUNDPLANE OPTIONAL 6 REM ALL dimensions IN meters: Frequency f IN Hertz 7 DIM B(20) AS EXT 16 OPEN "DEGREEAXIS.PRN" FOR OUTPUT AS #1 17 OPEN "BEAMPATTERN.PRN" FOR OUTPUT AS #2 18 OPEN "BOUNDNUMBER.PRN" FOR OUTPUT AS #3 19 OPEN "BOUNDLOCATION.PRN" FOR OUTPUT AS #4 20 Pi=3.1415926535 25 Am=1000.000000 30 f=1400000000.00000 35 w=2.0000000*Pi*f 40 c=300000000.00000 50 la=c/f 60 K=w/c 70 dla=la/20.000000 80 f0=f 100 REM SET zone boundaries, thru LINE 190 105 B(0)=6.000000*.0254 106 REM LINE 105 puts a 1 ft. diameter dead zone AT center 110 R=10.00000000 120 FOR N= 1.000000 TO 20.000000000 STEP 1.000000000 130 FOR X=0.00000000 TO 100.000000000*R STEP la/1000.00000 140 R1=SQR(R*R+X*X) 150 IF K*(R1-R)< N*Pi THEN 180 160 B(N)=X 163 WRITE #3,N 166 WRITE #4,B(N) 170 GOTO 190 180 NEXT X 190 NEXT N 198 h=1.000000 200 FOR deg=0.000000 TO 10.000000 STEP 0.100000000 210 a=deg/57.2957795 218 REM a=0.0000000 220 REM w=2.00000*Pi*f 225 REM la=c/f 227 REM K=w/c 230 ut=0.0000000 240 vt=0.0000000 241 FOR N=0.00000000 TO 18.000000000 STEP 2.0000000 242 REM Divide MAX N by 2 TO GET number of rings 246 B2= B(N+1.00000)*B(N+1.0000) 249 REM integration zone I thru LINE 296 250 FOR X=-B(N+1.0000) TO -B(N) STEP dla 255 R2=-X*SIN(a) 260 FOR Y=-SQR(B2-X*X) TO SQR(B2-X*X) STEP dla 270 R1=SQR(R*R+X*X+Y*Y)-R 280 ut=ut+Am*COS(-K*(R1+R2)) 290 vt=vt+Am*SIN(-K*(R1+R2)) 295 NEXT Y 296 NEXT X 349 REM integration zone II thru LINE 396 350 FOR X=-B(N) TO B(N) STEP dla 355 R2=-X*SIN(a) 360 FOR Y=-SQR(B2-X*X) TO -SQR(B(N)*B(N)-X*X) STEP dla 370 R1=SQR(R*R+X*X+Y*Y)-R 380 ut=ut+Am*COS(-K*(R1+R2)) 390 vt=vt+Am*SIN(-K*(R1+R2)) 395 NEXT Y 396 NEXT X 449 REM integration zone III thru LINE 496 450 FOR X=-B(N) TO B(N) STEP dla 455 R2=-X*SIN(a) 460 FOR Y=SQR(B(N)*B(N)-X*X) TO SQR(B2-X*X) STEP dla 470 R1=SQR(R*R+X*X+Y*Y)-R 480 ut=ut+Am*COS(-K*(R1+R2)) 490 vt=vt+Am*SIN(-K*(R1+R2)) 495 NEXT Y 496 NEXT X 549 REM integration zone IV thru LINE 596 550 FOR X=B(N) TO B(N+1.00000) STEP dla 555 R2=-X*SIN(a) 560 FOR Y=-SQR(B2-X*X) TO SQR(B2-X*X) STEP dla 570 R1=SQR(R*R+X*X+Y*Y)-R 580 ut=ut+Am*COS(-K*(R1+R2)) 590 vt=vt+Am*SIN(-K*(R1+R2)) 595 NEXT Y 596 NEXT X 600 NEXT N 630 REM REPLACE this LINE WITH "GOTO 1705" TO eliminate groundplane 650 d=la/4.0000000 660 dca=d*COS(a) 670 rd2= (R+d)*(R+d) 741 FOR N=1.00000000 TO 17.000000000 STEP 2.0000000 746 B2= B(N+1.00000)*B(N+1.0000) 749 REM integration zone I thru LINE 796 750 FOR X=-B(N+1.0000) TO -B(N) STEP dla 755 R2=-X*SIN(a) 760 FOR Y=-SQR(B2-X*X) TO SQR(B2-X*X) STEP dla 770 R3=SQR(rd2+X*X+Y*Y)-R+dca 780 ut=ut+Am*COS(-K*(R3+R2)) 790 vt=vt+Am*SIN(-K*(R3+R2)) 795 NEXT Y 796 NEXT X 849 REM integration zone II thru LINE 896 850 FOR X=-B(N) TO B(N) STEP dla 855 R2=-X*SIN(a) 860 FOR Y=-SQR(B2-X*X) TO -SQR(B(N)*B(N)-X*X) STEP dla 870 R3=SQR(rd2+X*X+Y*Y)-R+dca 880 ut=ut+Am*COS(-K*(R3+R2)) 890 vt=vt+Am*SIN(-K*(R3+R2)) 895 NEXT Y 896 NEXT X 949 REM integration zone III thru LINE 996 950 FOR X=-B(N) TO B(N) STEP dla 955 R2=-X*SIN(a) 960 FOR Y=SQR(B(N)*B(N)-X*X) TO SQR(B2-X*X) STEP dla 970 R3=SQR(rd2+X*X+Y*Y)-R+dca 980 ut=ut+Am*COS(-K*(R3+R2)) 990 vt=vt+Am*SIN(-K*(R3+R2)) 995 NEXT Y 996 NEXT X 1549 REM integration zone IV thru LINE 1596 1550 FOR X=B(N) TO B(N+1.00000) STEP dla 1555 R2=-X*SIN(a) 1560 FOR Y=-SQR(B2-X*X) TO SQR(B2-X*X) STEP dla 1570 R3=SQR(rd2+X*X+Y*Y)-R+dca 1580 ut=ut+Am*COS(-K*(R3+R2)) 1590 vt=vt+Am*SIN(-K*(R3+R2)) 1595 NEXT Y 1596 NEXT X 1704 NEXT N 1705 WRITE #1,deg 1710 IF h=0.00000 THEN 1750 1720 Ao=SQR(ut*ut+vt*vt) 1730 h=0.000000 1750 WRITE #2,20.0000* LOG10(SQR(ut*ut+vt*vt)/Ao) 1800 NEXT deg 1940 CLOSE 1 1945 CLOSE 2 1946 CLOSE 3 1947 CLOSE 4 1950 EXIT FUNCTION END FUNCTION