1 Introduction

The idea of log-domain filtering which has achieved new heights was first introduced by Adams [1] and was fully articulated by Frey [2]. At first, the log-exponential characteristics of diodes, then of transistors were used and now the same characteristics of MOSFET operating in weak inversion [3, 4] are used. With all the work in this field, we got a filtering technique, which offered high frequency operation, electronic tunability, extended dynamic range, low power consumption and yet maintaining a good signal-to-noise ratio by virtue of efficient use of non-linearity.

The mathematical complexity in the exponential synthesis of state-space equations used by Frey [2] prohibits the attempt of synthesizing higher-order filters. Higher-order log-domain filters were only realized by cascading first and second-order sections as demonstrated in [2]. However, Perry and Roberts [5] proposed an alternative synthesis method by operational simulations of LC ladders. As far as higher order universal filters are concerned, the cascade approach cannot be used as the resultant higher-order filter will give us only one filtering function. Also, the LC ladders have not been often seen to implement the higher-order universal filters. In this paper, a simple technique starting from the transfer function of HP filtering function is proposed for the synthesis of nth-order universal log-domain filter. After operating on the said transfer function, we reach at block diagram or signal flow graph (SFG) which can be realized by following the same steps as in [57]. It is worth to mention that the method of synthesizing two uncommon filtering functions (LPN and HPN) is also given [810], which can substitute the function of notch very well. Also, the DC bias stabilization problem is overcome in the final transistorized log-domain realization by adding various needed-grounded positive and negative transconductor blocks [6].

Section 2 establishes the set of log-domain building blocks. The complete design method is then demonstrated in Sect. 3. The realization of LPN and HPN filters is also given in Sect. 3. Section 4 presents the simulated results. Conclusions are drawn in Sect. 5.

2 The basic log-domain building blocks

2.1 LOG and EXP operators

Let us begin with the basic log-domain cell as shown in Fig. 1(a). By applying KVL equations across the translinear loop, the relation between the voltages of input-output terminals and the output current Iout that flows from the cell is given by

$$ {\text{I}}_{\text{out}} = {\text{ Io e}}^{{\left( {{\text{V}}{}_{\text{in}} - {\text{V}}{}_{\text{o}}} \right)/{\text{Uo}}}} $$
(1)

where Uo = 2VT, V in and V o are log-domain input and output respectively. The above basic log-domain cell can give us an exponential function if V o  = 0 V or output terminal is grounded as shown in Fig. 1(b) and we have

$$ {\text{I}}_{\text{out}} = {\text{ Io e}}^{{\left( {{\text{V}}{}_{\text{in}}} \right)/{\text{Uo}}}} $$
(2)

The log function is the inverse of exponential function and is given as

$$ {\mathbf{V}}_{{\mathbf{o}}} = {\text{ U}}_{\text{o }} { \ln }\left( {{\text{I}}_{\text{in}} /{\text{Io}}} \right) $$
(3)

This can be physically implemented by the log-domain cell as shown in Fig. 1(c). In their simple form, the LOG and EXP functions can also be realized as shown in Fig. 2 used in [11], where

$$ {\mathbf{V}}_{{\mathbf{o}}} = {\text{ U}}_{\text{o }} { \ln }\left( {{\text{I}}_{\text{in}} /{\text{Is}}} \right) $$
(4)
$$ {\text{I}}_{\text{out}} = {\rm I}_{\rm s}{\rm e}^{({{\rm V}_{\rm in}}/{{\rm U}_{\rm o}})} $$
(5)
Fig. 1
figure 1

a Log-domain cell b Anti-log cell c Log cell

Fig. 2
figure 2

a Log cell b Anti-log cell

2.2 Log-domain integrators

Log-domain integrators are the basic building blocks of log-domain filters. They are essentially composed of two push-pull log-domain cells as shown in Fig. 3. The relation between voltage and current follows the same rule as given in Eq. 1.

Fig. 3
figure 3

a Positive log-domain cell b Negative log-domain cell

