Antenna toolbox circular array amplitude taper size error

3 views (last 30 days)
The Antenna Toolboxes circularArray function help states the Element property can be specified as:
Example: 'Element',[monopole,monopole]
...and that the amplitude taper and phase shift properties are vectors of the size of 'Element'.
If I try the following code:
circularArray('Element',[monopole,monopole],'AmplitudeTaper',[1 1],'PhaseShift',[0 0])
...then I get the following error:
Error using circularArray
Expected AmplitudeTaper to be an array with number of elements equal to 6.
This appears to be referencing the default value of (6) for the number of elements, but I specified 2 as shown in the help. What am I doing wrong here?

Answers (1)

Johnny Himbele
Johnny Himbele on 4 Aug 2021
Hi Jeffrey,
I observed the same issue when providing the name-value pairs of Element, AmplitudeTaper and PhaseShift as a vector of objects to circularArray function. This is because, when initializing a circularArray object, Element is passed as a vector of objects; whereas AmplitudeTaper and PhaseShift are passed as a scalar of object. You can check this at line 100 - 104 in circularArray.m. You should be able to open circularArray.m. by running the following command:
cd (matlabroot)
edit toolbox\antenna\antenna\circularArray.m
To create a custom circularArray model, I propose the following workflow:
ant = circularArray('Element',[monopole,monopole]);
ant.AmplitudeTaper = [1 1];
ant.PhaseShift = [0 0];
FYI, if all Elements have the same AmplitudeTaper and PhaseShift values, I think you don't need to specify as a vector of objects.
Good luck!
Johnny

Categories

Find more on Analysis, Benchmarking, and Verification in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!