downmixing difference between float and fixed-point (DFT - stereo)
Basic info
Bug description
While investigating #1125 (closed)
When comparing the down mixed signal an the encoder just before entering the front Pre-processing, overall the difference signal between float and fixed-point is uniform (fig. 1), but sometime it exhibits some peak (fig. 2) and sometime some frequency are missing (Fig 3).
On the 3 figures below, from top to bottom:
- floating point input_DMX
- fixed-point input_DMX (unscaled to float)
- difference
- Q_inp[0]
- Spectrum on the 3rd figure only (red : float, blue : fix-point, green : diff)
Fig 1 : difference in the range of ±50, uniformly distributed
Fig 2 : Peak appear here and there, often after a change in scaling but not all the time related to scaling
Fig 3 : Here, we can see on the spectrum that the fixed point is not able to match the energy of the the low frequency toned, difference signal ± 1600
tagging @multrus , @fotopoulou as this touch DFT stereo
Ways to reproduce
You can obtain check it by running the following command for both float and fix and output the dmx signal as done in the floating point around lines 460 of ivas_cpe_enc.c (here I used input32_fx for the fixed point output)
IVAS_cod -STEREO 1 16400 48.\ivas-codec\scripts\testv\stvST48c.wav bit16400