CHAPTER 7

A 16-bit D/A interface with Sinc approximated semidigital reconstruction filter


Prev TOC Next

7.5. Semidigital FIR filter design

To design the time-discrete filter, the effect of the noise-shaper and the low-pass continuous time analog filter have to be considered. The noise shaper and the oversampling ratio are specified and all the requirements and conditions are known. The next step is the calculation of the coefficients. But how many coefficients are necessary? To answer this question some boundary conditions will be introduced.

The area that is available limits the number of coefficients to about 100 irrespective to the implementation which is chosen. Since the coefficients are implemented by weighted currents this imposes a limitation also. The ratio between the largest and the smallest coefficient is limited by accuracy. A large number of coefficients implies big differences between coefficients. The accuracy of the smaller coefficients is impaired with consequences on the stop-band rejection. There are also a few conditions for the signal transfer function of the filter. First of all, the ripple in the audio-band has to be very small (< 0.1 dB). A small droop (0.5 dB) is allowed since the digital filter can correct for this non-ideal behavior. In the design of a discrete time filter suitable for audio signals, phase is an important parameter too. In a digital low-pass filter design, a linear phase can be obtained by a symmetric impulse response. Odd or even numbers of coefficients can be used. The main requirement is to achieve a stop-band rejection for the noise of more than 50dB.

7.5.1 Calculation of coefficients

In the literature, a number of standard algorithms for digital filter design are extensively discussed [15]. The methods are based on Fourier series, the frequency sampling method, the Remez exchange method and equiripple designs. All these methods cannot be used since the design of this filter is not a standard design but the product of a time discrete filter and the transfer function of the noise shaper. Such methods generate a large number of coefficients and over-specifications. In order to take into account that the noise transfer will be influenced by the noise-shaper, the semidigital filter and the low-pass analog filter, we have developed an iterative method to design the filter based on Sinc approximation of the impulse response as shown in fig.7.8. Here, we have represented the transfer of the noise shaper NS, the transfer of the semidigital filter LPD and the analog low-pass LPA. The noise transfer is denoted NS*LPA*LPD.

The simulations were performed with a routine written in MatLab. This allows to optimize the number of the coefficients and to take into account the effects of matching on the response. First, the time domain is divided into N equal steps and the symmetric coefficients are calculated by using the division of sin(x)/x. The Sinc function has been windowed with a rectangular window. The computer is used to perform this calculation by employing the Z-transform. For the noise shaper the transfer function is also calculated by using a Z-transform routine. Since the continuous time low-pass filter may not influence the characteristic at the audio-band, its cutoff frequency is set to 140 kHz. In this way it is possible to filter the spectral images at multiples of the sample frequency sufficiently.

Further, these three functions are plotted on a logarithmic scale and therefore they can be easily added. The Sinc function has been truncated to the first five lobes but the -50dB requirement for the out of band noise is not met. By taking more coefficients, the stop-band rejection becomes better than -55dB, as shown in fig.7.9.

Fig.7.8: Sinc approximation method (N=29)

Fig.7.9: Sinc approximation method (N=89)

Simulations have been carried out to determine which part of the Sinc function is important and how many coefficients are necessary in the optimum case. The number of lobes from which the Sinc is approximated changes the transfer characteristic of the filter. It is also important to ensure that at zero crossings of the Sinc function the approximation has also a zero. At that moment the next sample reaches its maximum value. Using more coefficients to approximate the same part of the Sinc means decreasing the time step. This is equivalent with increasing the sample frequency in the case of a digital filter. The results is a smaller pass band of the LPD filter characteristic without changing its shape.

It turns out that just the main lobe of the Sinc function is the most important part to approach the desired filter characteristic. With no more than 25 coefficients this main lobe can be approximated such that the required attenuation of more than 50dB is reached. Actually there are 27 coefficients but two of them are zero. The calculated coefficients are given in Table 7.1.

 

0.0000

0.0054

0.0115

0.0181

0.0250

0.0319

0.0387

0.0452

0.0511

0.0562

0.0604

0.0635

0.0654

0.0660

0.0654

0.0635

0.0604

0.0562

0.0511

0.0452

0.0387

0.0319

0.0250

0.0181

0.0115

0.0054

0.0000

 

Table 7.1: Coefficients of the FIR filter

