Example Digital Filters

Donald Daniel

Jan 2008, revised Apr 2010

up one level

This document shows example filter curves produced using the technique described in the article "Complex Digital Filters Using Isolated Poles and Zeroes". To see that article click here. See also the derivation of a pole here and the derivation of the zero from the pole here. There are preposterously complicated and obscure techniqes that have been presented for making digital filters. The technique presented in these articles is the simplest possible. One is reminded of the 15 page fast fourier transform (FFT) programs that were published after the original 32 line program. Fortunately, saner heads prevailed and the preposterously long FFT programs were forgotten.

The illustrations presented here were computed with 32 bit floating point variables using oo2c and filter formulas primarily from the book "Synthesis of Passive Networks" by Ernst A. Guillemin, 1957. The details are available as a zip file, if you do not have too much "clickophobia" to unpack a zip file. With Windows, you must download, save, extract and open "readme" file only with Wordpad to see the details.

For a first example we show an eliptical filter where the filter bandwidth is one tenth the simulation bandwidth. The solid line is the simulated filter using isolated poles and zeroes in series, and the dotted line is the ideal transfer function:

elipt.png

Before looking at other complex examples, we should look at the properties of the poles and zeroes themselves. We show only the simulated poles, not the actual poles, which is why they do not look quite the way you would expect. Remember that these simulations are of necessity circular functions and must match at the right and left edges of the simulation. To start with we show a single pole with positive frequency of 4E4 and bandwidth of 1E4:

p44.png

Next, a single pole at 4E4, 1E2:

p42.png

Now a zero at 4E4 and 1E2:

z42.png

In order for a filter to be physically realizable in hardware any complex poles and zeroes must appear in conjugate pairs at equal positive and negative imaginary frequencies. Only that way will a real signal in result in a real signal out, with zero imaginary parts. In the computer, however, we can simulate unrealizable filters with only positive or only negative imaginary frequency components. Now we make an unrealizable notch filter with only positive frequency poles and zeroes by combining the first pole example with the zero example. Both the simulated notch and the transfer function are plotted, but the transfer function overlaps the simulation and is invisible:

notch.png

Since the simulated pole and the simulated zero are both approximations and not exact, it is of interest to see how well they match. To see this the pole at 4E4, 1E2 is plotted with the zero at 4E4 and 1E2. They match so well that the plot is a straight line as it should be:

strt.png

Next we look at the effect of simulation bandwidth. We start with a four pole butterworth filter centered at zero Hz with a bandwidth of 2E4, one tenth of the total simulation bandwidth:

btw4.png

We look at the same four pole butterworth filter with half the original simulation bandwidth:

btw4h.png

We end our bandwidth investigation by showing the same filter at one fourth the original simulation bandwidth:

btw4q.png

Some people have suggested ways to make digital filters that do not suffer so much distortion with limited simulation bandwidth. This may miss the point. If your simulation bandwidth is no wider than the bandwidth of the filter, why do you need a filter in the simualtion?

Next we look at different types of filters. A three pole chebychev filter with bandwidth of 2E4, 2dB ripple:

cheby.png

Next, we apply a lowpass to highpass transformation to the preceeding example to produce the corresponding highpass filter:

chhp.png

All figures up to this point except the single pole and single zero figures have both the simulation and the transfer function plotted.

Now to examine the use of this technique for baseband simulation of narrowband filters centered at high frequencies. Filters such as this are used in radio recievers at the intermediate frequecy (I.F.) of the reciever. The technique presented here is used to reduce the simulation bandwidth that would otherwise be required. Complex phasors are used in the data stream. Negative frequencies in the simulation represent positive frequencies in the real world that are below the center frequency of the narroband filter. The real filter has poles at both positive and negative frequencies but the simulated filter represents only the positive poles in the real filter. This produces a distortion in the simulated response that we will now investigate. We show a four pole butterworth filter with bandwidth of 2E4 centered at zero in the simulation. We also plot the transfer function of a real filter with various I.F. frequencies. The I.F. frequency will be at zero frequency in the plot, and zero frequency in the real world will be offset to negative frequencies in the plot. The match between overlapping plots would be worse with fewer poles and better with more poles. First, an I.F. frequency of 3E4:

if3.png

Next we make the I.F. frequency 2E5, ten times the filter bandwidth:

if10.png

Finally, we make the I.F. frequency 2E6, 100 times the filter bandwidth:

if100.png

up one level