1 Introduction

The need for interpolating discrete time signals arises in many applications such as sound synthesis, incommensurate sampling rate conversion, echo cancellation, synchronization in digital receivers, beamforming of radar systems and so on [21,22,23, 25, 37], and this is achieved with a fractional delay digital filter. In many scenarios, the desired group delay varies during the course of the application. There is therefore the need for a filter whose group delay can be readily tuned continuously, and such a filter is known as a variable fractional delay (VFD) filter. The VFD filter can either be a finite impulse response (FIR) filter or an infinite impulse response (IIR) filter. The latter, however, has the disadvantages of higher level of roundoff output noise and higher phase response sensitivity to coefficient quantization, compared to the former [5, 20, 26, 40]. Furthermore, with IIR VFD filters, abrupt changes in their parameters can cause undesirable transients. Therefore, FIR VFD filters have received much more attention in the literature and will be the focus of this work.

The practical implementation of VFD filters is usually achieved using efficient structures that allow easy online tuning of the group delay. The most popular one is the structure originally proposed by Farrow in [15]. The seminal work by Farrow has spawned a substantial amount of work [2, 6,7,8, 10,11,12,13,14, 17,18,19, 23, 30,31,32, 35, 36, 38, 39, 41, 43], that extends and modifies the original work, with the aim of reducing the implementation complexity and improving the design accuracy. Some alternatives to the Farrow structure were proposed in [27,28,29] based on interpolation techniques. However, these alternatives either require division operations for implementation or lead to an IIR structure. In [33, 34], VFD filter structures whose coefficients are expressed as linear combinations of sinusoidal or radial basis functions were developed. However, a significant amount of storage for the design coefficients is needed in these structures.

The basic Farrow structure is shown in Fig. 1, where \( G_m(z)\)’s are the subfilters which are fixed. The variability in the delay is achieved by adjusting or tuning the fractional delay parameter p during application. The design of a VFD filter amounts to optimizing all the \(M+1\) subfilters simultaneously. Thus, the total number of coefficients to be optimized with VFD filters is much larger than the number for regular fixed coefficient filters, especially when the subfilter order N and M are large. To reduce the design complexity of VFD filters, several strategies, such as imposing coefficients symmetry, or using subfilters with different orders, have been proposed in the literature [2, 6, 7, 10,11,12, 14, 19, 30, 36, 38, 39, 41, 43]. More elaborate Farrow-based structures were also proposed in [8, 13, 17, 18, 35] using techniques such as subfilter sharing, two-rate method, and frequency-response masking (FRM). The recent method in [32] reduces the complexity by using multisegment optimization design, but requires increased storage resources. The metaheuristic firefly algorithm is used for the design of VFD filters in [31]. However, the algorithm is not computationally efficient and is only suitable for designing low-order filters.

Fig. 1
figure 1

Basic Farrow structure of VFD FIR filters

However, despite some ingenious and efficient algorithms proposed, to achieve a high approximation accuracy, the required subfilter order and the number of subfilters are usually high. This results in a high implementation complexity as high accuracy designs are often needed in practical applications. The Farrow structure in Fig. 1 is a consequence of assuming an algebraic polynomial (AP) approximation, w.r.t. to the delay parameter p, of the variable impulse response (see (3) for expression). We shall refer to this as the AP-based structure in this paper. Most of the methods proposed for designing VFD filters are based on the AP-based structure [2,3,4, 6,7,8, 10,11,20, 23, 30,31,32, 36, 38, 39, 41, 43]. Now, it is well known that the desired VFD filter frequency response has the complex exponential form, i.e., \(e^{-{j}\omega p}\), which is a periodic function of p for fixed frequency \(\omega \). Algebraic polynomials, which are non-periodic, are therefore not the best choice to approximate \(e^{-{j}\omega p}\). The fundamental limitation of the AP-based structure is due to the use of polynomials as the approximants. It is therefore natural to consider approximating the variable impulse response using complex exponential (CE) functions. Furthermore, complex exponential polynomials (or trigonometric polynomials) have better numerical stability properties than algebraic polynomials.

In this paper, a significant departure from the classical Farrow structure is adopted. Instead of polynomial functions as approximants, we propose the use of CE functions as approximants. One of the features with the CE functions is the presence of the shape parameter \(\beta \) which can be tailored to achieve a good approximation accuracy. The ensuing structures, which will be referred to as CE-based structures, are Farrow-like but there are differences. Complex filters, requiring complex arithmetic, are required with the CE-based structures. However, by exploiting the symmetries that exist in the CE-based structures, it will be shown that the number of independent (real) coefficients is only 1/4 the total number of coefficients. For a given number of subfilters and subfilter order, it will be shown that the number of independent coefficients for the CE-based and AP-based structures is the same. Therefore, the design complexity and implementation complexity are virtually the same for both structures. However, it will be demonstrated that the CE-based designs can achieve better approximation accuracy, as measured by the following metrics: (i) normalized root-mean-squared error, (ii) maximum magnitude error, and (iii) maximum group delay error. Moreover, these improvements are significant in the case with low number of subfilters or high subfilter order.

The main contributions of this paper are summarized as follows:

  1. 1.

    The introduction of VFD filters based on complex exponential functions approximation and the ensuing CE-based structure. Filter analysis and derivation of various symmetry properties. Derivation of various forms of the filter response function as bivariate trigonometric polynomials of the delay p and the frequency \(\omega \).

  2. 2.

    Derivation of the efficient CE-based implementation structure that exploits the symmetries. Computational complexity analysis of the resulting structure.

  3. 3.

    Formulation of the design of CE-based filters using a weighted least-squares (WLS) approach in matrix form. Derivation of the closed-form solution for optimal CE-based filters. Formulation of the shape parameter optimization procedure in CE-based filters using the Golden Cut method.

  4. 4.

    Extensive simulation results that compare the CE-based filters with the AP-based filters.

The paper is organized as follows. In Sect. 2, the AP-based structure and the filter design are briefly reviewed. The CE-based structure is introduced in Sect. 3. The filter analysis and symmetry conditions are also presented here. This section also provides a complexity analysis and develops a simplified efficient implementation structure. Section 4 presents the design problem formulation, derives the closed-form solution, and details the complete design algorithm. Design examples and comparisons with the AP-based structures are found in Sect. 5. A comparison of the proposed method and other methods that are based on trigonometric approximation is also found in Sect. 5. The paper concludes in Sect. 6. All proofs are found in the Appendix.

2 Farrow Structure Based on Algebraic Polynomials

Many VFD FIR filters are based on the Farrow structure that has an implied algebraic polynomial approximation of the impulse response. We briefly review the main concepts behind the Farrow structure and the design of VFD filters using this structure.

2.1 Basic Structure

The frequency response of an ideal VFD filter can be written as

$$\begin{aligned} {\hat{D}}(e^{{j}\omega },p) =e^{-{j}\omega \left( \frac{N}{2}+p\right) },\quad |\omega |\le \pi , \end{aligned}$$
(1)

where N is a given positive integer, \(\omega \) represents the frequency, and p is the adjustable fractional delay parameter in the range of \(-0.5\le p\le 0.5\). The ideal VFD filter has a unity magnitude gain with the adjustable group delay and cannot be exactly implemented (realizable) in practice. The aim is therefore to find a realizable variable digital filter (VDF) with frequency response \( {\hat{H}}(e^{{j}\omega },p)\) that approximates the ideal filter. Consider then the approximation of \({\hat{D}}(e^{{j}\omega },p)\) by \( {\hat{H}}(e^{{j}\omega },p)\) in the frequency band \(|\omega |\le \alpha \pi \), where \(0<\alpha <1\) is a parameter that specifies the passband of interest in practice. The frequency response \( {\hat{H}}(e^{{j}\omega },p)\) can be expressed as

$$\begin{aligned} {\hat{H}}(e^{{j}\omega },p)=\sum _{n=0}^{N}h_n(p)e^{-{j}\omega n}, \end{aligned}$$
(2)

where \(\{h_n(p), n=0,1,\ldots ,N\}\) is the variable impulse response that depends on the fractional delay p. Note that n is discrete but p is continuous.

With the conventional Farrow structure, the variable impulse response is approximated with Mth degree algebraic polynomials (AP) of p:

$$\begin{aligned} h_n(p)=\sum _{m=0}^{M}a(n,m)p^m, \quad n=0,1,\ldots ,N. \end{aligned}$$
(3)

