如何使扬声器实现自动校正系统均衡

描述

过去十年间,扬声器技术的发展速度日益加快。从新材料、新制造方法、更好的测量设备、改进的非线性建模工具到有限单元分析工具的更精确利用,都在推动着扬声器技术的进步。不使用新技术而完成扬声器设计周期几乎是不可想象的。现在,扬声器和系统设计人员越来越多地利用DSP及其工具来帮助设计已不足为奇。随着其应用日益广泛,DSP及其工具对于扬声器行业变得至关重要。因此,扬声器制造商有必要未雨绸缪,考虑将新的DSP技术和使用案例作为设计过程的新变量。

由于产品时间线越来越短,市场变化无常,制造商必须采用效率更高的设计技术。ADI公司已开发出软件来改进利用其DSP产品线(即SigmaDSP和Sharc)的此类系统设计。SigmaStudio的Auto EQ旨在让设计人员腾出精力来关注其它重要的系统考虑,从而缩短设计时间。

本论文(“扬声器系统的自动均衡、分频和对齐”)所述技术的开发目的,就是让音频扬声器和系统设计中的常见重复性任务能够自动完成,使音频系统实现均衡,并调整到所需的电声目标响应。

SigmaStudio

针对音频/DSP应用的用户友好、直观、可扩展的图形编程环境

为使读者能够更好地了解Auto-EQ插件的开发平台,下面简要描述它所支持的环境——SigmaStudio。

图形开发环境在音频行业已使用多年。最终,那些限制较少的图形开发环境存留下来,并赢得了一大群用户的坚定支持,他们不愿意改变设计模式,或者采用其它嵌入式处理器和设计环境。SigmaStudio开发环境最初是针对SigmaDSP系列音频专用信号处理器而设计。SigmaStudio与SigmaDSP系列数字信号处理器旨在让模拟音频工程师更加接近DSP设计方法,了解其中的奥妙,从而简化音频设计考虑,缩短产品上市时间。

SigmaStudio (1.0)最初是一个独立的GUI(图形用户界面)应用程序,用于控制预定音频信号流的参数。它支持对一组导出值进行控制,从而管理动态处理器、滤波器、专有特殊效果及其它基于预写ROM的算法(还有其它算法)。此时,用户无法直接访问DSP的音频流。因此,即便DSP是一种完全可编程的音频解决方案,终端用户也无法直接使用(许多情况下也不知道)这种编程能力。在SigmaStudio 1.0推出的同时,其它工具也陆续问世。这些工具支持修改SigmaDSP内部的音频信号流,是SigmaStudio 1.0的信号流设计补充工具。用户则需要一种集成解决方案,以便能够对参数和信号流设计工具进行实时控制(参见ADAU1953)。

使用这款工具的早期用户处于从模拟向全数字媒体信号路径转变的过程中。向数字信号处理器的转变还降低了模拟模块设计所涉及的物流和技术要求,统一了PCB设计,使成本得以降低,这在ADC/DAC与DSP集成在同一芯片上表现得尤为明显。

第二代SigmaStudio支持全面控制和创建通用信号流。它具有许多功能,例如:

- 为音频设计工程师创建直观的设计和用户界面

- 允许存储器在多个模块之间重用,从而优化代码

- 使用面向对象的设计技术来优化运行时模块

- 支持对象模块化,以便在算法设计工程师之间通用

- 运行时调整能力和A-B快速切换

- 显示模拟传递函数,以实现时域信号处理的频域表示,包括扬声器的频率和相位响应

- 隐藏和保护知识产权

- 分别并独立发布算法和其它知识产权

- 对原理图音频流中的各点进行运行时调试,包括数据可视化

- 创建多核、多DSP信号流

- 创建可以嵌入最终微处理器的所有必要支持文件(自动产生C代码和头文件),从而简化系统集成

- 使用时域仿真

- 将客户专有IP编码的汇编代码嵌入图形控制GUI中

- 允许混合使用专有IP和新定制的专有算法

- 几分钟就能完成复杂音频流的设计

图1 – SigmaStudio图形开发环境

SigmaStudio的自动均衡插件

AutoEQ是与瓦伦西亚理工大学合作开发的一个附加工具,旨在帮助创建数字滤波器系统,使扬声器实现均衡和分频对齐。

Auto-EQ插件用于解决音频应用所采用的不同数字均衡方法的大多数问题和限制。开发之前考虑了其它方法,它们各有长处。

FIR滤波器

- 反向FFT

- 最小平方

- Warped FIR

IIR滤波器

- YuleWalker

- Prony

- Steiglitz-McBride

- Greenfield & Hawksford

- Warped IIR

算法开发的考虑因素包括:

- 在对数域(频率和幅度)内工作,以便更好地模拟人类感知

