Skip to content

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 image

Fig 2 : Peak appear here and there, often after a change in scaling but not all the time related to scaling image

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 image

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

Edited by vaillancour