NANO-studio, the design environment of filter banks implemented in standard CMOS technology

The paper presents a method of optimizing frequency characteristics of filter banks in terms of their implementation in digital CMOS technologies in nanoscale. Usability of such filters is demonstrated by frequency-interleaved (FI) analog-to-digital converters (ADC). An analysis filter present in these converters was designed in switched-current technique. However, due to huge technological pitch of standard digital CMOS process in nanoscale, its characteristics substantially deviate from the required ones. NANO-studio environment presented in the paper allows adjustment, with transistor channel sizes as optimization parameters. The same environment is used at designing a digital synthesis filter, whereas optimization parameters are input and output conductances, gyration transconductances and capacitances of a prototype circuit. Transition between analog s and digital z domains is done by means of bilinear transformation. Assuming a lossless gyrator-capacitor (gC) multiport network as a prototype circuit, both for analysis and synthesis filter banks in FI ADC, is an implementation of the strategy to design filters with low sensitivity to parameter changes. An additional advantage is designing the synthesis filter as stable infinite impulse response (IIR) instead of commonly used finite impulse response (FIR) filters. It provides several dozen-fold saving in the number of applied multipliers.. The analysis and synthesis filters in FI ADC are implemented as filter pairs. An additional example of three-filter bank demonstrates versatility of NANO-studio software.