Thus, the output current will be the bias current modulated by the difference of two voltages V in and V o . With a grounded capacitor at the output of Fig. 3(a) as shown in Fig. 4(a), the circuit is called as non-inverting integrator and by writing KCL at output node, we have

$$ {\text{EXP}}\left( {{\mathbf{V}}_{{\mathbf{o}}} } \right) = \left( {\text{Io }} \right)/\left( {{\text{C}} \cdot {\text{U}}_{\text{o}} } \right)\int {\text{ EXP}}\left( {{\mathbf{V}}_{{{\mathbf{IP}}}} } \right){\text{dt}} $$
(6)

where V IP and Vo are log-domain positive input and output respectively and the EXP is the mathematical operator given by

$$ {\text{EXP}}\left( {\text{x}} \right) = {\text{Io e}}^{{\left( {{\text{x }}/{\text{ Uo}}} \right)}} -{\text{Io}}{\text{ and }}{\text{LOG}}\left( {\text{x}} \right) = {\text{U}}_{\text{o}}\, { \ln }\left( {{\text{Io}} + {\text{x}}} \right)/{\text{Io}} $$
(7)
Fig. 4
figure 4

a Non-inverting integrator circuit b Inverting integrator circuit c Combined circuit

However, with the grounded capacitor at the output of Fig. 3(b) as shown in Fig. 4(b), the circuit is called inverting integrator and by writing KCL at output node, we have

$$ {\text{EXP}}\left( {{\mathbf{V}}_{{\mathbf{o}}} } \right) = - \left( {\text{Io}} \right)/\left( {{\text{C}} \cdot {\text{U}}_{\text{o}} } \right)\int {\text{EXP}}\left( {{\mathbf{V}}_{{{\mathbf{IN}}}} } \right){\text{dt}} $$
(8)

where V IN is the log-domain negative input. If however the circuits in Fig. 4(a) and (b) are combined as shown in Fig. 4(c), then by applying KCL at the combined output node, the transfer function can be written as

$$ {\text{EXP}}\left( {{\mathbf{V}}_{{\mathbf{o}}} } \right) = \left( {\text{Io }} \right)/\left( {{\text{C}} \cdot {\text{U}}_{\text{o}} } \right)\int {\left\{ {{\text{EXP}}\left( {{\mathbf{V}}_{{{\mathbf{IP}}}} } \right) - {\text{EXP}}\left( {{\mathbf{V}}_{{{\mathbf{IN}}}} } \right)} \right\}} {\text{dt}} $$
(9)

Equation 9 can be symbolically represented by the signal flow graph (SFG) as shown in Fig. 5(a). The result of Eq. 9 can be generalized and thus can be written as

$$ {\text{EXP}}\left( {{\mathbf{V}}_{{\mathbf{o}}} } \right) = \left( { 1/{\text{C }}^{\prime } } \right)\int {\left\{ {\sum\limits_{{{\text{i}} = 1}}^{\text{N}} {{\text{EXP}}\left( {{\mathbf{V}}_{{{\mathbf{IP}}_{j} }} } \right) - \sum\limits_{{{\text{k}} = 1}}^{\text{N}} {{\text{EXP}}\left( {{\mathbf{V}}_{{IN_{k} }} } \right)} } } \right\}} {\text{dt}} $$
(10)

where C′ = (C·Uo)/Io and has the SFG as shown in Fig. 5(b). As revealed from Eqs. 9 and 10, the bias current can be viewed to “scale” the capacitor. It is this factor that accounts for the electronic tunability of this integrator and the log-domain filters.

Fig. 5
figure 5

a SFG for (9). b SFG for (10)

2.3 Damped integrator

A damped integrator can be obtained by feeding the output of a system back to its input. A simple positive log-domain damped integrator is shown in Fig. 6(a) and its negative counterpart is shown in Fig. 6(b).

Fig. 6
figure 6

a Positive log-domain damped integrator circuit. b Negative log-domain damped integrator circuit

