Design of Barycentric Interpolators for Uniform and ...

1 downloads 0 Views 279KB Size Report
derived using two different procedures, first by the repeated use of Bernstein's inequality and Taylor's theorem, and second by truncating a Lagrange-type series.
1

Design of Barycentric Interpolators for Uniform and Nonuniform Sampling Grids J. Selva

Abstract— This paper proposes a method to convert a fixed instant interpolator for band-limited signals into a variable instant one, which has the form of a barycentric interpolator. This interpolator makes it possible to approximate the signal and its derivatives with minimal complexity in a range that surrounds the initial instant, and is applicable to uniform and non-uniform sampling grids. The barycentric form of the interpolator is derived using two different procedures, first by the repeated use of Bernstein’s inequality and Taylor’s theorem, and second by truncating a Lagrange-type series. These procedures show that the proposed method can be applied to existing fixed instant interpolators, and that it can be accurate in long time intervals. Finally, an evaluation procedure for barycentric interpolators and its derivatives is presented that minimizes the number of divisions, solving at the same time the numerical problems associated with small denominators. The paper includes several numerical examples.

I. I NTRODUCTION The problem of interpolating a band-limited signal from a finite number of samples has been extensively studied in the signal processing literature, [1], [2]. The best-known case is that in which the sampling instants are equally spaced and the interpolation instant is fixed. However, the variations relative to this case appear in a wide variety of applications. In some of them, the interpolation instant may vary for each new sample available, and the interpolated value must be computed in a small number of operations. This leads to the design of efficient structures, usually called variable fractional-delay (VFD) filters [3]–[13]. In other applications, the interpolation instants are nonuniformly spaced [14]–[18], like the implementation of A/D converters for wideband signals. The typical design approach for these interpolators consists in posing an optimization problem, in which a set of sample weights must be determined under a given error criterion. So, if s(t) must be interpolated at t = τ from its samples at the N distinct instants tn , the problem comes down to finding a set of coefficients an such that the formula s(τ ) ≈

N X

s(tn )an

(1)

n=1

is accurate [1], [2]. If τ and the tn remain constant from evaluation to evaluation of the interpolator, then the an must only be computed once using any of the numerical methods The author is with the Dept. of Physics, Systems Engineering and Signal Theory (DFISTS), University of Alicante, P.O.Box 99, E-03080 Alicante, Spain (e-mail: [email protected]). This work has been supported by the Spanish Ministry of Education and Science (MEC), Generalitat Valenciana (GV), and by the University of Alicante (UA) under the following projects/programmes: TEC2005-06863-C02-02, HA2007-075 and “Ram´on y Cajal” (MEC); ACOMP07-087 and GV07/214 (GV); and GRE074P (UA).

available. However, in many applications the interpolation instant τ and the sampling instants tn can change, and it seems unfeasible, at first, to re-compute the an for each evaluation of (1). This kind of problem, under various assumptions, has been addressed by many authors in the signal processing literature during the last years, and the fact is that the an can be computed in a small number of arithmetic operations even if both t and the tn change; (see specially [18]) . This is surprising, because the interpolation problem in the typical setting in (1) can be applied to any function s(t), under mild regularity constraints like continuity or differentiability and, in general, the an can be complicated functions of t and the tn . What lies behind this situation is the fact that a band-limited signal has a rich mathematical structure which is not explicitly exploited by the typical setting in (1). Actually, as is stated by Hadamard’s theorem [19, page 27], a band-limited signal is actually an infinite degree polynomial, but this description has only been recently exploited for the design of interpolators in references like [13], [18]. The purpose of this paper is to present two methods to derive, from fundamental properties of band-limited signals, a specific form of barycentric interpolator. These methods exploit the basic fact stated by Hadamard’s theorem, namely that a band-limited signal can be manipulated much as if it were an ordinary polynomial. In broad terms, the main result in this paper is the following procedure: if there is available a set of coefficients an such that (1) is accurate, then the barycentric interpolator N X s(tn )wn B(t) ≡ t − tn n=1

,

N X wn t − tn n=1

(2)

with wn ≡ an (τ − tn )

(3)

is also accurate in a range surrounding τ . This procedure provides flexibility in the design of interpolators in various ways: first it is usable either on uniform or nonuniform grids; second it allows one to convert a fixed instant interpolator into a variable instant one; and third the interpolator in (2) can be differentiated as many times as desired with minimal complexity (Sec. IV). Probably, its most direct application is the conversion of a typical fractional delay FIR filter into one with variable delay. To see this application, assume a regular sampling grid with spacing T , and consider an FIR filter, with coefficients an , designed for the introduction of a fixed fractional time shift

2

(negative delay) uo , s(kT + uo ) ≈

N X

II. D ERIVATION OF A BARYCENTRIC INTERPOLATOR FROM THE COEFFICIENTS OF A FIXED - INSTANT INTERPOLATOR s((k − n)T )an ,

(4)

n=1

where uo is usually close to −(N + 1)T /2. This kind of filter can be easily obtained from any of the efficient algorithms available for the design of FIR filters, [20]. To convert (4) into PNcoefficients an by PN a VFD filter, first divide each of the a , if they do not already fulfill n n=1 n=1 an = 1. Then, the results in this paper show that these an also specify the VFD filter ,N N X wn X s((k − n)T )wn , (5) s(kT + u) ≈ u + nT u + nT n=1 n=1 where wn = an (uo + nT ), and this filter is accurate in a wide interval of fractional delays that surrounds uo . Actually, (4) and (5) are just a particular case of (2) and (3), if τ is replaced with uo , tn with −nT , t with u, and s(t) with s(kT + u). Another application is to convert the filter (4) into a differentiator. As will be shown in Sec. II, the coefficients an allow one to obtain the differentiator s0 (kT + uo ) ≈

