-1
$\begingroup$

I am processing an audio signal with CS4244 codec at 24 bits and 48kHz. Every 2048 samples the FFT is calculated and its amplitude. Without input signal I get FFT values ​​close to 30dB. With maximum input values ​​(overflow) I get values ​​of 90dB, with a scale of 0 to 120dB. Why not get a dynamic range of 100-110dB as is logical in a 24bit process? Any ideas? Thanks.

$\endgroup$
2
  • 1
    $\begingroup$ PLEASE DON'T SCREAM IN YOUR TITLE! $\endgroup$ Aug 7, 2019 at 13:38
  • $\begingroup$ some error comes from arithmetic that rounds $\endgroup$
    – user28715
    Aug 7, 2019 at 13:52

1 Answer 1

0
$\begingroup$

Try using an input of a very pure sine wave at an exact multiple of 23.4375 Hz. A sinusoid that is integer periodic in the FFT length will show a maximum magnitude FFT result for a maximum (for the data type) amplitude input. Otherwise the energy of a non-saturating input will likely get spread into multiple FFT result bins, resulting in a lower peak magnitude.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.