DSPRelated.com
Forums

Re: Sampling, Again -- Updates

Started by rickman December 25, 2010
If I can jump in here, I have to say I don't follow why you call a zero order hold an interpolation.  I can see why it is *used* in the context of interpolation, because of its simplicity.  But if it is being done in real time where the subsequent data is not available for computation (because it does not exist yet), it is not really interpolation, by definition.  

When I looked up Interpolation vs. Extrapolation, I found many sources that mostly say the same thing, best described by a quote from Wikipedia, "In mathematics, extrapolation is the process of constructing new data points outside a discrete set of known data points. It is similar to the process of interpolation, which constructs new points between known points".  If you don't have the next point and are estimating data beyond the last point you have measured, then it is extrapolation... by definition.  

If you are filling in data in a sequence that you have collected, then it could be considered interpolation, but that seems like an odd interpretation given that it takes into account no other data than the one point.  Since you can't be filling data in "between" one known point, the only justification for calling it interpolation is that you do have the subsequent data and your purpose is to fill in between the points, even if they aren't used in the calculation. 

Having said that, what is the point of this discussion?  Why do you two care if it is called interpolation or extrapolation?  It is the same formula in either case and is used exactly the same way.  It would appear that this is a special case where interpolation and extrapolation can not actually be distinguished by considering the calculation alone.  So there is no mathematical value in picking one label over the other. 

Rick
rickman <gnuarm@gmail.com> wrote:
> If I can jump in here, I have to say I don't follow why you call > a zero order hold an interpolation. I can see why it is *used* > in the context of interpolation, because of its simplicity. > But if it is being done in real time where the subsequent data > is not available for computation (because it does not exist yet), > it is not really interpolation, by definition.
Well, first order (linear) interpolation connects sucessive points with a first degree (linear) polynomial. So zeroth order interpolation connects them with a zero degree polynomial, which is a constant. It isn't an especially good form of interpolation, but it does seem like it is.
> When I looked up Interpolation vs. Extrapolation, I found many > sources that mostly say the same thing, best described by a > quote from Wikipedia,
-- glen
On 25/12/2010 7:37 PM, rickman wrote:
> If I can jump in here, I have to say I don't follow why you call a zero order hold an interpolation. I can see why it is *used* in the context of interpolation, because of its simplicity. But if it is being done in real time where the subsequent data is not available for computation (because it does not exist yet), it is not really interpolation, by definition. > > When I looked up Interpolation vs. Extrapolation, I found many sources that mostly say the same thing, best described by a quote from Wikipedia, "In mathematics, extrapolation is the process of constructing new data points outside a discrete set of known data points. It is similar to the process of interpolation, which constructs new points between known points". If you don't have the next point and are estimating data beyond the last point you have measured, then it is extrapolation... by definition. > > If you are filling in data in a sequence that you have collected, then it could be considered interpolation, but that seems like an odd interpretation given that it takes into account no other data than the one point. Since you can't be filling data in "between" one known point, the only justification for calling it interpolation is that you do have the subsequent data and your purpose is to fill in between the points, even if they aren't used in the calculation. > > Having said that, what is the point of this discussion? Why do you two care if it is called interpolation or extrapolation? It is the same formula in either case and is used exactly the same way. It would appear that this is a special case where interpolation and extrapolation can not actually be distinguished by considering the calculation alone. So there is no mathematical value in picking one label over the other. > > Rick
Hi Rick, I largely agree with what you say above, but I must disagree that there exists a case in which the two processes are the same. It is a sort of Zen exercise to dwell on someone's expression for the number of data points. You can examine a given expression for interpolation and speculate on the meaning of it when the number of points is 1 but this is as useful as asking yourself "What is the sound of one hand clapping?" Just as clapping is defined as the bringing together of two hands, interpolation is defined as the calculation of intermediate points between two data points. (And it is implied always that both data points are used.) In short, we shuld put aside the expression and give attention to the definition and universal usage. Why do I care? From a practical viewpoint, because it is useful to have different terms to describe these different processes. From a philosophical point of view, because I see great value at arriving at agreed definitions for the terms that we use, as far as this is possible. In this case, the two terms are already well defined and understood, so why mess with that? Regards, John
John Monro <johnmonro@optusnet.com.au> wrote:
(snip)

