I've worked through a lot of examples, it is easy to create a plot for a phased-antenna array, one which is scanned to several angles using the plotResponse function. I'm sure it is easy to do what I want, just not for me…. which is get the numbers plotted on the plot. They are directivity referenced, etc. Values from a 3D plot would be helpful too.
In this example: "http://www.mathworks.com/help/phased/examples/antenna-array-analysis-with-custom-radiation-pattern.html" this command line is used to retrieve the actual numbers which represent the pattern:
"el_pat = abs(step(sArrayResponse,fmax,el_ang));"
The step function seems to be the answer to all problems of the world, but if I want to put my own weights to point the main beam in a particular direction, meaning in for ea element/s for the phases and possibly amplitude, I have not figured out how I can get just the pattern numbers (angle-magnitude) out afterwards. I would also like the values output for a 3D plot as well.
This code produces a pattern I want the actual numbers from:
frequency = 3e9propagationSpeed = physconst('lightspeed')h = phased.URA;h.ElementSpacing = [0.0408163265306122 0.0408163265306122];h.Size = [8 16];h.Lattice = 'Rectangular';% The element is just a cosine element
h.Element = ... phased.CosineAntennaElement('CosinePower',[2 2]);%Assign steering angles, frequencies and propagation speed
steeringAngle = [0;30]; %Steering angle
%Calculate Steering Weights
w = zeros(getNumElements(h), length(frequency));elementVector = phased.SteeringVector('SensorArray',h, ... 'PropagationSpeed', 300000000,... 'IncludeElementResponse',true);%SV steering vector
%Find the weights and the strings for the legend
for idx = 1:length(frequency) w(:, idx) = step(elementVector, frequency(idx), steeringAngle(:, idx));endfigure;plotResponse(h, frequency, propagationSpeed, 'Unit','dbi', ... 'Format', 'Line', 'RespCut', 'El', 'weights', w);
Best Answer