Fig.7.10: Sinc approximation method (N=27)

To be noticed the small ratio between the largest and the smallest coefficient which is about 12. The approximation of the main lobe is shown in fig.7.10. The first and the last coefficient are zero. The transfer characteristics for the noise and signal are illustrated in fig.7.11. The rejection of the out of band noise of the noise characteristic (NS*LPA*LPD) is better than -53dB up to the higher end of the fundamental interval (f=fs/2). A sensitivity analysis will show that in the worst case the required -50dB is fulfilled. For the signal transfer a smooth roll off (» 0.25 dB in the audio-band) can be seen. The zoomed characteristic of the signal in the audio-band is shown in fig.7.12.

Fig.7.11: Noise transfer for N=25

Fig.7.12: Signal transfer in the audio-band for N=27

The sharp digital filter will correct the droop of the characteristic along with the sin(x)/x distortion at the end of the pass-band. The gain error can be corrected by multiplying the coefficients with a constant factor.

7.5.2 Windowing

In the design of a FIR filter windowing functions are used to reduce the infinite length of the impulse response. By applying a rectangular window on the impulse response, i.e. just deleting a number of the coefficients, there will be oscillations in the frequency response due to Gibbs phenomenon. In order to reduce the oscillations different window functions can be applied. Widely used window functions for example are Bartlett, Hamming, Hanning and Kaiser (see fig.7.13).

Fig.7.13: Windowing techniques

By multiplying the calculated Sinc coefficients with a window, the transfer becomes slightly better. After this operation the ratio between the smallest and the largest coefficient increases tremendously. For a digital filter this is not a problem because the coefficients are represented by a number of bits. In this application this means a large ratio between components. Moreover, due to windowing, the transfer function becomes more sensitive to rounding. That is why no windowing technique is used for the calculation of the coefficients.

7.5.3 Filter response and the coefficient quantization

The coefficients of the filter are subject for mismatch, rounding and quantization to the incremental grid span of the process. This will affect the stop-band attenuation of the filter with some influence on the pass-band also. We would like to obtain specifications for the coefficients of the filter such that we get sufficient suppression of the quantized noise out of audio band without affecting the pass-band. Coefficient non-idealities generate an erroneous transfer function:

(7.12)

The deviation of the filter transfer depends on the random coefficient errors Dak :

(7.13)

When the random coefficient errors Dak are Gaussian distributed the deviation of the filter transfer is Rayleigh distributed [16] with a mean value mDH and a standard deviation sDH given by:

(7.14)

In eq.(7.14) N is the filter length and s(Dhk) represents the standard deviation of the coefficients due to process mismatch. The deviation of the filter transfer has three main causes: rounding of small coefficients, quantization of the coefficients to the finite incremental grid span and mismatch. Those effects are treated separately.

7.5.4 Rounding small coefficients

For FIR filters with a lot of coefficients we have to deal with large ratios between the largest and the smallest coefficient. It is necessary to round small coefficients to fit to the smallest feature size of a transistor. Rounding of small coefficients will introduce quantization errors with consequences on stopband rejection. The response of the filter in the pass-band it is influenced only by large coefficients and the rounding procedure has no influence on the pass-band. In order to estimate the stopband rejection we have to consider the size of the minimum coefficient amin. As a rule of thumb, the maximum achievable stop-band rejection is:

(7.15)

To have a stopband rejection of about -50dB the rounded coefficients have to be smaller than amin=0.003. In our case, the smallest coefficient is 0.0054 and rounding is not a necessity. In the design procedure we try to keep the number of the coefficients as low as possible in order to avoid big differences between the largest and the smallest coefficient.

7.5.5 Matching of coefficients

In contrast to a digital filter, where the only important error is caused by truncation or rounding due to the finite word length, in the time discrete filter the mismatch of the coefficients will impair the frequency characteristic. In practice the analog coefficients are realized by using current sources and their values will deviate from their nominal value. The condition for the stop band noise has to be met under mismatch conditions. Only Monte-Carlo analysis can reveal the effect of mismatches on the transfer characteristic. In fig.7.14 the realization of the coefficient ak is shown. A floating current source I0 improves the matching between the PMOS and NMOS branches. The current related to the same coefficient ak is Ik= akI0=I0 (W/L)k/(W/L)0. The mismatch of the coefficient ak is a consequence of VT0 mismatch and b mismatch. Consider a multi-parameter function f=f(x1,x2,xN). From multi-parameter sensitivity analysis we have:

