1 Introduction

The second-generation current conveyor (CC) has been most promising candidate for analog signal processing/generation since its inception in 1970 [25]. This is attributed to its higher signal bandwidth, simpler circuitry and lower power consumption [11]. Introduction of digital control/programming in the second-generation CC (CCII) has further enhanced its functional flexibilities and versatility [7, 10, 12, 17, 26, 29].

Analog programming techniques are widely used in a number of applications [15, 21, 22, 31]. However, the limitation on the allowable range of analog tuning voltage makes it inconvenient for the low-voltage applications. Hence, in these applications, the digital control is more attractive [7, 10, 12, 17, 26, 29]. Digital programming techniques not only yields better accuracy in avoiding parameter variations but also offers additional advantages such as better noise performance [3, 24], power saving option [24] (for brevity reasons, these points are not discussed) and most importantly the direct compatibility to modern mixed mode (analog/digital) systems.

Although the concept of digital programmability is not new, the field lacks in providing efficient DPUF realizations. The efficient DPUF structures compatible to integrated circuit (IC) realization should fulfil following conditions: (1) It must be reconfigurable to realize different filter functions (types), namely lowpass (LP), highpass (HP), bandpass (BP), band reject (BR) and allpass (AP), without any change in configuration. (2) All its parameters, namely pole frequency \((\omega _{0})\), quality factor (Q) and gain (G), should be independently programmable to set the desired frequency response [5]. (3) It must employ minimum possible number of the active and passive (preferably grounded capacitor [9]) components from area viewpoint. (4) For enhanced versatility, it should operate in all the four modes, i.e. voltage mode (VM), current mode (CM), transimpedance mode (TIM) and transadmittance mode (TAM).

A detailed survey of available literature not only shows limited availability of CC-based DPUFs [7, 10, 12, 16, 17, 26, 29] but also shows that these DPUFs possess limited number of features. All these DPUFs except that of [26] realize three or lesser filter functions, provide limited programmability features (none of these DPUFs provide programming of filter types, i.e. reconfigurability) and also lack the mixed mode operation. Recently reported DPUF of [26] realizes all the filter functions in all the modes, but it lacks the programming of gain parameter and filter types. UFs reported in [1, 2, 1921, 31] operate in all the four modes, but none of them have the feature of digital programming. Thus, the major objective of this paper is to present a Generalized UF configuration, which could provide all the aforementioned features using minimum possible number of active and passive components.

The proposed Generalized DPUF provides almost all the desirable features such as (1) reconfigurability, (2) realization of all the filter functions in all the modes, (3) independently programmable parameter (\(\omega _{0}, Q, G\)) set, (4) full cascadability by virtue of high (low) impedance input (output) port for voltage signal and vice versa for current signal, (5) no component matching constraint, (6) minimum number of current and voltage input terminals, i.e. one, and (7) less parasitic effects due to the use of grounded components. However, for providing all these features, it uses two multi-output CCIIs (MOCCIIs), six DP-CCIIs and six grounded passive elements including two capacitors.

Need of eight CCs in Generalized DPUF is justified by introducing four additional (new) mixed mode programmable/ non-programmable UFs. These UFs using ‘2–7’ CCs are designated as Derived UFs as they are obtained by the deletion of CCs of Generalized DPUF. Proportionate reduction in features of Derived UF with the number of CCs proves the reasonability of eight CCs used in Generalized DPUF. Although the features of the proposed UFs decrease with the number of CCs, all the configurations retain few important features such as cascadability and use of grounded capacitor. Finally, better/comparable performance of Generalized and the reduced-performance Derived filters with that of the reported filters (in comparison section) again justifies the need of eight CCs in the proposed Generalized UF.

This paper is organized as follows: Starting from the Introduction, Sect. 2 briefly illustrates DPCC, Sect. 3 presents the realization of the proposed Generalized mixed mode DPUF, Sect. 4 describes the Derived mixed mode configurations, Sect. 5 discusses the parasitic effects, Sect. 6 presents the systematic comparison of the proposed filters, Sect. 7 deals with simulation result, and finally, the paper is concluded in Sect. 8.

2 Overview of DPCCII

Literature reports number of DPCC structures [7, 10, 12, 17, 29]. The concept of digital control in all these structures is similar and is based on employing an n-bit current division/summing network (CDN/CSN), which scales up (amplification) or scales down (attenuation) the current gain of the conventional (non-programmable) CCII. In order to describe the functioning of the proposed UFs more clearly, the DPCCII of [12] is used in this paper. However, overall performance of proposed UFs will highly depend on the choice of particular DPCC. The DPCCII of [12] is derived from the CCII (consisting of transistor set M1–M14) structure depicted in Fig. 1. Figure 1 also shows additional positive and negative Z-ports of CCII to depict the formation of MOCCII.

Fig. 1
figure 1

CMOS structure of CCII [12] with additional Z-ports to form MOCCII

The DPCCII is derived by replacing the port X (or Z) transistors M11–M12 (or M13-M14) of CCII by a CSN. Figure 2 shows the DPCCII schematic with CSN at port Z. The CSN consists of n-transistor arrays (\(j=0,1,{\ldots },n-1)\) and codeword (\(a_{n-1},a_{n-2} ,{\ldots },a_{0})\)-controlled MOS switches. In Fig. 2, transistors of CSN are designated as \(\hbox {M}_{\mathrm{Pjs}}\) (or \(\hbox {M}_{\mathrm{Njs}})\), where subscripts P, N and S (if present) simply denote the PMOS, NMOS and switching transistors, respectively. Transistors of each array have aspect ratio set in binary weighted order according to

$$\begin{aligned} \left( {\frac{W}{L}} \right) _{\hbox {M}_\mathrm{Pj} ,\;\hbox {M}_\mathrm{Pjs} \;\left( {\hbox {or}\,\hbox {M}_\mathrm{Nj} ,\;\hbox {M}_\mathrm{Njs} } \right) } =2^{j}\left( {\frac{W}{L}} \right) _{\mathrm{M}11 \;\left( {\hbox {or}\,\mathrm{M}12} \right) } \qquad j=0,1,\ldots , n-1 \end{aligned}$$
(1)

Port Z current, if flowing out of the DPCC is given by

$$\begin{aligned} I_\mathrm{Z}= & {} a_0 \left( {I_{\mathrm{M}_{\mathrm{P}0} } -I_{\mathrm{M}_{\mathrm{N}0} } } \right) +a_1 \left( {I_{\mathrm{M}_{\mathrm{P}1} } -I_{\mathrm{M}_{\mathrm{N}1} } } \right) +\cdots +a_{n-1} \left( {I_{\mathrm{M}_{\mathrm{P}n-1} } -I_{\mathrm{M}_{\mathrm{N}n-1} } } \right) \nonumber \\= & {} \sum _{i=0}^{n-1} {a_j \left( I_{\mathrm{M}_{\mathrm{P}j} } -I_{M_{\mathrm{N}j}}\right) } \end{aligned}$$
(2)

where \(a_{j}\) denotes applied code-bit controlling the switching transistors of jth array.

Fig. 2
figure 2

CMOS structure of DPCC [12] with CSN at port Z

Port X current, if flowing out of the DPCC is given by

$$\begin{aligned} I_\mathrm{X} =\left( {I_{\mathrm{M}11} -I_{\mathrm{M}12} } \right) \end{aligned}$$
(3)

Since the overdrive voltage \((V_{\mathrm{ov}})\) of \(\hbox {M}_{\mathrm{Pj}}\) and \(\hbox {M}_{\mathrm{Nj}}\) transistors are equal to that of M11 and M12, respectively, difference of their drain currents using the standard drain current formula \(\left( {I_\mathrm{D}=\frac{K^{{\prime }}}{2}\frac{W}{L}v_\mathrm{ov}^2 } \right) \) is given as

$$\begin{aligned} I_{\mathrm{M}_\mathrm{Pj} } -I_{\mathrm{M}_\mathrm{Nj} } =\frac{K_p^{\prime } }{2}\left( {\frac{W}{L}} \right) _{\mathrm{M}_\mathrm{Pj} } \left| {v_\mathrm{ov}^2 } \right| _{\mathrm{M}11} -\frac{K_n^{\prime } }{2}\left( {\frac{W}{L}} \right) _{\mathrm{M}_\mathrm{Nj} } \left| {v_\mathrm{ov}^2 } \right| _{\mathrm{M}12} \end{aligned}$$
(4)

where \(K_\mathrm{p}^{\prime }\) and \(K_\mathrm{n}^{\prime }\) denote the process transconductance parameters of PMOS and NMOS transistors, respectively.

Difference current of transistors \(\hbox {M}_{\mathrm{Pj}}\) and \(\hbox {M}_{\mathrm{Nj}}\) using (1) and (4) is given as

$$\begin{aligned} I_{\mathrm{M}_\mathrm{Pj} } -I_{\mathrm{M}_\mathrm{Nj} } =2^{j}I_{_{\mathrm{M}11} } -2^{j}I_{_{\mathrm{M}12} } =2^{j}\left( {I_{_{\mathrm{M}11} } -I_{_{\mathrm{M}12} } } \right) \end{aligned}$$
(5)

Thus, the port Z current using (2, 3) and (5) is given as

$$\begin{aligned} I_\mathrm{Z} =\sum _{i=0}^{n-1} {a_j 2^{j}(I_{\mathrm{M}_{11} } -I_{\mathrm{M}_{12} } )} =\left[ {\sum _{i=0}^{n-1} {a_j 2^{j}} } \right] I_\mathrm{X} =KI_\mathrm{X} =I_\mathrm{Z} \end{aligned}$$
(6a)

Similarly, the placement of CSN to port X modifies (6a) as [12]

$$\begin{aligned} \frac{I_\mathrm{Z}}{I_\mathrm{X} }=\frac{1}{K} \end{aligned}$$
(6b)

It can be seen from [SubEquationDirect](6a) that the current gain of CCII is programmable by n-bit digital codeword \((a_{n-1},a_{n-2},{\ldots }, a_{0})\). Parameter ‘K’ (Eq. 6) denotes the decimal equivalent of n-bit codeword \(({=}a_{n-1}, a_{n-2},{\ldots },a_{0})\). It is given as

$$\begin{aligned} K=\sum _{j=0}^{n-1} {a_j 2^{j}} \end{aligned}$$
(7)

Transfer matrix of DPCCII can be expressed as

$$\begin{aligned} \left[ {{\begin{array}{l} {I_\mathrm{Y} } \\ {V_\mathrm{X} } \\ {I_\mathrm{Z} } \\ \end{array} }} \right] =\left[ {{\begin{array}{l@{\quad }l@{\quad }l} 0&{} 0&{} 0 \\ 1&{} 0&{} 0 \\ 0&{} {K^m }&{} 0 \\ \end{array} }} \right] \left[ {{\begin{array}{l@{\quad }l@{\quad }l} {V_\mathrm{Y} } \\ {I_\mathrm{X} } \\ {V_\mathrm{Z} } \\ \end{array} }} \right] \end{aligned}$$
(8)

Power integer, \(m=\pm 1\) corresponds to the two variants of DPCCII. The value \(m= -1\) denotes the \(\hbox {DPCCIIK}^{-}\) block with CSN at port X and current attenuation (\(K^{-1}=K^{- }=1/K\)) in range ‘\(1\rightarrow 1/(2^{n}-1)\)’. Similarly, \(m=+1\) denotes the \(\hbox {DPCCIIK}^{+}\) block with CSN at port Z and current amplification \((K^{+1}=K^{+}=K)\) in range ‘\(0\rightarrow (2^{n}-1)\)’. The concept of zero gain (for \(K=0\); i.e. all bits zero) is used for programming the generation of various filter function (types).

