How to calculate array factor of UNIFORM CIRCULAR ARRAY or CONCENTRIC CIRCULAR ARRAY?

How can I calculate the array factor of uniform circular array OR concentric circular array in matlab at az=0 ele=0?
% MATLAB Code from Sensor Array Analyzer App
% Generated by MATLAB 9.10 and Phased Array System Toolbox 4.5
% Generated on 22-Jul-2021 11:49:37
% Create a concentric array
close all
shift = 0;
l2=0
l4=1
% The multiplication factor for lambda units to meter conversion
radius = [0.5 1] * 0.0105263157894737;
n = [4 8];
if length(n) == 1
n = n*ones(1, length(radius));
end
Nelements = sum(n);
stop = cumsum(n);
start = stop - n + 1;
actual_pos = zeros(3, Nelements);
for idx = 1:length(n)
angles = (0:n(idx)-1)*360/n(idx);
angles = angles + shift;
shift = sum(angles(1:2))/2;
pos = [zeros(1, length(angles));cosd(angles);sind(angles)];
actual_pos(:, start(idx):stop(idx)) = pos*radius(idx);
end
elNormal = [ones(1,Nelements);zeros(1,Nelements)];
Array = phased.ConformalArray('ElementPosition', actual_pos, ...
'ElementNormal', elNormal,'Taper',[exp(i*l2*0) exp(i*l2*1.5707) exp(i*l2*3.1415) exp(i*l2*4.7123) exp(i*l4*0) exp(i*l4*0.7853) exp(i*l4*1.5707) exp(i*l4*2.356) exp(i*l4*3.1415) exp(i*l4*3.9269) exp(i*l4*4.7123) exp(i*l4*5.4977)]);
% Create an isotropic antenna element
Elem = phased.IsotropicAntennaElement;
Elem.FrequencyRange = [0 28500000000];
Array.Element = Elem;
% Assign Frequencies and Propagation Speed
Frequency = 28500000000;
PropagationSpeed = 300000000;
% Create Figure
% Plot Array Geometry
figure;
viewArray(Array,'ShowNormal',false,...
'ShowTaper',false,'ShowIndex','None');
% Calculate Steering Weights
Freq3D = 28500000000;
% Find the weights
w = ones(getNumElements(Array), length(Frequency));
% Plot 3d graph
format = 'polar';
figure;
pattern(Array, Freq3D , 'PropagationSpeed', PropagationSpeed,...
'Type','directivity', 'CoordinateSystem', format,'weights', w(:,1));
u=pattern(Array, Freq3D , 'PropagationSpeed', PropagationSpeed,...
'Type','directivity', 'CoordinateSystem', format,'weights', w(:,1));
% Find the weights
w = ones(getNumElements(Array), length(Frequency));
% Plot 2d elevation graph
format = 'polar';
cutAngle = 0;
figure;
pattern(Array, Frequency, cutAngle, -90:90, 'PropagationSpeed', PropagationSpeed,...
'Type', 'directivity', 'CoordinateSystem', format ,'weights', w);
format = 'rectangular';
cutAngle = 0;
figure;
pattern(Array, Frequency, cutAngle, -90:90, 'PropagationSpeed', PropagationSpeed,...
'Type', 'directivity', 'CoordinateSystem', format ,'weights', w);
We have inbuilt function arrayFactor(object,freq).
I don't know what is the object in my case?
According to me it's Array but it's not. Then what is it?
Thank you

10 comentarios

According to the documentation of arrayFactor, it should be this:
object Input antenna array
Input antenna array object, specified as an object.
It then provides an example:
r = rectangularArray; arrayFactor (r,70e6)
Error using uilabel (line 36)
Functionality not supported with figures created with the figure function.

Error in em.internal.addtextinfo

Error in em.ArrayAnalysis/arrayFactor>addtatoo (line 170)
em.internal.addtextinfo(gcf, tab1, tab3, tab2);

Error in em.ArrayAnalysis/arrayFactor (line 127)
addtatoo(frequency, azimuth, elevation, MagAF);
so object is an Array according to the program I have writeen.
Unrecognized function or variable 'arrayFactor'.
af=arrayFactor(Array,30e9)
Don't know why this error? @Rik
You don't need to use @ every comment. I will see it when I get round to it, an @ will not speed that up.
The most probable reason is that you don't have a new enough release and/or you don't have the appropriate toolbox installed.
Ok sry for that Ok I will try installing new versions
I have updated my matlab version. Still it is showing the error :
Unrecognized function or variable 'arrayFactor'.
af=arrayFactor(Array,30e9)
when I serched in help "arrayFactor" is there.
Dont know what is the issue.
Did you install the antenna toolbox as well? You should be able to verify this with the ver command.
yeah i did
its available
when i perform arrayFactor(rectangularArray,30e9) it works.
when i write above mentioned code it shows unrecognized function or variable 'arrayFactor'.

Iniciar sesión para comentar.

Respuestas (0)

Productos

Versión

R2021a

Preguntada:

el 17 de Nov. de 2021

Comentada:

el 28 de Dic. de 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by