MATLAB Answers

Beamsteering With Custom Elements Without Phased Array Toolbox

14 views (last 30 days)
Heston Jayasinghe
Heston Jayasinghe on 15 May 2019
Edited: Heston Jayasinghe on 16 May 2019
On CST, I have an antenna model with a bunch of elements in a custom configuration. I've ran a simulation for each element (for now at one frequency, will be many more later once I figure this part out), and the resultent Total Magnitude, Vertical/Horizontal Polarized Magnitude/Phase Patterns are exported and have all been imported into MATLAB.
I tried utilzing CustomAntennaElement objects and putting them into a HeterogenousConformalArray object, and using a SteeringVector to perform beamsteering, but my collegues are insisting that the plots we're getting from that aren't what we want, in terms of comparison with data we're supposed to be getting. Instead, I've been instructed to simply manupulate the pattern matrixes, zeroing out the phases at the angle of steering, offseting every other phase by the same amount used to zero out said phase in each element, then combining that with the magnitude, summing together every individual element response for each angle to find the resultant beam. With this method, we acheived the shape we wanted though the values are all greater than we would like.
Is anyone familiar with the algorithm I mentioned and can potentially let me know what I may have missed, or can link me to another method that doesn't utilize the Phased Array Toolbox?
Edit: I just realized something that's causing the discrepency with the Phased Array Toolbox results. I'm utilizing the position data from CST in the HeterogenousConformalArray, however I think the distances between each element are already accounted for in their individual responses, for example two similar (but not exact) elements that are pointing in the same direction but are some distance apart will have similar magnitudes but different phases. So when I attempt the beem steering in MATLAB, it's like the distances are being account for twice, aka one time too many. I guess my additional question would be, is this a huge factor?


Sign in to comment.

Answers (1)

Honglei Chen
Honglei Chen on 16 May 2019
What you described to me looks like what you will be able to achieve with SteeringVector, or more precisely ArrayResponse. You may want to see if using ArrayResponse gives the same result.

  1 Comment

Heston Jayasinghe
Heston Jayasinghe on 16 May 2019
I'll try ArrayResponse and let you know if that makes any difference.
Though one thing I should note: when I used the SteeringVector and applied that to the pattern function on the HeterogenousConformalArray, the pattern did not reflect steering in the correct direction.

Sign in to comment.

Sign in to answer this question.