N X

s((k − n)T )bn ,

n=1

where bn ≡

N X k=1,k6=n

ak . uo − kT

[See formula (17).] In signal processing, barycentric interpolation has only received marginal attention. In [21], [22], a barycentric structure was derived for uniform grids empirically, but without relating this approach with the existing technique in numerical analysis. Besides, the work in these last references has been surprisingly ignored in the literature on VFD filter design, despite being a significant contribution. Also, recently barycentric interpolation has been used in [23], but following the construction method that is customary in numerical analysis [24], which does not fully exploit the properties of bandlimited signals. The paper has been organized as follows. The first method to obtain a barycentric interpolator is introduced in the next section. The basic tools in its derivation are Bernstein’s inequality [25, Theorem 11.1.2] and Taylor’s theorem. Then, the second method is presented in Sec. III and consists in modifying a functionally weighted Lagrange interpolator, which has been presented recently in [18]. This second method shows that the coefficients of (2) can be selected so that the barycentric interpolator is accurate in a time interval as wide as desired, provided it is covered by the sampling instants. Finally, Sec. IV presents an evaluation method for (2) and its derivatives that solves the numerical problems related with the computation of divisions. Actually, it is shown that (2) can be evaluated using only one division, and that its derivatives of any order can be evaluated using only N divisions. Finally, Sec. VI presents several numerical examples.

Given a band-limited signal s(t), a basic task in signal processing is to interpolate its value at a given instant τ from its samples at the distinct instants t1 , t2 , . . . , tN , which are not necessarily equally spaced. The solution to this problem has the form N X s(τ ) ≈ s(tn )an , (6) n=1

where the coefficients an are determined by means of a numerical method. The best known case is that in which the tn are equally spaced, and then (6) consists in designing a fractional time-shift FIR filter, which is a problem with many efficient solutions available. (See for example [1].) However, the coefficients an allow one to extract much more information from the samples s(tn ) than the mere approximation to s(τ ). The key idea is that the coefficients an can also be applied to the signal s(t) − s(τ ) . t−τ But, this signal is equal to s0 (τ ) if t → τ . So, it is s0 (τ ) ≈

N X s(tn ) − s(τ ) an , tn − τ n=1

Now, if (6) is substituted into this formula, the result is an approximation to s0 (τ ). As is shown in the sequel, this idea directly leads to the barycentric interpolator in (2) and (3), and also provides an efficient method to interpolate the derivatives of s(t) for t in a range surrounding τ . Let us develop this idea in detail. For this, let B(B, As ) denote the class of band-limited signals s(t) whose spectrum lies in [−B/2, B/2] that follow |s(t)| ≤ As , and assume that a set of coefficients a1 , a2 , . . . , aN has been selected so that the formula N X s(tn )an (7) s(t) ≈ n=1

is accurate for a specific τ , in the sense that N X s(τ ) − s(tn )an ≤ As  n=1

for a fixed constant  and for any s(t) in B(B, As ). Also, suppose that the coefficients an fulfill the condition N X

an = 1.

(8)

n=1

If this is not the case,Pthen it is a simple task to scale the an N using the summation n=1 an so that (8) holds. Note that this scaling PN can only introduce a tiny error, given that it is always n=1 an ≈ 1, because (7) must be accurate for the signal s(t) = 1. Next, assume that the sample value s(τ ) is known. This value makes it possible to define the signal s1 (t) ≡

s(t) − s(τ ) . t−τ

(9)

3

The numerator in this definition has a zero at t = τ which is canceled by the denominator. Actually, s1 (t) is also bandlimited with spectrum lying in [−B/2, B/2]. Besides, the intermediate value theorem shows that there is an ξ between τ and t for which s1 (t) = s0 (ξ). Since |s0 (t)| ≤ πAs B/2 for any t (Bernstein’s inequality), it follows that |s1 (t)| ≤ πAs B/2. Thus, s1 (t) belongs to B(B, πAs B/2), and this situation resembles that in Eq. (7) with s1 (t) replacing s(t), and bound πAs B/2 instead of As . Now, since s1 (τ ) = s0 (τ ), Eqs. (7) and (9) imply that s0 (τ ) can be interpolated by means of s0 (τ ) ≈

N X s(tn ) − s(τ ) an , tn − τ n=1

(10)

with error bounded by πAs B/2. So, this formula shows how the coefficients an can be re-used in order to interpolate s0 (τ ), if s(τ ) is known. This procedure can be extended to higher order derivatives as follows. Consider the Taylor expansion of s(t) at t = τ of order r − 1 with error term, s(t) =

r−1 (p) X s (τ ) p=0

p!

(t − τ )p +

s(r) (ξ) (t − τ )r . r!

Here, by Taylor’s theorem, ξ lies between τ and t. Next, solve for s(r) (ξ) and define the new signal sr (t), s(r) (ξ) = sr (t) ≡

r−1 (p)  X s (τ ) r!  s(t)− (t−τ )p . (11) r (t − τ ) p! p=0

By Bernstein’s inequality it is |s(r) (t)| ≤ As (πB/2)r for any t and, in particular, |s(r) (ξ)| ≤ As (πB/2)r for the ξ in (11). This implies that |sr (t)| ≤ As (πB/2)r for any t and that the formula in (7) can be applied to sr (t). So, since sr (τ ) = s(r) (τ ), it follows that s

(r)

zr,n ≡

