Pascal-Interpolation-Based Noninteger Delay Filter and Low-Complexity Realization

This paper proposes a new method for designing the polynomial-interpolation-type noninteger-delay filter with a new structure formulation. Since the design formulation and the new realization structure are based on the discrete Pascal transform (DPT) and Pascal interpolation, we call the resulting filter Pascal noninteger-delay filter. The kth-order Pascal polynomial is used to pass through the given (k + 1) data points in achieving the kth-order Pascal filter. The Pascal noninteger-delay filter is a realtime filter that consists of two sections, which can be realized into the front-section and the back-section. The frontsection contains multiplication-free digital filters, and the number of multiplications in the back-section just linearly increases as order becomes high. Since the new Pascal filter has low complexity and structure can adjust noninteger delay online, it is more suited for fast delay tuning. Consequently, the polynomial-interpolation-type delay filter can be achieved by using the Pascal approach with high efficiency and low-complexity structure.

The direct-form Farrow structure for realizing the polynomial-interpolation-type noninteger-delay filter requires a large number of multiplications, but non-causal ones can be symmetrically realized by exploiting symmetry transformations.After symmetry transformations, the structures need much fewer multiplications.In order to perform real-time filtering, causal filters are needed, but the direct-form Farrow structure of the causal polynomialinterpolation-type noninteger-delay filters does not possess symmetric or anti-symmetric structures, which cannot exploit symmetries for reducing the number of multiplication operations.In [11][12][13], transformation matrices have been proposed for transforming causal filters to have lowcomplexity structures.This paper develops a new design method and a new realization structure for the causal polynomial-interpolation-type delay filter with very low hardware complexity in order to achieve high-speed filtering for real-time applications.As compared with the methods proposed in [10][11][12][13], the method proposed in this paper requires much less multiplications.The resulting filter structures from the methods in [10][11][12][13] require more multiplications than the Pascal structure proposed in this paper.As compared with the existing methods for deriving and realizing the causal polynomial-interpolation-type delay filters, we develop a novel design method and a new filter structure using different procedures, but the resulting structure has much lower complexity.
The proposed design method is related to a kind of discrete polynomial transform called discrete Pascal transform (DPT) that was first proposed in [20], and later the DPT is applied to the so-called Pascal interpolation in [21].The new design method and the new filter structure for the polynomial-interpolation-type delay filter is based on the Pascal interpolation, and the Lagrange polynomial is changed to Pascal polynomial for fitting the data points.Therefore, this new type of filter is called Pascal noninteger-delay filter.The Pascal noninteger-delay filter can adjust the delay parameter online with high processing speed because it uses a reduced number of multiplications, where the number linearly increases as the filter order increases.Although the coefficient-symmetry techniques in [10][11][12][13] can reduce the multiplication operations by about 50%, the techniques still require more multiplications as compared with the Pascal noninteger-delay filter because the numbers of multiplications in [10][11][12][13] are not linear functions of the filter order.Consequently, the low-cost and high-speed causal polynomial-interpolation-type filter can be obtained by using the Pascal approach and the filter order can take both odd and even numbers.The Pascal noninteger-delay filter makes online tuning with very low hardware realization and high-speed operation possible, which is the major progress for the polynomial-interpolation-type delay filter.
The output of the polynomial-interpolation-type noninteger-delay digital filter is where are the coefficients, and D is the fractional delay.Also, k is the filter order.The time-domain expression in (1) corresponds to the frequency-domain transfer function By employing the Farrow structure, H(z, D) can be realized as Fig. 1, where V i (z), i = 0, 1, …, k, are called subfilters.For example, if the filter order k = 2, then On the other hand, we can see from (4) that the last subfilter V 2 (z) has symmetric coefficients, but the others do not have any symmetries.The coefficient symmetry of V 2 (z) is taken into account in the realization shown in Fig. 2. In order to reduce the number of multiplications needed in the filtering process, it is desirable to symmetrize the coefficients of all the subfilters V 0 (z), V 1 (z), …, V k (z).In [10], symmetric structures are proposed for realizing non-causal polynomial-interpolation-type noninteger-delay filters, and in [11][12][13], transformation approaches are proposed for realizing causal ones.
Figure 3 shows the second-order transformed Farrow structure, which can reduce the number of multiplications by more than 50%.As a result, the Farrow structures after transformations have the following complexities.
Odd-order case: For any odd kth-order case, the computational complexity can be figured out by the same way and can be summarized as follows: Even-order case : For any even kth-order case, the computational complexity can be summarized as It is clear that the numbers of multiplications are still the square functions of the filter order k.
In the next section, we will propose a novel design method and a new filter structure called Pascal nonintegerdelay filter for the polynomial-interpolation-type filter, which requires much fewer multiplications as compared to other ones.We will begin by discussing the background of the Pascal noninteger-delay filter design, including the generalized Pascal noninteger-delay filter and its filter structure realization, the frequency characteristic and computational complexity from the next section.