DPCCII in the symbolic form may be represented as four-port block as shown in Fig. 3a. But for simplified presentation, the modified block shown in Fig. 3b is used in this paper. It shows \(i\hbox {th}\;\hbox {DPCCIIK}^{\pm }\) block (sometimes also referred as \(K_{\mathrm{i}}\) block) with current gain \(K_\mathrm{i}^{\pm }\) and applied codeword \(K_{i}\). Non-programmable CCIIs/MOCCIIs, used in the paper, are designated by encircled numbers. Also, the inverted Z-ports of MOCCII are shown by ‘\(-\hbox {Z}\)’.

Fig. 3
figure 3

a Symbol of DPCCII, b modified symbol

3 Proposed Generalized Mixed Mode DPUF

The Generalized DPUF is depicted in Fig. 4a. It uses six DPCCIIs \((5\hbox {DPCCIIK}^{+}\) and \(1\hbox {DPCCIIK}^{-})\), two MOCCIIs and six grounded passive elements including two capacitors. Circuit analysis yields the following output equations

$$\begin{aligned} V_0= & {} I_0 R_{L} \end{aligned}$$
(9)
$$\begin{aligned} I_0= & {} \frac{-\left[ {s^{2}\left\{ {K_1 } \right\} -s\frac{1}{C_2 R_2 }\frac{K_6 }{K_4 }\left\{ {K_2 } \right\} +\frac{K_5 K_6 }{C_1 C_2 R_1 R_2 }\left\{ {K_3 } \right\} } \right] \left( {I_i +\frac{V_i }{R_3 }} \right) }{s^{2}+s\frac{1}{C_2 R_2 }\frac{K_6 }{K_4 }+\frac{K_5 K_6 }{C_1 C_2 R_1 R_2 }} \end{aligned}$$
(10)

Setting codeword condition \(K_{5}=K_{6}\) modifies (10) as

$$\begin{aligned} I_0 =\frac{-\left[ {s^{2}\left\{ {K_1 } \right\} -s\frac{1}{C_2 R_2 }\frac{K_5 }{K_4 }\left\{ {K_2 } \right\} +\frac{K_5^2 }{C_1 C_2 R_1 R_2 }\left\{ {K_3 } \right\} } \right] \left( {I_i +\frac{V_i }{R_3 }} \right) }{s^{2}+s\frac{1}{C_2 R_2 }\frac{K_5 }{K_4 }+\frac{K_5^2 }{C_1 C_2 R_1 R_2 }} \end{aligned}$$
(11)

It is evident from (11) that all the coefficients of its numerator and denominator functions are independently programmable by various codewords. Codewords \(K_{1},K_{2}\) and \(K_{3}\) programming the numerator coefficients not only govern the generation of various filter functions in all the four modes but also provide them the independently programmable gain factors too. Table 1 summarizes the codeword conditions for generating different filter functions and the respective gain parameters in all the four modes. It is to be noted that none of the responses in any of the mode requires any component matching constraint.

Fig. 4
figure 4

a Generalized mixed mode DPUF. b First Derived DPUF. c Second Derived DPUF d Third Derived DPUF. e Fourth Derived UF

Table 1 Filter functions and respective gains in different mode for various codeword combinations

Filter parameters \(\omega _{0}\) and Q from (11) are given as

$$\begin{aligned} \omega _0= & {} K_5 \sqrt{\frac{1}{C_1 C_2 R_1 R_2 }}=\left[ {K_5} \right] \omega _c \end{aligned}$$
(12a)
$$\begin{aligned} Q= & {} K_4 \sqrt{\frac{C_2 R_2 }{C_1 R_1 }}=\left[ {K_4 } \right] Q_c \end{aligned}$$
(12b)

where \(\omega _{c}\) and \(Q_{c}\) are defined as component-dependent factors of \(\omega _{0}\) and Q, respectively. It is given as

$$\begin{aligned} \omega _c= & {} \sqrt{\frac{1}{C_1 C_2 R_1 R_2 }} \end{aligned}$$
(13a)
$$\begin{aligned} Q_c= & {} \sqrt{\frac{C_2 R_2 }{C_1 R_1 }} \end{aligned}$$
(13b)

It can be seen from (12) that \(\omega _{0}\) and Q of all the responses are independently programmable through codeword \(K_{5}({=}K_{6}\)) and \(K_{4}\), respectively.

Aforementioned discussion shows the need of six programmable blocks (DPCC-1–6, i.e. \(K_{1}{-}K_{6}\) blocks) for obtaining all the programmability features. Obviously, the deletion of DPCCs will lead to proportionate reduction in the programmability features as well. This fact is justified by the Derived UFs discussed in the next section.

One additional advantage offered by the proposed Generalized and Derived (to be described in the next section) DPUFs is the downscale programming of pole frequency \(\omega _{0}\) (given by Eq. 12a). This is achieved by reversing the gain parameter ‘\(K^{+}\)’ of DPCC-5, 6 by ‘\(K^{-}\)’, i.e. by changing \(\hbox {DPCCIIK}^{+}\) by \(\hbox {DPCCIIK}^{- }\) block. In this case, pole frequency decreases with increasing codeword \(({=}a_{n-1},a_{n-2},{\ldots },a_{0})\). This approach is useful in achieving the low-frequency operation without the requirement of large component values, i.e. it helps in reducing the chip area [24].

Component value \(C_{1}=2C_{2}\) (or \(R_{1}=2R_{2}\)) may be set at design level for having \(Q=Q_{c} =1/\surd 2\) for \(K_{4}=1\), as given by (12b and 13b). It is required for maximal flat LP and HP responses. On the other hand, high Q-values (without large component spread), required for BP and BR, may be realized by programming \(K_{4}\) (Eq. 12b), which can be further increased by (1) cascading an identical DPCC with DPCC-4. This results in \(Q_{\max }=(2^{n}-1)^{2}\). (2) Adding additional transistor arrays in CDN of DPCCII-4, i.e. by increasing codeword size or number of bit (n) of DPCC-4. This results in \(Q_{\max }=(2^{n}-1)\).

