为什么需要 DSEE?
无损音频编码(FLAC、WAV)可以保留 20Hz-22.05kHz 的完整频谱。但现实中的数字音乐源远没有那么理想——MP3/AAC 有损编码在 16kHz 以上基本被削平,老旧录音的麦克风和模拟磁带本身就没有拾取到足够的高频泛音,即使是现代录音,采样率低于 96kHz 也会在 20kHz 处遇到奈奎斯特墙。
对于 SACD 制品的最终呈现,我们希望母带的频带尽可能延伸到 30kHz 甚至 50kHz 以上——不是为了让人耳\"听到\"(人耳的上限约 20kHz),而是为了让可听频段内的滤波器过渡带更平缓、高频互调失真更低,以及最重要的:将 DSD 调制器的噪声整形推到更远的超声区域,为人耳最敏感的 2k-8kHz 频段创造更干净的声底。
传统的做法是直接做上采样——用高质量 FIR 滤波器把信号的采样率翻倍、翻四倍。但上采样不产生新信息,它只是改变了信息的呈现方式。一个 44.1kHz/16bit 的 MP3 文件,上采样到 88.2kHz 后,16-22kHz 范围内仍然是空的(只有上采样插值的平滑过渡,没有真实的谐波结构)。
DSEE 的思路不同:从已有的低频谐波中,生成高频谐波。
技术原理:SSB 频移
DSEE 的核心是基于 Hilbert 变换的单边带(SSB)频移。这是通信工程中经典的技术——将基带信号调制到更高的载波频率上,只保留上边带(LSB 被抑制)。
数学原理
给定一个实信号 x(t),其 Hilbert 变换为:
x_h(t) = H{x(t)}
Hilbert 变换等价于对 x(t) 做相移 -90°:对于正频率分量的相位减 90°,负频率分量加 90°。
构造复数解析信号(Analytic Signal):
x_a(t) = x(t) + j·x_h(t)
该信号的频谱只在正频率存在,负频率为零。将解析信号乘以复指数 e^{jωt}:
x_a(t)·e^{jωt} = (x(t) + j·x_h(t))·(cos(ωt) + j·sin(ωt))
取实部得到上边带(USB)频移信号:
y(t) = Re{x_a(t)·e^{jωt}} = x(t)·cos(ωt) - x_h(t)·sin(ωt)
这一公式将信号 x(t) 的所有频率分量整齐地向上搬移了 ω。如果 x(t) 包含 1kHz、5kHz、8kHz 的分量,则输出包含 1+Δf、5+Δf、8+Δf 的分量——高频泛音就这样从原始信号\"生长\"了出来。
DpdoEngine 的实现
DpdoEngine 的 DSEE 处理器扩展了基础 SSB 的原理:
- 8 次频移叠加 — 不是将信号只搬一次,而是搬移 8 次:Δf、2Δf、3Δf … 8Δf,形成一个密集的延伸谐波层
- 指数衰减 — 每次频移的增益指数递减(decay=0.5),越远的频移越弱,贴合真实乐器泛音的自然衰减特性
- 3kHz 预 HPF — 在进入 SSB 链之前滤除低频段的能量,防止低频的大幅值主导调制过程,让中高频成分主导泛音生成
- 16kHz 后 HPF — 只保留 16kHz 以上的 SSB 产物,确保延伸层不污染原始信号的可听中低频段
- 自适应增益 — 延伸层的峰值不超过原始信号的 50%,避免过度增强导致的高频炸裂
- 干湿混合 — 全链路群延迟(pre-HPF + LPF + Hilbert + post-HPF)与干信号对齐,实现无相位失真的混音
14kHz pre-LPF:必要的取舍
为什么要加 LPF?
Hilbert 变换在工程实现上是有限阶 FIR 滤波器(DpdoEngine 使用 63 抽头 Kaiser 窗 Hilbert FIR)。理想 Hilbert 需要无限长冲击响应——有限长近似在高频段会引入非理想的过渡响应。
DSD 转换链路通常包含 88.2kHz 的上采样阶段(44.1kHz→88.2kHz)。上采样插值在奈奎斯特频率附近会产生镜像频率残差——尽管经过高质量 FIR 滤波,阻带衰减不可能完全无穷。这些镜像残差与原始信号一起进入 SSB 调制器时,会产生下边带互调产物,卷绕进入可听频段(20Hz-20kHz)。
这种泄漏在频谱上表现为一段持续的宽带噪声——尤其是在没有信号的段落(静音区间),这部分噪声会\"浮在底噪之上\",影响背景的黑度。
LPF 的作用
在 Hilbert 变换之前对信号施加一个低通滤波器,阻止 14kHz 以上的信号进入 SSB 链,正是为了阻止这种互调泄漏。DpdoEngine 使用 Kaiser 窗 FIR LPF(161 抽头 @88.2kHz,~60dB 阻带衰减),截止频率设置在 14kHz 附近,完整过渡带控制在 14-16kHz。
这意味着 DSEE 只在原始信号有内容且内容频率≤14kHz 的时候工作。原始信号在 14-22kHz 的成分,不参与 SSB 频移——但这部分成分在上采样过程中已经被镜像残差污染,不参与更好。
固有 trade-off
LPF 的副作用是它移除了部分可用于 SSB 互调的材料。在我们的测试中:
- 无 LPF:DSEE 在 12-16kHz 范围可产生约 +5.4dB 的增强
- 正确 LPF(161-tap Kaiser):增强降至约 +1.6dB
- 延迟脉冲占位符(只加延迟不滤波):增强恢复到 +5.2dB→ 证明延迟本身不影响 DSEE,削弱来自 LPF 移除的高频材料
这是固有 trade-off,不是 bug:移除上采样伪影(SSB 泄漏的来源)必然减少 SSB 互调可用的材料。在真实全频带音乐信号上(而非测试正弦/扫频),由于低频至中高频段(20Hz-12kHz)的频谱密度远高于测试信号,LPF 的削弱效果会被宽带互调部分补偿。
SSB cos/sin 对齐修复
在 DSEE 的最初实现中,cos 项使用了原始信号(未经任何滤波),而 sin 项使用了 Hilbert 变换后的信号(经过 LPF + Hilbert 的完整路径)。两个分支在滤波路径上的差异导致 SSB 公式出现可测量的偏差——cos 项代表了\"有 LPF 的信号\",sin 项代表了\"有 LPF + Hilbert 的信号\",两者在时间对齐和频谱响应上不一致。
DpdoEngine 的当前实现修正了这个问题:cos 项和 sin 项都使用相同的 LPF 后信号(d_lpf),cos 项额外经过 filterDelayHilb_ 的延迟对齐以保证和 Hilbert 输出的群延迟一致。这一修复使 SSB 调制在数学上自洽,cos 项和 sin 项确保了干净的 SSB USB 输出。
效果指标
| 测试信号 | 频段 | 无 LPF 增强 | 正确 LPF 增强 |
|---|---|---|---|
| 1kHz 正弦 MP3 320kbps | 14-22kHz | ~+6.3dB | ~+1.6dB |
| 1kHz 正弦 MP3 320kbps | 6-12kHz | ~+8.8dB | ~+8.8dB |
| 真实音乐(宽带) | 16kHz+ | 待测 | 预期优于正弦测试 |
关键观察:6-12kHz 频段的增强不受 LPF 影响(+8.8dB 在有无 LPF 时一致),因为该频段的原始信号本身参与 SSB 互调,其产物落在 20kHz+ 的超高频区域,不会被 14kHz LPF 削弱。LPF 的影响集中在 14kHz 附近的过渡带及其以上的 SSB 产物。
结语
DSEE 不是魔法——它不会从无到有创造乐器本不存在的泛音。它是信号处理:从一个已存在的信号出发,通过 Hilbert SSB 频移生成与其谐波结构一致的高频延伸。
14kHz pre-LPF 的存在说明了一个更普遍的原理:任何信号增强技术都需要在\"增加内容\"和\"避免引入噪声\"之间找平衡。DSEE 的 LPF 选择了后者——宁可牺牲部分极端高频的增强量,也不允许不完美的 SSB 调制在可听频段留下可闻的污染痕迹。
DpdoEngine 的 DSEE 现已集成到 PCM→DSD 的母带流程中。如需体验 DSEE 对您作品的高频延伸效果,联系我们获取试用版本。