📄 ls_esprit.m
字号:
%LS-ESPRIT
clear all;
close all;
clc;
source_number=3;
source_doa=[40 60 80];
sensor_number=10;
snapshort_number=1000;
snr=10;
lamda=0.6;%波长
array_distance=0.1;%子阵的距离
A=exp(-j*(0:sensor_number-1)'*pi*sin(source_doa*pi/180));
w=[pi/4,pi/5,pi/7]';
s=exp(j*w*[0:snapshort_number-1]);
%s=(randn(source_number,snapshort_number)+j*randn(source_number,snapshort_number));
x=A*s;
X=awgn(x,snr);
M=[exp(j*pi/3*sin(source_doa(1)*pi/180)),exp(j*pi/3*sin(source_doa(2)*pi/180)),exp(j*pi/3*sin(source_doa(3)*pi/180))];
M=diag(M);
y=A*M*s ;
Y=awgn(y,snr);
Rx=X*X'/snapshort_number;
Ry=Y*Y'/snapshort_number;
[Ux,Sx]=eig(Rx);
Uxn=Ux(:,1:7);
Uxs=Ux(:,8:sensor_number);
[Uy,Sy]=eig(Rx);
Uyn=Uy(:,1:7);
Uys=Uy(:,8:sensor_number);
fy=Uxs'*Uxs;
fy1=inv(fy);
fy2=Uxs'*Uys;
fy3=fy1*fy2;
[Ufy,Sfy]=eig(fy3);
for i=1:3
DOA(1,i)=asin(3*angle(Sfy(i,i))/pi)*180/pi;
end
disp(DOA)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -