雷达算法

您所在的位置:网站首页 matlab的魔方矩阵 雷达算法

雷达算法

2023-05-05 10:10| 来源: 网络整理| 查看: 265

公众号【调皮连续波】

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_方差

一、算法描述

设  为混频到基带后的回波信号模型,则传感器阵列的信号模型为: 

其中,流形矩阵  为:

 是目标个数,导向矢量是阵列天线的所有阵元对具有单位能量窄带信源的响应,表示为如下:

其中, 

DML算法可以表示为: 

其中,  是来自单个快拍天线采样点的协方差矩阵,且:

这里只是简单介绍,更加详细的数学证明过程,请查阅阵列信号处理相关经典必读书籍。如下:

《空间谱估计理论与算法》王永良、彭应宁等著

《阵列信号处理的理论和应用》张小飞等著

《阵列信号处理及MATLAB实现》张小飞等著

《矩阵分析与应用》张贤达著

二、算法实施细节

假设,接收天线为等间隔,且目标数M=2,即雷达总是从天线采样点中检测到2个目标,并通过计算模块的置信度对结果进行过滤。

等间距天线构造阵列流行矩阵  可以显著减少  的计算,  是一个非对称(persymmetric )的厄尔米特矩阵(Hermitian matrix),5X5的矩阵形式定义如下:

由于  也是Hermitian矩阵, 

三、MATLAB仿真结果

DML源码放在了文章末尾。

source_number=2; %信元数 sensor_number=8; %阵元数 N_x=200; %信号长度 snapshot_number=N_x;%快拍数 w=pi/4; %信号频率 l=(2*pi*3e8)/w; %信号波长 d=0.5*l;%阵元间距 snr=20;%信噪比 source_doa=[10,-10]; % 两个信号的入射角度

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_方差_02

source_doa=[5,-5]; % 两个信号的入射角度

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_归一化_03

source_doa=[45,-45]; % 两个信号的入射角度

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_阵列信号处理_04

source_doa=[45,0]; % 两个信号的入射角度

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_方差_05

source_number=1; %信元数 sensor_number=8; %阵元数 N_x=200; %信号长度 snapshot_number=N_x;%快拍数 w=pi/4; %信号频率 l=(2*pi*3e8)/w; %信号波长 d=0.5*l;%阵元间距 snr=20;%信噪比 source_doa=[0]; % 两个信号的入射角度

雷达算法 | DML(确定性最大似然)DOA估计算法原理与实现(MATLAB代码)_归一化_06

四、DML的克拉美-罗界

克拉美-罗界是衡量一个无偏估计的有力工具,一个衡量估计方式好坏的标准是估计量的方差越靠近克拉美-罗界效果越好。关于克拉美-罗界的概念和公式推导可以参考以下两篇论文:

– M. Viberg, B.Ottersten, A.Nehorai, “Estimation Accuracy of Maximum Likelihood Direction Finding Using Large Arrays” 

– P.Stocia, A.Nehorai, “MUSIC, Maximum Likelihood and Cramer-Rao Bound”

克拉美-罗界的公式推导过程见:https://www.hbs.edu/research-computing-services/Shared%20Documents/Training/cramerrao.pdf

上面列出的2篇论文在大阵列和多快拍的情况下给出了DML的Cramer-Rao界为:

其中,σ^2是N个快拍的角度估计方差,P^H是天线通道的N个快拍样本的协方差矩阵,且: 

DML的克拉美-罗界的最基本的问题是:没有大阵列,且快拍数N = 1,而不是趋近于无穷大。

传统的空间谱估计算法(传统的DOA估计)的方法主要包括:基于传统波束形成的空间谱估计算法(CBF,Conventional Beamforming);Capon方法,又叫MVDR(最小方差无畸变响应)算法或MVM算法(最小方差方法);子空间方法(利用的是阵列接收数据矩阵的协方差在分解后形成的噪声子空间和信号子空间正交的原理),例如:MUSIC(多重信号分类)算法、ESPRIT(旋转不变子空间)算法等。

其中,基于传统波束形成的空间谱估计算法和Capon算法是传统方法,无法突破瑞利限(傅里叶限);子空间方法是超分辨率算法,可以突破瑞利限,但有克拉美-罗界。后来的学者提出了比如扩大阵列孔径和增加阵元数量提高分辨率、稀疏布阵,以及虚拟阵列平移的方法,其中稀疏布阵就可以应用压缩感知(CS)算法。

五、实验置信度量

对于单快拍DML,我们构建了以下置信度度量(弧度): 

其中,   是来自CFAR模块的检测噪声方差。P是输入信号功率。  是信号 

后续还有一些内容,就不再论述了,大家可以参考TI官方文档:《Deterministic Maximum Likelihood for DoA Estimation: Algorithm and Implementation》

前面的源码:

%% 运行环境:MATLAB 2022b clear all; close all; clc; source_number=1; %信元数 sensor_number=8; %阵元数 N_x=1; %信号长度 snapshot_number=N_x;%快拍数 w=pi/4; %信号频率 l=(2*pi*3e8)/w; %信号波长 d=0.5*l;%阵元间距 snr=20;%信噪比 source_doa=[10,-10]; % 两个信号的入射角度 A=exp(1j*(0:sensor_number-1)*d*2*pi.*(sin(source_doa*pi/180)/l)');%阵列流型 s = zeros(length(source_number),N_x); for i = 1:length(source_doa) s(i,:)=sqrt(10.^(snr/10))*exp(1j*w*[0:N_x-1]);%仿真信号 end x=A'*s+(1/sqrt(2))*(randn(sensor_number,N_x)+1j*randn(sensor_number,N_x));%加了高斯白噪声后的阵列接收信号 R=x*x'/snapshot_number; searching_doa=-90:0.1:90;%线阵的搜索范围为-90~90度 PDML =zeros(1,length(searching_doa)); for i=1:length(searching_doa) A_theta=exp(-1j*(0:sensor_number-1)'*2*pi*d*sin(pi*searching_doa(i)/180)/l); Pi_A_theta=A_theta*pinv(A_theta); oPi_A_theta=eye(size(Pi_A_theta))-Pi_A_theta; PDML(i)=trace(oPi_A_theta*R); end figure(1); plot(searching_doa,abs(10*log10(PDML./max(PDML)))); xlabel('DOAs/degree'); ylabel('trace(oPI A theta*R)/dB'); title('DML Algorithm for DOA'); grid on;



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3