Introduction
Filter banks are necessary to use in a wide range of applications, from data transmission to data compression and signal processing, for example to speech, audio, video, and biosignal coding, [16,20,21,23]. The paper presents NANO-studio environment for designing filter banks in terms of their implementation in standard, digital CMOS technologies. Functioning of this environment has been illustrated by its application for frequency-interleaved (FI) analog-to-digital converters (ADC). Presented design strategy uses multiport lossless gyrator-capacitor (gC) circuits as prototype networks, both for analysis and synthesis filters in FI ADC.
Analysis filters are implemented in switched-current (SI) technique, while synthesis filters as digital ones with infinite impulse response (IIR). The first type of filters is analog, whereas the other-digital. However, both filters work in discrete time. It is significant from the perspective of developed software tool, as NANO-studio is based on response optimization for the sequence of time samples, as for instance in [21]. The use of a gC prototype circuit both reduces the number of integrators in an SI circuit and provides a simple digital filter as compared with finite impulse response (FIR) filters. To operate in current mode, which is necessary due to SI technique, the converter presented in the paper [10] can be used. 5-bit sub-ADCs, working in respective FI ADC channels, were implemented in C language.
In the next section, the general structure of FI ADC has been recalled, together with matrix notation of transfer functions of filter banks present in it. The matrix and equivalent tensor relationships that describe bilinear transformation, needed for transition between prototype gC circuit and its discrete time counterpart network, have also been presented. Sect. 3 presents NANO-studio environment, whereas the two following sections describe design of analysis and synthesis filter banks in this environment, respectively. In Sect. 5 we also briefly discuss FI ADC implementation, while in Sect. 6 we demonstrate versatility of adopted design strategy and developed NANO-studio environment, using the example of a three-filter bank.
2 General structure of FI ADC General structure of frequency-interleaved (FI) analogto-digital converters (ADC) is presented in Fig. 1. The essential difference versus the ones so far presented in the literature, [14,15,26], lies in replacement of analysis and synthesis filters, present separately in each converter path, with multiport networks. Both multiport networks are designed based on multiport gC circuits, [17] We will also use these transfer functions in the discrete z domain using bilinear transformation then leaving out upper index a in their marking.
Transfer functions (1) and (2) may be written matrixwise as where P and Q in (4) are vectors (matrices) of k-degree polynomial's coefficients of the variable s, whereas S is a vector including this variable in ascending powers: where 0 symbol represents transposition of a vector (matrix). Using bilinear transformation (3) we receive a transfer function in the z domain, also in matrix-wise notation, as: where A and B are vectors (matrices) of k-degree polynomial's coefficients of the variable z À1 , whereas Z is a vector including this variable in ascending powers: Matrices P and Q as well as A and B are of ðk þ 1Þ Ã 1 order. Notations of vectors S and Z indicate that these polynomials are ordered according to ascending powers of variables s and z À1 , respectively. Row numbers, in the range 0; Á Á Á ; k correspond to the powers of variables s and z À1 , that is: Each polynomial in (8) is written in two ways: with or without the sum symbol, as per tensor notation, where an index that appears twice as lower or upper automatically means summing up over its whole range. Upper indices are at the same time exponents of powers of variables s and z À1 . Matrices A, B, P, and Q, as proven in [5], are in onedimensional networks linked by relationships: where T k is a transformation matrix, with a size ðk þ 1Þ Ã ðk þ 1Þ, for bilinear transformation (3).
The matrix T k can be generated in a recurrent manner: . . .; T k : The procedure for construction of these matrices is as follows. The i-th rows, i ¼ 1; Á Á Á ; k, of the successive matrices T j , j ¼ i À 1; Á Á Á ; k, always form two neighbouring rows of a Pascal triangle with T 0 ¼ ½1. For example, the first row of T 0 , the first row of T 1 , the first row of T 2 , and the first row of T 3 , etc. form a Pascal triangle. Similarly, elements composed of the second row of T 1 , the second row of T 2 , the second row of T 3 , etc., or the third row of T 2 and the third row of T 3 , etc. are also calculated like the Pascal triangle elements. The elements of the last row of each matrix are equal to elements of the first row with alternately changed signs. It is shown in the paper [8] that each transformation matrix can be also directly calculated. The first column elements of the matrix T k ¼ ½t i k j , i; j ¼ 0; . . .; k are all equal to 1 (t i k 0 ¼ 1, i ¼ 0; . . .; k) and the first row elements are obtainable from the known formula where j ¼ 0; . . .; k. The remaining elements t i k j , i; j ¼ 1; . . .; k of the matrix T k can be obtained from the formula where i; j ¼ 1; . . .; k. In the above formulas the upper i and the lower j indices are taken as the row and the column of the matrix T k , respectively. Such representation is convenient for the tensor notation. For example the first equation in (9) can be written as In [5] it was also found that where U is a unit matrix. Hence, the normalisation factor of the matrix T k is 1= ffiffiffiffi ffi 2 k p . Let us note that the transformation matrix T k , composed of elements given by (10), (11) and (12), describes the bilinear transformation (3) for the sampling period T ¼ 2.
In C þþ class MDp (Multi-Dimensional polynomials) has been developed for calculation of polynomials of transfer function numerators and denominators at bilinear transformation between two domains, s and z, as per relationships (13). With the use of this class, transfer function transformations both for one-, as well as two-and threedimensional circuits, are possible [3,4]. Generalization to multi-dimensional circuits is achieved thanks to tensor notation.
Based on a transfer function in z domain, the circuit response to any input signal may be obtained in discrete time domain, as z Àm i means delay by m periods in i-th dimension. Obtaining frequency response is, as is wellknown, possible after the substitution: T i symbol means sampling period in i-th dimension. The following will be called distortion transfer function and aliasing transfer function and respectively, [15], where H(z) and G(z) mean transfer function vectors We say that converter ideally (perfectly) transforms (reconstructs) the input signal to the output one (perfect reconstruction -PR) if and V a ðzÞ ¼ 0; i.e. when the output signal y(n) is delayed by d periods and scaled by a constant c in relation to the input signal x(n): However, if then we say about perfect module reconstruction (PMR). In Sect. 4 we will present design method of discrete time analog filter banks, implemented in (SI) technique, that realizes transfer functions (18), with transistor channel dimensions as variables being optimized. The method is going to be illustrated by an example of a filter pair received on the basis of a prototype gC circuit. Fully automated environment for designing such circuits has been presented in the paper [8].
Presented in Sect. 5 implementation of a synthesis filter bank described by transfer functions (19) is also possible based on a prototype gC circuit. In this case the variables being optimized are capacitances and transconductances of the prototype circuit. This approach guarantees stability of designed IIR filters.
To realise all filters presented in Sect. 4, 5 and 6 NANOstudio environment, presented in the following section, is used.

