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

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

记录可以从16或24位A / D转换器中获取,并转换为$ -1 ... 1 $的浮点值。如果此转换采用除以$ 2 ^ {15} -1 $或$ 2 ^ {23} -1 $的形式,则负峰可能比-1低一些,而值为-1的样本不剪辑吗?

很明显,总是可以创建一种信号来击败剪辑检测算法,但是我正在查看语音,音乐,正弦波或粉红/白色噪声的录音。

评论

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

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

#1 楼

我正在输入一个与Yoda完全相同的答案。他可能是最可靠的,但是,我将提出一个不同的解决方案,以便您有一些选择。三角形形状取决于信号类型。干净的信号将倾向于遵循这种模式。许多录音棚都添加了一种“响度”效果,在顶部附近会引起一些颠簸,但看起来仍然有些平滑。以下是某位主要音乐家的一首真实歌曲的示例: >

现在被裁剪的情况:在FFT方法似乎不适合您或环境中的计算量过多的情况下,将您的工具包丢进去。

评论


$ \ begingroup $
那真是太疯狂了。很有意思。
$ \ endgroup $
– Kortuk
11年8月18日在23:09

$ \ begingroup $
很高兴您提出了这种方法。我本来应该把它包括在内...
$ \ endgroup $
–PearsonArtPhoto
11年8月18日在23:43

$ \ begingroup $
我之所以这么说是因为这似乎是最可实现的方法。它是给定其他选项的一种应用形式,但是看起来“错误”信号更加清晰。
$ \ endgroup $
– Kortuk
2011年8月19日在1:03

$ \ begingroup $
还可以先获取信号的绝对值,然后获得更平滑的单边直方图
$ \ endgroup $
– Endolith
2011年8月19日4:03



$ \ begingroup $
我的手指发痒,无法根据我的信号进行尝试。谢谢。
$ \ endgroup $
–汉
2011年8月19日在14:48

#2 楼

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

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

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


您可以清楚地看到原始的未削波波形的频谱是干净的,并且在带宽之外(左下)变为零,而在削波的信号中,通常存在较小的失真频谱(如果被削波,则预期),最重要的是,信号带宽之外的频谱中的谐波/尖峰/非零贡献更大(右下)。除非您自己设计设备并准确知道阈值,否则通过查看值检测削波通常是不准确的。

评论


$ \ begingroup $
我的一些信号(尤其是MLS)直接上升到奈奎斯特频率。因此,这种方法可能并不总是适用于我。
$ \ endgroup $
–汉
2011年8月19日下午14:43

$ \ begingroup $
@yoda掌握了频谱,然后如何分辨频谱如您所指示的“脏”呢?一个人可以执行什么测试?
$ \ endgroup $
–太空
2012年3月21日在4:07

#3 楼

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

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

给出您的参数,我将寻找大于.98或小于-.98的连续信号,并进行一些调整以确定最佳阈值(我不会将其降至.9以下)。最好先检测一个最大值,然后再检测接近.8的值。完全没有信号。如果使用的是已知的优质A / D转换器,则可以减少这种情况。如果您使用的是检测器阵列或图像,则某些检测器可能会损坏,可能会经常削波。

评论


$ \ begingroup $
这里非常实用的建议。连同@Kellenjb的方法,这应该给我足够的精力来进行实施。
$ \ endgroup $
–汉
2011年8月19日下午14:58

#4 楼

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

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

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

在几乎所有声学测量中,本底噪声是由麦克风的自身噪声或背景噪声而不是A / D决定的。因此,优化进入A / D的输入增益并在削波(大约10dB左右)完美之前留出足够的裕量并不是很重要。不同的激励水平,并查看测量的SNR。在低水平时,声学背景噪声占主导地位,在高水平时,某些东西会受到限制,压缩或削波。进行良好测量的诀窍是在两者之间找到合适的位置。