Chord M Scaler的设计思路 这一切只为了探寻更好的数字音频

Keith Howard测试了在Chord Electronics DAC,尤其是M Scaler里面发现的Rob Watts超长滤波器背后的设计理念。

Chord M Scaler的设计思路 这一切只为了探寻更好的数字音频

这是一个有趣的历史巧合,1948 年既是哥伦比亚唱片公司宣布黑胶诞生的年份,也是Claude Shannon的著名论文通信数学理论 [1] 的发表年份,该论文描述了信号采样的数学基础,从而描述了数字音频。现在已经公认Shannon实际上并不是第一个研究该领域的人。其他人,包括英语数学家Edmund Whittaker早先已经阐明了全部或部分理论。但是Shannon的论文真正开启了信息论领域并铺平了道路 – 等待必要的技术进步 - 各种连续信号的数字化,而不仅仅是音频波形。

很少有发烧友了解这个数学领域或其对音频信号的潜在应用,直到1972年开始,BBC开始用13位Nicam PCM 数字音频链路取代其信号传送器的音频固定电话,该链路以32kHz采样率进行压扩(压缩传输并随后在接收时扩展)。第一个是从Broadcasting House到位于North Kent的Wrotham信号传送器,于当年9月14日开始运行,然后通过网络逐步扩展。在1970 年代后期,第一批质量不错的数字录音机被开发出来供Denon和Decca等先锋唱片公司使用。随后在1982/3 年,CD 出现了 — 这是第一个数字音频音乐载体。

鉴于CD在欧洲上市已经35年了,您可能会认为大多数发烧友现在已经牢牢掌握了采样理论的基础知识,但实际上它仍然被广泛误解。如果Chord Electronics的数字设计顾问Rob Watts是正确的,那么这里面不仅包括音频爱好者,还有音频专业人士。多年来,Watts 一直反对在高过采样DAC中使用相对较短(有时非常短)的数字滤波器的传统音频行业做法。随着技术的发展,他的滤波器变得越来越长。他说,每增加一次滤波器长度,音质就会提高。

Watts长期寻求实现足够长滤波的滤波器,在7月的伦敦CamJam秀上,Chord推出了最新的Electronics M Scaler(参见Box-out),一种数字输入、数字输出上采样器,首次配有超过一百万个filter taps,即采用的线性相位FIR(有限脉冲响应)插值滤波器有超过一百万个系数:准确地说是1,015,808。为了正确看待这个数字,大多数过采样DAC使用的滤波器长度最多为几百个taps(系数)。甚至Dave作为Chord当前最好的独立DAC,“仅”使用 164,000 个filter taps。

要了解Watts对更长插值滤波器的不懈追求 — 每一步都已拉开他与公认的行业实践之间的差距 — 这需要回到基本原理:即Shannon的采样理论,特别是“sinc”函数。

图1. sinc(x)函数的中心部分

Sinc(x)是函数sin(x)/x的数学简写,它看起来(在其中心部分)如图1所示。x轴(水平轴)被标记为“采样间隔”的原因很快就会变得显而易见。Shannon在他著名的论文中表明,任何带限连续信号 — 即任何对其最大频率有严格限制的模拟信号 — 都可以准确地描述为时间间隔sinc(x) 的总和波形。

不仅如此,如果对信号进行采样,即如果以固定间隔至少两倍于最高信号频率的速率测量其幅度,则每个采样幅度表示以该采样点为中心的相关sinc(x)波形。在所有其他采样点,该值特定的sinc(x) 函数为零,就像以彼此为中心的sinc(x) 函数的采样值在这里为零一样。因此,如上所述对波形进行采样可以提取所有必要的信息来重建它,并完全准确地这样做。

这就是模数转换过程,这是完全可行的。我们必须添加的所有内容确保在实践中实现幅度测量的量化,以便每个样本值可以用若干个有限的长度来表示。

相比之下,波形重建过程 — 数模转换 — 就没有那么简单了。在理想的世界中,这将通过为每个采样点生成适当幅度的脉冲并将规则间隔的脉冲序列通过理想的低通滤波器来实现,其通带上边缘设置为采样率的一半。这种滤波器的脉冲响应是sinc函数,因此每个脉冲都会生成一个具有必要幅度的sinc波形,并且一系列sinc函数将相加以重新创建原始波形。

不仅如此,如果对信号进行采样,即如果以固定间隔以至少两倍于最高信号频率的速率测量其幅度,则每个采样幅度表示以该采样点为中心的相关sinc(x)波形。在所有其他采样点,该值特定的sinc(x) 函数为零,就像以彼此为中心的sinc(x) 函数的值采样一样点在这里为零。因此,如上所述对波形进行采样可以提取所有必要的信息重建它,并完全准确地这样做。

这就是模数转换过程,而且是完全可行的。为了使其在实践中可实现,我们必须添加的只是幅度测量的量化,以便每个样本值可以由多个有限长度表示。