NANO-studio environment
Development of CMOS technology, based on constant reduction of MOS transistor channel lengths, is dedicated to digital circuits. These technologies are characterised by relatively high technological pitch as compared with transistor channel sizes. Additionally, low supplying voltages, below 1V, render implementation of many basic analog cells, such as OpAmps, unattainable in these technologies. It is particularly evident in designing precision filters which find their use in many different applications related to signal processing [12,18,22]. This paper, based on the example of SI circuits, demonstrates a novel approach to solving such issues. The method described will be illustrated by the example of filter pair working in SI mode [7,9]. The starting point consists of pre-developed tools to design such circuits [22]. However, the filter characteristics obtained at this design stage are unsatisfactory due to technological pitch. When effectuating optimization of parametrised filter cells, due to the sizes of channels of transistors, which the cells are composed of, fully satisfactory frequency characteristics may be attained.
Proposed optimization method uses Hooke-Jeeves gradient-free algorithm, which, despite being for the first time presented as long ago as in 1961, is still used in many contemporary applications [1,2,25]. The algorithm was chosen, because performs better against other optimization algorithms background. It achieves the best results in the shortest time [19]. Presented version of the algorithm is modified for discrete issues and was presented in earlier works related to technological migration [18] and optimization [27].
Optimization procedure is presented on the flow chart in Fig. 2. Right side of the diagram, that is, feedback, can be freely modified. In particular, at the simulation stage, any tool can be used that is adequate for the issue related to the optimization. In case of the analysis filter, designed in MentorGraphics environment in SI technique, ELDO was used. This simulation program is a time-consuming tool, though. Therefore, in case of the synthesis filter, we use gC-studio, which allows symbolic analysis of prototype circuit, offering significant acceleration of optimization process. In the presented implementation, the script working in Linux has been used, which starts respective programs and manages feedback loop. We will also use MATLAB environment with suitable script for processing and analysing results of simulation, as well as for goal function value calculation based on time domain response. As part of an experiment that examines the impact of optimization for improvement of time and frequency characteristics, a filter pair working in SI mode, with suitable transfer functions both for low-pass and high-pass outputs, has been used.
Trasfer functions of a prototype filter pair, designed in gC-studio, [17], can be written as: and H a 1 ðsÞ ¼ where is a vector of complex variables s, while polynomial coefficients are: respectively. Filters with these coefficients have been designed by means of gC-studio for cutoff frequency x p ¼ 1 and 18dB attenuation in the stopband.
Based on the prototype gC circuit, its SI counterpart network has been obtained, using the method presented in [22]. The SI filter composed of integrators and parametrised cells has been implemented in technological process TSMC 65nm. Due to the technological pitch equal to 5nm in this process, impulse responses of the SI filter are deviated from ideal impulse responses of the prototype gC circuit. We will show that they can be effectively adjusted by means of NANO-studio.
The first 36 samples, being an impulse response in time domain of the SI filter pair, were taken for goal-function value calculation. The objective of the optimization process was to select transistor parameters (channel width and length) of parametrised cells, which, in SI circuits, are current mirrors, in such a way as to achieve two goals.
The first one was to adjust magnitude responses of the SI filter pair to the characteristics obtained from transfer functions, based on which optimum impulse responses were specified.
Another important goal was to eliminate the dc offset in the SI filter pair circuit, which has an impact on the symmetry of output signal in time domain. With this goal in mind, impulse response was also used, by comparing the response of prototype filter pair with the response of real circuit received on the basis of simulation.
Assuming, comparing the small number samples in time domain allows simultaneous optimization of frequency characteristics and elimination of dc offset. The filter pair referred to above was designed in gC-studio [17] and synthesized by means of SI-studio [9].
Sampled values of impulse responses on both outputs of the SI filter pair have been presented on Figs Table 1 presents key parameters related to optimization process by means of Hooke-Jeeves algorithm. Completion of the algorithm activity takes place upon reaching the set number of iterations. Special attention should be paid to the goal function value, which is minimized in the optimization procedure. This value shows significant improvement of the designed circuit. However, such improvement is achieved in a time-consuming process. Duration of single iteration amounts to approximately 11s and is used mainly to perform ELDO simulation.
To recapitulate, in the presented example, the SI analysis filter pair was designed by means of special tools that support the design process of analog circuits. However, its Using the proposed optimization method, frequency characteristics of the filter pair were adjusted on a range that is sufficient for precise signal processing.

