phased array antenna simulation
    조회 수: 21 (최근 30일)
  
       이전 댓글 표시
    
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):


%%%%%%%%%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.


%%%%%%%%%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
답변 (1개)
  Honglei Chen
    
      
 2024년 5월 10일
        You can set the ArrayAxis in phased.ULA to 'x' to achieve that.
Hope this helps
댓글 수: 3
  Honglei Chen
    
      
 2024년 5월 13일
				
      편집: Honglei Chen
    
      
 2024년 5월 13일
  
			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')
참고 항목
카테고리
				Help Center 및 File Exchange에서 Radar and EW Systems에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