r−1   X zp r! p z − . (t − τ ) 0,n n (tn − τ )r p! p=0

r! (τ ) ≈ · (t − τ )r n=1 n 

s(tn ) −

r−1 (p) X s (τ ) p=0

p!

 (tn − τ )p an

(12)

with error bounded by As (πB/2)r . In summary, the coefficients an can be used to approximate s(r) (τ ), provided the derivatives s(p) (τ ) for 0 ≤ p < r are known using (12). In practice, however, this last condition is hardly fulfilled, but it is reasonable to employ (12) recursively, by substituting the values s(p) (τ ) by the approximations which have already been computed using (12) itself. In order to introduce this method, let z0 , z1 , . . . , zr−1 denote the alreadyavailable approximations to s(0) (τ ), s(1) (τ ) . . . , s(r−1) (τ ). Eq. (12) can then be used to compute the next approximation zr , if s(p) (τ ) is replaced with zp , s(r) (τ ) ≈ zr N X

r−1   X zp r! · s(t ) − (tn − τ )p an . (13) n r (t − τ ) p! p=0 n=1 n

This formula specifies a recursive procedure to interpolate s(τ ) and its derivatives from the samples at t1 , t2 , . . . , tN . It

(14)

With this notation, Eq. (13) reads zr =

N X

zr,n an .

(15)

n=1

By comparing (14) with itself for r − 1 in place of r, it can be easily checked that zr,n can be recursively updated using the equation r (zr−1,n − zr−1 ), (16) zr,n = tn − τ for r > 0. Thus, Eqs. (15) and (16) specify a simple procedure to re-use the coefficients an so as to interpolate the derivatives of s(τ ). If the derivation procedure specified by the last two equations is accurate up to a given derivative order, then there should also be accurate procedures to interpolate s(t) for t close to τ , that make use of the coefficients an . For example, if z0 , z1 , . . . , zr are accurate approximations to the corresponding derivatives, then one could interpolate s(t) using the approximate Taylor summation s(t) ≈

r X zp p=0

N X



must be noted that the error bound for the case in which the derivatives s(p) (τ ) are known is not valid for (13), due to the substitution of s(p) (τ ) by zp . Thus, in principle, the accuracy of (13) must be evaluated numerically. Eq. (13) allows a simple evaluation method. Let z0,n ≡ s(tn ) and let zr,n denote the term multiplying an in (13) for r > 0,

p!

(t − τ )p .

However, the situation would be simpler if the approximations zr were the exact derivatives of a known function B(t) at t = τ . Then, in order to interpolate s(t), it would suffice to evaluate B(t). So, the problem now is to find a function B(t) such that its rth order differential at t = τ can be computed using r−1 (p)   X r! B (τ ) p s(t ) − (t − τ ) an . n n (t − τ )r p! n=1 n p=0 (17) This function is actually the barycentric interpolator ,N N X X τ − tn τ − tn B(t) ≡ s(tn )an an , (18) t − tn t − tn n=1 n=1

B(r) (τ ) =

N X

which is obtained by setting wn = (τ − tn )an in (2). This result can be demonstrated using Proposition 12 in [24], where it is shown that B(t) can be differentiated using (15) and (16), together with the fact that there is a one-to-one relationship P between B(t) and the set of coefficients an , provided n an = 1. However, it is instructive to prove this result using the properties of the Lagrange interpolator. This is done in Appendix I.

4

III. D ERIVATION OF A BARYCENTRIC INTERPOLATOR

then the formula in (22) is the same as

FROM A NONUNIFORM SAMPLING SERIES

As was shown in the recent reference [18], an efficient approach to the problem of interpolating s(t) from its samples at t1 , t2 , . . . , tN consists in selecting additional sampling points tn for n < 1 or n > N , so that there exists a sampling series for s(t) of the form ∞ X s(t) = s(tn )gn (t), (19) n=−∞

for a specific set of functions gn (t). If there is such a series, then one may try to interpolate s(t) by truncating (19) at indices 1 and N , i.e, s(t) ≈

N X

γ(t) ≡ w(t)L(t)/φ(t). (See [18, Sec. II] for a demonstration. In [18] this interpolator was termed functionally weighted (FW) interpolator.) Now, since (23) must be accurate for the constant signal s(t) = 1, it must be

Here w(t) has bandwidth Bw , and it must be (B +Bw )T ≤ 1. In this last reference, the window w(t) was selected so that w(tn )/w(t) is close to 1 if 1 ≤ n ≤ N but close to 0 if n < 1 or n > N . These conditions drastically reduce the truncation error of (21) at indices 1 and N , N 1 X φ(t) s(tn )w(tn ) 0 . w(t) n=1 φ (tn )(t − tn )

(22)

Moreover, it was demonstrated in [18] that the truncation error decreases exponentially with N , if the instants tn deviate at most δ, δ > 0, from a regular grid with spacing T , and lie in an interval of length at most N T . Besides, this is valid for band-limited signals in L∞ on the real line. The link with the barycentric interpolator in (2) comes from the fact that (22) is the result of applying the classical Lagrange interpolator to s(t)γ(t) and then solving for s(t), where γ(t) is a function that depends on φ(t) and w(t). Specifically, if L(t) denotes the Lagrange kernel for the instants t1 , t2 , . . . , tN , N Y n=1

t − tn ,

N X

γ(tn )

n=1

The specific condition on φ(t) is that it must be a so-called sine-type function, and (20) is valid if s(t) is in Lp with 1 < p < ∞; (see [18, Sec II] for a detailed explanation of this method and the theoretical background in [19], [26]). In [18], this approach led to a method in which (20) is applied to s(t) but pre-multiplied by a fixed band-limited window w(t), ∞ X 1 φ(t) . (21) s(t) = s(tn )w(tn ) 0 w(t) n=−∞ φ (tn )(t − tn )

