A Quadrature Signals Tutorial: Complex, But Not Complicated

Understanding the 'Phasing Method' of Single Sideband Demodulation

Complex Digital Signal Processing in Telecommunications

Introduction to Sound Processing

Introduction of C Programming for DSP Applications

Christopher Felton's current favorite projects are implementing DSP digital circuits with MyHDL for FPGAs. More information @ LinkedIn. Follow @FeltonChris !func...show full bio

**Would you like to be notified by email when cfelton publishes a new blog?**

Follow @DSPRelated

In the previous post the Python scipy.signal *iirdesign* function was disected. We reviewed the basics of filter specification and reviewed how to use the *iirdesign* function to design IIR filters. The previous post I only demonstrated low pass filter designs. The following are examples how to use the *iirdesign* function for highpass, bandpass, and stopband filters designs.

The following is a highpass filter design for the different filter types. Refer to the previous post for information on the i*irdesign* function arguements and usage.

Again, similiar to the approach in the previous post tighter specifications can be given for the ellip and cheyb2 filter design.

As mentioned, a bandpass filter coefficients can be created with the *iirdesign* function as well. Since the *iirdesign *function is similiar for the different filter types we will only use the ellip and cheby2 for the rest of the examples.

And lastely here is an example to create a stopband filter.

The scipy.signal *iirdesign* function, similiar to other signal processing packages, is a flexible tool to design and generate filter coefficients for an IIR filter.

Christopher Felton's current favorite projects are implementing DSP digital circuits with MyHDL for FPGAs. More information @ LinkedIn.

Follow @FeltonChris

Previous post by Christopher Felton:

Next post by Christopher Felton:

Comments / Replies

fwkz

Said:

How exactly do you compute phase response?

2 years ago

+1

Sorry, you need javascript enabled to post any comments.

cfelton

Said:

In this case I am using the signal.freqz to generate the *complex* response. The phase is the angle of the complex values. I can say w,H = signal.freqz(b,a) and plot(w, angle(H))

Sorry, you need javascript enabled to post any comments.

cfelton

Replied:

This code snippet includes and example using the signal.freqz and plotting the response, http://www.dsprelated.com/showcode/270.php

fwkz

Replied:

What about phase response in previous post? Phase characteristic is completely different, much more smooth. I execute code from previous example and I get completely different shape.

w,H = signal.freqz(b,a) and plot(w, angle(H)) doesn't make sense there. How do you compute it?

w,H = signal.freqz(b,a) and plot(w, angle(H)) doesn't make sense there. How do you compute it?

Sorry, you need javascript enabled to post any comments.