where a(nm)’s are the coefficients that are determined by some design process. Substituting (3) into (2), we obtain the AP-based frequency response as

$$\begin{aligned} {\hat{H}}_a(e^{{j}\omega },p) =\sum _{m=0}^{M} G_m(e^{{j}\omega }) p^m, \end{aligned}$$
(4)

where

$$\begin{aligned} G_m(e^{{j}\omega }) \equiv \sum _{n=0}^{N}a(n,m)e^{-{j}\omega n} \end{aligned}$$

are the subfilters of the VFD filter. From (4), it is easy to see that \({\hat{H}}_a(e^{{j}\omega },p)\) can be realized using the basic Farrow structure shown in Fig. 1.

2.2 Design of VFD FIR Filters

The design problem of VFD filters is to determine the coefficients a(nm) of the subfilters \(G_m(e^{{j}\omega })\) so that \({\hat{H}}_a(e^{{j}\omega },p)\) approximates \({\hat{D}}(e^{{j}\omega },p)\) as best as it can.

To aid in the mathematical development of the design problem, the functions \(D(\omega ,p) \equiv e^{{j}\omega \frac{N}{2}}{\hat{D}}(e^{{j}\omega },p)\) and \(H_a(\omega ,p) \equiv e^{{j}\omega \frac{N}{2}}{\hat{H}}_a(e^{{j}\omega },p)\) are used instead of \({\hat{H}}_a(e^{{j}\omega },p)\) and \({\hat{D}}(e^{{j}\omega },p)\), respectively. The former (e.g., \(D(\omega ,p)\)) can be considered as the almost zero-phase versions of the latter (e.g., \({\hat{D}}(e^{{j}\omega },p)\)) and are given by

$$\begin{aligned}&D(\omega ,p) =e^{-{j}\omega p}=\cos (\omega p)-{j}\sin (\omega p), \end{aligned}$$
(5)
$$\begin{aligned}&H_a(\omega ,p) =\sum _{n=0}^{N}\sum _{m=0}^{M}a(n,m)p^m e^{-{j}\omega \left( n-\frac{N}{2}\right) }. \end{aligned}$$
(6)

The equivalent design problem is one of approximating \(D(\omega ,p)\) by \(H_a(\omega ,p)\). The coefficients a(nm) have the following symmetry [6]:

$$\begin{aligned}&(-1)^ma(n,m)=a(N-n,m)&\text {for} \quad n=0,1,\ldots ,N;\quad m=0,1,\ldots ,M, \end{aligned}$$
(7)

if \(H_a(\omega ,p)\) is to have the same symmetry as \(D(\omega ,p)\), i.e.,

$$\begin{aligned} D^*(\omega ,p)=D(-\omega ,p)=D(\omega ,-p), \end{aligned}$$

where the superscript “\(*\)” denotes the complex conjugation. With this symmetry, the domain of approximation is reduced to

$$\begin{aligned} \varOmega \equiv \{(\omega ,p)|0\le \omega \le \alpha \pi ,0\le p\le 0.5\}. \end{aligned}$$

The design of the filter is achieved through a weighted least-squares (WLS) formulation. Now, the error between the ideal filter and actual filter response is defined as

$$\begin{aligned} e_a(\omega ,p)&=H_a(\omega ,p)-D(\omega ,p). \end{aligned}$$
(8)

The domain \(\varOmega \) is discretized, with sufficiently density, to give

$$\begin{aligned} {\hat{\varOmega }} \equiv \{( \omega _{i}, p_{l}) | i = 1, 2, \ldots , I; l = 1, 2, \ldots , L\} \subset \varOmega . \end{aligned}$$
(9)

Consider the following objective function

$$\begin{aligned} E_a({\mathbf {A}})=\frac{1}{2} \sum _{i=1}^{I} \sum _{l=1}^{L}W(\omega _i)|e_a(\omega _{i},p_{l})|^2. \end{aligned}$$
(10)

where \(W(\omega )\) is a given nonnegative weighting function and \({\mathbf {A}}\) is the matrix of the coefficients a(nm), which are the optimization decision variables. Using the symmetry property of a(nm), it can be shown that \(E_a({\mathbf {A}})\) can be expressed as [41]

$$\begin{aligned} E_a({\mathbf {A}}) = E_e({\mathbf {B}}_\mathrm{e}) + E_\mathrm{o}({\mathbf {B}}_\mathrm{o}) \end{aligned}$$
(11)

where \({\mathbf {B}}_\mathrm{e}\) and \({\mathbf {B}}_\mathrm{o}\) are matrices obtained from the even and odd columns of \({\mathbf {A}}\), respectively. The sizes of \({\mathbf {B}}_\mathrm{e}\) and \({\mathbf {B}}_\mathrm{o}\) are \(N_\mathrm{e }\times M_\mathrm{e}\) and \(N_\mathrm{o} \times M_\mathrm{o}\), respectively, where the integers \(N_\mathrm{e}\), \(M_\mathrm{e}\), \(N_\mathrm{o}\) and \(M_\mathrm{o}\) are defined as follows:

$$\begin{aligned} M_\mathrm{e} \equiv \lfloor \frac{M}{2} \rfloor + 1; \ \ \ \ M_\mathrm{o} \equiv \lceil \frac{M}{2} \rceil \end{aligned}$$
(12)
$$\begin{aligned} N_\mathrm{e} \equiv \lfloor \frac{N}{2} \rfloor + 1; \ \ \ N_\mathrm{o} \equiv \lceil \frac{N}{2} \rceil \end{aligned}$$
(13)

where \(\lfloor \cdot \rfloor \) and \(\lceil \cdot \rceil \) are the floor and ceil functions, respectively. Minimizing \(E_a({\mathbf {A}})\) can be achieved by minimizing \(E_\mathrm{e}({\mathbf {B}}_\mathrm{e})\) and \(E_\mathrm{o}({\mathbf {B}}_\mathrm{o})\) independently. Closed-form explicit solutions for \({\mathbf {B}}_\mathrm{e}\) and \({\mathbf {B}}_\mathrm{o}\), in terms of the product of matrices and inverse matrices, can then be obtained (see [41] for details).

3 Complex Exponential Structure

The key idea behind the classical Farrow structure is the polynomial approximation of the variable impulse response as seen in (3). There has been a large body of work since Farrow [15], which extends the original work, but most works are essentially based on the notion of polynomial approximation. There are some exceptions, and these will be discussed and compared in Sect. 5.2. Although polynomials are versatile and have been used extensively as approximants in many applications, there are also other classes of functions that can be good approximants. In this work, we propose a class of approximants that is based on the complex exponential function and later show that it can give better results than polynomial approximants. One of the motivations for considering this is from examining (5) and (6). Now, the function \(D(\omega ,p)\) is complex-valued and the variables \(\omega \) and p appear symmetrically, i.e., \(D(p,\omega )=D(\omega ,p)\). More importantly, \(D(\omega ,p)\) is a periodic function of \(\omega \) for fixed p and a periodic function of p for fixed \(\omega \). With \(H_a(\omega ,p)\), the \(\omega \) variable appears inside the complex exponentials, but the p variable appears as powers of an algebraic polynomial, so there is some asymmetry between the variables and \(H_a(\omega ,p)\) is not periodic with respect to p. We next propose approximants where both variables appear inside complex exponentials.

3.1 Filter Analysis and Properties

Noting that the desired frequency response \(e^{-{j}\omega p}\) has the complex exponential form, we consider a complex exponential Fourier series expansion with respect to the independent variable p:

$$\begin{aligned} e^{-{j}\omega p}\approx \sum _{k=-\frac{M}{2}}^{\frac{M}{2}}F_k(\omega ) e^{-{j} 2\pi \beta k p}, \end{aligned}$$
(14)

where \(2\pi \beta \) can be viewed as analogous to the fundamental frequency, and p analogous to the time variable. Now, \(F_k(\omega )\), parametrized by the variable \(\omega \), is the Fourier series coefficient. The parameter \(\beta \) is a positive real number not larger than 1. We can also view \(\beta \) as a shape parameter which gives the complex exponential functions greater approximation ability. For notation simplicity, define the scaled shape parameter as \( \varpi \equiv 2\pi \beta \). By making the substitution \(k=m-\frac{M}{2}\), the expansion (14) can be rewritten as

$$\begin{aligned} e^{-{j}\omega p}\approx \sum _{m=0}^{M}{\tilde{F}}_m(\omega ) e^{-{j} \varpi p\left( m-\frac{M}{2}\right) } \end{aligned}$$
(15)

