【DSPASP】
我们知道CD光盘提供给我们的采样率是44.1kHz,而数字到模拟转换过程中必备的一道关键因素:低通滤波器,或称之为LPF(LowPassFilter)它的目的在于过滤掉人耳无法听到的20kHz以上的音频信息。或许你会产生疑惑:解码了,能听了不就可以了嘛?为什么还要加这样一道工序?

假如我们用一个8kHz的频率采样一个5kHz的信号,会发生什么呢?答案是这个5kHz信息会混叠在3kHz当中。即因为8kHz最大只能保留4kHz信息,混叠就会发生在-5kHz+-8kHz=-13kHz、-5kHz、3kHz、11kHz当中。在音频中,倘若以44.1kHz去采样自然界的信号,那么22.05kHz以上的信号就会混叠在22.05kHz以内,干扰我们的听觉,所以我们必须使用一个LPF(LowPassFilter低通滤波器)过滤掉22.05Khz以上的信息,消除这样的混叠。
理想的LPF滤波器在现实生活中是不存在的。它被设计为:1、不影响通带内的任何信息,2、通带外的信息被一刀切断。即22.05kHz以内不受任何影响,而22.05kHz以上的信号消失。但现实中的滤波器是无法实现的,取决于不同的滤波器类型,通带有可能会有小的Ripple(波纹)通带和阻带之间会有一部分过渡带,带外信号缓慢衰减。

那么滤波器的工作原理是怎样的?我们伟大的法国数学家、物理学家让·巴普蒂斯·约瑟夫·傅里叶就提出了一种美妙的思维,以至于“傅里叶变换”在当今社会中的应用是那么的广泛,成为了各个领域无所不用的工具。在当今社会中,你是一个工程师,那么你必须掌握一项技术本领那即是“傅里叶变换”。
傅里叶认为,自然界所有信号或频率,都是由大大小小不同频率的正弦或余弦波以及他们的级数(谐波)叠加而成的,高频率通常具有高能量,他们震动得快,低频率通常震动得慢。如同下面这张动画图,世间所有各种波形都可以通过大大小小的正弦或余弦波分解而来。




那么“滤波”这件事就变得简单了,只要通过“傅里叶变换”,把信号拆分成多个傅里叶级,也就是上面动图中的大圆套小圆中的“小圆”。把“高频”的部分去掉,留下“低频”的那部分就好啦。通常傅里叶级数越多,对于复杂信号的描绘越准确。
通常实现滤波的类型分为两类,当然理想的LPF滤波器是Sinc函数,但该函数使用环境有局限性,感兴趣的人可以尝试HQplayer播放器。一类为有限脉冲的FIR滤波器,该滤波器只能在数字滤波器环境下实现,另一种拥有无限脉冲响应,称IIR滤波器,这种滤波器可以在数字与模拟环境下都可以实现。下图为IIR滤波器。可以认为每一个T就是一层傅里叶级。

早些年代的时候通常设计一个滤波器是非常耗费成本的,音频先解码后再对于模拟信号进行滤波,而如果需要实现一个高性能滤波,需要阶数非常多,因为阶数越多的滤波器性能越好,但这会涉及到另一个问题,因为模拟器件都有自己的电气特性,比如电阻值的大小会根据温度的不同而有不同的物理性变化,运算放大器的性能也不是理想的,模拟滤波器不但会耗费很多成本,而且效果也难以控制。而现代设备的芯片计算性能比较强,数字滤波器可以承担大部分的工作,而且数字滤波器的另一个优势是可以放在DAC解码芯片的前面,先滤波而后解码。通常现代的DAC通常在解码后也需要跟一个简单的模拟滤波器用于过滤PDM信号的噪音,而PDM的频率非常高,所以通常对于模拟滤波的要求没有那么严格。
FIR滤波器拥有有限的脉冲响应,因为FIR是符合数字滤波计算过程中的“因果”关系,所以FIR具有相位准确的优势。下图是FIR滤波器,可以认为每一个Z-1就是一层傅里叶级。

一般情况下,对于相位要求不是那么严格的场合,IIR都会比FIR拥有更多的优势,但设计更复杂。
然而傅里叶对于信号的拆解描述也不是完美的。1898年吉布斯的学生HenryWilbraham发现了吉布斯现象(Gibbsphenomenon),即如果想用傅里叶变换描绘一个突变的波形,或方波,或脉冲波,或锯齿波,都会出现不同程度的吉布斯现象,也就是说无论傅里叶级数有多少,傅里叶变换永远无法描绘一个完美的突变波,而这个上下跳变的区间分别为9%,总共18%。



5次谐波

25次谐波

125次谐波