Fig.7.14: Matching of coefficients

(7.16)

Regarding the current Ik as the multi-parameter function, the mismatch of the coefficient ak is found as a function of individual mismatch terms of transistors Mo and Mk neglecting the contributions of the cascode transistors. For a single ended current mirror, the inaccuracy of the coefficient ak is found from:

(7.17)

The lengths of the transistors Mk are taken equal and therefore we get:

(7.18)

The maximum value of the width W0 of the transistor M0 is limited from area requirements. Consider now the current mirror with PMOS and NMOS outputs. The transistors Mkn and Mkp have the same dimensions. Denote s(Dak)p and s(Dak)n the mismatch of the PMOS and NMOS branch respectively. Hence, the mismatch of the coefficient ak in the differential approach is given by:

(7.19)

Denote the mismatch term:

(7.20)

Then the mismatch of the coefficient ak in the differential approach becomes:

(7.21)

This result in conjunction with eq.(7.14) can be used to have a first estimation of the errors in terms of mDH and sDH of the transfer H. The Monte Carlo optimization procedure described later in section 7.5.7 is based on s(Dak).

7.5.6 Quantization to the incremental grid span

The IC processes have a finite incremental grid span. For example in a 0.8mm CMOS process, the finite incremental grid span is in the order of 0.1m m. The dimensions of the devices (width and length) have to be quantized to the grid span. Rounding introduces a length uncertainty of (-0.05 mm, 0.05 mm) and the error can be considered uniformly distributed in this interval. Compared to the errors introduced by mismatch, quantization to grid has a negligible influence on the filter response. Again eq. (7.14) can be used to show this effect.

7.5.7 Simulations

Equation (7.21) shows that each coefficient has a standard deviation which depends on W and L. Generating filter characteristics with ± 3s errors for coefficients, we cover about 99.75% of the possible cases. In MatLab, there are no standard routines to perform a Monte Carlo analysis. However, it is simply to generate normal distributed random numbers with mean 0.0 and variance 1.0. Therefore it is possible to combine this random number generator with the previous derived equation, to calculate what the effects are on the filter characteristic. The random number determines also if the coefficient is rounded up or down respectively.

Fig.7.15: Noise transfer

In fig.7.15 the simulation results for the optimal widths and lengths of the transistors are shown. The inaccuracy of the noise transfer increases at the end of the fundamental interval. In this region, the effect of the noise shaper on the noise transfer is less effective and attenuation of the noise is ensured by the FIR filter. In the worst case we have -61dB rejection for the noise. The signal transfer is slightly affected by the matching properties.

SolidCAM: Program your CNCs directly inside your existing CAD system.


Featured Video
Editorial
Jeff RoweJeff's MCAD Blogging
by Jeff Rowe
Siemens Goes ECAD With Mentor Graphics Acquisition
Jobs
Mechanical Engineer for IDEX Corporation at West Jordan,, UT
Business Partner Manager for Cityworks - Azteca Systems, LLC at Sandy, UT
GIS Analyst II for Air Worldwide at Boston, MA
Senior Structural Engineer for Design Everest at San Francisco, CA
Upcoming Events
Design & Manufacturing, Feb 7 - 9, 2017 Anaheim Convention Center, Anaheim, CA at Anaheim Convention Center Anaheim CA - Feb 7 - 9, 2017
Innorobo 2017 at Docks de Paris Paris France - May 16 - 18, 2017
Display Week 2017 at Los Angeles Convention Center 1201 S Figueroa St Los Angeles CA - May 21 - 26, 2017



Internet Business Systems © 2016 Internet Business Systems, Inc.
595 Millich Dr., Suite 216, Campbell, CA 95008
+1 (408)-337-6870 — Contact Us, or visit our other sites:
AECCafe - Architectural Design and Engineering EDACafe - Electronic Design Automation GISCafe - Geographical Information Services TechJobsCafe - Technical Jobs and Resumes ShareCG - Share Computer Graphic (CG) Animation, 3D Art and 3D Models
  Privacy Policy Advertise