[linux-audio-dev] resampling

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

Subject: [linux-audio-dev] resampling
From: est_AT_hyperreal.org
Date: ma elo    16 1999 - 12:15:05 EDT


Eli Brandt discourseth:
> est_AT_hyperreal.org wrote:
> > Erik de Castro Lopo discourseth:
> > > I'm looking to get signal-to-noise ratios of 120dB to match current
> > > state of the art analog-to-digital and digital-to-analogue converter
> > > technology. I'm not afraid to do some heavy maths and Octave is my
> > > friend :-).
> >
> > Hmm..maybe I'll need to rip resampling out of libsndfile! I'm working
> > as a total primitive here. First I did linear resampling. Then I did
> > quadratic, deriving it from first principles because I didn't have a
> > reference at hand. Are there better alternatives? Some kind of
> > spline thing perhaps?
>
> The ideal, and 120 dB S/N is aiming pretty close, is interpolation
> with a sinc function, appropriately dilated in the subsampling case.
> You can think of it as an analog reconstruction followed by resampling.
> Julius Smith has theory and GPL'ed C code at
> http://www-ccrma.stanford.edu/~jos/resample/index.html

Yes..I'd checked that out..too slow for my purposes. :|

Note also, my application requires variable-factor resampling of
unpredictable pieces of the input. :)

> Spline and Lagrange-polynomial interpolation are impractical for
> resampling of that quality. For less difficult jobs they're probably
> faster, and certainly require less memory, than windowed-sinc --
> I'd be curious to see a comparison.

Me too! I haven't even tested what quadratic (I assume that comes
under `Lagrange-polynomial'?) gets me over linear.

> An interesting comparison of sox's implementation of linear, sinc, and
> polyphase resampling:
> http://eakaw2.et.tu-dresden.de/~andreas/resample/resample.html

Thanks for pointing this out.

Eric


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

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:25:52 EST