波束造成,也稱爲空域濾波。與時域FIR濾波器的時間採用線性濾波器處理類似,陣列處理是一種空間採樣處理技術,即經過必定佈置的空間陣元對空間信號場進行採樣,而後通過加權相加處理獲得指望的輸出結果。orm
陣列的結構不一樣效果不一樣,主要分爲線陣、圓陣、三角陣、L陣、球面陣等等。it
線陣:form
%ULA-beamform
clear all;
close all;
clc;
N=16; %權個數
f=1500;%信號頻率
c=1500;
lambda=c/f;
d=0.5*lambda;
phi=0:0.01:pi;
theta=0:0.04:2*pi;
phi0 = pi/2;
theta0 = pi/6;
a=zeros(2,N);
p=[a;((0:N-1)-(N-1)/2)*d];
k0=-2*pi/lambda*[sin(phi0)*cos(theta0),sin(phi0)*sin(theta0),cos(phi0)].';
w0=exp(-1i*k0.'*p).*(chebwin(N,25)).';
for ii=1:length(phi)
for jj=1:length(theta)
k=2*pi/lambda*[sin(phi(ii))*cos(theta(jj)),sin(phi(ii))*sin(theta(jj)),cos(phi(ii))].';
v=exp(-1i*k.'*p);
b(ii,jj)=w0*v';
end
end
% cut_angle=angle(:,400:length(angle));
% z=y(:,400:length(angle));
figure;
B=20*log10(abs(b)/max(max(abs(b))));
[phi,theta] = meshgrid(theta,phi);
mesh(phi*180/pi,theta*180/pi,B);
xlabel('\phi','fontsize',18,'fontname','times new roman');%angle*180/pi,in_y)
ylabel('\theta','fontsize',18,'fontname','times new roman')
set(gcf,'color','white')
set(gca,'linewidth',2,'fontsize',18,'fontname','times new roman')
axis([0 360 0 180 -100 0])
% xlim([0,360]);ylim([-180,180]);zlim([-60,0])
% caxis([-60,0])lambda
%URA-beampattern
clear all
clc
N=8;
M=10;%陣元個數
f=1500;%信號頻率
c=1500;
lambda=c/f;
d=0.5*lambda;
theta=-pi/2:0.02:pi/2;
phi=0:0.05:2*pi;
phi0=pi/6;
theta0=pi/3; %預先設定的方向
k = 1;
p = zeros(3,M*N);
for iii = -(N-1)/2 : (N-1)/2
for jjj = -(M-1)/2 : (M-1)/2
p(:,k) = [iii*d,jjj*d,0]';
k = k+1;
end
end %陣元的位置
figure(1);
plot3(p(1,:),p(2,:),p(3,:),'ko');hold on;
xlabel('\it x','Fontsize',14);
ylabel('\it y','Fontsize',14);
zlabel('\it z','Fontsize',14);
k0=-2*pi/lambda*[sin(phi0)*cos(theta0),sin(phi0)*sin(theta0),cos(phi0)].';
w0=exp(-1i*k0.'*p);grid
for ii=1:length(theta)
for jj=1:length(phi)
k=-2*pi/lambda*[sin(theta(ii))*cos(phi(jj)),sin(theta(ii))*sin(phi(jj)),cos(theta(ii))].';
v=exp(-1i*k.'*p);
b(ii,jj)=w0*v';
end
endgc
figure(2);
B=20*log10(abs(b)/max(max(abs(b))));
ux = sin(theta.')*cos(phi);
uy = sin(theta.')*sin(phi);
B = max(B,-60);
mesh(ux,uy,B);
xlabel('\it u_x','Fontsize',18,'fontname','times new roman');
ylabel('\it u_y','Fontsize',18,'fontname','times new roman');
zlabel('Beampattern/dB','Fontsize',18,'fontname','times new roman');
zlim([-60,0]);
caxis([-60,0])
set(gcf,'color','white')
set(gca,'linewidth',2,'fontsize',18,'fontname','times new roman')
set(gca,'ztick',-60:10:0)im
圓陣技術
clear all;
close all;
clc
N=20;%陣元個數
f=1500;%信號頻率
c=1500;
lambda=c/f;
d=0.5*lambda;
theta=-pi/2:0.05:pi/2;
phi=0:0.05:2*pi;
phi0=0;
theta0=pi/6; %預先設定的方向
Delta = pi/10;
R = d/Delta;
p = zeros(3,N);
k = 1;
for kk = 1:N
p(:,k) = [R*cos(kk*Delta),R*sin(kk*Delta),0]';
k = k+1;
end
figure(1);
plot3(p(1,:),p(2,:),p(3,:),'ko');
hold on;
xlabel('\it x','Fontsize',14);
ylabel('\it y','Fontsize',14);
zlabel('\it z','Fontsize',14);
k0=-2*pi/lambda*[sin(phi0)*cos(theta0),sin(phi0)*sin(theta0),cos(phi0)].';
w0=exp(-1i*k0.'*p);di
for ii=1:length(theta)
for jj=1:length(phi)
k=-2*pi/lambda*[sin(theta(ii))*cos(phi(jj)),sin(theta(ii))*sin(phi(jj)),cos(theta(ii))].';
v=exp(-1i*k.'*p);
b(ii,jj)=w0*v';
end
end時間
figure(2);
B=20*log10(abs(b)/max(max(abs(b))));
ux = sin(theta.')*cos(phi);
uy = sin(theta.')*sin(phi);
mesh(ux,uy,B);
xlabel('\it u_x','Fontsize',14);
ylabel('\it u_y','Fontsize',14);
zlabel('Beam pattern (dB)','Fontsize',14);
zlim([-50,0]);
caxis([-50,0])