1、DRC功能介绍
Dynamic Range Control(DRC)动态范围控制提供压缩和放⼤能⼒,可以使声⾳听起来更柔和或更⼤声,即⼀种信号幅度调节⽅式。 铝型材滑轨
DRC⼴泛应⽤于⾳频信号处理领域,例如助听器中最常见的宽动态范围压缩⽅法(Wide Dynamic Range Compression,WDRC)、⾳频信号处理中最常⽤的⾃动增益控制(Automatic Gain Control,AGC)⽅法等。动态范围控制,顾名思义,是将输⼊⾳频信号的动态范围映射到指定的动态范围。通常映射后的动态范围⼩于映射前的动态范围,因此称之为动态范围压缩。⾳频信号可以进⾏整体的动态范围控制;也可以划分为若⼲⼦带分别进⾏动态范围控制。⼀般这⾥提及的都是数字信号处理⾥⾯的概念,对应相类似的模拟信号处理的有ALC(⽐如SSM2167)或者AGC。当然都是增益调整的模块,就笔者感觉⽽⾔,DRC(或者DRP)侧重于从数字域上对增益进⾏有选择、有⽬的地调整,以保证最⼤信号有合适的headroom,中间信号得到合适的amplify,⼩信号或者底噪被cutoff掉。
1.1 动态范围控制可以做的事情
根据环境匹配⾳频信号电平:也就是杜⽐volume leveler的作⽤;
保护ADC使其不会过载:在⼴播信号发送时,发送器有峰值限制,超过这个峰值会使得发送器过载。动态范围控制可以压缩原始信号的动态,使发送信号的动态范围满⾜发送器的要求。在⾳频领域,将数字⾳频信号送到DAC之前,⾳频智能功放算法中的DRC可以实现扬声器振幅保护;
优化信息:也就是使⾳频信号使⽤到满幅的动态范围;
多聚
压制低电平的噪声:DRC的噪声门有⼀定的降噪效果;
1.2 动态范围控制的类型
动态范围压缩器(Dynamic range compressor):减弱超过给定阈值的⼤声信号的⾳量;可以保护硬件,增加整体响度;
动态范围限幅器(Dynamic range limiter):是压缩器的⼀种,可以限制超过给定阈值的信号;
动态范围扩展器(Dynamic range expander):减弱低于给定阈值的⼩声信号的⾳量;可以使得⼩信号听起来更加⼩声
噪声门(Noise gate):是扩展器的⼀种,可以限制低于给定阈值的信号。
2、DRC功能实现
下⾯是matlab官⽹给出的DRC block图:
将原始信号从线性值转换为dB值: x->x ,所有的DRC系统使⽤的增益信号都是⽤dB值进⾏处理。x = 20*log (x)
增益计算: 通过将dB信号传递到静态特征⽅程(DRC静态曲线),获取差值g =x -x ;
增益平滑: g ->g ;使⽤attack time、release time以及hold time作为系数对信号进⾏平滑。也就是对于台阶信号,增益信号并不是台阶的,使⽤指数或者对数函数进⾏平滑过渡。Attack time和release time为对应增益信号从最终值的10%到90%所花费的时间。Hold time是在增益被施加之前的延时周期。为什么会有hold time?因为即使使⽤很短的attack time,limiter仍然会出现超调量,这可以在增益平滑中使⽤⼀个很短的时延来解决,例如300微秒。增益平滑使⽤的是⼀阶递归滤波器:g (n) = (1 − k) · g (n − 1) + k · g (n), k=AttackTime,ReleaseTime; 压力容器封头添加make-up gain(对于压缩器和限幅器): g ->g dB值到线性值的转换: g ->g 在原始⾳频信号中应⽤计算出来的增益信号: y=g * x
名词解释:
增益信号:在DRC中要确定对离散信号的每⼀个样本使⽤多少增益,也就是给每⼀个样本值分别乘以⼀个系数,这个系数就是增益,这个增益序列就是增益信号;增益信号也叫做DRC的控制信号。
RMS:root mean square 均⽅根。前⾯也提到了,DRC的增益调整基本上是三段:对底噪,中等幅度信号,幅度较⼤的信号的三段不同的处理,⽐如:底噪:Cutoff,attenuation 中等幅度信号:Expander按摩腰靠
幅度较⼤,防⽌削顶的:Limiter促进剂ns
从教科书的⽤意来讲,它的概念还是很复杂的,下⾯这幅图详细描述了 Static curve的不同的Gate:上图⽤到的⼏个阈值做下说明:LT:Limiter threshold CT:Compressor threshold ET:Expander threshold
NT:Noise Gate
dB dB 10c sc dB c s s s c s m
m lin
lin
稍微复杂的DRC要求拐点部分能平滑过渡。。。所以上⾯描述的只能称之为 Hard Knee 硬拐点。
经过上⾯的描述,⼀个DRC应该初具规模了。不过,实际上DRC作⽤时除了幅度变化⽅⾯外,还得考虑时间问题呢。
attack和release时间就是专门做这个的,⼀般来说,作⽤⼀个很⼤的Gain,是需要时间慢慢加上去的,作⽤⼀个较⼩的G(衰减),也是需要慢慢减下去的,这样能保证平稳过度。
Attack / Release:
代表效果器开始作⽤的起始时间和停⽌作⽤的释放时间。关于这两个概念,
图1
图2
图 1 和图 2 分别显⽰的是⾳频被压缩前和被压缩后的图⽰画⾯。在图2 中,我们发现,⾳频并不是⼀开始就被压缩的,⽽是有⼀个明显的弧度。这个弧度所⽤的时间就是 Attack(起始时间)。同理,在⾳频结束压缩之后,也不是马上就恢复到原有的⾳量的,也有⼀个弧度。这个弧度所⽤的时间就是 Release(释放时间)。通过这两个时间的设定,我们可以控制效果器作⽤的缓冲时间,如果没有这段时间,声⾳就会听上去不⾃然。在效果器中,Attack 和 Release 这两个选项的单位通常都是毫秒。
增益平滑举例:
Examine a trivial case of dynamic range compression for a two-step input signal. In this example, the compressor has a threshold of -10 dB, a compression ratio of 5, and a hard knee.
平板电脑支撑架