clc
clear
N=8; %阵元数
d_lamda=1/2; %阵元间距与波长的关系
L=1024; %快拍次数
SNR=10; %信噪比
INR=5; %干噪比
f=500;
fd=10; %期望信号频率
f1=50;f2=80; %干扰信号频率
noise=(randn(N,L)+1i*randn(N,L))/sqrt(2); %噪声
t=[0:1/f:(L-1)/f];
sd=sqrt(2*cov(noise(1,:))*10^(SNR/10))*sin(2*pi*fd*t); %期望信号
s1=sqrt(2*cov(noise(2,:))*10^(INR/10))*sin(2*pi*f1*t); %干扰信号1
s2=sqrt(2*cov(noise(3,:))*10^(INR/10))*sin(2*pi*f2*t); %干扰信号2
k=1:N;
theta0=0; %期望来波方向
theta1=-40;theta2=60; %干扰方向
ad=(exp(-1i*2*pi*d_lamda*(k-1)*sin(theta0*pi/180)))';
a1=(exp(-1i*2*pi*d_lamda*(k-1)*sin(theta1*pi/180)))';
a2=(exp(-1i*2*pi*d_lamda*(k-1)*sin(theta2*pi/180)))';
A=[ad,a1,a2];
S=[sd;s1;s2];
x=A*S+noise;
W=zeros(N,1); %W为大写
b=0.995; %遗忘因子
c=0.1;
p=eye(N)/c;
for m=1:L
v=p*x(:,m);
k=(v/b)/(1+x(:,m)'*v/b);
e1(m)=sd(m)-W'*x(:,m);
W=W+k*e1(m)';
p=p/b-k*v';
%p=p/b-k*v'/b;
end
theta=[-90:90];
for n=1:length(theta)
a=(exp(-1i*2*pi*d_lamda*sin(theta(n)*pi/180)*[0:N-1]))';
G(n)=W'*a; %波束方向
end
plot(theta,10*log(abs(G)/max(abs(G))))
xlabel('角度');ylabel('方向图增益/dB');
%axis([-100,100,-50,0])
grid
figure(2)
plot(abs(e1).^2)
figure(3)
polar(theta*pi/180,abs(G))