with \({\tilde{F}}_m(\omega ) \equiv F_{m-\frac{M}{2}}(\omega )\). Furthermore, we expand \({\tilde{F}}_m(\omega )\) using a complex Fourier series with respect to the independent variable \(\omega \):

$$\begin{aligned} {\tilde{F}}_m(\omega ) \approx \sum _{k=-\frac{N}{2}}^{\frac{N}{2}}f(k,m) e^{-{j} \omega k}, \end{aligned}$$

Now, f(km) for \(k = -N/2, \ldots , N/2\) are the corresponding Fourier coefficients that are parameterized by the index m. By the substitution \(k=n-\frac{N}{2}\), we have

$$\begin{aligned} {\tilde{F}}_m(\omega ) \approx \sum _{n=0}^{N}c(n,m) e^{-{j} \omega \left( n-\frac{N}{2}\right) } \end{aligned}$$
(16)

with \(c(n,m) \equiv f(n-\frac{N}{2},m)\).

Substituting (16) into (15) yields the following series approximation for the fractional delay:

$$\begin{aligned} e^{-{j}\omega p}\approx \sum _{n=0}^{N}\sum _{m=0}^{M}c(n,m) e^{-{j}\omega \left( n-\frac{N}{2}\right) }e^{-{j}\varpi p\left( m-\frac{M}{2}\right) }. \end{aligned}$$

In other words, the approximant to \(e^{-{j}\omega p}\) is now

$$\begin{aligned} H_c(\omega ,p)\equiv \sum _{n=0}^{N}\sum _{m=0}^{M}c(n,m) e^{-{j}\omega \left( n-\frac{N}{2}\right) }e^{-{j}\varpi p\left( m-\frac{M}{2}\right) }, \end{aligned}$$
(17)

instead of \(H_a(\omega ,p)\) in (6). It should be pointed out that, although the notion Fourier series expansion is invoked in (14) and (15), the coefficients in the expansion are not obtained using the classical integral formulas, but by minimizing a square error measure in the frequency domain as will be explained later.

The causal version of \(H_c(\omega ,p)\), which is the approximant to \({\hat{D}}(e^{{j}\omega },p)\) in (1), is given by

$$\begin{aligned} {\hat{H}}_c(e^{{j}\omega },p)&=H_c(\omega ,p)e^{-{j}\omega \frac{N}{2}}\\&=\sum _{n=0}^{N}\sum _{m=0}^{M}c(n,m) e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }e^{-{j}\omega n}\\&=\sum _{n=0}^{N}h_n(p)e^{-{j}\omega n} \end{aligned}$$

where

$$\begin{aligned} h_n(p)=\sum _{m=0}^{M}c(n,m)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }, \quad n=0,1,\ldots ,N \end{aligned}$$
(18)

represent the variable impulse responses. The key difference here compared to (3) is the use of complex exponential approximants in the former, but polynomial approximants in the latter. Here, c(nm)’s are the coefficients representing the design parameters and are complex-valued. Furthermore, \({\hat{H}}_c(e^{{j}\omega ,p})\) can be written as

$$\begin{aligned} {\hat{H}}_c(e^{{j}\omega },p) =\sum _{m=0}^{M} G_m(e^{{j}\omega }) e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }, \end{aligned}$$
(19)

where the subfilter \( G_m(e^{{j}\omega })\) is given by

$$\begin{aligned} G_m(e^{{j}\omega }) \equiv \sum _{n=0}^{N}c(n,m)e^{-{j}\omega n}. \end{aligned}$$
(20)

According to (19), we present a CE-based implementation structure as shown in Fig. 2.

Fig. 2
figure 2

Proposed CE-based structure

The design problem then becomes one of approximating \(D(\omega ,p)\) by \(H_c(\omega ,p)\). By defining the vector

$$\begin{aligned} \psi (\omega ,N) \equiv \left[ e^{{j}\omega \frac{N}{2}},e^{{j}\omega \left( \frac{N}{2}-1\right) },\ldots ,e^{-{j}\omega \frac{N}{2}}\right] ^T \end{aligned}$$

where the superscript “T” denotes the transpose operation, and the coefficient matrix as

$$\begin{aligned} {\mathbf {C}} \equiv \begin{bmatrix} c(0,0) &{} c(0,1) &{} \cdots &{} c(0,M)\\ c(1,0) &{} c(1,1) &{} \cdots &{} c(1,M)\\ \vdots &{} \vdots &{} \ddots &{} \vdots \\ c(N,0) &{} c(N,1) &{} \cdots &{} c(N,M)\\ \end{bmatrix}, \end{aligned}$$

the double sum in (17) can be written compactly in vector matrix form as

$$\begin{aligned} H_c(\omega ,p)=\psi ^T(\omega ,N){\mathbf {C}}\psi (\varpi p,M). \end{aligned}$$
(21)

We impose the condition on \(H_c(\omega ,p)\) to have the same symmetry as \(D(\omega ,p)\), i.e.,

$$\begin{aligned} H_c^*(\omega ,p)= H_c(-\omega ,p)=H_c(\omega ,-p). \end{aligned}$$
(22)

The next lemma gives the condition on the coefficients.

Lemma 1

The symmetry condition in (22) is satisfied if the coefficients satisfy

$$\begin{aligned}&c^*(n,m)=c(N-n,m)=c(n,M-m), \nonumber \\&n=0,1,\ldots ,N;m=0,1,\ldots ,M. \end{aligned}$$
(23)

Furthermore, \(c(N-n,m)=c(n,M-m)\) implies the following symmetry:

$$\begin{aligned}&c(N-n,M-m)=c(n,m),\nonumber \\&n=0,1,\ldots ,N;m=0,1,\ldots ,M. \end{aligned}$$
(24)

The next corollary shows that the coefficients c(nm) should be complex-valued.

Corollary 1

With the coefficient symmetry condition (24), the filter \(H_c(\omega ,p)\) in (17) will be real-valued unless c(nm) is complex-valued.

Therefore, to approximate the complex-valued function \(D(\omega ,p)\) in (5), the coefficients need to be complex-valued. Note that this is different to the case with the classical algebraic polynomial VFD filter in (6), where real-valued coefficients a(nm) can still give complex-valued \(H_a(\omega ,p)\).

We then write c(nm) in terms of the real x(nm) and imaginary y(nm) parts as

$$\begin{aligned} c(n,m)=x(n,m)+{j}y(n,m), \end{aligned}$$
(25)

The next corollary gives the symmetry properties of the real and imaginary parts.

Corollary 2

If c(nm) satisfies the symmetry conditions in Lemma 1, then we have the following:

$$\begin{aligned}&x(n,m)=x(n,M-m) =x(N-n,m) =x(N-n,M-m), \end{aligned}$$
(26)
$$\begin{aligned}&y(n,m)=-y(n,M-m) =-y(N-n,m) =y(N-n,M-m). \end{aligned}$$
(27)

Using the symmetry properties above, we next derive an expression for \(H_c(\omega ,p)\) that explicitly shows the real and imaginary parts, and this will be useful in the design formulation. Substituting (25) into (17) yields

$$\begin{aligned} H_c(\omega ,p)=H_{ce}(\omega ,p)-{j}H_{co}(\omega ,p), \end{aligned}$$
(28)

where

$$\begin{aligned} H_{ce}(\omega ,p)&\equiv \sum _{n=0}^{N}\sum _{m=0}^{M}x(n,m) e^{-{j}\omega \left( n-\frac{N}{2}\right) }e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }, \end{aligned}$$
(29)
$$\begin{aligned} H_{co}(\omega ,p)&\equiv -\sum _{n=0}^{N}\sum _{m=0}^{M}y(n,m) e^{-{j}\omega \left( n-\frac{N}{2}\right) }e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }. \end{aligned}$$
(30)

Now, \(H_{ce}(\omega ,p)\) and \(H_{co}(\omega ,p)\) appear to be complex-valued functions due to the presence of the complex exponential. However, the next lemma shows that they are in fact real-valued functions.

Lemma 2

If the conditions of Corollary 2 are satisfied, then \(H_{ce}(\omega ,p)\) and \(H_{co}(\omega ,p)\) are real-valued functions given by:

