资源简介
本段代码针对单基地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
相关资源
- 信号估计DOAmusicespritcapon
- MUSIC算法c 实现
- 非均匀阵列+MUSIC算法 DOA仿真代码
- music算法的实现
- 基于MUSIC算法的DSP实现
- music算法esprit算法
- DOA估计算法性能分析
- MUSIC算法介绍
- DOA估计的MUSIC算法改进
- music算法及其改进算法
- 谱估计:capon和music算法比较
- tct-doa估计
- MUSIC算法程序
- 几种常用music算法
- 利用MUSIC算法实现基于圆阵的二维测角
- music算法的doa谱估计
- DOA估计信源的个数,以及角度
- 采用最大似然交替投影迭代的方法对
- 4_11_基于压缩感知理论的DOA估计.zip
- DOA估计经典算法
- MUSIC算法的改进
- 多种传统DOA估计算法MUSIC,Capon,ESP
- GCC-PHAT.zip
- 基于MUSIC算法的DOA估计
- MUSIC算法估计功率谱
- 虚拟基线测向 DOA估计
- 双基地MIMO雷达的DOD和DOA联合估计
- 基于ESPRIT和Root-MUSIC算法的极化MIMO雷达
- 均匀线阵DOA估计 MUSIC算法和ESPRIT算法
- MUSIC算法求根MUSIC算法还有波束形成算
评论
共有 条评论