• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-12-02
  • 语言: 其他
  • 标签: DOA  MUSIC  

资源简介

非均匀阵列+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


评论

共有 条评论