Discrete Pascal Transform and Pascal Interpolation
Discrete Pascal transform (DPT) was proposed in [22], which is intimately related to the Pascal's triangle shown in Fig. 4, and is classified as one kind of discrete polynomial transforms.The operation of DPT is based on Pascal transform matrix that performs as an operator for signal transformation.
The discrete Pascal transform of the signal vector x with size (k + 1) × 1 is defined as where P is the Pascal transform matrix with dimension (k + 1) × (k + 1), and x is the input signal vector, and X is the transformed output vector with size (k + 1) × 1.

Basis Functions of DPT
From (5), the Pascal transform matrix has the following basis functions, which are the polynomials where (k + 1) × (k + 1) is the size of the Pascal transform matrix and are called the binomial coefficients (as in the binomial theorem) and are related to Pascal's triangle.The term (-1) i in (6) will alternate the sign of the columns of the Pascal transform matrix, and P(x, i) are the elements in Pascal transform matrix P, where x corresponds to the row number and i denotes the column number.
The function x (i) is called falling factorial powers defined as where x (0) = 1, and k is also called the order of basis function.For example, the first four basis functions of DPT that consist of four polynomials are 0 ( 2) ( ) 63 which can be summarized as the recurrence formula By using (9), we can generate the Pascal transform matrix (size 4 × 4) for k = 3 as follows,   .
The basic properties of this P matrix are as follows.
(1) All the elements of the first column equal 1.
(2) The matrix is a lower triangle.
(3) The sum of all the elements of each row (except the first row) equals zero.(4) The inverse matrix is equal to the forward matrix, that is, P -1 = P.

Pascal Interpolation
Assume that x L (n) is obtained by interpolating the original signal x(n) with an interpolation factor of L, then L -1 new data points will be inserted between every pair of samples in the original x(n).The new interpolation technique using the DPT in [20] is proposed in [21].The idea used in Pascal interpolation is similar to the concept of Fourier series expansion, that is, a periodic signal can be expressed by the weighted-sum of exponential basis functions.In the case of discrete Pascal transform (DPT), the basis functions are Pascal polynomials P i (x) shown in (6).Then, the discrete-time signal x(n) can be represented by using the DPT bases as where the weights are the Pascal coefficients X i that are calculated as Here, the number of data points of x(n) is (k + 1), and the order of the Pascal polynomial P i (n) is i.The Pascal coefficients X i are similar to the Fourier coefficients in Fourier series.
To interpolate the input x(n) with an interpolation factor L for L = k + 1, which produces (k + 1) + k(L -1) output samples x L (n), we scale the index n by 1/L, i.e., we change the basis functions from P i (n) to P i (n/L).Consequently, the resulting interpolated samples x L (n) are This equation is the important key of the Pascal interpolation.For simplicity, the process from x(n) to x(n/L) can be summarized as Fig. 5.The mechanism inside block diagram in Fig. 5 corresponds to (11) and (12), respectively.For easy understanding, we explain the Pascal interpolation by using the following example.
Example, given a sequence x(n) = [1 2 3] and we want to interpolate this sequence with L = 3.
Step 1: Before interpolation, the Pascal coefficients must be computed by transformation from x(n) to X i using the DPT in (11).
with k = 2.The Pascal coefficient vector can be expressed by matrix equation in (5), i.e.,

