Antenna toolbox circular array amplitude taper size error
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Johnny Himbele
2021 年 8 月 4 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Array Catalog についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!