rbj wrote:
>what do you mean be "non-ideal"?  that it's not an ideal brick wall LPF?
 it's still LTI if it's some other filter **unless** you're meaning that
the possible aliasing.

Yes, that is exactly what I am talking about. LTI systems cannot produce
aliasing.

Without an ideal bandlimiting filter, resampling doesn't fulfill either
definition of time invariance. Not the classic one in terms of sample
shifts, and not the "common real time" one suggested for multirate cases.

It's easy to demonstrate this by constructing a counterexample. Consider
downsampling by 2, and an input signal that contains only a single sinusoid
with frequency above half the (input) Nyquist rate, and at a frequency that
the non-ideal bandlimiting filter fails to completely suppress. To be LTI,
shifting the input by one sample should result in a half-sample shift in
the output (i.e., bandlimited interpolation). But this doesn't happen, due
to aliasing. This becomes obvious if you push the frequency of the input
sinusoid close to the (input) Nyquist frequency - instead of a half-sample
shift in the output, you get negation!

>we draw the little arrows with different heights and we draw the impulses
scaled with samples of negative value as arrows pointing down

But that's just a graph of the discrete time sequence.

>you could do SRC without linear interpolation (ZOH a.k.a. "drop-sample")
but you would need a much larger table
>(if i recall correctly, 1024 times larger, so it would be 512Kx
oversampling) to get the same S/N.  if you use 512x
>oversampling and ZOH interpolation, you'll only get about 55 dB S/N for an
arbitrary conversion ratio.

Interesting stuff, it didn't occur to me that the SNR would be that low.
How do you estimate SNR for a particular configuration (i.e., target
resampling ratio, fixed upsampling factor, etc)? Is that for ideal 512x
resampling, or does it include the effects of a particular filter design
choice?

Ethan D




On Tue, Sep 5, 2017 at 9:44 AM, robert bristow-johnson <
r...@audioimagination.com> wrote:

