fir滤波器特点及分类(浅谈FIR滤波器的应用)
fir滤波器特点及分类(浅谈FIR滤波器的应用)3、带通滤波器与低通滤波相反,从频率f1~∞,其幅频特性平直。它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。1、低通滤波器从0~f1频率之间,它可以使信号中低于f1的频率成分通过,而高于f1的频率成分受到极大地衰减。2、高通滤波器
随着数字音频的快速发展,近些年在音频扩声领域,经常能听到音频技术人士讨论FIR数字滤波器,有些说法和厂家的宣传难免有些过于神化,有些厂家的技术工程师竟然宣称,自己的FIR滤波器能把每只扬声器或者整组扩声系统的相位优化到接近于0°!(在某第三方测试软件的界面上相位特性近似一条直线)。
各位,我们都知道不同频率的波长是不同的,要把20Hz-20KHz的频率相位在同一扩声环境下统一归零?我认为这是不太现实,为什么这么说呢?我们用钟表来打个比喻:假设钟表上的秒针、分针、时针,分别代表不同的频率(或者波长),钟表只有在0点或者12点钟的那一刻相位是归零的。其他任意时间轴都不可能完全归零,也就好比100Hz、1kHz、10KHz只要在同一时间和空间里面做工,任一频率都会以不同的频率周期在360°的周期内循环。在某一时间轴上,不同频率所处的相位角是不同的。
FIR滤波器说到底能给音频扩声带来什么样的帮助呢?首先我们要问什么是FIR滤波器?和传统IIR的滤波器有什么区别或者特性?
我们先来了解一下滤波器的特性。
1、低通滤波器
从0~f1频率之间,它可以使信号中低于f1的频率成分通过,而高于f1的频率成分受到极大地衰减。
2、高通滤波器
与低通滤波相反,从频率f1~∞,其幅频特性平直。它使信号中高于f1的频率成分几乎不受衰减地通过,而低于f1的频率成分将受到极大地衰减。
3、带通滤波器
通频带在f1~f2之间。它使信号中高于f1而低于f2的频率成分可以通过,而其它成分受到衰减。
4、带阻滤波器
与带通滤波相反,阻带在频率f1~f2之间。它使信号中高于f1而低于f2的频率成分受到衰减,其余频率成分的信号几乎不受衰减地通过。
我们常用的PEQ、GEQ也在近似于带通滤波器和带阻滤波器上演变而来。仅滤波器而言,对于某环境下的扩声系统的幅频特性是很容易做出变量,也就是我们比较关心的频响曲线的平滑性,通过增益和衰减能快速的对过多或者过少的某些频率进行修整,从而达到人儿听觉所需的频率响度值。但是,很多时候我们会发现,即使听觉响度的幅频特性满足了预设值,但是实际听感却并不满意(比如明显感觉扩声系统在还原声音的时候存在离散性、脱节、动态欠佳等)。这种现象除了扩声系统本身存在一定的缺陷之外,同时跟扩声环境也密切相关。
那么在实际扩声应用中对系统造成上述缺陷的原因有哪些呢?
1、扬声器本质的缺陷,大部分扬声器都是有2个以上的喇叭单元组成,喇叭与喇叭之间相位设计、喇叭与箱体的结构设计、分频网络的设计等等,都会对扩声系统造成劣化;
2、扩声系统的架构,音源从混音台到功放再到扬声器,整个路由的系统架构也很容易对整个扩声系统造成劣化的因素存在;
3、扩声环境因素,很多扩声环境都对声音存在干涉或者破坏,甚至环境温度和空气湿度都会对声音不同频率造成非线性变量;
4、扩声系统相频特性非线性失真和环境多次反射产生的多个声源衍生的相位关系相互干涉。
自从数字音频在应用中得到普及之后,传统的IIR滤波器似乎已经不能满足我们的要求,因此FIR滤波器也就被炒的风生水起。那么IIR型滤波器与FIR型滤波器有什么本质区别呢?为什么没有跟数字IIR滤波器同时诞生呢?
1、IIR滤波器,是无限脉冲响应滤波器,又称递归型滤波器,即结构上带有反馈环路。
特点:
- IIR数字滤波器的系统函数可以写成封闭函数的形式,具有反馈回路;
- IIR数字滤波器的相位非线性,相位特性不好控制,随截止频率变化而变化;
- IIR滤波器有历史的输出参与反馈,同FIR相比在相同阶数时取得更好的滤波效果;
- IIR数字滤波器采用递归型结构,由于运算中的舍入处理,使误差不断累积,有时会对信号产生微弱的寄生振荡。
2、FIR滤波器,是有限长单位冲激响应滤波器,又称为非递归型滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是相对稳定的系统。
特点:
- FIR滤波器的最主要的特点是没有反馈回路,稳定性强,故不存在不稳定的问题;
- FIR具有严格的线性相位,幅频特性随意设置的同时,保证精确的线性相位;
- FIR相对IIR滤波器而言,相同性能指标时,阶次较高,对CPU的性能要求较高。
3、两者的区别
稳定性:由于FIR滤波器没有反馈回路,稳定性要强于IIR;
相位特性:FIR为线性相位延迟,IIR为非线性相位延迟。
运行平台:IIR滤波器成本更低,可以采用模拟元器件搭建,也可以用普通IC芯片来实现;而FIR如果采用传统芯片来设计的话,系统延时将会远远大于IIR的系统延时,好在现在FPGA芯片在很多大数据运行和交换的平台上得到广泛应用,基于FPGA运行平台上可实现并行计算的功能,从而实现高阶FIR滤波器的架构,而且还能保证极低的系统延时。
上面我们提到,滤波器能改变幅频特性,能把频响曲线处理的相对平滑,采用IIR滤波器来改变滤波器的参量,同时也会对相频特性造成变化,相频特性的失真不仅是产生相位延时,数字音频都是基于算法来实现因果关系,如果系统中的滤波器在一个失真信号的基础上去计算的话,那么结果一定也是不理想的。
既然FIR滤波器相对IIR滤波器有诸多优点,那么为什么到今天却并没有在实际应用中得到普及呢?目前在音频领域已经有一些厂家研发出具备FIR滤波器的软硬件,在实际应用过程中,目前有很多争议,有些产品在应用过程中还需要第三方软硬件的配合才能应用到系统中去,有些FIR的阶数不够高,还不能处理全频段的信号,尤其频率越低越难以处理。有些加载了FIR滤波器,使整个系统产生巨大延时(十几毫秒甚至几十毫秒),在现场扩声系统中是无法接受的。
当然,FIR滤波器也不是万能的,音乐始终是归纳为艺术范畴,扩声系统的功能也是要为音乐艺术服务的,好的扩声系统或者的好听的音乐艺术,绝非仅靠好看的频响图就能实现完美的。
俗话说,世间万物都得讲究个阴阳平衡,尤其对于扩声系统的处理过程中,能用简单的方法处理好的系统,千万别整复杂了,过度的依赖FIR滤波器,其实是一种不自信的表现,刚才说了,万物讲究平衡,当你通过某些手段获得一定收货的时候,那么同时你也一定会失去某些不想失去的东西。好比我们在使用FIR滤波器,越来越多的工程师都喜欢追求更高的数字采样率和比特率,觉得参数越高就越精准,数字音频的软硬件对于自然声源来讲,在AD/DA过程中,过度的采样、量化、处理,反而会让声音的本质属性变得本末倒置;FIR滤波器也是如此,如何把控FIR处理的尺度是非常关键的,过度的FIR处理,可能会让声音变得更“干净”,但是很大程度上也会失去一部分应有的“味道”;就好比一个演员要上舞台表演,其实恰到好处的化化妆就非常好了,干嘛非要整个容再上去?
在过去的两年多时间里面,我们对“北京赛因公司”的APC460L这台FIR滤波器,可以说是了解比较深刻的。说到FIR处理尺度把控,我们在APC460L应有的过程中,总结了几点经验给大家分享一下。
一、测量前正确设置
其实任何软件,在应用前都需要详细了解其特性,在测量前,首先要设置一个合适的信号电平和测量
话筒的拾音比例,过大或者过小的电平值都会让FIR滤波器产生“误判”。
二、如何选择最佳测量位置和如何架设测量话筒?
对于立体声扩声系统来讲,如何预设拾音话筒的位置、距离、高度、以及拾音话筒的方向?都会对测量结果产生“误判”,为了更客观的对直达声和反射声进行采样,建议测量话筒于地面保持垂直状;话筒头高度接近人耳位置。
三、如何判断测量的客观性?
总结:测量信号电平和测量话筒摆放的重要性。
1、如果测量电平过低,对采样精度不够,计算结果不够客观;
2、如果测量电平过高,会引起FIR过度处理,尤其对高频的过度处理。
3、为什么建议测量话筒与地面保持90度垂直状态?是因为APC不仅要对扬声器系统拾取信号,同时还需要结合扩声环境的反射声进行采样,这样架设测量话筒理论上更客观。
四、低频与全频的响度比
首先我们来看一张“人耳等响曲线图”,以1KHz的声压级为参考,当1KHz=100dB时:
30Hz≈ 18dB
40Hz≈ 12dB
100Hz≈ 3dB
300-500Hz≈-2dB
2KHz-5KHz≈-12dB
10KHz≈ 6dB
适用于大多数人耳的相对响度值。
五、APC处理后低频响度变小了是什么原因?
首先我们再看一下上面的这张“人耳等响曲线图”,人耳对不同频率的响度感知的灵敏度是不一样的。当我们在用APC测量的时候,往往对原系统的响度平衡没有做调整,也就是原系统的低频往往比全频的响度要大很多,APC通过采样获取的信息后,默认为低频的能量是过多的,在计算的时候把高于全频的能量给衰减掉,因为机器只是把频响曲线处理的相对平滑(对于机器来说这是一个默认值),因此在测量前最好先调整低频与全频的响度比例。
把所有需要测量点完成后,再把低频响度恢复到适合人耳听觉曲线的响度就OK了。不同的音乐风格和不同的音响师对声音的理解都会存在差异,响度曲线没有必要固化,是相对的而不是绝对。因此,APC第一步工作只是把原来不干净、不清晰的声音处理“干净”提高清晰度。
六、如何设置人耳等响曲线?
在“Curve Design”窗口,在绿色线上任意点双击鼠标左键,就可以创建一个“EQ”点,左右移动频率,上下移动增益或者衰减,如果要限制带宽,可以在“EQ”点左右两边再双击鼠标,就建立了一个类似Q值的频带范围,左右移动可任意调整带宽。
提示:在APC响度曲线调整的时候,系统声音不能实时变化,每次变动曲线后,都需要点击APPLY后,等待机器进行数据写入,当进度条完成后即可。
如果对设置的曲线不满意,需要回到平直的曲线点击 RESET TO FLAT,等待进度条走完就完成清除上一次的曲线数据。
当曲线经过FIR滤波器处理器后,无论你任意修改响度曲线是不会破坏相频特性的,也就是说,在保证声音干净的基础上你可以任意调整响度曲线(这跟调音台或者处理器上去调整PEQ的结果是完全不同的听感)。
FIR滤波器要在扩声领域得到普及,还有很长的一段路要走,目前在应用功能上还比较单一,尤其涉及到多通道输入和输出与扩声环境融合方面还不能够满足需要,期望这些技术研发人员能够多结合实际应用现场,深度融合现场应用需求,研发出更便捷,实用性更高的产品出来。
原文标题《浅谈FIR滤波器的应用——以APC460L为例》
文/PLAY TIME 陈万勇
原文刊登于WORLD SHOW十一月刊《技术交流》栏目