Efficient Design and Implementation of Fast-Convolution-Based Variable-Bandwidth Filters

Oksana Moryakova and Håkan Johansson Division of Communication Systems, Department of Electrical Engineering, Linkö** University, Linkö**, Sweden
Emails: {oksana.moryakova, hakan.johansson}@liu.se
Abstract

This paper introduces an efficient design approach for a fast-convolution-based variable-bandwidth (VBW) filter. The proposed approach is based on a hybrid of frequency sampling and optimization (HFSO), that offers significant computational complexity reduction compared to existing solutions for a given performance. The paper provides a design procedure based on minimax optimization to obtain the minimum complexity of the overall filter. A design example includes a comparison of the proposed design-based VBW filter and time-domain designed VBW filters implemented in the time domain and in the frequency domain. It is shown that not only the implementation complexity can be reduced but also the design complexity by excluding any computations when the bandwidth of the filter is adjusted. Moreover, memory requirements are also decreased compared to the existing frequency-domain implementations.

Index Terms:
Variable bandwidth filter, fast convolution, frequency-domain design, time-varying systems, overlap-save, multirate filter banks

I Introduction

Due to the increasing demand for reconfigurable systems in the contemporary world of technologies, variable digital filters (VDFs) are required in many digital signal processing applications, for example, in medical devices [1] and communication systems [2, 3]. The main advantage of these filters over regular digital filters is that they offer variability of the frequency response by adjusting only one or a few parameters without online filter design. Most recent papers focused on VDFs [1, 2, 3] have shown that this approach allows to significantly reduce implementation complexity and thereby hardware complexity compared to regular filters requiring online design for every new specification. Nevertheless, implementations of VDFs in the time domain may still cause a rather high computational complexity for stringent requirements.

Research works on finite-impulse-response (FIR) filters have shown that a filter can be implemented in the frequency domain using the fast convolution (FC) with much lower complexity than in the time domain [4, 5, 6, 7]. The most widely used techniques are the overlap-save (OLS) and overlap-add (OLA) methods which employ the discrete Fourier transform (DFT) and its inverse (IDFT) [8, 9]. The FC-based VDFs [3, 10] have shown significant reduction of the computational complexity compared to time-domain implementations.

Typically, regardless of the implementation, VDFs are designed by optimizing the impulse response values to satisfy specification requirements for the frequency response, hereafter this is also referred as time-domain design. In this case, the filter DFT coefficients are given by the DFT of the optimized impulse response. For frequency-domain implementations, this fact leads to less efficient implementation and update of variable coefficients in terms of computational complexity. Thus, this work is devoted to frequency-domain design of FC-based VDFs, specifically variable-bandwidth (VBW) filters, by instead optimizing the filter DFT coefficients. The OLS method is considered here due to somewhat less implementation complexity compared to the OLA method [7].

The main contributions of the paper are as follows.

  1. 1.

    An approach to FC-based VBW filter design allowing to significantly reduce both implementation and design complexity is proposed. The core idea of the proposal is to design a filter based on a hybrid of frequency sampling and optimization (HFSO) with the aim of utilizing the same set of transition band values for different bandwidths in the implementation. The proposed HFSO method consists of designing a VBW filter by optimizing only one set of the transition band samples while the passband and stopband values are directly obtained by sampling the desired frequency response. This means that the magnitude of the filter DFT coefficients for various bandwidths are sets of the same values, i.e., ones, zeros, and the optimized transition band values. This approach leads to a very simple update of the filter DFT coefficients when the bandwidth is varied, which was the drawback of the variable-weight-based structure with the lowest implementation complexity proposed in [10] requiring computations for every new value of the variable parameter. Hence, our proposed approach allows to simultaneously lower the implementation complexity, by cutting the number of general multiplications per sample, and significantly reduce the design complexity when the bandwidth is adjusted. Moreover, the proposed approach allows to eliminate the dependence of the implementation and design complexities on the variable bandwidth range while it is one of the main limitations in the existing VBW filter implementations [11, 10].

  2. 2.

    A systematic procedure for FC-based VBW filter design using the HFSO approach is provided. A similar approach based on the frequency sampling has been utilized for regular FIR filter design [12, 13, 14, 15]. However, the authors did not consider FIR filter implementations using the OLS or OLA methods, which together with the frequency sampling method make the filter a linear periodic time-varying (LPTV) system. Design of these systems has to include measuring the distortion and aliasing functions, which can be derived from a multirate filter bank representation, or a set of time-invariant impulse responses of the corresponding periodically time-varying impulse-response (PTVIR) representation. Although it was mentioned in [3] that a frequency-domain designed FC-based filter, causing cyclic distortions, can be modeled as an LPTV system, the authors did not provide details whether the corresponding time-invariant responses have been controlled during the design procedure. In our proposed approach, the overall filter is designed by ensuring that each of the corresponding time-invariant responses meets the specification using minimax optimization.

The rest of the paper is organized as follows. Section II gives a brief overview of the overlap-save method while Section III presents the proposed approach of an FC-based VBW filter design using the HFSO method. Section IV provides an example and computational-complexity analysis. Finally, Section V concludes the paper.

II Overlap-Save Method

The main concept of the FC using the OLS method is that the input signal is divided into overlap** segments xm(n)=x(n+mM)subscript𝑥𝑚𝑛𝑥𝑛𝑚𝑀x_{m}(n)=x(n+mM)italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_n ) = italic_x ( italic_n + italic_m italic_M ), n=0,1,,N1𝑛01𝑁1n=0,1,...,N-1italic_n = 0 , 1 , … , italic_N - 1, where m𝑚mitalic_m is a segment index and the overlap** part is NM𝑁𝑀N-Mitalic_N - italic_M. Then, for each segment, the following computations are carried out.

  1. 1.

    The segment xmsubscript𝑥𝑚x_{m}italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT is transformed via an N𝑁Nitalic_N-point DFT.

  2. 2.

    The DFT coefficients Xm(k)subscript𝑋𝑚𝑘X_{m}(k)italic_X start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_k ) are multiplied by the filter DFT coefficients H(k)𝐻𝑘H(k)italic_H ( italic_k ).

  3. 3.

    An N𝑁Nitalic_N-point IDFT is performed.

  4. 4.

    The first NM𝑁𝑀N-Mitalic_N - italic_M samples of the resulting block are discarded, so that the output segments of length M𝑀Mitalic_M are no longer overlap**.

  5. 5.

    The output sequence is obtained by concatenating the resulting segments as y(n)=m=0ym(nmM)𝑦𝑛superscriptsubscript𝑚0subscript𝑦𝑚𝑛𝑚𝑀y(n)=\sum_{m=0}^{\infty}y_{m}(n-mM)italic_y ( italic_n ) = ∑ start_POSTSUBSCRIPT italic_m = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∞ end_POSTSUPERSCRIPT italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_n - italic_m italic_M ).

