Unit 4.4: Introduction to Filters#

Colophon#

An annotatable worksheet for this presentation is available as Worksheet 9.

Scope and Background Reading#

This section is Based on the section Filtering from Chapter 5 of Benoit Boulet, Fundamentals of Signals and Systems[Boulet, 2006] from the Recommended Reading List.

This material is an introduction to analogue filters. You will find much more in-depth coverage on Pages 11-1—11-48 of [Karris, 2012].

Agenda#

  • Frequency Selective Filters

  • Ideal low-pass filter

  • Butterworth low-pass filter

  • High-pass filter

  • Bandpass filter

Introduction#

  • Filter design is an important application of the Fourier transform

  • Filtering is a rich topic often taught in graduate courses so we give only an introduction.

  • Our introduction will illustrate the usefulness of the frequency domain viewpoint.

  • We will explore how filters can shape the spectrum of a signal.

Other applications of the Fourier transform are sampling theory (introduced next week) and modulation.

Frequency Selective Filters#

An ideal frequency-selective filter is a system that let’s the frequency components of a signal through undistorted while frequency components at other frequency are completely cut off.

  • The range of frequencies which are let through belong to the pass Band

  • The range of frequencies which are cut-off by the filter are called the stopband

  • A typical scenario where filtering is needed is when noise n(t) is added to a signal x(t) but that signal has most of its energy outside the bandwidth of a signal.

Typical filtering problem#

Typical filtering problem

Signal#

Signal

Out-of Bandwidth Noise#

Out of bandwidth noise

Signal plus Noise#

Signal plus noise

Results of filtering#

Results of filtering

Motivating example#

See the video and script on Canvas Week 6.

Ideal Low-Pass Filter (LPF)#

An ideal low pass filter cuts-off frequencies higher than its cut-off frequency, ωc.

