clear all
close all
clc
j=sqrt(-1);
M=16;
m=0:M-1;
theta=[0,-40];
theta=theta*pi/180;
us=0;
A0=exp(j*pi*m'*sin(theta(1)));%信号源的方向矢量
Ai=exp(j*pi*m'*sin(theta(2)));%干扰的方向矢量
SNR=20; % 信噪比(可变)
INR=1;
P0=10.^(SNR/10);
Pi=10.^(INR/10);
o=pi/180;
xxl=[-90:1:90];
xx=xxl*o;
a=exp(j*pi*m'*sin(xx)); % 扫描矢量;
%%%%%%%%%%%最优波束形成%%%%%%%%%%%%%%%%%%%%%%%
L=10000;
Xs=A0*sqrt(P0*2)*wgn(1,L,1,'complex');%期望
Xi=Ai*sqrt(Pi*2)*wgn(1,L,1,'complex');%干扰
Xn=sqrt(2)*wgn(M,L,1,'complex');%噪声
Xx=Xs+Xi+Xn;
%Xx=Xi+Xw;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure
Rs=P0*A0*A0'; %期望信号协方差矩阵
Ri=Pi*Ai*Ai'; %干扰信号协方差矩阵
Rn=eye(M); %噪声信号协方差矩阵
Rx=Rs+Ri+Rn;
Pout_min=pinv(A0'*pinv(Rx)*A0);
Wopt=Pout_min*pinv(Rx)*A0;
%Wop=pinv(Rx)*A0/(A0'*pinv(Rx)*A0);
s1=20*log10(abs(Wopt'*a)/max(abs(Wopt'*a)));
plot(xxl,s1,'-k','linewidth',1)
ylim([-80 0])
grid on
%%%%%%%%%%%%%%%LMS算法%%%%%%%%%%%%%%%%%%
w=zeros(M,1);
eta=0.01;
miu=0.0001;
e=1;
p=1;
d=Xs(1,:);
while abs(e)>eta
e=d(p)-w'*Xx(:,p);
w=w+miu*conj(e)*Xx(:,p);
p=p+1;
end
s2=20*log10(abs(w'*a)/max(abs(w'*a)));
hold on
plot(xxl,s2,'--r','linewidth',1);
legend('最优','LMS算法',2);
- 1
- 2
- 3
- 4
前往页