In classical OLS filtering, the system is intended to be time-invariant, i.e., the aliasing error is zero. In this case, the DFT coefficients H(k)𝐻𝑘H(k)italic_H ( italic_k ) of an FIR filter correspond to the N𝑁Nitalic_N-point DFT of the impulse response h(n)𝑛h(n)italic_h ( italic_n ) of length L𝐿Litalic_L, designed by any of the available methods [8]. This means h(n)=0𝑛0h(n)=0italic_h ( italic_n ) = 0 for n=L,,N1𝑛𝐿𝑁1n=L,...,N-1italic_n = italic_L , … , italic_N - 1, where L=NM+1𝐿𝑁𝑀1L=N-M+1italic_L = italic_N - italic_M + 1.

In this paper, the proposed HFSO design approach111The HFSO design approach will be discussed in details in Section III-B. restricts the frequency response to take on fixed values for certain frequencies. Even if the effective order of the underlying filter is L1𝐿1L-1italic_L - 1, after an N𝑁Nitalic_N-point IDFT, this results in an N𝑁Nitalic_N-length impulse response (although the impulse response values are quite small for LnN1𝐿𝑛𝑁1L\leq n\leq N-1italic_L ≤ italic_n ≤ italic_N - 1) and thereby makes the overall system an M𝑀Mitalic_M-periodic time-varying system, i.e., the filter impulse response coefficients change from sample to sample [9]. In these systems, aliasing cannot be cancelled but can be suppressed to any desired level through a proper design, which is considered in this paper. An LPTV system can be represented using a PTVIR representation corresponding to a set of time-invariant impulse responses hn(q)=hn+M(q)subscript𝑛𝑞subscript𝑛𝑀𝑞h_{n}(q)=h_{n+M}(q)italic_h start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_q ) = italic_h start_POSTSUBSCRIPT italic_n + italic_M end_POSTSUBSCRIPT ( italic_q ), n=0,1,,M1𝑛01𝑀1n=0,1,...,M-1italic_n = 0 , 1 , … , italic_M - 1, q=0,1,,N1𝑞01𝑁1q=0,1,...,N-1italic_q = 0 , 1 , … , italic_N - 1 (or their corresponding frequency responses Hn(ejωT)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇H_{n}(e^{j\omega T})italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT )) [9, 16, 7]. This representation can be a better indicator of the worst-case time-domain error of the overall system comparing to the multirate filter-bank representation in terms of distortion and aliasing [7].

Refer to caption
Figure 1: Frequency-domain implementation of a VBW filter using the overlap-save method [10].
Refer to caption
Figure 2: PTVIR representation of the scheme in Fig. 1.

III Proposed Approach to Design a VBW Filter Implemented Using the OLS method

III-A VBW Filter Implemented Using the OLS method

The desired frequency response of a VBW filter of effective length L𝐿Litalic_L is considered here as

D(ejωT,b)={ejωT(L1)/2,ωT[0,bΔ/2],0,ωT[b+Δ/2,π],𝐷superscript𝑒𝑗𝜔𝑇𝑏casessuperscript𝑒𝑗𝜔𝑇𝐿12𝜔𝑇0𝑏Δ20𝜔𝑇𝑏Δ2𝜋D(e^{j\omega T},b)=\begin{cases}e^{-j\omega T(L-1)/2},&\omega T\in[0,b-\Delta/% 2],\\ 0,&\omega T\in[b+\Delta/2,\pi],\end{cases}italic_D ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) = { start_ROW start_CELL italic_e start_POSTSUPERSCRIPT - italic_j italic_ω italic_T ( italic_L - 1 ) / 2 end_POSTSUPERSCRIPT , end_CELL start_CELL italic_ω italic_T ∈ [ 0 , italic_b - roman_Δ / 2 ] , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_ω italic_T ∈ [ italic_b + roman_Δ / 2 , italic_π ] , end_CELL end_ROW (1)

where b[bl,bu]𝑏subscript𝑏𝑙subscript𝑏𝑢b\in[b_{l},b_{u}]italic_b ∈ [ italic_b start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ] is the center of the transition band, whereas ωcT=bΔ/2subscript𝜔𝑐𝑇𝑏Δ2\omega_{c}T=b-\Delta/2italic_ω start_POSTSUBSCRIPT italic_c end_POSTSUBSCRIPT italic_T = italic_b - roman_Δ / 2 and ωsT=b+Δ/2subscript𝜔𝑠𝑇𝑏Δ2\omega_{s}T=b+\Delta/2italic_ω start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT italic_T = italic_b + roman_Δ / 2 represent variable passband and stopband edges, respectively. The transition width ΔΔ\Deltaroman_Δ is assumed to be fixed.

The VBW filter frequency-domain implementation proposed in [10] is shown in Fig. 1. This structure utilizes N𝑁Nitalic_N variable DFT coefficients H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) that have to be recomputed whenever b𝑏bitalic_b is changed. As was mentioned in Section II, this implementation can be equivalently represented using the PTVIR representation, which is shown in Fig. 2. The output of the system can be written as

y(n,b)=12πππHn(ejωT,b)X(ejωT)ejωTnd(ωT),𝑦𝑛𝑏12𝜋superscriptsubscript𝜋𝜋subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏𝑋superscript𝑒𝑗𝜔𝑇superscript𝑒𝑗𝜔𝑇𝑛𝑑𝜔𝑇y(n,b)=\frac{1}{2\pi}\int_{-\pi}^{\pi}H_{n}(e^{j\omega T},b)X(e^{j\omega T})e^% {j\omega Tn}d(\omega T),italic_y ( italic_n , italic_b ) = divide start_ARG 1 end_ARG start_ARG 2 italic_π end_ARG ∫ start_POSTSUBSCRIPT - italic_π end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_π end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) italic_X ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT ) italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T italic_n end_POSTSUPERSCRIPT italic_d ( italic_ω italic_T ) , (2)

where Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) are modified responses from [7] by introducing the variable parameter b𝑏bitalic_b. They can be expressed as

