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.