4 Additional (Derived) Mixed Mode UF Configurations

Four mixed mode programmable/non-programmable UFs, Derived from the Generalized DPUF, are discussed in this section. All these configurations use ‘2–7’ CCs/DPCCs, ‘3–6’ resistors and two grounded capacitors only. For concise presentation, all the equations in this section are given for codeword condition \(K_{5}=K_{6}\).

4.1 First Derived Mixed Mode DPUF

The First mixed mode DPUF as depicted in Fig. 4b is Derived by deleting the CC-8 of Generalized configuration. The proposed modification needs three current inputs rather than one, but still it retains all the programmability features of the Generalized DPUF. This is because of the availability of all the programmable blocks (DPCC ‘1–6’). Output function of this DPUF is given by

$$\begin{aligned} V_0= & {} R_{L} I_0 \end{aligned}$$
(14a)
$$\begin{aligned} I_0= & {} \frac{{\begin{array}{l}\displaystyle V_i \left[ {\frac{s^{2}\left\{ {K_1 } \right\} }{R_3 }-s\frac{K_5 \left\{ {K_2 } \right\} }{K_4 C_2 R_2 R_4 }+\frac{K_5^2 \left\{ {K_3 } \right\} }{C_1 C_2 R_1 R_2 R_5 }} \right] +\\ \qquad \displaystyle \left[ {s^{2}\left\{ {K_1 } \right\} I_1 -s\frac{K_5 I_2 \left\{ {K_2 } \right\} }{K_4 C_2 R_2 }+\frac{I_3 K_5^2 \left\{ {K_3 } \right\} }{C_1 C_2 R_1 R_2 }} \right] \end{array}}}{\displaystyle s^{2}+s\frac{1}{C_2 R_2 }\frac{K_5 }{K_4 }+\frac{K_5^2 }{C_1 C_2 R_1 R_2 }} \end{aligned}$$
(14b)

It can be seen from (14b) that the generation of all the filter functions (types) follows the same programmability rule as given in Table 1 for Generalized DPUF. Also, the equality of denominator of (14b) and (11) leads to same parameter (\(\omega _{0}\) and Q) expressions as given in (12). Thus, this configuration is also fully programmable. Besides the need of three current inputs, the proposed modification also requires component matching constraint \(R_{3}=R_{5}\) and \(R_{3}=R_{4}=R_{5}\) for the realization of BR and AP responses, respectively, for voltage output.

4.2 Second Derived Mixed Mode DPUF

Further deletion of DPCCs ‘1–3’ results in Second Derived DPUF (Fig. 4c). This modification not only requires three input signals for both current and voltage variables but also misses the programmability feature of filter functions (type). The configuration provides both inverting and non-inverting forms of voltage outputs simultaneously, at the low impedance port. Mixed mode operation and filter parameters of this configuration are characterized by the following set of equations.