3 Design of nth-order universal log-domain filter

3.1 Design method

To begin with let us consider the transfer function of nth-order HP filter given in [10] as below

$$ {\text{T}}_{\text{HP}} \left( {\text{s}} \right) = \frac{{{\text{Ks}}^{\text{n}} }}{{{\text{b}}_{\text{n}} {\text{s}}^{\text{n}} + {\text{ b}}_{{{\text{n}} - 1}}{\text{s}}^{{{\text{n}} - 1}} + \cdots + {\text{b}}_{1} {\text{s}} + {\text{b}}_{0} }} $$
(11)

where K is a gain determining constant and coefficients b0–bn determine the type of filter (Butterworth, Chebyshev, etc.)

$$ {\text{T}}_{\text{HP}} \left( {\text{s}} \right) = \frac{{\left( {{\text{K}}/{\text{b}}_{\text{n}} } \right)}}{{ 1+ \left( {{\text{b}}_{{{\text{n}} - 1}} /{\text{b}}_{\text{n}} } \right)\left( { 1/{\text{s}}} \right) + \left( {{\text{b}}_{{{\text{n}} - 2}} /{\text{b}}_{\text{n}} } \right)\left( { 1/{\text{s}}^{ 2} } \right) + \cdots + \left( {{\text{b}}_{0} /{\text{b}}_{\text{n}} } \right)\left( { 1/{\text{s}}^{\text{n}} } \right)}} $$
(12)
$$ {\text{T}}_{\text{HP}} \left( {\text{s}} \right) = \frac{\text{G}}{{ 1+ {\text{c}}_{1} \left( { 1/{\text{s}}} \right) + {\text{c}}_{2} \left( { 1/{\text{s}}^{ 2} } \right) + \cdots + {\text{c}}_{\text{n}} \left( { 1/{\text{s}}^{\text{n}} } \right)}} $$
(13)

where G = gain at infinity and ci = (bn − i/bn)

$$ {\text{T}}_{\text{HP}} \left( {\text{s}} \right) = \frac{\text{G}}{{ 1+{\text{H}}\left( {\text{s}} \right)}} $$
(14)

where

$$ {\text{H}}\left( {\text{s}} \right) = {\text{ c}}_{1} \left( { 1/{\text{s}}} \right) + {\text{c}}_{2} \left( { 1/{\text{s}}^{ 2} } \right) + \cdot \cdot \cdot + {\text{c}}_{\text{n}} \left( { 1/{\text{s}}^{\text{n}} } \right) $$
(15)

which can be written as:

$$ {\text{H}}\left( {\text{s}} \right) = \left\{ { 1+ \left\{ { 1+ \cdot \cdot \cdot + 1/{\text{a}}_{\text{n}} {\text{s}}} \right\} 1/{\text{a}}_{{{\text{n}} - 1}} {\text{s}}} \right\} \ldots \} /{\text{a}}_{2} {\text{s }}\} 1/{\text{a}}_{1} {\text{s}} $$
(16)

where

$$ {\text{a}}_{\text{i}} = {\text{ c}}_{{{\text{i}} - 1}} /{\text{c}}_{\text{i}} ;{\text{ i}} = 1, 2, 3\ldots {\text{n}}{\text{ and}}{\text{ c}}_{0} = 1$$
(17)

The complete block diagram of nth order HP-Filter is then as shown in Fig. 7, where the dash line enclosed block represents the feedback transfer function H(s) with two summers combined into one.

Fig. 7
figure 7

Block diagram representation of proposed nth-order universal filter

3.2 LP filtering function

The general transfer function of LP filter is

