From: Tim Wescott on
On 07/29/2010 06:57 AM, Dirk Bruere at NeoPax wrote:
> On 29 July, 14:55, Rune Allnor<all...(a)tele.ntnu.no> wrote:
>> On 29 Jul, 15:50, Dirk Bruere at NeoPax<dirk.bru...(a)gmail.com> wrote:
>>
>>> If we have a 24 bit input signal at 48kHz is there any benefit to be
>>> had processing it at 24/96?
>>
>> The data sampling parameters at the ADC decide what can be done
>> with the data. There are no benefits to cranking up the processing
>> speed unless you already have a processing chain specifically
>> tuned to deal with 24bit / 96 kHz data.
>>
>> Rune
>
> So interpolating to 96kHz will not preserve any extra information
> during subsequent arithmetic?

That depends on the subsequent arithmetic. Up-sampling by some integer
factor may well make the math easier during the design phase, and would
make the math superficially simpler during run, although any speed
advantages from 'simpler' math would, I think, be far outweighed by the
faster sampling rate.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
From: robert bristow-johnson on
On Jul 29, 9:50 am, Dirk Bruere at NeoPax <dirk.bru...(a)gmail.com>
wrote:
> If we have a 24 bit input signal at 48kHz is there any benefit to be
> had processing it at 24/96?


what processing did you have in mind? only linear operations?
anything non-linear?

if you're planning on some emulation of vacuum tube pre-amps or amps
(just to get that "warm sound"), 96 kHz might not be enough.

r b-j
From: Vladimir Vassilevsky on


robert bristow-johnson wrote:


> if you're planning on some emulation of vacuum tube pre-amps or amps
> (just to get that "warm sound"), 96 kHz might not be enough.

You don't have to.

0. Approximate nonlinearity by polynomial.
1. Approximate signal by polynomial.
2. Apply nonlinearity and get a polynomial.
3. Compute Fourier from polynomial in closed form.
4. Drop would-be aliased components.
5. Compute inverse Fourier, also closed form.
6. Generate signal back.


Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com

From: Tim Wescott on
On 07/29/2010 10:05 AM, Vladimir Vassilevsky wrote:
>
>
> robert bristow-johnson wrote:
>
>
>> if you're planning on some emulation of vacuum tube pre-amps or amps
>> (just to get that "warm sound"), 96 kHz might not be enough.
>
> You don't have to.
>
> 0. Approximate nonlinearity by polynomial.
> 1. Approximate signal by polynomial.
> 2. Apply nonlinearity and get a polynomial.
> 3. Compute Fourier from polynomial in closed form.
> 4. Drop would-be aliased components.
> 5. Compute inverse Fourier, also closed form.
> 6. Generate signal back.

Yes, but will it sound like the tubes have been dipped in LN2?

http://www.cryoset.com/catalog/product_reviews_info.php?products_id=32&reviews_id=6.

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html
From: robert bristow-johnson on
On Jul 29, 1:05 pm, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote:
> robert bristow-johnson wrote:
> > if you're planning on some emulation of vacuum tube pre-amps or amps
> > (just to get that "warm sound"), 96 kHz might not be enough.
>
> You don't have to.
>
> 0. Approximate nonlinearity by polynomial.
> 1. Approximate signal by polynomial.

this assumption is not necessary. we just need to view the signal as
bandlimited to the original Nyquist before upsampling.

> 2. Apply nonlinearity and get a polynomial.

what you get is the signal with images (of some form) going up to N
times the original bandlimit, where N is the polynomial order, and
some of those images may be folded over, depending on the upsampling
ratio.

> 3. Compute Fourier from polynomial in closed form.

why bother? filtering in the time domain is cheap enough and good
enough.

> 4. Drop would-be aliased components.

and hope that none of them aliases made it back into your original
baseband. if they do, you might be fucked.

> 5. Compute inverse Fourier, also closed form.

i never left the time domain.

> 6. Generate signal back.

Vlad, i've been here. the polynomial order depends on the nature of
the nonlinearity in your processing. and the upsampling ratio, R,
depends on the order of the polynomial.

let's say, for shits and grins, that a 7th-order polynomial is
sufficient to approximate some *static* tube curve that you want to
emulate. it turns out that oversampling by 4 suffices because the
images above the 4th (the 5th, 6th, and 7th), will, at worst, fold
back to be a little higher than 3x, 2x, and 1x times the original
bandlimit. since we're gonna filter out them sons-of-bitches out
before we downsample, we don't care if they're aliased or not.

with 2x oversampling, you can get away with a 3rd-order polynomial, no
higher.

so the necessary oversampling ratio is

R > (N+1)/2

where N is the polynomial order.

this, of course, means that we need *good* oversampling so that the
spectrum above the original bandlimit remains virtually empty of
energy content. anything higher *could* potentially fold back into
the basebase and become an audible, nasty, inharmonic alias.

r b-j