Antenna toolbox circular array amplitude taper size error

3 visualizaciones (últimos 30 días)
Jeffrey
Jeffrey el 30 de Jul. de 2021
Respondida: Johnny Himbele el 4 de Ag. de 2021
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?

Respuestas (1)

Johnny Himbele
Johnny Himbele el 4 de Ag. de 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

Categorías

Más información sobre Array Catalog en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by