Okay, no big deal. It's easy to come off the wrong way in complicated, fast
moving email threads.

Ethan D

On Wed, Sep 6, 2017 at 6:37 PM, Nigel Redmon <earle...@earlevel.com> wrote:

> Ethan, I wasn't taking a swipe at you, by any stretch. In fact, I wasn't
> even addressing your ADC comment. It was actually about things like the
> idea of making DACs with impulses. As I noted, we don't because there are
> ways that are easier and accomplish the same goal, but it is feasible. I've
> had people say in the past to me it's absurd, and I've assured them that a
> reasonable and practical approximation of it would indeed produce a
> reasonable approximation of a decent DAC. That's a pretty relative
> statement because the quality depends on how hard you want try, but I
> subsequently saw that Julius Smith make the same assertion on his website.
>
> Sorry you misinterpreted it.
>
> On Sep 7, 2017, at 5:34 AM, Ethan Duni <ethan.d...@gmail.com> wrote:
>
> Nigel Redmon wrote:
> >As an electrical engineer, we find great humor when people say we can't
> do impulses.
>
> I'm the electrical engineer who pointed out that impulses don't exist and
> are not found in actual ADCs. If you have some issue with anything I've
> posted, I'll thank you to address it to me directly and respectfully.
>
> Taking oblique swipes at fellow list members, impugning their standing as
> engineers, etc. is poisonous to the list community.
>
> >What constitutes an impulse depends on the context—nano seconds,
> milliseconds...
>
> If it has non-zero pulse width, it isn't an impulse in the relevant sense:
> multiplying by such a function would not model the sampling process. You
> would need to introduce additional operations to describe how this finite
> region of non-zero signal around each sample time is translated into a
> unique sample value.
>
> >For ADC, we effectively measure an instantaneous voltage and store it as
> an impulse.
>
> I don't know of any ADC design that stores voltages as "impulse" signals,
> even approximately. The measured voltage is represented through modulation
> schemes such as PDM, PWM, PCM, etc.
>
> Impulse trains are a convenient pedagogical model for understanding
> aliasing, reconstruction filters, etc., but there is a considerable gap
> between that model and what actually goes on in a real ADC.
>
> >If you can make a downsampler that has no audible aliasing (and you
> can), I think the process has to be called linear, even if you can make a
> poor quality one that isn't.
>
> I'm not sure how you got onto linearity, but the subject is
> time-invariance.
>
> I have no objection to calling resamplers "approximately time-invariant"
> or "asymptotically time-invariant" or somesuch, in the sense that you can
> get as close to time-invariant behavior as you like by throwing resources
> at the bandlimiting filter. This is qualitatively different from other
> archetypical examples of time-variant systems (modulation, envelopes, etc.)
> where explicitly time-variant behavior is the goal, even in the ideal case.
> Moreover, I agree that this distinction is important and worth
> highlighting.
>
> However, there needs to be *some* qualifier - the bare statement
> "(re)sampling is LTI" is incorrect and misleading. It obscures that fact
> that addressing the aliasing caused by the system's time-variance is the
> principle concern in the design of resamplers. The fact that a given design
> does a good job is great and all - but that only happens because the
> designer recognizes that the system is time-invariant, and dedicates
> resources to mitigating the impact of aliasing.
>
> >If you get too picky and call something non-linear, when for practical
> decision-making purposes it clearly is, it seem you've defeated the purpose.
>
> If you insist on labelling all resamplers as "time-invariant," without any
> further qualification, then it will mess up practical decision making.
> There will be no reason to consider the effects of aliasing - LTI systems
> cannot produce aliasing - when making practical system design decisions.
> You only end up with approximately-LTI behavior because you recognize at
> the outset that the system is *not* LTI, and make appropriate design
> decisions to limit the impact of aliasing. So this is putting the cart
> before the horse.
>
> The appropriate way to deal with this is not to get hung up on the label
> "LTI" (or any specialized variations thereof), but to simply quote the
> actual performance of the system (SNR, spurious-free dynamic range, etc.).
> In that way, everything is clear to the designers and clients: the system
> is fundamentally non-LTI, and deviation from LTI behavior is bounded by the
> performance figures. Then the client can look at that, and make an
> informed, practical decision about whether they need to worry about
> aliasing in their specific context. If not, they are free to say to
> themselves "close enough to LTI for me!" If so, they can dig into the
> non-LTI behavior and figure out how to deal with it. Insisting that
> everyone mislabel time-variant systems as LTI short-circuits that whole
> process and so undermines practical decision-making.
>
> Ethan D
>
> On Tue, Sep 5, 2017 at 1:05 AM, Nigel Redmon <earle...@earlevel.com>
> wrote:
>
>> As an electrical engineer, we find great humor when people say we can't
>> do impulses. What constitutes an impulse depends on the context—nano
>> seconds, milliseconds...
>>
>> For ADC, we effectively measure an instantaneous voltage and store it as
>> an impulse. Arguing that we don't really do that...well, Amazon didn't
>> really ship that Chinese garlic press to me, because they really relayed an
>> order to some warehouse, the shipper did some crazy thing like send it in
>> the wrong direction to a hub, to be more efficient...and it was on my
>> doorstep when I checked the mail. What's the diff...
>>
>> Well, that's the most important detail (ADC), because that defined what
>> we're dealing with when we do "music-dsp". But as far as DAC not using
>> impulses, it's only because the shortcut is trivial. Like I said, audio
>> sample rates are slow, not that hard to do a good enough job for
>> demonstration with "close enough" impulses.
>>
>> Don't anyone get mad at me, please. Just sitting on a plane at LAX at
>> 1AM, waiting to fly 14 hours...on the first leg...amusing myself before
>> going offline for a while
>>
>> ;-)
>>
>>
>> On Sep 4, 2017, at 10:07 PM, Ethan Duni <ethan.d...@gmail.com> wrote:
>>
>> 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.
>>
>> 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* 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.
>>
>> >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. That's just a generic impulse
>> train graph and a print-out of the sequence values. The useful graph here
>> is of the sample sequence itself.
>>
>> >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.
>>
>> Ethan D
>>
>> On Mon, Sep 4, 2017 at 1:49 PM, Nigel Redmon <earle...@earlevel.com>
>> wrote:
>>
>>> The fact that 5,17,-12,2 at sample rate 1X and
>>>> 5,0,0,0,17,0,0,0,-12,0,0,0,2,0,0,0 at sample rate 4X are identical is
>>>> obvious only for samples representing impulses.
>>>
>>>
>>> I agree that the zero-stuff-then-lowpass technique is much more obvious
>>> when we you consider the impulse train corresponding to the signal. But I
>>> find it peculiar to assert that these two sequences are "identical." If
>>> they're identical in any meaningful sense, why don't we just stop there and
>>> call it a resampler? The reason is that what we actually care about in the
>>> end is what the corresponding bandlimited functions look like, and
>>> zero-stuffing is far from being an identity operation in this domain. We're
>>> instead done constructing a resampler when we end up with an operation that
>>> preserves the bandlimited function -- or preserves as much of it as
>>> possible in the case of downsampling.
>>>
>>>
>>> Well, when I say they are identical, the spectrum is identical. In other
>>> words, they represent the same signal. The fact that it doesn’t make it
>>> a resampler is a different thing—an additional constraint. We only have
>>> changed the data rate (not the signal) when we insert zeros. Most of the
>>> time, we want to also change the signal (by getting rid of the aliases,
>>> that were above half the sample rate and now below). That’s why my article
>>> made a big deal  (point #3) of pointing out that the digital samples
>>> represent not the original analog signal, but a modulated version of it.
>>>
>>> Of course, we differ only in semantics, just making mine clear. When I
>>> say they represent the same signal, I don’t just mean the portion of the
>>> spectrum in the audio band or below half the sample rate—I mean the whole
>>> thing.
>>>
>>>
>>> On Sep 4, 2017, at 12:14 PM, Ethan Fenn <et...@polyspectral.com> wrote:
>>>
>>> First, I want to be clear that I don’t think people are crippled by
>>>> certain viewpoint—I’ve said this elsewhere before, maybe not it this thread
>>>> or the article so much.
>>>
>>>
>>> In that case I'd suggest some more editing is in order, since the
>>> article stated this pretty overtly at least a couple times.
>>>
>>> It’s more than some things that come up as questions become trivially
>>>> obvious when you understand that samples represent impulses (this is not so
>>>> much a viewpoint as the basis of sampling).
>>>
>>>
>>>  Here's the way I see it. There are three classes of interesting objects
>>> here:
>>>
>>> 1) Discrete time signals, which are sequences of numbers.
>>> 2) Scaled, equally-spaced ideal impulse trains, which are a sort of
>>> generalized function of a real number.
>>> 3) Appropriately bandlimited functions of a real number.
>>>
>>> None of these are exactly identical, as sequences of numbers are not the
>>> same sort of beast as functions of a real number. But obviously there is a
>>> one-to-one correspondence between objects in classes 1 and 2. Less
>>> obviously -- but more interestingly and importantly! -- there is a
>>> one-to-one correspondence between objects in classes 1 and 3. So any
>>> operation on any of these three classes will have a corresponding operation
>>> in the other two.
>>>
>>> This is what the math tells us. It does not tell us that any of these
>>> classes are identical to each other or that thinking of one correspondence
>>> is more correct than the other.
>>>
>>> The fact that 5,17,-12,2 at sample rate 1X and
>>>> 5,0,0,0,17,0,0,0,-12,0,0,0,2,0,0,0 at sample rate 4X are identical is
>>>> obvious only for samples representing impulses.
>>>
>>>
>>> I agree that the zero-stuff-then-lowpass technique is much more obvious
>>> when we you consider the impulse train corresponding to the signal. But I
>>> find it peculiar to assert that these two sequences are "identical." If
>>> they're identical in any meaningful sense, why don't we just stop there and
>>> call it a resampler? The reason is that what we actually care about in the
>>> end is what the corresponding bandlimited functions look like, and
>>> zero-stuffing is far from being an identity operation in this domain. We're
>>> instead done constructing a resampler when we end up with an operation that
>>> preserves the bandlimited function -- or preserves as much of it as
>>> possible in the case of downsampling.
>>>
>>> This is why it is more natural for me to think of the discrete signal
>>> and the bandlimited function as being more closely identified. The impulse
>>> train is a related mathematical entity which is useful to pull out of the
>>> toolbox on some occasions.
>>>
>>> I'm not really interested in arguing that the way I think about things
>>> is superior -- as I've stated above I think the math is neutral on this
>>> point, and what mental model works best is different from person to person.
>>> It can be a bit like arguing what shoe size is best. But I do think it's
>>> counterproductive to discourage people from thinking about the discrete
>>> signal <-> bandlimited function correspondence. I think real insight and
>>> intuition in DSP is built up by comparing what basic operations look like
>>> in each of these different universes (as well as in their frequency domain
>>> equivalents).
>>>
>>> -Ethan
>>>
>>>
>>>
>>> On Mon, Sep 4, 2017 at 2:14 PM, Ethan Fenn <et...@polyspectral.com>
>>> wrote:
>>>
>>>> Time variance is a bit subtle in the multi-rate context. For integer
>>>>> downsampling, as you point out, it might make more sense to replace the
>>>>> classic n-shift-in/n-shift-out definition of time invariance with one that
>>>>> works in terms of the common real time represented by the different
>>>>> sampling rates. So an integer shift into a 2x downsampler should be a
>>>>> half-sample shift in the output. In ideal terms (brickwall filters/sinc
>>>>> functions) this all clearly works out.
>>>>
>>>>
>>>> I think the thing to say about integer downsampling with respect to
>>>>> time variance is that it's that partitions the space of input shifts, 
>>>>> where
>>>>> if you restrict yourself to shifts from a given partition you will see 
>>>>> time
>>>>> invariance (in a certain sense).
>>>>
>>>>
>>>> So this to me is a good example of how thinking of discrete time
>>>> signals as representing bandlimited functions is useful. Because if we're
>>>> thinking of things this way, we can simply define an operation in the space
>>>> of discrete signals as being LTI iff the corresponding operation in the
>>>> space of bandlimited functions is LTI. This generalizes the usual
>>>> definition, and your partitioned-shift concept, in exactly the way we want,
>>>> and we find that ideal resamplers (of any ratio,
>>>> integer/rational/irrational) are in fact LTI as our intuition suggests they
>>>> should be.
>>>>
>>>> -Ethan F
>>>>
>>>>
>>>>
>>>> On Mon, Sep 4, 2017 at 1:00 AM, Ethan Duni <ethan.d...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hmm this is quite a few discussions of LTI with respect to resampling
>>>>> that have gone badly on the list over the years...
>>>>>
>>>>> Time variance is a bit subtle in the multi-rate context. For integer
>>>>> downsampling, as you point out, it might make more sense to replace the
>>>>> classic n-shift-in/n-shift-out definition of time invariance with one that
>>>>> works in terms of the common real time represented by the different
>>>>> sampling rates. So an integer shift into a 2x downsampler should be a
>>>>> half-sample shift in the output. In ideal terms (brickwall filters/sinc
>>>>> functions) this all clearly works out.
>>>>>
>>>>> On the other hand, I hesitate to say "resampling is LTI" because that
>>>>> seems to imply that resampling doesn't produce aliasing. And of course
>>>>> aliasing is a central concern in the design of resamplers. So I can see 
>>>>> how
>>>>> this rubs people the wrong way.
>>>>> .
>>>>> It's not clear to me that a realizable downsampler (i.e., with
>>>>> non-zero aliasing) passes the "real time" definition of LTI?
>>>>>
>>>>> I think the thing to say about integer downsampling with respect to
>>>>> time variance is that it's that partitions the space of input shifts, 
>>>>> where
>>>>> if you restrict yourself to shifts from a given partition you will see 
>>>>> time
>>>>> invariance (in a certain sense).
>>>>>
>>>>> More generally, resampling is kind of an edge case with respect to
>>>>> time invariance, in the sense that resamplers are time-variant systems 
>>>>> that
>>>>> are trying as hard as they can to act like time invariant systems. As
>>>>> opposed to, say, modulators or envelopes or such,
>>>>>
>>>>> Ethan D
>>>>>
>>>>>
>>>>> On Fri, Sep 1, 2017 at 10:09 PM, Nigel Redmon <earle...@earlevel.com>
>>>>> wrote:
>>>>>
>>>>>> Interesting comments, Ethan.
>>>>>>
>>>>>> Somewhat related to your points, I also had a situation on this board
>>>>>> years ago where I said that sample rate conversion was LTI. It was a
>>>>>> specific context, regarding downsampling, so a number of people, one by
>>>>>> one, basically quoted back the reason I was wrong. That is, basically 
>>>>>> that
>>>>>> for downsampling 2:1, you’d get a different result depending on which set
>>>>>> of points you discard (decimation), and that alone meant it isn’t LTI. Of
>>>>>> course, the fact that the sample values are different doesn’t mean what
>>>>>> they represent is different—one is just a half-sample delay of the 
>>>>>> other. I
>>>>>> was surprised a bit that they accepted so easily that SRC couldn’t be 
>>>>>> used
>>>>>> in a system that required LTI, just because it seemed to violate the
>>>>>> definition of LTI they were taught.
>>>>>>
>>>>>> On Sep 1, 2017, at 3:46 PM, Ethan Duni <ethan.d...@gmail.com> wrote:
>>>>>>
>>>>>> Ethan F wrote:
>>>>>> >I see your nitpick and raise you. :o) Surely there are uncountably
>>>>>> many such functions,
>>>>>> >as the power at any apparent frequency can be distributed
>>>>>> arbitrarily among the bands.
>>>>>>
>>>>>> Ah, good point. Uncountable it is!
>>>>>>
>>>>>> Nigel R wrote:
>>>>>> >But I think there are good reasons to understand the fact that
>>>>>> samples represent a
>>>>>> >modulated impulse train.
>>>>>>
>>>>>> I entirely agree, and this is exactly how sampling was introduced to
>>>>>> me back in college (we used Oppenheim and Willsky's book "Signals and
>>>>>> Systems"). I've always considered it the canonical EE approach to the
>>>>>> subject, and am surprised to learn that anyone thinks otherwise.
>>>>>>
>>>>>> Nigel R wrote:
>>>>>> >That sounds like a dumb observation, but I once had an argument on
>>>>>> this board:
>>>>>> >After I explained why we stuff zeros of integer SRC, a guy said my
>>>>>> explanation was BS.
>>>>>>
>>>>>> I dunno, this can work the other way as well. There was a guy a while
>>>>>> back who was arguing that the zero-stuffing used in integer upsampling is
>>>>>> actually not a time-variant operation, on the basis that the zeros "are
>>>>>> already there" in the impulse train representation (so it's a "null
>>>>>> operation" basically). He could not explain how this putatively-LTI 
>>>>>> system
>>>>>> was introducing aliasing into the output. Or was this the same guy?
>>>>>>
>>>>>> So that's one drawback to the impulse train representation - you need
>>>>>> the sample rate metadata to do *any* meaningful processing on such a
>>>>>> signal. Otherwise you don't know which locations are "real" zeros and 
>>>>>> which
>>>>>> are just "filler." Of course knowledge of sample rate is always required 
>>>>>> to
>>>>>> make final sense of a discrete-time audio signal, but in the usual 
>>>>>> sequence
>>>>>> representation we don't need it just to do basic operations, only for
>>>>>> converting back to analog or interpreting discrete time operations in
>>>>>> analog terms (i.e., what physical frequency is the filter cut-off at,
>>>>>> etc.).
>>>>>>
>>>>>> The other big pedagogical problem with impulse train representation
>>>>>> is that it can't be graphed in a useful way.
>>>>>>
>>>>>> People will also complain that it is poorly defined mathematically
>>>>>> (and indeed the usual treatments handwave these concerns), but my 
>>>>>> rejoinder
>>>>>> would be that it can all be made rigorous by adopting non-standard
>>>>>> analysis/hyperreal numbers. So, no harm no foul, as far as "correctness" 
>>>>>> is
>>>>>> concerned, although it does hobble the subject as a gateway into "real
>>>>>> math."
>>>>>>
>>>>>> Ethan D
>>>>>>
>>>>>> On Fri, Sep 1, 2017 at 2:38 PM, Ethan Fenn <et...@polyspectral.com>
>>>>>> wrote:
>>>>>>
>>>>>>> This needs an additional qualifier, something about the bandlimited
>>>>>>>> function with the lowest possible bandwidth, or containing DC, or
>>>>>>>> "baseband," or such.
>>>>>>>
>>>>>>>
>>>>>>> Yes, by bandlimited here I mean bandlimited to [-Nyquist, Nyquist].
>>>>>>>
>>>>>>> Otherwise, there are a countably infinite number of bandlimited
>>>>>>>> functions that interpolate any given set of samples. These get used in
>>>>>>>> "bandpass sampling," which is uncommon in audio but commonplace in 
>>>>>>>> radio
>>>>>>>> applications.
>>>>>>>
>>>>>>>
>>>>>>> I see your nitpick and raise you. :o) Surely there are uncountably
>>>>>>> many such functions, as the power at any apparent frequency can be
>>>>>>> distributed arbitrarily among the bands.
>>>>>>>
>>>>>>> -Ethan F
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Sep 1, 2017 at 5:30 PM, Ethan Duni <ethan.d...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> >I'm one of those people who prefer to think of a discrete-time
>>>>>>>> signal as
>>>>>>>> >representing the unique bandlimited function interpolating its
>>>>>>>> samples.
>>>>>>>>
>>>>>>>> This needs an additional qualifier, something about the bandlimited
>>>>>>>> function with the lowest possible bandwidth, or containing DC, or
>>>>>>>> "baseband," or such.
>>>>>>>>
>>>>>>>> Otherwise, there are a countably infinite number of bandlimited
>>>>>>>> functions that interpolate any given set of samples. These get used in
>>>>>>>> "bandpass sampling," which is uncommon in audio but commonplace in 
>>>>>>>> radio
>>>>>>>> applications.
>>>>>>>>
>>>>>>>> Ethan D
>>>>>>>>
>>>>>>>> On Fri, Sep 1, 2017 at 1:31 PM, Ethan Fenn <et...@polyspectral.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thanks for posting this! It's always interesting to get such a
>>>>>>>>> good glimpse at someone else's mental model.
>>>>>>>>>
>>>>>>>>> I'm one of those people who prefer to think of a discrete-time
>>>>>>>>> signal as representing the unique bandlimited function interpolating 
>>>>>>>>> its
>>>>>>>>> samples. And I don't think this point of view has crippled my 
>>>>>>>>> understanding
>>>>>>>>> of resampling or any other DSP techniques!
>>>>>>>>>
>>>>>>>>> I'm curious -- from the impulse train point of view, how do you
>>>>>>>>> understand fractional delays? Or taking the derivative of a signal? 
>>>>>>>>> Do you
>>>>>>>>> have to pass into the frequency domain in order to understand these?
>>>>>>>>> Thinking of a signal as a bandlimited function, I find it pretty easy 
>>>>>>>>> to
>>>>>>>>> understand both of these processes from first principles in the time
>>>>>>>>> domain, which is one reason I like to think about things this way.
>>>>>>>>>
>>>>>>>>> -Ethan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Aug 28, 2017 at 12:15 PM, Nigel Redmon <
>>>>>>>>> earle...@earlevel.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Remy,
>>>>>>>>>>
>>>>>>>>>> On Aug 28, 2017, at 2:16 AM, Remy Muller <muller.r...@gmail.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> I second Sampo about giving some more hints about Hilbert spaces,
>>>>>>>>>> shift-invariance, Riesz representation theorem… etc
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I think you’ve hit upon precisely what my blog isn’t, and why it
>>>>>>>>>> exists at all. ;-)
>>>>>>>>>>
>>>>>>>>>> Correct me if you said it somewhere and I didn't saw it, but an
>>>>>>>>>> important *implicit* assumption in your explanation is that you
>>>>>>>>>> are talking about "uniform bandlimited sampling”.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Sure, like the tag line in the upper right says, it’s a blog
>>>>>>>>>> about "practical digital audio signal processing".
>>>>>>>>>>
>>>>>>>>>> Personnally, my biggest enlighting moment regarding sampling
>>>>>>>>>> where when I read these 2 articles:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Nice, thanks for sharing.
>>>>>>>>>>
>>>>>>>>>> "Sampling—50 Years After Shannon"
>>>>>>>>>> http://bigwww.epfl.ch/publications/unser0001.pdf
>>>>>>>>>>
>>>>>>>>>> and
>>>>>>>>>>
>>>>>>>>>> "Sampling Moments and Reconstructing Signals of Finite Rate of
>>>>>>>>>> Innovation: Shannon Meets Strang–Fix"
>>>>>>>>>> https://infoscience.epfl.ch/record/104246/files/DragottiVB07.pdf
>>>>>>>>>>
>>>>>>>>>> I wish I had discovered them much earlier during my signal
>>>>>>>>>> processing classes.
>>>>>>>>>>
>>>>>>>>>> Talking about generalized sampling, may seem abstract and beyond
>>>>>>>>>> what you are trying to explain. However, in my personal experience,
>>>>>>>>>> sampling seen through the lense of approximation theory as 'just a
>>>>>>>>>> projection' onto a signal subspace made everything clearer by giving 
>>>>>>>>>> more
>>>>>>>>>> perspective:
>>>>>>>>>>
>>>>>>>>>>    - The choice of basis functions and norms is wide. The sinc
>>>>>>>>>>    function being just one of them and not a causal realizable one 
>>>>>>>>>> (infinite
>>>>>>>>>>    temporal support).
>>>>>>>>>>    - Analysis and synthesis functions don't have to be the same
>>>>>>>>>>    (cf wavelets bi-orthogonal filterbanks)
>>>>>>>>>>    - Perfect reconstruction is possible without requiring
>>>>>>>>>>    bandlimitedness!
>>>>>>>>>>    - The key concept is 'consistent sampling': *one seeks a
>>>>>>>>>>    signal approximation that is such that it would yield exactly the 
>>>>>>>>>> same
>>>>>>>>>>    measurements if it was reinjected into the system*.
>>>>>>>>>>    - All that is required is a "finite rate of innovation" (in
>>>>>>>>>>    the statistical sense).
>>>>>>>>>>    - Finite support kernels are easier to deal with in real-life
>>>>>>>>>>    because they can be realized (FIR) (reminder: time-limited <=>
>>>>>>>>>>    non-bandlimited)
>>>>>>>>>>    - Using the L2 norm is convenient because we can reason about
>>>>>>>>>>    best approximations in the least-squares sense and solve the 
>>>>>>>>>> projection
>>>>>>>>>>    problem using Linear Algebra using the standard L2 inner product.
>>>>>>>>>>    - Shift-invariance is even nicer since it enables *efficient*
>>>>>>>>>>    signal processing.
>>>>>>>>>>    - Using sparser norms like the L1 norm enables sparse
>>>>>>>>>>    sampling and the whole field of compressed sensing. But it comes 
>>>>>>>>>> at a
>>>>>>>>>>    price: we have to use iterative projections to get there.
>>>>>>>>>>
>>>>>>>>>> All of this is beyond your original purpose, but from a
>>>>>>>>>> pedagocial viewpoint, I wish these 2 articles were systematically 
>>>>>>>>>> cited in
>>>>>>>>>> a "Further Reading" section at the end of any explanation regarding 
>>>>>>>>>> the
>>>>>>>>>> sampling theorem(s).
>>>>>>>>>>
>>>>>>>>>> At least the wikipedia page cites the first article and has a
>>>>>>>>>> section about non-uniform and sub-nyquist sampling but it's easy to 
>>>>>>>>>> miss
>>>>>>>>>> the big picture for a newcomer.
>>>>>>>>>>
>>>>>>>>>> Here's a condensed presentation by Michael Unser for those who
>>>>>>>>>> would like to have a quick historical overview:
>>>>>>>>>> http://bigwww.epfl.ch/tutorials/unser0906.pdf
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 27/08/17 08:20, Sampo Syreeni wrote:
>>>>>>>>>>
>>>>>>>>>> On 2017-08-25, Nigel Redmon wrote:
>>>>>>>>>>
>>>>>>>>>> http://www.earlevel.com/main/tag/sampling-theory-series/?ord
>>>>>>>>>> er=asc
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Personally I'd make it much simpler at the top. Just tell them
>>>>>>>>>> sampling is what it is: taking an instantaneous value of a signal at
>>>>>>>>>> regular intervals. Then tell them that is all it takes to 
>>>>>>>>>> reconstruct the
>>>>>>>>>> waveform under the assumption of bandlimitation -- a high-falutin 
>>>>>>>>>> term for
>>>>>>>>>> "doesn't change too fast between your samples".
>>>>>>>>>>
>>>>>>>>>> Even a simpleton can grasp that idea.
>>>>>>>>>>
>>>>>>>>>> Then if somebody wants to go into the nitty-gritty of it, start
>>>>>>>>>> talking about shift-invariant spaces, eigenfunctions, harmonical 
>>>>>>>>>> analysis,
>>>>>>>>>> and the rest of the cool stuff.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> 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
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>>>>
>>>>
>>>>
>>> _______________________________________________
>>> 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
>>>
>>
>> _______________________________________________
>> 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
>>
>
> _______________________________________________
> 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
>
_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to