📄 abod.m
字号:
function [w,var]=abod(M,Aj,as,a,ang,SL,D,K,q)
% aod:adaptive beamforming optimise design 自适应波束优化设计%
% M:array number
% Aj:manifold of interfenrence source,as:manifold of expectation signal,a:
% SL:expectation sidelobe height%
% D:the number of interference source invented for depressing sidelobe(D>=2~3M)
% K:iterative plus factor maximun permitted
% q:iterative time
F0=10^(SL/20); %SL<0,这里的旁瓣级不具有一般性
DOAj=linspace(-180,180,D);w=zeros(M,1);
var=2*ones(1,D);% var:initial interference source intensity. generally speaking,var=ones(1,D),or var=2*ones(1,D)
Z=length(ang);
for temp=1:q+1
am=diag(var);
Rj=Aj*am*Aj'+eye(M,M);
w=inv(Rj)*as; %求解MVDR波束加权值
F=abs(w'*a);F=F/max(F);
[X,b]=beamwidth(F,ang); %但是需要求解波束图31次,得到主瓣宽度
if temp<=q %只更新循环30次
for m=1:D %迭代更新D个干扰源的强度
if DOAj(m)>=ang(b(2))&&DOAj(m)<=ang(b(1))%主瓣内的干扰强度为0
var(m)=0;
else
t=floor((m-1)*(Z-1)/(D-1))+1;%因为假定干扰源分布不一定刚好和观测家吻合,只能接近估计
var(m)=min(K,F(t)/F0)*var(m); %这里采用的是比值更新
% L=var(m)+K*(F(t)-F0);
% var(m)=max(0,L);%初始化:var=zeros(1,D)
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -