有什么好的方法可以检测记录中的信号削波?


32

给定记录,我需要检测是否发生了任何剪辑。

我可以安全地得出结论:如果有一个(一个)样本达到最大样本值,就会出现削波现象,还是我应该寻找一系列后续的最大样本值?

记录可以取自16或24位A / D转换器,并转换为范围内的浮点值。如果这种转换通过采用的划分的形式2 15 - 12 23 - 1,则推测负峰值可以稍微小于-1,并与值-1样品没有限幅?1...121512231

显然,人们总是可以创建一种专门打败削波检测算法的信号,但是我正在查看语音,音乐,正弦波或粉红/白色噪声的录音。


8
请记住,限幅电平并不总是数字最大值。如果模拟电路(甚至ADC的模拟端)的削波电平比数字最大值稍低,它将早削波。如果它剪切模拟信号,然后经过一些滤波,则它甚至不是直线。您需要检测哪些情况?
endlith 2011年

1
使用PC声音设备(通常通过USB连接)进行录音。通常,它们是对扫描或MLS刺激的响应,并用于计算房间脉冲响应。我不控制硬件,因此削波甚至可能发生在激励输出上。之前没想到,但是我很高兴您想到了。

Answers:


30

我正在输入一个与Yoda完全相同的答案。他可能是最可靠的,但是,我将提出一个不同的解决方案,以便您有一些选择。


如果对信号进行直方图处理,则取决于信号类型,您很有可能会呈钟形或三角形。干净的信号将倾向于遵循这种模式。许多录音棚都添加了一种“响度”效果,在顶部附近会引起一些颠簸,但看起来仍然有些平滑。这是主要音乐家的一首真实歌曲的示例:

直方图

这是Yoda在回答中给出的信号直方图:

直方图无剪切

现在,它们被裁剪的情况是:

直方图与剪切

该方法有时可能会被愚弄,但对于FFT方法似乎对您不起作用或对您的环境进行过多计算的情况,至少可以将它丢进您的工具包中。


2
那是一种令人敬畏的疯狂影响。很有意思。
2011年

很高兴您提出了这种方法。我本应该把它包括在内……
PearsonArtPhoto 2011年

我之所以这样说,是因为这似乎是最可实现的方法。它是给定其他选项的一种应用形式,但是看起来“错误”信号要清晰得多。
2011年

1
最好也先获取信号的绝对值,然后获得更平滑的单边直方图
endolith'Aug

我的手指很痒,无法根据我的信号进行尝试。谢谢。
汉(Han)

20

如果要处理简短的录音,最简单的答案就是听它并在播放中检测“ pop”(尖峰的声音)。但是,更可靠的解决方案是分析记录的频谱。

回想一下,当信号被削波到某个阈值时,它在削波区域中局部类似于方波。这会在频谱中引入原本不会出现的高次谐波。如果您的信号是有频带限制的(大多数现实世界中的信号都是),并且您的采样率远远高于奈奎斯特速率,那么这一点在一天中就非常清楚。

这是MATLAB中的一个简短示例说明了这一点。在这里,我创建一个持续时间为1s的带限信号,以1000Hz采样,然后将其限幅到之间±0.8(请参见下图的顶部图)

time = 0:0.001:1;
cleanSignal = sin(2*pi*75*time).*chirp(time,50,1,200);
clippedSignal = min(abs(cleanSignal),0.8).*sign(cleanSignal);

在此处输入图片说明

您可以清楚地看到原始的,未削波的波形的频谱是干净的,并且在带宽之外变为零(左下),而在削波的信号中,频谱一般会出现较小的失真(如果削波了,则预期)重要的是,信号带宽之外的频谱中的高次谐波/尖峰/非零贡献(右下图)。

通常,这可能是一种更好的方法,因为除非您自己设计设备并准确知道阈值,否则通过查看值来检测削波通常是不准确的。


1
我的某些信号(尤其是MLS)一直上升到奈奎斯特频率。因此,这种方法可能并不总是适用于我。
汉(Han)

@yoda掌握了频谱,然后如何分辨频谱如您所指示的“脏”呢?一个人可以执行什么测试?
Spacey 2012年

9

这一点取决于记录方法。听起来您只使用了1个转换器,这在某种程度上简化了事情。

您应该寻找高于某个阈值的任何东西,尤其是要寻找一个以上的相邻点。通常,除非经过非常精确的测试,否则A / D转换器实际上不会读取其最大值,因此请注意,该最大值可能比看起来可能的要低。

给定您的参数,我将寻找大于.98或小于-.98的连续信号,并进行一些调整来确定最佳阈值(我不会将其降至.9以下)。最好最大检测一个,而另一个靠近.8,这很明智。

忽略1个特定测量的原因是,通常会发生与信号完全无关的尖峰。如果使用的是已知的优质A / D转换器,则可以减少这种情况。如果您使用的是检测器阵列或图像,则某些检测器可能会损坏,可能会频繁削波。


这里非常实用的建议。连同@Kellenjb的方法,这应该给我足够的能力来进行实施。

3

MLS(最大长度序列)在分析削波时特别棘手。它们的波峰因数(= peak / rms)非常接近1,比正弦波还要小三dB。许多D / A转换器被设计为在最坏的情况下采用正弦波,而以全振幅播放的MLS可以轻松限制D / A的输出插值电路。

下一个问题是,削波的MLS看起来几乎与未削波的MLS相同,因为振幅首先几乎都是+峰值。同样,PDF分析也不起作用,因为MLS的PDF只是边缘处的两个大峰。

在典型的房间脉冲响应测量中,最可能的削波点实际上是D / A,放大器或扬声器。一旦通过房间,它看起来就不太像MLS,因此,使用上述方法评估削波更加容易。

在几乎所有声学测量中,本底噪声是由麦克风的自身噪声或背景噪声而非A / D决定的。因此,优化削波(10dB左右)之前,在A / D上优化输入增益并留出足够的净空空间并不是很重要。

用许多不同的激励电平进行测量并查看测量的SNR通常是一个好主意。在低水平时,声学背景噪声占主导地位,在高水平时,某些东西会受到限制,压缩或削波。进行良好测量的诀窍是在两者之间找到合适的位置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.