Converting a 1D antenna array to planar array in 3D space
8 次查看(过去 30 天)
显示 更早的评论
Hello,
I am struggling to understand how I can convert a linear array code to a 2D by changing or adding some lines of code.Here is what I have got so far:
%Parameters
Fc=1255e6; %/Hz Carrier frequency
C=3e8;%/m/s Speed of light
Lambda=C/Fc;%/m Wavelength
ESepx=0.49*Lambda; %/m Element separation in the x direction
ESepz=0.49*Lambda;%/m Element separation in the z direction
Nx=4; % Number of Elements in the x direction
Nz=16;%Number of Elements in the z direction
% First lets define a planar array in 3D space
Elementpos=zeros(Nx,Nz);
Elementpos(1,:)=(-(Nx-1)/2:(Nx-1)/2)*ESepx;
Elementpos(:,1)=(-(Nz-1)/2:(Nz-1)/2)*ESepz;
figure(1)
plot(Elementpos(1,:), Elementpos(:,1), 'x')
xlabel('x axis (m)');
ylabel('z axis (m)');
title('element position');
3 个评论
Paul Hoffrichter
2021-7-9
编辑:Paul Hoffrichter
2021-7-9
I added a 3rd technique in the answer.
Do you have any other questions about the below answer? If not, could you hit the Accept Answer button below.
采纳的回答
Paul Hoffrichter
2021-7-9
编辑:Paul Hoffrichter
2021-7-9
Fc=1255e6; %/Hz Carrier frequency
C=3e8;%/m/s Speed of light
Lambda=C/Fc;%/m Wavelength
ESepx=0.49*Lambda; %/m Element separation in the x direction
ESepz=0.49*Lambda;%/m Element separation in the z direction
Nx=4; % Number of Elements in the x direction
Nz=16;%Number of Elements in the z direction
xPos = (-(Nx-1)/2:(Nx-1)/2)*ESepx;
zPos = (-(Nz-1)/2:(Nz-1)/2)*ESepz;
figure(101), hold on;
for z = zPos
zs = repmat(z, 1, length(xPos));
plot( xPos, zs, 'bx');
end
xlabel('x axis (m)');
ylabel('z axis (m)');
title('element position');
figure(102)
[X Y] = meshgrid( xPos, zPos );
plot(X, Y,'kx')
xlabel('x axis (m)');
ylabel('z axis (m)');
title('element position');
figure(103)
zP = repmat(zPos', 1, 4);
plot(xPos, zP, 'gx')
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Array Geometries and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!