1
$\begingroup$

How can I classify a filter given its pole-zero map. For example I've got my zero's located at $\pm j$ and my poles located at $\pm\frac{1}{2}j$.

$\endgroup$
  • $\begingroup$ Continuous or discrete? (i.e. are these poles/zeros in the Laplace domain or z-domain?) $\endgroup$ – Atul Ingle Feb 13 '17 at 14:31
  • 3
    $\begingroup$ There's a digital-filters tag $\endgroup$ – Juancho Feb 13 '17 at 14:32
  • $\begingroup$ those are poles and zeros of the digital filter $\endgroup$ – Andy.A Feb 13 '17 at 14:45
  • $\begingroup$ Oops, sorry. Didn't see the tag. $\endgroup$ – Atul Ingle Feb 13 '17 at 15:29
4
$\begingroup$

You'd have to figure out the frequency response of the filter. Here are two methods. I prefer Method 2 because it's quick and dirty, and you don't really care about the exact gain values in the frequency response, just the general shape to figure out the type of the filter.

Method 1: Brute Force/Computer Assisted

import scipy.signal as sp
import numpy as np
import matplotlib.pyplot as plt

b = [1,0,1]
a = [1,0,0.25]
w,h = sp.freqz(b,a)
plt.plot( w/np.pi, abs(h) )

enter image description here

Clearly there's a stop band around $\pi/2$, so this is a band-stop filter.

Method 2: Hand Computation

The frequency response can be obtained by moving along the unit circle in $z$-domain. The amplitude of the frequency response can be calculated by dividing the product of the distances from the zeros by the product of the distances from the poles.

In your example the pole-zero plot looks like this: enter image description here

You can trace out the amplitude of the frequency response by moving the point $P$ along the unit circle from $0$ to $\pi$ and computing $\frac{\mbox{length(PO)}}{\mbox{length(PX)}}.$

Initially, $\mathrm{length}(PO)>\mathrm{length}(PX)$, so the amplitude response is larger than $1$. Then gradually as we move closer to $\pi/2$, $\mathrm{length}(PO)$ keeps getting shorter until it becomes exactly zero at $\pi/2$.

$\endgroup$
4
$\begingroup$

In this answer I'll try to show you how to qualitatively evaluate a given pole-zero plot by just looking at it. Of course, this method has its limits, but for relatively simple pole-zero plots you can very quickly decide on the type of the corresponding filter.

You should know that for stable filters, the frequency response equals the transfer function $H(z)$ evaluated on the unit circle $z=e^{j\omega}$. A zero of the transfer function on the unit circle creates a zero in the frequency at the corresponding frequency. A zero close to the unit circle will create a dip in the frequency response. The depth of the dip decreases with increasing distance between the zero and the unit circle.

Poles create a peak in the frequency response. Poles close to the unit circle create a sharper and higher peak than poles further away from the circle.

So, for example, a (stable) low pass filter will have poles inside the unit circle at small angles (corresponding to low frequencies) creating the pass band, and zeros on the unit circle at larger angles/frequencies creating the stop band. I guess you can easily see how the pole-zero plot of other frequency selective filters look like (poles at angles corresponding to the pass band(s), zeros on the circle in the stop band(s)).

In the example in your question you have one zero and one pole (counting only positive angles/frequencies) at the same angle/frequency. So this is no low pass or high pass, but a band stop / notch filter. The zero on the unit circle creates a zero in the frequency response at a quarter of the sampling frequency, and the pole at the same angle makes sure that the notch is relatively narrow by "pushing up" the frequency response to the left and to the right of the notch frequency.

Also take a look at this question and its answers to gain some intuition about poles and zeros. That question refers to continuous-time filters, but the principles remain the same.

$\endgroup$

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.