Hn(ejωT,b)=ejωTnq=0N1dn(q,b)ejωTqsubscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏superscript𝑒𝑗𝜔𝑇𝑛superscriptsubscript𝑞0𝑁1subscript𝑑𝑛𝑞𝑏superscript𝑒𝑗𝜔𝑇𝑞H_{n}(e^{j\omega T},b)=e^{-j\omega Tn}\sum_{q=0}^{N-1}d_{n}(q,b)e^{-j\omega Tq}italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) = italic_e start_POSTSUPERSCRIPT - italic_j italic_ω italic_T italic_n end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_q = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_q , italic_b ) italic_e start_POSTSUPERSCRIPT - italic_j italic_ω italic_T italic_q end_POSTSUPERSCRIPT (3)

with dn(q,b)subscript𝑑𝑛𝑞𝑏d_{n}(q,b)italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_q , italic_b ) being the impulse responses of znHn(z,b)superscript𝑧𝑛subscript𝐻𝑛𝑧𝑏z^{n}H_{n}(z,b)italic_z start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_z , italic_b ) and circular versions of each other, i.e., dn+m(q,b)=dn(mod(q+m,M),b)d_{n+m}(q,b)=d_{n}(\mod(q+m,M),b)italic_d start_POSTSUBSCRIPT italic_n + italic_m end_POSTSUBSCRIPT ( italic_q , italic_b ) = italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( roman_mod ( italic_q + italic_m , italic_M ) , italic_b ). This allows to avoid computations of dn(q,b)subscript𝑑𝑛𝑞𝑏d_{n}(q,b)italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_q , italic_b ) for every n𝑛nitalic_n in the design. The last response dM1(q,b)subscript𝑑𝑀1𝑞𝑏d_{M-1}(q,b)italic_d start_POSTSUBSCRIPT italic_M - 1 end_POSTSUBSCRIPT ( italic_q , italic_b ) corresponds to the IDFT of H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ), i.e.,

dM1(q,b)=1Nk=0N1H(k,b)ej2πqk/N.subscript𝑑𝑀1𝑞𝑏1𝑁superscriptsubscript𝑘0𝑁1𝐻𝑘𝑏superscript𝑒𝑗2𝜋𝑞𝑘𝑁d_{M-1}(q,b)=\frac{1}{N}\sum_{k=0}^{N-1}H(k,b)e^{j2\pi qk/N}.italic_d start_POSTSUBSCRIPT italic_M - 1 end_POSTSUBSCRIPT ( italic_q , italic_b ) = divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_k = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N - 1 end_POSTSUPERSCRIPT italic_H ( italic_k , italic_b ) italic_e start_POSTSUPERSCRIPT italic_j 2 italic_π italic_q italic_k / italic_N end_POSTSUPERSCRIPT . (4)

The DFT coefficients H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) are obtained using the HFSO approach that will be described in the following subsection.

III-B Proposed HFSO Approach

The proposed HFSO approach consists of two parts: sampling of the passband and stopband of the desired frequency response D(ejωT,b)𝐷superscript𝑒𝑗𝜔𝑇𝑏D(e^{j\omega T},b)italic_D ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) in (1) and optimization of the samples belonging to the transition band, which is generally not specified in the desired response, in order to minimize the passband and stopband ripples of all responses Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ), n=0,1,,M1𝑛01𝑀1n=0,1,...,M-1italic_n = 0 , 1 , … , italic_M - 1, for b[bl,bu]𝑏subscript𝑏𝑙subscript𝑏𝑢b\in[b_{l},b_{u}]italic_b ∈ [ italic_b start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ]. Thus, the coefficients H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) are given as

H(k,b)=HR(k,b)ej2πk(L1)/2N,𝐻𝑘𝑏subscript𝐻𝑅𝑘𝑏superscript𝑒𝑗2𝜋𝑘𝐿12𝑁H(k,b)=H_{R}(k,b)e^{-j\frac{2\pi k(L-1)/2}{N}},italic_H ( italic_k , italic_b ) = italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ) italic_e start_POSTSUPERSCRIPT - italic_j divide start_ARG 2 italic_π italic_k ( italic_L - 1 ) / 2 end_ARG start_ARG italic_N end_ARG end_POSTSUPERSCRIPT , (5)

with the magnitude response samples HR(k,b)subscript𝐻𝑅𝑘𝑏H_{R}(k,b)italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ) given by

HR(k,b)={1,kkp(b),V(kk1(b)),kkt(b),0,kks(b),subscript𝐻𝑅𝑘𝑏cases1𝑘subscript𝑘𝑝𝑏𝑉𝑘subscript𝑘1𝑏𝑘subscript𝑘𝑡𝑏0𝑘subscript𝑘𝑠𝑏\displaystyle H_{R}(k,b)=\begin{cases}1,&k\in k_{p}(b),\\ V(k-k_{1}(b)),&k\in k_{t}(b),\\ 0,&k\in k_{s}(b),\end{cases}italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ) = { start_ROW start_CELL 1 , end_CELL start_CELL italic_k ∈ italic_k start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_b ) , end_CELL end_ROW start_ROW start_CELL italic_V ( italic_k - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) ) , end_CELL start_CELL italic_k ∈ italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_b ) , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_k ∈ italic_k start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_b ) , end_CELL end_ROW (6)

where kp(b)=[0,k1(b)1][Nk1(b)+1,N1]subscript𝑘𝑝𝑏0subscript𝑘1𝑏1𝑁subscript𝑘1𝑏1𝑁1k_{p}(b)=[0,k_{1}(b)-1]\cup[N-k_{1}(b)+1,N-1]italic_k start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT ( italic_b ) = [ 0 , italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) - 1 ] ∪ [ italic_N - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) + 1 , italic_N - 1 ], kt(b)=[k1(b),k2(b)][Nk2(b),Nk1(b)]subscript𝑘𝑡𝑏subscript𝑘1𝑏subscript𝑘2𝑏𝑁subscript𝑘2𝑏𝑁subscript𝑘1𝑏k_{t}(b)=[k_{1}(b),k_{2}(b)]\cup[N-k_{2}(b),N-k_{1}(b)]italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_b ) = [ italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) , italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) ] ∪ [ italic_N - italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) , italic_N - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) ], and ks(b)=[k2(b)+1,Nk2(b)1]subscript𝑘𝑠𝑏subscript𝑘2𝑏1𝑁subscript𝑘2𝑏1k_{s}(b)=[k_{2}(b)+1,N-k_{2}(b)-1]italic_k start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_b ) = [ italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) + 1 , italic_N - italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) - 1 ] are the passband, transition band, and the stopband regions, respectively. Here, k1(b)subscript𝑘1𝑏k_{1}(b)italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) and k2(b)subscript𝑘2𝑏k_{2}(b)italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) are the first and the last sample indices of the transition band, correspondingly, given by

