是不是真的王者?创新X-FI技术再细看
7.关于保真度的问题
在声音转换为数字形式时,是按一定的时间间隔进行采样的。如果两个不同的模数转换器处理同一段声音,产生的数字序列可能会不同,但是两者都准确地表现了原始 信号。同样,采样率转换也能理想地生成样本的新序列,从数学的角度来说,这一新序列与原始信号是等同的。如果有误差,应归因于执行的数学操作本身的精度有限。重点在于,要保持由样本集表示的连续信号的保真度,将数学运算带来的误差降到远低于信号固有的模拟噪声、可以忽略不计的程度。
在采样率转换过程中,有两类信号衰减现象。线性误差出现在那种并非完全没有起伏、但出现的是“波纹”的频率响应之中。这种误差是由于采样率转换器原有的滤波器所致。如果将波纹放大到近 1dB,它就变得清晰可闻了。信号处理的链条式流程中,会用到多个采样率转换器,造成波纹效应的累积,每个转换阶段都会产生一个极小的波纹。
非线性误差的产生与原有滤波器的规格和实现这些滤波器时的计算误差有关。非线性处理误差最常见的放大倍数测量方法是“THD + Noise” 总协波失真。这一测量方法将信号中所有的失真组件和所有随机噪声叠加求和,与预期信号(通常是正弦波)的级别进行比较。虽然这种测量方法简便易行,但还不能完全准确地衡量我们感知的信号质量,因为每种不同的失真组件,在听觉范围内的变化都很大。
THD+N 总协波失真测量常被应用于测试在整个数字处理链式流程中的全级别信号。例如,一般的 CD 播放机的 THD+N 为 0.002% (-90 dB),也就是说,一个全级别的 997Hz 的正弦波,产生的失真信号级别为该数值。需要注意的,在这种情况下,失真的倍数与信号强度无关。因此,本例中一个–60dB 的正弦波,THD+N 的值可能为 2% (-30dB),是很容易听到的。
与此不同的是,采样率转换器的 THD+N 记录了信号的强度,因此,–60dB 的信号产生的失真比全级别信号要小 60dB。另外,当多个采样率转换器被插入一个数字音频处理时,每个转换器产生的失真会以一种相当有益的方式组合在一起,因为各个失真元件并非“相关”。简单地说,N 次转换完成后,产生的失真仅是按 N 的平方根增加。例如,如果处理链中有 100 个采样率转换器,噪声仅是单个转换器的10(100 的平方根)倍。只比一个转换器的情况高 20 dB。这意味着,即使使用了多个转换器,其技术指标依然十分优秀。
如果采样率转换器只是对采样率稍作改动(例如,转换器只是纠正了采样率的某些微小的不精确之处),产生的失真将与原有信号的频率十分接近。此时,失真几乎是听不到的,因为它被与之接近的信号频率掩盖住了。
8.传统的采样率转换器
传统的采样率转换器算法采用多相有限脉冲响应滤波器,简称 FIR。这种滤波器根据原始样本的产品总数计算新的样本。为了达到优秀的技术指标,需要进行大量的运算。FIR 滤波器的“order”是指每个输出样本的计算产品数,这与转换器的质量有关。
正如上面解释的那样,采样率转换器在已录制的样本之外的各点计算原始的连续音频信号值。最简单的算法是采用“连线游戏”,其中的连续信号是根据线段予以估算的。这种方法被称为“线性插值”,对应 order 2 的 FIR 滤波器。虽然这易于理解,但是效果很差。
传统的采样率转换器技术,包括 order 64 的 FIR 滤波器,每个转换器每秒需要进行约 3,000 万次数学运算,这还不能满足 X-Fi 所设定的品质目标要求。
X-Fi 有 256 个采样率转换器。在某些应用,如 3D 音频和音乐合成中,会对大量的采样率转换器输出进行混音。为了在模数转换过程中使音频质量达到我们的目标,每个转换器的 THD+N 性能必须十分优秀。X-Fi 音频处理器还支持任意的信号图,允许音频进行多次采样率转换。为了能够对这些类型的信号图提供透明化的支持,X-Fi 采样率转换器只能有极低的波纹效果。THD+N 和波纹效果的品质目标,以及 X-Fi 采样率转换器的数量要求,使传统的采样率转换器架构在计算方面变得十分昂贵。