$$ {\text{T}}_{\text{LP}} \left( {\text{s}} \right) = \frac{{{\text{K}}_{1} }}{{{\text{b}}_{\text{n}} {\text{s}}^{\text{n}} + {\text{b}}_{{{\text{n}} - 1}} {\text{s}}^{{{\text{n}} - 1}} + \cdots + {\text{b}}_{1} {\text{s}} + {\text{b}}_{0}}} $$
(18)
$$ {\text{T}}_{\text{LP}} \left( {\text{s}} \right) = \frac{1}{{{\text{K}}_{2} {\text{s}}^{\text{n}}}} \frac{{{\text{Ks}}^{\text{n}} }}{{\text{b}}_{\text{n}} {\text{s}}^{\text{n}} + {\text{b}}_{{{\text{n}} - 1}} {\text{s}}^{{{\text{n}} - 1}} + \cdots + {\text{b}}_{1} {\text{s}} + {\text{b}}_{0}} $$
(19)

where \( \left( {{\text{K}}/{\text{K}}_{2} } \right) = {\text{K}}_{1} \)Thus, LP filtering function can be obtained by dividing the transfer function of HP filtering function by sn or by integrating the HP filtering function n-times. From Fig. 7 it is then clear that LP filtering function will be available at node n.

3.3 BP filtering function

The general transfer function of BP filter is

$$ {\text{T}}_{\text{BP}} \left( {\text{s}} \right) = \frac{{{\text{K}}_{3} \cdot {\text{s}}^{{{\text{n}}/ 2}} }}{{{\text{b}}_{\text{n}} {\text{s}}^{\text{n}} + {\text{b}}_{{{\text{n}} - 1}} {\text{s}}^{{{\text{n}} - 1}} + \cdots + {\text{b}}_{1} {\text{s}} + {\text{b}}_{0}}} $$
(20)

if n is even, then

$$ {\text{T}}_{\text{BP}} \left( {\text{s}} \right) = \frac{1}{{{\text{K}}_{4} {\text{s}}^{{{\text{n}}/2}} }} \cdot \frac{{{\text{Ks}}^{\text{n}}}}{{{\text{b}}_{\text{n}} {\text{s}}^{\text{n}} + {\text{b}}_{{{\text{n}} - 1}} {\text{s}}^{{{\text{n}} - 1}} + \cdots + {\text{b}}_{1} {\text{s}} + {\text{b}}_{0}}} $$
(21)

where \( \left( {{\text{K}}/{\text{K}}_{4} } \right) = {\text{K}}_{3}. \)

Thus, BP filtering function can be obtained by dividing the transfer function of HP filter function by sn/2 or by integrating the HP filter transfer function n/2-times. From Fig. 7, it is clear that BP filtering function will be available at node n/2.

3.4 LPN and HPN filtering functions

The transfer functions of 2nd-order HP and LP filters can be respectively given by

$$ {\text{T}}_{\text{HP}} \left({\text{s}}\right) = \frac{{{\text{Gs}}^{2} }}{{{\text{s}}^{2} + \frac{\text{s}}{{{\text{a}}_{1}}} + \frac{ 1}{{{\text{a}}_{1} {\text{a}}_{2} }}}} $$
(22)
$$ {\text{T}}_{\text{LP}} \left( {\text{s}} \right) = \frac{{{\text{G}}/{\text{a}}_{1} {\text{a}}_{2} }}{{{\text{s}}^{2} + \frac{\text{s}}{{{\text{a}}_{1} }} + \frac{1}{{{\text{a}}_{1} {\text{a}}_{2} }}}} $$
(23)

Now, in case of 2nd-order filter, only nodes 1 and 2 will be there and connected to the negative inputs of summer. So, if we integrate the output at node 1 by a separate integrator (1/\( {{\rm a}_{2}^{\prime}}{\rm s}\)), then the output of this integrator will be a LP filtering function given by

