phased array antenna simulation
9 views (last 30 days)
Show older comments
i want to simualte antenna radition pattern of radar rx antenna using 8 element linear antenna (as shown in figure 2).i could able to create the required radiation pattern by placing the antenna element on Y axis(ref figure 1) ,(Matlab code is attached for reference):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1681856/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1681861/image.png)
%%%%%%%%%START of matlab code for antenna element placing on Y axis %%%%%%%%%%%%%
clc;
clear all;
close all;
%fc = 77e9;
fc = 60e9;
%c = 3e8;
c = physconst('LightSpeed');
lambda = c/fc;
Nt = 2;
Nr = 4;
ang = -90:90;
% % If both arrays have half-wavelength spacing, which are sometimes referred to as full arrays,
% % then the two-way pattern is close to the receive array pattern.
dr = lambda/2;
dt = Nr*(lambda/2);
Vy_pos1 = [0;-lambda;0];
Vy_pos2 = [0;-lambda+(lambda/2);0];
Vy_pos3 = [0;-lambda+ 2*(lambda/2);0];
Vy_pos4 = [0;-lambda+ 3*(lambda/2);0];
Vy_pos5 = [0;-lambda+ 4*(lambda/2);0];
Vy_pos6 = [0;-lambda+ 5*(lambda/2);0];
Vy_pos7 = [0;-lambda+ 6*(lambda/2);0];
Vy_pos8 = [0;-lambda+ 7*(lambda/2);0];
vxarray_4 = phased.ConformalArray('ElementPosition',[Vy_pos1,Vy_pos2,Vy_pos3,Vy_pos4,Vy_pos5,Vy_pos6,Vy_pos7,Vy_pos8]);
figure
viewArray(vxarray_4 ,'ShowIndex','All','ShowNormal',true,'Title',' conformal virtual array ,aantenna elements placed on Y axis');
patv_4 = pattern(vxarray_4,fc,ang,0,'Type','powerdb');
figure;
helperPlotMultipledBPattern(ang,[patv_4],[-30 0],...
{'Two-way Pattern','Virtual Array Pattern'},...
'Patterns of thin/full arrays and virtual array',...
{'-','--'},[1 2]);
%%%%%%%%%End of matlab code for antenna element placing on Y axis %%%%%%%%%%%%%
But my requirement is to achieve the same radaiation pattern by keeping antenna elements placement on X axis insetad of Y axis.please kindly check and confirm on how to realise same pattern by placing antenna element on the X axis(instead of y axis)?
i tried to place antenna elements on X axis and try to plot the resultant pattern but it doesnot meet the my required pattern.
figures and codes of the same are attached for reference.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1681866/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1681871/image.png)
%%%%%%%%%START of matlab code for antenna element placing on X axis %%%%%%%%%%%%%
clc;
clear all;
close all;
%fc = 77e9;
fc = 60e9;
%c = 3e8;
c = physconst('LightSpeed');
lambda = c/fc;
Nt = 2;
Nr = 4;
ang = -90:90;
% % If both arrays have half-wavelength spacing, which are sometimes referred to as full arrays,
% % then the two-way pattern is close to the receive array pattern.
dr = lambda/2;
dt = Nr*(lambda/2);
Vx_pos1 = [-lambda;0;0];
Vx_pos2 = [-lambda+(lambda/2);0;0];
Vx_pos3 = [-lambda+ 2*(lambda/2);0;0];
Vx_pos4 = [-lambda+ 3*(lambda/2);0;0];
Vx_pos5 = [-lambda+ 4*(lambda/2);0;0];
Vx_pos6 = [-lambda+ 5*(lambda/2);0;0];
Vx_pos7 = [-lambda+ 6*(lambda/2);0;0];
Vx_pos8 = [-lambda+ 7*(lambda/2);0;0];
vxarray_3 = phased.ConformalArray('ElementPosition',[Vx_pos1,Vx_pos2,Vx_pos3,Vx_pos4,Vx_pos5,Vx_pos6,Vx_pos7,Vx_pos8]);
figure
viewArray(vxarray_3 ,'ShowIndex','All','ShowNormal',true,'Title',' conformal virtual array ,antenna elements placed on X axis');
patv_3 = pattern(vxarray_3,fc,ang,0,'Type','powerdb');
figure;
helperPlotMultipledBPattern(ang,[patv_3],[-30 0],...
{'Two-way Pattern','Virtual Array Pattern'},...
'Patterns of thin/full arrays and virtual array',...
{'-','--'},[1 2]);
%%%%%%%%%End of matlab code for antenna element placing on X axis %%%%%%%%%%%%%
please kindly check and confirm on how to realise rquired pattern by placing antenna element on the X axis(instead of y axis)?
0 Comments
Answers (1)
Honglei Chen
on 10 May 2024
You can set the ArrayAxis in phased.ULA to 'x' to achieve that.
Hope this helps
3 Comments
Honglei Chen
on 13 May 2024
Edited: Honglei Chen
on 13 May 2024
In general if you put elements on x axis, then the pattern would be different. Could you explain what you mean by "the same radiation pattern"? If it's the same shape but rotated then that's possible. Otherwise, in general it is not expected that the two patterns can match.
Also, when I mentioned seeting the array axis to 'x', I meant
phased.ULA('ArrayAxis','x')
See Also
Categories
Find more on Phased Array Design and Analysis 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!