www.gusucode.com > phased 案例源码 matlab代码程序 > phased/TaylorTaperCircularArraySpecifyingNbarExample.m

    %% Taylor Taper Circular Array Specifying Nbar
% 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 2. Let the sidelobe level assume a
% default value of –30. Let the center of the array be the centroid of the
% array elements. Plot the array power pattern at 300 MHz.
%%
% 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;
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);
%%
% 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')