基于子阵列互累积量(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的更多相关文章

  1. [field:picname/]和[field:litpic/]区别

    显示出二级栏目及以下的所有图片(包含三级栏目的) <ul class="incps"> {dede:arclist row=9 col="3" ty ...

  2. 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 ...

  3. Lucene.NET中Field.Index 和 Field.Store的几种属性的用法

    转载自 http://blog.csdn.net/yja886/article/details/6612069 lucene在doc.add(new Field("content" ...

  4. [Struts2] No result defined for action ... and result input &amp; Invalid field value for field ...

    "No result defined for action ... and result input"错误一般发生在Struts2的拦截器拦截时遇到了问题时.Struts2会将跳转 ...

  5. 声源定位之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 ...

  6. ExtJs之Field.Trigger和Field.Spinner

    作文本框功能的. <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta h ...

  7. android jni ——Field & Method --> Accessing Field

    现在我们知道了怎样使用native code访问简单的数据类型和引用参考类型(string,array),下面我们来介绍怎样让jni代码去访问java中的成员变量和成员函数,然后可以再jni中回调ja ...

  8. 关于能量场和力场弯曲空间的实验证明 EXPERIMENTAL PROOF ON THE BENDING SPACE OF ENERGY FIELD AND FORCE FIELD

    前文提到,F = ma, E = mc^2,并且等效是传递的,等效概念具有同属性.所以不止能量,力场也可以弯曲空间. 实验:某人被头顶上方的电站10几万伏的设备吸收,烧毁双臂. (虽然这个实验不应具有 ...

  9. Django Model field reference

    ===================== Model field reference ===================== .. module:: django.db.models.field ...

随机推荐

  1. 安装rabbitMQ的PHP扩展

    1.环境准备:centos 7.6+PHP7.3 2.安装rabbitmq-ctar xf rabbitmq-c-0.9.0.tar.gzcd rabbitmq-c-0.9.0mkdir build ...

  2. [笔记] 命令行参数 int main(int argc,char *argv[])

    int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值 C程序的main函数有两个形参* argc:整数, ...

  3. sql server 压缩日志文件

    USE [master] GO ALTER DATABASE TestDB SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE TestDB SET ...

  4. CapsLock魔改大法——变废为宝实现高效编辑

    前言 CapsLock,也就是键盘左边中间那个大写锁定.平时很少会用到,跟shift功能重复不谈,更多的时候还会带来各种额外的麻烦. 一直以来的都是一个非常碍事讨厌的存在.就是这么一个垃圾键,偏偏却占 ...

  5. Java数据结构-ArrayList最细致的解析笔记

    ArrayList是一个类,这个类有一个数组参数elementData,ArrayList集合中的元素正是保存在这个数组中,它继承了数组查询的高性能,参考第3篇.ArrayList还封装了很多方法,便 ...

  6. Unity - LayerMask简析

    本文简述了LayerMask的定义,后通过项目实战充分解析 LayerMask中的GetMask.LayerToName.NameToLayer 等函数的使用方法及其注意事项. 项目地址:3D坦克大战 ...

  7. springboot自定义消息转换器HttpMessageConverter Spring Boot - 使用Gson替换Jackson

    Jackson一直是springframework默认的json库,从4.1开始,springframework支持通过配置GsonHttpMessageConverter的方式使用Gson. 在典型 ...

  8. JVM性能优化--JVM参数配置,使用JMeter简单测试配合说明参数调优

    一.JVM参数配置 1.常见参数配置 -XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+UseSerialGC 串行回收 -XX:+PrintGCDetails 更详细的GC日志 - ...

  9. PE系统——安装教程

    本教程使用到的软件我会在本文末给出,若失效了请私信我,重新上传. 1.安装PE系统前,把U盘插在电脑上(如果你需要安装Windows10系统,请插入一个容量至少8G的U盘).当然容量最好是32—64G ...

  10. vue侦听器 基础4

    侦听器 使用方式:设置需要侦听的data里的属性名就可以了 new Vue({ el:"#app", data:{ count:0 }, watchers:{ count(){ / ...