相比之下,波形重建过程 — 数模转换 — 就没有那么简单了。在理想的世界中,这将通过为每个采样点生成适当幅度的脉冲并将规则间隔的脉冲序列通过理想的低通滤波器来实现,其通带上边缘设置为采样率的一半。这种滤波器的脉冲响应是sinc函数,因此每个脉冲都会生成一个具有必要幅度的sinc波形,并且一系列sinc函数将相加以重新创建原始波形。

图 2. sinc(x) 函数的求和 - 每个信号样本一个 - 构建出采样点之间的波形

这在图2中进行了说明,其中显示了六个不同幅度的连续sinc函数及其总和(黑色轨迹)。每个sinc函数对其他采样点的总信号幅度没有任何贡献,但对采样点之间的波形有贡献。人们假设采样点之间的波形是不可知的,这是对采样的一个常见误解,事实并非如此 — 前提是输入信号是带宽受限的,并且采样速度至少是Shanon采样过程要求的最高分量频率的两倍。在那种情况下,可以明确地重建采样点之间的波形。重要的是,波形不仅取决于附近的样本值,还最终取决于整个采样信号的样本模式。

在实践中,这种理论上的DAC方案是不可行的,原因有二。首先,理想的低通滤波器在通带边缘具有无限滚降率, 这仅存在于抽象中 — 在现实世界中,滤波器的滚降率总是有限的,它只能近似。其次,即使完美的低通滤波器不是梦想,这种方法也会提供不足的信噪比,因为每个脉冲中包含的能量很小。

在现实世界的DAC中,必须做到两个妥协。首先每个样本的幅度不表示为脉冲,而是表示为在整个采样周期内保持的阶段。这种“采样和保持”过程消除了信噪比问题,但会导致不平坦的频率响应逐渐向奈奎斯特频率(采样率的一半)滚降。修复微不足道:滚降可以并且通常是通过以下方式纠正均衡。我已经提到的第二个妥协。由于无法实现理想的低通滤波器,因此必须替换滚降速率较慢的滤波器 — 这样就无法提供sinc(x) 脉冲响应。

习惯性地解决最后一个问题的方式就是忽略它。模拟输出滤波器(或在过采样系统,数字插值滤波器)被认为是足够的,如果它达到足够好的频域性能,即足够平坦的通带响应和足够的衰减出现在奈奎斯特频率之上的图像频率。图3显示了频率响应一个示例插值滤波器(使用著名的Parks-McClellan等波纹逼近法)用于具有以下规格的44.1kHz数据的4倍过采样:

通带上限频率 20kHz

通带纹波 0.01dB

阻带低频  24kHz

阻带衰减 100dB

生成的FIR滤波器具有 215 个系数(taps),并且由于它是线性相位,因此具有时间对称的脉冲响应。奈奎斯特频率 (22.05kHz) 的衰减约为10dB。滤波器脉冲响应如图4所示,覆盖了图1的sinc函数,但此处跨越更宽范围的采样间隔以适应滤波器系数的数量。图5重复了图4的数据,但以分贝幅度标度表示。

从这两个图中可以清楚地看出,插值滤波器 — 尽管它满足代表性频域标准 — 具有与 sinc(x) 函数完全不同的脉冲响应,而不仅仅是因为它更短。

图5. 图4的再现版,但这次使用分贝幅度刻度

图5强调了一个重要的点:sinc(x)函数的包络 — 对于x值从负无穷大到正无穷大的有限值 — 随时间缓慢衰减。在距其中心峰值150个采样间隔处,包络仅衰减了50dB多一点。显而易见的问题是:它必须衰减多少才能使其对样本间波形的贡献变得微不足道?

这不是一个能直接回答的问题,但如果我们说100dB,为了使0dBFS(满量程)样本的包络幅度低于16位本底噪声,我们可以轻松计算出需要哪些同步函数的摘取。同步函数的包络仅由sin(x)/x的分母确定,因此它表现为1/x,其中x = Nπ(弧度角),这里的N是远离中心峰值的采样间隔数。包络从其峰值1/x = 0.000001下降100dB,相当于N = 31,831。这中央峰的任一侧都需要样本长度,因此sinc(x)摘取的总长度是其两倍。换句话说,对于44.1kHz采样率,所需的sinc函数摘录的总长度为1.443秒 — 非常接近Chord的M Scaler提供的滤波器长度。

简而言之,这解释了Watts对前所未有的长插值滤波器的追求,他使用所谓的窗函数插值技术设计了这些滤波器。正如前一段所说的,这涉及从sinc 函数的中心提取一个数据块,但为了获得最佳结果,这个过程需要比简单的sinc函数值的“提升”和余数的截断更微妙。如果对提取的sinc函数进行加窗处理(即成形)以避免在任一端突然截断,则会获得更好的结果。Watt的WTA (Watts Time Alignment) 加窗算法是一项严密保护的秘密,随着滤波器长度的增加,它不得不进行改进,但它的名字表明了 Watts 的主要设计标准:保持准确的瞬态时序。

据我所知,没有其他设计师沿用Watts的方法。考虑到Watts几十年来一直走在孤独的道路上,你可以想象这样做是一项艰巨的任务。但如果有人想尝试 — 特别是考虑到Chord的数字产品广受好评 — 他们会怎么做?

