• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: 64bit processing - Why?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: 64bit processing - Why?
      • From: Ethan Funk <email@hidden>
References: 
 >Re: 64bit processing possible? (From: Evan Olcott <email@hidden>)
 >Re: 64bit processing possible? (From: William Stewart <email@hidden>)
 >Re: 64bit processing possible? (From: Brian Willoughby <email@hidden>)
 >Re: 64bit processing possible? (From: David Duncan <email@hidden>)
 >Re: 64bit processing possible? (From: Brian Willoughby <email@hidden>)
 >64bit processing - Why? (From: Ethan Funk <email@hidden>)
 >Re: 64bit processing - Why? (From: Brian Willoughby <email@hidden>)
 >Re: 64bit processing - Why? (From: Ethan Funk <email@hidden>)
 >Re: 64bit processing - Why? (From: Kyle Sluder <email@hidden>)

  • Prev by Date: Re: 64bit processing - Why?
  • Next by Date: Re: 64bit processing - Why?
  • Previous by thread: Re: 64bit processing - Why?
  • Next by thread: Re: 64bit processing - Why?
  • Index(es):
    • Date
    • Thread