DSPRelated.com
Forums

zero-pad as an interpolation in frequency domain?

Started by A.E lover November 19, 2007
"Rune Allnor" <allnor@tele.ntnu.no> wrote in message 
news:563e4e82-7f92-4f13-9485-75cfeca081d3@w34g2000hsg.googlegroups.com...
> On 20 Nov, 11:27, "John E. Hadstate" > <jh113...@hotmail.com> wrote: > >> "interpolation" == "fill in the blanks" >> >> "approximation" == "estimation" >> >> They are not mutually exclusive. > > Do you know of an interpolation scheme that does *not* > intersect the given points?
Yes I do. In fact, I know of several.
On 21 Nov, 03:55, "John E. Hadstate" <jh113...@hotmail.com> wrote:
> "Rune Allnor" <all...@tele.ntnu.no> wrote in message > > news:563e4e82-7f92-4f13-9485-75cfeca081d3@w34g2000hsg.googlegroups.com... > > > On 20 Nov, 11:27, "John E. Hadstate" > > <jh113...@hotmail.com> wrote: > > >> "interpolation" == "fill in the blanks" > > >> "approximation" == "estimation" > > >> They are not mutually exclusive. > > > Do you know of an interpolation scheme that does *not* > > intersect the given points? > > Yes I do. In fact, I know of several.
Why don't you name a couple of them? I'm always eager to learn something new. Rune
On 20 Nov, 17:19, "Ron N." <rhnlo...@yahoo.com> wrote:

> So why not call these same identical coefficients > in the non-periodic zero-pad length the same thing?
Mainly because I don't have the faintest clue what you are talking about. If you have a sequence x of length N, you can zero pad it by appending M zeros. That's the only way I know of to perform zero padding. Now, M is an integer which may (but does not need to) be divisible by N, in which case M=q*N for some positive non-zero integer q. This integer q can in turn (but does not need to) be a product of two or more integers r and s, q=r*s. Whether q is prime or not makes no difference to my argument, which is only based on q being a non-zero positive integer. Rune
On 20 Nov, 20:58, dbd <d...@ieee.org> wrote:

> If you thought "interpolation' was useless, why did you apply a > definition?
There is a difference between a precise definition and every-day use. The definition of the term "interpolation" that I know of relates to continuous functions. I can see the usefulness of allowing the term to apply in every-day use for discrete sequences where additional samples are filled in between the original samples, like would be the case in upsampling of integer ratios between the old and new sampling frequency. As far as I am concerned, the usefulness of the term disappears when the original samples no longer are preserved. While I can agree with your line of arguments below, I find the end result to be a bit too removed from the starting point (generate a continuous function which intersects the given samples) to be covered by the term "interpolated spectrum". The term "resampled spectrum" may be better, although it, too, can be misleading in the sense that one never actually samples the spectrum, only the time domain data. Rune
An intuitive explanation is as follows, maybe useful, maybe not...

- DFT gives me a bunch of sines / cosines, that, when added up, cross
through the original samples
- I could evaluate those sines / cosines at any position in "time", if I
evaluate the Fourier sum of the IDT at the appropriate location.
- Interpolation in frequency domain simply means that the inverse DFT
evaluates the Fourier sum using more points.

Cheers

Markus

PS: I've got a piece of audio example code here: 
http://www.elisanet.fi/mnentwig/webroot/FFT_interpolation_example/index.html
Rune Allnor wrote:
> On 20 Nov, 20:58, dbd <d...@ieee.org> wrote: > >> If you thought "interpolation' was useless, why did you apply a >> definition? > > There is a difference between a precise definition and > every-day use. The definition of the term "interpolation" > that I know of relates to continuous functions. > > I can see the usefulness of allowing the term to apply > in every-day use for discrete sequences where additional > samples are filled in between the original samples, like > would be the case in upsampling of integer ratios between > the old and new sampling frequency. > > As far as I am concerned, the usefulness of the term disappears > when the original samples no longer are preserved. While I can > agree with your line of arguments below, I find the end result to be > a bit too removed from the starting point (generate a continuous > function which intersects the given samples) to be covered by > the term "interpolated spectrum". The term "resampled spectrum" > may be better, although it, too, can be misleading in the sense > that one never actually samples the spectrum, only the time > domain data.
Start with a set of samples, and interpolate two additional points between each pair of them using your strict definition. You now have a finer-grained version of the original set. It has no new information, but connecting the dots produces a smoother curve. From this new set, extract every second sample. Many of the samples of the original set are discarded. I think that calling this new set an interpolation -- it still has more elements than the original -- doesn't stretch the notion of interpolation much if at all. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
On Nov 20, 9:39 pm, Rune Allnor <all...@tele.ntnu.no> wrote:
> On 20 Nov, 17:19, "Ron N." <rhnlo...@yahoo.com> wrote: > > > So why not call these same identical coefficients > > in the non-periodic zero-pad length the same thing? > > Mainly because I don't have the faintest clue what > you are talking about. If you have a sequence x of > length N, you can zero pad it by appending M zeros. > > That's the only way I know of to perform zero padding. > > Now, M is an integer which may (but does not need to) > be divisible by N, in which case M=q*N for some positive > non-zero integer q. This integer q can in turn (but does not > need to) be a product of two or more integers r and s, q=r*s. > Whether q is prime or not makes no difference to my > argument, which is only based on q being a non-zero positive > integer.
If M1 is not a multiple of N then a DFT aperture of length N+M1 is not a multiple of N. If M2 is a multiple of N, then a DFT aperture of length N+M2 is a multiple of N. (M2 = q * N, q an integer). But a DFT aperture of length (N+M1)*(N+M2) is also a multiple of N; that's zero padding with (N+M1)*(N+M2)-N zeros. This DFT will include, as a subset, the same coefficients as would the DFT of aperture length (N+M!), which is not periodic in N. Are all these coefficients interpolations in your opinion?
On Nov 21, 12:33 am, Rune Allnor <all...@tele.ntnu.no> wrote:
...
.> The term "resampled spectrum"
.> may be better, although it, too, can be misleading in the sense
.> that one never actually samples the spectrum, only the time
.> domain data.
.> Rune

