Mixed Far-Field and Near-Field Source Localization Based on Subarray Cross-Cumulant
基于子阵列互累积量(Cross-Cumulant)的远场和近场混合声源定位[1]。
文中采用Uniform linear array (ULA)阵列,将其分为两个互相重叠的子阵列,构建关于子阵列输出信号的两个特殊cross-cumulant matrices,而这两个矩阵仅仅与源信号的DOA有关。
信号模型
阵列模型如下:

K个窄带信号,阵元数目为2M+1的对称ULA阵列。假设中间阵元为相位基准。则第m个传感器的接收信号可以表示为:

其中
为第k个入射信号的波形,
为第m个传感器的噪声,
为第k个源信号从阵元0到阵元m个传播时间(时延)。
当第k个入射信号是near-field信号时,
满足如下形式:

λ表示波长,
和
分别表示第k个源信号的DOA和range。根据菲涅耳区域的定义,
,并且
表示阵列孔径。
当第k个入射信号是far-field信号时,
满足形式:
将公式(1)写为矩阵形式,可以表示为:

其中
和
是维度为
的复数向量,并且有:

其中(2M + 1) × 1 的导向矢量表示为:

需要注意的是,在公式(6)表示的接收信号模型,前
个源信号假定为FF源(近场源信号),剩余
个假定为NF源(远场源信号)。
本文有如下先验假设:
(1)源信号是统计独立的,采用非零峭度进行零均值随机处理。
(2)传感器噪声是加性的空间高斯白噪声,具有零均值。并且和源信号互相独立。
(3)已知源信号数目K,或者已经采用信息论准则准确估计得到。
提出算法
1、FF源和NF源的DOA估计
基于上述假设,阵列输出信号的四阶累计量表示为:

有
。其中第k个源信号的峭度表示为:
。
使得
,
,公式(14)可以写作:

如图1所示,我们将ULA阵列划分为两个相互重叠的子阵列Y和Z,用以构建子阵列输出信号的cross-cumulant matrices,从此推导累积量的平移不变性。子阵列Y和Z的接收信号向量可以表示为:

很明显地,y(t)的第m个元素为
,z(t)的第m个元素为
。
根据上述子阵列的输出信号和公式(15),可以构建两个互累积量矩阵
,其第
个元素为:

其中
。注意上述两个互累积量矩阵可以仅用DOAs表示。
C1表示为紧凑的矩阵形式:

其中
,虚拟的“阵列流型矢量”为
,并且

同理,C2可以表示为:

其中
。
结合C1和C2,得到(4M - 2) × (4M - 2) 矩阵为:

对C进行特征值分解,得到:

其中
,并且
是包含K个C的最大特征值以及(4M-2-K)个C的最小特征是的对角矩阵。
和
分别是对应的特征向量组成的矩阵。
基于子阵列理论,
张成
的列空间,这表示存在一个K×K的矩阵T使得:
。
使得E1和E2为Es的最大和最小(2M-1)×K的半矩阵,由上式得到:
,组成结果:

其中
。公式(28)可以用TLS准则求解
,其特征值是和源信号的DOAs相关的。使得V为
的2K×2K的右奇异向量,当V被划分为4个K×K子阵列:

则公式(28)的解可以给出:

假设
是
的第k个特征值,则第k个源信号的DOA可以给出:

2、源辨识和距离估测
对接收信号的相关矩阵进行EVD,得到:

其中
和
分别为包含R的K个最大特征值和(2M+1-K)个最小特征值的对角矩阵。
和
分别为对应的特征向量组成的矩阵。
根据上述DOA估计值
,代入
到下述谱函数中:

可以计算估计距离
。
此处
和
无需其他处理,自动匹配。实际上,我们就可以辨别不同的源信号了,当
时,第k个源为NF源;当
时为FF源,此时使得
为
。
3、讨论
1)需要注意的是,为了避免
中的元素出现相位模糊性,文中提出算法要求
。
2)鉴于四阶累计量矩阵C1和C2的维度是2M-1,对于一个包含2M+1个真元的ULA,最多可以定位2M-2个不同源信号。不同的是,二阶MUSIC算法和高阶MUSIC算法可以分别最多处理M和2M个源信号。
3)对于文中提出方法,主要的计算量在于构建累积量矩阵,计算协方差矩阵,及其EVDs和距离搜索,需要乘法次数
次,其中
为在菲涅尔域内搜索点数。
因为除了搜索距离,还需要估计DOAs,高阶MUSIC算法需要的乘法次数为
。
二阶MUSIC算法需要的乘法次数为
。其中
是在角度域中需要搜索的点数。
需要注意的是,文中所提方法的计算复杂度中没有
,所以其计算复杂度低于高阶MUSIC。
仿真实验




