我正在以恒定频率从 DAC 生成正弦波。如果每个完整周期由 N 个数据点指定,则渲染正弦波的精度与 N 之间的关系是什么?
N=1 显然是脉冲。N=4(峰值和零交叉)将产生某种三角波。是否有一些方程式可以显示正弦波近似的创建效果如何?[显然我可以通过后置 DAC 滤波器对其进行平滑处理等]
我正在寻找的答案是:“用 N 点指定正弦波会产生 1:X 精度”
我正在以恒定频率从 DAC 生成正弦波。如果每个完整周期由 N 个数据点指定,则渲染正弦波的精度与 N 之间的关系是什么?
N=1 显然是脉冲。N=4(峰值和零交叉)将产生某种三角波。是否有一些方程式可以显示正弦波近似的创建效果如何?[显然我可以通过后置 DAC 滤波器对其进行平滑处理等]
我正在寻找的答案是:“用 N 点指定正弦波会产生 1:X 精度”
我认为您要问的是“为给定精度对正弦波进行采样所需的采样率是多少”。这基本上就是采样定理的全部内容(例如参见http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_sampling_theorem)。令人惊讶的答案是(或多或少):“超过两个”。一旦满足采样标准,您就可以了,并且更频繁地采样不会增加准确性。
在您的情况下,每个周期 3 个点可以正常工作(前提是您的 DAC 具有适当的抗混叠滤波器)。
我不知道一个公式,但我从实验中知道 N=256 为一般音频使用提供了具有合理 SNR 的正弦波,尽管如果你想要完整的 16 位精度(即 > 90 dB SNR)你会可能需要比这更高。
如果您以非整数速率逐步通过正弦波 LUT(以生成任意频率),则在 LUT 值之间使用插值会降低 SNR,这样您就可以使用比不进行插值时更小的 LUT(例如,如果您只是截断样本索引)。