$$ {\text{T}}_{{{\text{LP}}^{\prime } }} \left( {\text{s}} \right) = \frac{{{\text{G}}/{\text{a}}_{1} {\text{a}}_{2}^{\prime } }}{{{\text{s }}^{ 2} + \frac{\text{s}}{{{\text{a}}_{1} }} + \frac{ 1}{{{\text{a}}_{1} {\text{a}}_{2} }}}} $$
(24)
$$ {\text{T}}_{\text{N}} \left( {\text{s}} \right) = {\text{ T}}_{\text{HP}} \left( {\text{s}} \right) + {\text{T}}_{\text{LP}}^{\prime } \left( {\text{s}} \right) = \frac{{{\text{G}}\left( {{\text{s}}^{ 2} + 1/{\text{a}}_{1} {\text{a}}_{2}^{\prime } } \right)}}{{{\text{s}}^{ 2} + \frac{\text{s}}{{{\text{a}}_{1} }} + \frac{ 1}{{{\text{a}}_{1} {\text{a}}_{2} }}}} $$
(25)

In our case of log-domain filters an = (CnUo)/Io, so

  1. (i)

    If (\( 1/{\rm a}_{1}{{\rm a}_{2}^{\prime}}\)) > (1/a1a2 ) or \( {{\rm a}_{2}^{\prime}}\) < a2, then TN(s) will be the transfer function of LPN filter [10].

  2. (ii)

    If (\( 1/{\rm a}_{1}{{\rm a}_{2}^{\prime}}\)) < (1/a1a2 ) or \( {{\rm a}_{2}^{\prime}}\) > a2 then TN(s) will be the transfer function of HPN filter [10].

The block diagram representation of this LPN/HPN extension is shown in Fig. 8.

Fig. 8
figure 8

Block diagram of LPN/HPN filter extension circuit

3.5 Current-mode design

In the above subsections, all the filters were represented using block diagrams, which is a voltage-mode representation. In current-mode representation such as log-domain representation, we use SFGs. The SFG representation of Fig. 7 is shown in Fig. 9. In this, the output current of summer (current summer) represents the highpass filtering function. This current is to be extracted without disturbing the operation of the entire circuit. One way to extract this current is to first convert this current into voltage and then back voltage into current as shown in Fig. 10. Keeping the above considerations in mind, the log-domain nth-order universal filter is designed as shown in Fig. 11 where the dash line enclosed block represents the extraction circuit.

Fig. 9
figure 9

SFG of proposed scheme

Fig. 10
figure 10

Block diagram of HP filter extraction circuit

Fig. 11
figure 11

Log-domain realization of proposed scheme

4 Simulation results

To illustrate the proposed synthesis approach of nth-order universal filter, 2nd, 4th and 6th order filters were designed on the same basis as shown in Fig. 12, where all DC current sources are set to 100 μA and supply voltages are taken as ± 1 V. The said filters were designed with cut-off/center frequency at 10 MHz by taking all the capacitors C1 = C2 = C3 = C4 = C5 = C6 = 30.6pF. The LP, HP and BP responses of 2nd, 4th and 6th-order log-domain universal filters are shown in Fig. 12(a–c) respectively. For 2nd-order LPN filter C2′ is chosen at 1pF and the resulting notch frequency is 51.8 MHz and for 2nd-order HPN filter C2′ is chosen at 60 pF and the resulting notch frequency is 6.1 MHz. The respective responses of 2nd-order LPN and HPN filters are shown in Fig. 12(d) and (e).

Fig. 12
figure 12

Magnitude response of a 2nd-order universal log-domain filter. b 4th-order universal log-domain filter. c 6th-order universal log-domain filter. d 2nd-order log-domain lowpass notch filter. e 2nd-order log-domain highpass notch filter

5 Conclusion

A versatile multiple-negative feedback nth-order universal log-domain filter, which enabled the realization of LP, HP, BP, LPN and HPN filtering functions, was proposed. The technique is less complex and provides simple circuit structures than other techniques. The 2nd, 4th, 6th-order universal filters and 2nd-order LPN and HPN filters were used to illustrate the technique. The behavior of these filters was verified through simulated technique and the result showed excellent correlation with the desired specifications. There were small discrepancies, which can be attributed to the non-ideality of bipolar transistors. It is worth to mention that the technique is simple and requires an integrator and a negative feedback path for the order of filtering function to be increased by one. The technique besides simple, solves the long-standing problem of achieving higher order universal filters.