k1(b)=bΔ/22πN+1,k2(b)=b+Δ/22πN1,formulae-sequencesubscript𝑘1𝑏𝑏Δ22𝜋𝑁1subscript𝑘2𝑏𝑏Δ22𝜋𝑁1\displaystyle k_{1}(b)=\frac{b-\Delta/2}{2\pi}N+1,\quad k_{2}(b)=\frac{b+% \Delta/2}{2\pi}N-1,italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) = divide start_ARG italic_b - roman_Δ / 2 end_ARG start_ARG 2 italic_π end_ARG italic_N + 1 , italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) = divide start_ARG italic_b + roman_Δ / 2 end_ARG start_ARG 2 italic_π end_ARG italic_N - 1 , (7)

where the values of ΔΔ\Deltaroman_Δ and b𝑏bitalic_b are assumed to be discretized so that Δ=ΔN×2π/NΔsubscriptΔ𝑁2𝜋𝑁\Delta=\Delta_{N}\times 2\pi/Nroman_Δ = roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT × 2 italic_π / italic_N and b=bN×2π/N𝑏subscript𝑏𝑁2𝜋𝑁b=b_{N}\times 2\pi/Nitalic_b = italic_b start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT × 2 italic_π / italic_N with ΔN=k2(b)k1(b)+2subscriptΔ𝑁subscript𝑘2𝑏subscript𝑘1𝑏2\Delta_{N}=k_{2}(b)-k_{1}(b)+2roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT = italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) + 2 and bN[bN,l,bN,u]subscript𝑏𝑁subscript𝑏𝑁𝑙subscript𝑏𝑁𝑢b_{N}\in[b_{N,l},b_{N,u}]italic_b start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ∈ [ italic_b start_POSTSUBSCRIPT italic_N , italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_N , italic_u end_POSTSUBSCRIPT ] being the fixed transition width and variable parameter in terms of frequency bins, ΔN/2bN,l<bN,uN/2ΔN/21subscriptΔ𝑁2subscript𝑏𝑁𝑙subscript𝑏𝑁𝑢𝑁2subscriptΔ𝑁21\Delta_{N}/2\leq b_{N,l}<b_{N,u}\leq N/2-\Delta_{N}/2-1roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT / 2 ≤ italic_b start_POSTSUBSCRIPT italic_N , italic_l end_POSTSUBSCRIPT < italic_b start_POSTSUBSCRIPT italic_N , italic_u end_POSTSUBSCRIPT ≤ italic_N / 2 - roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT / 2 - 1. It is assumed that the transition band samples can be utilized for different values of b𝑏bitalic_b as it is illustrated in Fig. 3. Therefore, V(kk1(b))𝑉𝑘subscript𝑘1𝑏V(k-k_{1}(b))italic_V ( italic_k - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) ) do not depend on b𝑏bitalic_b and can be written as V(r)𝑉𝑟V(r)italic_V ( italic_r ), r=0,,LV1𝑟0subscript𝐿𝑉1r=0,\dots,L_{V}-1italic_r = 0 , … , italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT - 1 with LV=ΔN1subscript𝐿𝑉subscriptΔ𝑁1L_{V}=\Delta_{N}-1italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT = roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT - 1.

Refer to caption
Figure 3: HFSO approach for a VBW filter.

Considering that the VBW filter impulse response is real-valued, the responses dn(q,b)subscript𝑑𝑛𝑞𝑏d_{n}(q,b)italic_d start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_q , italic_b ) are also real-valued. Then, dM1(q,b)subscript𝑑𝑀1𝑞𝑏d_{M-1}(q,b)italic_d start_POSTSUBSCRIPT italic_M - 1 end_POSTSUBSCRIPT ( italic_q , italic_b ) in (4) is given by

dM1(q,b)=1N[1+2k=1k1(b)1cos(2πkN(qL12))\displaystyle d_{M-1}(q,b)=\frac{1}{N}\Bigg{[}1+2\sum_{k=1}^{k_{1}(b)-1}\cos% \Bigg{(}\frac{2\pi k}{N}\Bigg{(}q-\frac{L-1}{2}\Bigg{)}\Bigg{)}italic_d start_POSTSUBSCRIPT italic_M - 1 end_POSTSUBSCRIPT ( italic_q , italic_b ) = divide start_ARG 1 end_ARG start_ARG italic_N end_ARG [ 1 + 2 ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) - 1 end_POSTSUPERSCRIPT roman_cos ( divide start_ARG 2 italic_π italic_k end_ARG start_ARG italic_N end_ARG ( italic_q - divide start_ARG italic_L - 1 end_ARG start_ARG 2 end_ARG ) )
+2k=k1(b)k2(b)V(kk1(b))cos(2πkN(qL12))].\displaystyle+2\sum_{k=k_{1}(b)}^{k_{2}(b)}V(k-k_{1}(b))\cos\Bigg{(}\frac{2\pi k% }{N}\Bigg{(}q-\frac{L-1}{2}\Bigg{)}\Bigg{)}\Bigg{]}.+ 2 ∑ start_POSTSUBSCRIPT italic_k = italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_b ) end_POSTSUPERSCRIPT italic_V ( italic_k - italic_k start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_b ) ) roman_cos ( divide start_ARG 2 italic_π italic_k end_ARG start_ARG italic_N end_ARG ( italic_q - divide start_ARG italic_L - 1 end_ARG start_ARG 2 end_ARG ) ) ] . (8)

III-C Minimax Design

In order to design an LPTV system modeled as a set of time-invariant frequency responses, one needs to ensure that each of the responses approximates the desired response [7]. Therefore, for a VBW filter design, each Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) has to approximate the desired frequency response Hd(ejωT,b)subscript𝐻𝑑superscript𝑒𝑗𝜔𝑇𝑏H_{d}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ), given by222The desired response Hd(ejωT,b)subscript𝐻𝑑superscript𝑒𝑗𝜔𝑇𝑏H_{d}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) in (9) differs from D(ejωT,b)𝐷superscript𝑒𝑗𝜔𝑇𝑏D(e^{j\omega T},b)italic_D ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) in (1) by an additional delay of M1𝑀1M-1italic_M - 1 samples due to the OLS implementation.