$$\begin{aligned}&\left\{ \begin{array}{l} V_0 =R_{L} I_o ,\quad V_0^{\prime } =-R_{L}^{\prime } I_o ,\\ I_0 =\frac{{\begin{array}{l}\displaystyle \left[ {\frac{s^{2}}{R_2 }V_1 -\frac{sK_5 }{K_4 C_2 R_2 R_3 }V_2 +\frac{K_5^2 }{C_1 C_2 R_1 R_2 R_4 }V_3 } \right] +\\ \qquad \displaystyle \left[ {s^{2}I_1 -\frac{sK_5 }{K_4 C_2 R_2 }I_2 +\frac{K_5^2 }{C_1 C_2 R_1 R_2 }I_3 } \right] \end{array}}}{\displaystyle s^{2}+s\frac{R_{L}^{\prime } }{C_2 R_2 R_3 }\frac{K_5 }{K_4 }+\frac{K_5^2 R_{L} }{C_1 C_2 R_1 R_2 R_4 }} \end{array}\right. \end{aligned}$$
(15)
$$\begin{aligned}&\omega _0 =K_5 \sqrt{\frac{R_{L} }{C_1 C_2 R_1 R_2 R_4 }},\quad \quad Q=K_4 \frac{R_3 }{R_{L}^{\prime } }\sqrt{\frac{C_2 R_2 R_{L} }{C_1 R_1 R_4 }} \end{aligned}$$
(16)

It is evident from (15, 16) that this configuration only retains the programming feature of \(\omega _{0}\, and \,Q\), since the configuration lacks the programming feature of filter type; its filter function generation depends on the proper combination of input variables as shown in Table 2. This configuration needs slightly more matching constraints as (\(R_{4}=R_L)\) for BR and (\(R_{4}=R_L, R_{3}={R_{\mathrm{L}}}\)’) for AP in case of current output and additional constraint (\(R_{1}=R_{2})\) over BR and (\(R_{1}=R_{2}=R_{3})\) over AP in case of voltage output.

4.3 Third Derived Mixed Mode DPUF

Further deletion of DPCC-4 results in Third Derived mixed mode DPUF as shown in Fig. 4d. It uses only three CCs and four resistors. However, deletion of \(K_{4}\) block vanishes the programmability of Q-factor. Output functions and parameters of this DPUF are given as

$$\begin{aligned} V_0= & {} R_{L} I_0,\quad I_0 =\frac{{\begin{array}{l}\displaystyle \left[ {\frac{s^{2}}{R_2 }V_1 +\frac{sK_5 }{C_2 R_2 R_1 }V_2 +\frac{K_5^2 }{C_1 C_2 R_1 R_2 R_3 }V_3 } \right] +\\ {} \displaystyle \qquad \left[ {s^{2}I_1 +\frac{sK_5 }{C_2 R_2 }I_2 +\frac{K_5^2 }{C_1 C_2 R_1 R_2 }I_3 } \right] \end{array}}}{\displaystyle s^{2}+s\frac{K_5 }{C_2 R_2 }+\frac{K_5^2 R_{L} }{C_1 C_2 R_1 R_2 R_3 }} \end{aligned}$$
(17)
$$\begin{aligned} \omega _0= & {} K_5 \sqrt{\frac{R_{L} }{C_1 C_2 R_1 R_2 R_3 }},\quad \quad Q=\sqrt{\frac{C_2 R_2 R_{L} }{C_1 R_1 R_3 }} \end{aligned}$$
(18)

It is evident from (17, 18) that the proposed modification provides \(\omega _{0}\) programming only and also it requires an additional inverter for AP realization. This case too, requires proper combination of inputs for generation of various filter functions as depicted in Table 2. Current output requires common matching constraint (\(R_{\mathrm{L}}=R_{3})\) for both BR and AP, whereas voltage output requires (\(R_{2}=R_{3}=R_L)\) and (\(R_{1}=R_{2}=R_{3}=R_L)\) for BR and AP, respectively.

Need of an extra inverter for AP realization can be removed by changing the polarity of CC-5, 6. In this case, Eq. (17) remains same except the sign inversion, which appears in the coefficient of ‘s’ of its numerator.

4.4 Fourth Derived Mixed Mode UF

Further deletion of DPCC-5 from the Third configuration (Fig. 4d) results in complete omission of the programmability features and derives the Fourth non-programmable mixed mode UF as depicted in Fig. 4e. Mixed mode operation of UF is governed by following equations

$$\begin{aligned} V_0= & {} R_{L} I_o ,\quad I_0 =\frac{{\begin{array}{l}\displaystyle \left[ {\frac{s^{2}}{R_2 }V_1 -\frac{s}{C_2 R_1 R_2 }V_2 } \right] +\\ \displaystyle \qquad \left[ {s^{2}I_1 -\frac{s}{C_2 R_2 }I_2 +\frac{1}{C_1 C_2 R_1 R_2 }I_3 } \right] \end{array}}}{\displaystyle s^{2}+s\frac{1}{C_2 R_2 }+\frac{1}{C_1 C_2 R_1 R_2 }} \end{aligned}$$
(19)
$$\begin{aligned} \omega _0= & {} \sqrt{\frac{1}{C_1 C_2 R_1 R_2 }},\quad \quad Q=\sqrt{\frac{C_2 R_2 }{C_1 R_1 }} \end{aligned}$$
(20)

It is evident from (19) that the proposed configuration realizes all the filter functions for current output but only HP and BP functions for voltage output. Filter function generation follows the same rules as given in Table 2. Although this configuration lacks the programmability feature of \(\omega _{0}\) and Q from (20), it can be controlled independently by first setting moderate component ratios (\(C_{2}/C_{1}\) or \(R_{2}/R_{1})\) for desired Q and then varying \(\omega _{0}\) keeping these ratios unchanged.

Table 2 Derived filter functions for various input combinations

5 Analysis of Parasitic Effects

CCII has high valued parasitic resistance \(R_{\mathrm{Y}}\) (or \(R_{\mathrm{Z}})\) in parallel with low-value parasitic capacitance \(C_{\mathrm{Y}}\) (or \(C_{\mathrm{Z}})\) at port Y (or Z). The effect of parasitic resistances at port Y and Z is not considered as these are much greater than the external resistances of the circuit. Modified output function of Generalized DPUF considering these parasitics is given as

$$\begin{aligned}&V_\mathrm{op} =\frac{R_{L} I_\mathrm{op} }{1+sR_{L} \left( {C_\mathrm{Z73} +C_\mathrm{Y7} } \right) } \end{aligned}$$
(21)
$$\begin{aligned} I_\mathrm{0P}= & {} \dfrac{{\begin{array}{l}\displaystyle -\left[ \dfrac{\displaystyle s^{2}\left\{ {K_1 } \right\} }{\left( {\displaystyle 1+sR_\mathrm{X1} C_\mathrm{Z81} } \right) }-\dfrac{\displaystyle sK_6 \left\{ {K_2 } \right\} }{K_4 C_\mathrm{2P} R_\mathrm{2P} \left( {1+sR_\mathrm{X2} C_\mathrm{Z82} } \right) }+\right. \\ \displaystyle \qquad \left. \dfrac{K_5 K_6 \left\{ {K_3 } \right\} }{C_\mathrm{1P} C_\mathrm{2P} R_\mathrm{1P} R_\mathrm{2P} \left( {1+sR_\mathrm{X3} C_\mathrm{Z83} } \right) }\right] \left( {\dfrac{V_i }{R_\mathrm{3p} }+\dfrac{R_3 I_i }{R_\mathrm{3p} }} \right) \end{array}}}{{\begin{array}{l}\displaystyle s^{2}\left\{ {1+sR_\mathrm{X7} (C_\mathrm{Z1} +C_\mathrm{Z6} )} \right\} +\dfrac{sK_6 }{K_4 C_\mathrm{2P} R_\mathrm{2P} \left\{ {1+sR_\mathrm{X4} (C_\mathrm{Z2} +C_\mathrm{Z71} )} \right\} }\\ \displaystyle \qquad +\dfrac{K_5 K_6 }{C_\mathrm{1P} C_\mathrm{2P} R_\mathrm{1P} R_\mathrm{2P} }\end{array}}} \end{aligned}$$
(22)

where \(C_{\mathrm{1P}}=C_{1}+C_\mathrm{Z3}+C_\mathrm{Y5}+C_\mathrm{Z72}\), \(C_\mathrm{2P}=C_{2}+C_\mathrm{Z4}+C_\mathrm{Z5}+C_\mathrm{Y6}, R_\mathrm{1P}=R_{1}+R_\mathrm{X5}, R_\mathrm{2P}=R_{2}+R_\mathrm{X6}, R_\mathrm{3P}=R_{3}+R_\mathrm{X8}\). Subscript ‘P’ denotes the modified output functions and component values under the influence of parasitic. Second and third (if any) subscripts associated with parasitic elements denote the ith CC (\(i=1,2{\ldots }.8\)) and port number in case of multiple similar ports, respectively. Advantage of grounded components is obvious from these equations. They absorb large number of parasitics and thus do not create any unwanted pole. On the other hand, parasitic products \(R_\mathrm{XI}C_\mathrm{Z81}\), \(R_\mathrm{X2}C_\mathrm{Z82}, R_\mathrm{X3}C_\mathrm{Z83}, R_\mathrm{X4}(C_\mathrm{Z2}+C_\mathrm{Z71})\) and \(R_\mathrm{X7}(C_\mathrm{Z1}+C_\mathrm{Z6})\) are too small and can be easily neglected without having any significant impact over the circuit operation. Under these conditions, current output (Eq. 22) approximates to that of ideal response, and thus, it may be considered insensitive to parasitics. On the other hand, the interaction of \(R_{L}\) and (\(C_\mathrm{Z73}+C_\mathrm{Y7})\) creates an unwanted pole and affects the voltage output (Eq. 21) at frequencies above

$$\begin{aligned} \omega _\mathrm{P} =\frac{1}{R_{L} \left( {C_\mathrm{Z73} +C_\mathrm{Y7} } \right) } \end{aligned}$$
(23)

Although this frequency is quite high, it can be further increased by decreasing \(R_L\) without having any constraint over lower limit as required in [22].

6 Comparison

Large number of mixed mode UFs based on various active elements are reported in the literature. However, for fair comparison, only CCII-based configurations are taken into account. The proposed UF configurations are compared (Table 3) in the following important categories of various features (For reader’s convenience, desired characteristics of all these features are indicated against each categories in ‘Yes’, ‘No’, ‘Minimum’ or in ‘numbers’).

  1. (1)

    Independently programmable filter parameters—‘Yes’

    • (1a) \(\omega _{0}\), (1b) Q-factor and (1c) G

  2. (2)

    Reconfigurability—programmable filter functions (type)

  3. (3)

    Number of input terminals required—‘Minimum’, i.e. ‘1’

    • (3a) Voltage inputs and (3b) Current inputs

  4. (4)

    Appropriate port impedance—‘Yes’

    1. (4a)

      Input ports (a1) High for all voltage inputs, (a2) Low for all current inputs

    2. (4b)

      Output ports (b1) Low for all voltage outputs (b2) High for all current outputs

  5. (5)

    Number of grounded/floating (g/f) passive components—‘Minimum’, i.e. ‘2/0’

    • (5a) Resistors—g/f and (5b) Capacitors—g/f

  6. (6)

    Component matching required—’No’

  7. (7)

    Number of operational modes—‘All 4’

  8. (8)

    Number of filter functions generated each modes—‘All 5’

  9. (9)

    Type of programming analog/digital (A/D) ‘Digital’

  10. (10)

    Number of active elements‘Minimum’.

Table 3 Performance comparison chart of Generalized and Derived configurations

As already mentioned and also indicated in Table 3, only the proposed UF configurations (excluding Fourth Derived configuration) provide both the features of mixed mode operation and digital programming simultaneously, and thus they stand better in one or the other aspect. Even if the programmability features are ignored, the proposed configurations show better/comparable performance to that of the reported UFs using equal or more number of active elements.

Comparison in Table 3 shows that the CM general biquadratic UFs of [18, 22] which in limited sense may be considered as analog counterpart of the proposed Generalized DPUF, not only use quite large number of active and/or passive components but also lack number of features. Another application [27], realizing VM DPUF, uses six programmable blocks as used in Generalized DPUF, but it provides programmability of filter parameters only, not the reconfigurability. This feature (reconfigurability) is unique to the Generalized DPUF and is not available in any CC-based reported DPUFs. This feature not only makes the proposed configuration fully programmable but also makes it suitable for integration. To further prove the potentiality of Generalized configuration, its CM variant is compared with few voltage/current followers (VF/CF)-based DPUFs [46]. For comparison purpose, blocks \(K_{1}{-}K_{3}\), CC-7 and CC-4, 8 can be replaced by MOS switches, CF and digitally programmable CFs, respectively. Thus, effectively, it uses total seven followers, three switches and minimum number of passive components (\(R_{3}\) and \(R_L\) are redundant in CM operation) only. On the other hand, for providing same programmability features, CM DPUF of [4] needs one additional follower and one resistor, while that of [6] needs two additional followers and that of (Fig. 6 of Ref. [5]) needs two additional resistors.

The First Derived configuration (Fig. 4b) possessing almost all the features of Generalized configuration is compared with the non-programmable UF of [1], using equal number of active elements (seven). The proposed configuration stands better in the terms of least input voltage terminals requirement, use of only grounded resistors and appropriate input/output port impedances. Only the feature in which the proposed configuration lacks is unavailability of inverted response as provided by [1], but this can be easily achieved by taking the output from opposite Z-port. VM DPUF of [27] uses six active elements and provides almost similar features of First Derived configuration. However, it is not reconfigurable and also it uses quite large number of floating elements.

Comparison of Second Derived configuration (Fig. 4c) with structures [10, 21, 28] using equal number of active elements (four) shows that whereas [21] is constrained by the proper (weighted) current ratio for AP realization, which needs additional circuitry, [10] and [28] operates in one mode for three or less than three [10] filter functions only, while no such constraint applies over the proposed Second Derived configuration. Additional constraint over [10] lies in programming of Q, which also varies the gain of BP response. Programmable and non-programmable UFs of [26] and [2], respectively, possess almost all the features of Second Derived UF. However, they need an additional CC, i.e. total five. Other five CC-based UFs [12, 29, 31] use lesser number of inputs, but they provide three filter functions only. Moreover, only [31] operates in all the four modes, while [12, 29] operate in VM only. Besides this, [12] uses two different filter configurations for programming all the three parameters \((G,\omega _{0},Q)\), but still its programming is independent in limited sense. On the other hand, the missing feature of gain programming as provided by [12] can be easily incorporated in the proposed Second Derived DPUF by simply cascading one additional DPCC at its output without imposing any programming constraint over remaining two filter parameters. Apart from this, the proposed Second Derived configuration is capable of providing inverting and non-inverting responses simultaneously. This feature is available in UF of [26] only. Complimented voltage outputs of [1] are not available simultaneously, and also it uses large number of voltage input terminals for providing these outputs.

The Third Derived configuration (Fig. 4d) is partially programmable as it provides only \(\omega _{0}\) programming. Furthermore, it needs an additional inverter or change in polarity of CC-5, 6 for AP realization. Its comparison with three CC-based UFs [7, 13, 16, 20] shows that either these configurations have more or less similar constraints [7, 20] or they involve CM processing [13, 16], which results in simplified circuit. UF of [7] needs two additional CDNs, while that of [16] needs two additional switches and three capacitors. Moreover, all these configurations [7, 13, 16, 20] lack in providing the output at appropriate impedance port. Another application realizing the CM UF [15] provides same feature of \(\omega _{0}\) programming using analog technique, but it employs quite large number of elements; total seven CCs of both polarities and eight passive elements.

Fourth and the last Derived configuration (Fig. 4e) completely missing the programmability feature is compared with that of [19], using equal number of active elements. UF of [19] implements all the filter functions in all the four modes by using two floating capacitors; the situation is counterbalanced as the proposed configuration does not provide all the filter functions for voltage output but uses grounded capacitors only. The potential structure of this configuration can be better explained by considering its CM variant. The CM variant of this configuration uses only two CCs and minimum number of grounded passive components (resistance \(R_L\) is redundant in this case). To the best knowledge of author, this component count is minimum for any CC-based CM UF using grounded elements only. Apart from this, the proposed CM UF is suitable for very high frequency application as all the parasitic capacitances of CCs are absorbed in the external capacitances of UF. UFs of [14] use exactly equal number of active (both proposed and reported UFs use one MOCC and one negative CCII) and grounded passive components. However, it is not insensitive to parasitics.

The systematic comparison presented herein shows that the features of Derived UFs (realized from the Generalized configuration) decrease as the number of active elements are decreased. But still these reduced-performance Derived UFs show better/comparable performance to reported UFs using equal or more number of active elements. Thus, this fact in turns justifies the need of eight CCs in Generalized DPUF for obtaining all the aforementioned features.

7 Simulation Result

Performance of the proposed Generalized DPUF is verified by SPICE simulations using \(0.18\,\upmu \hbox {m}\) TSMC parameters, transistor dimensions \(\hbox {(W/L)}_{\mathrm{M1,M2,M5,M6}}{=}(14.4\upmu /0.72\upmu )\), \(\hbox {(W/L)}_{\mathrm{M3,M4,M7,M8}}= (1.44\,\upmu /1.44\,\upmu )\), \(\hbox {(W/L)}_\mathrm{M9,M10}= (1.44\,\upmu /0.72\,\upmu )\), \(\hbox {(W/L)}_\mathrm{M11, M12, M13, M14, MP0, MP0s, MN0, MN0s}{=} (72\,\upmu /0.72\,\upmu )\), \(\hbox {(W/L)}_\mathrm{MP1,\,MP1s,\,MN1,\,MN1s} = (144\,\upmu /0.72\,\upmu )\), \(\hbox {(W/L)}_\mathrm{MP2,\,MP2s,\,MN2,\,MN2s} = (288\,\upmu /0.72\,\upmu )\) and bias voltages \(V_{\mathrm{B1}}=-255\,\hbox {mV}, V_{\mathrm{B2}}=235\,\hbox {mV}\) and supply voltage \(\pm 0.75\,\hbox {V}\). DPUF is simulated for VM case using DPCC layout \((\hbox {area}= 0.0094\,\hbox {mm}^{2})\) shown in Fig. 5 and passive component values \(R_{1}=R_{2}=9\,K\Omega \), \(R_{3}=R_{L}=1\,K\Omega \) and \(C_{1}=20\hbox {pf}, C_{2}=40\hbox {pf}\). It results in component-dependent filter parameters as \(f_{\mathrm{c}}=1/2\surd 2\uppi \hbox {RC}=725.2\,\hbox {KHz}, Q_{\mathrm{c}}=1/\surd 2\) and \(G_{c}=1\). The parameter \(G_{c}\) denotes the component-dependent factor of G. It is to be noted that all the passive components of Generalized DPUF are grounded, and thus they are suitable for integration. However, for tracking the wide variations of filter parameters, they are used (and also suggested to be used) externally. In this case, passive components are used to decide the parameter values, while the available tuning range is used to compensate the parameter variations. The approach is particularly helpful for small n DPCCs (Note: the DPCC used in present paper is suitable for small n because the transistor size of its CDN/CSN increases in binary weighted order with n. Also, its linearity becomes poorer [7]). An important feature of the proposed Generalized DPUF is that it is not constrained by any component matching requirement. Thus, any component values may be chosen. The optional matching constraint of \(C_{1}=2C_{2}\) (for \(Q_{c}=1/\surd 2\)), however, has less impact over Q-factor because the error in Q is subtractive and is given by

$$\begin{aligned} \frac{\Delta Q}{Q}=\pm \frac{1}{2}\left( {\frac{\Delta C_1 }{C_1 }-\frac{\Delta C_2 }{C_2 }} \right) \end{aligned}$$
(24)

where \(\Delta C_{1}\) and \(\Delta C_{2}\) show the unwanted variations in \(C_{1}\) and \(C_{2}\), respectively.

Fig. 5
figure 5

DPCC layout

Programming matrix of various filter parameters is listed in Table 4. Firstly, the desired filter function (type) and its G is set by codewords \(K_{1}, K_{2}\) and \(K_{3}\); then the parameter values \(\hbox {f}_{0}\) and Q are programmed independently by codewords \(K_{5}=K_{6}\) and \(K_{4}\), respectively. Figure 6a depicts the realization of various filter functions for parameter values \(G=7G_{c}\) (by setting \(K_{G}=7\{111\}), f_{0}=4f_{c}\) (by setting \(K_{5}=K_{6}=K_{f}=4\{100\})\) and \(Q=Q_{c}\) (for maximal flat LP and HP response by setting \(K_{4}=K_{Q}=4\{001\})\) or \(7Q_{c}\) (for BP and BR by setting \(K_{4}=K_{Q}=7\{111\}\); required to be high). In Table 4, \(K_{G}, K_{Q}\) and \(K_{f}\) denote any nonzero codeword combination for obtaining desired values of parameter of G, Q and \(f_{0}\), respectively. Pole frequency programming is demonstrated using LP response in Fig. 6b. For \(G=7G_{c}\) (using \(K_{1}= K_{2}=0, K_{3}=7\)) and \(Q=Q_{c}\) (using \(K_{4}=1\)), \(f_{0}\) is programmed by varying \(K_{5}=K_{6}\) to codeword values \(1\{001\}, 4\{100\}\) and \(7\{111\}\). Similarly, G-programming of LP response for parameter values \(f_{0}=4f_{c}\) and \(Q=Q_{c}\) is shown for \(K_{3}=1,4,7\) in Fig. 6b. Practically, the codewords values are set by an n-bit shift register/counter, which is controlled by a tuning circuitry/algorithm. Literature reports number of tuning techniques [23, 30] for programmable filters.

Fig. 6
figure 6

a Various filter functions of Generalized DPUF. b Gain and pole frequency programming of LP

Table 4 Programming matrix of proposed DPUFs

Quality factor programming for BP and BR responses is depicted in Fig. 7a, b, respectively, for \(f_{0}=4f_{c}\) and \(G=7G_{c}\). High-Q realization approaches discussed in Sect. 4 are demonstrated in this section. For high-Q BP realization, cascade approach is used. A DPCC (let, say \(K_{4C})\) identical to \(K_{4}\) block is cascaded with it. Codeword \(K_{4}\) is varied from \(1\{001\}\) to \(7 \{111\}\) by keeping \(K_{4C}=7\{111\}\). It varies the Q-values from \(7\times 1=7Q_{c}\) to \(7\times 7=49Q_{c}\) in steps of seven. On the other hand, high-Q realization of BR response is obtained by increasing the CDN size of DPCC-4 to \(n=5\). It results in Q variation from \(Q_{c}\,(K_{4}=1)\) to \(31Q_{c} (K_{4}=31)\). Q-factor is programmed for codeword values \(K_{4}=1\{00001\}, 4\{00100\}, 8\{01000\}, 16\{10000\}\) and \(31\{11111\}\).

Fig. 7
figure 7

a Quality factor programming of BP—by cascading. b Quality factor programming of BR—by increasing CDN size

As already shown in comparison section that the proposed configurations use almost equal or lesser number of active and/or passive components than that of reported UFs for a given set of features; thus they (proposed UFs) are expected to be more area and power efficient if same DPCC (for programmable configurations) or CC (for non-programmable configurations) is used in both the proposed and the reported UFs.

Total harmonic distortion (THD) of the proposed Generalized DPUF for LP response with gain of 16.9 dB (\(K_{3}=7\)) and highest bandwidth setting (for \(K_{5}=K_{6}=7\)) is found to be better than \(-40\,\hbox {dB}\) for 62 mVp sinusoidal signal with frequency 100 KHz. Total input integrated noise over passband (1 KHz–4 MHz) is \(159.7\,\upmu \hbox {V}_\mathrm{rms}\). This results in dynamic range (DR) of 65.7 dB. Power dissipation of LP response for maximum gain/bandwidth (\(K_{3}=K_{5}=K_{6}=7\)) setting is obtained as 3.26 mW. It is to be noted that all these parameters are highly affected by the choice of particular DPCC, which in turns depends over its core element—CDN. For example, DPCCs of [7, 10, 12, 29] are suitable for power efficient design because their CDNs consume no standby power. While for area efficient design, better linearity and extended tuning range, DPCC of [7, 29] is preferred because of the excellent features of its CDN element discussed in [3]. Quantitative performance of the Generalized DPUF is compared in Table 5 with few reported DPUFs (as it is available for few DPUFs only). Better/comparable performance of the proposed Generalized DPUF is obvious from the Table 5 itself. It uses lowest supply voltage and consumes less power. Only the parameter, in which the proposed DPUF lacks, is the extended range [8]/fine tuning [4, 6] of pole frequency. DPUFs of [4, 6] attains this feature due to the use of their CDN element [3], which could be operated for large n. Thus, this feature can be easily incorporated in the proposed DPUFs by employing DPCC of [7, 29] as they use same CDN.

Table 5 Comparison of quantitative performance of Generalized DPUF

8 Conclusion

This paper presents a novel fully programmable Generalized mixed mode DPUF. It provides attractive features such as full cascadability, realization of all filter functions in all the modes, no component matching constraint, use of only grounded passive elements, least input signal requirement and almost insensitive performance to DPCC parasitics. All these features are obtained by using quite large number of active elements. Reduction in number of active elements of Generalized DPUF also reduces its features accordingly. This is verified by introducing four mixed mode Derived UFs obtained by the modification of Generalized configuration. The systematic comparison of all the proposed UFs not only shows better/ comparable performance over that of reported UFs but also justifies the need of eight CCs in Generalized DPUF.