我试图用python实现GCC-PHAT。在

该方法类似于以下两个环节:

link1和link2

GCC-PHAT和使用FFT的正常互相关之间的唯一区别似乎是除以幅度。在

这是我的代码:import numpy as np

import matplotlib.pyplot as plt

from scipy.fftpack import rfft, irfft, fftfreq, fft, ifft

def xcorr_freq(s1,s2):

pad1 = np.zeros(len(s1))

pad2 = np.zeros(len(s2))

s1 = np.hstack([s1,pad1])

s2 = np.hstack([pad2,s2])

f_s1 = fft(s1)

f_s2 = fft(s2)

f_s2c = np.conj(f_s2)

f_s = f_s1 * f_s2c

denom = abs(f_s)

denom[denom < 1e-6] = 1e-6

f_s = f_s / denom # This line is the only difference between GCC-PHAT and normal cross correlation

return np.abs(ifft(f_s))[1:]

我通过注释fs = fs / denom检查了这个函数产生的结果与宽带信号的正常互相关相同。在

下面是一个示例测试代码,显示上面的GCC-PHAT代码的性能比正常的互相关差:

^{pr2}$

以下是GCC-PHAT的结果:

以下是正常互相关的结果:

由于GCC-PHAT应该能为宽带信号提供更好的互相关性能,我知道我的代码有问题。非常感谢任何帮助!在

matlab的gccphat转C语言,Python中的GCCPHAT互相关相关推荐

  1. matlab lpc求共振峰频率,用Python中的LPC估计共振峰

    我对信号处理还不太熟悉(关于这一点,numpy.scipy和matlab).我试着用Python中的LPC来估计元音共振峰,方法是修改下面的matlab代码: 这是我目前的代码:#!/usr/bin/ ...

  2. [转载] 【Python进阶】4-2 多态 | 什么是多态 / 静态语言vs动态语言 / python中多态

    参考链接: Python中的多态 文章目录 1.什么是多态"开闭"原则 2.静态语言 vs 动态语言小结 3.python中多态 1.什么是多态 要理解什么是多态,我们首先要对数据 ...

  3. matlab lpc求共振峰频率,在Python中使用LPC估计共振峰

    我是信号处理的新手(而且是numpy,scipy和matlab).我正在尝试通过调整这个matlab代码来估计 Python中使用LPC的元音共振峰: 到目前为止,这是我的代码: #!/usr/bin ...

  4. linux中python如何调用matlab的数据_?如何在Python中加入多个数据帧?

    全文共2235字,预计学习时长7分钟 来源:Pexels 初学Python编程的人,面临的是各种未知的挑战. 下面是一个几乎让所有更有抱负的数据科学家都感到意外的场景: 你正在处理一个从多个源收集数据 ...

  5. 金丹期前期:1.5、python语言-python中的函数

    一.Python中最简单的函数介绍 1.定义格式 def 函数名():代码  关键词:def关键字.冒号.代码缩进行表示属于该函数界内 2.调用方法 函数名() 关键词:不缩进,直接函数名即可调用 3 ...

  6. matlab 判断是否是nan,关于Python中Inf与Nan的判断问题详解

    python中运行错误,关于聚类算法出现的nan值问题处理的数据有10个属性,使用kmeans聚类算法出现了nan值的错误,请问怎么说明你的样本数据中有nan值,通常是因为原始数据中包含空字符串或No ...

  7. matlab 创建彩色图像,用matlabd在Python中创建彩色图像

    我正在尝试用Python创建彩色图像.数据来自Matlab文件. 这是我的密码.实际上我只能创建灰度图像,但我需要彩色图像. 你能帮帮我吗?在 Matlab文件的数据是512x512x200双数组.在 ...

  8. python调用simulink_[Python-MATLAB] 在Python中调用MATLAB的API

    可以参考官方的说明文档: MATLAB Engine API的使用文档: 原材料: 1.MATLAB 2015a  32位的 2.Python 2.7.13    32位的 安装: 1.运行cmd,切 ...

  9. python中main的含义及用法_python中main函数的用法

    Python Python开发 Python语言 python中main函数的用法 什么场景下会有main函数? 当该python脚本被作为模块(module)引入(import)时,其中的main( ...

最新文章

  1. 重磅 | 王劲被百度起诉后首露面:称打印机电脑已报废,赔了318块钱,没接到法院传票
  2. wifi漫游测试过程
  3. 史上最全Winform中使用ZedGraph教程与资源汇总整理(附资源下载)
  4. Linux的基本原则
  5. COJ 1163 乘法逆元的求解
  6. 存储过程能用if not exist_C++核心准则T.48:如果不能用概念,用enable_if
  7. cmake The source directory xxxx does not appear to contain CMakeLists.txt
  8. linux 两块硬盘 分区,linux 两块硬盘分区,这个是什么/dev/mapper/VolGroup00-LogVol00
  9. php 位运算 负数,php的位运算详解
  10. 鸿蒙的应用列表,图解鸿蒙列表组件ListContainer
  11. 新型冠状病毒数据抓取及整理详细流程
  12. appium 驱动 对应9.0 系统_第一章:appium
  13. JavaWeb编程中如果jar包存在但显示无法输出,就在IDEA的项目发布中添加lib依赖!
  14. kittito_rosbag入坑教程
  15. C#6.0VISUALSTUDIO 2015 C#入门经典 第7版pdf
  16. Windows系统安装Redis(详细)
  17. 用JavaScript实现简单的乘法计算
  18. js 获取两个数组的交集,并集,补集,差集(转载+收藏)
  19. 数字孪生是什么,数字孪生能干什么?一文读懂
  20. markdown无法显示图片的问题

热门文章

  1. const指针的引用
  2. 北京某电信运营商数据中心暖通节能技术和应用
  3. JVM的年轻代、年老代(老年代)和永生代(持久代)【Loadrunner性能调优】
  4. 蓝桥杯2019 c/c++ B组真题
  5. 日语学习之——长音促音
  6. 张量(Tensor)操作
  7. (转)EJB是什么?
  8. java 获得唯一 数字_java生成唯一数字
  9. 如何从Excel表格导入数据批量生成二维码
  10. ubuntu两台电脑互传文件