how to make sure the normal vector of phase.ConformalArray is the same as normal vector of antenna element?

1 view (last 30 days)
I am creating a conformal array of microstrip patch antenna using the phase array system toolbox. I first created a single antenna element of patch antenna:
%%Variable name:
%%ae --> antennas elements
%%This block is used to tune radiation pattern of a single antenna element
dielect_Const = dielectric('FR4');
ae = patchMicrostrip('Length',30e-3,'Width',25e-3, 'Height',4e-3, ...
'GroundPlaneLength',50e-3,'GroundPlaneWidth',50e-3,'FeedOffset',[-10e-3,0], ...
'Substrate',dielect_Const);
show(ae)
fc=2.45e9;
figure(1)
pattern(pm,2.45e9)
which gives my antenna radiation pattern of my single patch antenna, the "mainbeam" points directly to +z
I then created a conformal array of this antenna:
d=(physconst('LightSpeed')/fc)/2;
antenna_dim = 4;
az = -180:180;
el = -90:90;
[array_position,array_direction] =...
pos_and_dir_generator(d,antenna_dim);
faa = phased.ConformalArray('Element',ae,...
'ElementPosition',array_position,...
'ElementNormal',array_direction);
%faa.Element = repmat(ae,1,1)
%antenna_pos= [1 0 0; 2 0 0; 3 0 0 ]'
%faa.ElementPosition = [5 0 0; 2 0 0; 3 0 0]'
figure(2)
%show(faa)
viewArray(faa,'ShowNormals',true,...
'ShowLocalCoordinates',true,...
'Orientation',[30;-20;-90],'ShowAnnotation',true);
%where is my antenna pointing to?
show() function won't run with conformal array (I think)
where array_direction is all 0 for both azimuth and elevation:
array_direction =
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ViewArray() plots my array geometry but with my antenna as a blue circle instead of showing the acutal antenna. Now I am super confused whether the normal direction (orange arrow extended from each element shown below) points to the same direction of z as shown from the last pic? I am not sure where my patch element is facing in this array.
has anyone run into this trouble before? are my elements in the array also facing to z direction even the orange arrow is pointing elsewhere?

Accepted Answer

Xingda Chen
Xingda Chen on 21 Feb 2022
Edited: Xingda Chen on 21 Feb 2022
I used a simple but dumb way by setting my element number to be 1 and compare the generaqted pattern with the original pattern to determine the angle difference. Works for me but would appreciate if matlab can offer antenna show() on conformal array as well

More Answers (0)

Categories

Find more on Analysis, Benchmarking, and Verification in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!