广义互相关计算TDOA
简 介: 使用广义互相关求取TDOA ,对比普通的互相关在TDOA方面的性能。
关键词
: 互相关,广义互相关,TDOA
你可以使用广义互相关( Generialized Cross-Correlation )来估计一个信号达到两个传感器的时间延迟。比如应用麦克风阵列来确定声源方位的应用背景。问题可以用以下模型来描述:
r1(t)=s(t)+n1(t)r_1 \left( t \right) = s\left( t \right) + n_1 \left( t \right)r1(t)=s(t)+n1(t)r2(t)=s(t−D)+n2(t)r_2 \left( t \right) = s\left( {t - D} \right) + n_2 \left( t \right)r2(t)=s(t−D)+n2(t)
其中s(t)s\left( t \right)s(t)是声音信号,n1(t),n2(t)n_1 \left( t \right),n_2 \left( t \right)n1(t),n2(t)是两个声音传感器检测噪声,D就是声音信号在两个麦克风传感器上的到达时间差(TDOA),或称为时间延迟(Time Lag),表示以一个传感器为基准,信号到达另一个传感器的延迟。
通常假设声音信号s(t),n1(t),n2(t)s\left( t \right),n_1 \left( t \right),n_2 \left( t \right)s(t),n1(t),n2(t)是广义稳定随机过程且三者之间不相关。可以使用两个传感器获得信号之间的互相关最大化来得到该时间延迟。
R1,2(τ)=E{r1(t)⋅r2(t+τ)}D^=argmaxτR1,2(τ)\begin{aligned} R_{1,2} \left( \tau \right) = E\left\{ {r_1 \left( t \right) \cdot r_2 \left( {t + \tau } \right)} \right\}\\\hat D = \mathop {\arg \max }\limits_\tau R_{1,2} \left( \tau \right)\\\end{aligned}R1,2(τ)=E{r1(t)⋅r2(t+τ)}D^=τargmaxR1,2(τ)
在实际应用中,r1(t),r2(t)r_1 \left( t \right),r_2 \left( t \right)r1(t),r2(t)通常都是采集到的有限长TTT的信号,因此s(t),n1(t),n2(t)s\left( t \right),n_1 \left( t \right),n_2 \left( t \right)s(t),n1(t),n2(t)只要在时间TTT内近似保持平稳和不相关即可。两个信号的互相关可以通过下面公式进行估计:R^1,2(τ)=1T−τ∫tTx1(t)⋅x(t−τ)dτ\hat R_{1,2} \left( \tau \right) = {1 \over {T - \tau }}\int_t^T {x_1 \left( t \right) \cdot x\left( {t - \tau } \right)d\tau }R^1,2(τ)=T−τ1∫tTx1(t)⋅x(t−τ)dτ
通过两个相距LLL的传感器上所得到的信号到达时间差τ\tauτ(TDOA),可以计算出声音的方向:sinβ=c⋅τL\sin \beta = {{c \cdot \tau } \over L}sinβ=Lc⋅τ
▲ 图1 声源方向与两个相距d的传感器之间的TDOA之间的关系
公式中的ccc是声音在空气中传播的速度。
如果声音信号s(t)s\left( t \right)s(t)的频谱很宽,那么它的自相关信号就会呈现处非常窄带的尖峰,使用前面估算TDOA的公式就可以得到非常好的结果。比如Chirp信号就是一个宽带声音信号。下面是 Chirp 信号就是应用在智能车信标组的导航声音信号,它的频率范围是250Hz~2000Hz。下面是叠加有五倍幅值噪声的两个版本。
▲ 图2 Chirp信号以及两个叠加有5倍幅值随机噪声的信号
下面给出了是两个带有很大噪声的Chirp信号互相关之后的结果。得益于Chirp信号的宽带,尽快两个信号带有的噪声非常大,但相关后的峰值还是依然非常明显。
▲ 图3 将两个叠加有随机噪声的Chirp信号互相关结果。上:全部的互相关;下:将中心峰值展开的结果
如果信号不是宽带信号,则使用普通的互相关所检测到的峰值就会不明显,而且受到噪声影响很大。
比如下面是一个带宽只有100Hz(1900~2000Hz)的Chirp信号。叠加有幅度只有0.25的随机噪声。
▲ 图4 频带宽度只有1900~2000Hz的Chirp信号及其带有噪声的版本
下面是计算得到的信号的互相关波形。展开之后可以看到它的峰值就不是非常明显,而且在峰值附近受到噪声的影响会出现左右的偏移。
▲ 图5 使用普通互相关得到的结果
使用广义互相关(GCC:Generallized Cross-Correlation)可以提高检测的精度。
S(f)=∫−∞∞R(τ)⋅e−j2πfτdτS\left( f \right) = \int_{ - \infty }^\infty {R\left( \tau \right) \cdot e^{ - j2\pi f\tau } d\tau }S(f)=∫−∞∞R(τ)⋅e−j2πfτdτR~(τ)=∫S(f)∣S(f)∣e+j2πfτdf\tilde R\left( \tau \right) = \int_{}^{} {{{S\left( f \right)} \over {\left| {S\left( f \right)} \right|}}e^{ + j2\pi f\tau } df}R~(τ)=∫∣S(f)∣S(f)e+j2πfτdfD~=argmaxτR~(τ)\tilde D = \mathop {\arg \max }\limits_\tau \tilde R\left( \tau \right)D~=τargmaxR~(τ)
下面就是使用GCC-PHAT重新计算上面窄带Chirp信号的互相关,可以看到所得到的相关峰值就大大改善了。从而提高了计算的精度。
▲ 图6 使用广义互相关相位变换(GCC-PHAT)计算得到的互相关结果
■ 相关文献链接:
- Generialized Cross-Correlation
- Chirp信号公式与对离散生成算法之间的差异
● 相关图表链接:
- 图1 声源方向与两个相距d的传感器之间的TDOA之间的关系
- 图2 Chirp信号以及两个叠加有5倍幅值随机噪声的信号
- 图3 将两个叠加有随机噪声的Chirp信号互相关结果。上:全部的互相关;下:将中心峰值展开的结果
- 图4 频带宽度只有1900~2000Hz的Chirp信号及其带有噪声的版本
- 图5 使用普通互相关得到的结果
- 图6 使用广义互相关相位变换(GCC-PHAT)计算得到的互相关结果
广义互相关计算TDOA相关推荐
- 基于级联FFT的广义互相关算法在声源定位中的应用
杨韬 余文辉 曹申 2020-09-30 Wednesday 00摘要 针对2020年第十五届全国大学生智能车竞赛信标组关于声音信标的识别,需要采集声音信号和FM信号,通过声音信号和FM信号互相关 ...
- 广义互相关的公式,这一文都搜集全了
简 介: 根据网络上一篇"基于广义互相关"的文章整理的所有广义互相关的公式. 关键词: 广义互相关 在网络上有一篇关于 基于广义互相关估计时间延时 的PDF文件,是由Bharg ...
- 数字信号处理中的自相关和互相关计算和物理意义(二)
在信号处理中,经常要研究两个信号的相似性,或者一个信号经过一段时间延迟后自身的相似性,以便实现信号检测.识别与提取等. 可用于研究信号相似性的方法称为相关,该方法的核心概念是相关函数和互相关函数. 1 ...
- fft 相位谱_基于级联FFT的广义互相关算法在声源定位中的应用
杨韬 余文辉 曹申 2020-09-30 Wednesday 针对2020年第十五届全国大学生智能车竞赛信标组关于声音信标的识别,需要采集声音信号和FM信号,通过声音信号和FM信号互相关进行距离检测和 ...
- 相位差、广义互相关、相关系数求声音信号的延时值
最近查了很多文献,也尝试了很多方法,可是还是没有找到一个绝好的方法求同一声源下相隔一定距离的两麦克风测得声音序列的延时值. 目前公认最好的求延时值的方法是广义互相关法代码如下 ay=xlsread(' ...
- 序列的自相关和互相关计算
-- Ref [1] [2] [3] ------------------------------------------------------------------------ 1.自相关和互相 ...
- c语言复数序列求自相关,序列的自相关和互相关计算
-- Ref [1] [2] [3] ------------------------------------------------------------------------ 1.自相关和互相 ...
- 数字信号处理中的自相关和互相关计算和物理意义(一)
1.首先说说自相关和互相关的概念. 这个是信号分析里的概念,他们分别表示的是两个时间序列之间和同一个时间序列在任意两个不同时刻的取值之间的相关程度,即互相关函数是描述随机信号x(t),y(t) ...
- 广义互相关 matlab,关于小波分析和广义互相关
宋老师,我把一个声音信号作了延迟之后加上噪声,用PHAT加权和基本互相关都能得到正确的时延值,但我对这两个信号进行小波分解和重构近似信号之后,用基本互相关可以得到时延,但PHAT加权后就不能得到正确的 ...
最新文章
- 『数据中心』降低PUE值4种方法
- 2021亚太内容分发大会 阿里云荣获三项大奖
- 字符串和数字之间的转化
- 手机上网流量统计_数据统计 | 上半年手机流量同比增110.2%,你贡献了多少?
- win10安装应用商店版word(ump版word)
- MyISAM如何查看哪个session持有表锁
- sql 保留整数_Spark 3.0发布啦,改进SQL,弃Python 2,更好的兼容ANSI SQL,性能大幅提升...
- [知识竞赛策划方案] 【图】关于知识竞赛抢答器的问题
- 怎么下载英文文献?多种方法告诉你
- 网站访问数据统计工具
- Intel 系统级架构概述
- h5调用第三方app (项目开发思路)
- 内存溢出常见原因及解决方法
- d3.js v5 数据加载
- 案例 7-1.3 寻找大富翁(25 分)
- phpmywind 导航函数详解整理中……
- 嵌入式岗位Makefile常见面试题(1)
- CAD如何安装才是最简单的详细教程方法呈现出来了
- mac Robot Framework installation not found
- 官方通报:kissreiko博文因涉嫌诈骗广告 将永久封号
热门文章
- sparkSQL1.1入门之二:sparkSQL执行架构
- songCMS 3.15 cookie SQLINJ
- java基础--集合Connection/Map
- 一个关于debug的说明(摘自thinkingpython)
- Android 使用摄像头拍照
- SQL Server 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性
- IT规划的企业应用实践(10)研究的范围和限制
- Linux下安装Weblogic10.3.6并创建简单集群测试
- asp.net中URL参数传值中文乱码的三种解决办法
- luanet更名为distri.lua