线阵天线只能在一个方向上实现天线波束扫描,如果要在方位和俯仰两维上同时实现波束扫描,那就要采用平面相控阵天线。
根据天线阵的几何位置,平面阵天线主要在水平或垂直平面上布阵,有时也在一个倾斜的平面上布阵。一个水平放置的平面阵,其几何分布如下图所示:
共有M×N个天线单元,单元间距分别为d1(沿x轴方向)和d2(沿y轴方向)。设目标所在的方向以方向余弦(cosαx,cosαy,cosαz) ,则相邻单元之间的“空间相位差”为:
沿x轴方向:
沿y轴方向:
可得平面阵列的方向图函数为:
当各天线阵元的幅度加权系数aik=1,即均匀照射时,水平放置的平面阵的方向图函数可表示为:
并且方向余弦具有如下关系:
因此平面阵列天线可以看作是两个线阵方向图的乘积,F1(αx)是水平方向线阵的方向图,F2(αy)是垂直方向线阵的方向图。
根据以上理论进行仿真分析
频点为18G,阵元个数为8*8,阵元间距为λ/2
%% 矩形平面阵
clc,clear,close all
f = 18e9;
c = 3e8;
lamda = c/f;
theta = linspace(-90,90,360);
Ny = 8;
Nz = 8;
d = lamda/2;
k = (2*pi)/lamda;
theta0 = 0; % 俯仰维波束指向
fai0 = 0; % 方位维波束指向
ay0 = exp(1j*k*d*(0:Ny-1)'*sin(fai0*pi/180)*cos(theta0*pi/180));
az0 = exp(1j*k*d*(0:Nz-1)'*sin(theta0*pi/180));
aa0 = kron(ay0,az0);
for m = 1:length(theta)
for n = 1:length(theta)
ay = exp(1j*k*d*(0:Ny-1)'*sin(theta(m)*pi/180)*cos(theta(n)*pi/180));
az = exp(1j*k*d*(0:Nz-1)'*sin(theta(n)*pi/180));
aa = kron(ay,az);
pattern(m,n) = abs(aa0'*aa);
end
end
figure,mesh(theta,theta,pattern);
xlabel('方位角');ylabel('俯仰角');zlabel('归一化面阵方向图')
figure,contour(theta,theta,pattern,[3.5 8.5 14:5:64]);
xlabel('方位角');ylabel('俯仰角');
带指向的方向,指向(10°,20°)。
%% 矩形平面阵
clc,clear,close all
f = 18e9;
c = 3e8;
lamda = c/f;
theta = linspace(-90,90,360);
Ny = 8;
Nz = 8;
d = lamda/2;
k = (2*pi)/lamda;
theta0 = 10; % 俯仰维波束指向
fai0 = 20; % 方位维波束指向
ay0 = exp(1j*k*d*(0:Ny-1)'*sin(fai0*pi/180)*cos(theta0*pi/180));
az0 = exp(1j*k*d*(0:Nz-1)'*sin(theta0*pi/180));
aa0 = kron(ay0,az0);
for m = 1:length(theta)
for n = 1:length(theta)
ay = exp(1j*k*d*(0:Ny-1)'*sin(theta(m)*pi/180)*cos(theta(n)*pi/180));
az = exp(1j*k*d*(0:Nz-1)'*sin(theta(n)*pi/180));
aa = kron(ay,az);
pattern(m,n) = abs(aa0'*aa);
end
end
figure,mesh(theta,theta,pattern);
xlabel('方位角');ylabel('俯仰角');zlabel('归一化面阵方向图')
figure,contour(theta,theta,pattern,[3.5 8.5 14:5:64]);
xlabel('方位角');ylabel('俯仰角');
加窗效果
%% 利用线性阵列天线构建矩阵平面天线
clc,clear,close all
f = 18e9;
c = 3e8;
lamda = c/f;
Ny = 10;
Nz = 10;
k = (2*pi)/lamda;
theta = -90:0.1:90;
var = sin(theta*pi/180);
% varby = 0;
% varbz = 0;
varby = sin(pi/6);
varbz = sin(pi/9);
d = lamda/2;
win = hamming(10);
ay0 = exp(1j*k*d*(0:Ny-1)'*(var-varby));
az0 = exp(1j*k*d*(0:Nz-1)'*(var-varbz));
ay = sum(ay0);
az = sum(az0);
pattern = abs(ay'*az);
ay1 = ay0.*win;
az1 = az0.*win;
ay1_sum = sum(ay1);
az1_sum = sum(az1);
pattern1 = abs(ay1_sum'*az1_sum);
figure,mesh(theta,theta,pattern);
xlabel('方位角');ylabel('俯仰角');zlabel('归一化面阵方向图')
figure,contour(theta,theta,pattern,[3.5 8.5 14:5:64]);
xlabel('方位角');ylabel('俯仰角');
figure,mesh(theta,theta,pattern1);
xlabel('方位角');ylabel('俯仰角');zlabel('归一化面阵方向图')
figure,contour(theta,theta,pattern1,[3.5 8.5 14:5:64]);
xlabel('方位角');ylabel('俯仰角');