Dr.
Mohammed Abdel-Hafez
Department of Electrical Engineering
Lecture Outline
Proakis: Chapter 10, sections 10.3, 10.4 (US
Edition).
Part 2 Design of IIR Filters
Introduction
10.3 Design of IIR from Analog Filters
10.3.3
Bilinear Transformation
10.3.4 Common Analog Filters
10.4 Frequency Transformations
11/30/2020 ELEC 604, M. hafez 2
11/30/2020 ELEC 604, M. hafez 3
Introduction
IIR filter have infinite-duration impulse responses,
hence they can be matched to analog filters, all of
which generally have infinitely long impulse
responses.
The basic technique of IIR filter design transforms
well-known analog filters into digital filters using
complex-valued mappings.
The advantage of this technique lies in the fact that
both analog filter design (AFD) tables and the
mappings are available extensively in the literature.
11/30/2020 ELEC 604, M. hafez 4
Introduction
The basic technique is called the Analog/Digital
(A/D) filter transformation.
However, the AFD tables are available only for
Lowpass filters. We also want design other
frequency-selective filters (highpass, bandpass,
bandstop, etc.)
To do this, we need to apply frequency-band
transformations to lowpass filters. These
transformations are also complex-valued mappings,
and they are also available in the literature.
11/30/2020 ELEC 604, M. hafez 5
Two approaches
Apply Freq. band Apply filter
Design analog Desired
transformation transformation
lowpass filter IIR filter
s→s s→ z
Approach 1, Used in Matlab
Apply Filter Apply Freq. band
Design analog Desired
transformation transformation
lowpass filter IIR filter
s→z z→ z
Approach 2, Analytical Study
11/30/2020 ELEC 604, M. hafez 6
IIR Filter Design Steps (Our Approach)
1) Design analog lowpass filter.
2) Study and apply filter transformations to
obtain digital lowpass filter.
3) Study and apply frequency-band
transformations to obtain other digital filters
from digital lowpass filter.
11/30/2020 ELEC 604, M. hafez 7
The main problem
We have no control over the phase
characteristics of the IIR filter.
Hence IIR filter designs will be treated as
magnitude-only designs.
11/30/2020 ELEC 604, M. hafez 8
11/30/2020 ELEC 604, M. hafez 9
Analog-to-digital Filter Transformations
We shall discuss different approaches to the design
of analog filters in the next section But now shall
study the transformation from Analog to Digital filters.
These transformations are derived by preserving
different aspects of analog and digital filters.
Impulse invariance transformation
Preserve the shape of the impulse response from A to D filter
Finite difference approximation technique
Convert a differential eq. representation into a corresponding
difference eq.
Step invariance
Preserve the shape of the step response
Bilinear transformation ✓
Preserve the system function representation from A to D domain
11/30/2020 ELEC 604, M. hafez 10
Analog-to-digital Filter Transformations
11/30/2020 ELEC 604, M. hafez 11
CT to DT Transformation
11/30/2020 ELEC 604, M. hafez 12
11/30/2020 ELEC 604, M. hafez 13
10.3.3 Bilinear Transformation
This mapping is the best transformation method.
2 1 − z −1 1 + sT / 2
s= −1
z=
T 1+ z 1 − sT / 2
T T
sz + s − z + 1 = 0 Linear fractional transformation
2 2
11/30/2020 ELEC 604, M. hafez 14
Bilinear Transformation
11/30/2020 ELEC 604, M. hafez 15
Bilinear Transformation
11/30/2020 ELEC 604, M. hafez 16
Observations
𝜎 < 0 → |𝑧| < 1, 𝜎 = 0 → |𝑧| = 1, 𝜎 > 0 → |𝑧| > 1.
The entire left half-plane maps into the inside of the
UC. This is a stable transformation.
The imaginary axis maps onto the UC in a one-to-
one fashion. Hence there is no aliasing in the
frequency domain.
• Relation of ω to Ω is nonlinear
−1 Ω𝑇 2 𝜔
𝜔= 2tan ↔ Ω= tan
2 𝑇 2
Matlan Function [b,a] = bilinear(c,d,Fs)
11/30/2020 ELEC 604, M. hafez 17
Bilinear Transformation
11/30/2020 ELEC 604, M. hafez 18
Given the digital filter specifications 𝑤𝑝 , 𝑤𝑠 , 𝑅𝑝 and
𝐴𝑠 , we want to determine 𝐻(𝑧).
The design steps in this procedure are the following:
1. Choose a value for T. this is arbitrary, and we may set T = 1.
2. Prewarp the cutoff frequencies 𝑤𝑝 and 𝑤𝑠 ; that is calculate
2 𝜔
Ω𝑝 and Ω𝑠 using Ω = tan :
𝑇 2
2 𝑤𝑝 2 𝑤𝑠
Ω𝑝 = tan , Ω𝑠 = tan
𝑇 2 𝑇 2
3. Design an analog filter 𝐻𝑎 (𝑠) to meet the specifications.
2 1 − z −1
4. Finally set H ( z ) = H a
−1
T 1+ z
And simplify to obtain 𝐻(𝑧) as a rational function in z-1
11/30/2020 ELEC 604, M. hafez 19
Frequency Warping
11/30/2020 ELEC 604, M. hafez 20
Design Procedure
ELEC 604, M.
hafez 21 11/30/2020
Example
𝜋
2 𝜔 2 1
Ω = tan → 4 = tan 2 → 𝑇 =
𝑇 2 𝑇 2 2
11/30/2020 ELEC 604, M. hafez 22
Example
In this example the parameter T was selected to map the resonant
frequency of the analog filter into the desired resonant frequency of the
digital filter.
11/30/2020 ELEC 604, M. hafez 23
Example
11/30/2020 ELEC 604, M. hafez 24
Example
2 1 − z −1
s=
T 1 + z −1
11/30/2020 ELEC 604, M. hafez 25
11/30/2020 ELEC 604, M. hafez 26
10.3.4 Common Analog Filters
Analog filter specifications and the properties
of the magnitude-squared response used in
specifying analog filters.
Characteristics of three widely used analog
filters
Butterworth, Chebyshev, and Elliptic filter
Transformation to convert these prototype
analog filters into different frequency-
selective digital filter
11/30/2020 ELEC 604, M. hafez 27
Some Preliminaries
Relative linear scale
The lowpass filter specifications on the magnitude-
squared response are given by
1
2
≤ 𝐻𝑎 𝑗Ω ≤ 1 , |Ω| ≤ Ω𝑝
1+𝜀
1
0 ≤ 𝐻𝑎 𝑗Ω ≤ 2 , Ω𝑠 ≤ |Ω|
𝐴
Where epsilon is a passband ripple parameter, Ω𝑝 is the
passband cutoff frequency in rad/sec, 𝐴 is a stopband
attenuation parameter, and Ω𝑠 is the stopband cutoff in rad/sec.
11/30/2020 ELEC 604, M. hafez 28
1
| H a ( j) | =
2
at = p
1+ 2
1
| H a ( j) | = 2
2
at = s
A
11/30/2020 ELEC 604, M. hafez 29
The relations among epsilon, 𝐴, 𝑅𝑝 , As, 𝛿1 and 𝛿2
1
R p = −10 log10 = 10 −1
R p / 10
1+ 2
1
As = −10 log10 2 A = 10 As / 20
A
1 − 1 1 2 1
= =
1 + 1 1+ 2
1 − 1
2 1 1 + 1
= A=
1 + 1 A 2
11/30/2020 ELEC 604, M. hafez 30
Properties of |𝐻𝑎(𝑗Ω)| 2
Analog filter specifications, which are given in terms of the magnitude-
squared response, contain no phase information. Now to evaluate the s-
domain system function Ha(s), consider
𝐻𝑎 (𝑗Ω) = 𝐻𝑎 (𝑠)|𝑠=𝑗Ω
|𝐻𝑎 (𝑗Ω)|2 = 𝐻𝑎 (𝑗Ω)𝐻𝑎∗ (𝑗Ω) = 𝐻𝑎 (𝑗Ω)𝐻𝑎 (−𝑗Ω) = 𝐻𝑎 (𝑠)𝐻𝑎 (−𝑠)|𝑠=𝑗Ω
𝑜𝑟, 𝐻𝑎 (𝑠)𝐻𝑎 (−𝑠) = |𝐻𝑎 (𝑗Ω)|2 |Ω=𝑠/𝑗
Therefore the poles and zeros of the magnitude-squared function are
distributed in a mirror-image symmetry with respect to the 𝑗Ω axis.
Also for real filters, poles and zeros occur in complex conjugate pairs (or
mirror-image symmetry with respect to the real axis).
From this pattern we can construct 𝐻𝑎 (𝑠), which is the system function of
our analog filter.
11/30/2020 ELEC 604, M. hafez 31
Properties of |𝐻𝑎 (𝑗Ω)| 2
We want 𝐻𝑎 (𝑠) to represents a causal and stable
filter. Then all poles of 𝐻𝑎 (𝑠) must lay within the left
half-plane. Thus we assign all left-half poles of
𝐻𝑎 𝑠 𝐻𝑎 (−𝑠) to 𝐻𝑎 (𝑠).
We will choose the zeros of 𝐻𝑎 𝑠 𝐻𝑎 (−𝑠) laying
inside or on the 𝑗Ω axis as the zeros of 𝐻𝑎 (𝑠).
The resulting filter is then called a minimum-phase
filter.
11/30/2020 ELEC 604, M. hafez 32
Characteristics of Prototype Analog Filters
IIR filter design techniques rely on existing analog
filters to obtain digital filters. We designate these
analog filters as prototype filters.
Three prototypes are widely used in practice
Butterworth lowpass
Chebyshev lowpass (Type I and II)
Elliptic lowpass
11/30/2020 ELEC 604, M. hafez 33
Butterworth Lowpass Filter
This filter is characterized by the property that its
magnitude response is flat in both passband and
stopband.
1 1
| H a () | =
2
2N
= 2N
1 + 1+
2
c
p
The magnitude-squared response of an N-order lowpass
filter
Ω𝑐 is the cutoff frequency in rad/sec.
Ω𝑝 is the pass band edge frequency in rad/sec.
11/30/2020 ELEC 604, M. hafez 34
Butterworth Lowpass Filter
1
| H a () | =
2
2N
1 +
c
11/30/2020 ELEC 604, M. hafez 35
Properties of Butterworth Filter
Magnitude Response
|𝐻𝑎 (0)|2 = 1, |𝐻𝑎 (Ω𝑐 ) |2 = 0.5, for all 𝑁 (3dB attenuation
at Ωc).
|𝐻𝑎 (Ω)|2 monotonically decrease for Ω
Approaches to ideal filter when 𝑁 → ∞.
To determine the system function 𝐻𝑎 (𝑠)
1 𝐻𝑎 (𝑠)𝐻𝑎 (−𝑠) = |𝐻𝑎 (𝑗Ω)|2 |Ω=𝑠/𝑗
𝐻𝑎 (𝑠)𝐻𝑎 (−𝑠) = 𝑁
−𝑠 2
1+
Ω𝑐 2
−𝑠 2
2 = (−1)1/𝑁 = 𝑒 𝑗(2𝑘+1)𝜋/𝑁 , ℎ𝑒𝑛𝑐𝑒, 𝑝𝑜𝑙𝑒𝑠 𝑎𝑟𝑒 :
Ω𝑐
𝑝𝑘 = 𝑠𝑘 = Ω𝑐 𝑒 𝑗𝜋/2 𝑒 𝑗(2𝑘+1)𝜋/2𝑁 , 𝑘 = 0,1, ⋯ , 𝑁 − 1
11/30/2020 ELEC 604, M. hafez 36
Pole positions for Butterworth filters.
11/30/2020 ELEC 604, M. hafez 37
Properties of Butterworth Filter
We can find the filter order by meeting an attenuation 𝛿2 at specified
frequency Ω𝑠 . Thus , at Ω = Ω𝑠
11/30/2020 ELEC 604, M. hafez 38
Example
40𝑑𝐵 = 10 log10 (𝛿22 )
11/30/2020 ELEC 604, M. hafez 39
Poles of |Ha(Ω)|2 Ω=s/j =Ha(s) Ha(-s)
Equally distributed on a circle of radius Ω𝑐 with angular
spacing of 𝜋/𝑁 radians
𝑗2𝜋k
For N odd, 𝑝𝑘 = Ω𝑐 𝑒 𝑁
𝜋 𝑘𝜋
𝑗 +
For N even, 𝑝𝑘 = Ω𝑐 𝑒 2𝑁 𝑁
Symmetry respect to the imaginary axis.
A pole never falls on the imaginary axis, and falls on the real
axis only if N is odd
A stable and causal filter 𝐻𝑎(𝑠) can now be specified by
selecting poles in the left half-plane
c
N
H a ( s) = N
( s − pk )
LHP poles
11/30/2020 ELEC 604, M. hafez 40
Poles of |Ha(Ω)|2 Ω=s/j =Ha(s) Ha(-s)
11/30/2020 ELEC 604, M. hafez 41
Example
𝜋 𝑘𝜋
𝑗 2𝑁+ 𝑁
𝑝𝑘 = Ω𝑐 𝑒
11/30/2020 ELEC 604, M. hafez 42
Design Equations
The analog lowpass filter is specified by the parameters, Ω𝑝 ,
𝑅𝑝 , Ω𝑠 , and 𝐴𝑠 . Therefore the essence of the design in the
case of Butterworth filter is to obtain the order 𝑁 and the
cutoff frequency Ω𝑐 .
1 at = p , − 10 log10 | H a () |2 = R p
| H a () |2 = 2N
at = s , − 10 log10 | H a () |2 = As
1 +
c
log10 [ (10𝑅𝑝/10 − 1)/(10𝐴𝑠 /10 − 1)]
𝑁=
2 log10 ( Ω𝑝 /Ω𝑠 )
Ω𝑝 Ω𝑠
Ω𝑐 = , 𝑜𝑟 Ω𝑐 = 2𝑁
2𝑁
𝑅𝑝 /10 (10 𝐴𝑠 /10 − 1)
(10 − 1)
11/30/2020 ELEC 604, M. hafez 43
Example
11/30/2020 ELEC 604, M. hafez 44
Chebyshev Lowpass Filter
Chebyshev-I filters
Have equiripple response in the passband
Chebyshev-II filters
Have equiripple response in stopband
Butterworth filters
Have monotonic response in both bands
We note that by choosing a filter that has an equripple rather
than a monotonic behavior, we can obtain a low-order filter.
Therefore Chebyshev filters provide lower order than
Buttworth filters for the same specifications.
11/30/2020 ELEC 604, M. hafez 45
The magnitude-squared response
of Chebyshev-I filter
1 N is the order of the filter,
|𝐻𝑎 (𝑗Ω)|2 =
Ω
1 + 𝜀 2 𝑇𝑁2 Epsilon is the passband ripple factor
Ω𝑐
cos( 𝑁 cos −1 ( 𝑥)), |𝑥| ≤ 1
𝑇𝑁 (𝑥) = ൝ Nth-order Chebyshev polynomial
cosh( 𝑁 cosh−1 ( 𝑥)), 𝑥 > 1
(a) For 0 < 𝑥 < 1, 𝑇𝑁 (𝑥) oscillates between –1 and 1, and
(b) For 1 < 𝑥 < ∞, 𝑇𝑁 (𝑥) increases monotonically to infinity (two possible shapes)
The Chebyshev polynomials can be generated by the recursive
equation
11/30/2020 ELEC 604, M. hafez 46
Observations
Type I Chebyshev filter characteristic.
11/30/2020 ELEC 604, M. hafez 47
Observations
1 𝑁 𝑂𝑑𝑑
• At x=0 (or Ω=0); 𝐻𝑎 0 2 = ൝ 1
𝑁 𝐸𝑣𝑒𝑛
1+𝜖2
2 1
• At x=1 (or Ω = Ω𝑐 ); 𝐻𝑎 1 = 1+𝜖2 for all N.
• For 0 ≤ 𝑥 ≤ 1 (or 0 ≤ Ω ≤ Ω𝑐 )
1
|𝐻𝑎 (𝑥)|2 oscillates between 1 and 1+𝜖2
• For 𝑥 > 1 (or Ω > Ω𝑐 ), |𝐻𝑎 (𝑥)|2 decreases monotonically to 0.
1
• At 𝑥 = Ω𝑟 , 𝐻𝑎 𝑥 2 = 𝐴2
11/30/2020 ELEC 604, M. hafez 48
Causal and stable 𝐻𝑎 (𝑠)
To determine a causal and stable 𝐻𝑎 (𝑠), we must find
the poles of 𝐻𝑎 𝑠 𝐻𝑎 (−𝑠) and select the left half-plane
poles for 𝐻𝑎 (𝑠).
The poles of 𝐻𝑎 𝑠 𝐻𝑎 (−𝑠) are obtained by finding the
roots of
s
1 + T
2 2
j c
N
11/30/2020 ELEC 604, M. hafez 49
Causal and stable Ha(s)
It can be shown that if pk = k + j k , k = 0,1,, N − 1
are the (left half-plane) roots of the above polynomial, then
pk = k + j k , k = 0,1, , N − 1
(2k + 1)
k = (a c ) cos +
2 2 N
(2k + 1)
k = (b c ) sin +
2 2 N
1
( ) 1
(
a = N − N 1/ , b = N + N 1/ ,
2 2
)
1 1
= + 1+ 2
11/30/2020 ELEC 604, M. hafez 50
The poles of Ha(s)Ha(-s)
The poles fall on an ellipse with
major axis b Ωc and minor axis a Ωc .
Now the system function is
K
H a (s) =
( s − pk )
k
Left half-plane
K is a normalizing factor
11/30/2020 ELEC 604, M. hafez 51
Design Equations
Given Ωp, Ωs, Rp and As, three parameters are required
to determine a Chebyshev-I filter
1
𝜀= 100.1𝑅𝑝 − 1, 𝑎𝑛𝑑 𝐴 = 10 𝐴𝑠 /20 𝛿 =1−
1 + 𝜀2
Ω𝑠 1
Ω𝑐 = Ω𝑝 , 𝑎𝑛𝑑 Ω𝑟 = 𝛿2 =
Ω𝑐 1 + 𝛿2
𝑔 = (𝐴2 − 1)/𝜀 2
log10 𝑔 + 𝑔2 − 1 cosh−1 ( 𝛿/𝜀)
𝑁= =
log10 Ω𝑟 + Ω2𝑟 − 1 cosh−1 ( Ω𝑠 /Ω𝑝 )
11/30/2020 ELEC 604, M. hafez 52
Example
11/30/2020 ELEC 604, M. hafez 53
Example
11/30/2020 ELEC 604, M. hafez 54
Chebyshev-II filter
• Related to the Chebyshev-I filter through a simple transformation.
• It has a monotone passband and an equiripple stopband, which
implies that this filter has both poles and zeros in the s-plane.
• Therefore the group delay characteristics are better (and the phase
response more linear) in the passband than the Chebyshev-I
prototype.
−1
Ω Ω
• Replace 𝜖 2 𝑇𝑁2 by its reciprocal 𝜖 2 𝑇𝑁2 .
Ω𝑐 Ω𝑐
Ω Ωc
• Replace the argument 𝑥 = by its reciprocals .
Ω𝑐 Ω
1 1
| H a ( j ) | 2 = |𝐻𝑎 (𝑗Ω)|2 = −1
2 2
1 + TN 1+ 𝜀 2 𝑇𝑁2 Ω𝑐 /Ω
c
11/30/2020 ELEC 604, M. hafez 55
Chebyshev-II filter
One approach to design a Chebyshev-II filter is to
design the corresponding Chebyshev-I first then
apply the transformation.
Type II Chebyshev filters.
11/30/2020 ELEC 604, M. hafez 56
Elliptic Lowpass Filters
• These filters exhibit equiripple behavior in the passband as well as the
stopband. They are similar in magnitude response characteristics to the
FIR equiripple filters.
• Therefore elliptic filters are optimum filters in that they achieve the
minimum order N for the given specifications
• These filters, for obvious reasons, are very difficult to analyze and
therefore, to design.
• It is not possible to design them using simple tools, and often programs
or tables are needed to design them.
Magnitude-squared
frequency characteristics
of elliptic filters.
11/30/2020 ELEC 604, M. hafez 57
The magnitude-squared response
1
| H a ( j) | =
2 N: the order; epsilon: passbang ripple;
1 + U
2 2
UN() is the Nth order Jacobian elliptic function
c
N
Typical responses for odd and even N are shown
Computation of filter order N:
( )
K (k ) K 1 − k12 /2 d
K (k ) K ( 1 − k )
N= ,k = , k1 = , K ( x) = 0
p
1
2 s A −1
2
1 − x 2 sin 2
11/30/2020 ELEC 604, M. hafez 58
Phase Responses of Prototype Filters
Elliptic filter provide optimal performance in the magnitude-
squared response but have highly nonlinear phase
response in the passband (which is undesirable in many
applications).
Even though we decided not to worry about phase
response in our design, phase is still an important issue in
the overall system.
At other end of the performance scale are the Buttworth
filters, which have maximally flat magnitude response and
require a higher-order N (more poles) to achieve the same
stopband specification. However, they exhibit a fairly linear
phase response in their passband.
11/30/2020 ELEC 604, M. hafez 59
Phase Responses of Prototype Filters
The Chebyshev filters have phase characteristics
that lay somewhere in between.
Therefore in practical applications we do consider
Butterworth as well as Chebyshev filters, in addition
to elliptic filters.
The choice depends on both the filter order (which
influences processing speed and implementation
complexity) and the phase characteristics (which
control the distortion).
11/30/2020 ELEC 604, M. hafez 60
Bilinear Transform Example
11/30/2020 ELEC 604, M. hafez 61
Bilinear Transform Example
11/30/2020 ELEC 604, M. hafez 62
Bilinear Transform Example
11/30/2020 ELEC 604, M. hafez 63
11/30/2020 ELEC 604, M. hafez 64
Frequency Transformation in Analog Domain
If we wish to design a highpass or a bandpass or a
bandstop filter,
it is a simple matter to take a low pass prototype
filter (Butterworth, Chebyshev, elliptic, Bessel) and
perform a frequency transformation.
Approach 1: Convert the analog filter into a
corresponding digital filter by a mapping of the s-
plane into the z-plane.
Approach 2: convert the analog lowpass filter into
a lowpass digital filter and then to transform the
lowpass digital filter into the desired digital filter by a
digital transformation.
11/30/2020 ELEC 604, M. hafez 65
Frequency Transformation in Analog Domain
Lowpass to Lowpass
Suppose that we have a lowpass filter with passband
edge frequency Ω𝑝 and we wish to convert it to
another low pass filter with passband edge frequency
Ω′𝑝 . The transformation that accomplishes this is
Prototype filter
11/30/2020 ELEC 604, M. hafez 66
Frequency Transformation in Analog Domain
Lowpass to Highpass
If we wish to convert a low pass filter into a
highpass filter with passband edge
frequency, the desired transformation is
The system function o f the highpass filter is
Prototype filter
11/30/2020 ELEC 604, M. hafez 67
Frequency Transformation in Analog Domain
Lowpass to Bandpass
The transformation for converting a low pass analog filter
with passband edge frequency Ω𝑝 into a band filter, having a
lower band edge frequency Ω𝑙 and an upper band edge
frequency Ω𝑢 , can be accomplished by and then performing
the transformation
Prototype filter
11/30/2020 ELEC 604, M. hafez 68
Frequency Transformation in Analog Domain
Lowpass to Bandstop
The transformation for converting a low pass analog filter
with passband edge frequency Ω𝑝 into a bandstop filter,we
use the transformation
Prototype filter
11/30/2020 ELEC 604, M. hafez 69
Summary:
Frequency Transformation in Analog Domain
11/30/2020 ELEC 604, M. hafez 70
Example
11/30/2020 ELEC 604, M. hafez 71
Frequency Transformation in Digital Domain
As in the analog domain, frequency transformations
can be performed on a digital low pass filter to
convert it to either a bandpass, bandstop, or
highpass filter.
The transformation involves replacing the variable
𝑧 −1 by a rational function 𝑔(𝑧 −1 ), which must satisfy
the following properties:
1) The mapping z −1 → 𝑔 𝑧 −1 must map points
inside the unit circle in the z-plane into itself.
2) The unit circle must also be mapped into itself.
11/30/2020 ELEC 604, M. hafez 72
Frequency
Transformation
in Digital
Domain
11/30/2020 ELEC 604, M. hafez 73
Example
11/30/2020 ELEC 604, M. hafez 74
Example
11/30/2020 ELEC 604, M. hafez 75
Practice Problems)
Proakis (Chapter 10) US Edition.
10.10 to 10.23
11/30/2020 ELEC 604, M. hafez 76
Final Exam
Chapter 3
Chapter 4
Chapter 5
Chapter 7
Basic implementation of FIR and IIR filters (Chapter 2 section 2.5)
Chapter 10, parts 1 and 2
11/30/2020 ELEC 604, M. hafez 77