> I largely agree with what you say above, but I must disagree > that there exists a case in which the two processes are the > same.
> It is a sort of Zen exercise to dwell on someone's > expression for the number of data points. You can examine a > given expression for interpolation and speculate on the > meaning of it when the number of points is 1 but this is as > useful as asking yourself "What is the sound of one hand > clapping?" Just as clapping is defined as the bringing > together of two hands, interpolation is defined as the > calculation of intermediate points between two data points. > (And it is implied always that both data points are used.) > In short, we shuld put aside the expression and give > attention to the definition and universal usage.
Well, 0th order means that it is a 0th order polynomial, but that doesn't mean that it has the value of one of the points. It seems to me that it should be the mean of the two points. (That is, a least-squares fit of a 0th order polynomial to the two interpolation points.) You can also go to higher order, which should depend on more points even though it is only used between a pair of points.
> Why do I care? > From a practical viewpoint, because it is useful to have > different terms to describe these different processes. > From a philosophical point of view, because I see great > value at arriving at agreed definitions for the terms that > we use, as far as this is possible. In this case, the two > terms are already well defined and understood, so why mess > with that?
Try generalizing to higher order polynomial interpolation, and then go down from there. Odd orders are convenient in that they can be curves that go through n+1 points, an equal number on either side of the interpolation interval. -- glen
On 26/12/2010 6:19 PM, glen herrmannsfeldt wrote:
> John Monro<johnmonro@optusnet.com.au> wrote: > (snip) > >> I largely agree with what you say above, but I must disagree >> that there exists a case in which the two processes are the >> same. > >> It is a sort of Zen exercise to dwell on someone's >> expression for the number of data points. You can examine a >> given expression for interpolation and speculate on the >> meaning of it when the number of points is 1 but this is as >> useful as asking yourself "What is the sound of one hand >> clapping?" Just as clapping is defined as the bringing >> together of two hands, interpolation is defined as the >> calculation of intermediate points between two data points. >> (And it is implied always that both data points are used.) >> In short, we shuld put aside the expression and give >> attention to the definition and universal usage. > > Well, 0th order means that it is a 0th order polynomial, > but that doesn't mean that it has the value of one of the > points. It seems to me that it should be the mean of the > two points. (That is, a least-squares fit of a 0th order > polynomial to the two interpolation points.)
This would not be a useful thing to do as it would introduce sinc distortion, with a null at fs/4. You can
> also go to higher order, which should depend on more > points even though it is only used between a pair of points. > >> Why do I care? >> From a practical viewpoint, because it is useful to have >> different terms to describe these different processes. >> From a philosophical point of view, because I see great >> value at arriving at agreed definitions for the terms that >> we use, as far as this is possible. In this case, the two >> terms are already well defined and understood, so why mess >> with that? > > Try generalizing to higher order polynomial interpolation, > and then go down from there. Odd orders are convenient in that > they can be curves that go through n+1 points, an equal number > on either side of the interpolation interval. > > -- glen
I have done that, summary as follows: EXTRAPOLATION Using a second-order polynomial. A parabola is fitted to three successive known data points in order to evaluate points lying outside the range of the known data points. Using a first order polynomial. A line is fitted to two successive known data points in order to evaluate points lying outside the range of the known data points. Using a 'Zero-order' polynomial. A constant is fitted to one known data point in order to evaluate points lying outside the known data point. INTERPOLATION Using a second-order polynomial. A parabola is fitted to three successive known data points in order to evaluate points lying anywhere within the range of the three known data points. Using a first order polynomial. A line is fitted to two successive known data points in order to evaluate points lying anywhere within the range of the two known data points. Using a 'Zero-order' polynomial. A constant is fitted to one known data point in order to evaluate points lying (where? -- within the range of the single data point?) There is a difficulty here as the known data now has a range of zero. It can be seen tha when the order of the polynomial reduces to zero, interpolation degenerates into a process that is valid at only one data point (e.g. one instant in time) and is therefore totally useless, whereas extrapolation continues to produce valid and useful values. In no sense do the two processes merge for the zero-order case. Conclusion: The term 'Extrapolation' accurately describes the function of a Zero-Order Hold circuit. The term 'Interpolation' doesn't. Regards, John