本文主要是介绍丢掉一个采样点会造成信号的相位突变,这就是「啪」声的来源。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
16K采样率去采1kHz正弦信号,然后每隔1秒丢掉一个sample,这样的音源播放时为何会有啪啪声?
如题,该怎么用数字信号处理的知识来解释这个问题?
简单地说,丢掉一个采样点会造成信号的相位突变,这就是「啪」声的来源。
具体地说,为什么相位突变会造成「啪」声呢?
我们在丢掉采样点的位置附近取一小段信号,比如 128 个采样点,在 16 kHz 采样率下是 8 ms。这段信号的长度并不重要,你取 256 个采样点也行。
这段信号如下图中的红线所示,它在正中处丢失了一个采样点。这个采样点所处的具体相位也不重要。作为参考,绿线是没有丢失采样点的信号,可以看出红绿两个信号在右半边有了相位差。
这两个信号在听觉上会有什么不同呢?我们用红色信号减去绿色信号,得到下面的蓝色信号:
那么,红色信号就是绿、蓝两个信号的叠加了。绿色信号是单频的,在叠加时不会对蓝色信号的频谱造成全面的干扰,所以下面就分析蓝色信号的频谱。
蓝色信号可以看成是一个正弦信号与一个阶跃信号之积。别忘了,对一小段信号做短时傅里叶分析时,我们认为信号是周期延拓的,所以这个阶跃信号其实是一个低频方波。蓝色信号的频谱,就是正弦信号的频谱与低频方波频谱的卷积。正弦信号的频谱是一根棍,而低频方波的频谱则是宽带的:
所以蓝色信号的频谱也是宽带的:
再加上单频的绿色信号,红色信号的频谱仍是宽带的:
而持续时间很短的宽带频谱,听起来就是「啪」声。
原信号的频率越高,红、绿两个信号的相位差就会越大,蓝色信号的幅度就会越大,「啪」声也就越明显。
编辑于 2018-08-29
作者:王赟 Maigo
链接:https://www.zhihu.com/question/292380069/answer/480556082
来源:知乎
这篇关于丢掉一个采样点会造成信号的相位突变,这就是「啪」声的来源。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!