Butterworth IIR Filter by Impulse Invariance Method

Impulse Invariant Method:

  1. Poles are transferred by using the equation,

Where,  Pk = P1, P2, P3….. PN are the poles

Ts is Sampling Time

  1. Mapping is many to one.
  2. Aliasing effect is present.
  3. It is not suitable to design High-pass filter and band reject Filter.
  4. Only Poles of the system can be mapped.
  5. No Frequency warping effect.

Butterworth Approximation:

Many a times it is necessary to approximate the characteristics of analog filter. This approximation is required because the practical characteristics of a filter are not identical to the ideal characteristics.

Design equations and Design steps:

Let

Ap= Attenuation in pass band.

As= Attenuation in Stop Band.

Ωp= Pass Band edge frequency.

Ωc= Cut-off Frequency.

Ωs= Stop Band edge Frequency.

Step 1: From the given specification of digital Filter, obtain equivalent analog filter as follows:

Here,

Ω= Frequency of analog Filter.

ω= Frequency of digital Filter.

Ts= Sampling Time.

Step 2: Calculate the order ‘N’ of Filter using the equation,

If the specifications are given in decibel (dB) then use,

Step 3: Calculation of Cut off Frequency(Ωc),

Cuttoff Frequency

When ωc is not given then use the equation,





And if the specifications are in decibel (db) then,

Step 4: Calculate the poles using,

If the poles are complex conjugate then organize the poles (Pk) as complex conjugate pairs that means,

S1 and S1*,  S2 and S2*, etc.

Step 5: Calculate the system transfer function of analog filter using,

and if the poles are complex conjugate then,

Step 6: Design the digital filter by obtaining transfer function H(z) simply by substituting,

in the equation of H(s). We have to assume sampling time Ts= 1 if not given.

MATLAB CODE:

Consider a problem: Design a Butterworth IIR Filter using impulse invariance Transformation by taking T= 1 sec and

Solution:

The Given Specifications are

Ap= 0.707            omega_p= 0.3 π

As= 0.2                 omega_s= 0.75 π

clear all
clc
Ap=0.707;
As=0.2;
omega_p=0.3*pi;
omega_s=0.75*pi;
T=1;
Pass_attenuation= -20*log10(Ap);
Stop_attenuation= -20*log10(As);
P_a=omega_p/T
S_a=omega_s/T
[N,CF]=buttord(P_a,S_a,Pass_attenuation,Stop_attenuation,'s')
[Bn,An]=butter(N,1,'s')
disp('normalized function')
HSn=tf(Bn,An)
[B,A]=butter(N,CF,'s')
disp('unnormalized function')
HS=tf(B,A)
[num,den]=impinvar(B,A,1/T)
disp('digi trans func')
Hz=tf(num,den,T)
w=0:pi/16:pi
disp('freq resp')
Hw=freqz(num,den,w)
disp('mag resp')
Hw_mag=abs(Hw)
plot(w/pi,Hw_mag,'k');
grid;
title('mag resp of butterworth low pass filter')
xlabel('normalized freq')
ylabel('mag')

 

Output:

normalized function

HSn =
1
—————–
s^2 + 1.414 s + 1
Continuous-time transfer function.
unnormalized function
HS =
1.133
———————
s^2 + 1.505 s + 1.133
Continuous-time transfer function.
Hz =
0.4848 z
———————–
z^2 – 0.6876 z + 0.2219
Sample time: 1 seconds
Discrete-time transfer function.

What is Frequency Warping?

Because of the non-linear mapping, the amplitude response of digital IIR filter is expanded at lower frequencies and compressed at higher frequencies in comparison to the analog filter. This effect is called as frequency warping.

What is aliasing effect ?

Aliasing is an effect that causes different signals to become indistinguishable (or aliases of one another) when sampled. It also refers to the distortion or artifacts that result when the signal reconstructed from samples is different from the original continuous signal.


Pursuing Bachelor's Degree in Electronics and Telecommunication Engineering from K. J. Somaiya Institute of Engineering and Information Technology, Mumbai University.

Comments

  1. […] Designing Butterworth IIR filter using Impulse Invariance Technique. […]

  2. […] Designing Butterworth IIR filter using Impulse Invariance Technique. […]

  3. […] Designing Butterworth IIR filter using Impulse Invariance Technique. […]

  4. […] Designing Butterworth IIR filter using Impulse Invariance Technique. […]

Comments are closed.