$$\begin{aligned} H_{ce}(\omega ,p)&= \sum _{n=0}^{N}\sum _{m=0}^{M}x(n,m) \cos \left( \left( n-\frac{N}{2}\right) \omega \right) \cos \left( \left( m-\frac{M}{2}\right) \varpi p \right) ,\\ H_{co}(\omega ,p)&= \sum _{n=0}^{N}\sum _{m=0}^{M}y(n,m) \sin \left( \left( n-\frac{N}{2}\right) \omega \right) \sin \left( \left( m-\frac{M}{2}\right) \varpi p \right) . \end{aligned}$$

Using these symbols, the expressions for \(H_{ce}(\omega ,p)\) and \(H_{co}(\omega ,p)\) can be further simplified depending on whether N and M are odd or even. The relations between the symbols \(N_\mathrm{e}\), \(M_\mathrm{e}\), \(N_\mathrm{o}\), and \(M_\mathrm{o}\) to the symbols N and M are shown in (12) and (13).

(1) Odd N and odd M case.

$$\begin{aligned} H_{ce}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{e}-1}\sum _{m=0}^{M_\mathrm{e}-1}{\tilde{x}}(n,m) \cos \left( \left( n+\frac{1}{2}\right) \omega \right) \cos \left( \left( m+\frac{1}{2}\right) \varpi p \right) ,\\ H_{co}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{o}-1}\sum _{m=0}^{M_\mathrm{o}-1}{\tilde{y}}(n,m) \sin \left( \left( n+\frac{1}{2}\right) \omega \right) \sin \left( \left( m+\frac{1}{2}\right) \varpi p \right) . \end{aligned}$$

(2) Odd N and even M case.

$$\begin{aligned} H_{ce}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{e}-1}\sum _{m=0}^{M_\mathrm{e}-1}{\tilde{x}}(n,m)\cos \left( \left( n+\frac{1}{2}\right) \omega \right) \cos \left( m\varpi p \right) ,\\ H_{co}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{o}-1}\sum _{m=0}^{M_\mathrm{o}-1}{\tilde{y}}(n,m)\sin \left( \left( n+\frac{1}{2}\right) \omega \right) \sin \left( (m+1)\varpi p \right) . \end{aligned}$$

(3) Even N and odd M case.

$$\begin{aligned} H_{ce}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{e}-1}\sum _{m=0}^{M_\mathrm{e}-1}{\tilde{x}}(n,m)\cos \left( n\omega \right) \cos \left( \left( m+\frac{1}{2}\right) \varpi p \right) ,\\ H_{co}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{o}-1}\sum _{m=0}^{M_\mathrm{o}-1}{\tilde{y}}(n,m)\sin \left( (n+1)\omega \right) \sin \left( \left( m+\frac{1}{2}\right) \varpi p \right) . \end{aligned}$$

(4) Even N and Even M case.

$$\begin{aligned} H_{ce}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{e}-1}\sum _{m=0}^{M_\mathrm{e}-1}{\tilde{x}}(n,m)\cos \left( n\omega \right) \cos \left( m\varpi p \right) ,\\ H_{co}(\omega ,p)&= \sum _{n=0}^{N_\mathrm{o}-1}\sum _{m=0}^{M_\mathrm{o}-1}{\tilde{y}}(n,m) \sin \left( (n+1)\omega \right) \sin \left( (m+1)\varpi p \right) . \end{aligned}$$

The relationships between \({\tilde{x}}(n,m)\) and x(nm), and \({\tilde{y}}(n,m)\) and y(nm) are summarized in Table 1. By defining the vectors

$$\begin{aligned} \psi _\mathrm{e}(\omega ,N)&\equiv {\left\{ \begin{array}{ll} \left[ \cos \left( \frac{1}{2}\omega \right) ,\cos \left( \frac{3}{2}\omega \right) ,\ldots ,\cos \left( \frac{N}{2}\omega \right) \right] ^T, &{} \text {odd } N,\\ \left[ 1,\cos (\omega ),\cos (2\omega ),\ldots ,\cos \left( \frac{N}{2}\omega \right) \right] ^T, &{} \text {even } N, \end{array}\right. }\\ \psi _\mathrm{o}(\omega ,N)&\equiv {\left\{ \begin{array}{ll} \left[ \sin \left( \frac{1}{2}\omega \right) ,\sin \left( \frac{3}{2}\omega \right) ,\ldots ,\sin \left( \frac{N}{2}\omega \right) \right] ^T, &{} \text {odd } N,\\ \left[ \sin (\omega ),\sin (2\omega ),\ldots ,\sin \left( \frac{N}{2}\omega \right) \right] ^T, &{} \text {even } N, \end{array}\right. } \end{aligned}$$

the functions \(H_{ce}(\omega ,p)\) and \(H_{co}(\omega ,p)\) can be written in vector matrix form as

$$\begin{aligned} H_{ec}(\omega ,p)&=\psi _\mathrm{e}(\omega ,N)^T {\mathbf {X}} \psi _\mathrm{e}(\varpi p,M),\\ H_{oc}(\omega ,p)&=\psi _\mathrm{o}(\omega ,N)^T {\mathbf {Y}} \psi _\mathrm{o}(\varpi p,M), \end{aligned}$$

where \({\mathbf {X}}\) and \({\mathbf {Y}}\) are the real coefficient matrices with their entries being \({\tilde{x}}(n,m)\)’s and \({\tilde{y}}(n,m)\)’s, respectively. The frequency response (28) can be then rewritten as

$$\begin{aligned} H_c(\omega ,p) =\psi _\mathrm{e}(\omega ,N)^T {\mathbf {X}} \psi _\mathrm{e}(\varpi p,M) - {j}\psi _\mathrm{o}(\omega ,N)^T {\mathbf {Y}} \psi _\mathrm{o}(\varpi p,M). \end{aligned}$$
(31)
Table 1 Relationships between x(nm) and \({\tilde{x}}(n,m)\), and y(nm) and \({\tilde{y}}(n,m)\)

3.2 Complexity Analysis and Simplified Implementation Structure

This subsection first gives an analysis of the complexity of the CE-based structure. Firstly, it is readily seen that the sizes of the matrices \({\mathbf {X}}\) and \({\mathbf {Y}}\) are \(N_\mathrm{e}\times M_\mathrm{e}\) and \(N_\mathrm{o}\times M_\mathrm{o}\), respectively. They are the same as the sizes of matrices \({\mathbf {B}}_\mathrm{e}\) and \({\mathbf {B}}_\mathrm{o}\) in (11), respectively, which contain the design parameters for the classical algebraic polynomial VFD filter. Therefore, the number of independent design parameters is actually only about 1/4 of the number of original coefficients, which is \(2(M+1)(N+1)\). This also means that although CE-based filters are complex coefficient filters, the number of independent design parameters, for the same N and M, is the same as the real coefficient algebraic polynomial-based Farrow structures [6, 7, 11, 19, 30, 36, 38, 41, 43]. In general, the number of multiplications required for implementations is the same as the number of independent filter coefficients. Using the number of multipliers as a measure of implementation complexity, the complexity of the CE-based filters is therefore approximately the same as the complexity of the AP-based filters.

Fig. 3
figure 3

Implementation for the mth subfilter in the CE-based structure

We next exploit the symmetry of the CE-based filters to derive efficient structures for implementation. Now, the coefficients c(nm) of the subfilters \(G_m(z)\) are complex conjugate symmetric as shown in (23). Therefore, all the subfilters are linear-phase filters. The implementation structure of the mth subfilter is shown in Fig. 3 for odd N. A similar structure, with slight modification, can be obtained for even N. Even with this symmetry, the number of independent coefficients of the subfilter shown in Fig. 3 is twice as many as that in a subfilter of the AP-based structure with the symmetry in (7). However, we also find from (23) that the impulse response of the mth subfilter \(G_m(z)\) is the complex conjugate to that of the (\(M-m\))th subfilter \(G_{M-m}(z)\), i.e., there are symmetries between different subfilters. Assuming that the input signal is real, the output signals of \(G_m(z)\) and \(G_{M-m}(z)\), denoted by \(s_m(n)\) and \(s_{M-m}(n)\), will be complex conjugate of each other as well, i.e., \(s_m(n)=s_{M-m}^*(n)\). Using this symmetry property, when M is odd, the output signal of the overall VFD filter, denoted by s(n), can be written as

$$\begin{aligned} s(n)&=\sum _{m=0}^{\frac{M-1}{2}} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }+\sum _{m=\frac{M+1}{2}}^{M} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }\\&=\sum _{m=0}^{\frac{M-1}{2}} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }+\sum _{{\hat{m}}=0}^{\frac{M-1}{2}} s_{M-{\hat{m}}}(n)e^{-{j}\varpi p \left( \frac{M}{2}-{\hat{m}}\right) }\\&=\sum _{m=0}^{\frac{M-1}{2}} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }+\sum _{m=0}^{\frac{M-1}{2}} s_{M-m}(n)e^{{j}\varpi p \left( m-\frac{M}{2}\right) }\\&=\sum _{m=0}^{\frac{M-1}{2}} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }+\sum _{m=0}^{\frac{M-1}{2}} \left( s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }\right) ^*\\&=2\mathrm {Re}\left[ \sum _{m=0}^{\frac{M-1}{2}} s_m(n)e^{-{j}\varpi p \left( m-\frac{M}{2}\right) }\right] \end{aligned}$$