Px X 
where Therefore, in this step the Pascal coefficients can be obtained by .
Step 2: After we obtain the Pascal coefficients from Step 1, the interpolated signal can be obtained using (12).In this case, new (L -1) = 2 data points will be inserted between each pair of the input samples x(n).
From basis function (6), we get (2) 3.The original discrete-time input signal x(n) and the interpolated output signal x(n/3) are shown in Fig. 6.
From the above example, we can see that the kth-order (degree) Pascal polynomial can fit the (k + 1) samples, the second-order Pascal polynomial fits 3 input data points.This property is also identical to the Lagrange interpolation, which has been used to derive the polynomial-interpolation-type noninteger-delay filter.Therefore, the Pascal interpolation can also be used for developing a new structure for the polynomial-interpolation-type filter.

Pascal Noninteger-Delay Filter
In this section, we will briefly discuss why the Pascal interpolation can be used for developing a new structure for the polynomial-interpolation-type filter, which is called Pascal noninteger-delay filter.

Origin of Pascal Noninteger-Delay Filter
Below, we develop the Pascal noninteger-delay filter based on Pascal interpolation.The Pascal polynomial is used for fitting the data points instead of the Lagrange polynomial.The basic idea is directly related to the DPT and Pascal interpolation, which is described in the previous section.The example used in the previous section is continuously used to develop the Pascal noninteger-delay filter.
From the previous example in Step 1 (the stage of the Pascal coefficients calculation from input data vector using (13)), the matrix equation can be rewritten as .
In the real-time applications, the system must be causal.Then, we can set From this point, we know that X 0 , X 1 , and X 2 can be regarded as the outputs of the filters (1 -z -1 ) i , i = 0, 1, 2. For any ith-order (0 with The next stage is to change n/L in ( 14) to the delay parameter (D), which leads to where k is also the Pascal noninteger-delay filter order.
To confirm that our Pascal noninteger-delay filter is correct and can operate, the second-order Pascal noninteger-delay filter (k = 2) in ( 17) will be tested in 2 cases: integer-delay and noninteger-delay. Integer-delay: ; no delay Noninteger-delay:  The graphical representation of the input and output of the second-order Pascal noninteger-delay filter are shown in Fig. 7 for understanding the mechanism using the Pascal noninteger-delay filter to delay the input signal x(n) in a noninteger fashion.The tested results show that the Pascal noninteger-delay filter operates properly.Any kthorder Pascal noninteger-delay filter and its structure will be described in the next section.
Finally but more importantly, the transfer function of the second-order Pascal noninteger-delay filter will be formulated in this section.From (17), we can get The transfer function ( 18) is equivalent to the direct form in (4), which verifies that our derived Pascal noninteger delay filter is the same polynomial-interpolationtype.However, we will not use the expression in (18) to realize it.Instead, the following subsections will propose a more efficient realization structure than the Farrow structures mentioned above.

Pascal Noninteger-Delay Filter and Its Structure
The Pascal noninteger-delay filtering consists of 2 operations.The first one passes the input signal x(n) through the highpass filters that have transfer functions in (16) in order to obtain the Pascal coefficients, X i (i = 0, 1, …, k).The transfer functions in ( 16) can be written again as In the second step, the Pascal coefficients X i will go to the next operation as follows, In this step, we will consider X i as the inputs of a system, and the coefficients P i (D) are the functions of the delay parameter D. Here, we call P i (D) the "Pascal-delayed" coefficients.The coefficients P i (D) control the delay of the Pascal noninteger-delay filter, which play a vital role in the Pascal noninteger-delay filter.Table 1 shows the coefficients P i (D) of the seventh-order Pascal nonintegerdelay filter for various values of the delay parameter D. The Pascal noninteger-delay filter includes 2 systems, the first system is shown in (19), and the second one is given in (20).Consequently, the mechanism of the Pascal noninteger-delay filter is summarized in Fig. 8 for easy understanding.
Combining (19) and ( 20) gets the whole transfer function for the Pascal noninteger-delay filter as which can also be written in matrix form as where the Pascal-delayed coefficients vector p ˆ is defined as and P is the Pascal transform matrix as discussed in Sec. 3.
In order to realize the Pascal noninteger-delay filter, we will consider the first system and the second system separately as shown in Fig. 8.
The first system can be considered as a single-input, multi-output (SIMO) system, and we call it the frontsection of the Pascal noninteger-delay filter.The second system is a multi-input, single-output (MISO) system, and  we call it the back-section of the Pascal noninteger-delay filter, which is the key of the Pascal noninteger-delay filter for adjusting the delay.Therefore, from the concept in Fig. 8, and ( 19) to (24), we can show the amplitude response of the Pascal noninteger-delay filter as Fig. 9 (k = 30).
In Fig. 9, the value of delay parameter D in noninteger-delay is between D  [0.5k -0.5, 0.5k +0.5].The details for realizing both front-section and back-section of the Pascal noninteger-delay filter will be described in the next subsections.

Front-Section Realization
The front-section of Pascal noninteger-delay filter, which is the first system in Fig. 8, is used for filtering by the filter H i (z) in (19) in order to obtain the Pascal coefficients X i .In fact, the Pascal coefficients are also the timedomain signals.After such Pascal coefficients are computed, they will be passed to the second system called the back-section.
In order to realize the front-section of Pascal noninteger-delay filter, we will be considered by factorizing the Pascal transform matrix P into binary {1, 0, -1} matrices.The front-section can be realized without any multiplications, and then the obtained front-section of Pascal noninteger-delay filter will be multiplierless digital filters.
The concept of front-section comes from the factorization of the Pascal transform matrix P into binary {1, 0, -1} matrices.From (19), we can write the vector of transfer function H i (z) as follows, The Pascal coefficients X i can be computed by using (26), i.e., the DPT of input vector x, where Usually, the matrix transformation requires many multiplications and additions, which is dependent on the dimension of the used matrix operator.This paper proposes a method for factorizing the Pascal transform matrix P into binary {1, 0, -1} matrices, that will allow the transformation using matrix P to operate without multiplications and only additions are used.Therefore, the hardware realization for transformation circuits can be efficiently designed by using the so-called butterfly unit of DPT to establish the whole structure.Consider the 2 × 2 Pascal transform matrix P, which can be denoted as P 2 (subscript 2 is the dimension of P 2 ) and from (26), we can get .) 1 ( Also, from this matrix equation, we can make the data flow graph as Fig. 10, This flow graph is called a butterfly unit of DPT [22] and used as a basic unit for constructing the front-section of any kth-order Pascal noninteger-delay filter.The method for factorizing the Pascal transform matrix P into binary {1, 0, -1} matrices is based on Gaussian elimination [23], which can be described as follows.The elimination matrix in [23] is used to factorize another kind of Pascal matrix (all elements in matrix are positive), but Pascal transform matrix used in DPT (alternating sign by (-1) i ; i is column index) is different from that in [23].With some modification from [23], the elimination matrix E for the Pascal transform matrix P has entry E x , x = -1, except E 0 , 0 = 1 ,and E x , x -1 = 1, and all other entries are zero.
For example, the front-section of the third-order Pascal noninteger-delay filter can be shown as below This computation can be realized as Fig. 11.
Notice that the matrix P has the size (k + 1) 2 ; k is the order of the Pascal noninteger-delay filter.For any kthorder case, the front-section can be realized in the similar fashion and shows the details as Fig. 12.
By considering the realization diagram, we know that the number of additions for the front-section of the Pascal noninteger-delay filter is No. of additions = .2 The front-section does not require any multiplications.Thus, the obtained front-section of the Pascal noninteger-delay filter contains only multiplierless digital filters.

Back-Section Realization
The back-section of the Pascal noninteger-delay filter changes the delay of the Pascal noninteger-delay filter online, and it is realized by using (20) and (21).The frontsection outputs X i , and then X i are fed to the back-section as From ( 21) and definition of falling factorial powers D (i) we have .
Next, the Horner's rule is applied for sharing the common terms as Consequently, by using (29), the back-section of the any kth-order Pascal noninteger-delay filter can be realized as Fig. 13.
Here, we can summarize the computational complexity of the back-section realization as No. of multiplications = 3k -3 No. of additions = 2k -1.
Since the whole Pascal noninteger-delay filter consists of both the front-section and the back-section, and the front-section consists of only mutiplierless filters, all the multiplications of the Pascal noninteger-delay filter occur only from the back-section.The total computational complexity of the kth-order Pascal noninteger-delay filter will be considered in the next section and the computational complexities will be also compared with those of the direct-form Farrow structure as well as the Farrow structures after symmetry transformations proposed in [11][12][13].

Complexity of the Pascal Noninteger-Delay Filter
This section evaluates the Pascal noninteger-delay filter complexity by counting both multiplication and addition operations.For the example, the third-order Pascal noninteger-delay filter can be realized by using the structures from front-section and back-section as shown in Fig. 14.
The third-order Pascal noninteger-delay filter in Fig. 14 needs 6 multiplications and 11 additions.Table 2 lists the numbers of multiplications and additions of the third-order polynomial-interpolation-type filters using three types of structures.The computational complexities from the second-order to 30th-order of 3 types of polynomial-interpolationtype delay filters are shown in Fig. 15 and Fig. 16, respectively.
By using Fig. 15, we can compare the numbers of multiplications of 3 types of realization structures.As compared to the direct-form Farrow structure [1], the structures using symmetry transformations [11][12][13] can reduce the number of multiplications by about 50%.However, the number of multiplications required by the method in [11][12][13] is not linear with respect to the order k, but it is a square function.The Pascal noninteger-delay filter requires fewer multiplications than the Lagrange-type with transformed Farrow structures [11][12][13].
The number of multiplications is linear with respect to the order k.In Fig. 16, we compare the numbers of additions of 3 types of polynomial-interpolation-type delay filters, the Pascal noninteger-delay filter requires less additions than the direct-form Farrow structure [1].Obviously, since the Pascal noninteger-delay filter requires the lowest computational complexity, it is more suitable for fast filtering.

Conclusion
In this paper, we have derived a new filter realization structure for the polynomial-interpolation-type delay filter.Since it is formulated from the discrete Pascal transform (DPT) and Pascal interpolation, we call it Pascal noninteger-delay filter.The resulting Pascal noninteger-delay filter has a low-complexity structure that contains two sections (front-section and back-section).The former consists of multiplierless filters only, and the latter requires less multiplications.Because the proposed Pascal structure can online adjust the delay with less multiplications, it is suited for fast tuning applications.Moreover, we have compared the numbers of multiplications of 3 types of the polynomial-interpolation-type delay filters, and concluded that the Pascal structure requires the smallest number of multiplications.Consequently, the polynomial-interpolation-type delay filter can be achieved by using the Pascal approach with high efficiency and the lowest complexity filter structure.

Fig. 1 .
Fig. 1.Direct-form Farrow structure.Here, the subfilters have constant coefficients, which are fixed in filtering.The non-integer delay of H(z, D) can be adjusted through adjusting the value of the parameter D. The direct realization of H(z, D) using the Farrow structure requires No. of multiplications = k k 2 2 

Fig. 6 .
Fig. 6.Example of the Pascal interpolation with a factor L= 3.

Fig. 7 .
Fig. 7. Graphical representations of the input and output of the second-order Pascal noninteger-delay filter.

Tab. 1 .
Pascal-delayed coefficients of the seventh-order Pascal noninteger-delay filter for various D.