(23)

where γ(t) is the function

s(tn )gn (t).

n=1

L(t) ≡

N 1 X L(t) s(tn )γ(tn ) 0 , γ(t) n=1 L (tn )(t − tn )

γ(t) ≈

The sampling theory and the theory of entire functions provide the theoretical means to construct series like (19). Basically, if the instants tn have density 1/T with BT ≤ 1, then one may construct a band-limited function φ(t) which is zero at each of the instants tn . Then, s(t) can be reconstructed by applying the Lagrange procedure to the samples s(tn ) with φ(t) as kernel, i.e, ∞ X φ(t) . (20) s(tn ) 0 s(t) = φ (t )(t − tn ) n n=−∞

s(t) ≈

s(t) ≈

L(t) . L0 (tn )(t − tn )

(24)

Thus, substituting this formula into (23), it follows that ,N N X γ(tn )L(t) X s(tn )γ(tn )L(t) s(t) ≈ L0 (tn )(t − tn ) L0 (tn )(t − tn ) n=1 n=1 ,N N X s(tn )γ(tn ) X γ(tn ) = , 0 0 (t )(t − t ) L (t )(t − t ) L n n n n n=1 n=1 which is the barycentric interpolator in (2), if one sets wn ≡ γ(tn )/L0 (tn ).

(25)

This link with the FW interpolator implies that barycentric interpolators can be accurate in long time intervals, and gives an alternative to the FW interpolator which does not involve any function evaluation, if the sampling instants remain fixed. Regarding the function γ(t), in [18] it was defined by γ(t) ≡ Γ(t/T + P + 1)Γ(−t/T + P + 1)g(t), where Γ is the Gamma function and g(t) the approximate prolate (AP) pulse in [27], p sinc(Bw T (t/T )2 − (P + 1)2 ) g(t) ≡ , sinc(jBw T (P + 1)) with Bw ≡ 1/T − B. This definition was done assuming the the sampling instants are contained in an interval of the form [−P T, P T ], P > 0, and the resulting interpolator was accurate in a range centered at t = 0. However, for long interpolation intervals, it is convenient to have roughly the same accuracy for any instant. This can be achieved if g(t) is convolved with a rectangular pulse. Specifically, for Q > 0, the alternative function γ1 (t) ≡ Γ(t/T + P + Q + 1)Γ(−t/T + P + Q + 1)g1 (t) (26) with Z

t+QT

g1 (t) ≡

g(λ)dλ t−QT

can be used in (25) instead of γ(t), and the resulting interpolator is then accurate in the interval [−(Q + 1)T, (Q + 1)T ], provided the instants tn cover the range [−(P + Q)T, (P + Q)T ].

5

IV. E FFICIENT EVALUATION OF THE BARYCENTRIC INTERPOLATOR AND ITS DERIVATIVES

The formula in (2) and the derivation method in Sec. IV involve divisions whose denominator can be arbitrarily small. So, if t is close or equal to any of the instants tn , there is a large numerical error due to the quotient 1/(t − tn ). This is a drawback, specially in real-time implementations. Besides, it would be convenient to minimize the number of denominators involved in the evaluation of B(t), given that division is usually a low latency operation in existing processors. These inconveniences can be overcome, if the evaluation procedure for B(t) is designed properly. For this, consider the functions Br (u) ≡

r−1 (p)  X B (t) r!  p B(u) − (u − t) , (u − t)r p! p=0

which are the equivalents to the signals sr (t) in Sec. II, but note that the fixed instant is now t and not τ . Also, let z0,n ≡ s(tn ) and zr,n ≡

r−1   X zp r! z − (tn − t)p 0,n r (tn − t) p! p=0

as in (14). Since the derivation method in that section is exact for B(u), the derivative B(r) (t) can be computed by applying the interpolator in (2) to Br (u), i.e, ,N N X X wn z w r,n n B(r) (t) = . (27) t − tn t − tn n=1 n=1 Next, assume that the instant lying closest to t, which can produce numerical errors, is tN . If this is not the case, then it is always feasible to re-order the instants tn and the weights wn so that this condition holds. The formula in (27) can then be written in the alternative form B(r) (t) = zr,N + (t − tN )· N −1 X

(zr,n − zr,N )wn

n=1

N −1 Y

, t − tp

p=1 p6=n

N X

wn

n=1

N Y

t − tp

p=1 p6=n

nr,k ≡

(zr,n − zr,N )wn

n=1

t − tp ,

(29)

p=1, p6=n

zr ≡ B(r) (t) = zr,N + (t − tN )nr,N −1 /dN .

This equation shows that B (t) involves a single division whose denominator is not close to zero, if the zr,N are available. Regarding the coefficients zr,N , they can be computed using the recursive method −r (zr−1,k − zr−1 ) (35) zr,k = t − tk if n < N , but this method is not usable if n = N , given that in this case the division by t − tN can produce numerical errors, if t − tN is too small. Instead, it is possible to compute zr,N by considering (34) with r replaced with r − 1, zr−1 = zr−1,N + (t − tN )nr−1,N −1 /dN .

k Y

t − tr ,

zr,N = r nr−1,N −1 /dN ,

(37)