where \(\mathrm {Re}[\cdot ]\) denotes the real part of a complex number. The expression above shows that the final output is real-valued even though the subfilters are complex. More importantly, only the subfilters \(\{G_m(z),m=0,1,\ldots ,\frac{M-1}{2}\}\) are required to be implemented, i.e., a reduction in computational cost by around 50%. The simplified structure, that exploits the symmetry between subfilters, is shown in Fig. 4. For even M, there is a similar simplified structure with a corresponding reduction in computational cost by around 50%. In a practical implementation, because the outputs of the subfilters are complex signals according to Fig. 3, complex multiplications/additions operations are required in the multiply-accumulate chain in Fig. 4. However, only the real part of the final output of the multiply-accumulate chain is required.

Fig. 4
figure 4

Simplified CE-based structure

Next, we compare the implementation complexity of the proposed structure in Fig. 4 with the conventional Farrow structure in Fig. 1, with the symmetry (7) in the latter. The case with odd N and odd M is considered, but a similar conclusion can be drawn with other cases. As a summary, we list the numbers of real multiplications, additions, storage resources, and delays required for implementing one real subfilter in the AP-based structure and one complex subfilter in the CE-based structure, in Table 2. It can be seen from the table that the number of multiplications/additions/storage resources for implementing the complex subfilter is twice that for the real subfilter, but the number of delays is the same. Because there are \(M+1\) subfilters in Fig. 1, the total numbers of multiplications, additions, storage resources, and delays to implement the VFD filter in Fig. 1 are \(\frac{(N+1)(M+1)}{2}+M\), \(N(M+1)+M\), \(\frac{(N+1)(M+1)}{2}\), and \(N(M+1)\), respectively. As a comparison, there are \(\frac{M+1}{2}\) subfilters in Fig. 4. Considering that it involves 4 real multiplications and 2 real additions in one complex multiplications, the total numbers of multiplications, additions, storage resources, and delays to implement the VFD filter in Fig. 4 are \(\frac{(N+1)(M+1)}{2}+2M\), \(N(M+1)+2M-1\), \(\frac{(N+1)(M+1)}{2}\), and \(\frac{N(M+1)}{2}\), respectively. Usually, M is substantially smaller than N, and the dominant term in the complexity counts is the one that involves the product of M and N. Thus, for given M and N values, the proposed CE-based structure has comparable implementation complexity to the AP-based structure. Meanwhile, because the CE-based and AP-based filter structures have exactly the same number of independent free parameters for given M and N values, the design algorithms for both would have similar complexities, which will be discussed in Sect. 4.

Table 2 Numbers of multiplications, additions, storage resources, and delays in implementing the real and complex subfilters

Remark 1

Now, the factors \(\cos (\varpi p)\) and \(\sin (\varpi p)\) need to be computed whenever p changes. These computations can be achieved via the hardware-efficient CORDIC algorithm [1]. The rotation-based CORDIC algorithm only requires iterative shift-add operations and eliminates the need for explicit multipliers. Alternatively, memory look-up can also be used to determine the \(\cos (\varpi p)\) and \(\sin (\varpi p)\) values. This will increase the storage cost, and there is a trade-off between the accuracy and storage cost. However, the increased storage cost is usually acceptable as computational resources are the main limitation in many applications. In the filter design process, it is assumed that a sufficiently accurate representation of \(\cos (\varpi p)\) and \(\sin (\varpi p)\) is available.

Remark 2

  The complex arithmetic in the proposed structure can be performed with real arithmetic, if there are no specialized complex arithmetic operations available in the computing devices. In this situation, the complex subfilter shown in Fig. 3 is treated as a real subfilter with one input and two outputs, i.e., the real and imaginary parts.

4 Design of CE Structure-Based VFD Filters

In this section, we formulate the design problem of the VFD filters. We first address the design of the filters coefficient, via a weighted least-squares formulation, and present the closed-form solution. We then address the determination of the shape parameter.

4.1 Weighted Least-Squares Design

Firstly, we define an error function between the ideal filter \(D(\omega ,p)\) and the designed filter \(H_c(\omega ,p)\) by

$$\begin{aligned} e_c(\omega ,p)&=H_c(\omega ,p)-D(\omega ,p). \end{aligned}$$
(32)

The objective function is (half) the total weighted square error, over \((\omega ,p) \in {\hat{\varOmega }}\) in (9), given by:

$$\begin{aligned} E_c({\mathbf {X}},{\mathbf {Y}})=\frac{1}{2} \sum _{i=1}^{I} \sum _{l=1}^{L}W(\omega _i)|e_c(\omega _{i},p_{l})|^2, \end{aligned}$$
(33)

where \({\mathbf {X}}\) and \({\mathbf {Y}}\) are the matrices containing the coefficients \({\tilde{x}}(n,m)\) and \({\tilde{y}}(n,m)\), respectively. \(W(\omega )\) is a given nonnegative weighting function. Note that \({\tilde{x}}(n,m)\) and \({\tilde{y}}(n,m)\) are related to the real and imaginary parts, respectively, of the coefficients of the subfilters as shown in Table 1. The WLS design of the VFD FIR filters is achieved by minimizing \(E_c({\mathbf {X}},{\mathbf {Y}})\), i.e.,

$$\begin{aligned} \min _{{\mathbf {X}},{\mathbf {Y}}} E_c({\mathbf {X}},{\mathbf {Y}}). \end{aligned}$$
(34)

The objective function \(E_c({\mathbf {X}},{\mathbf {Y}})\) in (33) can be expressed in matrix form as follows. Define the following matrices:

$$\begin{aligned} {\mathbf {Q}}_\mathrm{e}&= [W^{\frac{1}{2}}(\omega _1)\psi _\mathrm{e}(\omega _{1},N),W^{\frac{1}{2}}(\omega _2)\psi _\mathrm{e}(\omega _{2},N),\ldots ,W^{\frac{1}{2}}(\omega _I)\psi _\mathrm{e}(\omega _{I},N)],\\ {\mathbf {Q}}_\mathrm{o}&= [W^{\frac{1}{2}}(\omega _1)\psi _\mathrm{o}(\omega _{1},N),W^{\frac{1}{2}}(\omega _2)\psi _\mathrm{e}(\omega _{2},N),\ldots ,W^{\frac{1}{2}}(\omega _I)\psi _\mathrm{o}(\omega _{I},N)], \\ {\mathbf {P}}_\mathrm{e}&= [\psi _\mathrm{e}(\varpi p_{1},M),\psi _\mathrm{e}(\varpi p_{2},M),\ldots ,\psi _\mathrm{e}(\varpi p_{L},M)], \\ {\mathbf {P}}_\mathrm{o}&= [\psi _\mathrm{o}(\varpi p_{1},M),\psi _\mathrm{o}(\varpi p_{2},M),\ldots ,\psi _\mathrm{o}(\varpi p_{L},M)]. \end{aligned}$$

where \({\mathbf {Q}}_\mathrm{e}\in {\mathbb {R}}^{N_\mathrm{e}\times I}\), \({\mathbf {Q}}_\mathrm{o}\in {\mathbb {R}}^{N_\mathrm{o}\times I}\), \({\mathbf {P}}_\mathrm{e}\in {\mathbb {R}}^{M_\mathrm{e}\times L}\), and \({\mathbf {P}}_\mathrm{o}\in {\mathbb {R}}^{M_\mathrm{o}\times L}\). Using the matrices above, the weighted frequency response \(W^{\frac{1}{2}}(\omega )H_c(\omega ,p)\) over \((\omega ,p) \in {\hat{\varOmega }}\), can be written in matrix form as

$$\begin{aligned} {\mathbf {H}}_c={\mathbf {Q}}_\mathrm{e}^T{\mathbf {X}}{\mathbf {P}}_\mathrm{e}-{j}{\mathbf {Q}}_\mathrm{o}^T{\mathbf {Y}}{\mathbf {P}}_\mathrm{o}. \end{aligned}$$