Hd(ejωT,b)={ejωT(L12+M1),ωT[0,bΔ/2],0,ωT[b+Δ/2,π].subscript𝐻𝑑superscript𝑒𝑗𝜔𝑇𝑏casessuperscript𝑒𝑗𝜔𝑇𝐿12𝑀1𝜔𝑇0𝑏Δ20𝜔𝑇𝑏Δ2𝜋H_{d}(e^{j\omega T},b)=\begin{cases}e^{-j\omega T(\frac{L-1}{2}+M-1)},&\omega T% \in[0,b-\Delta/2],\\ 0,\quad&\omega T\in[b+\Delta/2,\pi].\end{cases}italic_H start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) = { start_ROW start_CELL italic_e start_POSTSUPERSCRIPT - italic_j italic_ω italic_T ( divide start_ARG italic_L - 1 end_ARG start_ARG 2 end_ARG + italic_M - 1 ) end_POSTSUPERSCRIPT , end_CELL start_CELL italic_ω italic_T ∈ [ 0 , italic_b - roman_Δ / 2 ] , end_CELL end_ROW start_ROW start_CELL 0 , end_CELL start_CELL italic_ω italic_T ∈ [ italic_b + roman_Δ / 2 , italic_π ] . end_CELL end_ROW (9)

In this paper, they are approximated in the minimax sense. This means that the overall filter is here designed by solving the following approximation problem. For given L𝐿Litalic_L and N𝑁Nitalic_N, find LVsubscript𝐿𝑉L_{V}italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT transition band values V(r)𝑉𝑟V(r)italic_V ( italic_r ) of the DFT coefficients H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) as well as δ𝛿\deltaitalic_δ to

minimize δminimize 𝛿\displaystyle\textbf{minimize }\deltaminimize italic_δ
subject to |En(ejωT,b)|δsubject to subscript𝐸𝑛superscript𝑒𝑗𝜔𝑇𝑏𝛿\displaystyle\textbf{subject to }|E_{n}(e^{j\omega T},b)|\leq\deltasubject to | italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) | ≤ italic_δ (10)

for ωT[0,bΔ/2][b+Δ/2,π]𝜔𝑇0𝑏Δ2𝑏Δ2𝜋\omega T\in[0,b-\Delta/2]\cup[b+\Delta/2,\pi]italic_ω italic_T ∈ [ 0 , italic_b - roman_Δ / 2 ] ∪ [ italic_b + roman_Δ / 2 , italic_π ], b[bl,bu]𝑏subscript𝑏𝑙subscript𝑏𝑢b\in[b_{l},b_{u}]italic_b ∈ [ italic_b start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ], and n=0,1,,M1𝑛01𝑀1n=0,1,...,M-1italic_n = 0 , 1 , … , italic_M - 1, where En(ejωT,b)subscript𝐸𝑛superscript𝑒𝑗𝜔𝑇𝑏E_{n}(e^{j\omega T},b)italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) is the error function, given by

En(ejωT,b)=Hn(ejωT,b)Hd(ejωT,b)subscript𝐸𝑛superscript𝑒𝑗𝜔𝑇𝑏subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏subscript𝐻𝑑superscript𝑒𝑗𝜔𝑇𝑏E_{n}(e^{j\omega T},b)=H_{n}(e^{j\omega T},b)-H_{d}(e^{j\omega T},b)italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) = italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) - italic_H start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) (11)

with Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) as in (3), Hd(ejωT,b)subscript𝐻𝑑superscript𝑒𝑗𝜔𝑇𝑏H_{d}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) as in (9). The filter will meet the specification if δ𝛿\deltaitalic_δ after the optimization satisfies δδE𝛿subscript𝛿𝐸\delta\leq\delta_{E}italic_δ ≤ italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT, where δEsubscript𝛿𝐸\delta_{E}italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT is the maximum prespecified approximation error.

III-D Implementation and Design Complexity

TABLE I: Implementation and Design Complexity Expressions for the VBW Filter Designed by the Proposed Technique
Fixed multiplication rate Rmfsubscript𝑅𝑚𝑓R_{mf}italic_R start_POSTSUBSCRIPT italic_m italic_f end_POSTSUBSCRIPT Variable multiplication rate Rmvsubscript𝑅𝑚𝑣R_{mv}italic_R start_POSTSUBSCRIPT italic_m italic_v end_POSTSUBSCRIPT Addition rate Rasubscript𝑅𝑎R_{a}italic_R start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT Memory
Nlog2(N)(3/2)N+4NL+1𝑁subscript2𝑁32𝑁4𝑁𝐿1\frac{N\log_{2}(N)-(3/2)N+4}{N-L+1}divide start_ARG italic_N roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_N ) - ( 3 / 2 ) italic_N + 4 end_ARG start_ARG italic_N - italic_L + 1 end_ARG 2LVNL+12subscript𝐿𝑉𝑁𝐿1\frac{2L_{V}}{N-L+1}divide start_ARG 2 italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT end_ARG start_ARG italic_N - italic_L + 1 end_ARG 3Nlog2(N)(7/2)N+8NL+13𝑁subscript2𝑁72𝑁8𝑁𝐿1\frac{3N\log_{2}(N)-(7/2)N+8}{N-L+1}divide start_ARG 3 italic_N roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_N ) - ( 7 / 2 ) italic_N + 8 end_ARG start_ARG italic_N - italic_L + 1 end_ARG LVsubscript𝐿𝑉L_{V}italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT

The overall complexity of the frequency-domain implementations consists of DFT/IDFT transforms and complex multiplications by H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ). In this paper, we consider that the former is implemented using the split-radix fast Fourier transform (FFT) algorithm, the complex multiplication inside the transformation is implemented using 3 real fixed multiplications and 3 real additions, the segments xmsubscript𝑥𝑚x_{m}italic_x start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT and ymsubscript𝑦𝑚y_{m}italic_y start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT are real-valued and N=2Q𝑁superscript2𝑄N=2^{Q}italic_N = 2 start_POSTSUPERSCRIPT italic_Q end_POSTSUPERSCRIPT. Therefore, each FFT and its inverse (IFFT) require Cmf,F=(1/2)Nlog2(N)(3/2)N+2subscript𝐶𝑚𝑓𝐹12𝑁subscript2𝑁32𝑁2C_{mf,F}=(1/2)N\log_{2}(N)-(3/2)N+2italic_C start_POSTSUBSCRIPT italic_m italic_f , italic_F end_POSTSUBSCRIPT = ( 1 / 2 ) italic_N roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_N ) - ( 3 / 2 ) italic_N + 2 multiplications and Ca,F=(3/2)log2(N)(5/2)N+4subscript𝐶𝑎𝐹32subscript2𝑁52𝑁4C_{a,F}=(3/2)\log_{2}(N)-(5/2)N+4italic_C start_POSTSUBSCRIPT italic_a , italic_F end_POSTSUBSCRIPT = ( 3 / 2 ) roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_N ) - ( 5 / 2 ) italic_N + 4 additions [17]. The multiplications by H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) can be implemented as two consecutive multiplications: a variable (general) multiplication by real HR(k,b)subscript𝐻𝑅𝑘𝑏H_{R}(k,b)italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ) and a fixed complex multiplication by ej2πk(L1)/(2N)superscript𝑒𝑗2𝜋𝑘𝐿12𝑁e^{-j2\pi k(L-1)/(2N)}italic_e start_POSTSUPERSCRIPT - italic_j 2 italic_π italic_k ( italic_L - 1 ) / ( 2 italic_N ) end_POSTSUPERSCRIPT. The former is variable and real, thus, it can be implemented using two real general multiplications. The latter is complex and fixed, therefore, it can be implemented using 3 real fixed multiplications and 3 real additions. Moreover, for particular combinations of L𝐿Litalic_L and N𝑁Nitalic_N such that (L1)/N=1/(2c)𝐿1𝑁12𝑐(L-1)/N=1/(2c)( italic_L - 1 ) / italic_N = 1 / ( 2 italic_c ), c=1,2,,N/4𝑐12𝑁4c=1,2,...,N/4italic_c = 1 , 2 , … , italic_N / 4, the exponents can be implemented even cheaper (e.g., for k=mc𝑘𝑚𝑐k=mcitalic_k = italic_m italic_c, m=0,1,,N/c1𝑚01𝑁𝑐1m=0,1,...,N/c-1italic_m = 0 , 1 , … , italic_N / italic_c - 1, there are no computations required, and for k=mc+c/2𝑘𝑚𝑐𝑐2k=mc+\lfloor c/2\rflooritalic_k = italic_m italic_c + ⌊ italic_c / 2 ⌋, c2𝑐2c\geq 2italic_c ≥ 2, only two real multiplications and two real additions can be used). Additionally, for zero-valued HR(k,b)subscript𝐻𝑅𝑘𝑏H_{R}(k,b)italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ), there are no multiplications by the exponents needed. Thus, the number of fixed multiplications is varied depending on b𝑏bitalic_b and the ratio (L1)/N𝐿1𝑁(L-1)/N( italic_L - 1 ) / italic_N. Here, we specify the maximum possible number for fair comparison. Considering that the DFT coefficients Xm(k)subscript𝑋𝑚𝑘X_{m}(k)italic_X start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( italic_k ) and H(k,b)𝐻𝑘𝑏H(k,b)italic_H ( italic_k , italic_b ) are conjugate symmetric and ones and zeros in HR(k,b)subscript𝐻𝑅𝑘𝑏H_{R}(k,b)italic_H start_POSTSUBSCRIPT italic_R end_POSTSUBSCRIPT ( italic_k , italic_b ) do not require any computations, the number of fixed multiplications, general multiplications and additions are Cmf,H=3N/2subscript𝐶𝑚𝑓𝐻3𝑁2C_{mf,H}=3N/2italic_C start_POSTSUBSCRIPT italic_m italic_f , italic_H end_POSTSUBSCRIPT = 3 italic_N / 2, Cmv,H=2LVsubscript𝐶𝑚𝑣𝐻2subscript𝐿𝑉C_{mv,H}=2L_{V}italic_C start_POSTSUBSCRIPT italic_m italic_v , italic_H end_POSTSUBSCRIPT = 2 italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT, and Ca,H=3N/2subscript𝐶𝑎𝐻3𝑁2C_{a,H}=3N/2italic_C start_POSTSUBSCRIPT italic_a , italic_H end_POSTSUBSCRIPT = 3 italic_N / 2, respectively. Therefore, the total implementation complexity per sample is expressed as a fixed multiplication rate Rmfsubscript𝑅𝑚𝑓R_{mf}italic_R start_POSTSUBSCRIPT italic_m italic_f end_POSTSUBSCRIPT, variable multiplication rate Rmvsubscript𝑅𝑚𝑣R_{mv}italic_R start_POSTSUBSCRIPT italic_m italic_v end_POSTSUBSCRIPT, and addition rate Rasubscript𝑅𝑎R_{a}italic_R start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT summarized in Table I.

For the proposed approach, there are no computations when b𝑏bitalic_b is altered. Therefore, the design complexity includes only memory to store LVsubscript𝐿𝑉L_{V}italic_L start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT values of V(r)𝑉𝑟V(r)italic_V ( italic_r ).

III-E Design Procedure Minimizing the Overall Complexity

To minimize the overall complexity per sample, the values of M𝑀Mitalic_M, L𝐿Litalic_L, and N𝑁Nitalic_N have to be determined. The value of L𝐿Litalic_L is obtained based on the filter order NDsubscript𝑁𝐷N_{D}italic_N start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT as L=ND+1𝐿subscript𝑁𝐷1L=N_{D}+1italic_L = italic_N start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT + 1, where the initial NDsubscript𝑁𝐷N_{D}italic_N start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT can be estimated by [18]

N^D=4πlog10(10δpδs)3Δ.subscript^𝑁𝐷4𝜋subscript1010subscript𝛿𝑝subscript𝛿𝑠3Δ\widehat{N}_{D}=-\frac{4\pi\log_{10}(10\delta_{p}\delta_{s})}{3\Delta}.over^ start_ARG italic_N end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = - divide start_ARG 4 italic_π roman_log start_POSTSUBSCRIPT 10 end_POSTSUBSCRIPT ( 10 italic_δ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ) end_ARG start_ARG 3 roman_Δ end_ARG . (12)

