動態範圍規劃(規整、調整)Dynamic Range Control或者Dynamic Range Processor,在信號處理或者語音處理領域中,用的非常普遍了,但是想仔細理解一下里面的一些設置、用法。還是需要一些心思好好研究一下的。
一般這裏提及的都是數字信號處理裏面的概念,對應相類似的模擬信號處理的有ALC(比如SSM2167)或者AGC。當然都是增益調整的模塊,就筆者感覺而言,DRC(或者DRP)側重於從數字域上對增益進行有選擇、有目的地調整,以保證最大信號有合適的headroom,中間信號得到合適的amplify,小信號或者底噪被cutoff掉。
下面是一段典型的語音信號,人說的的動態範圍變化是非常大的,可以看到有底噪,有較大的peak點,中等幅度的信號還有被調整的空間。
隨隨便便加一個增益是非常危險的,就拿最大值來說吧,只有不到1dB的增益放大空間,很容易就Clipping。而那些低噪聲是你不像放大的。
DRC的block圖,我覺得matlab官網給的解釋就非常完美
https://cn.mathworks.com/help/audio/examples/multiband-dynamic-range-compression.html
https://cn.mathworks.com/help/audio/ug/dynamic-range-control.html
分解動作:
1、由線性域轉化到對數域x→xdB
2、計算增益,求出差值gc=xsc−xdB
3、增益平滑gc →gs,加入make-up
Gain
gs→gm
4、反變化到線性域,進行增益相乘,y=glin×x