The weighted ideal response \(W^{\frac{1}{2}}(\omega )D(\omega ,p)\), over \((\omega ,p) \in {\hat{\varOmega }}\), in matrix form is given by

$$\begin{aligned} {\mathbf {D}}={\mathbf {D}}_\mathrm{e}-{j}{\mathbf {D}}_\mathrm{o}, \end{aligned}$$
(35)

where \({\mathbf {D}}_\mathrm{e}\) and \({\mathbf {D}}_\mathrm{o}\) are the matrices with their (il)th element being \(W^{\frac{1}{2}}(\omega _i)\cos (\omega _ip_l)\) and \(W^{\frac{1}{2}}(\omega _i)\sin (\omega _ip_l)\), respectively. The weighted error \(W^{\frac{1}{2}}(\omega )e_c(\omega ,p)\) over \((\omega ,p) \in {\hat{\varOmega }}\) in matrix form is then given by

$$\begin{aligned} {\mathbf {E}}_c&={\mathbf {H}}_c-{\mathbf {D}} \nonumber \\&=({\mathbf {Q}}_\mathrm{e}^T{\mathbf {X}}{\mathbf {P}}_\mathrm{e}-{\mathbf {D}}_\mathrm{e})-{j}({\mathbf {Q}}_\mathrm{o}^T{\mathbf {Y}}{\mathbf {P}}_\mathrm{o}-{\mathbf {D}}_\mathrm{o}). \end{aligned}$$
(36)

Using the expression for \({\mathbf {E}}_c\) above, the objective function in (33) becomes

$$\begin{aligned} E_c({\mathbf {X}},{\mathbf {Y}}) =\frac{1}{2}\Vert {\mathbf {E}}_c\Vert _F^2 =\frac{1}{2}\Vert {\mathbf {Q}}_\mathrm{e}^T{\mathbf {X}}{\mathbf {P}}_\mathrm{e}-{\mathbf {D}}_\mathrm{e}\Vert _F^2+ \frac{1}{2} \Vert {\mathbf {Q}}_\mathrm{o}^T{\mathbf {Y}}{\mathbf {P}}_\mathrm{o}-{\mathbf {D}}_\mathrm{o}\Vert _F^2 \end{aligned}$$
(37)

and the design problem (34) becomes

$$\begin{aligned} \min _{{\mathbf {X}},{\mathbf {Y}}}\frac{1}{2} \Vert {\mathbf {E}}_c\Vert _F^2, \end{aligned}$$
(38)

where \(\Vert \cdot \Vert _F\) denotes the Frobenius matrix norm.

Note that the matrices \({\mathbf {X}}\) and \({\mathbf {Y}}\) appear independently in the two square (positive) terms in (37), i.e., separable terms in the objective function. We can therefore solve the design problem (38) for \({\mathbf {X}}\) and \({\mathbf {Y}}\) by separately solving

$$\begin{aligned} \min _{{\mathbf {X}}} \frac{1}{2}\Vert {\mathbf {Q}}_\mathrm{e}^T{\mathbf {X}}{\mathbf {P}}_\mathrm{e}-{\mathbf {D}}_\mathrm{e}\Vert _F^2, \end{aligned}$$
(39)

and

$$\begin{aligned} \min _{{\mathbf {Y}}} \frac{1}{2}\Vert {\mathbf {Q}}_\mathrm{o}^T{\mathbf {Y}}{\mathbf {P}}_\mathrm{o}-{\mathbf {D}}_\mathrm{o}\Vert _F^2. \end{aligned}$$
(40)

By differentiating the objective function terms in (39) and (40), respectively, with respect to \({\mathbf {X}}\) and \({\mathbf {Y}}\), and setting the result to zero, we obtain two independent linear matrix equations:

$$\begin{aligned}&{\mathbf {Q}}_\mathrm{e}[({\mathbf {Q}}_\mathrm{e}^T{\mathbf {X}}{\mathbf {P}}_\mathrm{e})]{\mathbf {P}}_\mathrm{e}^T={\mathbf {Q}}_\mathrm{e}({\mathbf {D}}_\mathrm{e}){\mathbf {P}}_\mathrm{e}^T, \end{aligned}$$
(41)
$$\begin{aligned}&\quad {\mathbf {Q}}_\mathrm{o}[({\mathbf {Q}}_\mathrm{o}^T{\mathbf {Y}}{\mathbf {P}}_\mathrm{o})]{\mathbf {P}}_\mathrm{o}^T={\mathbf {Q}}_\mathrm{o}({\mathbf {D}}_\mathrm{o}){\mathbf {P}}_\mathrm{o}^T. \end{aligned}$$
(42)

These equations can be solved to give the closed-form solution as

$$\begin{aligned} {\mathbf {X}}&= ({\mathbf {Q}}_\mathrm{e}{\mathbf {Q}}_\mathrm{e}^T)^{-1}{\mathbf {Q}}_\mathrm{e}{\mathbf {D}}_\mathrm{e}{\mathbf {P}}_\mathrm{e}^T({\mathbf {P}}_\mathrm{e}{\mathbf {P}}_\mathrm{e}^T)^{-1}, \end{aligned}$$
(43)
$$\begin{aligned} {\mathbf {Y}}&= ({\mathbf {Q}}_\mathrm{o}{\mathbf {Q}}_\mathrm{o}^T)^{-1}{\mathbf {Q}}_\mathrm{o}{\mathbf {D}}_\mathrm{o}{\mathbf {P}}_\mathrm{o}^T({\mathbf {P}}_\mathrm{o}{\mathbf {P}}_\mathrm{o}^T)^{-1}. \end{aligned}$$
(44)

Now, (43) and (44) have the same form as the WLS solutions for the AP-based filters (see (23) and (24) in [43]). Therefore, the WLS design of CE-based filters (with a fixed shape parameter) has the same computational complexity as that with AP-based filters.

4.2 Shape Parameter Optimization

In the CE-based structure, there is the freedom to choose the parameter \(\beta \). How does one determine a suitable value? Note that \(\varpi =2\pi \beta \), and it is easy to see that for different values of \(\beta \), we get different \({\mathbf {P}}_\mathrm{e}\) and \({\mathbf {P}}_\mathrm{o}\) and, therefore, different solutions for \({\mathbf {X}}\) and \({\mathbf {Y}}\). Thus, for a given \(\beta \), we denote the solutions computed by (43) and (44) as \({\mathbf {X}}(\beta )\) and \({\mathbf {Y}}(\beta )\). We further define a function of \(\beta \) as

$$\begin{aligned} \delta (\beta ) \equiv E_c({\mathbf {X}}(\beta ),{\mathbf {Y}}(\beta )). \end{aligned}$$
(45)

Now, we want to find a \(\beta \) such that \(\delta (\beta )\) is minimized. This problem is formulated as

$$\begin{aligned} \min _{\beta \in (0,1)}\delta (\beta ). \end{aligned}$$
(46)

Since \(E_c\) depends nonlinearly on \(\beta \), it is not easy to solve for the optimal \(\beta \) by differentiating \(\delta (\beta )\) with respect to \(\beta \) and setting the result to zero. However, based on a large number of numerical design examples, we find that the function \(\delta (\beta )\) is unimodal in (0, 1) (but a formal proof does not currently exist). Therefore, we adapt the Golden Cut method to solve the problem (46) for \(\beta \).

The complete proposed algorithm for designing VFD filters is shown in Algorithm 1, which computes the closed-form solutions (43) and (44), at each iteration. Noting that the convergence ratio of the Golden Cut method is 0.618, we have the following corollary.

Corollary 3

If the optimal \(\beta \) lies in the interval [ab] and \(\delta (\beta )\) is unimodal in [ab], Algorithm 1 will converge linearly to the minimum of the function \(\delta (\beta )\) with convergence ratio 0.618.

By Corollary 3, we can compute the iteration number required for convergence. For a given error tolerance \(\epsilon >0\), the required iteration number, denoted by q, should satisfy

$$\begin{aligned} (b-a)\times 0.618^q&< \epsilon \\ 0.618^q&<\frac{\epsilon }{b-a} \end{aligned}$$

Therefore, q is given by

$$\begin{aligned} q = \Big \lceil \ln \left( \frac{\epsilon }{b-a}\right) /\ln (0.618)\Big \rceil . \end{aligned}$$
(47)
figure a

