phased replicated subarrays with different phases on each subarray
Show older comments
I have an antenna model and it uses subarrays. These arrays are physically pointing in different directions and I want use the replicated subarray ability, but also I want to add weight or a taper which will steer the subarrays in different directions. If there are 2 subarrays, I want one to have a certain taper and the second to have a different taper. The examples i've found use the same weights or taper for all subarrays in the model... Is it possible to have different phasing on each array and use the replicated subarray model? In this example below there are subarrays physically pointed in different directions, but if I wanted to phase them all to steer to the same point it would require different phasing for each subarray...
Another type of nonplanar antenna array is an array with multiple planar faces. The next example shows uniform hexagonal arrays arranged as subarrays on a sphere. https://www.mathworks.com/help/phased/examples/phased-array-gallery.html?s_tid=srchtitle
R = 9; % Radius (m)
az = unigrid(-180,60,180,'[)'); % Azimuth angles
el = unigrid(-30,60,30); % Elevation angles (excluding poles)
[az_grid, el_grid] = meshgrid(az,el);
poles = [0 0; -90 90]; % Add south and north poles
nDir = [poles [az_grid(:) el_grid(:)]']; % Subarray normal directions
N = size(nDir,2); % Number of subarrays
[x, y, z] = sph2cart(degtorad(nDir(1,:)), degtorad(nDir(2,:)),R*ones(1,N));
sphericalHexagonalSubarray = phased.ReplicatedSubarray('Subarray',uha,...
'Layout','Custom',...
'SubarrayPosition',[x; y; z], ...
'SubarrayNormal',nDir);
viewArray(sphericalHexagonalSubarray,...
'Title','Hexagonal Subarrays on a Sphere');
view(30,0)
Accepted Answer
More Answers (1)
Honglei Chen
on 3 Jan 2017
2 votes
Currently the capability of pointing the subarrays to different directions is not available in phased.ReplicatedSubarray and phased.PartitionedArray. The example does apply different phasing to each subarray, but the phases are computed based on the same pointing direction. As a workaround, you can build separate arrays and then point them to different directions.
I do have a question regarding the use case. Since the subarrays point to different directions, it seems that they sort of work independently? Besides the physical connections, is there any other relations between the subarrays that are important for you to model? Thanks.
8 Comments
mike susedik
on 3 Jan 2017
Edited: mike susedik
on 4 Jan 2017
Honglei Chen
on 4 Jan 2017
Sorry I misunderstood the situation. If all subarrays are focusing on the same star, then the existing ReplicatedSubarray should work. Although each subarray has different orientations but the star is in a fixed direction relative to the entire array, so the ReplicatedSubarray will compute the appropriate phase for each subarray. The example you quoted does exactly that, is there anything in particular that you need clarification?
The beamforming should work the same way. The grating lobe diagram is a bit more complex as the helper function you noticed only works for planar arrays. The computation for conformal array is not supported yet and frankly I haven't seen a lot of reference on that either.
HTH and please let me know if you need any further clarification.
mike susedik
on 5 Jan 2017
Edited: Honglei Chen
on 6 Jan 2017
Honglei Chen
on 6 Jan 2017
Hi Mike, I probably didn't understand your question correctly. Are you trying to plot the pattern for each subarray? Currently the steering only applies to the entire array, and that will be what you see when you plot the entire array. Is your sphericalHexagonalSubarray the entire array, or the individual subarray that gets replicated? Thanks.
mike susedik
on 6 Jan 2017
mike susedik
on 6 Jan 2017
Honglei Chen
on 9 Jan 2017
The steering of the entire array is divided into two parts. The first parts is the weights at the subarray level, that's where you can use a weighting vector. However, you cannot directly access within each subarray. Therefore, the phasing within each subarray is controlled by a property in the subarray. For example,
sphericalHexagonalSubarray.SubarraySteering = 'Phase';
This means that the phase within each subarray will be controlled via phase shifters. You can also specify the frequency at which those phase shifters operate on.
Now if you want to see the beam pattern, you can do the following
stv = phased.SteeringVector('SensorArray',sphericalHexagonalSubarray);
fc = 3e8;
steer_ang = 30;
w = step(stv,fc,steer_ang);
pattern(sphericalHexagonalSubarray,fc,-90:90,0,'Type','PowerdB','SteerAngle',steer_ang);
In general, if you use subarray with SubarraySteering turned on, then you will need to specify an extra input to indicate which angle you want to steer the subarrays to.
Please let me know if this addresses your concern. Thanks.
Honglei Chen
on 9 Jan 2017
Sorry I accidentally made a separate answer entry.
Categories
Find more on Array Geometries and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!