The optimal value of N𝑁Nitalic_N is estimated using N^=0.9Llog2(L)^𝑁0.9𝐿subscript2𝐿\widehat{N}=0.9L\log_{2}(L)over^ start_ARG italic_N end_ARG = 0.9 italic_L roman_log start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_L ) [7] and rounded to the nearest 2Qsuperscript2𝑄2^{Q}2 start_POSTSUPERSCRIPT italic_Q end_POSTSUPERSCRIPT. The value of M𝑀Mitalic_M is computed as M=NL+1𝑀𝑁𝐿1M=N-L+1italic_M = italic_N - italic_L + 1.

Further, the approximation problem in (10) is a convex optimization problem which guarantees that the solution is globally optimal in the minimax sense that can be solved using any regular solver for such problems. In this paper, the optimization problem is solved using the optimization toolbox in MATLAB with ωT𝜔𝑇\omega Titalic_ω italic_T discretized into K𝐾Kitalic_K grid points. After the optimization, if the approximation error δ<δE𝛿subscript𝛿𝐸\delta<\delta_{E}italic_δ < italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT, one should reduce the order NDsubscript𝑁𝐷N_{D}italic_N start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT and repeat the optimization. If the approximation error δ>δE𝛿subscript𝛿𝐸\delta>\delta_{E}italic_δ > italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT, the order NDsubscript𝑁𝐷N_{D}italic_N start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT must be increased, the values of L𝐿Litalic_L, N𝑁Nitalic_N, M𝑀Mitalic_M recomputed and the optimization repeated until the δδE𝛿subscript𝛿𝐸\delta\leq\delta_{E}italic_δ ≤ italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT.

IV Example

Refer to caption

Refer to caption

Figure 4: Modulus of the filter transition band samples V(r)𝑉𝑟V(r)italic_V ( italic_r ), frequency responses Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ), and errors En(ejωT,b)subscript𝐸𝑛superscript𝑒𝑗𝜔𝑇𝑏E_{n}(e^{j\omega T},b)italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) in (11) for b[0.75π,0.8594π]𝑏0.75𝜋0.8594𝜋b\in[0.75\pi,0.8594\pi]italic_b ∈ [ 0.75 italic_π , 0.8594 italic_π ] in the example.

In this example, we apply the proposed design for a VBW filter and compare the so obtained OLS implementation with time-domain designed VBW filters implemented using the Farrow structure [11] and the OLS method [10].

The specification of the VBW filter is given as follows: Δ=0.25πΔ0.25𝜋\Delta=0.25\piroman_Δ = 0.25 italic_π, δp=δs=δE=0.001subscript𝛿𝑝subscript𝛿𝑠subscript𝛿𝐸0.001\delta_{p}=\delta_{s}=\delta_{E}=0.001italic_δ start_POSTSUBSCRIPT italic_p end_POSTSUBSCRIPT = italic_δ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT = italic_δ start_POSTSUBSCRIPT italic_E end_POSTSUBSCRIPT = 0.001, b[0.75π,0.8594π]𝑏0.75𝜋0.8594𝜋b\in[0.75\pi,0.8594\pi]italic_b ∈ [ 0.75 italic_π , 0.8594 italic_π ]. According to the estimation expressions in Section III-E, the estimated filter order N^D=28subscript^𝑁𝐷28\widehat{N}_{D}=28over^ start_ARG italic_N end_ARG start_POSTSUBSCRIPT italic_D end_POSTSUBSCRIPT = 28, which gives N^=127^𝑁127\widehat{N}=127over^ start_ARG italic_N end_ARG = 127, and we choose N=128𝑁128N=128italic_N = 128. Thus, the transition band and bandwidth in terms of bins are ΔN=16subscriptΔ𝑁16\Delta_{N}=16roman_Δ start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT = 16 and bN[bN,l,bN,u]=[48,55]subscript𝑏𝑁subscript𝑏𝑁𝑙subscript𝑏𝑁𝑢4855b_{N}\in[b_{N,l},b_{N,u}]=[48,55]italic_b start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ∈ [ italic_b start_POSTSUBSCRIPT italic_N , italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_N , italic_u end_POSTSUBSCRIPT ] = [ 48 , 55 ], respectively. The passband and stopband regions are discretized to K=1000𝐾1000K=1000italic_K = 1000 grid points.

After the optimization outlined in Section III-E, L=33𝐿33L=33italic_L = 33, N=128𝑁128N=128italic_N = 128, M=96𝑀96M=96italic_M = 96. Figure 4 plots the magnitude responses Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) of the VBW filter, where the top plot shows M𝑀Mitalic_M responses Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) for b=bl𝑏subscript𝑏𝑙b=b_{l}italic_b = italic_b start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT and b=bu𝑏subscript𝑏𝑢b=b_{u}italic_b = italic_b start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT (for better visibility) and corresponding transition band samples V(r)𝑉𝑟V(r)italic_V ( italic_r ), the mid plot shows all Hn(ejωT,b)subscript𝐻𝑛superscript𝑒𝑗𝜔𝑇𝑏H_{n}(e^{j\omega T},b)italic_H start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) for b[bl,bu]𝑏subscript𝑏𝑙subscript𝑏𝑢b\in[b_{l},b_{u}]italic_b ∈ [ italic_b start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT ], and the bottom plot shows the error En(ejωT,b)subscript𝐸𝑛superscript𝑒𝑗𝜔𝑇𝑏E_{n}(e^{j\omega T},b)italic_E start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( italic_e start_POSTSUPERSCRIPT italic_j italic_ω italic_T end_POSTSUPERSCRIPT , italic_b ) in (11). It is seen that the stopband level of all the responses is less than 60 dB.

The implementation and design complexity rates are listed in Tables II and III, respectively. Since (L1)/N=1/4𝐿1𝑁14(L-1)/N=1/4( italic_L - 1 ) / italic_N = 1 / 4 in this example, the exponents in (5) can be implemented using 2 real multiplications and 2 additions only for every odd k𝑘kitalic_k whereas there are no computations for every even k𝑘kitalic_k. It is seen that the proposed approach shows significant savings in both complexities compared to other implementations. Moreover, the proposed approach allows to design and implement a VBW filter with the same complexity regardless the range of the variable parameter b𝑏bitalic_b, while the filters in [11] and [10] cover only narrow range of variable parameter b𝑏bitalic_b for a reasonable complexity. This means that for the entire variable band case, which is illustrated in Fig. 5, the complexity savings offered by the proposed method will be even much higher.

