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

    %% Animate Existing Polar Azimuth Plot Data
% Create a 15-element ULA of cosine antennas with elements spaced one-half
% wavelength apart. Plot the directivity of the array at 20 GHz.
%%
% *Note:* This example runs only in R2016b or later. If you are using an earlier
% release, replace each call to the function with the equivalent |step|
% syntax. For example, replace |myObject(x)| with |step(myObject,x)|.
fc = 20.0e9;
c = physconst('Lightspeed');
lam = c/fc;
angs = [-180:1:180];
antenna = phased.CosineAntennaElement('FrequencyRange',[1.0e9,100.0e9],...
    'CosinePower',[2.5 2.5]);
array = phased.ULA('Element',antenna,'NumElements',15,'ElementSpacing',lam/2);
a = pattern(array,fc,angs,0);
P = polarpattern(angs,a);
%%
% Then, steer the array to 45° and, using the |animate| method, replace
% the existing polar plot with the steered array directivity.
steervec = phased.SteeringVector('SensorArray',array,'PropagationSpeed',c,...
    'IncludeElementResponse',true);
sv = steervec(fc,[45;0]);
a1 = pattern(array,fc,angs,0,'Weights',sv);
animate(P,angs,a1);