5 Examples, Comparisons, and Discussion

To demonstrate the effectiveness of the proposed CE-based structure, some examples are provided in this section. We also make comprehensive comparisons with the designs that are based on the AP structure. All simulations were performed using MATLAB (R2010b) running on a Dell Vostro-5470 laptop with an Intel (R) Core (TM) i5-4210U CPU (2.4-GHz) and an 8-GB memory. Finally, we discuss the differences between the proposed method and other methods based on the trigonometric polynomial approximation.

5.1 Comparison

Example 1

LS design of VFD FIR filters with various filter orders N and approximation orders M, but with fixed passband width of \(\alpha \pi =0.9\pi \).

The discretized grid for the domain of approximation is \({\hat{\varOmega }}=\{(\omega _i,p_l),i=1,2,\ldots I;l=1,2,\ldots ,L\}\) with \(I=1000\) and \(L=200\), where

$$\begin{aligned} \omega _i=\frac{(i-1)\alpha \pi }{I-1},\quad p_l=\frac{l-1}{2(L-1)}. \end{aligned}$$
(48)

In this example, we consider the LS design, i.e., \(W(\omega )\equiv 1\). We first investigate the effect of the shape parameter \(\beta \) on the LS error \(\delta (\beta )\) in (45). Consider a VDF with \(N = 60\) and \(M=4\) (5 subfilters). For each \(\beta \) value considered, the optimal coefficients c(mn) are computed using (43) and (44). The \(\delta (\beta )\) value is then computed. The values of \(\delta (\beta )\) for \(\beta \in [0.1\, 0.8]\) are shown in Fig. 5, and we see a rapid increase in the \(\delta (\beta )\) value when \(\beta \) is above 0.5. Therefore, only smaller values should be considered and Fig. 6 shows more clearly the variation of \(\delta (\beta )\) values for \(\beta \in [0.1\, 0.4]\). A minimum can be clearly seen in the figure which is achieved at about \(\beta =0.2\). This behavior is typically with other VDF with different N and M values. Our experience, based on a large number of design examples, shows that the optimal \(\beta \) value is usually located in the interval \([0.1 \ 0.4]\).

Fig. 5
figure 5

Change of \(\delta (\beta )\) for \(\beta \in [0.1 \,0.8]\)

We next compare the VDFs using the CE-based structure, designed using Algorithm 1 in Sect. 4, and the classical AP-based structure [11] that uses the symmetry in (7). To compare the performances, the following metrics are used.

(1) The normalized root-mean-squared (NRMS) error:

$$\begin{aligned} \varepsilon _\mathrm{MS} =\left[ \frac{ \sum _{i=1}^{I} \sum _{j=1}^{J}|e(\omega _{i},p_{j})|^2}{\sum _{i=1}^{I} \sum _{j=1}^{J}|D(\omega _{i},p_{j})|^2}\right] ^{1/2}, \end{aligned}$$

where \(e(\omega ,p)\) represents the error function between the ideal and the designed filters, i.e., it is \(e_a(\omega ,p)\) for the AP-based structure and \(e_c(\omega ,p)\) for the CE-based structure.

(2) The maximum magnitude error (in dB):

$$\begin{aligned} \varepsilon _\mathrm{m} = 20\mathrm {log}_{10}(\max \{|e(\omega ,p)|,\omega \in [0,\alpha \pi ],p\in [0,0.5]\}). \end{aligned}$$

(3) The maximum group delay error:

$$\begin{aligned} \varepsilon _\mathrm{g} = \max \{|\tau (\omega ,p)-p|,\omega \in [0,\alpha \pi ],p\in [0,0.5]\}, \end{aligned}$$

where \(\tau (\omega ,p)\) and p are the group delays of the designed and the ideal filters, respectively.

Fig. 6
figure 6

Change of \(\delta (\beta )\) for \(\beta \in [0.1\, 0.4]\)

Fig. 7
figure 7

Convergence of Algorithm 1 for \(N=60\) and \(M=4\)

In Algorithm 1, the error tolerance \(\epsilon \) is set to 0.01 and the initial interval for \(\beta \) is chosen as \([0.1\,0.4]\). Then, Algorithm 1 will converge in 8 iterations according to (47). Figure 7 illustrates the convergence of Algorithm 1 for \(N=60\) and \(M=4\), where \(\delta (k)=\min \{\delta (\lambda (k)),\delta (\mu (k))\}\). It can be seen that \(\delta (k)\) is monotonically decreasing. The design results are summarized in Table 3 for \(N=60\) and different values of M. From the table, for a given M value, we can see that the CE-based filter generally has smaller errors compared to the AP-based filter. This means that the former can achieve a higher approximation accuracy to the desired fractional delay. In particular, when \(M<7\), the superiority of the CE-based filters is especially marked. When \(M\ge 7 \), the accuracies of both structures are quite close to each other. Therefore, when the filter order N is fixed, CE-based filters can achieve a desired accuracy with fewer subfilters. This in turn leads to a lower complexity.

Table 4 shows the design results for \(M=5\) with different filter orders N. In this case, we find that when the filter order N is small, the VFD filters based on the two structures have similar accuracy. However, with larger N values, the CE-based filters have the smaller errors compared to the AP-based filters. This means that, for a given desired accuracy, when the number of subfilters \(M+1\) is fixed, a smaller filter order N is required with the CE-based filters. This in turn leads to a lower complexity. In addition, it is interesting to note that the optimal value of \(\beta \) is almost unchanged in this case. Finally, Figs. 8 and 9 show the magnitude error and group delay error of the VFD filter with the CE-based structure for \(M=5\) and \(N=50\).

Table 3 Comparison of the AP-based and CE-based structures with \(N=60\) and different M
Table 4 Comparison of the AP-based and CE-based structures with \(M=5\) and different N

Example 2

LS design of 55-order VFD FIR filters with \(M+1=6\) subfilters for different passband widths.

Both AP-based and CE-based filters will be designed and compared. The same grid as in Example 1, as shown in (48), is used and let \(W(\omega )\equiv 1\). The error tolerance and the initial interval for \(\beta \) in Algorithm 1 are set to \(\epsilon =0.01\) and \([0.1\,0.4]\), respectively. Let \(\alpha \) range from 0.82 to 0.92 in steps of 0.02. The design results are shown in Table 5. It demonstrates that, over a range of passband widths, the CE-based filters have the smaller design errors compared to the AP-based filters. Generally, the superiority of the CE-based filter is quite marked for the narrow-band designs (when \(\alpha \) is smaller).

Fig. 8
figure 8

Magnitude error of the VFD filter with \(M=5\) and \(N=50\) based on the CE-based structure

Example 3

WLS design of 55-order VFD FIR filters with various approximation orders M and fixed passband width of \(\alpha \pi =0.9\pi \).

Examples 1 and 2 consider the LS design of VFD filters, which generally leads to large magnitude errors near frequency band edges, as shown in Fig. 8. In this example, we aim to reduce these errors by using an appropriate weighting function. To this end, we first design the VFD filter with \(W(\omega )\equiv 1\) and then obtain the envelope of the magnitude error for \(p=0\), denoted by \(e_p(\omega )\). The envelope for \(M=5\) is depicted in Fig. 10. Then, \(e_p^2(\omega )\) is used as the weighting function, i.e., \(W(\omega )=e_p^2(\omega )\).

We compare the results here with the results using other algorithms in [9, 24] and [41], that are developed for the minimax design of VFD filters using the AP-based Farrow structure. For consistency , we use the same discretized grid \({\hat{\varOmega }}\) as that in [41], i.e., \(I=20N\) and \(L=200\). Let \(\epsilon =0.01\) and the initial interval for \(\beta \) be \([0.1\,0.4]\) in our algorithm. The design errors \(\varepsilon _\mathrm{m}\) and \(\varepsilon _\mathrm{g}\) for \(M=4,5,6\) and 7 are listed in Table 6. When \(M=4,5\), the \(\varepsilon _\mathrm{m}\) values using the proposed structure are much smaller than those using the AP-based structure, by more than 10 dB. When \(M=6,7\), the \(\varepsilon _\mathrm{m}\) values using the different methods are very close to each other. The \(\varepsilon _\mathrm{m}\) values obtained using the CE-based structure are smaller than those by the algorithms in [9] for \(M=6\) and in [24, 41] for \(M=7\), but slightly larger than those by the algorithms in [24, 41] for \(M=6\) and in [9] for \(M=7\). Theoretically, the minimax design will give the minimum \(\varepsilon _\mathrm{m}\) value. However, the design results show that the WLS design based on the CE-based structure can give smaller \(\varepsilon _\mathrm{m}\) values than the minimax design based on the AP-based structure. This again demonstrates the advantages of the new structure, especially for small M. Figure 11 shows the magnitude error of the CE-based VFD filter for the WLS design with \(M=5\).

