Antenna toolbox circular array amplitude taper size error
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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?
0 Commenti
Risposte (1)
Johnny Himbele
il 4 Ago 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
0 Commenti
Vedere anche
Categorie
Scopri di più su Array Catalog in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!