参考文献
[1] Zhi Zheng, Mingcheng Fu, Wen-Qin Wang,etc. Mixed Far-Field and Near-Field Source Localization Based on Subarray Cross-Cumulant ☆[J]. Signal Processing, 2018.
Mixed Far-Field and Near-Field Source Localization Based on Subarray Cross-Cumulant的更多相关文章
- [field:picname/]和[field:litpic/]区别
显示出二级栏目及以下的所有图片(包含三级栏目的) <ul class="incps"> {dede:arclist row=9 col="3" ty ...
- Huge CSV and XML Files in Python, Error: field larger than field limit (131072)
Huge CSV and XML Files in Python January 22, 2009. Filed under python twitter facebook pinterest lin ...
- Lucene.NET中Field.Index 和 Field.Store的几种属性的用法
转载自 http://blog.csdn.net/yja886/article/details/6612069 lucene在doc.add(new Field("content" ...
- [Struts2] No result defined for action ... and result input & Invalid field value for field ...
"No result defined for action ... and result input"错误一般发生在Struts2的拦截器拦截时遇到了问题时.Struts2会将跳转 ...
- 声源定位之2精读《sound localization based on phase difference enhancement using deep neuarl networks》
2.1.1 题目与摘要 1.为什么要增强IPD? The phase differences between the discrete Fourier transform (DFT) coeffici ...
- ExtJs之Field.Trigger和Field.Spinner
作文本框功能的. <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta h ...
- android jni ——Field & Method --> Accessing Field
现在我们知道了怎样使用native code访问简单的数据类型和引用参考类型(string,array),下面我们来介绍怎样让jni代码去访问java中的成员变量和成员函数,然后可以再jni中回调ja ...
- 关于能量场和力场弯曲空间的实验证明 EXPERIMENTAL PROOF ON THE BENDING SPACE OF ENERGY FIELD AND FORCE FIELD
前文提到,F = ma, E = mc^2,并且等效是传递的,等效概念具有同属性.所以不止能量,力场也可以弯曲空间. 实验:某人被头顶上方的电站10几万伏的设备吸收,烧毁双臂. (虽然这个实验不应具有 ...
- Django Model field reference
===================== Model field reference ===================== .. module:: django.db.models.field ...
随机推荐
- svn-疑难解决
Linux下搭建SVN服务器 https://blog.51cto.com/19940919/2095011 [SVN]出现SVN--Authorization failed错误原因 https:// ...
- VMware学习笔记之在虚拟机中使用Ghost系统盘安装xp黑屏卡在光标闪无法进入系统
使用ghost安装后,无法进入系统,卡在光标闪动,请参考如下: https://www.cnblogs.com/mq0036/p/3588058.html https://wenku.baidu.co ...
- C# vb .net实现棕褐色效果特效滤镜
在.net中,如何简单快捷地实现Photoshop滤镜组中的棕褐色效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第一 ...
- EF CodeFirst Dome学习
创建ConsoleDome控制台应用程序 从NuGet包管理器安装EntityFramework 创建DbContextDome类并继承DbContext public class DbContext ...
- Thymeleaf前后端分页查询
分页查询是一个很常见的功能,对于分页也有很多封装好的轮子供我们使用. 比如使用mybatis做后端分页可以用Pagehelper这个插件,如果使用SpringDataJPA更方便,直接就内置的分页查询 ...
- 2019 新华网java面试笔试题 (含面试题解析)
本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.新华网等公司offer,岗位是Java后端开发,最终选择去了新华网. 面试了很多家公司,感觉大部分公司考察的点都差 ...
- celery 定时任务,使用crontab表达式不执行(版本4.3.x)
celery 定时任务,使用crontab表达式不执行(版本4.3.x) 在使用celery 执行定时任务时,发现任务不会执行,schedule设置如下: 经测试,如果去掉hour,则任务每分钟都会执 ...
- ora121 tips
1. 900929 - Linux: STORAGE_PARAMETERS_WRONG_SET and "mmap() failed" Solution Increase the ...
- VS2017 密钥
需要的请自取- Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
- Kubernetes pod平滑迁移
pod平滑迁移 使用到的命令 (cordon, drain, uncordon)这三个命令是正式release的1.2新加入的命令,三个命令一起介绍,是因为三个命令配合使用可以实现节点的维护.在1.2 ...