and this last formula allows one to compute zr,N without the division by t − tN . Thus, Eqs. (30), (32), (33), (34), (35), and (37) allow the computation of B(t) and its derivatives without the division by t − tN . Besides, it is only necessary to perform one division to obtain B(t), and N divisions to obtain any number of its derivatives. The pseudo-code for this evaluation method is discussed in App. II. V. OTHER COMMENTS There several aspects of the barycentric interpolator which are not studied in this paper, but which can be assessed from known results in the literature: • In the derivations in Secs. II and III, the signal space was the space of band-limited signals bounded on the real axis. One may wonder whether the features of the barycentric interpolator will be the same in other spaces. If S denotes the space of signals for which an was designed, the derivations in Sec. II show that the interpolator will perform well if the signal

(30)

(31)

r=1

and nr,0 = 0 by definition. If also by definition f0 = 1, then it is obviously fk = fk−1 (t − tk ). (32)

(36)

Comparing (35) for k = N with (36), it follows that

where fk is the product fk ≡

(34)

(r)

it can be easily checked that nr,k = nr,k−1 (t − tk ) + (zr,k − zr,N )wk fk−1 ,

(33)

and the fk must be computed only once for both (30) and (33). Finally, B(r) (t) can be denoted zr as in Sec. IV and computed using

,

which is obtained by multiplying the numerator and the denominator of (27) by L(t), and then extracting the sample zr,N from the quotient. Now, if nr,k denotes the numerator in the second line of (28), but with k replacing N , k Y

dk = dk−1 (t − tk ) + wk fk−1 ,

!

(28)

k X

So, (30) and (32) specify a recursive procedure to evaluate the numerator in the second line of (28), and note that no divisions are involved. The denominator would be evaluated using a sequence dk in a similar way, i.e,



s(t) − s(τ ) (38) t−τ also belongs to S. So, if for example S is the space of finite energy signals with two-sided bandwidth B, one may expect the interpolator to perform well since (38) also has finite energy, while it will perform poorly (or not at all), if the S is a space of multi-band signals, i.e, a space of signals with spectral gaps. Up to this point the effect of noise was not considered in the paper. This effect, however, can be easily analyzed,

6

since the barycentric interpolator just performs a linear combination of N signal samples. If an (t) denotes the nth coefficient of B(t) in (18), B(t) =

N X

s(tn )an (t),

n=1

then the presence of a Gaussian noise component n in the nth sample produces the output noise component, B ≡

N X

n an (t).

(39)

n=1

Now, the noise components can be correlated, but the variance of (39) is bracketed by the variances in the uncorrelated and fully correlated cases, i.e, if the n have equal variance σ 2 , then N N X 2 X 2 σ2 a2n (t) ≤ σB |an (t)| , ≤ σ2 n=1

n=1

where 2B is the output noise variance. So, the noise power is amplified by a factor in the range # " N N 2 X X |an (t)| . (40) a2n (t), n=1

n=1 •

The error performance of the barycentric interpolator directly depends on the performance of the initial interpolator in (1) from which it has been constructed. If this interpolator is the FW interpolator in [18], then the barycentric and the FW interpolator have practically the same performance due to (24). Since the FW interpolator outperforms the existing interpolators in the literature, the same can be expected of the barycentric interpolator; (see the performance evaluation in [18, Sec. V].)

VI. N UMERICAL EXAMPLES In order to present several numerical examples, let us perform first some definitions. Let αr (f, t) denote the rth derivative of the phasor ej2πf t , αr (f, t) ≡ (j2πf )r ej2πf t , and α ˜ r (f, t) denote the approximation to αr (f, t) provided by a given interpolator. The interpolation error will be measured in this section using the function r (t) ≡ max |αr (f, t) − α ˜ r (f, t)|, |f |≤B/2

(41)

that is, the error measure will be the maximum ripple of the error spectrum. Also, the interpolator of the form s(r) (t) ≈

N X

s(tn )br,n (t),

n=1

where the set of coefficients br,n (t) is the one that minimizes (41) for each t, will be termed “minimax interpolator” in the sequel. Unless otherwise stated, the parameters involved in each example will be the following: • Two-sided bandwidth: B = 0.6/T . • Uniform sampling grid: tn = (n − 6)T with N = 11. • Maximum deviation from uniform sampling grid (if applicable): δ = 0.4T .

A. Evaluation of a the barycentric interpolator derived from the minimax interpolator Fig. 1(a) shows the interpolation errors of the minimax interpolator (solid line) and of the barycentric interpolator (dash-dotted line) which has been designed using the method in Sec. II, with coefficients wn = b0,n (0.5T )(0.5T − tn ), and assuming a uniform grid. Note that both interpolators have almost the same error in the range [−T, T ], and that the error of the barycentric interpolator becomes slowly larger, relative to that of the minimax interpolator, as |t| increases. The same conclusions can be drawn from Figs. 1(b) and 1(c) for the first and second order derivatives. In Figs. 2(a), 2(b), and 2(c) the same experiment is repeated but for a nonuniform grid. The sampling instants correspond to the nulls in 2(a). Note that, relative to the uniform case, the curves have become irregular due to the nonuniform sampling, but the behavior is similar. Comparing the uniform and nonuniform cases, it is clear that the error is roughly the same in average, and it fundamentally depends on how close to the sampling grid the specific interpolation instant is. In some figures, there is a strange behavior in the minimax curves for large |t|. This was caused by the numerical algorithm which failed to converge to the minimax solution in the specified number of iterations.

