14.11 INTERPOLATOR SCHEDULING

As usual, we employ an affine timing function:

(14.29) c14e029

where the row vector s = [s1 s2] is the scheduling vector and the column vector p = [n k]t is any point in the dependence graph. The first component refers to the horizontal axis and the second component refers to the vertical axis. The restrictions on our timing function were discussed in Chapters 10 and 11. We assume that the input data x(n) arrive at consecutive times. Let us study the times associated with the points at the bottom of the graph p = [n 0]t. Two input samples, x(n) and x(n + 1), arrive at the two points, p1 = [n 0]t and p2 = [nL + 1 0]t, respectively. Applying the scheduling function in Eq. 14.3, we get

(14.30) c14e030

(14.31) c14e031

Since the difference t(p2) − t(p1) = L, we must have s1 = 1. A valid scheduling vector that satisfies input data timing must be specified as

(14.32) c14e032

The value of s2 will be determined by our choice of whether we need to pipeline or broadcast the output sample y(n). Choosing s2 = 0 would result in the broadcast of y(n). Choosing s2 = ±1 would result in ...

Get Algorithms and Parallel Computing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.