Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

Farrow Structure Coefficients

Beginning with a restatement of Eq.(4.9),

$\displaystyle h_\Delta(n) \isdefs \sum_{m=0}^{N_c}c_n(m)\Delta^m, \quad n=0,1,2,\ldots,N,

we can express each FIR coefficient $ h_\Delta(n)$ as a vector expression:

$\displaystyle h_\Delta(n) \eqsp
\left[\begin{array}{ccccc} 1 & \Delta & \Delta^2 & \cdots & \Delta^{N_c}\end{array}\right]}_{\underline{V}_\Delta^T}\,
\left[\begin{array}{c} C_n(0) \\ [2pt] C_n(1) \\ [2pt] \vdots \\ [2pt] C_n({N_c})\end{array}\right]

Making a row-vector out of the FIR coefficients gives

$\displaystyle \underbrace{\left[\begin{array}{cccc}h_\Delta(0)\!&\!h_\Delta(1)\!&\!\cdots\!&\!h_\Delta(N)\end{array}\right]}_{\underline{h}_\Delta}
C_0(0) & C_1(0) & \cdots & C_N(0) \\
C_0(1) & C_1(1) & \cdots & C_N(1) \\
\vdots & \vdots & & \vdots \\
C_0({N_c}) & C_1({N_c}) & \cdots & C_N({N_c})


$\displaystyle \underline{h}_\Delta \eqsp \underline{V}_\Delta^T \mathbf{C}.

We may now choose a set of parameter values $ {\underline{\Delta}}^T=[\Delta_0,\Delta_1,\ldots,\Delta_L]$ over which an optimum approximation is desired, yielding the matrix equation

$\displaystyle \mathbf{H}_{\underline{\Delta}}\eqsp \mathbf{V}_{\underline{\Delta}}\mathbf{C}, \protect$ (5.11)


$\displaystyle \mathbf{H}_{\underline{\Delta}}\isdefs \left[\begin{array}{c} \underline{h}_{\Delta_0}^T \\ [2pt] \vdots \\ [2pt] \underline{h}_{\Delta_L}^T\end{array}\right]
\mathbf{V}_{\underline{\Delta}}\isdefs \left[\begin{array}{c} \underline{V}_{\Delta_0}^T \\ [2pt] \vdots \\ [2pt] \underline{V}_{\Delta_L}^T\end{array}\right].

Equation (4.11) may be solved for the polynomial-coefficient matrix $ \mathbf{C}$ by usual least-squares methods. For example, in the unweighted case, with $ L\ge {N_c}$ , we have

$\displaystyle \zbox {\mathbf{C}\eqsp \left(\mathbf{V}_{\underline{\Delta}}^T\mathbf{V}_{\underline{\Delta}}\right)^{-1}
\mathbf{V}_{\underline{\Delta}}^T \mathbf{H}_{\underline{\Delta}}.}

Note that this formulation is valid for finding the Farrow coefficients of any $ N$ th-order variable FIR filter parametrized by a single variable $ \Delta$ . Lagrange interpolation is a special case corresponding to a particular choice of $ \mathbf{H}_{\underline{\Delta}}$ .

In MATLAB, the function fdesign.fracdelay can be used to design Farrow structures for fractional delay.

Next  |  Prev  |  Up  |  Top  |  Index  |  JOS Index  |  JOS Pubs  |  JOS Home  |  Search

[How to cite this work]  [Order a printed hardcopy]  [Comment on this page via email]

``Physical Audio Signal Processing'', by Julius O. Smith III, W3K Publishing, 2010, ISBN 978-0-9745607-2-4
Copyright © 2023-08-20 by Julius O. Smith III
Center for Computer Research in Music and Acoustics (CCRMA),   Stanford University