B. Evaluation of the barycentric interpolator obtained from the FW interpolator for long intervals Fig. 3(a) shows the interpolation error of a barycentric interpolator for the uniform grid tn = (n − 46)T , N = 91, which was designed using the method in Sec. III. The coefficients of this interpolator were computed using wn ≡ γ1 (tn )/L0 (tn ), with γ1 (t) given by (26) for Q = 20 and P = 15. The accuracy is uniform in a range wider than [−(Q + 1)T, (Q + 1)T ], with a ripple given by the proximity to the sampling grid. The same conclusions result from Fig. 3(b), where the error pattern is more irregular due to the nonuniform sampling grid, (δ = 0.4T ). In this example, the interpolation error can be made arbitrarily small by increasing P , (up to the level fixed by the numerical accuracy). Actually, it was shown in [18] that the error decreases exponentially with P following the trend (t) = O(1/ sinh(π(1 − BT )P )).

C. Performance in the presence of noise Fig. (4) shows the maximum and minimum noise gain in Eq. (40) for the first scenario in Sec. VI-A. The minimum and maximum noise increase are roughly the same for the minimax and barycentric interpolators.

7

−30 Barycentric

−40

Minimax

Interp. error ²0 (t) (dB)

Interp. error ²0 (t) (dB)

−30

−50 −60 −70 −80 −90 −100 −5

−4

−3

−2

−1

0 t/T

1

2

3

4

(a) Interpolation error 0 (t) with uniform sampling grid.

Interp. error ²1 (t) (dB)

Interp. error ²1 (t) (dB)

Minimax

−40 −50 −60 −70

−4

−3

−2

−1

0 t/T

1

2

3

4

−80 −90 −4

−3

−2

−1

0 t/T

1

−20

Interp. error ²2 (t) (dB)

−50 −60

−2

−1

0 t/T

1

2

3

4

5

−50 −60 −70

−4

−3

−2

−1

0 t/T

Barycentric

Minimax

−40

−3

4

1

2

3

4

5

(b) Interpolation error 1 (t) with nonuniform sampling grid.

−30

−4

3

−40

−20

Barycentric

2

Minimax

Barycentric

−80 −5

5

(b) Interpolation error 1 (t) with uniform sampling grid.

Interp. error ²2 (t) (dB)

−70

−30 Barycentric

−70 −5

−60

(a) Interpolation error 0 (t) with nonuniform sampling grid.

−30

−80 −5

Minimax

−50

−100 −5

5

Barycentric

−40

5

Minimax

−30 −40 −50 −60 −70 −5

−4

−3

−2

−1

0 t/T

1

2

3

4

5

(c) Interpolation error 2 (t) with uniform sampling grid.

(c) Interpolation error 2 (t) with nonuniform sampling grid.

Fig. 1. Interpolation errors for derivatives of order 0 to 2 with uniform sampling grid.

Fig. 2. Interpolation errors for derivatives of order 0 to 2 with nonuniform sampling grid.

D. Interpolation with large time shifts

assess this procedure, an audio sequence with T = 0.12207 msec and BT = 0.4 was separated into two sequences corresponding to the even and odd samples. Then a least squares interpolation FIR filter of length N was designed so as to reconstruct the odd samples from the even samples using time shift uo ≡ −(N − 1)T /2 + T /2. Afterward, the coefficients an were modified in order to introduce larger time shifts of the form u = uo +pT using the barycentric procedure in Eq. (2). Finally, the interpolation error was computed by comparison with the samples of the odd sequence. Fig. 5

Whenever an FIR interpolator is applied to a finite sequence of samples, a known nuisance is the fact that it is not possible to use it close to the sequence limits, because some of the interpolator’s input samples are unknown. So, if the filter has the form in Eq. (4) and s(kT ) is only known for 0 ≤ k < N1 − 1, then (4) can only be used if N ≤ k ≤ N1 . The barycentric interpolator derived from the an allows one to interpolate even if k is outside this last interval. In order to

8

80

−100

70

−125

60

S/I ratio (dB)

Interp. error ²0 (t) (dB)

−75

−150 −175 −200 −225

50 40

19 15 11 N =7

30 20

N =3

10 −250 −50 −40 −30 −20 −10

0 10 t/T

20

30

40

50

uo = 0.5T

(a) Interpolation error 0 (t) for a long interpolation interval and with uniform sampling grid.

Interp. error ²0 (t) (dB)

−75

0.5 2.5 4.5 6.5 Normalized time shift u/T

8.5

Fig. 5. Ratio of signal power to interpolation error power (S/I ratio) versus time shift for several filter orders N .

−100

obtained from the previous optimal filter for time shift uo . The performance degradation due to the barycentric shift is imperceptible.

−125 −150 −175 −200 −225 −250 −50 −40 −30 −20 −10

0 10 t/T

20

30

40

50

(b) Interpolation error 0 (t) for a long interpolation interval and with nonuniform sampling grid. Fig. 3. Interpolation error 0 (t) for, respectively, a uniform and a nonuniform sampling grid.

20 15 Max. noise increase (dB)

0

10 5 0 −5 −5

−4

−3

−2

Min. noise increase −1 0 1 2 3 t/T

4

5

Fig. 4. Minimum and maximum noise gain for the example in Fig. Crosses (+) correspond to the barycentric interpolator, and the continuous line to the minimax interpolator. The noise gain is roughly the same in both cases.

shows the ratio between the signal and the interpolation error powers for several values of N and several time shifts. The continuous curves represent the performance of the optimal least squares FIR filter for each possible time shift, while the crosses correspond to the barycentric interpolator that is

