Forums

About sampling

Started by Jani Huhtanen August 27, 2006
Hi,

I posted about "wavelet" sampling here http://tinyurl.com/efnh6 in a
thread: "Nyquist didn't say that". Nothing of what I said does not have to
be tied to wavelet terminology, thus I try not to use it in the following
(to keep it general and perhaps more easily accessible). This is bit
lengthy so if you're in a hurry then skip to the end of this post.

Let there be a real function phi(t), such that

                        { 0,   n =/= 0
    <phi(t), phi(t-n)> ={                  (1)*
                        { 1,   n  =  0

where n \in Z and let there be real function f(t) which is known to be
constructed as

    f(t) = SUM_n{ x[n]*phi(t-n) }.         (2)

Coefficients x[n] can be obviously be recovered as

    x[n] = <f(t), phi(t-n)>, for n \in Z  (3)

(proof follows from direct substitution of f(t) by sum in (2)).

At first I naively thought that any phi(t) satisfying (1) could be used for
sampling functions of the form (2). And strictly speaking this is true.
However, Robert Bristow-Johnson pointed out that (3) requires _exact_
samplingpoint synchronization. That is, generally one cannot just sample

    y[n] = <f(t-t0), phi(t-n)>, for n \in Z and t0 \in R.  (4)

and assume that

    f(t-t0) = SUM_n{ y[n]*phi(t-n) }.      (5)

However, for some phi(t) (5) does indeed hold. For example (and this is the
only example I know), if phi(t) = sinc(t) the equation (5) holds if f(t) is
constructed as in (2). In this case, the set of functions representable by
(2) is the set of bandlimited functions.

For (5) to hold phi(t) has to have following additional property:

    phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0  (6)

or 

   phi(w)*exp(-j*w*t0) = phi(w) * SUM_n{ b_t0[n]*exp(-j*w*n) } (7).


That is, phi(t-t0) has to be representable as a linear combination of sifted
versions of phi(t). For phi(t) = sinc(t) (6) is satisfied. In this case,
b_t0[n] corresponds to coefficients of ideal fractional delay filter with
delay t0.

Now finally, my question: Is sinc the only function that satisfies both (1)
and (6) (or (7))? Any good pointers for more information about the subject,
any corrections, comments?

* Here <a(t), b(t)> means integrate from -inf to inf {a(t)*b(t)*dt}.

- Jani

-- 
Jani Huhtanen
Tampere University of Technology, Pori
Jani Huhtanen said the following on 27/08/2006 19:20:
> Let there be a real function phi(t), such that > > { 0, n =/= 0 > <phi(t), phi(t-n)> ={ (1)* > { 1, n = 0 > > where n \in Z and let there be real function f(t) which is known to be > constructed as > > f(t) = SUM_n{ x[n]*phi(t-n) }. (2) > > Coefficients x[n] can be obviously be recovered as > > x[n] = <f(t), phi(t-n)>, for n \in Z (3) > > (proof follows from direct substitution of f(t) by sum in (2)). > > At first I naively thought that any phi(t) satisfying (1) could be used for > sampling functions of the form (2). And strictly speaking this is true. > However, Robert Bristow-Johnson pointed out that (3) requires _exact_ > samplingpoint synchronization. That is, generally one cannot just sample > > y[n] = <f(t-t0), phi(t-n)>, for n \in Z and t0 \in R. (4) > > and assume that > > f(t-t0) = SUM_n{ y[n]*phi(t-n) }. (5) > > However, for some phi(t) (5) does indeed hold. For example (and this is the > only example I know), if phi(t) = sinc(t) the equation (5) holds if f(t) is > constructed as in (2). In this case, the set of functions representable by > (2) is the set of bandlimited functions. > > For (5) to hold phi(t) has to have following additional property: > > phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0 (6) > > or > > phi(w)*exp(-j*w*t0) = phi(w) * SUM_n{ b_t0[n]*exp(-j*w*n) } (7). > > > That is, phi(t-t0) has to be representable as a linear combination of sifted > versions of phi(t). For phi(t) = sinc(t) (6) is satisfied. In this case, > b_t0[n] corresponds to coefficients of ideal fractional delay filter with > delay t0. > > Now finally, my question: Is sinc the only function that satisfies both (1) > and (6) (or (7))?
My hunch would be yes - here's my reasoning: Any function that satisfies (1) can be expressed as: phi(t) = h(t).sinc(t) (8) where h(t) is some "window" function. Time-shifting (8) gives: phi(t-t0) = h(t-t0).sinc(t-t0) (9) As you said, we may break sinc(t-t0) down into a weighted sum of sincs, thus: phi(t-t0) = h(t-t0) SUM_n{ a[n] sinc(t-n) } = SUM_n{ a[n] h(t-t0).sinc(t-n) } (10) However, if we substitute (8) into (6), it shows that the form we require is: phi(t-t0) = SUM_n{ b[n] h(t-n).sinc(t-n) } (11) Clearly, the only way that (10) and (11) can be made equivalent is for h(t-n) = h(t-t0) for all n in Z and t0 in R. The only way that this can be achieved is h(t) = K (some constant), which means that: phi(t) = K.sinc(t) -- Oli
Oli Filth said the following on 27/08/2006 21:22:
> Jani Huhtanen said the following on 27/08/2006 19:20: >> Let there be a real function phi(t), such that >> >> { 0, n =/= 0 >> <phi(t), phi(t-n)> ={ (1)* >> { 1, n = 0 >> >> where n \in Z and let there be real function f(t) which is known to be >> constructed as >> >> f(t) = SUM_n{ x[n]*phi(t-n) }. (2) >> >> Coefficients x[n] can be obviously be recovered as >> >> x[n] = <f(t), phi(t-n)>, for n \in Z (3) >> >> (proof follows from direct substitution of f(t) by sum in (2)). >> >> At first I naively thought that any phi(t) satisfying (1) could be >> used for >> sampling functions of the form (2). And strictly speaking this is true. >> However, Robert Bristow-Johnson pointed out that (3) requires _exact_ >> samplingpoint synchronization. That is, generally one cannot just sample >> >> y[n] = <f(t-t0), phi(t-n)>, for n \in Z and t0 \in R. (4) >> >> and assume that >> >> f(t-t0) = SUM_n{ y[n]*phi(t-n) }. (5) >> >> However, for some phi(t) (5) does indeed hold. For example (and this >> is the >> only example I know), if phi(t) = sinc(t) the equation (5) holds if >> f(t) is >> constructed as in (2). In this case, the set of functions >> representable by >> (2) is the set of bandlimited functions. >> >> For (5) to hold phi(t) has to have following additional property: >> >> phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0 (6) >> >> or >> phi(w)*exp(-j*w*t0) = phi(w) * SUM_n{ b_t0[n]*exp(-j*w*n) } (7). >> >> >> That is, phi(t-t0) has to be representable as a linear combination of >> sifted >> versions of phi(t). For phi(t) = sinc(t) (6) is satisfied. In this case, >> b_t0[n] corresponds to coefficients of ideal fractional delay filter with >> delay t0. >> >> Now finally, my question: Is sinc the only function that satisfies >> both (1) >> and (6) (or (7))? > > > My hunch would be yes - here's my reasoning: > > Any function that satisfies (1) can be expressed as: > > phi(t) = h(t).sinc(t) (8) > > where h(t) is some "window" function. > > Time-shifting (8) gives: > > phi(t-t0) = h(t-t0).sinc(t-t0) (9) > > As you said, we may break sinc(t-t0) down into a weighted sum of sincs, > thus: > > phi(t-t0) = SUM_n{ a[n] h(t-t0).sinc(t-n) } (10) > > However, if we substitute (8) into (6), it shows that the form we > require is: > > phi(t-t0) = SUM_n{ b[n] h(t-n).sinc(t-n) } (11) > > Clearly, the only way that (10) and (11) can be made equivalent is for > h(t-n) = h(t-t0) for all n in Z and t0 in R.
BLEEP! Brain-fart! I am wrong. Writing (10) and (11) again: 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) } We have: a_t0[n] h(t-t0) = b_t0[n] h(t-n) for all n in Z and t0 in R. Therefore: b_t0[n] = a_t0[n] h(t-t0) / h(t-n) Therefore, *any* function that satisfies (1) will also satisfy (6), provided h(t-n) =/= 0. -- Oli
Jani Huhtanen wrote:

...
> Now finally, my question: Is sinc the only function that satisfies both (1) > and (6) (or (7))? Any good pointers for more information about the subject, > any corrections, comments?
Jani, if you don't already have this article, it is a must read: Unser, M: "Sampling - 50 Years after Shannon" Proc. of the IEEE, Vol. 88, No. 4, April 2000. Available at bigwww.epfl.ch/publications/unser0001.pdf
Andor wrote:

> > Jani Huhtanen wrote: > > ... >> Now finally, my question: Is sinc the only function that satisfies both >> (1) and (6) (or (7))? Any good pointers for more information about the >> subject, any corrections, comments? > > Jani, if you don't already have this article, it is a must read: > > Unser, M: "Sampling - 50 Years after Shannon" > Proc. of the IEEE, Vol. 88, No. 4, April 2000. > > Available at > bigwww.epfl.ch/publications/unser0001.pdf
No I didn't have. It seems to be well written (i.e., not overly abstract) and highly interesting. I'll have to read this ASAP. Thanks for this! -- Jani Huhtanen Tampere University of Technology, Pori
Oli Filth wrote:

> Oli Filth said the following on 27/08/2006 21:22: >> Jani Huhtanen said the following on 27/08/2006 19:20: >>> Let there be a real function phi(t), such that >>> >>> { 0, n =/= 0 >>> <phi(t), phi(t-n)> ={ (1)* >>> { 1, n = 0 >>> >>> where n \in Z and let there be real function f(t) which is known to be >>> constructed as >>> >>> f(t) = SUM_n{ x[n]*phi(t-n) }. (2) >>> >>> Coefficients x[n] can be obviously be recovered as >>> >>> x[n] = <f(t), phi(t-n)>, for n \in Z (3) >>> >>> (proof follows from direct substitution of f(t) by sum in (2)). >>> >>> At first I naively thought that any phi(t) satisfying (1) could be >>> used for >>> sampling functions of the form (2). And strictly speaking this is true. >>> However, Robert Bristow-Johnson pointed out that (3) requires _exact_ >>> samplingpoint synchronization. That is, generally one cannot just sample >>> >>> y[n] = <f(t-t0), phi(t-n)>, for n \in Z and t0 \in R. (4) >>> >>> and assume that >>> >>> f(t-t0) = SUM_n{ y[n]*phi(t-n) }. (5) >>> >>> However, for some phi(t) (5) does indeed hold. For example (and this >>> is the >>> only example I know), if phi(t) = sinc(t) the equation (5) holds if >>> f(t) is >>> constructed as in (2). In this case, the set of functions >>> representable by >>> (2) is the set of bandlimited functions. >>> >>> For (5) to hold phi(t) has to have following additional property: >>> >>> phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0 (6) >>> >>> or >>> phi(w)*exp(-j*w*t0) = phi(w) * SUM_n{ b_t0[n]*exp(-j*w*n) } (7). >>> >>> >>> That is, phi(t-t0) has to be representable as a linear combination of >>> sifted >>> versions of phi(t). For phi(t) = sinc(t) (6) is satisfied. In this case, >>> b_t0[n] corresponds to coefficients of ideal fractional delay filter >>> with delay t0. >>> >>> Now finally, my question: Is sinc the only function that satisfies >>> both (1) >>> and (6) (or (7))? >> >> >> My hunch would be yes - here's my reasoning: >> >> Any function that satisfies (1) can be expressed as: >> >> phi(t) = h(t).sinc(t) (8) >> >> where h(t) is some "window" function. >> >> Time-shifting (8) gives: >> >> phi(t-t0) = h(t-t0).sinc(t-t0) (9) >> >> As you said, we may break sinc(t-t0) down into a weighted sum of sincs, >> thus: >> >> phi(t-t0) = SUM_n{ a[n] h(t-t0).sinc(t-n) } (10) >> >> However, if we substitute (8) into (6), it shows that the form we >> require is: >> >> phi(t-t0) = SUM_n{ b[n] h(t-n).sinc(t-n) } (11) >> >> Clearly, the only way that (10) and (11) can be made equivalent is for >> h(t-n) = h(t-t0) for all n in Z and t0 in R. > > BLEEP! Brain-fart! I am wrong. > > Writing (10) and (11) again: > > 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) } > > We have: > > a_t0[n] h(t-t0) = b_t0[n] h(t-n) > > for all n in Z and t0 in R. Therefore: > > b_t0[n] = a_t0[n] h(t-t0) / h(t-n) > > Therefore, *any* function that satisfies (1) will also satisfy (6), > provided h(t-n) =/= 0. >
I'm afraid you have made a mistake somewhere (I'll look into it after I'm back from work). Any function satisfying (1) includes { 1, t \in [0,1] phi(t) = { { 0, otherwise This is clear because phi(t)*phi(t-n)=0, when n =/= 0 and is 1 otherwise. However, this phi(t) clearly does not satisfy (6). Let t0=1/2 and find coefficients b_1/2 from equation (6): SUM_n{ b_1/2[n]*phi(t-n) } = phi(t-1/2) = 1, t \in [1/2, 3/2] Clearly coefficients are b_1/2[0] = 1, b_1/2[1] = 1 in this interval. Now outside [1/2, 3/2] it is impossible to find the other coefficients so that the equation (6) is satisfied. Consider interval [0, 1/2]. With current coefficients, sum equates to 1 when t \in [0, 1/2]. The only function, phi(t-n), that has support in that interval is that one corresponding to coefficient b_1/2[0] and that coefficient has already been fully determined. Thus (6) does not hold for the chosen phi(t). QED. -- Jani Huhtanen Tampere University of Technology, Pori
Andor wrote:

> > Jani Huhtanen wrote: > > ... >> Now finally, my question: Is sinc the only function that satisfies both >> (1) and (6) (or (7))? Any good pointers for more information about the >> subject, any corrections, comments? > > Jani, if you don't already have this article, it is a must read: > > Unser, M: "Sampling - 50 Years after Shannon" > Proc. of the IEEE, Vol. 88, No. 4, April 2000. > > Available at > bigwww.epfl.ch/publications/unser0001.pdf
I quickly skimmed it through at work. Mostly I concentrated on chapter III Sampling in Shift-Invariant Spaces. Still I did not find answer to my question or I perhaps there was answer but I failed to understand it. But still, very interesting article indeed. It just seems natural that if function f(t) can be perfectly reconstructed from its samples, then function f(t-t0) for t0 \in R can also be perfectly reconstructed. In some applications of wavelet analysis, the approximation error is a measure of detail or complexity. It seems foolish to claim that function f(t-t0) is more complex or has more detail than f(t). In this respect, the quite intuitive framework of wavelet multiresolution analysis seems to "fail"... -- Jani Huhtanen Tampere University of Technology, Pori
Jani Huhtanen said the following on 28/08/2006 07:27:
> Oli Filth wrote: > >> Oli Filth said the following on 27/08/2006 21:22: >>> Jani Huhtanen said the following on 27/08/2006 19:20: >>>> Let there be a real function phi(t), such that >>>> >>>> { 0, n =/= 0 >>>> <phi(t), phi(t-n)> ={ (1)* >>>> { 1, n = 0 >>>> >>>> where n \in Z and let there be real function f(t) which is known to be >>>> constructed as >>>> >>>> f(t) = SUM_n{ x[n]*phi(t-n) }. (2) >>>> >>>> Coefficients x[n] can be obviously be recovered as >>>> >>>> x[n] = <f(t), phi(t-n)>, for n \in Z (3) >>>> >>>> (proof follows from direct substitution of f(t) by sum in (2)). >>>> >>>> At first I naively thought that any phi(t) satisfying (1) could be >>>> used for >>>> sampling functions of the form (2). And strictly speaking this is true. >>>> However, Robert Bristow-Johnson pointed out that (3) requires _exact_ >>>> samplingpoint synchronization. That is, generally one cannot just sample >>>> >>>> y[n] = <f(t-t0), phi(t-n)>, for n \in Z and t0 \in R. (4) >>>> >>>> and assume that >>>> >>>> f(t-t0) = SUM_n{ y[n]*phi(t-n) }. (5) >>>> >>>> However, for some phi(t) (5) does indeed hold. For example (and this >>>> is the >>>> only example I know), if phi(t) = sinc(t) the equation (5) holds if >>>> f(t) is >>>> constructed as in (2). In this case, the set of functions >>>> representable by >>>> (2) is the set of bandlimited functions. >>>> >>>> For (5) to hold phi(t) has to have following additional property: >>>> >>>> phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0 (6) >>>> >>>> or >>>> phi(w)*exp(-j*w*t0) = phi(w) * SUM_n{ b_t0[n]*exp(-j*w*n) } (7). >>>> >>>> >>>> That is, phi(t-t0) has to be representable as a linear combination of >>>> sifted >>>> versions of phi(t). For phi(t) = sinc(t) (6) is satisfied. In this case, >>>> b_t0[n] corresponds to coefficients of ideal fractional delay filter >>>> with delay t0. >>>> >>>> Now finally, my question: Is sinc the only function that satisfies >>>> both (1) >>>> and (6) (or (7))? >>> >>> My hunch would be yes - here's my reasoning: >>> >>> Any function that satisfies (1) can be expressed as: >>> >>> phi(t) = h(t).sinc(t) (8) >>> >>> where h(t) is some "window" function. >>> >>> Time-shifting (8) gives: >>> >>> phi(t-t0) = h(t-t0).sinc(t-t0) (9) >>> >>> As you said, we may break sinc(t-t0) down into a weighted sum of sincs, >>> thus: >>> >>> phi(t-t0) = SUM_n{ a[n] h(t-t0).sinc(t-n) } (10) >>> >>> However, if we substitute (8) into (6), it shows that the form we >>> require is: >>> >>> phi(t-t0) = SUM_n{ b[n] h(t-n).sinc(t-n) } (11) >>> >>> Clearly, the only way that (10) and (11) can be made equivalent is for >>> h(t-n) = h(t-t0) for all n in Z and t0 in R. >> BLEEP! Brain-fart! I am wrong. >> >> Writing (10) and (11) again: >> >> 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) } >> >> We have: >> >> a_t0[n] h(t-t0) = b_t0[n] h(t-n) >> >> for all n in Z and t0 in R. Therefore: >> >> b_t0[n] = a_t0[n] h(t-t0) / h(t-n) >> >> Therefore, *any* function that satisfies (1) will also satisfy (6), >> provided h(t-n) =/= 0. >> > > 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. -- Oli
Oli Filth wrote:

> Jani Huhtanen said the following on 28/08/2006 07:27: >> Oli Filth wrote: >> >>> Oli Filth said the following on 27/08/2006 21:22: >>>> Jani Huhtanen said the following on 27/08/2006 19:20: >>>>> Let there be a real function phi(t), such that >>>>> >>>>> { 0, n =/= 0 >>>>> <phi(t), phi(t-n)> ={ (1)* >>>>> { 1, n = 0 >>>>>
<snip>
>>>>>phi(t) has to have following additional property: >>>>> >>>>> phi(t-t0) = SUM_n{ b_t0[n]*phi(t-n) }, for all t0 (6) >>>>> >>>>> Now finally, my question: Is sinc the only function that satisfies >>>>> both (1) >>>>> and (6) (or (7))? >>>>
<snip>
>>> BLEEP! Brain-fart! I am wrong. >>> >>> Writing (10) and (11) again: >>> >>> 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) } >>> >>> We have: >>> >>> a_t0[n] h(t-t0) = b_t0[n] h(t-n) >>> >>> for all n in Z and t0 in R. Therefore: >>> >>> b_t0[n] = a_t0[n] h(t-t0) / h(t-n) >>> >>> Therefore, *any* function that satisfies (1) will also satisfy (6), >>> provided h(t-n) =/= 0. >>> >> >> 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. 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) with respect to n for all t and t0 in R and for all h(t) such that phi(t) = h(t)*sinc(t) satisfies (1)? Do I make any sense? and btw, a_t0[n] = sinc(n-t0)... -- Jani Huhtanen Tampere University of Technology, Pori
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]}. -- Oli