DSPRelated.com
Forums

About sampling

Started by Jani Huhtanen August 27, 2006
Oli Filth wrote:

> Jani Huhtanen said the following on 28/08/2006 16:01: >> Oli Filth wrote: >> >>> Jani Huhtanen said the following on 28/08/2006 07:27: >>>> I'm afraid you have made a mistake somewhere (I'll look into it after >>>> I'm back from work). >>> Ah, that is because I'm an idiot. I go back to my original assertion, >>> that sinc is the only solution. >>> >>> I forgot that t is not a constant in the equation: >>> >>> a_t0[n] h(t-t0) = b_t0[n] h(t-n) >>> >>> For any given {t0,n} in {R,Z}, this must hold at *all* values of t. It >>> is apparent that this can only hold where: >>> >>> h(t-t0) = C h(t-n) >>> >>> for all t in R, where C = (b_t0[n]/a_t0[n]) is some constant. Clearly, >>> this can only hold when C = 1 and h(t) = K. >>> >>> >> >> In your notation is . multiplication (and not for example convolution)? I >> assume it is multiplication as you talked about window function. > > Yes. > > >> I still fail to see why >> >> phi(t-t0) = SUM_n{ a_t0[n]*h(t-t0)*sinc(t-n) } >> phi(t-t0) = SUM_n{ b_t0[n]*h(t-n)*sinc(t-n) } (a) >> >> implies >> >> a_t0[n]*h(t-t0) = b_t0[n]*h(t-n). (b) >> >> I see that (b) implies (a), but is it really: (a) <=> (b) ? >> >> I assume you infered the result from >> >> SUM_n{ a_t0[n]*h(t-t0)*sinc(t-n) } - SUM_n{ >> b_t0[n]*h(t-n)*sinc(t-n) } >> = SUM_n{ (a_t0[n]*h(t-t0) - b_t0[n]*h(t-n)) * sinc(t-n) } <--- >> = phi(t-t0) - phi(t-t0) = 0 >> >> but how did you prove that >> >> a_t0[n]*h(t-t0) - b_t0[n]*h(t-n) (i) >> >> could not be orthogonal to >> >> sinc(t-n) (ii) > > You make an excellent point, which I did not think of. However, here > are my thoughts on this: > > The function set {sinc(t-n)} forms an orthonormal basis of bandlimited > functions; i.e. > > f(t) = SUM_n{ c[n] sinc(t-n) } > > Therefore we have two possibilities: > > 1. phi(t-t0) is bandlimited. > Therefore it is uniquely specified by a set of coefficients {c[n]}. > Therefore a_t0[n].h(t-t0) = b_t0[n].h(t-n). > > 2. phi(t-t0) is not bandlimited. > Therefore it cannot be specified by any set of coefficients {c[n]}. > >
Yes, but a_t0[n]*h(t-t0)-b_t0[n]*h(t-n) is a function of t and t0 while c[n] is not. -- Jani Huhtanen Tampere University of Technology, Pori
Jani Huhtanen said the following on 29/08/2006 11:46:
> Oli Filth wrote: > >> Jani Huhtanen said the following on 28/08/2006 16:01: >>> Oli Filth wrote: >>> >>>> Jani Huhtanen said the following on 28/08/2006 07:27: >>>>> I'm afraid you have made a mistake somewhere (I'll look into it after >>>>> I'm back from work). >>>> Ah, that is because I'm an idiot. I go back to my original assertion, >>>> that sinc is the only solution. >>>> >>>> I forgot that t is not a constant in the equation: >>>> >>>> a_t0[n] h(t-t0) = b_t0[n] h(t-n) >>>> >>>> For any given {t0,n} in {R,Z}, this must hold at *all* values of t. It >>>> is apparent that this can only hold where: >>>> >>>> h(t-t0) = C h(t-n) >>>> >>>> for all t in R, where C = (b_t0[n]/a_t0[n]) is some constant. Clearly, >>>> this can only hold when C = 1 and h(t) = K. >>>> >>>> >>> In your notation is . multiplication (and not for example convolution)? I >>> assume it is multiplication as you talked about window function. >> Yes. >> >> >>> I still fail to see why >>> >>> phi(t-t0) = SUM_n{ a_t0[n]*h(t-t0)*sinc(t-n) } >>> phi(t-t0) = SUM_n{ b_t0[n]*h(t-n)*sinc(t-n) } (a) >>> >>> implies >>> >>> a_t0[n]*h(t-t0) = b_t0[n]*h(t-n). (b) >>> >>> I see that (b) implies (a), but is it really: (a) <=> (b) ? >>> >>> I assume you infered the result from >>> >>> SUM_n{ a_t0[n]*h(t-t0)*sinc(t-n) } - SUM_n{ >>> b_t0[n]*h(t-n)*sinc(t-n) } >>> = SUM_n{ (a_t0[n]*h(t-t0) - b_t0[n]*h(t-n)) * sinc(t-n) } <--- >>> = phi(t-t0) - phi(t-t0) = 0 >>> >>> but how did you prove that >>> >>> a_t0[n]*h(t-t0) - b_t0[n]*h(t-n) (i) >>> >>> could not be orthogonal to >>> >>> sinc(t-n) (ii) >> You make an excellent point, which I did not think of. However, here >> are my thoughts on this: >> >> The function set {sinc(t-n)} forms an orthonormal basis of bandlimited >> functions; i.e. >> >> f(t) = SUM_n{ c[n] sinc(t-n) } >> >> Therefore we have two possibilities: >> >> 1. phi(t-t0) is bandlimited. >> Therefore it is uniquely specified by a set of coefficients {c[n]}. >> Therefore a_t0[n].h(t-t0) = b_t0[n].h(t-n). >> >> 2. phi(t-t0) is not bandlimited. >> Therefore it cannot be specified by any set of coefficients {c[n]}. >> >> > > Yes, but a_t0[n]*h(t-t0)-b_t0[n]*h(t-n) is a function of t and t0 while c[n] > is not.
Dammit, you are right! I must learn to think before I post. I will give this some more thought... -- Oli
Jani,