TABLE II: Implementation Complexity for the VBW Filter in the Example
Design/Impl. L𝐿Litalic_L N𝑁Nitalic_N M𝑀Mitalic_M P𝑃Pitalic_P Rmfsubscript𝑅𝑚𝑓R_{mf}italic_R start_POSTSUBSCRIPT italic_m italic_f end_POSTSUBSCRIPT Rmvsubscript𝑅𝑚𝑣R_{mv}italic_R start_POSTSUBSCRIPT italic_m italic_v end_POSTSUBSCRIPT Rasubscript𝑅𝑎R_{a}italic_R start_POSTSUBSCRIPT italic_a end_POSTSUBSCRIPT
TD/TD [11] 29 - - 4 75 4 145
TD/FD [10] 29 128 100 - 5.2 1.9 23.8
FD/FD (prop.) 33 128 96 - 6.0 0.3 22.1
Saving to [11] - - - - 91.9% 92.2% 84.8%
Saving to [10] - - - - --17.1% 83.7% 7.1%
TABLE III: Design Complexity for the VBW Filter in the Example
Design/Impl. L𝐿Litalic_L N𝑁Nitalic_N M𝑀Mitalic_M Rmdsubscript𝑅𝑚𝑑R_{md}italic_R start_POSTSUBSCRIPT italic_m italic_d end_POSTSUBSCRIPT Radsubscript𝑅𝑎𝑑R_{ad}italic_R start_POSTSUBSCRIPT italic_a italic_d end_POSTSUBSCRIPT Mem.
TD/TD [11] 29 - - 0 1 1
TD/FD(a) [10] 29 128 100 5.2 5.1 640
TD/FD(b) [10] 29 128 100 7.7 15.4 75
FD/FD (prop.) 33 128 0 0 0 15

Refer to caption

Figure 5: Modulus of the frequency response and the error in (11) for the entire variable band case in the example.

V Conclusions

This paper proposed an efficient approach to design an FC-based VBW filter using the HFSO. As shown through the design example, the proposed technique can significantly reduce both the implementation and design complexities by avoiding any arithmetic operations when the variable parameter b𝑏bitalic_b is changed and by relaxing memory requirements.

References

  • [1] I. Raghu, N. Haridas, and E. Elias, “High performance continuous variable bandwidth digital filter design for hearing aid application,” AEÜ - Int. J. Electron. Commun., vol. 92, pp. 36–53, 2018.
  • [2] I. Raghu and E. Elias, “Low complexity spectrum sensing technique for cognitive radio using Farrow structure digital filters,” Eng. Science Tech., Int. Journal, vol. 22, no. 1, pp. 131–142, Feb. 2019.
  • [3] M. Renfors, J. Yli-Kaakinen, and F. J. Harris, “Analysis and design of efficient and flexible fast-convolution based multirate filter banks,” IEEE Trans. Signal Process., vol. 62, no. 15, pp. 3768–3783, Aug. 2014.
  • [4] J. J. Shynk, “Frequency-domain and multirate adaptive filtering,” IEEE Signal Process. Magazine, vol. 9, no. 1, pp. 14–37, Jan. 1992.
  • [5] K. Ishihara, R. Kudo, T. Kobayashi, A. Sano, Y. Takatori, T. Nakagawa, and Y. Miyamoto, “Frequency-domain equalization for coherent optical transmission systems,” in Proc. Optical Fiber Commun. Conf. and Exposition and the National Fiber Optic Engineers Conf., Mar. 6-10, 2011, pp. 1–3.
  • [6] A. Kovalev, O. Gustafsson, and M. Garrido, “Implementation approaches for 512-tap 60 gsa/s chromatic dispersion FIR filters,” in Proc. 51st Asilomar Conf. Signals, Systems, and Computers, Oct. 29–Nov. 1, 2017.
  • [7] H. Johansson and O. Gustafsson, “On frequency-domain implementation of digital FIR filters using overlap-add and overlap-save techniques,” Feb. 2023, doi: 10.48550/ARXIV.2302.08845.
  • [8] A. Oppenheim and R. Schafer, Discrete-Time Signal Processing, 3rd ed.   Pearson, 2010.
  • [9] A. Daher, E. H. Baghious, G. Burel, and E. Radoi, “Overlap-save and overlap-add filters: Optimal design and comparison,” IEEE Trans. Signal Processing, vol. 58, no. 6, pp. 3066–3075, Jun. 2010.
  • [10] O. Moryakova and H. Johansson, “Frequency-domain implementations of variable digital FIR filters using the overlap-save technique,” in Proc. 2023 24th Int. Conf. Digital Signal Processing (DSP), Rhodes, Greece, Jun. 11–13, 2023, pp. 1–5.
  • [11] P. Löwenborg and H. Johansson, “Minimax design of adjustable-bandwidth linear-phase FIR filters,” IEEE Trans. Circuits Syst. I: Reg. Papers, vol. 53, no. 2, pp. 431–439, Feb. 2006.
  • [12] L. Rabiner, B. Gold, and C. McGonegal, “An approach to the approximation problem for nonrecursive digital filters,” IEEE Trans. Audio and Electroacoustics, vol. 18, no. 2, pp. 83–106, Jun. 1970.
  • [13] S. Harris and E. Ifeachor, “Automatic design of frequency sampling filters by hybrid genetic algorithm techniques,” IEEE Trans. Signal Process., vol. 46, no. 12, pp. 3304–3314, Dec. 1998.
  • [14] S. Salcedo-Sanz, F. Cruz-Roldan, C. Heneghan, and X. Yao, “Evolutionary design of digital filters with application to subband coding and data transmission,” IEEE Trans. Signal Process., vol. 55, no. 4, pp. 1193–1203, Apr. 2007.
  • [15] R. Y. Belorutsky and I. S. Savinykh, “Modified technique of FIR filter design by the frequency sampling method,” in 2016 11th Int. Forum on Strategic Technology (IFOST), Jun. 01-03, 2016, pp. 259–262.
  • [16] P. P. Vaidyanathan, Multirate Systems and Filter Banks.   USA: Prentice-Hall, Inc., 1993.
  • [17] H. Sorensen, D. Jones, M. Heideman, and C. Burrus, “Real-valued fast Fourier transform algorithms,” IEEE Trans. Acoustics, Speech, and Signal Process., vol. 35, no. 6, pp. 849–863, June 1987.
  • [18] M. G. Bellanger, Digital Processing of Signals.   John Wiley and Sons, 1984.