VII. C ONCLUSIONS In this paper, two methods for deriving barycentric interpolators for band-limited signals have been presented, which are usable on uniform and nonuniform sampling grids. The methods stem from fundamental properties of band-limited signals, and allow their accurate interpolation. The first is based on the repeated use of Taylor’s theorem and Bernstein’s inequality, and allows one to obtain the interpolator from the coefficients of an existing filter which has been designed for a fixed instant. The second is based on truncating a specific Lagrange-type series, and makes it possible to interpolate the signal in long time intervals. Additionally, an efficient evaluation procedure for these interpolators has been introduced, which solves the numerical problems produced by small denominators, minimizes the number of divisions, and which is also able to deliver approximations to the signal’s derivatives. Finally, the interpolation accuracy has been assessed in several numerical examples. A PPENDIX I P ROOF OF DERIVATION METHOD FOR BARYCENTRIC INTERPOLATORS IN (17) Before proceeding with the demonstration, let us state two properties of B(t). First, since B(t) is the quotient of two polynomials and τ is not one of its poles, it holds that B(r) (t) with r ≥ 0 is bounded in an interval [τ − r , τ + r ] for some r > 0 that only depends on r. And second, B(t) is closely related with the Lagrange interpolator. If Ln (t) denotes the nth Lagrange coefficient, , N N Y Y Ln (t) ≡ t − tr tn − tr , (42) r=1,r6=n

r=1,r6=n

then (18) can be written as B(t) ≡

X n

s(tn )γn Ln (t)

, X r

γr Lr (t) ,

(43)

9

interpolator is exact, that is X h(t) = h(tn )Ln (t) =

where 0

γn ≡ L (tn )(τ − tn )an .

n

Using (42) for t = τ , this last definition can also be written as

X

γn ≡ L(τ )an /Ln (τ ).

n

(44)

The equivalence of (43) and (18) can be easily checked by multiplying the numerator and the denominator of (18) by L(t). So, B(t) is the quotient of two Lagrange interpolators, one with samples s(tn )γn and another with samples γn . Now, let us proceed with the demonstration of (17) by induction. From (18), it is clear that B(τ ) is the same as the original interpolated value in (7), i.e, B(τ ) =

N X

s(tn )an .

p!

p=0

B(r) (ξ) (t − τ )p + (t − τ )r , r!

(45)

Next substitute (43):

X

r! · (t − τ )r

s(tn )γn Ln (t) −

n

r−1 (p) X B (τ )

X =X

p!

p=0

1

(t − τ )p

X

γn Ln (t)

n

γn Ln (t)

(tn − τ )

γn Ln (t).

1

·

γn Ln (t)

n

X n

r! (tn − τ )r

s(tn ) −

r−1 (p) X B (τ ) p=0

p!

! (tn − τ )p

γn Ln (t).

1

·

γn Ln (τ )

n

X n

r! (tn − τ )r

s(tn ) −

r−1 (p) X B (τ ) p=0

p!

! p

(tn − τ )

γn Ln (τ )

N X

r−1 (p)   X r! B (τ ) (tn − τ )p an . s(t ) − n r (t − τ ) p! n=1 n p=0

A PPENDIX II P SEUDO - CODE FOR BARYCENTRIC INTERPOLATOR IN S EC . IV The pseudo-code for the evaluation method in Sec. IV can be found in Fig. 6. The variables in this pseudo-code have in most cases the same names as in that section. The differences are the sequence gk which stands for the products wk fk−1 , the variable d which stands for 1/dN , the sequence nr,k which is implemented using a single scalar variable n, the sequence of inverses ik , and the output sequence bp that contains the differentials. Note that the code only involves N divisions and there is no division by t − tN . R EFERENCES

·

γn Ln (t)

X r! r (t − τ ) n

p!

n

n

"

B(r) (ξ) = X

=

where ξ depends on t and lies between τ and t. If B(r) (ξ) is solved for, the result is ! r−1 (p) X r! B (t) (r) p B (ξ) = B(t) − (t − τ ) . (t − τ )r p! p=0

B(r) (ξ) =

p=0

! p

Thus, substituting into (46) yields

B(r) (τ ) = X

Thus, (17) holds if r = 0. For r > 0, consider the expansion given by Taylor’s theorem B(t) =

s(tn ) −

r−1 (p) X B (τ )

Finally, sending t to τ and recalling (44), the result is the desired formula in (17):

n=1

r−1 (p) X B (τ )

r! (tn − τ )r

s(tn ) −

r−1 X p=0

B

(p)

(τ ) (t − τ )p p!

!

# γn Ln (t) .

(46) This expression is the quotient of two polynomials, and its deP r nominator consists in the product of (t−τ ) with γ L (t). n n n P Since n γn Ln (τ ) 6= 0, (46) has a pole at t = τ unless (t − τ )r divides the n-index summation. However, if t lies in the interval [τ − r , τ + r ] in which B(r) (t) is bounded by a constant, say Ar , the same is true of B(r) (ξ), that is, |B(r) (ξ)| ≤ Ar , given that ξ lies between t and τ . This implies that (46) cannot have a pole at t = τ and, therefore, (t − τ )r must divide the n-index summation. So, if h(t) is the function specified by the term in square brackets in (46), it follows that this function is actually a polynomial of degree N − 2. A consequence of this fact is that its corresponding Lagrange

