Re: [linux-audio-dev] float a/d (was Linux support for IEEE1394 mLAN?)

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

Subject: Re: [linux-audio-dev] float a/d (was Linux support for IEEE1394 mLAN?)
From: Tom Pincince (stillone_AT_snowcrest.net)
Date: Wed Sep 27 2000 - 22:40:16 EEST


>- traditional high quality 24+bit ADCs/DACs
>- convert the 24bit input values (from the ADC) to 64bit double
precision floats
>- do all computations using the double format (because the speed loss
over
>using 32bit floats is not that big as you might think)
>- at output stage truncate/round the 24 upper bits of the 64bit double
to a
>24bit word (integer) and send it to the DAC.

>If that moves an int to/from float conversions to hardware, it might be

>a good idea. I'm not sure how expensive the conversions are with
respect
>to the main DSP stuff: if it is only 1% of all processing, then we
might
>want to have or not to have the conversions in hardware.

OK, this is the kind of info that I am looking for. Benno suggests
converting the 24 bit integers from the adc to float within the
computer. Juhana recognizes some benefit to converting to float outside
the computer but doesn't know how much overhead is associated with
converting inside the computer. This allows me to ask more detailed
questions. Also consider this. On the dac side of the issue, a trend
that has already started is that of transmitting digitally to a self
powered monitor with a built in dsp crossover that outputs to dac's that
are built into the input stage of the power amps. With a system like
mLAN there are so many channels available that one could do the
crossover dsp within the computer then multiplex the filtered signals
and send them to the monitor. The monitor would only need a
demultiplexer to feed the individual dac's, not dedicated dsp.
Economics suggests that this technique is inevitable. This would also
be great because one could fine tune the crossover for a given
installation using a gui, and with some high quality mic's at the
listening position, automation is possible. This brings up the issue
of low pass, band pass, and high pass dsp filters.

So here are some detailed questions. These questions relate to defining
an audio production environment where audio is converted to digital as
close to the source as possible, and is kept digital as long as possible
before being converted to sound. Also the digital resolution is higher
than the targeted consumer format so that low level rounding/ truncating
errors are eliminated in the final bit decimation process.

1) In a digital mixing environment, where everything is a plug-in, is
it preferred to convert the audio to float before performing dsp always,
most of the time, occasionally, or never? Benno suggests converting to
64 bit double precision float as policy.

2) When converting audio samples to float, either from the soundcard or
from hd, is the overhead associated with this conversion high enough
that storing audio to disk as float or delivering audio from the
soundcard as float would provide a meaningful performance gain, since
conversion immediately prior to dsp would no longer be necessary? Also
consider the overhead of converting back to integer for final output,
since this can also be eliminated by using float dac's.

3) Are the currently superior low pass, band pass, and high pass
filters using float or integer math?

>What is a high quality 24-bit DAC? Or ADC? Last I checked the 24-bit
only
>means the width of the data port, not the quality.

The best adc that I have read about still swamps the lower 4 bits with
noise. DAC's are a different beast and I don't know where they are right
now.

Tom


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

This archive was generated by hypermail 2b28 : Wed Sep 27 2000 - 23:05:21 EEST