I've given this some more thought; hopefully there are no mistakes this 
time!

Let us consider the case where phi(t) is bandlimited.  Therefore:

     phi(t) = SUM_n{ c[n] sinc(t-n) }

and:

     phi(t-t0) = SUM_n{ c[n] sinc(t-t0-n) }

Decomposing sinc(t-t0):

     phi(t-t0) = SUM_n{ c[n] SUM_q{ a_t0[q] sinc(t-q-n) }}

               = SUM_q{ a_t0[q] SUM_n{ c[n] sinc(t-q-n) }}

But the inner summation is just phi(t-q), therefore we have:

     phi(t-t0) = SUM_q{ a_t0[q] phi(t-q) }

which is the form we desire.  This implies that any sampling function 
that is appropriately bandlimited satisfies (6) in your original post.

The next job is to consider what happens if we extend the bandwidth of 
phi(t)...


-- 
Oli
Oli Filth wrote:

> Jani, > > I've given this some more thought; hopefully there are no mistakes this > time! >
I'm really impressed and thankful for your effort, Oli.
> Let us consider the case where phi(t) is bandlimited. Therefore: > > phi(t) = SUM_n{ c[n] sinc(t-n) } > > and: > > phi(t-t0) = SUM_n{ c[n] sinc(t-t0-n) } > > Decomposing sinc(t-t0): > > phi(t-t0) = SUM_n{ c[n] SUM_q{ a_t0[q] sinc(t-q-n) }} > > = SUM_q{ a_t0[q] SUM_n{ c[n] sinc(t-q-n) }} > > But the inner summation is just phi(t-q), therefore we have: > > phi(t-t0) = SUM_q{ a_t0[q] phi(t-q) } > > which is the form we desire. This implies that any sampling function > that is appropriately bandlimited satisfies (6) in your original post. > > The next job is to consider what happens if we extend the bandwidth of > phi(t)... > >
I don't find any mistakes. In addition to phi(t) with "extended bandwidth", it would be interesting to find constrainst for phi(t) so that it spans the same function space as sinc(t). It is propably quite straightforward to show, but I'm quite thight on time at the moment (started a new job). I'll look into it at some point. -- Jani Huhtanen
Jani Huhtanen said the following on 01/09/2006 18:16:
> Oli Filth wrote: >> Let us consider the case where phi(t) is bandlimited. Therefore: >> >> phi(t) = SUM_n{ c[n] sinc(t-n) } >> >> and: >> >> phi(t-t0) = SUM_n{ c[n] sinc(t-t0-n) } >> >> Decomposing sinc(t-t0): >> >> phi(t-t0) = SUM_n{ c[n] SUM_q{ a_t0[q] sinc(t-q-n) }} >> >> = SUM_q{ a_t0[q] SUM_n{ c[n] sinc(t-q-n) }} >> >> But the inner summation is just phi(t-q), therefore we have: >> >> phi(t-t0) = SUM_q{ a_t0[q] phi(t-q) } >> >> which is the form we desire. This implies that any sampling function >> that is appropriately bandlimited satisfies (6) in your original post. >> > it would be interesting to find constrainst for phi(t) so that it spans the > same function space as sinc(t).
To span an identical space, the set {phi(t-k)} must themselves be in the space, and therefore we *must* be able to express them as a linear summation of basis functions {sinc(t-k)} (i.e. they must necessarily be bandlimited). If we have: phi(t) = SUM_n{ c[n] sinc(t-n) } then to have: <phi(t), phi(t-k)> = delta(k) [(1) from your original post] we must have: <c[n], c[n-k]> = delta(k) In other words, the discrete-time representation of phi(t) (in a Nyquist-sampled sense) must exhibit a white spectrum. The only two cases I can think of that satisfy this are: * c[n] = delta(n), which gives phi(t) = sinc(t). * c[n] is a zero-mean memoryless random process.
> I'm quite tight on time at the moment (started a new job).
I, on the other hand, currently have all the time in the world, as I've just graduated, and don't start my job until October! This is a very interesting problem, so I'm happy to keep working on it. -- Oli
Oli Filth wrote:

