我在产生音频信号的自相关方面遇到了麻烦,看它是否与打nor /呼吸很好地“相关”。我有一个简单的算法(产生1.0作为第零个元素,这是一个好兆头),但是我想知道如何评估结果以确定自相关是否很强,以及也许进一步如何使用它来分离各种可能的声源。
问题1:自相关的RMS(跳过元素为零)是否像任何一个“质量”指标一样好,还是有更好的方法?
详细说明: 我只是想用一种数值方式(与图表“看”相比)来将高度自相关的信号与不太自相关的信号区分开。
(我不太了解要问什么其他问题。)
一些早期的结果: 在某些情况下,自相关(均方根或峰值)显示出打ore声的急剧跳跃-正是我希望看到的响应。在其他情况下,在这些测量中根本没有明显的运动(这可能是具有两个响应的两个连续打sn),而在高噪声情况下,测量实际上在打ore时会稍微下降。
更新-5月22日: 我终于有时间再做一些工作。(我从另一个应用程序退出,这确实很痛苦。)我将自相关的输出输入到FFT中,输出有些有趣-当打sn开始时,它在原点附近显示了一个相当大的峰值。
因此,现在我面临以某种方式量化此峰值的问题。奇怪的是,就绝对幅度而言,最高峰有时在其他时间出现,但我尝试了峰均值与算术平均值的比率,并且跟踪得很好。因此,有什么好的方法可以测量FFT的“峰值”。(并且请不要说我需要对其进行FFT-这东西已经快要吞噬自己的尾巴了。:))
同样,我想到,如果我镜射输入自相关结果,中间为零(定义为1.0幅度),则FFT的质量可能会有所提高。这将把“尾巴”放在两端。这(可能)是个好主意吗?镜像应该竖直放置还是倒置?(当然,无论您说什么,我都会尝试,但是我想也许我会得到一些关于细节的提示。)
尝试过平坦度-
我的测试用例可以大致分为“行为良好”类别和“问题儿童”类别。
对于“行为良好”的测试用例,自相关的FFT的平坦度急剧下降,并且在打ore期间峰均值与平均自相关之比上升。这两个数字的比率(峰值比率除以平坦度)特别敏感,在呼吸/打no过程中会出现5-10倍的爬升。
但是,对于“问题孩子”,数字正好相反。峰/平均比略有下降,而平坦度实际上增加了50-100%
这两类之间的差异(主要是三方面):
- “问题儿童”中的噪音水平通常较高
- “问题儿童”中的音频电平(几乎总是)较低
- “有问题的孩子”往往包括更多的呼吸和更少的实际打呼((我需要同时检测两者)
有任何想法吗?
更新-2012年5月25日: 进行胜利跳舞还为时过早,但是当我反映出某个点的自相关性,对该点进行FFT并进行频谱平坦度时,我的组合比率方案显示出几个不同的环境。反映自相关似乎可以改善FFT的质量。
但是,有一点要注意的是,由于反射的“信号”的“ DC分量”为零,因此第零个FFT结果始终为零,这有点破坏了包含零的几何平均值。但是跳过第零个元素似乎可行。
我得到的结果不足以单独识别打sn /呼吸,但这似乎是一个相当敏感的“确认”-如果我没有“跳”,则可能不是打sn /呼吸。
我没有仔细分析它,但是我怀疑正在发生的是在呼吸/打no期间某处发出了啸叫声,并且正在检测到啸叫声。