資源簡介
非均勻陣列+MUSIC算法 DOA仿真代碼;
版本:demo
親測有效。

代碼片段和文件信息
%?Nested?Arrays:?A?Novel?Approach?to?Array?Processing?With?Enhanced?Degrees?of?Freedom
clear
clc
theta?=?[10?20?70];
K?=?length(theta);
N=4;?????????????%子陣1
M=4;?????????????%子陣2
T?=?N+M;
d1?=?[0:N-1N:(N+1):M*(N+1)];????????%?陣元間距
L=500;?????????????????%?快拍
s?=?randn(KL);????????%?信號矩陣
SNR?=?20;
d=-20:0.01:90;?%?搜索角度范圍
i=sqrt(-1);
d_l=0.5;
A1=exp(-i*2*pi*d_l*d1‘*sin(theta*pi/180));??????????%?導向矩陣
x?=?A1*s;
X?=?awgn(xSNR);
Rx?=?X*X‘/L;????????????????%?協方差矩陣
z?=?vec(Rx);????????????????%?向量化
?for?j=1:T
????????B11(1+(j-1)*T:j*T)=d1(j)-d1(:);???????%?差陣列(包含重復項)
?end
b=[];
n=0;
?for?m=1:T*T
?????if(find(b==B11(m)))
?????z(m-n:)=[];
?????n=n+1;
?????else
??????b=[bB11(m)];
?????end
?end
[bI]=sort(b);???????????????%?b為差陣列(去除重復項)
I=fliplr(I);
z1=z(I:);
?????
%?空間平滑
R=z1*z1‘/L;
Nn?=?(T*T+2*T-2)/2-(T*T+2*T)/4;
Nk?=?(T*T+2*T)/4;
Rxx=zeros(NkNk);
for??in=1:Nn
????Rxx=Rxx+R(in:in+Nk-1in:in+Nk-1);
end
Rxx=Rxx/Nk;
[VD]=eig(Rxx);
[D1I]=sort(diag(D));
U=V(:I);
Un1=fliplr(U);
Un=Un1(:K+1:end);
%?MUSIC譜峰搜索
for?m=1:length(d)
????a=exp(-i*2*pi*d_l*sin(d(m)*pi/180)*[0:T*T/4+T/2-1]‘);
????p(m)=1/(a‘*Un*Un‘*a);
end
P=10*log10(abs(p)/max(abs(p)));
doa=Peak_seek(PdK);??????????????????%DOA估計角度
disp(doa);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1365??2019-04-01?16:09??Nested?array\Nested.m
?????文件????????670??2017-10-21?19:56??Nested?array\Peak_seek.m
?????文件????????128??2017-11-30?12:04??Nested?array\vec.m
?????目錄??????????0??2017-11-30?12:07??Nested?array
-----------?---------??----------?-----??----
?????????????????2163????????????????????4
- 上一篇:brutus暴力破解軟件
- 下一篇:酷我私服自助發布系統DIV優化版[藍色經典]
評論
共有 條評論