- 支持用户定义的限制条件

- 设计完成之后能够灵活地进行主观修改,而不需要重新设计

- 低实现成本

- 低系统延迟

- 滤波器设计的扩展能力

Auto EQ设计过程中遇到的挑战之一是在滤波器设计过程中纳入下列原因导致的限制条件:内部DSP实现的数值问题,以及试图补偿过大增益变化和低/高升频时的EQ问题。允许低频和高增益设计可能会增加对低频下扬声器自然滚降进行补偿时的功耗,以及损害达到机械限制时的扬声器线圈、环绕声、中心盘和其它机电元件。

处理数字滤波器的第二个挑战是限制群延迟和系统延迟。高频时的过大增益和斜率还可能导致响铃振荡。同样,还必须限制使用IIR滤波器时极点与单位圆的距离(Q),以免出现量化误差,致使滤波器设计不稳定,产生明显的、令人不悦的响铃振荡。

当需要线性相位时,前面提到的一些方法,特别是FIR滤波器,可能会引起过大延迟。一些应用中禁止出现过大延迟,如现场声音增强等。对于IIR滤波器,设计要求一个不可分解的N阶分子和一个M阶分母。最终的DSP实现在二阶部分(SOS)中完成。此外,SOS链最好按照感知重要性的顺序排列。最初产生的滤波器是最需要均衡的滤波器,其后的滤波器均衡重要性较低的校正,这就是系统的可扩展性。

数字均衡器Hequ(w)的主要目标是更改扬声器Hlspk(w)的响应,使之与所需的电声目标响应Hequ(w)匹配。为此,滤波器 Hequ(w)的复响应为:

音频

图2 – 数字、模拟和声学音频扬声器系统示意图

设计包括正确定位脉冲响应的时间窗口,以消除测量室Hroom(w) 的影响,或者将该影响降至所需的水平。如果Hlspk(w) *Hroom(w)是一个非最小值相位系统,则必须近似计算均衡器Hequ(w)的响应。

为了避免产生连续重叠的SOS部分,建议目标响应Htarget(w)考虑扬声器内各元件的自然带通特性。也可以扩展带宽,避免将过大增益引入均衡而导致数字和机电伪像。目标响应定义为一个数值矢量,存储在存储器中并用于迭代过程。

Hlspk(w)可以利用不同位置的多个测量结果的加权平均值构建,从而扩大均衡的有效区域。

以一系列IIR滤波器实现的二阶部分通过迭代方式进行设计,如图3所示。

音频

图3 – 级联的二阶部分

各SOS设计为一个高通、低通、参数或缓和滤波器,其参数(频率、增益和Q)可以是固定的、由用户初始化或者自动指定为一个通用参数滤波器。所用的参数方法可以将限制条件纳入设计中,通过限制频率范围来实现均衡,包括最大和最小容许的增益和Q。这种迭代过程为每个部分搜索参数集(频率、Q和相位),而不是特定滤波器系数,因而设计为参数式设计。对于声学工程师,这种设计也更为直观,比纯数学方法更易于理解。

为了支持心理声学搜索,滤波器采用代价函数e1进行设计,其考虑因素如下:

- 在对数间隔的离散频率轴上评估误差,频率分辨率为倍频程的分数且可配置。

- 误差在norm-1(区域)中以dB为单位进行评估。

- 代价函数e1的表达式为:

音频

它表示目标响应与均衡扬声器之间的平均绝对误差(单位dB),在对数频率轴上进行评估。矢量W(freqr k) 是一个可选的加权矢量,用于防止预定频段中的均衡(即由于测量结果相互抵消),或者支持加重其它频段。

第一步是搜索滤波器。滤波器通过搜索方法进行指定,允许根据误差区域条件设置SOS的初始参数。默认情况下,最大差异(误差区域)通过峰值滤波器均衡。峰值滤波器H1(w)的初始条件选择如下:

- 中央频率f1为该区域过零点的几何平均值。

- 增益dB1为f1时的误差值

- Q可以定义为搜索-3dB点(如有),或者开始时采用1.5到3之间的固定值,以便在后续优化步骤中进行调整。

第二步是优化用直接搜索方法获得的参数初始值。该步骤使用试探法。由于初始值良好且只有三个参数需要优化,因此使用这些值的随机处理值。如果新的随机滤波器更合适,则这些新值变为下一迭代所用的值。该过程重复执行若干次后结束,或者经过若干次,滤波器均未有所改进时结束。

一旦SOS参数得到优化,就可以针对新的二阶部分,从扬声器测量和先前指定的滤波器开始重复该过程。SOS部分和误差区域条件的设计支持获得可扩展的滤波器,因此初始滤波器对于目标限制范围内的频段校正最为关键。按重要性顺序给滤波器排序有利于比较感知滤波器响应和特性,以及在DSP资源变得稀缺时做进一步优化。

