【发布时间】:2016-07-17 05:56:33
【问题描述】:
我使用以下代码生成了一个方波信号并将其放入一个波形文件中:
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 是如何工作的,哪些数字/模拟滤波器输出此信号?
【问题讨论】:
-
恭喜 - 你看到了Gibbs' phenomenon。方波被声卡的重建滤波器(DAC 输出上的模拟低通滤波器)限制在 Nyquist 之下。
标签: audio signals signal-processing fft noise