-
大小: 2KB文件類型: .rar金幣: 2下載: 3 次發布日期: 2021-05-23
- 語言: Matlab
- 標簽: esprit??tls_esprit??doa??matlab??
資源簡介
三種esprit算法的doa估計matlab實現。參考張賢達《通信信號處理》的算法。包括兩種普通esprit和TLS_esprit算法。經檢查無誤。

代碼片段和文件信息
%基本ESPRIT算法第一種方法
clear?all;close?all;clc;
c=3*10^8;
f=3*10^9;
lamda=c/f;
d=lamda/2;
n=10;
signal_number=3;
thita1=-25;
thita2=30;
thita3=65;
f1=40;
f2=20;
f3=70;
%?SNR1=10;?
%?SNR2=20;?
%?SNR3=30;?
snapshot=1:2000;
S1=4.4*exp(j*2*pi*f1*snapshot/length(snapshot));?
S2=2.5*exp(j*2*pi*f2*snapshot/length(snapshot));?
S3=3.6*exp(j*2*pi*f3*snapshot/length(snapshot));?
S=[S1;S2;S3];
A1=exp(-j*2*pi*d*sin(thita1*pi/180)*[0:n-2]/lamda).‘;
A2=exp(-j*2*pi*d*sin(thita2*pi/180)*[0:n-2]/lamda).‘;
A3=exp(-j*2*pi*d*sin(thita3*pi/180)*[0:n-2]/lamda).‘;
A=[A1A2A3];??????????%子陣1
B1=exp(-j*2*pi*d*sin(thita1*pi/180)*[1:n-1]/lamda).‘;
B2=exp(-j*2*pi*d*sin(thita2*pi/180)*[1:n-1]/lamda).‘;
B3=exp(-j*2*pi*d*sin(thita3*pi/180)*[1:n-1]/lamda).‘;
B=[B1B2B3];??????????%子陣2
N=sqrt(1/2)*(randn(n-1length(snapshot))+j*randn(n-1length(snapshot)));
X=A*S+N;
Y=B*S+N;
Rxx=X*X‘/length(snapshot);
Rxy=X*Y‘/length(snapshot);
[VD]=eig(Rxx);
s=0;
for?i=1:n-1-signal_number;
????s=D(ii)+s;
end;
delta=s/(n-1-signal_number);
Cxx=Rxx-delta*eye(size(Rxx));
Cxy=Rxy-delta*diag([ones(1n-1-1)]-1);
[pq]=eig(CxxCxy);
for?i=1:signal_number;
????alpha(i)=real(asin(-j*(log(q(ii)))*lamda/(-2*pi*d))*180/pi);
end;
stem(alphaones(1signal_number)‘r--‘);grid;
axis([-90?90?0?2]);
text(alpha(1)-41.1num2str(alpha(1)));
text(alpha(2)-41.1num2str(alpha(2)));
text(alpha(3)-41.1num2str(alpha(3)));
title(‘ESPRIT算法DOA估計‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1433??2009-07-24?23:26??common_esprit_method1.m
?????文件???????1128??2009-07-25?10:36??common_esprit_method2.m
?????文件???????1536??2009-07-25?16:56??TLS_esprit.m
-----------?---------??----------?-----??----
?????????????????4097????????????????????3
評論
共有 條評論