我正在编写一个将 dsdiff 音频文件 (dsd64) 转换为 flac 音频文件 (DSM -> PCM) 的工具。该项目既是编程练习,也是信号处理练习;我从中学到了很多。
目前,我正在执行以下操作来计算 PCM 流中的样本
- 选择与低通 (FIR) 滤波器窗口大小相对应的 DSM 序列窗口。
- 将 DSM 窗口中的所有 0 替换为 -1
- 将 DSM 窗口中的元素与 (FIR) 滤波器的系数进行卷积(乘 + 和),并将结果重新缩放为所选比特率(24 位)。
- 将窗口移动
downsampling factor许多元素(在我的情况下为 16 个)并应用重复此过程。
我使用几个(任意选择的)dsdiff 文件(深紫色乐队的歌曲)测试了转换。转换再现了信号(良好),但引入了噪声(不良),具有以下配置文件(在轨道开始时测量,原始文件中有一点静音):
我一直在试图弄清楚这是如何引入的,以及我需要做些什么来删除它。通过在线阅读随机源,我了解到这是通过集成 DSM 信号引入的,该信号放大了本底噪声并将其映射到类似于我在图中看到的频谱。
我是否正确识别了问题?我能做些什么来验证这一点并最终解决它?
非常感谢任何帮助。
编辑:
添加了 DSM 流第一秒的周期图








