首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >峰值查找算法-动态阈值或替代方法

峰值查找算法-动态阈值或替代方法
EN

Stack Overflow用户
提问于 2014-01-04 03:34:01
回答 3查看 1K关注 0票数 1

我在寻求一些建议。抱歉,如果这是,或者你觉得属于另一个网站。

我的任务是识别信号中的特定社交调用(来自蝙蝠),并且我一直在尝试我应该使用的方法类型,以便隔离不同的调用。因此,首先,这是信号作为一个整体的样子:

这个信号非常大,因此信号被分成1024*100的块(每个块大约10MB ),下面是一个块的示例:

这种信号更可取,并且可以很容易地在视觉上识别峰值。以下是与此相关的一些问题:

1)计算短期能量是确定峰值的适当方法吗?

2)有没有动态分配阈值的方法?例如,为这个块创建的算法,是否应该潜在地适用于信号中的所有其他块和输入的任何其他信号?

3)将这个信号转换到频域(使用STFT方法)会有什么不同吗?

下面是使用FFT算法的代码块:

预期输出:

如有任何建议,我们将不胜感激

EN

回答 3

Stack Overflow用户

发布于 2014-01-05 18:45:34

  1. 是。你必须通过实验来找出合适的间隔长度。
  2. 是的。一种方法是从较大块的平均能量开始,并将阈值设置为该阈值的10倍。
  3. 视情况而定。你想知道频率吗?它可以用来区分蝙蝠噪声和无关类型的背景噪声。如果没有太多的其他噪音,而且你对频率不感兴趣,那就别费心了。如果你只想找到高峰,那是没有用的。
票数 0
EN

Stack Overflow用户

发布于 2014-01-05 18:57:44

可能有关于峰值检测算法的论文。但是如果你没有时间,你可以尝试沿着一个时间窗口移动,并使用它的能量来计算treshold。

也许您还可以查看峰值密度(如果在一段时间内存在或多或少相同数量的峰值),以了解您应该在给定窗口中找到多少个峰值。(好吧,如果没有静音,但通常很容易用能量区分静音和噪音)。

我怀疑FFT是否会有所帮助。从我们所能看到的情况来看,没有明显的频率,任何类型的滤波都会污染峰值。

票数 0
EN

Stack Overflow用户

发布于 2014-01-05 19:02:15

我会调查频率,检查时频分析。也许小波或维格纳变换能有所帮助,或者一个简单的声图。

时间-频率表示通常会同时提供时间、能量和频率。好东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20911365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档