1. 程式人生 > >丟掉一個取樣點會造成訊號的相位突變,這就是「啪」聲的來源。

丟掉一個取樣點會造成訊號的相位突變,這就是「啪」聲的來源。

16K取樣率去採1kHz正弦訊號,然後每隔1秒丟掉一個sample,這樣的音源播放時為何會有啪啪聲?

如題,該怎麼用數字訊號處理的知識來解釋這個問題?

 

簡單地說,丟掉一個取樣點會造成訊號的相位突變,這就是「啪」聲的來源。

 

具體地說,為什麼相位突變會造成「啪」聲呢?

我們在丟掉取樣點的位置附近取一小段訊號,比如 128 個取樣點,在 16 kHz 取樣率下是 8 ms。這段訊號的長度並不重要,你取 256 個取樣點也行。

這段訊號如下圖中的紅線所示,它在正中處丟失了一個取樣點。這個取樣點所處的具體相位也不重要。作為參考,綠線是沒有丟失取樣點的訊號,可以看出紅綠兩個訊號在右半邊有了相位差。

這兩個訊號在聽覺上會有什麼不同呢?我們用紅色訊號減去綠色訊號,得到下面的藍色訊號:

那麼,紅色訊號就是綠、藍兩個訊號的疊加了。綠色訊號是單頻的,在疊加時不會對藍色訊號的頻譜造成全面的干擾,所以下面就分析藍色訊號的頻譜。

藍色訊號可以看成是一個正弦訊號與一個階躍訊號之積。別忘了,對一小段訊號做短時傅立葉分析時,我們認為訊號是週期延拓的,所以這個階躍訊號其實是一個低頻方波。藍色訊號的頻譜,就是正弦訊號的頻譜與低頻方波頻譜的卷積。正弦訊號的頻譜是一根棍,而低頻方波的頻譜則是寬頻的:

所以藍色訊號的頻譜也是寬頻的:

再加上單頻的綠色訊號,紅色訊號的頻譜仍是寬頻的:

而持續時間很短的寬頻頻譜,聽起來就是「啪」聲。

原訊號的頻率越高,紅、綠兩個訊號的相位差就會越大,藍色訊號的幅度就會越大,「啪」聲也就越明顯。

編輯於 2018-08-29

作者:王贇 Maigo
連結:https://www.zhihu.com/question/292380069/answer/480556082
來源:知乎