TI毫米波雷达实现超分辨测角MATLAB(一) MUSIC方法测角

仿照TI公司77GHz毫米波雷达IWR1642设计参数,模拟阵列接收信号,实现超分辨测角。具体参数为:
接收天线4个、发射天线2个、射频起始频率 77 G H z 77GHz 77GHz、调频时间 62.2 μ s 62.2\mu s 62.2μs、采样率 2.5 M H z 2.5MHz 2.5MHz、发射信号带宽 3.072 G H z 3.072GHz 3.072GHz、阵元间距半波长、角度探测范围 120 ° 120° 120°,角度分辨率 14.5 ° 14.5° 14.5°
模拟环境:三个非相关远场源分别从 [ − 9.7 ° , − 0.8 ° , 8.2 ° ] [-9.7°, -0.8° , 8.2°] [9.7°,0.8°,8.2°]入射到阵列天线(角度间隔皆小于角度分辨率),与毫米波雷达距离分别为 [ 2 m , 4 m , 5 m ] [2m, 4m ,5m] [2m,4m,5m],信噪比取 15 d B 15dB 15dB


仿真结果:
TI毫米波雷达实现超分辨测角MATLAB(一) MUSIC方法测角_第1张图片
仿真代码:

clear all;clc;close all ;
%%阵列天线参数
M=8;% 阵列天线数量
K=128;%快拍数
theta=[-9.7 -0.8 8.2];%信号源与天线轴方向夹角
dis=[2 4 5];%信号源 
N=length(theta);%信号源数目
f0=77e9;%中频
c=3e8;
B=3.072e9;%带宽
lambda=c/f0;%波长
FT=62.2e-6;%一个锯齿波持续时间
Fs=N/FT;%采样频率
d=lambda/2;%阵元间距
%%接收信号
X=zeros(M,K);
A=zeros(M,N);
s=zeros(N,K);
for i=1:N
    s(i,:)=exp(1i*2*pi*((0:K-1)*1/Fs*B/FT*(2*dis(i)/c)));  %信号模型
end
for i=1:N
    A(:,i)=exp(-1i*2*pi*(0:M-1)'*d/lambda*sin(theta(i)/180*pi)); %空间导向矢量
end
X=A*s;
snr=15; %信噪比
%X1=X;
X1=awgn(X,snr,'measured');
%%构造伪谱
R=X1*X1'/K;
[V,D]=eig(R);%eig 求特征值D,特征向量V
Eig=diag(D);%特征值
Eig=sort(Eig,'descend'); %从大到小排特征值
V=fliplr(V);%特征向量对应排
 
Us=V(:,1:N);%信号子空间
Un=V(:,N+1:M);%噪声子空间
%%峰值搜索

a=zeros(M,1);
angle=[-60:0.5:60-0.5];P_mus=zeros(1,length(angle));
for theta_1=1:length(angle)%遍历每个角度
    a=exp(-1i*2*pi*d/lambda*sin(angle(theta_1)/180*pi)*(0:M-1)');
    P_mus(theta_1)=1/(a'*Un*Un'*a);%利用信号子空间与噪声子空间的正交性
end
figure;
h=plot(angle,10*log10(abs(P_mus)/abs(max(P_mus))));
set(h,'Linewidth',2);
xlabel('入射角/(degree)');
ylabel('归一化空间谱/(dB)');
title('music算法估计DOA');
grid on;

你可能感兴趣的:(信号处理,matlab,开发语言,数字信号处理)