我使用以下代码生成了一个尖叫波形信号并将其放入波形文件中:
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)
预期我在听时会听到一些短促的喀哒声,因为这不是说“有效”的音频信号。取而代之的是,我能听到一些带有声音的嘎嘎声,无法形容。
然后,我使用示波器查看声卡的输出信号,它看起来像这样:
输出对我来说就像吉布斯效应。
我的问题是,为什么它看起来像这样?我被拒绝在示波器上看到没有振铃的伪影。声卡中的DAC如何工作,以及哪些数字/模拟滤波器正在输出此信号?
最佳答案
这种振铃可能是由于音频驱动程序或硬件中进行的任何自动采样率转换所使用的插值滤波器所致。通过使用“较软”的边沿或较长的上升/下降时间来摆脱大部分冲击。