Re: 64bit processing - Why?
Re: 64bit processing - Why?
- Subject: Re: 64bit processing - Why?
- From: Brian Willoughby <email@hidden>
- Date: Thu, 30 Jul 2009 18:34:12 -0700
On Jul 30, 2009, at 18:09, Kyle Sluder wrote:
On Thu, Jul 30, 2009 at 5:57 PM, Ethan
Funk<email@hidden> wrote:
If I go from single to double, then *dither* back to single, I
don't lose
anything from the original single. I should be able to do that
over and
over again with out degradation correct? Or is my assumption wrong
- is the
dither "noise" additive?
A bit of information theory will help you here: yes, you have
irrevocably lost precision. You will lose information every time you
perform this operation.
Dither adds noise, so you don't have the original signal any more.
Also, it's important to keep in mind how you get from single to
double. If you're merely converting without processing, then you're
merely storing 32 bits in a 64-bit register. However, the typical
mechanism which promotes from single to double is a multiply
operation, which creates a potentially infinite number of bits every
time, so preserving as many of them as possible is probably better -
to a point.
It also help to consider the internal operation of processors when
performing math. Most multiply operations which work on 32-bit
numbers produce a 64-bit result. Thus, even starting with pure 32-
bit numbers you're losing precision. The details between fixed point
and floating point are slightly different, but there's always some
loss. Promoting single to double before multiplication allows
preservation of more precision. You want to hang on to those
fractional bits until the last step, just like analog processing
maintain signals that are quieter than the noise floor.
Brian Willoughby
Sound Consulting
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden