%% taylor、bayliss加权和差波束
%% 准备工作空间
clear;clc;
close all;
%% 工作参数定义
f0=3e9;
lambda=3e8/f0;
%% 阵元定义
d=lambda/2;%阵元间距
N=20;%阵元数
x=(1:N).*d;
x=x-sum(x)/N;%以阵列中心为参考
%% 阵元幅度和相位
Am(1:N)=1;
Am2(1:N)=taylorwin(N);
phi(1:N)=0;
%% 线阵和差方向图
% sita为波束指向对应的指向角,phase为数据的相位
sita=pi/180.*(-90:0.1:90);%转为弧度
dsita=sita(2)-sita(1);%最小弧度差
L_sita=length(sita);
for i=1:L_sita
for n=1:N
E_temp(n)=Am(n).*exp(j*2*pi/lambda*x(n).*sin(-sita(i))+phi(n));
E_temp2(n)=Am2(n).*exp(j*2*pi/lambda*x(n).*sin(-sita(i))+phi(n));%taylor
end;
%和波束加权后
F_sum(i)=sum(E_temp);
F_sum2(i)=sum(E_temp2);
%差波束加权后
F_dif(i)=sum(E_temp(1:N/2))-sum(E_temp(N/2+1:N));%对称取反法
F_dif2(i)=sum(E_temp2(1:N/2))-sum(E_temp2(N/2+1:N));%taylor
end;
%% 和波束不加权、Taylor加权
sum=20*log10(abs(F_sum));
sum2=20*log10(abs(F_sum2));
figure;
plot(sita,sum);
hold on;plot(sita,sum2,'r');
title('和波束方向图(dB)');
legend('不加权','taylor');
axis([-1 1 -50 50]);
%% 差波束不加权、Bayliss加权
fs=5; % 离散抽样频率
%----------------------Bayliss(-30 dB Bayliss 加权)------------------------
SLR=-30;
R=10.^(-SLR/20);
nn=6;
v=N*d*sin(sita)/lambda;
if SLR==-15 %引入参数表,按照SLR选值确定四个参数(已知nn>4)下一步操作
A=1.0079;
Omega=[1.5124,2.2561,3.1693,4.1264];
elseif SLR==-20
A=1.2247;
Omega=[1.6962,2.2398,3.2473,4.1854];
elseif SLR==-25
A=1.4355;
Omega=[1.8826,2.4943,3.3351,4.2527];
elseif SLR==-30
A=1.6413;
Omega=[2.0708,2.6275,3.4314,4.3276];
elseif SLR==-35
A=1.8413;
Omega=[2.2602,2.7675,3.5352,4.4093];
elseif SLR==-40
A=2.0415;
Omega=[2.4504,2.9123,3.6452,4.4973];
end
%——————————————计算sigma——————————————-
vn=zeros(1,nn-1);
for n=0:(nn-1)
if n==0
vn(n+1)=0;
elseif (n>=1)&&(n<=4)
vn(n+1)=(nn+0.5)*sqrt(((Omega(n)).^2)/(A.^2+nn.^2));
else
vn(n+1)=(nn+0.5)*sqrt((A.^2+n.^2)/(A.^2+nn.^2));
end
end
%————————————算式中B系数的(连乘分子分母)分式部分——————————
T1=ones(1,L_sita);
T2=ones(1,L_sita);
T2=(1-(2*v).^2);
for n=1:(nn-1)
T1=T1.*(1-(v/(vn(n+1))).^2);
T2=T2.*(1-(v/(n+0.5)).^2);
end
%————————————Bayliss加权部分最终求得算式———————————————
F_dif3=zeros(1,L_sita);
F_dif3=(pi*v).*cos(pi*v).*T1./T2;
S=abs(F_dif3)/max(abs(F_dif3)); %归一化
G=20*log10(S); %bayliss加权的差波束dB
F_diff=abs(F_dif)/max(abs(F_dif));%0dB为最大
dif=20*log10(abs(F_diff));%不加权的差波束dB
figure;
plot(sita,dif);
hold on;plot(sita,G,'r');
title('差波束方向图(dB)');
legend('不加权','Bayliss');
axis([-1 1 -100 30]);
% %% 差和比曲线
% K=F_dif./F_sum;%不加权的差和比
% K2=F_dif3./F_sum2;%bayliss加权的差波束/Taylor加权的和波束
%
% % 取中间正负5度范围内数据进行数据拟合,求差斜率
% H_Lsita=ceil(L_sita/2);
% N_range=ceil(10/360*pi/dsita);
% ang_range=H_Lsita-N_range+1:H_Lsita+N_range;
% theta=sita(ang_range).*180/pi;%以度为单位
% Km=imag(K(ang_range))';%取虚部
% Km2=imag(K2(ang_range))';
%
% figure;plot(theta,Km);
% hold on;plot(theta,Km2,'r');
%
% title('差和比曲线');
% legend('不加权','bayliss/taylor');
AixLeft丶
- 粉丝: 1
- 资源: 7