Hlp(ω)={1,|ω|<ωc0,|ω|ωc

Frequency response of an ideal LPF#

Frequency response of an ideal LPF

Impulse response of an ideal LPF#

hlp(t)=ωcπsinc(ωcπt)

Impulse response of an ideal LPF

Filtering is Convolution#

The output of an LTI system with impulse response

h(t)H(ω)

subject to an input signal

x(t)X(ω)

is given by

y(t)=h(t)x(t)Y(ω)=H(ω)X(ω)

Issues with the “ideal” filter#

This is the step response:

Step response of ideal LPF

(reproduced from [Boulet, 2006] Fig. 5.23 p. 205)

Ripples in the impulse resonse would be undesireable, and because the impulse response is non-causal it cannot actually be implemented.

Butterworth low-pass filter#

N-th Order Butterworth Filter

|HB(ω)|=1(1+(ωωc)2N)12

Remarks

  • DC gain is

    |HB(j0)|=1
  • Attenuation at the cut-off frequency is

    |HB(jωc)|=1/2

    for any N

More about the Butterworth filter: Wikipedia Article

Example 5: Second-order BW Filter#

The second-order butterworth Filter is defined by is Characteristic Equation (CE):

p(s)=s2+ωc2s+ωc2=0

Calculate the roots of p(s) (the poles of the filter transfer function) in both Cartesian and polar form.

Note: This has the same characteristic as a control system with damping ratio ζ=1/2 and ωn=ωc!

Example 6#

Derive the differential equation relating the input x(t) to output y(t) of the 2nd-Order Butterworth Low-Pass Filter with cutoff frequency ωc.

Example 7#

Determine the frequency response HB(ω)=Y(ω)/X(ω)

Magnitude of frequency response of a 2nd-order Butterworth Filter#

wc = 100;

Transfer function

H = tf(wc^2,[1, wc*sqrt(2), wc^2])
H =
 
          10000
  ---------------------
  s^2 + 141.4 s + 10000
 
Continuous-time transfer function.

Poles of H(s)

[poles] = pole(H)
poles =

 -70.7107 +70.7107i
 -70.7107 -70.7107i

Natural frequency ωn and damping ratio ζ of the poles

[mag,phase] = damp(H)
mag =

   100
   100


phase =

    0.7071
    0.7071

Phase of the poles

phase = angle(poles)*180/pi % degrees
phase =

   135
  -135

Magnitude frequency response

w = -400:400;
mHlp = 1./(sqrt(1 + (w./wc).^4));
plot(w,mHlp)
grid
ylabel('|H_B(j\omega)|')
title('Magnitude Frequency Response for 2nd-Order LP Butterworth Filter (\omega_c = 100 rad/s)')
xlabel('Radian Frequency \omega [rad/s]')
text(100,0.1,'\omega_c')
text(-100,0.1,'-\omega_c')
hold on
plot([-400,-100,-100,100,100,400],[0,0,1,1,0,0],'r:')
hold off
../../_images/68582a315b421dafbe6848d71df8108e2e4575e8227724d753ef690082971145.png

Bode plot

bode(H)
grid
title('Bode-plot of Butterworth 2nd-Order Butterworth Low Pass Filter')
../../_images/069cdc770721a5e939cc1819238fa6f2a5431657be7ee601b0c8ec54896532b5.png

Note that the attentuation of the filter is flat at 0 dB in the pass-band at frequencies below the cut-off frequency ω<ωc; has a value of 3 dB at the cut-off frquency ω=ωc; and has a “roll-off” (rate of decrease) of N×20 dB/decade in the stop-band.

In this case, N=2, and ωc=100 rad/s so the attenuation is -40 dB at ω=10ωc=1,000 rad/s and ω=80 dB at ω=100ωc=10,000 rad/s.

The phase is 0 at ω=0; N×90 at ω=; and N×45 and ω=ωc.

Example 8#

Determine the impulse and step response of a butterworth low-pass filter.

You will find this Fourier transform pair useful:

eatsinω0tu0(t)ω0(jω+a)2+ω02

Impulse response

impulse(H,0.1)
grid
title('Impulse Response of 2nd-Order Butterworth Low Pass Filter')
../../_images/5fd58a34a874cca4f8336cbbe3914d36300ce390370c10ea071ece0759d4c7e0.png

Step response

step(H,0.1)
title('Step Response of Butterworth 2nd-Order Butterworth Low Pass Filter')
grid
text(0.008,1,'s_B(t) for \omega_c = 100 rad/s')
../../_images/658ac7ca2c7b0b7351b368f8f3497e098f7f9108e9297deb0bcee7c99c5071ae.png

High-pass filter (HPF)#

An ideal highpass filter cuts-off frequencies lower than its cutoff frequency, ωc.

Hhp(ω)={0,|ω|ωc1,|ω|>ωc

Frequency response of an ideal HPF#

Frequency response of an ideal HPF

Responses#

Frequency response

Hhp(ω)=1Hlp(ω)

Impulse response

hhp(t)=δ(t)hlp(t)

Example 9#

Determine the frequency response of a 2nd-order butterworth highpass filter

Magnitude frequency response

w = -400:400;
plot(w,1-mHlp)
grid
ylabel('|H_B(j\omega)|')
title('Magnitude Frequency Response for 2nd-Order HP Butterworth Filter (\omega_c = 100 rad/s)')
xlabel('Radian Frequency \omega [rad/s]')
text(100,0.9,'\omega_c')
text(-100,0.9,'-\omega_c')
hold on
plot([-400,-100,-100,100,100,400],[0,0,1,1,0,0],'r:')
hold off
../../_images/02bdb86fe92b7d3111f391353d935e74022e83235274fe902984c77d8f6f6f8a.png

High-pass filter

Hhp = 1 - H
bode(Hhp)
grid
title('Bode-plot of Butterworth 2nd-Order Butterworth High Pass Filter')
Hhp =
 
      s^2 + 141.4 s
  ---------------------
  s^2 + 141.4 s + 10000
 
Continuous-time transfer function.
../../_images/a1c8bf2993a6fece7d73b312fdccb84cb26fdfb88776ae0154da50dac0f238d6.png

Band-pass filter (BPF)#

An ideal bandpass filter cuts-off frequencies lower than its first cutoff frequency ωc1, and higher than its second cutoff frequency ωc2.

Hbp(ω)={1,ωc1<|ω|<ωc20,otherwise

Frequency response of an ideal BPF#

Frequency response of an ideal BPF

Bandpass filter design#

A bandpass filter can be obtained by multiplying the frequency responses of a lowpass filter by a highpass filter.

Hbp(ω)=Hhp(ω)Hlp(ω)
  • The highpass filter should have cut-off frequency of ωc1

  • The lowpass filter should have cut-off frequency of ωc2

Summary#

  • Frequency-Selective Filters

  • Ideal low-pass filter

  • Butterworth low-pass filter

  • High-pass filter

  • Bandpass filter

Solutions#

Handwritten#

Solutions to Examples 5-9 are captured as a PenCast in filters.pdf.

MATLAB#

To generate all the plots shown in this presentation, you can use butter2_ex.mlx