动态范围规划(调整)Dynamic Range Control的一些心得(四)

这章节说说DRC的高级玩法吧,”分bandDRC”或者说”Multi-band DRC”

前面阐述的DRC都是在时域做处理,没有涉及到频域,对于一些特殊的场合,需要对高低频(或者更多)频带做不同的DRC增益,这时候就需要考虑到分bandDRC了

从matlab 给的tips: https://cn.mathworks.com/help/audio/examples/multiband-dynamic-range-compression.html

Matlab官网也说了:做这种DRC是需要  林奎茨-瑞利 Linkwitz-Riley Crossover Filters 的。这章就主要讨论Linkwitz-Riley滤波器

分频带处理的的目的就是一个,要找到很好的分频带的滤波器,这种分频带滤波器不能引入一点的额外增益。且使得各个子带的内容总和要保持不变。

一般最初的想法就是做一对butterworh的高低通滤波器,直接用就好啦,低频作用低频的,高频作用高频的,是不是牛逼的不要不要的,实际上没那么简单。

这里面说的BW和LR的区别和关系:(BW是butterworth,LR就是Linkwitz下文同)

Butterworth for odd(奇数) filters, Linkwitz for even(偶数). A Linkwitz is just cascaded butterworth filters. Bessel filters are for keeping an even(偶数) phase/group delay. Each of the filters has a different Q value, which give different amplitude responses. BW is Q or 0.49, LR is 0.71 (which is 0.49^2), which is because it’s just a double BW filter. LR filters are -6 dB at crossover, so they sum to flat (0 dB). BW are -3 dB, so they sum to +3 dB.

另外又提到:

Any order Linkwitz-Riley filters can be implemented by acascade of 2nd order Sallen-Key filters.

Sallen-Key是什么东西?

[http://www.t-linespeakers.org/tech/filters/Sallen-Key.html]

The Sallen-Key filter is a popular filter due to it’s versatility and ease of design. 一个典型的二阶SK滤波器是:

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》

它的传递函数如下:


《动态范围规划(调整)Dynamic Range Control的一些心得(四)》Q和omga都可以用上面的元件值求出来、

不同的Q值对应不同频响

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》


上面提到的都是模拟域概念,说的这里,不得不提一下“分音器”


分音器 是 电子滤波器 在音频上的应用。由于市面上大部分单独的扬声器单元无法在人耳可闻的频率范围(20Hz~20kHz)内,将所有频率成分以足够的音压、够低的失真完整重现,多数高传真扬声器会由若干不同扬声器单元组成、分别负责不同频率范围的重现。分音器的功能便是将电子信号依据事先设置的频率范围分离、并输入至相对应的单元,使它们能够如预期般地工作。


这种滤波器最早也就是来源于模拟域,但我们要数字化处理,一般使用的数字滤波器,所以需要转换。


以下是Z变换到S变换
dsys = tf( [1 0], [1 -1], 1 ); %系统传递函数z/(z-1),采样时间1s

csys = d2c( dsys, ‘tustin’ ); %采用双线性变换

[num, den] = tfdata( csys, ‘v’ );%获得s传函的分子和分母

一下是S变换到Z变换

H(S)=(s-1)/(s^2+4s+5)

H=tf([1 -1],[1 4 5]);

Hd=c2d(H,0.1,’tustin’);%零阶保持


Sallen-Key低通:

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》

Sallen-Key高通:

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》

所有偶数阶的LR滤波器参数表:

http://www.linkwitzlab.com/filters.htm#2

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》


Butterworh的模拟传递函数原型:

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》


根据上面的传递函数,使用matlab中的tf、c2d等函数得到数字滤波器的分子分母,我们假设f0=300Hz,fs=16kHz,得到滤波器特性如下:

LR2

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》

波特图,看看是不是符合12dB每倍频下降的特性

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》

BW和LR滤波器相比较,验证LR2的sum要强于BW sum (看下面的淡蓝色的LR2,sum,是平坦的)

《动态范围规划(调整)Dynamic Range Control的一些心得(四)》


现在Lowpass Highpass的滤波器系数你也获取了,再回到dualband DRC说说吧,兜了一大圈了,实际上就是为了解决很好的分频带的问题。

对于DRC,你只要分别进行高低通滤波,然后对不同频段的内容进行不同的DRC增益放大(这就是分band的含义)至于高低bandDRC怎么分,就看你自己怎么用了。


附带几个有用的链接:讨论:

http://www.linkwitzlab.com/filters.htm#2

http://www.linkwitzlab.com/crossovers.htm

https://www.dsprelated.com/showthread/comp.dsp/91621-1.php

http://www.avsforum.com/forum/155-diy-speakers-subs/1642074-difference-between-linkwitz-riley-butterworth-crossover.html

    原文作者:动态规划
    原文地址: https://blog.csdn.net/book_bbyuan/article/details/72722809
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