Design method of the synthesis multiport filter
Synthesis filters are usually designed as FIR filters, which results in a large number of required multiplying elements. We will demonstrate that they can be implemented as IIR filters, using a gC multiport circuit, just like in the case of the analysis filter. For this purpose, we transform transfer functions (25) and (26) from the analog domain s into the discrete one-z, using bilinear transformation (3). We receive and Fig. 4 Impulse response on the high-pass output where Z 0 ¼ ½1 z À1 z À2 z À3 z À4 z À5 , whereas Since matrix T 5 in the relationship (3) is given for the sampling period T ¼ 2, it would require 2-fold reduction of frequencies in transfer functions G a 0 ðsÞ and G a 1 ðsÞ. In case of FI ADC this scaling should be left out due to required M ¼ 2, which means simultaneous doubling of frequency.
Based on (31) we receive A 0 ini, A 1 ini, Bini. These are, however, coefficients for the values of initial capacitances and transconductances of a prototype gC circuit. This circuit is optimized in NANO-studio environment so as to meet PR condition, (20), (21). Optimization is performed in time domain as per relationship (22). The impulse response, received as a result of optimization for 36 samples in time domain, is presented in Fig. 7. Received final values of A 0 , A 1 , B coefficients directly provide digital filter of a canonical structure.
Digital synthesis filters may also be designed by means of indirect method presented in p.6.3.3 in [5]. It provides full use of prototype lossless circuit properties for obtaining a filter with low sensitivity to parameter changes.
The optimized synthesis filter was implemented in Verilog language using Spiral [24], a generator of digital filters with optimum structure based on fixed-point arithmetic.
In this paper we are focusing on analysis and synthesis filter design. However in FI ADC shown in Fig. 1 we need two sub-ADCs between these filters. In our work such role play 5-bit analog-to-digital converters implemented in C language. This allowed us to avoid calculations for real converters in ELDO simulator and, as a result, significantly accelerate synthesis filter optimization. Practical implementation of such sub-ADCs in standard CMOS technology, using continuous time integrators in current mode, has been presented in the paper [11].