Rune

To respond to this in a manner consistent with your tone in this
discussion, I would have to point out that we never 'actually sample'
a signal in the time domain. Sampling is a process that modulates a
continuous signal with a Dirac comb. Since we can't actually generate
a Dirac comb we can never actually sample. (In a vocabulary discussion
like this it is merely interesting that more than a few have been able
to generate useful engineering approximations to a sampling process.
We can't allow such potential usefulness to interfere with the purity
of our language.)

In comp.dsp anyone is free to argue for a restrictive vocabulary, but
most choose to apply a more useful application of vocabulary where
words may have different detailed meanings in different contexts.
Perhaps this is a culture or language derived bias. After at least 18
posts by at least 7 authors you seem to be the only one objecting to
the use of the term interpolation in the discrete frequency domain.
That seems to validate my initial advice to the original poster.

Dale B. Dalrymple
dbd wrote:

> To respond to this in a manner consistent with your tone in this > discussion, I would have to point out that we never 'actually sample' > a signal in the time domain. Sampling is a process that modulates a > continuous signal with a Dirac comb. Since we can't actually generate > a Dirac comb we can never actually sample. (In a vocabulary discussion > like this it is merely interesting that more than a few have been able > to generate useful engineering approximations to a sampling process. > We can't allow such potential usefulness to interfere with the purity > of our language.)
This reminds me too much of the distinction between > and >= for sampling frequency and bandwidth. In a real system you could never sample exactly at 2X the highest frequency. You can, however, artificially create signals as if they were sampled at a specific frequency. One can, for example, easily create a sine at 1/4 the sampling frequency by repeating {0, 1, 0, -1} as many times as needed. That is, a dirac comb applied to sin(wt).
> In comp.dsp anyone is free to argue for a restrictive vocabulary, but > most choose to apply a more useful application of vocabulary where > words may have different detailed meanings in different contexts. > Perhaps this is a culture or language derived bias. After at least 18 > posts by at least 7 authors you seem to be the only one objecting to > the use of the term interpolation in the discrete frequency domain. > That seems to validate my initial advice to the original poster.
It would seem that there are experimentalists and theorists around. -- glen
dbd wrote:
> On Nov 21, 12:33 am, Rune Allnor <all...@tele.ntnu.no> wrote: > ... > .> The term "resampled spectrum" > .> may be better, although it, too, can be misleading in the sense > .> that one never actually samples the spectrum, only the time > .> domain data. > .> Rune > > Rune > > To respond to this in a manner consistent with your tone in this > discussion, I would have to point out that we never 'actually sample' > a signal in the time domain. Sampling is a process that modulates a > continuous signal with a Dirac comb. Since we can't actually generate > a Dirac comb we can never actually sample. (In a vocabulary discussion > like this it is merely interesting that more than a few have been able > to generate useful engineering approximations to a sampling process. > We can't allow such potential usefulness to interfere with the purity > of our language.) > > In comp.dsp anyone is free to argue for a restrictive vocabulary, but > most choose to apply a more useful application of vocabulary where > words may have different detailed meanings in different contexts. > Perhaps this is a culture or language derived bias. After at least 18 > posts by at least 7 authors you seem to be the only one objecting to > the use of the term interpolation in the discrete frequency domain. > That seems to validate my initial advice to the original poster.
Dale, I'm all for the easy flow of conversation that you advocate. Still, reminding ourselves and one another that not everything we say can safely be taken literally can serve to keep us out of subtle but serious error. Rune has a point, just don't take it too much to heart. Jerry -- Engineering is the art of making what you want from things you can get. &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;