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 件のコメント

FARHA KHAN
FARHA KHAN 2021 年 12 月 23 日
kindly look into this
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);
FARHA KHAN
FARHA KHAN 2021 年 12 月 24 日
so object is an Array according to the program I have writeen.
FARHA KHAN
FARHA KHAN 2021 年 12 月 24 日
Unrecognized function or variable 'arrayFactor'.
af=arrayFactor(Array,30e9)
Don't know why this error? @Rik
Rik
Rik 2021 年 12 月 24 日
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.
FARHA KHAN
FARHA KHAN 2021 年 12 月 24 日
Ok sry for that Ok I will try installing new versions
FARHA KHAN
FARHA KHAN 2021 年 12 月 27 日
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.
Rik
Rik 2021 年 12 月 27 日
Did you install the antenna toolbox as well? You should be able to verify this with the ver command.
FARHA KHAN
FARHA KHAN 2021 年 12 月 27 日
yeah i did
its available
FARHA KHAN
FARHA KHAN 2021 年 12 月 28 日
when i perform arrayFactor(rectangularArray,30e9) it works.
when i write above mentioned code it shows unrecognized function or variable 'arrayFactor'.

サインインしてコメントする。

回答 (0 件)

カテゴリ

製品

リリース

R2021a

質問済み:

2021 年 11 月 17 日

コメント済み:

2021 年 12 月 28 日

Community Treasure Hunt

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

Start Hunting!

Translated by