如果给定一个脉冲,那么冲击响应图如下,在中间脉冲点前方的回波称之为Pre-echo,后回波称之为Post-echo,那么FIR滤波器同时拥有Pre-echo与Post-echo,而IIR滤波器只存在Post-echo。但通常Post-echo会比较大。
为什么吉布斯现象如此关键,因为根据笔者的实验,它确实影响着音乐的“味道”。通常情况下,IIR拥有比FIR更自然的声音,虽然IIR的相位是不完美的,也就是说IIR滤波器的声场不如FIR规整。那么我想给读者留一个悬念,你猜猜为什么没有Pre-echo的IIR滤波器拥有更自然的声音?猜对了说明你对信号很有灵感哦~~顺便一提,Cirrus、Wolfson、AKM家的音频芯片的默认滤波设置也是没有Pre-echo的,受益于Cirrus定制,苹果家的设备全都没有Pre-echo,而且苹果的滤波算法也包含在iTunes中,笔者也推荐使用iTunes听歌曲并升频24bit,iTunes默认使用Windows音频会话,也就是WASAPI,当然有些发烧友会使用Foobar2000中采用杜绝干扰的ASIO通道。
为了减小突变采样点前后echo(回波)的大小,通常要给滤波算法卷积进去一个窗函数(Windowfunction),叫做给滤波器加“窗”,而加了窗之后的波形更容易消去一些echo。一般来说,不同的窗函数对于滤波信号有不同的影响。他们的目的都是为了尽可能消去echo,突出主信号。我们拿Pre-echo那个图举例子,一般把中间最高的那个峰称之为主瓣(Mainlobe)把前后的echo称之为旁瓣(Sidelobe),通常窗函数的规律都是这样的:能把旁瓣压得很小的窗函数,主瓣一般会变胖,这样就会导致频率变慢,主瓣频率变得不准确;不怎么能压住旁瓣的窗函数都会保持主瓣比较瘦,这样可以最大限度的保留频率的精准性;能同时保持主瓣较瘦,旁瓣也压得不错的窗函数,通常计算量比较大。一般情况下,录音室常用的监听设备会首先考虑频率的精准性其次考虑旁瓣齿音,而HiFi设备会优先考虑好不好听,其次考虑声音准不准,这是设计出发点的不同。

下图中,马兰士的顶级CD机SA-11S1提供了三款滤波器,每一种滤波器都有不同的波形特性,Filter1应该是比较均衡的滤波器,而且含有非常少量的前回波,Filter2可以提供几乎完美的方波,所以可以提供最为美妙自然的音乐,非常适合人声,而且拥有最大的模拟味。Filter3拥有前后回波,可以提供最精准的频率特性,非常适合大动态或交响乐。

当然,对于音频做这么多的数学运算很多人也有不同的看法,有些人则认为,混叠是真实而客观存在的东西,如果一个波形通过这么多计算,波形难免变得不够准确,有些人则希望机器可以忠实还原波形最原始的面貌,出现一些混叠也是可以接受的,因为混叠这种东西本身就是采样后客观存在的事实,如果对于这样的事实进行傅里叶变换分析信号,然后再滤波什么的就难免会改变采样波形从而出现损失,这样的一部分人群忠爱NOS-DAC,NOS即是Non-Oversampling,这样的解码器虽然不可以表达最干净的声音,却保留了最真实的声音,如果你听过这样的机器,你一定不能忘怀~
此外,有些音频滤波当中还会参入一些Dither算法,图像情况下Dither用于黑白电视,其利用图像分辨率的优势,用黑白像素的密度代表图像的明暗变化区间。但笔者认为Dither在音频当中会损失非常多的音频精度,导致声音变远而变得不清晰。下图为Dither后的黑白照片,以及音频信号的Dither玩法(笔者认为故意把清晰的波形变得模糊)。但现在音频中常见的Dither是为了对Delta-Sigma解码系统进行噪声整形。
音频中还有一种常见的手段对于音频信号进行“噪声整形”,通常伴随Dither,这个过程对于DSD信号或Delta-SigmaDAC有非常明显的信噪比提升作用,它基于人耳对于不同频段有不一样敏感的噪声体验,基于Fletcher–Munson曲线,如下图,通过噪声整形,音频设备可以提升人耳敏感频段的信噪比(或位深),降低人耳不敏感频段的信噪比。相似的例如A权重音频测量法都是基于人耳对于不同频段信息敏感程度进行“优化”的结果。这也是通常意义上音频设备都以1kHz作为测量基准的原因。
1kHz~5kHz是人耳最为敏感的频段,所以如果在这个频段中发出刺激性声音会使人头皮发麻,比如日常生活中用指甲挠黑板或是泡沫塑料摩擦的声音都会使人难以忍受。来自PrismSound公司的专业录音设备就拥有该公司引以为傲的SNS超级噪声整形技术,可以在全频段范围内对于PDM波形进行噪声整形,从而为用户带来干净清晰的音质体验。而对于Delta-Sigma架构的ADC/DAC来说,噪声整形技术对于频带拥有极大的可调整空间,一个DSD64(2.8Mhz)甚至可以达到20bit/96kHz的峰值动态水平。一个16bit,PCM编码的音频信息理论上拥有96dB的动态空间,而噪声整形后可以达到120dB。可见噪声整形对于Delta-Sigma系统上信号在不同频段可调整空间的弹性是非常宽广的,而笔者认为苹果家的产品的噪声整形十分激进,人耳敏感的频段可以听得十分清晰悦耳,而容易被人耳忽略的地方又几乎听不到任何细节。
写到最后,你猜到为什么没有Pre-echo的IIR滤波器拥有更自然的声音了么?这也是一些初级音乐产品设计师常常忽视的问题,因为他们认为一般情况下FIR要比IIR优秀。
答案就是:Pre-echo这种东西在自然界不存在呀!!!因为自然界的任何物体发出声音都是先有大震动之后产生小回波,自然界没有任何物体会在发出声音之前产生回波。你猜到了吗?