www.gusucode.com > phased 案例源码 matlab代码程序 > phased/TaylorTaperCircularArraySpecifyingSidelobeLevelExample.m
%% Taylor Taper Circular Array Specifying Sidelobe Level % Apply a Taylor nbar taper to a circular % aperture array. Create the circular aperture by cropping a square % uniform rectangular array into a circle. Set the value of nbar to 4. Set % the sidelobe level to –25. Let the center of the array be the centroid of % the array elements. Plot the array power pattern at 300 MHz. %% % First, create a square URA with a side length of 10 m. Set the element spacing % to 0.5 m. The spacing is equal to one-half wavelength at this frequency. fc = 300.0e6; diam = 10.0; d = 0.5; nbar = 2; sll = -25; nelem = ceil(diam/d); pos = getElementPosition(phased.URA(nelem,d)); %% % Use the |phased.ConformalArray| System object(TM) to model a circular % array. Create a circular array by removing all elements outside a % radius one-half the side-length of the URA. Then apply the Taylor nbar tapering to % the array. pos(:,sum(pos.^2) > (diam/2)^2) = []; antenna = phased.ConformalArray('ElementPosition',pos); antenna.Taper = taylortaperc(pos,diam,nbar,sll); %% % View the array. viewArray(antenna,'ShowTaper',true) %% % Display the array power pattern as a function of azimuth angle. pattern(antenna,fc,-90:1:90,0,'CoordinateSystem','rectangular','Type','powerdb')