Table 5 Comparison of the AP-based and CE-based structures for various passband widths
Fig. 9
figure 9

Group delay error of the VFD filter with \(M=5\) and \(N=50\) based on the CE-based structure

Fig. 10
figure 10

Envelope of the magnitude error for \(p=0\) with \(N=55\) and \(M=5\)

Example 4

Design of VFD FIR filters whose maximum magnitude error should not exceed \(-100\)dB for \((\omega ,p)\in [0,0.9\pi ]\times [0,0.5]\).

This design specification in this example is the same as that in [8, 10, 12, 18, 32, 39], to facilitate comparisons. The approach in [8, 10, 12, 18, 32, 39], though used modified Farrow structures, was, however, still based on polynomial approximations. Examples 1, 2, and 3 have shown that the CE structure (based on complex exponential approximation) is superior to the AP structure (based polynomial approximation). This motivates us to consider replacing the AP modified structure in [8, 10, 12, 18, 32, 39] with a CE modified structure, with the aim to either reduce the complexity, or to improve the design accuracy. In this example, the CE structure is incorporated into the two-rate-based VFD filter proposed in [18], the latter which already has a very low complexity. The two-rate-based VFD filter consists of a cascade of a fixed coefficient filter \(F(e^{{j}\omega })\) and a Farrow-based VFD filter \(G(e^{{j}\omega },p)\). We use a half-band linear-phase filter for \(F(e^{{j}\omega })\) (as was done in [18]) and a CE structure (instead of the AP structure used in [18]) for \(G(e^{{j}\omega },p)\). The half-band filter \(F(e^{{j}\omega })\) is designed in the minimax sense using the algorithm in [42]. The CE VFD filter \(G(e^{{j}\omega },p)\) is designed in the LS sense.

Table 6 Comparison of the AP-based minimax design and CE-based WLS design with \(N=55\) and different M
Fig. 11
figure 11

Magnitude error of the VFD filter with \(N=55\) and \(M=5\) for the WLS design based on the CE-based structure

The design results are shown in Table 7, where \(N_G\), \(N_F\), \(D_H\), and \(C_N\) represent the order of \(G(e^{{j}\omega },p)\), the order of \(F(e^{{j}\omega })\), the overall fixed delay, and the number of independent filter coefficients, respectively. For a fair comparison, \(\varepsilon _\mathrm{MS}\) is computed using the same grid as that in [8, 10, 12, 18], and \(\varepsilon _\mathrm{m}\) and \(\varepsilon _\mathrm{g}\) are computed over a denser grid, i.e., the same grid as that in Examples 1 and 2. \(\epsilon =0.01\) and the initial interval \([0.01\,0.3]\) for \(\beta \) are used in Algorithm 1. From the results, we can see that in order to satisfy the design requirement (\(\varepsilon _\mathrm{m} \le -100\)dB), the number of filter coefficients required is 148 with [8], 122/98 with [32], 103 with [10], 91 with [39] and [12], 80 with [18], and 72 with our method. This demonstrates that complexity reduction is achieved, by using a CE-based filter with a smaller number of subfilters \(M+1 = 7\) and a lower \(N_F = 130\) (order of \(F(e^{{j}\omega })\)). If we increase \(N_F\), we observe that the performance of the CE-based filters improves, i.e., error measures become smaller. When \(N_F\) is increased to 162, \(C_N = 80\), which is the same value as that in [18]. However, the values of \(\varepsilon _\mathrm{MS}\), \(\varepsilon _\mathrm{m}\), and \(\varepsilon _\mathrm{g}\) are smaller than those in [8, 10, 12, 18, 32, 39], i.e., for the same complexity, a better performance is achieved.

It should be pointed out that in [18] a two-step design approach is adopted. In the first step, the filters \(F(e^{{j}\omega })\) and \(G(e^{{j}\omega },p)\) are designed independently. Using these independently designed coefficients as an initial solution, in the second step, a further joint optimization procedure is performed on the coefficients, in order for the resulting filter to satisfy the design requirement. The second step requires complicated nonlinear optimization because of the cascaded nature of the subfilters. Note that in the comparison above, the CE-based filters were obtained without the need to resort to any complicated optimization procedure, but still achieve superior performance.

Finally, we consider the AP-based filters obtained without the second step optimization. The results are shown in Table 7. It can be seen that the filters do not satisfy the design requirement and are inferior compared to the CE-based filters. We can therefore conclude that there are advantages of using complex exponential approximants in the modified Farrow structures.

Remark 3

  In [18], the number of coefficients of the AP-based G(zp) (for even order) is further reduced by setting the first subfilter as \(G_0(z)=z^{-\frac{N_G}{2}}\) (see [18] for details). A similar method can also be applied to the CE-based G(zp). By setting \(p=0\) in (19), we have \(\sum _{m=0}^{m=M}G_m(z)=z^{-\frac{N_G}{2}}\). This relationship can then be used to reduce the number of coefficients. Thus, the AP-based and CE-based structures still have the same number of coefficients. Therefore, the total number of independent coefficients of the two-rate VFD filters is \(C_N=\left( \frac{N_F}{2}+1\right) /2+M\left( \frac{N_G}{2}+1\right) -\lceil \frac{M}{2}\rceil \). The details are omitted here.

Table 7 Comparison of the two-rate-based VFD filters with the CE-based structure and other AP-based VFD filters

5.2 Further Comparisons

There are also other VFD filter structures that use trigonometric functions as approximants. We discuss and compare these other VFD filters with our proposed filter here.

(1) In [33], the impulse response of a VFD filter is obtained using a real Fourier series:

$$\begin{aligned} h_n(p)=\sum _{m=0}^{M}a_{nm}\cos (2\pi m\beta p)+\sum _{m=1}^{M}b_{nm}\sin (2\pi m\beta p), \end{aligned}$$
(49)

where \(a_{nm}\)’s and \(b_{nm}\)’s are the design coefficients and \(\beta \) is a shape parameter. In our method, even though a complex Fourier series was initially used in the formulation, due to the symmetries introduced, the impulse response in (18) can be written by using a real Fourier series:

$$\begin{aligned} h_n(p)=\sum _{m=0}^{M}x(n,m)\cos \left( 2\pi \beta p\left( m-\frac{M}{2}\right) \right) +\sum _{m=0}^{M}y(n,m)\sin \left( 2\pi \beta p \left( m-\frac{M}{2}\right) \right) . \end{aligned}$$
(50)

Although the approach in our formulation is different to the approach in [33], it would seem to appear that the outcome is the same, i.e., (50) is similar to (49). However, there are important differences between the two approaches:

(i) The number of independent coefficients in our approach is about 1/4 of that in [33]. This is due to the symmetries in (26) and (27).

(ii) Our proposed VFD filter can be implemented using an efficient Farrow-like structure, but the VFD filter in [33] does not have such an implementation.

(iii) The shape parameter is optimized in our method but not in [33].

(iv) Our design method is based on matrices but the method in [33] is based on vectors. The latter requires far greater computational effort.

(2) The method in [27] is also based on trigonometric function approximation. However, the resulting filter is an IIR VFD filter, with poles on the unit circle, thereby introducing instabilities. Though this problem can be circumvented using the methods proposed in [27], the filter would be very sensitive to the finite word-length effect in the coefficients. Furthermore, the VFD filters in [27] are not optimal in any sense.

6 Conclusion

A new approach has been presented for the design and implementation of VFD FIR filters. The key idea here is to replace the polynomial approximation, that is tacit in the well-established Farrow structure, with an approximation using complex exponential (CE) functions. A Farrow-like implementation structure ensues that requires complex arithmetic. However, there are various symmetries in the filter coefficients that can be exploited to reduce the design and implementation complexities. The design examples have demonstrated that, for a fixed number of subfilters and subfilter order, the new CE-based filters achieve a better approximation than the classical algebraic polynomial (AP)-based filters. In other words, the same design accuracy can be achieved by using a VFD filter with a lower complexity, i.e., using fewer subfilters or with lower-order subfilters. Finally, the proposed CE-based structure is much simpler compared to several elaborately modified Farrow structures, such as those in [13, 17, 18, 35].