2016-03-29 80 views
2

我產生squere波信號顯示,並把它變成一個波形文件,使用此代碼:振鈴效應上osciloscope

import sys, os, wave, random, struct 

noise_output = wave.open('noise.wav', 'w') 
noise_output.setparams((1, 2, 1000, 0, 'NONE', 'not compressed')) 

SAMPLE_LEN = 1000 

for i in range(0, SAMPLE_LEN): 
     value = random.choice([-32000, 32000]) 
     for j in range(100): 
      packed_value = struct.pack('h', value) 
      noise_output.writeframes(packed_value) 

我希望聽到一些短搖鈴聽的時候,因爲這我們不能說「有效」的音頻信號。相反,我可以以某種方式聽到一些帶有音調的搖鈴,但無法描述它。

然後我用一個osciloscope看到從聲卡的輸出信號,它看起來像這樣:

enter image description here

輸出看起來對我像吉布斯效應。 我的問題是,它爲什麼看起來像這樣?我沒有在振盪鏡上看到振鈴的神器。聲卡上的DAC如何工作以及哪個數字/模擬濾波器輸出該信號?

+4

恭喜 - 您正在看到[Gibbs'現象](https://en.wikipedia.org/wiki/Gibbs_phenomenon#The_square_wave_example)。通過聲卡的重構濾波器(DAC輸出端的模擬低通濾波器),方波受到Nyquist低於頻帶的限制。 –

回答

0

此振鈴可能是由於在音頻驅動程序或硬件中完成的任何自動採樣速率轉換所使用的插值濾波器。通過使用「更柔和」的邊緣或更大的上升/下降時間擺脫大部分。

相關問題