Skip to content

Tuning of Q-format of CLDFB reverb parameters

Basic info

As part of porting work, we noticed that the Q-format of the CLDFB reverb parameters is probably far from optimal. These are defined in two sets

For ParamBin

    Word32 parametricReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX]; /* Q26 */
    Word32 parametricReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX]; /* Q31 */
    Word32 parametricEarlyPartEneCorrection_fx[CLDFB_NO_CHANNELS_MAX];      /* Q28 */

For FastConv

    Word32 fastconvReverberationTimes_fx[CLDFB_NO_CHANNELS_MAX]; /* Q26 */
    Word32 fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX]; /* Q31 */

Discussing with Juha Vilkamo who is the author of the reverb, he mentioned that it is possible for the energy correction to be higher than one. This means that Q31 is not correct here. However, it is not expected that there needs to be a lot of amplication so it might be reasonable to go with something like Q26 for this. This would allow for 15 dB amplification per band if necessary.

This affects further reverb porting work so it would be good to do the change now if possible.