Example Digital Filters

Donald Daniel

Jan 2008, revised Aug 2008

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. For more details click here

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. 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

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 otherwize 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