MATLAB: Set starting position of a Uniform Circular Array

arraycircularconformalphasedPhased Array System Toolboxposition;startinguniform

How can I control the element positions in a uniform circular array? I would like element #1 to be at the 3 o'clock position for example rather than at the default 9 o'clock position. The element positions can be seen using the command 'getElementPosition'.

Best Answer

There currently is not an additional argument for uniform circular arrays ('phased.UCA') that allows you to set the starting location.
The workaround is to instead use a conformal array ('phased.ConformalArray') as it is more general than the uniform circular array. An example of how to convert a conformal array into a uniform circular array is given in:
To control the position of the elements, use the Azimuth angle (defined by 'ang' in the example). This array has angles (range: -180 to 180 deg), and the order of the angle determines the location of the elements. Therefore, instead of starting this array of Azimuth angles at -180 deg (9 o'clock position), you can start it at 180 deg (3 o'clock position). However, it is important to wrap the angles so that they stay in the range of -180 to 180 deg. This is included in the example on the line immediately following the definition of the 'ang' variable.