Filter banks based on multiport networks
Design of IIR analysis and synthesis filters have been based in previous sections on the filter pair. For the set cutoff frequencies and attenuation values, coefficients P 0 , P 1 , Q of transfer function polynomials (25) and (26) can be obtained in closed-form solutions, just like in the case of ladder structures. Multiport networks with higher number of ports do not share this important property. Hence the commonly used implementation both for analysis and synthesis filters is to use FIR filters. The required coefficients are then directly obtained, although the implementation of these filters demands high number of multiplying elements, [13]. Based on the structure with three frequency bands in Fig. 1, we will demonstrate how the method of designing IIR filter banks with port number higher than 3 should be modified. New approach is based on reverse order in filter design: first, the synthesis filter and next, on the second stage, the analysis filter are implemented.
As a prototype circuit of the synthesis filter, a singleoutput 4th order gC multiport network has been used with three inputs, corresponding to lower, middle, and upper bands. It is described in VHDL-AMS language in the Appendix.
Therefore, this circuit consists of three input conductances, one output conductance and five free capacitances, as well as 17 gyrators. At the stage of synthesis filter design, so far unknown analysis filter is replaced with three elliptic filters of 6th order (of 3rd order for bandpass filter) with the parameters: ripple errors in passbands 0.3dB, attenuations in stopbands 30dB and cutoff frequencies of 1/3 and 2/3 rd/s, respectively. For these parameters, in the MATLAB environment with the use of ellip() function, we receive transfer function coefficients in z domain.
4th order transfer functions of a prototype gC circuit are obtained in a symbolic form by means of gC-studio, [8,17], and then bilinearly transformed into discrete domain. IIR filter bank received as a result has the following transfer functions for each of the three subsequent bands, respectively, where Polynomial coefficients in transfer functions (32) depend on the parameters of gC circuit elements, which are the optimization variables. The whole structure is described by transfer functions, being the respective products of transfer functions of the 6th order elliptic filters and (32). In result of optimization by means of NANO-studio tool, we obtain the delayed by 7 samples version of the input impulse, presented in Fig. 8. The same figure presents a response (blue dashed line) when synthesis filter is not present, that is, when transfer functions (32) have the unit value: Transfer function polynomial coefficients (32) obtained as a result, are as follows A 0 l ¼½a l0 a l1 a l2 a l3 a l4 ¼½À0:0376 À 0:0551 0:3180 0:3956 0:1140; A 0 c ¼½a c0 a c1 a c2 a c3 a c4 ¼½0:2179 À 0:1439 0:9991 À 0:4320 À 0:4579; A 0 h ¼½a h0 a h1 a h2 a h3 a h4 ¼½À0:6964 À 1:0903 À 0:2780 À 0:0684 0:9986; :0636 À 0:2837 À 0:1590 0:0376 0:0339: The spread of values of the above coefficients is 1:0636=0:0339 ¼ 31:4. The received circuit has two pairs of coupled complex poles 0:4350 AE 0:2376i, À0:3017 AE 0:1968i, the position of which, presented in Fig. 9, confirms stability of the synthesis filter, inherited after the prototype passive gC circuit.
The structure of the received synthesis filter, with multiplier values given in (33), is presented in Fig. 10. The implemented IIR bank contains only 4 Á 4 ¼ 16 multipliers, hundreds of which may be present in FIR structures, with a high spread of their values [14]. Furthermore, let us mention that thanks to the prototype gC circuit, being lossless,  the presented method implements the design strategy of stable IIR filters with low sensitivity to circuit parameter changes.
As mentioned at the beginning of this section, after designing the multiport synthesis filter, we can move to a second stage, that is, implementation of the analog bank of analysis filters. Similarly as in the case of synthesis filter, a prototype gC circuit is looked for first. Its counterpart circuit can be implemented in the SI technique, as it was shown for the filter pair.

Conclusions
Optimization methods presented in the paper allow to obtain high precision signal processing in analysis and synthesis filters for FI ADC. The analog analysis filter is difficult to obtain in advanced CMOS technologies due to their focus on digital circuits. It is associated with relatively high technological pitch as compared with the sizes of transistor channels, which are in the order of several dozens or even a dozen or so nanometres. NANO-studio environment allows optimization of analysis filter characteristics, taking into account such pitch. This environment is also very effective in the process of digital synthesis filter optimization. It has been demonstrated that taking into account low number of time samples is sufficient to meet PR condition. In the FI ADC example, pairs of analysis and synthesis filters have been used. An additional example of three-filter bank demonstrates full potential of the developed NANO-studio software. All filter types are designed on the basis of the lossless multiport gyratorcapacitor (gC) prototype circuit, as per the strategy of designing circuits with low-sensitivity to parameter changes. Additional advantage of using this multiport circuit is represented by filters with low number of elements, integrators and multipliers, as compared with traditional design techniques.
Acknowledgements This research has been partially supported by the statutory funds of Poznan University of Technology.
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons. org/licenses/by/4.0/. Fig. 11 Simplified schematic of the gyrator-capacitor circuit described in VHDL-AMS, the omitted gyrators are represented by dashed lines