在SigmaStudio中实现AutoEQ

目前的AutoEQ插件主要针对简化有源扬声器的设计周期而设计,但也考虑了其它市场的使用需求。目前,它可以均衡单路、双路和三路扬声器。简易和直观是其两大重点考虑,大多数常用的按钮和开关可供用户直接使用,其它较不常用的参数则包含在不能直接访问的控件中。为简单起见,插件依照自然顺序,使用选项卡来表示设计周期中的不同功能。对于多路系统,这些功能包括:源响应、分频、目标响应、滤波器和分频对齐。

下面按顺序显示各选项卡的内容并说明其行为和用途:

源响应选项卡

源响应选项卡支持导入通过各种测量系统测得的脉冲响应,以及直接导入频率响应(如果信息已存储在频域中)。当测量结果中存在明显的反射或室内节点时,它会创建一个半余弦窗口,用于定位脉冲响应窗口。用户可以通过拖曳其端点或改变旋钮来修改时域窗口。

一旦在时域脉冲响应或窗口中完成更改,就会向用户显示更新的频率响应图。如果是在频域中,则还会提供倍频程平滑功能,防止测量和/或定窗引起干扰,使它更适合人耳感知。增益偏移可提供增益校正功能,这可能发生在不同的扬声器组件之间。

音频

图4 – 源响应选项卡

目标响应

目标响应选项卡提供许多功能,包括:

1. 利用铅笔工具手动指定目标响应

2. 利用常见滤波器指定目标响应

3. 指定不同的权重以提高某些频段的相对重要性或降低其它频率的重要性。对于已知扬声器容差较宽的频段,或者当测量提供一个远比其它声音要弱的信号时(例如,突降比相同幅度的波峰更不易察觉),用户可以用此功能相应地降低算法强度。

4. 更改整体器件测量增益。

除分频位置以外的所有其它目标曲线设计限制都在这个选项卡设置。用户需要在该选项卡上多花些时间,以便将其系统明确无误地限制在已知的器件物理限值以内。

音频

图5 – 目标响应选项卡

设计设置

设计设置选项卡的主要作用是初始化滤波器和启动设计。如图6所示,还可以精调设计参数,以支持不同于默认值的用户自定义限制条件。

用户可以初始化所用类型的滤波器,如图7所示。建议使用高通滤波器作为第一个滤波器,以免许多峰值滤波器尝试扩展传感器的较低频率。

在设计选项卡中,用户可以根据数字滤波器预算更改均衡过程所用的滤波器数量(参见该选项卡中的当前设计部分)。

音频

图6 – 设计设置选项卡

音频

图7 – 初始化滤波器

滤波器选项卡

该选项卡用于查看滤波器指定的结果,以便稍后对齐系统分频(如适用)。用户可以查看所指定的各种滤波器的效果及其独特的均衡贡献。在该选项卡中,用户可以试着移除对传感器的均衡贡献最小的滤波器。要尝试移除滤波器,用户必须从位于滤波器列表末端的最不重要的滤波器开始。每个滤波器(行)都提供了旁路选项,以便用户能够实时感受有与没有相应滤波器的不同。

音频

图8 – 显示系统所产生滤波器的滤波器选项卡

分频选项卡

分频选项卡支持设置分频点以及用于设置分频的滤波器。用户可以针对各成分拖放滤波器,或者写入所需的特定频率。所用的滤波器类型可以在Linkwitz-Riley范围内按照每倍频程12/24/36/48 dB进行更改。选择某些阶时,其中一个通道必须反相,以便实现相位对齐。选择“Link Enable”按钮可以同时更改高通和低通两个滤波器。图9显示了分频选项卡的一个具体例子。

分频频率的选择必须考虑下列因素:

- 传感器的自然频率响应

- 驱动器的指向性图案

- 传感器的功率处理

- 最终的主观测试

音频

图9 – 分频选项卡

分频对齐选项卡

使用多路扬声器系统时,可以利用最后一个选项卡来对齐独立的频段。算法从目标响应中搜索一个提供最小误差的延迟,使相位正确对齐。用户也可以手动调整延迟和增益,从而更好地控制系统对齐。

音频

图10 – 分频对齐选项卡

总结

本文所述的算法是众多用于自动校正音频系统均衡的算法之一。AutoEQ能够很好地控制各种扬声器参数,并提供令人满意的限制结果。这个插件是设计人员的得力工具。为了获得更好的系统调整和结果,用户仍然需要了解其系统。由于涉及到大量用户可调的参数,因此很容易产生非最优的解决方案。进一步的算法和使用改进有待谋划和实现。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分