Forums

Sampling, Again -- Updates

Started by Tim Wescott December 20, 2010
On Wed, 22 Dec 2010 16:07:27 -0500, Phil Hobbs
<pcdhSpamMeSenseless@electrooptical.net> wrote:


>> >> >Depends on where you put you time origin. If it's in the middle of the >sample, a ZOH is an interpolator. > >Cheers > >Phil Hobbs
Put it at the end and it's a predictor! John
John Monro wrote:
> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >> Tim Wescott wrote: >>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>> >>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>> Nyquist Didn't Say, >>>>>>> and What to Do About It"), because the old one rapidly >>>>>>> filled up with >>>>>>> all sorts of interesting stuff that I didn't want to >>>>>>> detract from. >>>>>>> >>>>>>> I've posted a new version. It uses Bitstream fonts for >>>>>>> Roman -- used >>>>>>> because it was mentioned, and because it was there. >>>>>>> It's still a >>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>> but I want the >>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>> about figuring out >>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>> >>>>>>> It's 12-point, so you won't have to squint to see it, >>>>>>> or have as much >>>>>>> trouble scanning across the line. It certainly looks >>>>>>> better in >>>>>>> Evince, and I'm about to find out how it looks in >>>>>>> Adobe, on my wife's >>>>>>> computer upstairs. >>>>>>> >>>>>>> And Randy, I've changed the discussion of subsampling >>>>>>> to make it more >>>>>>> clear -- I hope that if it doesn't fully answer your >>>>>>> difficulties (I >>>>>>> think you thought I was claiming to sample at an >>>>>>> effectively infinite >>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>> >>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>> and please don't >>>>>>> feel shy if you see something that I still haven't >>>>>>> caught! I need to >>>>>>> add an acknowledgements section for all the kind folks >>>>>>> on USENET who >>>>>>> critique my work. >>>>>>> >>>>>>> >>>>>> Tim, >>>>>> Thanks for making available a clear and informative >>>>>> paper. I would >>>>>> like >>>>>> to make a comment at this late stage about the section >>>>>> on signal >>>>>> reconstruction, mainly about terminology. >>>>>> >>>>>> You explain that reconstruction is done by >>>>>> interpolating the output >>>>>> signal but unfortunately I feel that you have not >>>>>> clearly identified >>>>>> where the interpolaton occurs. >>>>>> >>>>>> You say that the first step in interpolation is the >>>>>> generation of a >>>>>> stepped waveform by the zero-hold D/A and you mention >>>>>> the stepped >>>>>> waveform of Figure 5 as being a picture of an >>>>>> interpolated signal. In >>>>>> my >>>>>> view this should be changed to say that generating the >>>>>> stepped >>>>>> waveform >>>>>> is the first step in the reconstruction process, >>>>>> interpolaton being >>>>>> the >>>>>> second step. >>>>>> >>>>>> Interpolation, the generation of intermediate values >>>>>> between known >>>>>> data >>>>>> points, occurs when the stepped analog signal reaches >>>>>> the analog >>>>>> output >>>>>> reconstruction filter. It is the analog components that >>>>>> generate the >>>>>> intermediate data values, on a continuous basis. You >>>>>> have mentioned >>>>>> the >>>>>> output filter, and I think it would be useful to >>>>>> identify this filter >>>>>> as >>>>>> the spot where interpolation occurs. >>>>> >>>>> I thought about that before I used the term, and I like >>>>> my way. The >>>>> reason I used it is because, in the context of that >>>>> paper (and as I >>>>> generally think about sampling), the sampled time signal >>>>> _does not >>>>> exist_ in between the sampling instants. That's a rather >>>>> strict way to >>>>> consider things, but I find it keeps me from miss-applying >>>>> continuous-time wisdom to sampled time systems. Since >>>>> the signal >>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>> interpolate. >>>>> >>>>> The usage is different from what some people would use, >>>>> but I (a) don't >>>>> think it's all that far off, (b) think it's more >>>>> accurate, and (c) >>>>> think that if someone can't handle Author A using >>>>> different terminology >>>>> from Author B, then they can't handle engineering. >>>>> >>>> Tim, >>>> Using a single sample to decide the values existing at >>>> later instants >>>> (up to 1/fs later in this case) is extrapolation. It is >>>> interpolation >>>> only when you use two or more samples to decide the >>>> values existing >>>> between samples. Regards, >>>> John >>> >>> Ahhh. Right. Dangit. >>> >>> >>> >> Depends on where you put you time origin. If it's in the >> middle of the sample, a ZOH is an interpolator. >> >> Cheers >> >> Phil Hobbs > > Phil, > Not he way I look at it, which is as follows: > > If a process uses known samples to determine signal values at times > OUTSIDE the interval covered by the known samples then the process is > extrapolation. The prefix 'extra,' meaning 'outside,' indicates this. > > If the process uses known samples to determine the signal values INSIDE > the interval covered by the known values then the process is > interpolation. Again, note the prefix. > > The Zero Hold circuit uses the last known sample to determine that the > signal will have this sample value at any later time, potentially for > all of eternity, but in practice up until the instant that the next > sample arrives. > > > As far as I can see, none of this depends on my choice of a t=0 point. > If we choose t=0 to be half-way between samples as you suggest then > extrapolation starts at t = -T/2 and continues up to t = +T/2. (T being > the sampling interval.) > For all of this time the Zero Hold circuit is producing values which are > outside the interval covered by the known values, and so extrapolation > is taking pleace. > > Regards, > John
Interpolation vs extrapolation depends on whether you are or are not outside the range of your actual data points. Estimating the data values before your first sample or after your last one is extrapolation, otherwise it's interpolation. Given that the samples are taken after the antialiasing filter, the value of each sample depends to some degree on the value of the input function at 'future' times--you can't very well make an antialiasing filter without at least one sample's worth of group delay! Zero-order interpolation is all over the place, e.g. in the rectangle rule for integration, which is accurate up to terms of second order as long as the rectangles are centred on the data points. It's not something I'm prepared to die defending, however. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net
On 23/12/2010 12:40 PM, Phil Hobbs wrote:
> John Monro wrote: >> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>> Tim Wescott wrote: >>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>> >>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>> Nyquist Didn't Say, >>>>>>>> and What to Do About It"), because the old one rapidly >>>>>>>> filled up with >>>>>>>> all sorts of interesting stuff that I didn't want to >>>>>>>> detract from. >>>>>>>> >>>>>>>> I've posted a new version. It uses Bitstream fonts for >>>>>>>> Roman -- used >>>>>>>> because it was mentioned, and because it was there. >>>>>>>> It's still a >>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>> but I want the >>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>> about figuring out >>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>> >>>>>>>> It's 12-point, so you won't have to squint to see it, >>>>>>>> or have as much >>>>>>>> trouble scanning across the line. It certainly looks >>>>>>>> better in >>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>> Adobe, on my wife's >>>>>>>> computer upstairs. >>>>>>>> >>>>>>>> And Randy, I've changed the discussion of subsampling >>>>>>>> to make it more >>>>>>>> clear -- I hope that if it doesn't fully answer your >>>>>>>> difficulties (I >>>>>>>> think you thought I was claiming to sample at an >>>>>>>> effectively infinite >>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>> >>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>> and please don't >>>>>>>> feel shy if you see something that I still haven't >>>>>>>> caught! I need to >>>>>>>> add an acknowledgements section for all the kind folks >>>>>>>> on USENET who >>>>>>>> critique my work. >>>>>>>> >>>>>>>> >>>>>>> Tim, >>>>>>> Thanks for making available a clear and informative >>>>>>> paper. I would >>>>>>> like >>>>>>> to make a comment at this late stage about the section >>>>>>> on signal >>>>>>> reconstruction, mainly about terminology. >>>>>>> >>>>>>> You explain that reconstruction is done by >>>>>>> interpolating the output >>>>>>> signal but unfortunately I feel that you have not >>>>>>> clearly identified >>>>>>> where the interpolaton occurs. >>>>>>> >>>>>>> You say that the first step in interpolation is the >>>>>>> generation of a >>>>>>> stepped waveform by the zero-hold D/A and you mention >>>>>>> the stepped >>>>>>> waveform of Figure 5 as being a picture of an >>>>>>> interpolated signal. In >>>>>>> my >>>>>>> view this should be changed to say that generating the >>>>>>> stepped >>>>>>> waveform >>>>>>> is the first step in the reconstruction process, >>>>>>> interpolaton being >>>>>>> the >>>>>>> second step. >>>>>>> >>>>>>> Interpolation, the generation of intermediate values >>>>>>> between known >>>>>>> data >>>>>>> points, occurs when the stepped analog signal reaches >>>>>>> the analog >>>>>>> output >>>>>>> reconstruction filter. It is the analog components that >>>>>>> generate the >>>>>>> intermediate data values, on a continuous basis. You >>>>>>> have mentioned >>>>>>> the >>>>>>> output filter, and I think it would be useful to >>>>>>> identify this filter >>>>>>> as >>>>>>> the spot where interpolation occurs. >>>>>> >>>>>> I thought about that before I used the term, and I like >>>>>> my way. The >>>>>> reason I used it is because, in the context of that >>>>>> paper (and as I >>>>>> generally think about sampling), the sampled time signal >>>>>> _does not >>>>>> exist_ in between the sampling instants. That's a rather >>>>>> strict way to >>>>>> consider things, but I find it keeps me from >>>>>> miss-applying >>>>>> continuous-time wisdom to sampled time systems. Since >>>>>> the signal >>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>> interpolate. >>>>>> >>>>>> The usage is different from what some people would use, >>>>>> but I (a) don't >>>>>> think it's all that far off, (b) think it's more >>>>>> accurate, and (c) >>>>>> think that if someone can't handle Author A using >>>>>> different terminology >>>>>> from Author B, then they can't handle engineering. >>>>>> >>>>> Tim, >>>>> Using a single sample to decide the values existing at >>>>> later instants >>>>> (up to 1/fs later in this case) is extrapolation. It is >>>>> interpolation >>>>> only when you use two or more samples to decide the >>>>> values existing >>>>> between samples. Regards, >>>>> John >>>> >>>> Ahhh. Right. Dangit. >>>> >>>> >>>> >>> Depends on where you put you time origin. If it's in the >>> middle of the sample, a ZOH is an interpolator. >>> >>> Cheers >>> >>> Phil Hobbs >> >> Phil, >> Not he way I look at it, which is as follows: >> >> If a process uses known samples to determine signal values >> at times >> OUTSIDE the interval covered by the known samples then the >> process is >> extrapolation. The prefix 'extra,' meaning 'outside,' >> indicates this. >> >> If the process uses known samples to determine the signal >> values INSIDE >> the interval covered by the known values then the process is >> interpolation. Again, note the prefix. >> >> The Zero Hold circuit uses the last known sample to >> determine that the >> signal will have this sample value at any later time, >> potentially for >> all of eternity, but in practice up until the instant that >> the next >> sample arrives. >> >> >> As far as I can see, none of this depends on my choice of >> a t=0 point. >> If we choose t=0 to be half-way between samples as you >> suggest then >> extrapolation starts at t = -T/2 and continues up to t = >> +T/2. (T being >> the sampling interval.) >> For all of this time the Zero Hold circuit is producing >> values which are >> outside the interval covered by the known values, and so >> extrapolation >> is taking pleace. >> >> Regards, >> John > > Interpolation vs extrapolation depends on whether you are or > are not outside the range of your actual data points. > Estimating the data values before your first sample or after > your last one is extrapolation, otherwise it's > interpolation. Given that the samples are taken after the > antialiasing filter, the value of each sample depends to > some degree on the value of the input function at 'future' > times--you can't very well make an antialiasing filter > without at least one sample's worth of group delay! > > Zero-order interpolation is all over the place, e.g. in the > rectangle rule for integration, which is accurate up to > terms of second order as long as the rectangles are centred > on the data points. > > It's not something I'm prepared to die defending, however. > > Cheers > > Phil Hobbs >
I wouldn't want to defend a claim that realisable anti-alias filters can be non-causal. Regards, John
John Monro wrote:
> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >> John Monro wrote: >>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>> Tim Wescott wrote: >>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>> >>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>> Nyquist Didn't Say, >>>>>>>>> and What to Do About It"), because the old one rapidly >>>>>>>>> filled up with >>>>>>>>> all sorts of interesting stuff that I didn't want to >>>>>>>>> detract from. >>>>>>>>> >>>>>>>>> I've posted a new version. It uses Bitstream fonts for >>>>>>>>> Roman -- used >>>>>>>>> because it was mentioned, and because it was there. >>>>>>>>> It's still a >>>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>>> but I want the >>>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>>> about figuring out >>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>> >>>>>>>>> It's 12-point, so you won't have to squint to see it, >>>>>>>>> or have as much >>>>>>>>> trouble scanning across the line. It certainly looks >>>>>>>>> better in >>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>> Adobe, on my wife's >>>>>>>>> computer upstairs. >>>>>>>>> >>>>>>>>> And Randy, I've changed the discussion of subsampling >>>>>>>>> to make it more >>>>>>>>> clear -- I hope that if it doesn't fully answer your >>>>>>>>> difficulties (I >>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>> effectively infinite >>>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>>> >>>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>>> and please don't >>>>>>>>> feel shy if you see something that I still haven't >>>>>>>>> caught! I need to >>>>>>>>> add an acknowledgements section for all the kind folks >>>>>>>>> on USENET who >>>>>>>>> critique my work. >>>>>>>>> >>>>>>>>> >>>>>>>> Tim, >>>>>>>> Thanks for making available a clear and informative >>>>>>>> paper. I would >>>>>>>> like >>>>>>>> to make a comment at this late stage about the section >>>>>>>> on signal >>>>>>>> reconstruction, mainly about terminology. >>>>>>>> >>>>>>>> You explain that reconstruction is done by >>>>>>>> interpolating the output >>>>>>>> signal but unfortunately I feel that you have not >>>>>>>> clearly identified >>>>>>>> where the interpolaton occurs. >>>>>>>> >>>>>>>> You say that the first step in interpolation is the >>>>>>>> generation of a >>>>>>>> stepped waveform by the zero-hold D/A and you mention >>>>>>>> the stepped >>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>> interpolated signal. In >>>>>>>> my >>>>>>>> view this should be changed to say that generating the >>>>>>>> stepped >>>>>>>> waveform >>>>>>>> is the first step in the reconstruction process, >>>>>>>> interpolaton being >>>>>>>> the >>>>>>>> second step. >>>>>>>> >>>>>>>> Interpolation, the generation of intermediate values >>>>>>>> between known >>>>>>>> data >>>>>>>> points, occurs when the stepped analog signal reaches >>>>>>>> the analog >>>>>>>> output >>>>>>>> reconstruction filter. It is the analog components that >>>>>>>> generate the >>>>>>>> intermediate data values, on a continuous basis. You >>>>>>>> have mentioned >>>>>>>> the >>>>>>>> output filter, and I think it would be useful to >>>>>>>> identify this filter >>>>>>>> as >>>>>>>> the spot where interpolation occurs. >>>>>>> >>>>>>> I thought about that before I used the term, and I like >>>>>>> my way. The >>>>>>> reason I used it is because, in the context of that >>>>>>> paper (and as I >>>>>>> generally think about sampling), the sampled time signal >>>>>>> _does not >>>>>>> exist_ in between the sampling instants. That's a rather >>>>>>> strict way to >>>>>>> consider things, but I find it keeps me from >>>>>>> miss-applying >>>>>>> continuous-time wisdom to sampled time systems. Since >>>>>>> the signal >>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>> interpolate. >>>>>>> >>>>>>> The usage is different from what some people would use, >>>>>>> but I (a) don't >>>>>>> think it's all that far off, (b) think it's more >>>>>>> accurate, and (c) >>>>>>> think that if someone can't handle Author A using >>>>>>> different terminology >>>>>>> from Author B, then they can't handle engineering. >>>>>>> >>>>>> Tim, >>>>>> Using a single sample to decide the values existing at >>>>>> later instants >>>>>> (up to 1/fs later in this case) is extrapolation. It is >>>>>> interpolation >>>>>> only when you use two or more samples to decide the >>>>>> values existing >>>>>> between samples. Regards, >>>>>> John >>>>> >>>>> Ahhh. Right. Dangit. >>>>> >>>>> >>>>> >>>> Depends on where you put you time origin. If it's in the >>>> middle of the sample, a ZOH is an interpolator. >>>> >>>> Cheers >>>> >>>> Phil Hobbs >>> >>> Phil, >>> Not he way I look at it, which is as follows: >>> >>> If a process uses known samples to determine signal values >>> at times >>> OUTSIDE the interval covered by the known samples then the >>> process is >>> extrapolation. The prefix 'extra,' meaning 'outside,' >>> indicates this. >>> >>> If the process uses known samples to determine the signal >>> values INSIDE >>> the interval covered by the known values then the process is >>> interpolation. Again, note the prefix. >>> >>> The Zero Hold circuit uses the last known sample to >>> determine that the >>> signal will have this sample value at any later time, >>> potentially for >>> all of eternity, but in practice up until the instant that >>> the next >>> sample arrives. >>> >>> >>> As far as I can see, none of this depends on my choice of >>> a t=0 point. >>> If we choose t=0 to be half-way between samples as you >>> suggest then >>> extrapolation starts at t = -T/2 and continues up to t = >>> +T/2. (T being >>> the sampling interval.) >>> For all of this time the Zero Hold circuit is producing >>> values which are >>> outside the interval covered by the known values, and so >>> extrapolation >>> is taking pleace. >>> >>> Regards, >>> John >> >> Interpolation vs extrapolation depends on whether you are or >> are not outside the range of your actual data points. >> Estimating the data values before your first sample or after >> your last one is extrapolation, otherwise it's >> interpolation. Given that the samples are taken after the >> antialiasing filter, the value of each sample depends to >> some degree on the value of the input function at 'future' >> times--you can't very well make an antialiasing filter >> without at least one sample's worth of group delay! >> >> Zero-order interpolation is all over the place, e.g. in the >> rectangle rule for integration, which is accurate up to >> terms of second order as long as the rectangles are centred >> on the data points. >> >> It's not something I'm prepared to die defending, however. >> >> Cheers >> >> Phil Hobbs >> > I wouldn't want to defend a claim that realisable anti-alias filters can > be non-causal. > > Regards, > John
Neither would I. My claim was exactly the opposite--that due to the delay of the antialiasing filter, the signal for sample N+1 must already exist by the time we're processing sample N at the output. What's acausal about that? And most DSP applications aren't real-time anyway. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net
On 23/12/2010 4:56 PM, Phil Hobbs wrote:
> John Monro wrote: >> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>> John Monro wrote: >>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>> Tim Wescott wrote: >>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>> >>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>> rapidly >>>>>>>>>> filled up with >>>>>>>>>> all sorts of interesting stuff that I didn't want to >>>>>>>>>> detract from. >>>>>>>>>> >>>>>>>>>> I've posted a new version. It uses Bitstream fonts >>>>>>>>>> for >>>>>>>>>> Roman -- used >>>>>>>>>> because it was mentioned, and because it was there. >>>>>>>>>> It's still a >>>>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>>>> but I want the >>>>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>>>> about figuring out >>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>> >>>>>>>>>> It's 12-point, so you won't have to squint to see it, >>>>>>>>>> or have as much >>>>>>>>>> trouble scanning across the line. It certainly looks >>>>>>>>>> better in >>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>> Adobe, on my wife's >>>>>>>>>> computer upstairs. >>>>>>>>>> >>>>>>>>>> And Randy, I've changed the discussion of subsampling >>>>>>>>>> to make it more >>>>>>>>>> clear -- I hope that if it doesn't fully answer your >>>>>>>>>> difficulties (I >>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>> effectively infinite >>>>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>>>> >>>>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>>>> and please don't >>>>>>>>>> feel shy if you see something that I still haven't >>>>>>>>>> caught! I need to >>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>> folks >>>>>>>>>> on USENET who >>>>>>>>>> critique my work. >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Tim, >>>>>>>>> Thanks for making available a clear and informative >>>>>>>>> paper. I would >>>>>>>>> like >>>>>>>>> to make a comment at this late stage about the section >>>>>>>>> on signal >>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>> >>>>>>>>> You explain that reconstruction is done by >>>>>>>>> interpolating the output >>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>> clearly identified >>>>>>>>> where the interpolaton occurs. >>>>>>>>> >>>>>>>>> You say that the first step in interpolation is the >>>>>>>>> generation of a >>>>>>>>> stepped waveform by the zero-hold D/A and you mention >>>>>>>>> the stepped >>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>> interpolated signal. In >>>>>>>>> my >>>>>>>>> view this should be changed to say that generating the >>>>>>>>> stepped >>>>>>>>> waveform >>>>>>>>> is the first step in the reconstruction process, >>>>>>>>> interpolaton being >>>>>>>>> the >>>>>>>>> second step. >>>>>>>>> >>>>>>>>> Interpolation, the generation of intermediate values >>>>>>>>> between known >>>>>>>>> data >>>>>>>>> points, occurs when the stepped analog signal reaches >>>>>>>>> the analog >>>>>>>>> output >>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>> that >>>>>>>>> generate the >>>>>>>>> intermediate data values, on a continuous basis. You >>>>>>>>> have mentioned >>>>>>>>> the >>>>>>>>> output filter, and I think it would be useful to >>>>>>>>> identify this filter >>>>>>>>> as >>>>>>>>> the spot where interpolation occurs. >>>>>>>> >>>>>>>> I thought about that before I used the term, and I like >>>>>>>> my way. The >>>>>>>> reason I used it is because, in the context of that >>>>>>>> paper (and as I >>>>>>>> generally think about sampling), the sampled time >>>>>>>> signal >>>>>>>> _does not >>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>> rather >>>>>>>> strict way to >>>>>>>> consider things, but I find it keeps me from >>>>>>>> miss-applying >>>>>>>> continuous-time wisdom to sampled time systems. Since >>>>>>>> the signal >>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>> interpolate. >>>>>>>> >>>>>>>> The usage is different from what some people would use, >>>>>>>> but I (a) don't >>>>>>>> think it's all that far off, (b) think it's more >>>>>>>> accurate, and (c) >>>>>>>> think that if someone can't handle Author A using >>>>>>>> different terminology >>>>>>>> from Author B, then they can't handle engineering. >>>>>>>> >>>>>>> Tim, >>>>>>> Using a single sample to decide the values existing at >>>>>>> later instants >>>>>>> (up to 1/fs later in this case) is extrapolation. It is >>>>>>> interpolation >>>>>>> only when you use two or more samples to decide the >>>>>>> values existing >>>>>>> between samples. Regards, >>>>>>> John >>>>>> >>>>>> Ahhh. Right. Dangit. >>>>>> >>>>>> >>>>>> >>>>> Depends on where you put you time origin. If it's in the >>>>> middle of the sample, a ZOH is an interpolator. >>>>> >>>>> Cheers >>>>> >>>>> Phil Hobbs >>>> >>>> Phil, >>>> Not he way I look at it, which is as follows: >>>> >>>> If a process uses known samples to determine signal values >>>> at times >>>> OUTSIDE the interval covered by the known samples then the >>>> process is >>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>> indicates this. >>>> >>>> If the process uses known samples to determine the signal >>>> values INSIDE >>>> the interval covered by the known values then the >>>> process is >>>> interpolation. Again, note the prefix. >>>> >>>> The Zero Hold circuit uses the last known sample to >>>> determine that the >>>> signal will have this sample value at any later time, >>>> potentially for >>>> all of eternity, but in practice up until the instant that >>>> the next >>>> sample arrives. >>>> >>>> >>>> As far as I can see, none of this depends on my choice of >>>> a t=0 point. >>>> If we choose t=0 to be half-way between samples as you >>>> suggest then >>>> extrapolation starts at t = -T/2 and continues up to t = >>>> +T/2. (T being >>>> the sampling interval.) >>>> For all of this time the Zero Hold circuit is producing >>>> values which are >>>> outside the interval covered by the known values, and so >>>> extrapolation >>>> is taking pleace. >>>> >>>> Regards, >>>> John >>> >>> Interpolation vs extrapolation depends on whether you are or >>> are not outside the range of your actual data points. >>> Estimating the data values before your first sample or after >>> your last one is extrapolation, otherwise it's >>> interpolation. Given that the samples are taken after the >>> antialiasing filter, the value of each sample depends to >>> some degree on the value of the input function at 'future' >>> times--you can't very well make an antialiasing filter >>> without at least one sample's worth of group delay! >>> >>> Zero-order interpolation is all over the place, e.g. in the >>> rectangle rule for integration, which is accurate up to >>> terms of second order as long as the rectangles are centred >>> on the data points. >>> >>> It's not something I'm prepared to die defending, however. >>> >>> Cheers >>> >>> Phil Hobbs >>> >> I wouldn't want to defend a claim that realisable >> anti-alias filters can >> be non-causal. >> >> Regards, >> John > > Neither would I. My claim was exactly the opposite--that due > to the delay of the antialiasing filter, the signal for > sample N+1 must already exist by the time we're processing > sample N at the output. What's acausal about that? > > And most DSP applications aren't real-time anyway. > > Cheers > > Phil Hobbs >
On re-reading your post I see that you were referring to the input anti-alias filter. As the disussion was all about what occurs at the system output I assumed that you were referring to the output reconstruction filter, and to samples that had not yet arrived at this filter. I don't think the history of the system's input samples is relevant to the issue of whether the Zero-Hold circuit performs extrapolation or interpolation. By it's nature the Zero-Hold cicuit 'remembers' only the last sample presented to it and performs the simplest possible extrapolation of this value. As it uses only one input value it can not possibly be regarded as an interpolator. Regards, John
John Monro wrote:
> On 23/12/2010 4:56 PM, Phil Hobbs wrote: >> John Monro wrote: >>> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>>> John Monro wrote: >>>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>>> Tim Wescott wrote: >>>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>>> >>>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>>> rapidly >>>>>>>>>>> filled up with >>>>>>>>>>> all sorts of interesting stuff that I didn't want to >>>>>>>>>>> detract from. >>>>>>>>>>> >>>>>>>>>>> I've posted a new version. It uses Bitstream fonts >>>>>>>>>>> for >>>>>>>>>>> Roman -- used >>>>>>>>>>> because it was mentioned, and because it was there. >>>>>>>>>>> It's still a >>>>>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>>>>> but I want the >>>>>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>>>>> about figuring out >>>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>>> >>>>>>>>>>> It's 12-point, so you won't have to squint to see it, >>>>>>>>>>> or have as much >>>>>>>>>>> trouble scanning across the line. It certainly looks >>>>>>>>>>> better in >>>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>>> Adobe, on my wife's >>>>>>>>>>> computer upstairs. >>>>>>>>>>> >>>>>>>>>>> And Randy, I've changed the discussion of subsampling >>>>>>>>>>> to make it more >>>>>>>>>>> clear -- I hope that if it doesn't fully answer your >>>>>>>>>>> difficulties (I >>>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>>> effectively infinite >>>>>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>>>>> >>>>>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>>>>> and please don't >>>>>>>>>>> feel shy if you see something that I still haven't >>>>>>>>>>> caught! I need to >>>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>>> folks >>>>>>>>>>> on USENET who >>>>>>>>>>> critique my work. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Tim, >>>>>>>>>> Thanks for making available a clear and informative >>>>>>>>>> paper. I would >>>>>>>>>> like >>>>>>>>>> to make a comment at this late stage about the section >>>>>>>>>> on signal >>>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>>> >>>>>>>>>> You explain that reconstruction is done by >>>>>>>>>> interpolating the output >>>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>>> clearly identified >>>>>>>>>> where the interpolaton occurs. >>>>>>>>>> >>>>>>>>>> You say that the first step in interpolation is the >>>>>>>>>> generation of a >>>>>>>>>> stepped waveform by the zero-hold D/A and you mention >>>>>>>>>> the stepped >>>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>>> interpolated signal. In >>>>>>>>>> my >>>>>>>>>> view this should be changed to say that generating the >>>>>>>>>> stepped >>>>>>>>>> waveform >>>>>>>>>> is the first step in the reconstruction process, >>>>>>>>>> interpolaton being >>>>>>>>>> the >>>>>>>>>> second step. >>>>>>>>>> >>>>>>>>>> Interpolation, the generation of intermediate values >>>>>>>>>> between known >>>>>>>>>> data >>>>>>>>>> points, occurs when the stepped analog signal reaches >>>>>>>>>> the analog >>>>>>>>>> output >>>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>>> that >>>>>>>>>> generate the >>>>>>>>>> intermediate data values, on a continuous basis. You >>>>>>>>>> have mentioned >>>>>>>>>> the >>>>>>>>>> output filter, and I think it would be useful to >>>>>>>>>> identify this filter >>>>>>>>>> as >>>>>>>>>> the spot where interpolation occurs. >>>>>>>>> >>>>>>>>> I thought about that before I used the term, and I like >>>>>>>>> my way. The >>>>>>>>> reason I used it is because, in the context of that >>>>>>>>> paper (and as I >>>>>>>>> generally think about sampling), the sampled time >>>>>>>>> signal >>>>>>>>> _does not >>>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>>> rather >>>>>>>>> strict way to >>>>>>>>> consider things, but I find it keeps me from >>>>>>>>> miss-applying >>>>>>>>> continuous-time wisdom to sampled time systems. Since >>>>>>>>> the signal >>>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>>> interpolate. >>>>>>>>> >>>>>>>>> The usage is different from what some people would use, >>>>>>>>> but I (a) don't >>>>>>>>> think it's all that far off, (b) think it's more >>>>>>>>> accurate, and (c) >>>>>>>>> think that if someone can't handle Author A using >>>>>>>>> different terminology >>>>>>>>> from Author B, then they can't handle engineering. >>>>>>>>> >>>>>>>> Tim, >>>>>>>> Using a single sample to decide the values existing at >>>>>>>> later instants >>>>>>>> (up to 1/fs later in this case) is extrapolation. It is >>>>>>>> interpolation >>>>>>>> only when you use two or more samples to decide the >>>>>>>> values existing >>>>>>>> between samples. Regards, >>>>>>>> John >>>>>>> >>>>>>> Ahhh. Right. Dangit. >>>>>>> >>>>>>> >>>>>>> >>>>>> Depends on where you put you time origin. If it's in the >>>>>> middle of the sample, a ZOH is an interpolator. >>>>>> >>>>>> Cheers >>>>>> >>>>>> Phil Hobbs >>>>> >>>>> Phil, >>>>> Not he way I look at it, which is as follows: >>>>> >>>>> If a process uses known samples to determine signal values >>>>> at times >>>>> OUTSIDE the interval covered by the known samples then the >>>>> process is >>>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>>> indicates this. >>>>> >>>>> If the process uses known samples to determine the signal >>>>> values INSIDE >>>>> the interval covered by the known values then the >>>>> process is >>>>> interpolation. Again, note the prefix. >>>>> >>>>> The Zero Hold circuit uses the last known sample to >>>>> determine that the >>>>> signal will have this sample value at any later time, >>>>> potentially for >>>>> all of eternity, but in practice up until the instant that >>>>> the next >>>>> sample arrives. >>>>> >>>>> >>>>> As far as I can see, none of this depends on my choice of >>>>> a t=0 point. >>>>> If we choose t=0 to be half-way between samples as you >>>>> suggest then >>>>> extrapolation starts at t = -T/2 and continues up to t = >>>>> +T/2. (T being >>>>> the sampling interval.) >>>>> For all of this time the Zero Hold circuit is producing >>>>> values which are >>>>> outside the interval covered by the known values, and so >>>>> extrapolation >>>>> is taking pleace. >>>>> >>>>> Regards, >>>>> John >>>> >>>> Interpolation vs extrapolation depends on whether you are or >>>> are not outside the range of your actual data points. >>>> Estimating the data values before your first sample or after >>>> your last one is extrapolation, otherwise it's >>>> interpolation. Given that the samples are taken after the >>>> antialiasing filter, the value of each sample depends to >>>> some degree on the value of the input function at 'future' >>>> times--you can't very well make an antialiasing filter >>>> without at least one sample's worth of group delay! >>>> >>>> Zero-order interpolation is all over the place, e.g. in the >>>> rectangle rule for integration, which is accurate up to >>>> terms of second order as long as the rectangles are centred >>>> on the data points. >>>> >>>> It's not something I'm prepared to die defending, however. >>>> >>>> Cheers >>>> >>>> Phil Hobbs >>>> >>> I wouldn't want to defend a claim that realisable >>> anti-alias filters can >>> be non-causal. >>> >>> Regards, >>> John >> >> Neither would I. My claim was exactly the opposite--that due >> to the delay of the antialiasing filter, the signal for >> sample N+1 must already exist by the time we're processing >> sample N at the output. What's acausal about that? >> >> And most DSP applications aren't real-time anyway. >> >> Cheers >> >> Phil Hobbs >> > > On re-reading your post I see that you were referring to the input > anti-alias filter. As the disussion was all about what occurs at the > system output I assumed that you were referring to the output > reconstruction filter, and to samples that had not yet arrived at this > filter. > > I don't think the history of the system's input samples is relevant to > the issue of whether the Zero-Hold circuit performs extrapolation or > interpolation. By it's nature the Zero-Hold cicuit 'remembers' only the > last sample presented to it and performs the simplest possible > extrapolation of this value. As it uses only one input value it can not > possibly be regarded as an interpolator. > > Regards, > John
Okay, we agree that sample N+1 already exists at time N, then. You seem to be arguing that the fact that the value of sample N+1 doesn't appear in the mathematical form of the ZOH means that it's not an interpolator, but that isn't so. An Nth order interpolator needs data from at least N+1 sample points to determine all its coefficients, and since the ZOH is a zero-order interpolator, it only needs one data point. The issue of interpolation vs eztrapolation is not the functional form of the interpolator, but whether or not you're doing it between samples (which we are, since we've both now decided that sample N+1 already exists at time N). This isn't semantics, it's a question of the reliability of the procedure. Both interpolation and extrapolation introduce errors, and by making assumptions e.g. about the boundedness of some derivative of the function, you can put a bound on those errors.(*) The bound is commonly expressed in terms of some power of h (the time step) times the corresponding derivative bound, times a constant. This limit grows without bound as you get further and further from the last sample. The operational distinction between extrapolation and interpolation is whether the errors are bounded, because you get another sample at time N+1 (interpolation), or whether they keep growing because you keep getting further from the last data point (extrapolation). That's a really important difference, one that goes a long way beyond sample numbering. Cheers Phil Hobbs (*) In the special case of sinc interpolation of a genuinely band-limited function, the error is zero, but band-limiting requires infinite temporal extension, so we're never really in the zero-error case. -- Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net
On 24/12/2010 3:26 AM, Phil Hobbs wrote:
> John Monro wrote: >> On 23/12/2010 4:56 PM, Phil Hobbs wrote: >>> John Monro wrote: >>>> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>>>> John Monro wrote: >>>>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>>>> Tim Wescott wrote: >>>>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>>>> >>>>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>>>> rapidly >>>>>>>>>>>> filled up with >>>>>>>>>>>> all sorts of interesting stuff that I didn't >>>>>>>>>>>> want to >>>>>>>>>>>> detract from. >>>>>>>>>>>> >>>>>>>>>>>> I've posted a new version. It uses Bitstream fonts >>>>>>>>>>>> for >>>>>>>>>>>> Roman -- used >>>>>>>>>>>> because it was mentioned, and because it was there. >>>>>>>>>>>> It's still a >>>>>>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>>>>>> but I want the >>>>>>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>>>>>> about figuring out >>>>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>>>> >>>>>>>>>>>> It's 12-point, so you won't have to squint to >>>>>>>>>>>> see it, >>>>>>>>>>>> or have as much >>>>>>>>>>>> trouble scanning across the line. It certainly >>>>>>>>>>>> looks >>>>>>>>>>>> better in >>>>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>>>> Adobe, on my wife's >>>>>>>>>>>> computer upstairs. >>>>>>>>>>>> >>>>>>>>>>>> And Randy, I've changed the discussion of >>>>>>>>>>>> subsampling >>>>>>>>>>>> to make it more >>>>>>>>>>>> clear -- I hope that if it doesn't fully answer >>>>>>>>>>>> your >>>>>>>>>>>> difficulties (I >>>>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>>>> effectively infinite >>>>>>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>>>>>> >>>>>>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>>>>>> and please don't >>>>>>>>>>>> feel shy if you see something that I still haven't >>>>>>>>>>>> caught! I need to >>>>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>>>> folks >>>>>>>>>>>> on USENET who >>>>>>>>>>>> critique my work. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> Tim, >>>>>>>>>>> Thanks for making available a clear and informative >>>>>>>>>>> paper. I would >>>>>>>>>>> like >>>>>>>>>>> to make a comment at this late stage about the >>>>>>>>>>> section >>>>>>>>>>> on signal >>>>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>>>> >>>>>>>>>>> You explain that reconstruction is done by >>>>>>>>>>> interpolating the output >>>>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>>>> clearly identified >>>>>>>>>>> where the interpolaton occurs. >>>>>>>>>>> >>>>>>>>>>> You say that the first step in interpolation is the >>>>>>>>>>> generation of a >>>>>>>>>>> stepped waveform by the zero-hold D/A and you >>>>>>>>>>> mention >>>>>>>>>>> the stepped >>>>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>>>> interpolated signal. In >>>>>>>>>>> my >>>>>>>>>>> view this should be changed to say that >>>>>>>>>>> generating the >>>>>>>>>>> stepped >>>>>>>>>>> waveform >>>>>>>>>>> is the first step in the reconstruction process, >>>>>>>>>>> interpolaton being >>>>>>>>>>> the >>>>>>>>>>> second step. >>>>>>>>>>> >>>>>>>>>>> Interpolation, the generation of intermediate values >>>>>>>>>>> between known >>>>>>>>>>> data >>>>>>>>>>> points, occurs when the stepped analog signal >>>>>>>>>>> reaches >>>>>>>>>>> the analog >>>>>>>>>>> output >>>>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>>>> that >>>>>>>>>>> generate the >>>>>>>>>>> intermediate data values, on a continuous basis. You >>>>>>>>>>> have mentioned >>>>>>>>>>> the >>>>>>>>>>> output filter, and I think it would be useful to >>>>>>>>>>> identify this filter >>>>>>>>>>> as >>>>>>>>>>> the spot where interpolation occurs. >>>>>>>>>> >>>>>>>>>> I thought about that before I used the term, and I >>>>>>>>>> like >>>>>>>>>> my way. The >>>>>>>>>> reason I used it is because, in the context of that >>>>>>>>>> paper (and as I >>>>>>>>>> generally think about sampling), the sampled time >>>>>>>>>> signal >>>>>>>>>> _does not >>>>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>>>> rather >>>>>>>>>> strict way to >>>>>>>>>> consider things, but I find it keeps me from >>>>>>>>>> miss-applying >>>>>>>>>> continuous-time wisdom to sampled time systems. Since >>>>>>>>>> the signal >>>>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>>>> interpolate. >>>>>>>>>> >>>>>>>>>> The usage is different from what some people would >>>>>>>>>> use, >>>>>>>>>> but I (a) don't >>>>>>>>>> think it's all that far off, (b) think it's more >>>>>>>>>> accurate, and (c) >>>>>>>>>> think that if someone can't handle Author A using >>>>>>>>>> different terminology >>>>>>>>>> from Author B, then they can't handle engineering. >>>>>>>>>> >>>>>>>>> Tim, >>>>>>>>> Using a single sample to decide the values existing at >>>>>>>>> later instants >>>>>>>>> (up to 1/fs later in this case) is extrapolation. >>>>>>>>> It is >>>>>>>>> interpolation >>>>>>>>> only when you use two or more samples to decide the >>>>>>>>> values existing >>>>>>>>> between samples. Regards, >>>>>>>>> John >>>>>>>> >>>>>>>> Ahhh. Right. Dangit. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> Depends on where you put you time origin. If it's in the >>>>>>> middle of the sample, a ZOH is an interpolator. >>>>>>> >>>>>>> Cheers >>>>>>> >>>>>>> Phil Hobbs >>>>>> >>>>>> Phil, >>>>>> Not he way I look at it, which is as follows: >>>>>> >>>>>> If a process uses known samples to determine signal >>>>>> values >>>>>> at times >>>>>> OUTSIDE the interval covered by the known samples then >>>>>> the >>>>>> process is >>>>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>>>> indicates this. >>>>>> >>>>>> If the process uses known samples to determine the signal >>>>>> values INSIDE >>>>>> the interval covered by the known values then the >>>>>> process is >>>>>> interpolation. Again, note the prefix. >>>>>> >>>>>> The Zero Hold circuit uses the last known sample to >>>>>> determine that the >>>>>> signal will have this sample value at any later time, >>>>>> potentially for >>>>>> all of eternity, but in practice up until the instant >>>>>> that >>>>>> the next >>>>>> sample arrives. >>>>>> >>>>>> >>>>>> As far as I can see, none of this depends on my choice of >>>>>> a t=0 point. >>>>>> If we choose t=0 to be half-way between samples as you >>>>>> suggest then >>>>>> extrapolation starts at t = -T/2 and continues up to t = >>>>>> +T/2. (T being >>>>>> the sampling interval.) >>>>>> For all of this time the Zero Hold circuit is producing >>>>>> values which are >>>>>> outside the interval covered by the known values, and so >>>>>> extrapolation >>>>>> is taking pleace. >>>>>> >>>>>> Regards, >>>>>> John >>>>> >>>>> Interpolation vs extrapolation depends on whether you >>>>> are or >>>>> are not outside the range of your actual data points. >>>>> Estimating the data values before your first sample or >>>>> after >>>>> your last one is extrapolation, otherwise it's >>>>> interpolation. Given that the samples are taken after the >>>>> antialiasing filter, the value of each sample depends to >>>>> some degree on the value of the input function at 'future' >>>>> times--you can't very well make an antialiasing filter >>>>> without at least one sample's worth of group delay! >>>>> >>>>> Zero-order interpolation is all over the place, e.g. in >>>>> the >>>>> rectangle rule for integration, which is accurate up to >>>>> terms of second order as long as the rectangles are >>>>> centred >>>>> on the data points. >>>>> >>>>> It's not something I'm prepared to die defending, however. >>>>> >>>>> Cheers >>>>> >>>>> Phil Hobbs >>>>> >>>> I wouldn't want to defend a claim that realisable >>>> anti-alias filters can >>>> be non-causal. >>>> >>>> Regards, >>>> John >>> >>> Neither would I. My claim was exactly the opposite--that due >>> to the delay of the antialiasing filter, the signal for >>> sample N+1 must already exist by the time we're processing >>> sample N at the output. What's acausal about that? >>> >>> And most DSP applications aren't real-time anyway. >>> >>> Cheers >>> >>> Phil Hobbs >>> >> >> On re-reading your post I see that you were referring to >> the input >> anti-alias filter. As the disussion was all about what >> occurs at the >> system output I assumed that you were referring to the output >> reconstruction filter, and to samples that had not yet >> arrived at this >> filter. >> >> I don't think the history of the system's input samples is >> relevant to >> the issue of whether the Zero-Hold circuit performs >> extrapolation or >> interpolation. By it's nature the Zero-Hold cicuit >> 'remembers' only the >> last sample presented to it and performs the simplest >> possible >> extrapolation of this value. As it uses only one input >> value it can not >> possibly be regarded as an interpolator. >> >> Regards, >> John > > Okay, we agree that sample N+1 already exists at time N, then. > > You seem to be arguing that the fact that the value of > sample N+1 doesn't appear in the mathematical form of the > ZOH means that it's not an interpolator, but that isn't so. > An Nth order interpolator needs data from at least N+1 > sample points to determine all its coefficients, and since > the ZOH is a zero-order interpolator, it only needs one data > point. > > The issue of interpolation vs eztrapolation is not the > functional form of the interpolator, but whether or not > you're doing it between samples (which we are, since we've > both now decided that sample N+1 already exists at time N). > This isn't semantics, it's a question of the reliability of > the procedure. > > Both interpolation and extrapolation introduce errors, and > by making assumptions e.g. about the boundedness of some > derivative of the function, you can put a bound on those > errors.(*) The bound is commonly expressed in terms of some > power of h (the time step) times the corresponding > derivative bound, times a constant. This limit grows without > bound as you get further and further from the last sample. > > The operational distinction between extrapolation and > interpolation is whether the errors are bounded, because you > get another sample at time N+1 (interpolation), or whether > they keep growing because you keep getting further from the > last data point (extrapolation). That's a really important > difference, one that goes a long way beyond sample numbering. > > Cheers > > Phil Hobbs > > (*) In the special case of sinc interpolation of a genuinely > band-limited function, the error is zero, but band-limiting > requires infinite temporal extension, so we're never really > in the zero-error case. >
Sample N+! may exist, but since the Zero Order Hold Circuit does not have access to it, its existence is irrelevant to any discussion of the operation of the ZOH circuit. Your argument is logically flawed because it assumes from the start that interpolation is possible with only one data point. Interestingly, if we substitute 'extrapolator' where you have used 'interpolator' in your argument, we get the following statement which, while it is still not valid as an argument, it is at least a correct statement of fact: "An Nth order EXTRApolator needs data from at least N+1 sample points to determine all its coefficients, and since the ZOH is a zero-order EXTRApolator, it only needs one data point." Your overall argument, that the ZOK is an interpolator, relies on your establishing that extrapolation is a special case of interpolation. I have never seen this view either in textbooks or in general useage, and I am sure it is not widely held. Even if you think that extrapolation is a special case of interpolation I can not think of any good reason for you to query my use of the term 'extrapolation' in describing the action of the ZOH. Regards, John
John Monro wrote:
> On 24/12/2010 3:26 AM, Phil Hobbs wrote: >> John Monro wrote: >>> On 23/12/2010 4:56 PM, Phil Hobbs wrote: >>>> John Monro wrote: >>>>> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>>>>> John Monro wrote: >>>>>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>>>>> Tim Wescott wrote: >>>>>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>>>>> >>>>>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>>>>> rapidly >>>>>>>>>>>>> filled up with >>>>>>>>>>>>> all sorts of interesting stuff that I didn't >>>>>>>>>>>>> want to >>>>>>>>>>>>> detract from. >>>>>>>>>>>>> >>>>>>>>>>>>> I've posted a new version. It uses Bitstream fonts >>>>>>>>>>>>> for >>>>>>>>>>>>> Roman -- used >>>>>>>>>>>>> because it was mentioned, and because it was there. >>>>>>>>>>>>> It's still a >>>>>>>>>>>>> serif font which isn't optimum for monitor viewing, >>>>>>>>>>>>> but I want the >>>>>>>>>>>>> thing to look good when it's printed (and I'm lazy >>>>>>>>>>>>> about figuring out >>>>>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>>>>> >>>>>>>>>>>>> It's 12-point, so you won't have to squint to >>>>>>>>>>>>> see it, >>>>>>>>>>>>> or have as much >>>>>>>>>>>>> trouble scanning across the line. It certainly >>>>>>>>>>>>> looks >>>>>>>>>>>>> better in >>>>>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>>>>> Adobe, on my wife's >>>>>>>>>>>>> computer upstairs. >>>>>>>>>>>>> >>>>>>>>>>>>> And Randy, I've changed the discussion of >>>>>>>>>>>>> subsampling >>>>>>>>>>>>> to make it more >>>>>>>>>>>>> clear -- I hope that if it doesn't fully answer >>>>>>>>>>>>> your >>>>>>>>>>>>> difficulties (I >>>>>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>>>>> effectively infinite >>>>>>>>>>>>> rate) it does explain what I'm thinking more fully. >>>>>>>>>>>>> >>>>>>>>>>>>> THANK YOU ALL who responded to the previous thread, >>>>>>>>>>>>> and please don't >>>>>>>>>>>>> feel shy if you see something that I still haven't >>>>>>>>>>>>> caught! I need to >>>>>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>>>>> folks >>>>>>>>>>>>> on USENET who >>>>>>>>>>>>> critique my work. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>> Tim, >>>>>>>>>>>> Thanks for making available a clear and informative >>>>>>>>>>>> paper. I would >>>>>>>>>>>> like >>>>>>>>>>>> to make a comment at this late stage about the >>>>>>>>>>>> section >>>>>>>>>>>> on signal >>>>>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>>>>> >>>>>>>>>>>> You explain that reconstruction is done by >>>>>>>>>>>> interpolating the output >>>>>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>>>>> clearly identified >>>>>>>>>>>> where the interpolaton occurs. >>>>>>>>>>>> >>>>>>>>>>>> You say that the first step in interpolation is the >>>>>>>>>>>> generation of a >>>>>>>>>>>> stepped waveform by the zero-hold D/A and you >>>>>>>>>>>> mention >>>>>>>>>>>> the stepped >>>>>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>>>>> interpolated signal. In >>>>>>>>>>>> my >>>>>>>>>>>> view this should be changed to say that >>>>>>>>>>>> generating the >>>>>>>>>>>> stepped >>>>>>>>>>>> waveform >>>>>>>>>>>> is the first step in the reconstruction process, >>>>>>>>>>>> interpolaton being >>>>>>>>>>>> the >>>>>>>>>>>> second step. >>>>>>>>>>>> >>>>>>>>>>>> Interpolation, the generation of intermediate values >>>>>>>>>>>> between known >>>>>>>>>>>> data >>>>>>>>>>>> points, occurs when the stepped analog signal >>>>>>>>>>>> reaches >>>>>>>>>>>> the analog >>>>>>>>>>>> output >>>>>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>>>>> that >>>>>>>>>>>> generate the >>>>>>>>>>>> intermediate data values, on a continuous basis. You >>>>>>>>>>>> have mentioned >>>>>>>>>>>> the >>>>>>>>>>>> output filter, and I think it would be useful to >>>>>>>>>>>> identify this filter >>>>>>>>>>>> as >>>>>>>>>>>> the spot where interpolation occurs. >>>>>>>>>>> >>>>>>>>>>> I thought about that before I used the term, and I >>>>>>>>>>> like >>>>>>>>>>> my way. The >>>>>>>>>>> reason I used it is because, in the context of that >>>>>>>>>>> paper (and as I >>>>>>>>>>> generally think about sampling), the sampled time >>>>>>>>>>> signal >>>>>>>>>>> _does not >>>>>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>>>>> rather >>>>>>>>>>> strict way to >>>>>>>>>>> consider things, but I find it keeps me from >>>>>>>>>>> miss-applying >>>>>>>>>>> continuous-time wisdom to sampled time systems. Since >>>>>>>>>>> the signal >>>>>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>>>>> interpolate. >>>>>>>>>>> >>>>>>>>>>> The usage is different from what some people would >>>>>>>>>>> use, >>>>>>>>>>> but I (a) don't >>>>>>>>>>> think it's all that far off, (b) think it's more >>>>>>>>>>> accurate, and (c) >>>>>>>>>>> think that if someone can't handle Author A using >>>>>>>>>>> different terminology >>>>>>>>>>> from Author B, then they can't handle engineering. >>>>>>>>>>> >>>>>>>>>> Tim, >>>>>>>>>> Using a single sample to decide the values existing at >>>>>>>>>> later instants >>>>>>>>>> (up to 1/fs later in this case) is extrapolation. >>>>>>>>>> It is >>>>>>>>>> interpolation >>>>>>>>>> only when you use two or more samples to decide the >>>>>>>>>> values existing >>>>>>>>>> between samples. Regards, >>>>>>>>>> John >>>>>>>>> >>>>>>>>> Ahhh. Right. Dangit. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> Depends on where you put you time origin. If it's in the >>>>>>>> middle of the sample, a ZOH is an interpolator. >>>>>>>> >>>>>>>> Cheers >>>>>>>> >>>>>>>> Phil Hobbs >>>>>>> >>>>>>> Phil, >>>>>>> Not he way I look at it, which is as follows: >>>>>>> >>>>>>> If a process uses known samples to determine signal >>>>>>> values >>>>>>> at times >>>>>>> OUTSIDE the interval covered by the known samples then >>>>>>> the >>>>>>> process is >>>>>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>>>>> indicates this. >>>>>>> >>>>>>> If the process uses known samples to determine the signal >>>>>>> values INSIDE >>>>>>> the interval covered by the known values then the >>>>>>> process is >>>>>>> interpolation. Again, note the prefix. >>>>>>> >>>>>>> The Zero Hold circuit uses the last known sample to >>>>>>> determine that the >>>>>>> signal will have this sample value at any later time, >>>>>>> potentially for >>>>>>> all of eternity, but in practice up until the instant >>>>>>> that >>>>>>> the next >>>>>>> sample arrives. >>>>>>> >>>>>>> >>>>>>> As far as I can see, none of this depends on my choice of >>>>>>> a t=0 point. >>>>>>> If we choose t=0 to be half-way between samples as you >>>>>>> suggest then >>>>>>> extrapolation starts at t = -T/2 and continues up to t = >>>>>>> +T/2. (T being >>>>>>> the sampling interval.) >>>>>>> For all of this time the Zero Hold circuit is producing >>>>>>> values which are >>>>>>> outside the interval covered by the known values, and so >>>>>>> extrapolation >>>>>>> is taking pleace. >>>>>>> >>>>>>> Regards, >>>>>>> John >>>>>> >>>>>> Interpolation vs extrapolation depends on whether you >>>>>> are or >>>>>> are not outside the range of your actual data points. >>>>>> Estimating the data values before your first sample or >>>>>> after >>>>>> your last one is extrapolation, otherwise it's >>>>>> interpolation. Given that the samples are taken after the >>>>>> antialiasing filter, the value of each sample depends to >>>>>> some degree on the value of the input function at 'future' >>>>>> times--you can't very well make an antialiasing filter >>>>>> without at least one sample's worth of group delay! >>>>>> >>>>>> Zero-order interpolation is all over the place, e.g. in >>>>>> the >>>>>> rectangle rule for integration, which is accurate up to >>>>>> terms of second order as long as the rectangles are >>>>>> centred >>>>>> on the data points. >>>>>> >>>>>> It's not something I'm prepared to die defending, however. >>>>>> >>>>>> Cheers >>>>>> >>>>>> Phil Hobbs >>>>>> >>>>> I wouldn't want to defend a claim that realisable >>>>> anti-alias filters can >>>>> be non-causal. >>>>> >>>>> Regards, >>>>> John >>>> >>>> Neither would I. My claim was exactly the opposite--that due >>>> to the delay of the antialiasing filter, the signal for >>>> sample N+1 must already exist by the time we're processing >>>> sample N at the output. What's acausal about that? >>>> >>>> And most DSP applications aren't real-time anyway. >>>> >>>> Cheers >>>> >>>> Phil Hobbs >>>> >>> >>> On re-reading your post I see that you were referring to >>> the input >>> anti-alias filter. As the disussion was all about what >>> occurs at the >>> system output I assumed that you were referring to the output >>> reconstruction filter, and to samples that had not yet >>> arrived at this >>> filter. >>> >>> I don't think the history of the system's input samples is >>> relevant to >>> the issue of whether the Zero-Hold circuit performs >>> extrapolation or >>> interpolation. By it's nature the Zero-Hold cicuit >>> 'remembers' only the >>> last sample presented to it and performs the simplest >>> possible >>> extrapolation of this value. As it uses only one input >>> value it can not >>> possibly be regarded as an interpolator. >>> >>> Regards, >>> John >> >> Okay, we agree that sample N+1 already exists at time N, then. >> >> You seem to be arguing that the fact that the value of >> sample N+1 doesn't appear in the mathematical form of the >> ZOH means that it's not an interpolator, but that isn't so. >> An Nth order interpolator needs data from at least N+1 >> sample points to determine all its coefficients, and since >> the ZOH is a zero-order interpolator, it only needs one data >> point. >> >> The issue of interpolation vs eztrapolation is not the >> functional form of the interpolator, but whether or not >> you're doing it between samples (which we are, since we've >> both now decided that sample N+1 already exists at time N). >> This isn't semantics, it's a question of the reliability of >> the procedure. >> >> Both interpolation and extrapolation introduce errors, and >> by making assumptions e.g. about the boundedness of some >> derivative of the function, you can put a bound on those >> errors.(*) The bound is commonly expressed in terms of some >> power of h (the time step) times the corresponding >> derivative bound, times a constant. This limit grows without >> bound as you get further and further from the last sample. >> >> The operational distinction between extrapolation and >> interpolation is whether the errors are bounded, because you >> get another sample at time N+1 (interpolation), or whether >> they keep growing because you keep getting further from the >> last data point (extrapolation). That's a really important >> difference, one that goes a long way beyond sample numbering. >> >> Cheers >> >> Phil Hobbs >> >> (*) In the special case of sinc interpolation of a genuinely >> band-limited function, the error is zero, but band-limiting >> requires infinite temporal extension, so we're never really >> in the zero-error case. >> > > Sample N+! may exist, but since the Zero Order Hold Circuit does not > have access to it, its existence is irrelevant to any discussion of the > operation of the ZOH circuit. > > Your argument is logically flawed because it assumes from the start that > interpolation is possible with only one data point. > > Interestingly, if we substitute 'extrapolator' where you have used > 'interpolator' in your argument, we get the following statement which, > while it is still not valid as an argument, it is at least a correct > statement of fact: > "An Nth order EXTRApolator needs data from at least N+1 > sample points to determine all its coefficients, and since the ZOH is a > zero-order EXTRApolator, it only needs one data point." > > > Your overall argument, that the ZOK is an interpolator, relies on your > establishing that extrapolation is a special case of interpolation. I > have never seen this view either in textbooks or in general useage, and > I am sure it is not widely held. > > Even if you think that extrapolation is a special case of interpolation > I can not think of any good reason for you to query my use of the term > 'extrapolation' in describing the action of the ZOH. > > > Regards, > John > >
You haven't read what I've written, at least not very carefully. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net
John Monro wrote:
> On 24/12/2010 12:08 PM, Phil Hobbs wrote: >> John Monro wrote: >>> On 24/12/2010 3:26 AM, Phil Hobbs wrote: >>>> John Monro wrote: >>>>> On 23/12/2010 4:56 PM, Phil Hobbs wrote: >>>>>> John Monro wrote: >>>>>>> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>>>>>>> John Monro wrote: >>>>>>>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>>>>>>> Tim Wescott wrote: >>>>>>>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>>>>>>> >>>>>>>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>>>>>>> rapidly >>>>>>>>>>>>>>> filled up with >>>>>>>>>>>>>>> all sorts of interesting stuff that I didn't >>>>>>>>>>>>>>> want to >>>>>>>>>>>>>>> detract from. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> I've posted a new version. It uses Bitstream >>>>>>>>>>>>>>> fonts >>>>>>>>>>>>>>> for >>>>>>>>>>>>>>> Roman -- used >>>>>>>>>>>>>>> because it was mentioned, and because it was >>>>>>>>>>>>>>> there. >>>>>>>>>>>>>>> It's still a >>>>>>>>>>>>>>> serif font which isn't optimum for monitor >>>>>>>>>>>>>>> viewing, >>>>>>>>>>>>>>> but I want the >>>>>>>>>>>>>>> thing to look good when it's printed (and I'm >>>>>>>>>>>>>>> lazy >>>>>>>>>>>>>>> about figuring out >>>>>>>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> It's 12-point, so you won't have to squint to >>>>>>>>>>>>>>> see it, >>>>>>>>>>>>>>> or have as much >>>>>>>>>>>>>>> trouble scanning across the line. It certainly >>>>>>>>>>>>>>> looks >>>>>>>>>>>>>>> better in >>>>>>>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>>>>>>> Adobe, on my wife's >>>>>>>>>>>>>>> computer upstairs. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> And Randy, I've changed the discussion of >>>>>>>>>>>>>>> subsampling >>>>>>>>>>>>>>> to make it more >>>>>>>>>>>>>>> clear -- I hope that if it doesn't fully answer >>>>>>>>>>>>>>> your >>>>>>>>>>>>>>> difficulties (I >>>>>>>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>>>>>>> effectively infinite >>>>>>>>>>>>>>> rate) it does explain what I'm thinking more >>>>>>>>>>>>>>> fully. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> THANK YOU ALL who responded to the previous >>>>>>>>>>>>>>> thread, >>>>>>>>>>>>>>> and please don't >>>>>>>>>>>>>>> feel shy if you see something that I still >>>>>>>>>>>>>>> haven't >>>>>>>>>>>>>>> caught! I need to >>>>>>>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>>>>>>> folks >>>>>>>>>>>>>>> on USENET who >>>>>>>>>>>>>>> critique my work. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>> Tim, >>>>>>>>>>>>>> Thanks for making available a clear and >>>>>>>>>>>>>> informative >>>>>>>>>>>>>> paper. I would >>>>>>>>>>>>>> like >>>>>>>>>>>>>> to make a comment at this late stage about the >>>>>>>>>>>>>> section >>>>>>>>>>>>>> on signal >>>>>>>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>>>>>>> >>>>>>>>>>>>>> You explain that reconstruction is done by >>>>>>>>>>>>>> interpolating the output >>>>>>>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>>>>>>> clearly identified >>>>>>>>>>>>>> where the interpolaton occurs. >>>>>>>>>>>>>> >>>>>>>>>>>>>> You say that the first step in interpolation is >>>>>>>>>>>>>> the >>>>>>>>>>>>>> generation of a >>>>>>>>>>>>>> stepped waveform by the zero-hold D/A and you >>>>>>>>>>>>>> mention >>>>>>>>>>>>>> the stepped >>>>>>>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>>>>>>> interpolated signal. In >>>>>>>>>>>>>> my >>>>>>>>>>>>>> view this should be changed to say that >>>>>>>>>>>>>> generating the >>>>>>>>>>>>>> stepped >>>>>>>>>>>>>> waveform >>>>>>>>>>>>>> is the first step in the reconstruction process, >>>>>>>>>>>>>> interpolaton being >>>>>>>>>>>>>> the >>>>>>>>>>>>>> second step. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Interpolation, the generation of intermediate >>>>>>>>>>>>>> values >>>>>>>>>>>>>> between known >>>>>>>>>>>>>> data >>>>>>>>>>>>>> points, occurs when the stepped analog signal >>>>>>>>>>>>>> reaches >>>>>>>>>>>>>> the analog >>>>>>>>>>>>>> output >>>>>>>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>>>>>>> that >>>>>>>>>>>>>> generate the >>>>>>>>>>>>>> intermediate data values, on a continuous >>>>>>>>>>>>>> basis. You >>>>>>>>>>>>>> have mentioned >>>>>>>>>>>>>> the >>>>>>>>>>>>>> output filter, and I think it would be useful to >>>>>>>>>>>>>> identify this filter >>>>>>>>>>>>>> as >>>>>>>>>>>>>> the spot where interpolation occurs. >>>>>>>>>>>>> >>>>>>>>>>>>> I thought about that before I used the term, and I >>>>>>>>>>>>> like >>>>>>>>>>>>> my way. The >>>>>>>>>>>>> reason I used it is because, in the context of that >>>>>>>>>>>>> paper (and as I >>>>>>>>>>>>> generally think about sampling), the sampled time >>>>>>>>>>>>> signal >>>>>>>>>>>>> _does not >>>>>>>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>>>>>>> rather >>>>>>>>>>>>> strict way to >>>>>>>>>>>>> consider things, but I find it keeps me from >>>>>>>>>>>>> miss-applying >>>>>>>>>>>>> continuous-time wisdom to sampled time systems. >>>>>>>>>>>>> Since >>>>>>>>>>>>> the signal >>>>>>>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>>>>>>> interpolate. >>>>>>>>>>>>> >>>>>>>>>>>>> The usage is different from what some people would >>>>>>>>>>>>> use, >>>>>>>>>>>>> but I (a) don't >>>>>>>>>>>>> think it's all that far off, (b) think it's more >>>>>>>>>>>>> accurate, and (c) >>>>>>>>>>>>> think that if someone can't handle Author A using >>>>>>>>>>>>> different terminology >>>>>>>>>>>>> from Author B, then they can't handle engineering. >>>>>>>>>>>>> >>>>>>>>>>>> Tim, >>>>>>>>>>>> Using a single sample to decide the values >>>>>>>>>>>> existing at >>>>>>>>>>>> later instants >>>>>>>>>>>> (up to 1/fs later in this case) is extrapolation. >>>>>>>>>>>> It is >>>>>>>>>>>> interpolation >>>>>>>>>>>> only when you use two or more samples to decide the >>>>>>>>>>>> values existing >>>>>>>>>>>> between samples. Regards, >>>>>>>>>>>> John >>>>>>>>>>> >>>>>>>>>>> Ahhh. Right. Dangit. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> Depends on where you put you time origin. If it's >>>>>>>>>> in the >>>>>>>>>> middle of the sample, a ZOH is an interpolator. >>>>>>>>>> >>>>>>>>>> Cheers >>>>>>>>>> >>>>>>>>>> Phil Hobbs >>>>>>>>> >>>>>>>>> Phil, >>>>>>>>> Not he way I look at it, which is as follows: >>>>>>>>> >>>>>>>>> If a process uses known samples to determine signal >>>>>>>>> values >>>>>>>>> at times >>>>>>>>> OUTSIDE the interval covered by the known samples then >>>>>>>>> the >>>>>>>>> process is >>>>>>>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>>>>>>> indicates this. >>>>>>>>> >>>>>>>>> If the process uses known samples to determine the >>>>>>>>> signal >>>>>>>>> values INSIDE >>>>>>>>> the interval covered by the known values then the >>>>>>>>> process is >>>>>>>>> interpolation. Again, note the prefix. >>>>>>>>> >>>>>>>>> The Zero Hold circuit uses the last known sample to >>>>>>>>> determine that the >>>>>>>>> signal will have this sample value at any later time, >>>>>>>>> potentially for >>>>>>>>> all of eternity, but in practice up until the instant >>>>>>>>> that >>>>>>>>> the next >>>>>>>>> sample arrives. >>>>>>>>> >>>>>>>>> >>>>>>>>> As far as I can see, none of this depends on my >>>>>>>>> choice of >>>>>>>>> a t=0 point. >>>>>>>>> If we choose t=0 to be half-way between samples as you >>>>>>>>> suggest then >>>>>>>>> extrapolation starts at t = -T/2 and continues up to >>>>>>>>> t = >>>>>>>>> +T/2. (T being >>>>>>>>> the sampling interval.) >>>>>>>>> For all of this time the Zero Hold circuit is producing >>>>>>>>> values which are >>>>>>>>> outside the interval covered by the known values, >>>>>>>>> and so >>>>>>>>> extrapolation >>>>>>>>> is taking pleace. >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> John >>>>>>>> >>>>>>>> Interpolation vs extrapolation depends on whether you >>>>>>>> are or >>>>>>>> are not outside the range of your actual data points. >>>>>>>> Estimating the data values before your first sample or >>>>>>>> after >>>>>>>> your last one is extrapolation, otherwise it's >>>>>>>> interpolation. Given that the samples are taken after >>>>>>>> the >>>>>>>> antialiasing filter, the value of each sample depends to >>>>>>>> some degree on the value of the input function at >>>>>>>> 'future' >>>>>>>> times--you can't very well make an antialiasing filter >>>>>>>> without at least one sample's worth of group delay! >>>>>>>> >>>>>>>> Zero-order interpolation is all over the place, e.g. in >>>>>>>> the >>>>>>>> rectangle rule for integration, which is accurate up to >>>>>>>> terms of second order as long as the rectangles are >>>>>>>> centred >>>>>>>> on the data points. >>>>>>>> >>>>>>>> It's not something I'm prepared to die defending, >>>>>>>> however. >>>>>>>> >>>>>>>> Cheers >>>>>>>> >>>>>>>> Phil Hobbs >>>>>>>> >>>>>>> I wouldn't want to defend a claim that realisable >>>>>>> anti-alias filters can >>>>>>> be non-causal. >>>>>>> >>>>>>> Regards, >>>>>>> John >>>>>> >>>>>> Neither would I. My claim was exactly the >>>>>> opposite--that due >>>>>> to the delay of the antialiasing filter, the signal for >>>>>> sample N+1 must already exist by the time we're processing >>>>>> sample N at the output. What's acausal about that? >>>>>> >>>>>> And most DSP applications aren't real-time anyway. >>>>>> >>>>>> Cheers >>>>>> >>>>>> Phil Hobbs >>>>>> >>>>> >>>>> On re-reading your post I see that you were referring to >>>>> the input >>>>> anti-alias filter. As the disussion was all about what >>>>> occurs at the >>>>> system output I assumed that you were referring to the >>>>> output >>>>> reconstruction filter, and to samples that had not yet >>>>> arrived at this >>>>> filter. >>>>> >>>>> I don't think the history of the system's input samples is >>>>> relevant to >>>>> the issue of whether the Zero-Hold circuit performs >>>>> extrapolation or >>>>> interpolation. By it's nature the Zero-Hold cicuit >>>>> 'remembers' only the >>>>> last sample presented to it and performs the simplest >>>>> possible >>>>> extrapolation of this value. As it uses only one input >>>>> value it can not >>>>> possibly be regarded as an interpolator. >>>>> >>>>> Regards, >>>>> John >>>> >>>> Okay, we agree that sample N+1 already exists at time N, >>>> then. >>>> >>>> You seem to be arguing that the fact that the value of >>>> sample N+1 doesn't appear in the mathematical form of the >>>> ZOH means that it's not an interpolator, but that isn't so. >>>> An Nth order interpolator needs data from at least N+1 >>>> sample points to determine all its coefficients, and since >>>> the ZOH is a zero-order interpolator, it only needs one data >>>> point. >>>> >>>> The issue of interpolation vs eztrapolation is not the >>>> functional form of the interpolator, but whether or not >>>> you're doing it between samples (which we are, since we've >>>> both now decided that sample N+1 already exists at time N). >>>> This isn't semantics, it's a question of the reliability of >>>> the procedure. >>>> >>>> Both interpolation and extrapolation introduce errors, and >>>> by making assumptions e.g. about the boundedness of some >>>> derivative of the function, you can put a bound on those >>>> errors.(*) The bound is commonly expressed in terms of some >>>> power of h (the time step) times the corresponding >>>> derivative bound, times a constant. This limit grows without >>>> bound as you get further and further from the last sample. >>>> >>>> The operational distinction between extrapolation and >>>> interpolation is whether the errors are bounded, because you >>>> get another sample at time N+1 (interpolation), or whether >>>> they keep growing because you keep getting further from the >>>> last data point (extrapolation). That's a really important >>>> difference, one that goes a long way beyond sample >>>> numbering. >>>> >>>> Cheers >>>> >>>> Phil Hobbs >>>> >>>> (*) In the special case of sinc interpolation of a genuinely >>>> band-limited function, the error is zero, but band-limiting >>>> requires infinite temporal extension, so we're never really >>>> in the zero-error case. >>>> >>> >>> Sample N+! may exist, but since the Zero Order Hold >>> Circuit does not >>> have access to it, its existence is irrelevant to any >>> discussion of the >>> operation of the ZOH circuit. >>> >>> Your argument is logically flawed because it assumes from >>> the start that >>> interpolation is possible with only one data point. >>> >>> Interestingly, if we substitute 'extrapolator' where you >>> have used >>> 'interpolator' in your argument, we get the following >>> statement which, >>> while it is still not valid as an argument, it is at least >>> a correct >>> statement of fact: >>> "An Nth order EXTRApolator needs data from at least N+1 >>> sample points to determine all its coefficients, and since >>> the ZOH is a >>> zero-order EXTRApolator, it only needs one data point." >>> >>> >>> Your overall argument, that the ZOK is an interpolator, >>> relies on your >>> establishing that extrapolation is a special case of >>> interpolation. I >>> have never seen this view either in textbooks or in >>> general useage, and >>> I am sure it is not widely held. >>> >>> Even if you think that extrapolation is a special case of >>> interpolation >>> I can not think of any good reason for you to query my use >>> of the term >>> 'extrapolation' in describing the action of the ZOH. >>> >>> >>> Regards, >>> John >>> >>> >> >> You haven't read what I've written, at least not very >> carefully. >> >> Cheers >> >> Phil Hobbs >> > I did, very carefully, before coming to the conclusion that while > interesting, none of it is relevant to the issue of whether a ZOH > performs extrapolation. > > You might care to consider this: if the ZOH is NOT performing > extrapolation, what would be the effect of putting an extrapolating > circuit there instead? > > Regards, > John
You're using a private vocabulary. The fact that it's being done between adjacent samples makes it interpolation, not extrapolation. See for example the following Google Books searches for "zero order interpolation" and "zeroth order interpolation": http://preview.tinyurl.com/236ectl http://preview.tinyurl.com/24u4ezf One or two of them use nearest neighbour averaging as the zero-order interpolator, but most just use the nearest-neighbour value. Cheers Phil Hobbs -- Dr Philip C D Hobbs Principal ElectroOptical Innovations 55 Orchard Rd Briarcliff Manor NY 10510 845-480-2058 email: hobbs (atsign) electrooptical (period) net http://electrooptical.net
On 24/12/2010 12:08 PM, Phil Hobbs wrote:
> John Monro wrote: >> On 24/12/2010 3:26 AM, Phil Hobbs wrote: >>> John Monro wrote: >>>> On 23/12/2010 4:56 PM, Phil Hobbs wrote: >>>>> John Monro wrote: >>>>>> On 23/12/2010 12:40 PM, Phil Hobbs wrote: >>>>>>> John Monro wrote: >>>>>>>> On 23/12/2010 8:07 AM, Phil Hobbs wrote: >>>>>>>>> Tim Wescott wrote: >>>>>>>>>> On Wed, 22 Dec 2010 20:24:41 +1100, John Monro wrote: >>>>>>>>>> >>>>>>>>>>> On 22/12/2010 1:00 PM, Tim Wescott wrote: >>>>>>>>>>>> On 12/21/2010 04:10 PM, John Monro wrote: >>>>>>>>>>>>> On 21/12/2010 8:15 AM, Tim Wescott wrote: >>>>>>>>>>>>>> I'm starting a new thread (from "Sampling: What >>>>>>>>>>>>>> Nyquist Didn't Say, >>>>>>>>>>>>>> and What to Do About It"), because the old one >>>>>>>>>>>>>> rapidly >>>>>>>>>>>>>> filled up with >>>>>>>>>>>>>> all sorts of interesting stuff that I didn't >>>>>>>>>>>>>> want to >>>>>>>>>>>>>> detract from. >>>>>>>>>>>>>> >>>>>>>>>>>>>> I've posted a new version. It uses Bitstream >>>>>>>>>>>>>> fonts >>>>>>>>>>>>>> for >>>>>>>>>>>>>> Roman -- used >>>>>>>>>>>>>> because it was mentioned, and because it was >>>>>>>>>>>>>> there. >>>>>>>>>>>>>> It's still a >>>>>>>>>>>>>> serif font which isn't optimum for monitor >>>>>>>>>>>>>> viewing, >>>>>>>>>>>>>> but I want the >>>>>>>>>>>>>> thing to look good when it's printed (and I'm >>>>>>>>>>>>>> lazy >>>>>>>>>>>>>> about figuring out >>>>>>>>>>>>>> how to tell Lyx/LaTeX how to use sans!). >>>>>>>>>>>>>> >>>>>>>>>>>>>> It's 12-point, so you won't have to squint to >>>>>>>>>>>>>> see it, >>>>>>>>>>>>>> or have as much >>>>>>>>>>>>>> trouble scanning across the line. It certainly >>>>>>>>>>>>>> looks >>>>>>>>>>>>>> better in >>>>>>>>>>>>>> Evince, and I'm about to find out how it looks in >>>>>>>>>>>>>> Adobe, on my wife's >>>>>>>>>>>>>> computer upstairs. >>>>>>>>>>>>>> >>>>>>>>>>>>>> And Randy, I've changed the discussion of >>>>>>>>>>>>>> subsampling >>>>>>>>>>>>>> to make it more >>>>>>>>>>>>>> clear -- I hope that if it doesn't fully answer >>>>>>>>>>>>>> your >>>>>>>>>>>>>> difficulties (I >>>>>>>>>>>>>> think you thought I was claiming to sample at an >>>>>>>>>>>>>> effectively infinite >>>>>>>>>>>>>> rate) it does explain what I'm thinking more >>>>>>>>>>>>>> fully. >>>>>>>>>>>>>> >>>>>>>>>>>>>> THANK YOU ALL who responded to the previous >>>>>>>>>>>>>> thread, >>>>>>>>>>>>>> and please don't >>>>>>>>>>>>>> feel shy if you see something that I still >>>>>>>>>>>>>> haven't >>>>>>>>>>>>>> caught! I need to >>>>>>>>>>>>>> add an acknowledgements section for all the kind >>>>>>>>>>>>>> folks >>>>>>>>>>>>>> on USENET who >>>>>>>>>>>>>> critique my work. >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> Tim, >>>>>>>>>>>>> Thanks for making available a clear and >>>>>>>>>>>>> informative >>>>>>>>>>>>> paper. I would >>>>>>>>>>>>> like >>>>>>>>>>>>> to make a comment at this late stage about the >>>>>>>>>>>>> section >>>>>>>>>>>>> on signal >>>>>>>>>>>>> reconstruction, mainly about terminology. >>>>>>>>>>>>> >>>>>>>>>>>>> You explain that reconstruction is done by >>>>>>>>>>>>> interpolating the output >>>>>>>>>>>>> signal but unfortunately I feel that you have not >>>>>>>>>>>>> clearly identified >>>>>>>>>>>>> where the interpolaton occurs. >>>>>>>>>>>>> >>>>>>>>>>>>> You say that the first step in interpolation is >>>>>>>>>>>>> the >>>>>>>>>>>>> generation of a >>>>>>>>>>>>> stepped waveform by the zero-hold D/A and you >>>>>>>>>>>>> mention >>>>>>>>>>>>> the stepped >>>>>>>>>>>>> waveform of Figure 5 as being a picture of an >>>>>>>>>>>>> interpolated signal. In >>>>>>>>>>>>> my >>>>>>>>>>>>> view this should be changed to say that >>>>>>>>>>>>> generating the >>>>>>>>>>>>> stepped >>>>>>>>>>>>> waveform >>>>>>>>>>>>> is the first step in the reconstruction process, >>>>>>>>>>>>> interpolaton being >>>>>>>>>>>>> the >>>>>>>>>>>>> second step. >>>>>>>>>>>>> >>>>>>>>>>>>> Interpolation, the generation of intermediate >>>>>>>>>>>>> values >>>>>>>>>>>>> between known >>>>>>>>>>>>> data >>>>>>>>>>>>> points, occurs when the stepped analog signal >>>>>>>>>>>>> reaches >>>>>>>>>>>>> the analog >>>>>>>>>>>>> output >>>>>>>>>>>>> reconstruction filter. It is the analog components >>>>>>>>>>>>> that >>>>>>>>>>>>> generate the >>>>>>>>>>>>> intermediate data values, on a continuous >>>>>>>>>>>>> basis. You >>>>>>>>>>>>> have mentioned >>>>>>>>>>>>> the >>>>>>>>>>>>> output filter, and I think it would be useful to >>>>>>>>>>>>> identify this filter >>>>>>>>>>>>> as >>>>>>>>>>>>> the spot where interpolation occurs. >>>>>>>>>>>> >>>>>>>>>>>> I thought about that before I used the term, and I >>>>>>>>>>>> like >>>>>>>>>>>> my way. The >>>>>>>>>>>> reason I used it is because, in the context of that >>>>>>>>>>>> paper (and as I >>>>>>>>>>>> generally think about sampling), the sampled time >>>>>>>>>>>> signal >>>>>>>>>>>> _does not >>>>>>>>>>>> exist_ in between the sampling instants. That's a >>>>>>>>>>>> rather >>>>>>>>>>>> strict way to >>>>>>>>>>>> consider things, but I find it keeps me from >>>>>>>>>>>> miss-applying >>>>>>>>>>>> continuous-time wisdom to sampled time systems. >>>>>>>>>>>> Since >>>>>>>>>>>> the signal >>>>>>>>>>>> _doesn't_ exist, the action of a ZOH is, indeed, to >>>>>>>>>>>> interpolate. >>>>>>>>>>>> >>>>>>>>>>>> The usage is different from what some people would >>>>>>>>>>>> use, >>>>>>>>>>>> but I (a) don't >>>>>>>>>>>> think it's all that far off, (b) think it's more >>>>>>>>>>>> accurate, and (c) >>>>>>>>>>>> think that if someone can't handle Author A using >>>>>>>>>>>> different terminology >>>>>>>>>>>> from Author B, then they can't handle engineering. >>>>>>>>>>>> >>>>>>>>>>> Tim, >>>>>>>>>>> Using a single sample to decide the values >>>>>>>>>>> existing at >>>>>>>>>>> later instants >>>>>>>>>>> (up to 1/fs later in this case) is extrapolation. >>>>>>>>>>> It is >>>>>>>>>>> interpolation >>>>>>>>>>> only when you use two or more samples to decide the >>>>>>>>>>> values existing >>>>>>>>>>> between samples. Regards, >>>>>>>>>>> John >>>>>>>>>> >>>>>>>>>> Ahhh. Right. Dangit. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Depends on where you put you time origin. If it's >>>>>>>>> in the >>>>>>>>> middle of the sample, a ZOH is an interpolator. >>>>>>>>> >>>>>>>>> Cheers >>>>>>>>> >>>>>>>>> Phil Hobbs >>>>>>>> >>>>>>>> Phil, >>>>>>>> Not he way I look at it, which is as follows: >>>>>>>> >>>>>>>> If a process uses known samples to determine signal >>>>>>>> values >>>>>>>> at times >>>>>>>> OUTSIDE the interval covered by the known samples then >>>>>>>> the >>>>>>>> process is >>>>>>>> extrapolation. The prefix 'extra,' meaning 'outside,' >>>>>>>> indicates this. >>>>>>>> >>>>>>>> If the process uses known samples to determine the >>>>>>>> signal >>>>>>>> values INSIDE >>>>>>>> the interval covered by the known values then the >>>>>>>> process is >>>>>>>> interpolation. Again, note the prefix. >>>>>>>> >>>>>>>> The Zero Hold circuit uses the last known sample to >>>>>>>> determine that the >>>>>>>> signal will have this sample value at any later time, >>>>>>>> potentially for >>>>>>>> all of eternity, but in practice up until the instant >>>>>>>> that >>>>>>>> the next >>>>>>>> sample arrives. >>>>>>>> >>>>>>>> >>>>>>>> As far as I can see, none of this depends on my >>>>>>>> choice of >>>>>>>> a t=0 point. >>>>>>>> If we choose t=0 to be half-way between samples as you >>>>>>>> suggest then >>>>>>>> extrapolation starts at t = -T/2 and continues up to >>>>>>>> t = >>>>>>>> +T/2. (T being >>>>>>>> the sampling interval.) >>>>>>>> For all of this time the Zero Hold circuit is producing >>>>>>>> values which are >>>>>>>> outside the interval covered by the known values, >>>>>>>> and so >>>>>>>> extrapolation >>>>>>>> is taking pleace. >>>>>>>> >>>>>>>> Regards, >>>>>>>> John >>>>>>> >>>>>>> Interpolation vs extrapolation depends on whether you >>>>>>> are or >>>>>>> are not outside the range of your actual data points. >>>>>>> Estimating the data values before your first sample or >>>>>>> after >>>>>>> your last one is extrapolation, otherwise it's >>>>>>> interpolation. Given that the samples are taken after >>>>>>> the >>>>>>> antialiasing filter, the value of each sample depends to >>>>>>> some degree on the value of the input function at >>>>>>> 'future' >>>>>>> times--you can't very well make an antialiasing filter >>>>>>> without at least one sample's worth of group delay! >>>>>>> >>>>>>> Zero-order interpolation is all over the place, e.g. in >>>>>>> the >>>>>>> rectangle rule for integration, which is accurate up to >>>>>>> terms of second order as long as the rectangles are >>>>>>> centred >>>>>>> on the data points. >>>>>>> >>>>>>> It's not something I'm prepared to die defending, >>>>>>> however. >>>>>>> >>>>>>> Cheers >>>>>>> >>>>>>> Phil Hobbs >>>>>>> >>>>>> I wouldn't want to defend a claim that realisable >>>>>> anti-alias filters can >>>>>> be non-causal. >>>>>> >>>>>> Regards, >>>>>> John >>>>> >>>>> Neither would I. My claim was exactly the >>>>> opposite--that due >>>>> to the delay of the antialiasing filter, the signal for >>>>> sample N+1 must already exist by the time we're processing >>>>> sample N at the output. What's acausal about that? >>>>> >>>>> And most DSP applications aren't real-time anyway. >>>>> >>>>> Cheers >>>>> >>>>> Phil Hobbs >>>>> >>>> >>>> On re-reading your post I see that you were referring to >>>> the input >>>> anti-alias filter. As the disussion was all about what >>>> occurs at the >>>> system output I assumed that you were referring to the >>>> output >>>> reconstruction filter, and to samples that had not yet >>>> arrived at this >>>> filter. >>>> >>>> I don't think the history of the system's input samples is >>>> relevant to >>>> the issue of whether the Zero-Hold circuit performs >>>> extrapolation or >>>> interpolation. By it's nature the Zero-Hold cicuit >>>> 'remembers' only the >>>> last sample presented to it and performs the simplest >>>> possible >>>> extrapolation of this value. As it uses only one input >>>> value it can not >>>> possibly be regarded as an interpolator. >>>> >>>> Regards, >>>> John >>> >>> Okay, we agree that sample N+1 already exists at time N, >>> then. >>> >>> You seem to be arguing that the fact that the value of >>> sample N+1 doesn't appear in the mathematical form of the >>> ZOH means that it's not an interpolator, but that isn't so. >>> An Nth order interpolator needs data from at least N+1 >>> sample points to determine all its coefficients, and since >>> the ZOH is a zero-order interpolator, it only needs one data >>> point. >>> >>> The issue of interpolation vs eztrapolation is not the >>> functional form of the interpolator, but whether or not >>> you're doing it between samples (which we are, since we've >>> both now decided that sample N+1 already exists at time N). >>> This isn't semantics, it's a question of the reliability of >>> the procedure. >>> >>> Both interpolation and extrapolation introduce errors, and >>> by making assumptions e.g. about the boundedness of some >>> derivative of the function, you can put a bound on those >>> errors.(*) The bound is commonly expressed in terms of some >>> power of h (the time step) times the corresponding >>> derivative bound, times a constant. This limit grows without >>> bound as you get further and further from the last sample. >>> >>> The operational distinction between extrapolation and >>> interpolation is whether the errors are bounded, because you >>> get another sample at time N+1 (interpolation), or whether >>> they keep growing because you keep getting further from the >>> last data point (extrapolation). That's a really important >>> difference, one that goes a long way beyond sample >>> numbering. >>> >>> Cheers >>> >>> Phil Hobbs >>> >>> (*) In the special case of sinc interpolation of a genuinely >>> band-limited function, the error is zero, but band-limiting >>> requires infinite temporal extension, so we're never really >>> in the zero-error case. >>> >> >> Sample N+! may exist, but since the Zero Order Hold >> Circuit does not >> have access to it, its existence is irrelevant to any >> discussion of the >> operation of the ZOH circuit. >> >> Your argument is logically flawed because it assumes from >> the start that >> interpolation is possible with only one data point. >> >> Interestingly, if we substitute 'extrapolator' where you >> have used >> 'interpolator' in your argument, we get the following >> statement which, >> while it is still not valid as an argument, it is at least >> a correct >> statement of fact: >> "An Nth order EXTRApolator needs data from at least N+1 >> sample points to determine all its coefficients, and since >> the ZOH is a >> zero-order EXTRApolator, it only needs one data point." >> >> >> Your overall argument, that the ZOK is an interpolator, >> relies on your >> establishing that extrapolation is a special case of >> interpolation. I >> have never seen this view either in textbooks or in >> general useage, and >> I am sure it is not widely held. >> >> Even if you think that extrapolation is a special case of >> interpolation >> I can not think of any good reason for you to query my use >> of the term >> 'extrapolation' in describing the action of the ZOH. >> >> >> Regards, >> John >> >> > > You haven't read what I've written, at least not very > carefully. > > Cheers > > Phil Hobbs >
I did, very carefully, before coming to the conclusion that while interesting, none of it is relevant to the issue of whether a ZOH performs extrapolation. You might care to consider this: if the ZOH is NOT performing extrapolation, what would be the effect of putting an extrapolating circuit there instead? Regards, John