[1] T. I. Laakso, V. V¨alim¨aki, M. Karjalainen, and U. K. Laine, “Splitting the Unit Delay,” IEEE Signal Processing Magazine, pp. 30–60, Jan 1996. [2] E. Meijering, “A chronology of interpolation,” Proceedings of the IEEE, vol. 90, no. 3, pp. 319–342, Mar 2002. [3] C. W. Farrow, “A continuously variable digital delay element,” in Proceedings of the IEEE International Symposium on Circuits and Systems, June 1988, pp. 2641–2645, Espoo, Finland. [4] J. Selva, “Interpolation of bounded band-limited signals and applications,” IEEE Transactions on Signal Processing, vol. 54, no. 11, pp. 4244–4260, Nov 2006. [5] T.-B. Deng, “Coefficient-symmetries for implementing arbitrary-order Lagrange-type variable fractional-delay digital filters,” IEEE Transactions on Signal Processing, vol. 55, no. 8, pp. 4078–4090, Aug 2007. [6] A. Haghparast V. Valimaki, “Fractional delay filter design based on truncated Lagrange interpolation,” IEEE Signal Processing Letters, vol. 14, no. 11, pp. 816–819, Nov 2007. [7] C. Candan, “An efficient filtering structure for Lagrange interpolation,” IEEE Signal Processing Letters, vol. 14, no. 1, pp. 17–20, Jan 2007. [8] J. Selva, “An efficient structure for the design of Variable Fractional Delay filters based on the windowing method,” IEEE Transactions on Signal Processing, vol. 56, no. 8, pp. 3770–3775, Aug 2008.

10

f0 = 1; g1 = w1 ; d = 0; for k = 1 to N − 1 fk = fk−1 (t − tk ); gk+1 = wk+1 fk ; d = gk + d(t − tk ); ik = 1/(t − tk ); end d = 1/(gN + d (t − tN )); for p = 0 to r n = 0; for k = 1 to N − 1 n = n(t − tk ) + gk (zk − zN ); end bp = d n(t − tN ) + zN ; if p < r for k = 1 to N − 1 zk = −(p + 1)(zk − bp )ik ; end zN = (p + 1)n d; end end Fig. 6. Pseudo-code for the evaluation of the barycentric interpolator in Sec. IV and its derivatives. The inputs are the set of samples in sequence z, the interpolation instant t, and the differentiation order r. The output is the sequence of derivatives b.

[9] Heidi-Maria Lehtonen, Vesa Valimaki, and Timo I. Laakso, “Canceling and selecting partials from musical tones using fractional-delay filters,” Computer Music Journal, 2008. [10] A. Haghparast and V. Valimaki, “A computationally efficient coefficient update technique for Lagrange fractional delay filters,” in Proc. IEEE Int. Conf. Acoustics, Speech and Signal Processing (ICASSP-08), Las Vegas, Nevada, USA, Mar 2008, pp. 3737–3740. [11] J. Selva, “Convolution based trigonometric interpolation of band-limited signals,” IEEE Transactions on Signal Processing, vol. 56, no. 11, pp. 5465–5477, Nov 2008. [12] A. Franck, “Efficient algorithms and structures for fractional delay filtering based on Lagrange interpolation,” Journal of the Audio Engineering Society, vol. 56, no. 12, pp. 1036–1056, Dec 2008. [13] J. Selva, “Optimal variable fractional delay filters in time-domain Linfinity norm,” in International Conference on Acoustics Speech, and Signal Processing, ICASSP’-09, 2009. [14] H. Johansson and P. L¨owenborg, “Reconstruction of nonuniformly sampled bandlimited signals by means of time-varying discrete-time FIR filters,” EURASIP Journal on Applied Signal Processing, vol. 2006, pp. Pages 1–18, 2006. [15] T. E. Tuncer, “Block-based methods for the reconstruction of finitelength signals from nonuniform samples,” IEEE Transactions on Signal Processing, vol. 55, no. 2, pp. 530–541, Feb 2007. [16] E. Margolis and Y. C. Eldar, “Nonuniform sampling of periodic bandlimited signals,” to appear in the IEEE Transactions on Signal Processing, July 2008. [17] S. Tertinek and C. Vogel, “Reconstruction of nonuniformly sampled bandlimited signals using a differentiator-multiplier cascade,” IEEE Transactions on Circuits and Systems - I: Regular papers, vol. 55, no. 8, pp. 2273–2286, Sep 2008. [18] J. Selva, “Functionally weighted Lagrange interpolation of bandlimited signals from nonuniform samples,” IEEE Transactions on Signal Processing, vol. 57, no. 1, pp. 168–181, Jan 2009. [19] B. Y. Levin, Lectures on entire functions, Translations of Mathematical Monographs. American Mathematical Society, 1991. [20] Alan V. Oppenheim and Ronald W. Schafer, Discrete-time signal processing, Prentice Hall, 1989. [21] A.J.R.M. Coenen, “Novel generalized optimal fractional delay filter design for navigational purposes,” in The Ninth IEEE International Symposium on Personal, Indoor and Mobile Radio Communications., Sept 1998, vol. 1, pp. 481–485. [22] A.J.R.M. Coenen, “Fast sampled data interpolation for navigational software radio design,” in Proc. Second International Symposium on

[23] [24] [25] [26] [27]

Wireless Personal Multimedia Communications (WPMC’99), 1999, pp. 269–276. L. Knockaert, “A simple and accurate algorithm for barycentric rational interpolation,” IEEE Signal Processing Letters, vol. 15, pp. 154–157, 2008. C. Schneider and W. Werner, “Some new aspects of rational interpolation,” Mathematics of Computation, vol. 47, no. 175, pp. 285–299, Jul 1986. R. P. Jr. Boas, Entire functions, Acacemic Press, 1954. J. R. Higgins, Sampling Theory in Fourier and signal analysis. Foundations., Oxford Science Publications, 1996. J. J. Knab, “Interpolation of band-limited functions using the Approximate Prolate series,” IEEE Transactions on Information Theory, vol. IT-25, no. 6, pp. 717–720, Nov 1979.

Suggest Documents