Re: [linux-audio-dev] LADSPA 64bit FP support ?

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] LADSPA 64bit FP support ?
From: Paul Barton-Davis (pbd_AT_Op.Net)
Date: Wed Mar 22 2000 - 07:01:16 EET


>I'd like to see a real world example where you have a signal that is full 24
>bits peak to peak and you can hear some distortion in the low 4 bits.
>Because other than full scale peak to peak signals you will not lose the
>lower bits using 32 bit FP.

Very true, but sadly irrelevant. As Bill Gribble put it to me: the
bits-in == bits-out test is fundamental. If you can't record a digital
data stream and reproduce it bit-for-bit, then you're in trouble from
the start. a 32 bit float is in extreme danger of failing to do this
if there are any attempts at symmetric transforms on 24 bit integer
data that require use of the exponent in an intermediate value. Given
the tendency of engineers to want to do tracking with a hot signal, it
doesn't take much to get a 24 bit signal to the point where mixing,
say, 10 of them together gets a value that when doubled, exceeds the
capacity of the mantissa. When you halve it again, there's a good
chance that bits-in != bits-out.

>You are mixing up terms here. 32 bit FP has 151 bits of dynamic range
>(=log2(FLT_MAX/FLT_EPSILON)), but only 24 bits of signal to noise. You don't
>need as much SNR as you do dynamic range. Most manufacturers of digital
>equipment mix up these terms as well in their published specs. A 24 bit int
>signal has 24 bits of SNR, but the dynamic range depends on the amplitude of
>the signal. With FP the dyanamic range doesn't depend on the amplitude for
>any practical purpose.

Can you explain this some more ? How can the dynamic range of a 24 bit
int be dependent on the amplitude of the signal, when the FP one is
not ? My understanding is that the dynamic range for any signal is
normally meant as a *potential*, as you pointed out:
log2(MAX_VAL/MIN_VAL), or about 114dB for 24 bit integers. Its surely
beside the point if a particular signal never contains any sample
values gets close to MAX_VAL. We can say that a particular signal has
low dynamic range, but thats different than saying that a 24 bit
sample representation has the same range as that particular signal,
surely ?

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Mar 22 2000 - 07:31:56 EET