首先要做的是说服自己Watts的方法是正确的。做到这一点最简单的方法自然是聆听Chord 的产品,最好是选择它们来绘制增加滤波器长度的过程。但还有另一种方法,它比购买一套 Chord设备便宜得多,而且比对FPGA进行编程的主要步骤要容易得多。那是在软件中离线执行sinc插值。

10多年前,我第一次编写了一个软件实用程序来执行此操作 — 与FPGA编程相比,这绝对是轻而易举的事情。问题是该程序需要很长时间才能运行比短音频文件更长的文件,因为它需要计算 (U-1) × N2 sin(x)/x的值,其中U是过采样因子,N是文件中的样本数。这是针对每个频道的。但就像我说的,它很容易操作,而且很便宜,它允许您生成和收听使用全正弦插值过采样的文件,在这方面它甚至比M Scaler 更好。获得文件后,可以将其用作参考,用于试听使用不同设计的有限长度插值滤波器生成的其他文件。

这里向您展示一个示例,我使用短(0.98 秒)单声道、44.1kHz/16位WAV 文件运行代码,该文件包含在大键琴上演奏的单个音符。对于4倍过采样,处理(使用64位浮点运算并生成24位输出WAV文件)耗时295 秒 — 超过300倍实时 — 在我老化的台式计算机的单个处理器内核上运行。

图6叠加了原始文件(红色轨迹)和过采样文件(蓝色轨迹)的频谱,显示 (a) 通过通带时两者重叠,并且 (b) sinc插值确实会导致22.05kHz的砖墙低通滤波,高于该频率的本底噪声是由于抖动造成的。(原始文件使用4096点FFT进行分析,插值文件使用16,384点FFT 进行分析,以确保频谱具有相同的频率分辨率。)

图 6. 在竖琴和弦上演奏的单个音符的简短录音频谱。红色轨迹是 44.1kHz/16-bit 原始文件,蓝色轨迹使用全正弦插值生成的4倍过采样版本

 

过去我曾建议,虽然以前从未发布过,但可以使用重量级数字运算的人可能会使用它来创建一个易于访问的sinc插值音乐文件缓存,这正是为了开发改进的插值滤波器。这可能不是一种可能会让你登上《时代》杂志封面的行为慈善事业 — 但发烧友可能会永远尊敬你的名字。有人对此感兴趣吗?

 

参考文献

1) Shannon, C E. 《A Mathematical Theory of Communication》, Bell System Technical Journal (1948).

图片

Chord Electronics M Scaler

我有一种感觉,M Scaler将被证明是2018年最重要的,也可能是最有争议的产品之一。它肯定会引起那些已经发现Rob Watts的DAC设计更胜一筹的人的兴趣。

M Scaler所做的就是将Chord Blu MkII升频CD转盘的过采样技术, 以不到一半的价格封装在40.5×235×236mm(hwd)、2.55kg的盒子中。 数字输入可通过两个BNC插座上的同轴S/PDIF 获得,光纤S/PDIF可通过两个Toslink插座和通过B型连接器的USB实现,以适应各种数字源。输出通过352.8/384kHz的单BNC、176.4/192kHz的光学S/PDIF或通过705.6/768kHz的双BNC插座与Qutest、Hugo TT2或Dave搭配使用以获得完整性能。

M Scaler中的关键组件是Xilinx XC7A200T FPGA(现场可编程门阵列)芯片,它提供740个DSP内核。Watts最新的滤波器架构(也用于Hugo TT2)采用了528个以4096倍采样频率运行的内核,包含50万行控制代码并在计算中使用56位分辨率。提供直通选项以允许对输入和输出进行即时比较,并通过增益校正确保电平没有差异。[过采样可能会导致插值样本值超过0dBFS(满量程),需要降低增益以适应它们。] 对512,000 taps的初始测试给出了Watts所描述的与Dave的164,000 taps相比“完全出乎意料”的改进幅度, 因此目标被提高到超过一百万次taps。在705.6/768kHz输出采样率 (16×44.1/48kHz) 下,这意味着当M Scaler对第一个样本执行计算时,延迟(输入和输出之间的延迟)约为0.6秒。因为当音频伴随视频时这种延迟会导致令人无法接受的口型同步问题,M Scaler提供了一个视频输入,它使用非对称插值滤波器来将延迟减少到可接受的0.1秒。

由此获得的音质优势是什么?Watts说,更长的滤波器提高了瞬态准确度,使乐器音色更清晰,低音收紧,并“戏剧性地”展开了声场。“在你听过 M Scaler 之后”,他说,“很难再听得下Hugo TT2或Dave。”他对更多滤波器taps的渴望现在得到满足了吗?并没有:“我的直觉是我们需要更进一步发展。”

weixin

阿强家庭影院导购/产品/方案/评测/案例

多年家庭影院设计与装修施工经验、百多家真实案例展示

立即拨打132 4190 2523(同微信号)或者关注公众号:hdkong

阿强抖音码