When designing a digital filter based on an analog filter we usually use the bilinear transform. To approximate a discrete transfer function $D_a(z)$ from analog (continuous) transfer function $A(s)$ we substitute

$$z = \frac{1+sT/2}{1-sT/2}$$

where $T$ is the sampling period. Alternatively, to approximate an continuous transfer function $A_a(s)$ from discrete transfer function $D(z)$ we substitute

$$s = \frac{2}{T} \frac{z-1}{z+1}$$

Are there alternative methods of performing such conversions? Are there better approximations?


Analog filters are stable if the poles are in the left half of the s-plane (figure on the left) and digital filters are stable if the poles are inside the unit circle (figure on the right). So mathematically all that is needed to convert from analog to digital is a mapping (conformal?) from the half-space to the unit disk and the $\jmath\Omega$ axis to the unit circle $\vert z\vert=1$. Any transformation that does this is a possible candidate for being an alternative to the bilateral transform.

enter image description here

Two of the well known methods are the impulse invariance method and the matched Z-transform method. Conceptually, both of these are similar to sampling a continuous waveform that we're familiar with. Denoting the inverse Laplace transform by $\mathcal{L}^{-1}$ and the Z transform as $\mathcal{Z}$, both these methods involve calculating the impulse response of the analog filter as


and sampling $a(t)$ at a sampling interval $T$ that is high enough so as to avoid aliasing. The transfer function of the digital filter is then obtained from the sampled sequence $a[n]$ as


However, there are key differences between the two.

Impulse invariance method:

In this method, you expand the analog transfer function as partial fractions (not in the matched Z transform as mentioned by Peter) as

$$A(s)=\sum_m \frac{C_m}{s-\alpha_m}$$

where $C_m$ is some constant and $\alpha_m$ are the poles. Mathematically, any transfer function with a numerator of lesser degree than the denominator can be expressed as a sum of partial fractions. Only low-pass filters satisfy this criterion (high-pass and bandpass/bandstop have at least the same degree), and hence impulse invariant method cannot be used to design other filters.

The reason why it fails is also quite clear. If you had a polynomial in the numerator of the same degree as in the denominator, you will have a free standing constant term, which upon inverse transforming, will give a delta function that cannot be sampled.

If you carry out the inverse Laplace and forward Z transforms, you'll see that the poles are transformed as $\alpha_m \to e^{\alpha_m T}$ which means that if your analog filter is stable, the digital filter will also be stable. Hence it preserves the stability of the filter.

Matched Z-transform

In this method, instead of splitting the impulse response as partial fractions, you do a simple transform of both the poles and the zeros in a similar manner (matched) as $\beta_m\to e^{\beta_m T}$ and $\alpha_m\to e^{\alpha_m T}$ (also stability preserving), giving

$$A(s)=\frac{\prod_m (s-\beta_m)}{\prod_n (s-\alpha_n)}\longrightarrow \frac{\prod_m \left(1-z^{-1}e^{\beta_m T}\right)}{\prod_n \left(1-z^{-1}e^{\alpha_n T}\right)}$$

You can easily see the limitation of both these methods. Impulse invariant is applicable only if your filter is low pass and matched z-transform method is applicable to bandstop and bandpass filters (and high pass up to the Nyquist frequency). They are also limited in practice by the sampling rate (after all, you can only go up to a certain point) and suffer from the effects of aliasing.

The bilinear transform is by far the most commonly used method in practice and the above two are rather more for academic interests. As for conversion back to analog, I'm sorry but I do not know and can't be of much help there as I hardly ever use analog filters.

  • $\begingroup$ Wow Wow.....this is the best explanations I have seen on this topic. Thanks so much for sharing. Beautiful work. $\endgroup$ – user3285 Nov 15 '12 at 17:17
  • $\begingroup$ matched z transform is better for Bessel filters because the important feature of Bessel filters is their flat group delay, not their frequency response $\endgroup$ – endolith Dec 23 '13 at 23:47

There are many ways to do the mapping from $s$ to $z$. The control community has some things to say about it.

Some examples are:

The Matched Z-Transform

Here, the $s$-domain transfer function is written as a partial fraction expansion:

$$Y(s) = \frac{a_0}{s + s_0} + \frac{a_1}{s + s_1} + ...$$

And the conversion of each part of the partial fraction expansion is done directly using:

$$ s + s_n = 1 - z^{-1} \exp(-s_nT)$$

Simpson's Rule

One interpretation of the bilinear transform is that it is a way of transforming from continuous to discrete time by approximate integration using the Trapezoidal Rule.

A more accurate technique for approximate integration uses Simpson's Rule. If this approximation is used then the resulting mapping is:

$$s = \frac{3}{T} \frac{z^2 - 1}{z^2+4z+1}$$

  • 1
    $\begingroup$ Simpson's rule, essentially quadratic interpolation (where the Trapezoidal rule is linear)? $\endgroup$ – Peter Mortensen Oct 18 '11 at 17:33
  • 1
    $\begingroup$ @Peter Mortensen: Yes, pretty much! $\endgroup$ – Peter K. Oct 18 '11 at 19:14
  • $\begingroup$ Is your matched Z transform different from Lorem Ipsum's? I don't see partial fraction decomposition anywhere else. $\endgroup$ – endolith Nov 9 '17 at 23:02
  • $\begingroup$ @endolith see the wikipedia link in my answer. That’s where I got it from. 😂 I answered before Lorem, and have not edited it. $\endgroup$ – Peter K. Nov 10 '17 at 0:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.