• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: 其他
  • 标签: MUSIC算  DOA估计  

资源简介

本段代码针对单基地MIMO雷达的经典MUSIC算法做了详细仿真,并且运用了虚拟阵元的生成方法提高了算法的角度测量精度

资源截图

代码片段和文件信息

clc
clear all
close all
j=sqrt(-1);

M=4;
lambda=0.0081;
transmit_dis=[0:MM+(M+1):M+1:2*M+1+(M+1)*(M-2)].‘*lambda/2;%定义发射阵列间距【0 1 2 3 4 9 14 19】*lambda/2
transmit_array_num=length(transmit_dis);%发射阵元个数
receieve_dis=[0:M].‘*lambda/2;        %定义接收阵列间距【0 1 2 3 4】*lambda/2     
receieve_array_num=length(receieve_dis);
virtual_array_num=transmit_array_num*receieve_array_num;

DOA=[45 46];
target_num=length(DOA);
transmit_steer=exp(j*pi*2*transmit_dis/lambda*sind(DOA));
receieve_steer=exp(j*pi*2*receieve_dis/lambda*sind(DOA));
for k=1:target_num
    steer_total(:k)=kron(transmit_steer(:k)receieve_steer(:k));
end
snap_num=100;
SNR=10;
Y=10^(SNR/20)*steer_total*(randn(target_numsnap_num)+j*randn(target_numsnap_num))/sqrt(2)+...
    (randn(virtual_array_numsnap_num)+j*randn(virtual_array_numsnap_num))/sqrt(2);
f1=eye(M+1M*(M+2));
F1=[];
for k=1:M+1
    F1=[F1;f1];
    f1=[f1(:end)f1(:1:end-1)];
end
f2=[zeros(M+12*M+1)eye(M+1)zeros(M+1(M-2)*(M+1))];
F2=[];
for k=1:M-1
    F2=[F2;f2];
    f2=[f2(:end-M:end)f2(:1:end-M-1)];
end
F=[F1;F2];
D=F*(F‘*F)^(-1/2);
Y_trans=D‘*Y;
R=Y_trans*Y_trans‘/snap_num;



%Traditional ESPRIT
[USV]=svd(R);
E=U(:1:target_num);
E1=E(1:end-1:);
E2=E(2:end:);
phi=E1\E2;
phase = angle(eig(phi));      %求得特征值的相位角
direction = asind(phase/pi);  %求得相位角对应的反正弦角度
DOA_est_ESPRIT = sort(direction)  %对角度升序排列


 % 酉ESPRIT算法
 effective_aperture = M*(M+2);
Y_Unitary = (F‘*F)^(-1/2)*Y_trans;

if mod(effective_aperture2) == 0
     Q_N = [eye(effective_aperture/2)j*eye(effective_aperture/2);fliplr(eye(effective_aperture/2))-j*fliplr(eye(effective_aperture/2))]/sqrt(2);
           %翻转矩阵
     Q_N_1 = [eye((effective_aperture-2)/2)zeros((effective_aperture-2)/21)j*eye((effective_aperture-2)/2);...
         zeros(1(effective_aperture-2)/2)sqrt(2)zeros(1(effective_aperture-2)/2);...
         fliplr(eye((effective_aperture-2)/2))zeros((effective_aperture-2)/21)-j*fliplr(eye((effective_aperture-2)/2))]/sqrt(2);
else
    Q_N_1 = [eye((effective_aperture-1)/2)j*eye((effective_aperture-1)/2);fliplr(eye((effective_aperture-1)/2))-j*fliplr(eye((effective_aperture-1)/2))]/sqrt(2);
    Q_N = [eye((effective_aperture-1)/2)zeros((effective_aperture-1)/21)j*eye((effective_aperture-1)/2);...
        zeros(1(effective_aperture-1)/2)sqrt(2)zeros(1(effective_aperture-1)/2);...
        fliplr(eye((effective_aperture-1)/2))zeros((effective_aperture-1)/21)-j*fliplr(eye((effective_aperture-1)/2))]/sqrt(2);
end                    %构造需要的酋矩阵

J1 = [eye(effective_aperture-1)zeros(effective_aperture-11)];
J2 = [zeros(effective_aperture-11)eye(effective_aperture-1)];    %构造中心复共轭对称矩阵

Y_Unitary_trans = Q_N‘*Y_Unitary;                                  %构造后信号表达

[USV] = svd([real(Y_Unitary_trans)imag(Y_Unitary_trans)]);    
Es = U(:1:target_num);
K1 = real(Q_N_1‘*J2*Q_N);
K2 = imag(Q_N_1‘*J2*Q_N);         

phi = (K1*Es)\(K2*Es);
D = eig(phi);
D

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3133  2018-10-31 14:30  danjidiMIMOradar.m

----------- ---------  ---------- -----  ----

                 3133                    1


评论

共有 条评论