> Jani Huhtanen said the following on 01/09/2006 18:16: >> Oli Filth wrote: >>> Let us consider the case where phi(t) is bandlimited. Therefore: >>> >>> phi(t) = SUM_n{ c[n] sinc(t-n) } >>> >>> and: >>> >>> phi(t-t0) = SUM_n{ c[n] sinc(t-t0-n) } >>> >>> Decomposing sinc(t-t0): >>> >>> phi(t-t0) = SUM_n{ c[n] SUM_q{ a_t0[q] sinc(t-q-n) }} >>> >>> = SUM_q{ a_t0[q] SUM_n{ c[n] sinc(t-q-n) }} >>> >>> But the inner summation is just phi(t-q), therefore we have: >>> >>> phi(t-t0) = SUM_q{ a_t0[q] phi(t-q) } >>> >>> which is the form we desire. This implies that any sampling function >>> that is appropriately bandlimited satisfies (6) in your original post. >>> >> it would be interesting to find constrainst for phi(t) so that it spans >> the same function space as sinc(t). > > To span an identical space, the set {phi(t-k)} must themselves be in the > space, and therefore we *must* be able to express them as a linear > summation of basis functions {sinc(t-k)} (i.e. they must necessarily be > bandlimited). If we have: > > phi(t) = SUM_n{ c[n] sinc(t-n) } > > then to have: > > <phi(t), phi(t-k)> = delta(k) > > [(1) from your original post] > we must have: > > <c[n], c[n-k]> = delta(k) > > In other words, the discrete-time representation of phi(t) (in a > Nyquist-sampled sense) must exhibit a white spectrum. The only two > cases I can think of that satisfy this are: > > * c[n] = delta(n), which gives phi(t) = sinc(t). > > * c[n] is a zero-mean memoryless random process. >
Yep, this is true. Or at least I arrived at the same result.
> >> I'm quite tight on time at the moment (started a new job). > > I, on the other hand, currently have all the time in the world, as I've > just graduated, and don't start my job until October! This is a very > interesting problem, so I'm happy to keep working on it. >
That's great! -- Jani Huhtanen