>
>
> ---------------------------- Original Message ----------------------------
> Subject: Re: [music-dsp] Sampling theory "best" explanation
> From: "Ethan Duni" <ethan.d...@gmail.com>
> Date: Tue, September 5, 2017 1:07 am
> To: "A discussion list for music-related DSP" <
> music-dsp@music.columbia.edu>
> --------------------------------------------------------------------------
>
> > rbj wrote:
> >
> >>1. resampling is LTI **if**, for the TI portion, one appropriately scales
> > time.
> >
> > Have we established that this holds for non-ideal resampling? It doesn't
> > seem like it does, in general.
>
> what do you mean be "non-ideal"?  that it's not an ideal brick wall LPF?
>  it's still LTI if it's some other filter **unless** you're meaning that
> the possible aliasing.
>
>
> > If not, then the phrase "resampling is LTI" - without some kind of
> "ideal"
> > qualifier - seems misleading. If it's LTI then what are all these aliases
> > doing in my outputs?
> >
> >>no one *really* zero-stuffs samples into the stream
> >
> > Nobody does it *explicitly*
>
> people using an IIR filter for reconstruction might be putting in the
> zeros explicitly.
>
> > but it seems misleading to say we don't
> > *really* do it. We employ optimizations to handle this part implicitly,
> but
> > the starting point for that is exactly to *really* stuff zeroes into the
> > stream. This is true in the same sense that the FFT *really* computes the
> > DFT.
> >
> > Contrast that with pedagogical abstractions like the impulse train model
> of
> > sampling. Nobody has ever *really* sampled a signal this way, because
> > impulses do not exist in reality.
>
> it's the only direct way i can think of to demonstrate that we are
> discarding all of the information between samples, yet keeping the
> information at the sampling instances. it's what dirac impulses are for the
> "sampling" or "sifting" property (but the math guys are unhappy if we don't
> immediately surround that with an integral, they don't like naked dirac
> impulse functions).
>
>
> >
> >>7. and i disagree with the statement: "The other big pedagogical problem
> > with impulse train representation is that it can't be graphed in a
> >useful
> > way." graphing functions is an abstract representation to begin with, so
> > we can use these abstract vertical arrows to represent >impulses.
> >
> > That is my statement, so I'll clarify: you can graph an impulse train
> with
> > a particular period. But how do you graph the product of the impulse
> train
> > with a continuous-time function (i.e., the sampling operation)? Draw a
> > graph of a generic impulse train, with the scaling of each impulse
> written
> > out next to it? That's not useful.
>
> and that's not how we do it, of course.  we draw the little arrows with
> different heights and we draw the impulses scaled with samples of negative
> value as arrows pointing down.  just as it might look if you had nascent
> deltas of *fixed* width in time, and multiplied those times your continuous
> input signal.
>
> >
> >>if linear interpolation is done between the subsamples, i have found that
> > upsampling by a factor of 512 followed by linear interpolation >between
> > those teeny-little upsampled samples, that this will result in 120 dB S/N
> >
> > What is the audio use case wherein 512x upsampling is not already
> > sufficient time resolution? I'm curious why you'd need additional
> > interpolation at that point.
> >
>
> asynchronous sample rate conversion.  SRC with a conversion ratio of
> 1.00000001 (this is the ASRC case when connecting two devices each with
> their own master clocks, no one is a slave) or a ratio of 48000/44056.01 or
> a ratio of pi (dunno why anyone would want that). just an arbitrary SRC
> ratio that is not k/512 where k is some integer.  if k *is* known to be an
> integer, you would not need to compute *two* polyphase output subsamples
> and linearly interpolate.
>
> oh, and also for an arbitrary precision delay that is not expressed as
> k/512 samples delay where k is some integer.
>
> see, the deal is that any of the polynomial interpolations; Lagrange,
> Hermite, B-spline (all of which includes linear interpolation as their
> 1st-order case) has infinite resolution, but the polyphase FIR lookup table
> does not.  but you can combine the two to get an optimally-designed
> brickwall LPF (using Parks-McClellan or using firls()) *and* get
> arbitrarily fine resolution.
>
> you could do SRC without linear interpolation (ZOH a.k.a. "drop-sample")
> but you would need a much larger table (if i recall correctly, 1024 times
> larger, so it would be 512Kx oversampling) to get the same S/N.  if you use
> 512x oversampling and ZOH interpolation, you'll only get about 55 dB S/N
> for an arbitrary conversion ratio.  and you can do it with a *smaller*
> unsample ratio than 512 if you use 3rd order polynomial and that's where it
> makes a difference between the choice of Lagrange or Hermite or B-spline,
> but that costs much more computation.  you have to compute 4 adjacent
> subsample values (instead of 2 for linear interpolation) and then you have
> to do a big nasty 3rd-order polynomial to weight *each* of those 4 samples
> and combine.  with linear interpolation, an 8K coefficient table is not so
> damn big and evaluating 2 subsamples is not so bad and linear interpolation
> is not so bad.  so that's where i made an "engineering decision" to stop
> there.
>
> if there is a case where the memory is soooo tight that the coefficient
> table is too costly, i have just done 3rd-order Hermite.  i can show you
> some SHArC code that does it as optimally as i could (i dunno, more than a
> dozen instructions, but not two dozen).  so it's only 3rd-order, but the
> derivatives are continuous and it doesn't sound half bad.  B-spline would
> probably be better but the pre-interpolated data needs a little bit of a
> high-shelf boost to compensate for the stark sinc^4 rolloff in the baseband.
>
> linear interpolation has a sinc^2 roll off and with 512x oversampling, no
> one gives a rat's ass about that roll off.
>
>
>
> "That's my story and I'm sticking to it."  :-)
>
>
>
> --
>
> r b-j                  r...@audioimagination.com
>
> "Imagination is more important than knowledge."
>
> _______________________________________________
> dupswapdrop: music-dsp mailing list
> music-dsp@music.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/music-dsp
>
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to