Rotation of CustomAntennaElement data

6 views (last 30 days)
Joshua Goglio
Joshua Goglio on 3 May 2018
Edited: Joshua Goglio on 14 May 2018
Intro:
For reasons I won't enumerate, I must import an Antenna Toolbox generated pattern() into Phased Array Toolbox by means of a CustomAntennaElement object:
az = -180:5:180;
el = -90:5:90;
dblpatch = customAntennaGeometry;
gain = pattern(dblpatch,freq,az,el);
elem = phased.CustomAntennaElement('AzimuthAngles',az,'ElevationAngles',el, ...
'MagnitudePattern',gain,'PhasePattern',zeros(dimEl,dimAz));
This seems to work fine,but when I build a URA the pattern comes out goofy. Here's the array code:
array = phased.URA;
array.ArrayNormal = 'z';
array.Element = elem;
array.Size = size;
array.ElementSpacing = [spacing spacing];
Basically, I believe that I need to rotate the dblpatch (AT) radiation pattern so that the max directivity is along the x axis, instead of the z-axis, then change to array.ArrayNormal = 'x'
How would one go about doing this?
Results:
Five figures are attached: four rad patterns (antenna & phased array toolbox elements and arrays) and the PA toolbox array's lattice.
Current idea fragments:
  • phitheta2azel()
  • circshift() & other manual array manipulation
I cannot use the AT element's Tilt or TiltAxis properties.

Answers (1)

Honglei Chen
Honglei Chen on 4 May 2018
Could you clarify what you want to achieve?
The elements in Phased Array System Toolbox assumes the element normal at 0 azimuth and 0 elevation. When you put a custom element into an URA, it automatically align that axis with the array normal.
On the other hand, if you directly import an element from Antenna Toolbox, there is no rotation. So you may want to just try
array.Element = dblpatch
and see if that's what you want.
HTH
  1 Comment
Joshua Goglio
Joshua Goglio on 14 May 2018
Edited: Joshua Goglio on 14 May 2018
Hello Honglei,
Question:
Is it possible to alter the CustomAntennaElement MATLAB source code to make 0 azimuth 90 elevation the element normal? I'm trying to comb through the CustomAntennaElement code, but I was hoping you might have an idea.
Comments:
Just to be clear, I am not using array.Element = dblpatch because I prefer to use planeWaveExcitation and this is incompatible with that approach. There is another reason, but I don't want to get too far into the weeds. I also am not using the Tilt/TiltAxis Antenna Toolbox methods because I would like to use an inf GND plane, which is incompatible with these methods.
Thanks! Josh

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!