You are on page 1of 239

Discrete-Time Fourier Transform

Discrete Fourier Transform


z-Transform

Tania Stathaki
811b
t.stathaki@imperial.ac.uk
Joseph Fourier (1768-1830)
Discrete-Time Fourier Transform
• Definition - The Discrete-Time Fourier
Transform (DTFT) X (e jω ) of a sequence
x[n] is given by

X (e ) =

∑ x[n]e
n = −∞
− jω n

• In general, X (e jω ) is a complex function


of the real variable ω and can be written as

X (e jω ) = X re (e jω ) + j X im (e jω )
Discrete-Time Fourier
Transform
• X re (e jω ) and X im (e jω ) are, respectively,
the real and imaginary parts of X (e jω ), and
are real functions of ω
• X (e jω ) can alternately be expressed as
X (e jω ) = X (e jω ) e jθ(ω)
where
θ(ω) = arg{ X (e jω )}
Discrete-Time Fourier
Transform
• X (e jω ) is called the magnitude function
• θ(ω) is called the phase function
• Both quantities are again real functions of ω
• In many applications, the DTFT is called
the Fourier spectrum
• Likewise, X (e jω ) and θ(ω) are called the
magnitude and phase spectra
Discrete-Time Fourier
Transform
2
X (e ) = X (e jω ) X ∗ (e jω )

X re (e jω ) = X (e jω ) cos θ (ω)
X im (e ) = X (e ) sin θ (ω)
jω jω

2
X (e ) = X re2 (e jω ) + X im
jω 2
( e jω )
X im (e jω )
tan θ (ω) =
X re (e jω )
Discrete-Time Fourier Transform
• For a real sequence x[n], X (e jω ) and X re (e jω ) are
even functions of ω, whereas, θ(ω) and X im (e jω )
are odd functions of ω (Prove using previous slide relationships)
• Note: X (e jω ) = X (e jω ) e jθ(ω+ 2πk )
= X (e jω ) e jθ(ω)
for any integer k
• The phase function θ(ω) cannot be uniquely
specified for any DTFT
Discrete-Time Fourier
Transform
• Unless otherwise stated, we shall assume
that the phase function θ(ω) is restricted to
the following range of values:
− π ≤ θ(ω) < π
called the principal value
Discrete-Time Fourier
Transform
• The DTFTs of some sequences exhibit
discontinuities of 2π in their phase
responses
• An alternate type of phase function that is a
continuous function of ω is often used
• It is derived from the original phase
function by removing the discontinuities of

Discrete-Time Fourier
Transform
• The process of removing the discontinuities
is called “unwrapping”
• The continuous phase function generated by
unwrapping is denoted as θc (ω)
• In some cases, discontinuities of π may be
present after unwrapping
Discrete-Time Fourier
Transform
• Example - The DTFT of the unit sample
sequence δ[n] is given by

∆(ω) = ∑ δ[n]e − jωn = δ[0] = 1
n = −∞
• Example - Consider the causal sequence
1 n ≥ 0
x[n] = α µ[n],
n
α < 1, µ[n] = 
0 otherwise
Discrete-Time Fourier
Transform
• Its DTFT is given by
∞ ∞
jω − jω n
X (e ) = ∑ α µ[n]e n
= ∑ α n e − jω n
n = −∞ n =0

− jω n
= ∑ (α e ) = 1
n =0 1− α e− jω

as α e − jω = α < 1
Discrete-Time Fourier
Transform
• The magnitude and phase of the DTFT
jω − jω
X (e ) = 1 /(1 − 0.5 e ) are shown below
0.6
2
0.4

Phase in radians
0.2
1.5
Magnitude

1 -0.2

-0.4

0.5
-3 -2 -1 0 1 2 3 -3 -2 -1 0 1 2 3
ω/π ω/π
Discrete-Time Fourier
Transform
• The DTFT X (e jω ) of a sequence x[n] is a
continuous function of ω
• It is also a periodic function of ω with a
period 2π:

j ( ωo + 2 πk )
X (e ) = ∑ x[n]e − j (ωo + 2 πk ) n
n = −∞
∞ ∞
− jωo n − j 2 π k n
= ∑ x[n]e e = ∑ x[n]e − jωon = X (e jωo )
n = −∞ n = −∞
Discrete-Time Fourier
Transform
• Inverse Discrete-Time Fourier Transform:
1 π j ω jω n
x[n] = ∫ X (e )e dω
2π − π
• Proof:
1 π ∞ − jωl  jω n
x[n] = ∫  ∑ x[l]e e dω
2π − π  l = −∞ 
Discrete-Time Fourier
Transform
• The order of integration and summation can
be interchanged if the summation inside the

brackets converges uniformly, i.e., X (e )
exists
1 π ∞ − jω l  jω n
• Then ∫  ∑ x[l]e  e dω
2π − π  l = −∞ 
π
∞  1  ∞
sin π (n − l)
= ∑ x[l] ∫−π e jω ( n − l )
d ω  = ∑ x[l] π (n − l)

l = −∞  2π  l = −∞
Discrete-Time Fourier
Transform
• Now sin π(n − l) 1, n = l
=
π(n − l) 0, n ≠ l
= δ[ n − l]
• Hence
∞ sin π(n − l) ∞
∑ x[l] = ∑ x[l]δ[n − l] = x[n]
l = −∞ π(n − l) l = −∞
Discrete-Time Fourier
Transform
• Convergence Condition - An infinite
series of the form

X (e ) = ∑ x[ n]e − jω n

n = −∞
may or may not converge
• Consider the following approximation
K
jω − jω n
X K (e ) = ∑ x[n]e
n=− K
Discrete-Time Fourier Transform
• Then for uniform convergence of X (e jω ),
jω jω
lim X (e ) − X K (e ) = 0
K →∞
• If x[n] is an absolutely summable sequence, i.e., if

∑ x[n] < ∞
n = −∞
∞ ∞
jω − j ωn
X (e ) = ∑ x[n]e ≤ ∑ x[n] < ∞
n = −∞ n = −∞
for all values of ω
• Thus, the absolute summability of x[n] is a sufficient
condition for the existence of the DTFT
Discrete-Time Fourier
Transform
n
• Example - The sequence x[n] = α µ[n] for
α < 1 is absolutely summable as
∞ ∞ 1
n n
∑ α µ[n] = ∑ α = <∞
n = −∞ n =0 1− α
and therefore its DTFT X (e jω ) converges
− jω
to 1 /(1 − α e ) uniformly
Discrete-Time Fourier
Transform
• Since
∞ ∞ 2
2  
∑ x[n] ≤  ∑ x[n]  ,
n = −∞  n = −∞ 
an absolutely summable sequence has
always a finite energy
• However, a finite-energy sequence is not
necessarily absolutely summable
Discrete-Time Fourier Transform
• Example - The sequence
 1 / n, n ≥ 1
x[n] = 
 0, n ≤ 0
has a finite energy equal to
∞ 2 2
 1 π
Ex = ∑   =
n =1 n  6
• However, x[n] is not absolutely summable since the
summation
∞ ∞
1 1

n =1
=∑
n n =1 n
does not converge.
Discrete-Time Fourier Transform
• To represent a finite energy sequence that is not
absolutely summable by a DTFT, it is necessary to

consider a mean-square convergence of X (e )
π
jω jω 2
lim ∫ X (e ) − X K (e ) dω = 0
K →∞ − π
where
K
jω − jω n
X K (e ) = ∑ x[n] e
n=− K
Discrete-Time Fourier
Transform
• Here, the total energy of the error
X ( e j ω ) − X K ( e jω )
must approach zero at each value of ω as K
goes to ∞
• In such a case, the absolute value of the
jω jω
error X (e ) − X K (e ) may not go to
zero as K goes to ∞ and the DTFT is no
longer bounded
Discrete-Time Fourier
Transform
• Example - Consider the DTFT
jω 1, 0 ≤ ω ≤ ωc
H LP (e ) = 
0, ωc < ω ≤ π
shown below
H LP (e jω )
1

ω
− π − ωc 0 ωc π
Discrete-Time Fourier Transform
• The inverse DTFT of H LP (e jω ) is given by
1 ωc jω n
hLP [n] = ∫ e dω
2π −ωc
 jωc n − jωc n 
1 e e = sin ω n
=  − c , − ∞ < n < ∞
2π  jn jn  πn

• The energy of hLP [n] is given by ωc / π


(See slide 46 for proof. Parseval’s Theorem stated in slide 37 is used).

• hLP [n] is a finite-energy sequence,


but it is not absolutely summable
Discrete-Time Fourier
Transform
• As a result
K
− jω n
K sin ωc n − jω n
∑ hLP [n] e = ∑ e
n=− K n= − K
πn


does not uniformly converge to H LP (e )

for all values of ω, but converges to LP
H ( e )
in the mean-square sense
Discrete-Time Fourier
Transform
• The mean-square convergence property of
the sequence hLP [n] can be further
illustrated by examining the plot of the
function
K sin ω n
jω − jω n
H LP , K (e ) = ∑ c e
n= − K
πn
for various values of K as shown next
Discrete-Time Fourier
Transform
N = 10 N = 20

1 1

0.8 0.8
Amplitude

Amplitude
0.6 0.6

0.4 0.4

0.2 0.2

0 0

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1


ω/π ω/π
N = 30 N = 40

1 1

0.8 0.8

Amplitude
Amplitude

0.6 0.6

0.4 0.4

0.2 0.2

0 0

0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1


ω/π ω/π
Discrete-Time Fourier
Transform
• As can be seen from these plots, independent
of the value of K there are ripples in the plot

of H LP , K (e ) around both sides of the
point ω = ωc
• The number of ripples increases as K
increases with the height of the largest ripple
remaining the same for all values of K
Discrete-Time Fourier
Transform
• As K goes to infinity, the condition
π
jω jω 2
lim ∫ H LP (e ) − H LP , K (e ) dω = 0
K →∞ − π

holds indicating the convergence of H LP , K (e )
to H LP (e jω )

• The oscillatory behavior of H LP , K (e )

approximating H LP (e ) in the mean-
square sense at a point of discontinuity is
known as the Gibbs phenomenon
Discrete-Time Fourier
Transform
• The DTFT can also be defined for a certain
class of sequences which are neither
absolutely summable nor square summable
• Examples of such sequences are the unit
step sequence µ[n], the sinusoidal sequence
cos(ωo n + φ) and the exponential sequence Aα n
• For this type of sequences, a DTFT
representation is possible using the Dirac
delta function δ(ω)
Discrete-Time Fourier
Transform
• A Dirac delta function δ(ω) is a function of
ω with infinite height, zero width, and unit
area
• It is the limiting form of a unit area pulse
function p∆ (ω) as ∆ goes to zero, satisfying
p∆ (ω )
∞ ∞ 1
lim ∫ p∆ (ω)dω = ∫ δ(ω)dω ∆
∆ →0 − ∞ −∞

ω
−∆ 0 ∆
2 2
Discrete-Time Fourier
Transform
• Example - Consider the complex exponential
sequence
jωo n
x[n] = e
• Its DTFT is given by


X (e ) = ∑ 2πδ(ω − ωo + 2π k)
k = −∞
where δ(ω) is an impulse function of ω and
− π ≤ ωo ≤ π
Discrete-Time Fourier
Transform
• The function


X (e ) = ∑ 2πδ(ω − ωo + 2π k)
k = −∞
is a periodic function of ω with a period 2π
and is called a periodic impulse train

• To verify that X ( e ) given above is
jωo n
indeed the DTFT of x[n] = e we

compute the inverse DTFT of X ( e )
Discrete-Time Fourier
Transform
• Thus
1 π ∞ jωn
x[n] = ∫ ∑ 2πδ(ω − ωo + 2π k)e dω
2π − π k = −∞
π
= ∫ δ(ω − ωo )e jωn dω = e jωon
−π
where we have used the sampling property
of the impulse function δ(ω)
Commonly Used DTFT Pairs
Sequence DTFT
δ[n] ↔ 1

1 ↔ ∑ 2πδ(ω + 2π k)
k = −∞

e jωon ↔ ∑ 2πδ(ω − ωo + 2π k)
k = −∞
1 ∞
µ[n] ↔ − jω
+ ∑ π δ(ω + 2π k)
1− e k = −∞
1
µ[n], ( α < 1) ↔ − jω
1− α e
DTFT Properties
• There are a number of important properties
of the DTFT that are useful in signal
processing applications
• These are listed here without proof
• Their proofs are quite straightforward
• We illustrate the applications of some of the
DTFT properties
Table: General Properties of DTFT
Table: Symmetry relations of the
DTFT of a complex sequence

x[n]: A complex sequence


Table: Symmetry relations of
the DTFT of a real sequence

x[n]: A real sequence


DTFT Properties
• Example - Determine the DTFT Y (e jω ) of
n
y[n] = (n + 1)α µ[n], α < 1
n
• Let x[n] = α µ[n], α < 1
• We can therefore write
y[n] = n x[n] + x[n]
• From Tables above, the DTFT of x[n] is
given by
jω 1
X (e ) =
1 − α e − jω
DTFT Properties
• Using the differentiation property of the
DTFT given in Table above, we observe
that the DTFT of n x[n] is given by
dX (e jω ) d  1  α e − jω
j = j   =
dω dω  1 − α e − jω  (1 − α e − jω ) 2
• Next using the linearity property of the
DTFT given in Table above we arrive at
− jω
jω αe 1 1
Y (e ) = + =
(1 − α e − jω ) 2 1 − α e − jω (1 − α e − jω ) 2
DTFT Properties
• Example - Determine the DTFT V (e jω ) of
the sequence v[n] defined by
d0v[n] + d1v[n − 1] = p0δ[n] + p1δ[n − 1]
• The DTFT of δ [n] is 1
• Using the time-shifting property of the
DTFT given in Table above we observe that
− jω
the DTFT of δ[n − 1] is e and the DTFT
− jω jω
of v[n − 1] is e V (e )
DTFT Properties
• Using the linearity property of we then
obtain the frequency-domain representation
of
d0v[n] + d1v[n − 1] = p0δ[n] + p1δ[n − 1]
as
jω − jω jω − jω
d 0V (e ) + d1e V (e ) = p0 + p1e
• Solving the above equation we get
− jω
p + p e
V ( e jω ) = 0 1
d 0 + d1e − jω
Energy Density Spectrum
• The total energy of a finite-energy sequence
g[n] is given by
∞ 2
E g = ∑ g[ n ]
n = −∞

• From Parseval’s relation given above we


observe that
∞ 2 1 π jω 2
E g = ∑ g[ n ] = ∫ G( e ) dω
n = −∞ 2π − π
Energy Density Spectrum
• The quantity
jω 2
S gg (ω) = G (e )

is called the energy density spectrum


• Therefore, the area under this curve in the
range − π ≤ ω ≤ π divided by 2π is the
energy of the sequence
Energy Density Spectrum
• Example - Compute the energy of the
sequence
sin ωc n
hLP [n] = π n , − ∞ < n < ∞
• Here
∞ 2 1 π jω 2
∑ hLP [n] = ∫ H LP (e ) dω
n = −∞ 2π − π
where
jω 1, 0 ≤ ω ≤ ωc
H LP (e ) = 
0, ωc < ω ≤ π
Energy Density Spectrum
• Therefore
∞ ωc
2 1 ωc
∑ hLP [n] = ∫ dω = <∞
n = −∞ 2π −ωc π

• Hence, hLP [n] is a finite-energy sequence


DTFT Computation Using
MATLAB
• The function freqz can be used to
compute the values of the DTFT of a
sequence, described as a rational function in
the form of
− jω − jω M
p + p e + .... + p e
X ( e jω ) = 0 1
− jω
M
− jωN
d 0 + d1e + .... + d N e
at a prescribed set of discrete frequency
points ω = ωl
DTFT Computation Using MATLAB
• For example, the statement
H = freqz(num,den,w)
returns the frequency response values as a
vector H of a DTFT defined in terms of the
vectors num and den containing the
coefficients { pi } and {di }, respectively at a
prescribed set of frequencies between 0 and
2π given by the vector w
• There are several other forms of the function
freqz
DTFT Computation Using MATLAB
• Example – We illustrate the magnitude and phase of
the following DTFT
− jω − j 2ω − j 3ω − j 4ω
0.008 − 0.033 e + 0.05 e − 0 .033 e + 0.008 e
X ( e jω ) =
1 + 2.37 e − jω + 2.7 e − j 2ω + 1.6 e − j 3ω + 0.41 e − j 4ω
Magnitude Spectrum Phase Spectrum
1 4

0.8
2

Phase, radians
Magnitude

0.6
0
0.4

-2
0.2

0 -4
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
ω/π ω/π
DTFT Computation Using
MATLAB
• Note: The phase spectrum displays a
discontinuity of 2π at ω = 0.72
• This discontinuity can be removed using the
function unwrap as indicated below
Unwrapped Phase Spectrum
0

-1

-2
Phase, radians

-3

-4

-5

-6

-7
0 0.2 0.4 0.6 0.8 1
ω/π
Linear Convolution Using
DTFT
• An important property of the DTFT is given
by the convolution theorem
• It states that if y[n] = x[n] * h[n], then the

DTFT Y ( e ) of y[n] is given by
jω jω jω
Y (e ) = X (e ) H (e )
• An implication of this result is that the
linear convolution y[n] of the sequences
x[n] and h[n] can be performed as follows:
Linear Convolution Using
DTFT
jω jω
• 1) Compute the DTFTs X (e ) and H (e )
of the sequences x[n] and h[n], respectively
jω jω jω
• 2) Form the DTFT Y (e ) = X (e ) H (e )

• 3) Compute the IDTFT y[n] of Y (e )
X ( e jω )
x[n] DTFT Y ( e jω )
× IDTFT y[n]
h[n] DTFT
H ( e jω )
Discrete Fourier Transform
• Definition - For a length-N sequence x[n],
defined for 0 ≤ n ≤ N − 1 only N samples of its
DTFT are required, which are obtained by
uniformly sampling X (e jω ) on the ω-axis
between 0 ≤ ω ≤ 2π at ωk = 2π k / N, 0 ≤ k ≤ N − 1

• From the definition of the DTFT we thus have


N −1
jω − j 2π k / N
X [ k ] = X (e ) = ∑ x[n] e ,
ω= 2 π k / N k =0
0 ≤ k ≤ N −1
Discrete Fourier Transform
• Note: X[k] is also a length-N sequence in
the frequency domain
• The sequence X[k] is called the Discrete
Fourier Transform (DFT) of the sequence
x[n]
• Using the notation WN = e − j 2π / N the
DFT is usually expressed as:
N −1
X [k ] = ∑ x[ n]WNk n , 0 ≤ k ≤ N − 1
n =0
Discrete Fourier Transform
• The Inverse Discrete Fourier Transform
(IDFT) is given by
1 N −1 − kn
x[n] = ∑ X [k ]WN , 0 ≤ n ≤ N − 1
N k =0

• To verify the above expression we multiply


ln
both sides of the above equation by WN
and sum the result from n = 0 to n = N − 1
Discrete Fourier Transform
resulting in
N −1 N −1 1 N −1 − kn  ln
∑ x[n]WNln = ∑  ∑ X [k ]WN WN
n =0 n =0  N k =0 
1 N −1 N −1
= ∑ ∑ X [k ]WN−( k −l )n
N n =0 k =0
1 N −1 N −1
= ∑ ∑ X [k ]WN−( k −l )n
N k =0 n =0
Discrete Fourier Transform
• Making use of the identity
N −1
−( k −l ) n  N , for k − l = rN , r an integer
∑ WN =  0, otherwise
n =0 
we observe that the RHS of the last
equation is equal to X [l]
• Hence N −1
ln
∑ x[ n ]W N = X [l]
n =0
Discrete Fourier Transform
• Example - Consider the length-N sequence

x[n] =  1, n=0
 0, 1 ≤ n ≤ N − 1
• Its N-point DFT is given by
N −1
X [k ] = ∑ kn
x[n]WN = 0
x[0]WN =1
n =0
0 ≤ k ≤ N −1
Discrete Fourier Transform
• Example - Consider the length-N sequence
 1, n=m
y[n] = 
 0, 0 ≤ n ≤ m − 1, m + 1 ≤ n ≤ N − 1
• Its N-point DFT is given by
N −1
Y [k ] = ∑ kn
y[n]WN = km
y[m]WN km
= WN
n =0
0 ≤ k ≤ N −1
Discrete Fourier Transform
• Example - Consider the length-N sequence
defined for 0 ≤ n ≤ N − 1
g[n] = cos(2π rn/ N ), 0 ≤ r ≤ N − 1
• Using a trigonometric identity we can write

g[ n] = e
2
(
1 j 2πrn / N
+e )
− j 2 πrn / N

= (WN + WN )
1 − rn rn

2
Discrete Fourier Transform
• The N-point DFT of g[n] is thus given by
N −1
G[k ] = ∑ kn
g [n]WN
n =0
1  N −1 −( r − k ) n N −1 ( r + k ) n 
=  ∑ WN + ∑ WN ,
2  n =0 n =0 
0 ≤ k, r ≤ N −1
Discrete Fourier Transform
• Making use of the identity
N −1 N , for k − l = rN , r an integer
WN−( k −l )n 
∑ =  0, otherwise
n =0 
we get
 N / 2, for k = r
G[k ] =  N / 2, for k = N − r
 0, otherwise
0 ≤ k, r ≤ N −1
Matrix Relations
• The DFT samples defined by
N −1
X [k ] = ∑ x[n]WNkn , 0 ≤ k ≤ N − 1
n =0
can be expressed in matrix form as
X = DN x
where
X = [X [0] X [1] K X [ N − 1]] T

x = [x[0] x[1] K x[ N − 1]] T


Matrix Relations
and D N is the N × N DFT matrix given by

1 1 1 L 1 
1 1 2 ( N −1) 
WN WN L WN
 2 4 2( N −1) 
D N = 1 WN WN L WN 
M M M O M 
1 W ( N −1) W 2( N −1) ( N −1)2 
L WN
 N N 
Matrix Relations
• Likewise, the IDFT relation given by
N −1
−kn
x[n] = ∑ X [ k ]WN , 0 ≤ n ≤ N −1
k =0

can be expressed in matrix form as


x = D−N1X
where D−N1 is the N × N IDFT matrix
Matrix Relations
where
1 1 1 L 1 
1 −1 −2 −( N −1) 
WN WN L WN
−1  −2 −4 − 2( N −1) 
D N = 1 WN WN L WN 
M M M O M 
1 W −( N −1) W −2( N −1) −( N −1)2 
L WN
 N N 
• Note:
−1 1 *
DN = DN
N
DFT Computation Using
MATLAB
• The functions to compute the DFT and the
IDFT are fft and ifft
• These functions make use of FFT
algorithms which are computationally
highly efficient compared to the direct
computation
DFT Computation Using
MATLAB
• Example - The DFT and the DTFT of the
sequence
x[n] = cos(6πn / 16), 0 ≤ n ≤ 15
are shown below
10

8
Magnitude

6
indicates DFT samples
4

0
0 0.2 0.4 0.6 0.8 1
Normalized angular frequency
DTFT from DFT by
Interpolation
• The N-point DFT X[k] of a length-N
sequence x[n] is simply the frequency
samples of its DTFT X (e jω ) evaluated at N
uniformly spaced frequency points
ω = ωk = 2π k / N , 0 ≤ k ≤ N − 1
• Given the N-point DFT X[k] of a length-N

sequence x[n], its DTFT X (e ) can be
uniquely determined from X[k] !
DTFT from DFT by
Interpolation
• Thus
N −1
X (e ) = ∑ x[n] e − jω n

n =0
N −1 1 N −1
− k n  − jω n
= ∑ ∑ X [k ]WN  e
n =0  N k =0 
1 N −1 N −1
− j ( ω− 2 π k / N ) n
= ∑ X [ k ] ∑ e
N k =0 n =0
S
DTFT from DFT by
Interpolation
• To develop a compact expression for the
− j ( ω− 2 πk / N )
sum S, let r = e
= ∑nN=−11 r n + r N − 1 = S + r N − 1
N −1 n
• Then S = ∑n =0 r
• From the above
n N −1 n N
rS = ∑n =1 r = 1 + ∑n =1 r + r − 1
N

N −1 n N N
= ∑n =1 r + r −1 = S + r −1
DTFT from DFT by
Interpolation
• Or, equivalently,
S − rS = (1 − r )S = 1 − r N
• Hence
N − j ( ωN − 2 πk )
1− r 1− e
S= =
1 − r 1 − e − j[ ω−( 2 πk / N )]
 ωN − 2π k 
sin  
=  2  ⋅e − j[( ω− 2 π k / N )][( N −1) / 2]
 ωN − 2π k 
sin  
 2N 
DTFT from DFT by
Interpolation
• Therefore


X (e )
 ωN − 2π k 
N −1
sin  
=
1
∑ X [k ]  2  ⋅e − j[( ω− 2 π k / N )][( N −1) / 2]
N k =0  ωN − 2π k 
sin  
 2N 
Sampling the DTFT

• Consider a sequence x[n] with a DTFT X (e )
• We sample X (e jω ) at N equally spaced points
ωk = 2π k / N, 0 ≤ k ≤ N − 1 developing the N
jωk
frequency samples { X (e )}
• These N frequency samples can be
considered as an N-point DFT Y[k] whose N-
point IDFT is a length-N sequence y[n]
Sampling the DTFT

jω − jω l
• Now X (e ) = ∑ x[l] e
l = −∞
jωk j 2π k / N
• Thus Y [k ] = X (e ) = X (e )
∞ ∞
− j 2 π kl / N kl
= ∑ x[l] e = ∑ x[l]WN
l = −∞ l = −∞
• An IDFT of Y[k] yields
1 N −1 −kn
y[n] = ∑ Y [k ]WN
N k =0
Sampling the DTFT
1 N −1 ∞
• i.e. y[n] = ∑ ∑ x[l]WNkl WN− k n
N k =0 l = −∞
∞  1 N −1 − k ( n −l ) 
= ∑ x[l]  ∑ WN 
l = −∞  N k =0 
• Making use of the identity
1 N −1 −k ( n − r )  1, for r = n + mN
∑ WN =  0, otherwise
N n =0 
Sampling the DTFT
we arrive at the desired relation

y[n] = ∑ x[n + mN ], 0 ≤ n ≤ N −1
m = −∞
• Thus y[n] is obtained from x[n] by adding
an infinite number of shifted replicas of
x[n], with each replica shifted by an integer
multiple of N sampling instants, and
observing the sum only for the interval
0 ≤ n ≤ N −1
Sampling the DTFT
• To apply

y[n] = ∑ x[n + mN ], 0 ≤ n ≤ N −1
m = −∞
to finite-length sequences, we assume that
the samples outside the specified range are
zeros
• Thus if x[n] is a length-M sequence with
M ≤ N , then y[n] = x[n] for 0 ≤ n ≤ N − 1
Sampling the DTFT
• If M > N, there is a time-domain aliasing of
samples of x[n] in generating y[n], and x[n]
cannot be recovered from y[n]
• Example - Let {x[n]} = {0 1 2 3 4 5}

• By sampling its DTFT X (e jω ) at ωk = 2π k / 4 ,


0 ≤ k ≤ 3 and then applying a 4-point IDFT to
these samples, we arrive at the sequence y[n]
given by
Sampling the DTFT
y[n] = x[n] + x[n + 4] + x[n − 4] , 0 ≤ n ≤ 3
• i.e.
{y[n]} = {4 6 2 3}

{x[n]} cannot be recovered from {y[n]}


Numerical Computation of the
DTFT Using the DFT
• A practical approach to the numerical
computation of the DTFT of a finite-length
sequence

• Let X ( e ) be the DTFT of a length-N
sequence x[n]

• We wish to evaluate X ( e ) at a dense grid
of frequencies ωk = 2π k / M, 0 ≤ k ≤ M − 1,
where M >> N:
Numerical Computation of the
DTFT Using the DFT
N −1 N −1
jωk − jωk n − j 2 π kn/ M
X (e ) = ∑ x[ n] e = ∑ x[n] e
n =0 n =0
• Define a new sequence
 x[n], 0 ≤ n ≤ N − 1
xe [n] = 
 0, N ≤ n ≤ M −1
• Then
M −1
jωk − j 2 π kn/ M
X (e ) = ∑ x[n] e
n =0
Numerical Computation of the
DTFT Using the DFT
• Thus X (e jωk ) is essentially an M-point DFT
X e [k ] of the length-M sequence xe [n]
• The DFT X e [k ] can be computed very
efficiently using the FFT algorithm if M is
an integer power of 2
• The function freqz employs this approach
to evaluate the frequency response at a
prescribed set of frequencies of a DTFT
− jω
expressed as a rational function in e
DFT Properties
• Like the DTFT, the DFT also satisfies a
number of properties that are useful in
signal processing applications
• Some of these properties are essentially
identical to those of the DTFT, while some
others are somewhat different
• A summary of the DFT properties are given
in Tables in the following slides
Table: General Properties of DFT
Table: DFT Properties:
Symmetry Relations

x[n] is a complex sequence


Table: DFT Properties:
Symmetry Relations

x[n] is a real sequence


Circular Shift of a Sequence
• This property is analogous to the time-
shifting property of the DTFT, but with a
subtle difference
• Consider length-N sequences defined for
0 ≤ n ≤ N −1
• Sample values of such sequences are equal
to zero for values of n < 0 and n ≥ N
Circular Shift of a Sequence
• If x[n] is such a sequence, then for any
arbitrary integer no , the shifted sequence
x1[n] = x[n − no ]
is no longer defined for the range 0 ≤ n ≤ N − 1
• We thus need to define another type of a
shift that will always keep the shifted
sequence in the range 0 ≤ n ≤ N − 1
Circular Shift of a Sequence
• The desired shift, called the circular shift,
is defined using a modulo operation:
xc [n] = x[〈 n − no 〉 N ]
• For no > 0 (right circular shift), the above
equation implies
 x[n − no ], for no ≤ n ≤ N − 1
xc [n] = 
 x[ N − no + n], for 0 ≤ n < no
Circular Shift of a Sequence
• Illustration of the concept of a circular shift

x[n] x[ 〈n − 1〉 6 ] x[ 〈n − 4〉 6 ]

= x[ 〈 n + 5〉 6 ] = x[ 〈 n + 2〉 6 ]
Circular Shift of a Sequence
• As can be seen from the previous figure, a
right circular shift by no is equivalent to a
left circular shift by N − no sample periods
• A circular shift by an integer number no
greater than N is equivalent to a circular
shift by 〈 no 〉 N
Circular Convolution
• This operation is analogous to linear
convolution, but with a subtle difference
• Consider two length-N sequences, g[n] and
h[n], respectively
• Their linear convolution results in a length-
(2 N − 1) sequence yL [n] given by
N −1
y L [n] = ∑ g[m] h[n − m], 0 ≤ n ≤ 2N − 2
m =0
Circular Convolution
• In computing yL [n] we have assumed that
both length-N sequences have been zero-
padded to extend their lengths to 2 N − 1
• The longer form of yL [n] results from the
time-reversal of the sequence h[n] and its
linear shift to the right
• The first nonzero value of yL [n] is
yL [0] = g [0]h[0], and the last nonzero value
is yL [2 N − 2] = g [ N − 1]h[ N − 1]
Circular Convolution
• To develop a convolution-like operation
resulting in a length-N sequence yC [n], we
need to define a circular time-reversal, and
then apply a circular time-shift
• Resulting operation, called a circular
convolution, is defined by
N −1
yC [n] = ∑ g[m] h[〈 n − m〉 N ], 0 ≤ n ≤ N − 1
m =0
Circular Convolution
• Since the operation defined involves two
length-N sequences, it is often referred to as
an N-point circular convolution, denoted as
y[n] = g[n] N h[n]
• The circular convolution is commutative,
i.e.
g[n] N h[n] = h[n] N g[n]
Circular Convolution
• Example - Determine the 4-point circular
convolution of the two length-4 sequences:
{g [n]} = {1 2 0 1}, {h[n]} = {2 2 1 1}
↑ ↑
as sketched below
2 g [n ] 2 h[n ]
1 1
n n
0 1 2 3 0 1 2 3
Circular Convolution
• The result is a length-4 sequence yC [n]
given by
3
yC [n] = g[n] 4 h[n] = ∑ g[m] h[〈 n − m〉 4 ],
m =0
0≤n≤3
• From the above we observe
3
yC [0] = ∑ g[ m] h[〈− m〉 4 ]
m =0
= g [0] h[0] + g [1] h[3] + g [2] h[2] + g [3] g [1]
= (1× 2) + (2 × 1) + (0 × 1) + (1× 2) = 6
Circular Convolution
3
• Likewise yC [1] = ∑ g[m] h[〈1 − m〉 4 ]
m =0
= g [0] h[1] + g [1] h[0] + g [2] h[3] + g [3] h[2]
= (1× 2) + (2 × 2) + (0 × 1) + (1× 1) = 7
3
yC [2] = ∑ g[m] h[〈 2 − m〉 4 ]
m =0
= g [0] h[2] + g [1] h[1] + g [2] h[0] + g [3] h[3]
= (1× 1) + (2 × 2) + (0 × 2) + (1× 1) = 6
Circular Convolution
and 3
yC [3] = ∑ g[m] h[〈3 − m〉 4 ]
m =0
= g [0] h[3] + g [1] h[2] + g [2] h[1] + g [3] h[0]
= (1× 1) + (2 × 1) + (0 × 2) + (1× 2) = 5

yC [n]

• The circular convolution can also be


computed using a DFT-based approach as
indicated in previous Table
Circular Convolution
• Example - Consider the two length-4
sequences repeated below for convenience:
2 g [n ] 2 h[n ]
1 1
n n
0 1 2 3 0 1 2 3

• The 4-point DFT G[k] of g[n] is given by


G[k ] = g [0] + g [1] e − j 2π k / 4
+ g [2] e − j 4π k / 4 + g [3] e − j 6π k / 4
= 1 + 2e − jπ k / 2 + e − j 3π k / 2 , 0 ≤ k ≤ 3
Circular Convolution
• Therefore G[0] = 1 + 2 + 1 = 4,
G[1] = 1 − j 2 + j = 1 − j,
G[2] = 1 − 2 − 1 = −2,
G[3] = 1 + j 2 − j = 1 + j
• Likewise,
H [k ] = h[0] + h[1] e − j 2π k / 4
+ h[2] e − j 4π k / 4 + h[3] e − j 6π k / 4
= 2 + 2e − jπ k / 2 + e − jπ k + e − j 3π k / 2 , 0 ≤ k ≤ 3
Circular Convolution
• Hence, H [0] = 2 + 2 + 1 + 1 = 6,
H [1] = 2 − j 2 − 1 + j = 1 − j,
H [2] = 2 − 2 + 1 − 1 = 0,
H [3] = 2 + j 2 − 1 − j = 1 + j
• The two 4-point DFTs can also be
computed using the matrix relation given
earlier
Circular Convolution
G[0]  g [0] 1 1 1 1  1   4 
 G[1]   g [1]  1 − j − 1 j  2 1 − j 
G[2] = D4  g [2] = 1 =
− 1 1 − 1  0   − 2 
G[3]  g [3] 1 j − 1 − j  1  1 + j 
 
 H [0]  h[0] 1 1 1 1   2  6 
 H [1]   h[1]  1 − j − 1 j  2 1 − j 
 H [2] = D h[2] 1 = =
4 − 1 1 − 1  1   0 
 H [3]  h[3] 1 j − 1 − j  1  1 + j 

D4 is the 4-point DFT matrix


Circular Convolution
• If YC [k ] denotes the 4-point DFT of yC [n]
then from Table above we observe
YC [k ] = G[k ] H [k ], 0 ≤ k ≤ 3
• Thus
YC [0] G[0] H [0]  24 
 YC [1]   G[1] H [1]  − j 2
Y [2] = G[2] H [2] =  0 
C
   G[3] H [3]  j 2 
YC [3]    
Circular Convolution
• A 4-point IDFT of YC [k ] yields
 yC [0] YC [0]
 yC [1]  1 *  YC [1] 
 y [2] = 4 D4 Y [2]
C C
   
 yC [3] YC [3]
1 1 1 1   24  6
1 1 j − 1 − j  − j 2 7 
= =
4 1 − 1 1 − 1   0  6
1 − j − 1 j   j 2  5
Circular Convolution
• Example - Now let us extended the two
length-4 sequences to length 7 by
appending each with three zero-valued
samples, i.e.
 g [n], 0 ≤ n ≤ 3
g e [n ] = 
 0, 4≤n≤6
 h[n], 0 ≤ n ≤ 3
he [n] = 
 0, 4≤n≤6
Circular Convolution
• We next determine the 7-point circular
convolution of g e [n]and he [n]:
6
y[n] = ∑ g e [m]he [〈 n − m〉 7 ], 0 ≤ n ≤ 6
m =0
• From the above y[0] = ge [0]he [0] + ge [1]he [6]
+ g e [3]he [4] + g e [4]he [3] + ge [5]he [2] + ge [6]he [1]
= g [0]h[0] = 1× 2 = 2
Circular Convolution
• Continuing the process we arrive at
y[1] = g [0]h[1] + g [1]h[0] = (1× 2) + (2 × 2) = 6,
y[2] = g [0]h[2] + g [1]h[1] + g [2]h[0]
= (1× 1) + (2 × 2) + (0 × 2) = 5,
y[3] = g [0]h[3] + g [1]h[2] + g [2]h[1] + g [3]h[0]
= (1× 1) + (2 × 1) + (0 × 2) + (1× 2) = 5,
y[4] = g [1]h[3] + g [2]h[2] + g [3]h[1]
= (2 × 1) + (0 × 1) + (1× 2) = 4,
Circular Convolution
y[5] = g [2]h[3] + g [3]h[2] = (0 × 1) + (1× 1) = 1,
y[6] = g [3]h[3] = (1× 1) = 1
• As can be seen from the above that y[n] is
precisely the sequence yL [n] obtained by a
linear convolution of g[n] and h[n]
yL [n]
Circular Convolution
• The N-point circular convolution can be
written in matrix form as
 yC [0]   h[0] h[ N −1] h[ N − 2] L h[1]   g [ 0] 
 yC [1]   h[1] h[ 0] h[ N −1] L h[ 2]  g [1] 
 yC [ 2]  =  h[ 2] h[1] h[ 0] L h[3]   g [ 2] 
M  M 
 y [ NM −1]  h[ NM −1] M M
h[ N − 2] h[ N −3]
O
h[ 0]  g [ N −1]
 C   L

• Note: The elements of each diagonal of the


N × N matrix are equal
• Such a matrix is called a circulant matrix
Computation of the DFT of
Real Sequences
• In most practical applications, sequences of
interest are real
• In such cases, the symmetry properties of
the DFT can be exploited to make the DFT
computations more efficient
N-Point DFTs of Two Length-N
Real Sequences
• Let g[n] and h[n] be two length-N real
sequences with G[k] and H[k] denoting their
respective N-point DFTs
• These two N-point DFTs can be computed
efficiently using a single N-point DFT
• Define a complex length-N sequence
x[n] = g [n] + j h[n]
• Hence, g[n] = Re{x[n]} and h[n] = Im{x[n]}
N-Point DFTs of Two Length-N
Real Sequences
• Let X[k] denote the N-point DFT of x[n]
• Then, DFT properties we arrive at
G[k ] = 1 { X [ k ] + X * [〈− k 〉 N ]}
2
1
H [k ] = { X [k ] − X * [〈− k 〉 N ]}
2j

• Note that
X * [〈− k 〉 N ] = X * [〈 N − k 〉 N ]
N-Point DFTs of Two Length-N
Real Sequences
• Example - We compute the 4-point DFTs of
the two real sequences g[n] and h[n] given
below
{g [n]} = {1 2 0 1}, {h[n]} = {2 2 1 1}
↑ ↑

• Then {x[n]} = {g [n]} + j{h[n]} is given by


{x[n]} = {1 + j 2 2 + j 2 j 1 + j}

N-Point DFTs of Two Length-N
Real Sequences
• Its DFT X[k] is
 X [0] 1 1 1 1  1 + j 2   4 + j 6 
 X [1]  1 − j − 1 j  2 + j 2  2 
 X [2] = 1 − 1 1 − 1   j  =  − 2 
 X [3] 1 j − 1 − j   1 + j   j 2 

• From the above


X * [k ] = [4 − j 6 2 − 2 − j 2]
• Hence
X * [ 〈 4 − k 〉 4 ] = [ 4 − j 6 − j 2 − 2 2]
N-Point DFTs of Two Length-N
Real Sequences
• Therefore
{G[k ]} = {4 1 − j − 2 1 + j}
{H [k ]} = {6 1 − j 0 1 + j}

verifying the results derived earlier


2N-Point DFT of a Real
Sequence Using an N-point DFT
• Let v[n] be a length-2N real sequence with
an 2N-point DFT V[k]
• Define two length-N real sequences g[n]
and h[n] as follows:
g [n] = v[2n], h[n] = v[2n + 1], 0 ≤ n ≤ N
• Let G[k] and H[k] denote their respective N-
point DFTs
2N-Point DFT of a Real
Sequence Using an N-point DFT
• Define a length-N complex sequence
{x[n]} = {g [n]} + j{h[n]}
with an N-point DFT X[k]
• Then as shown earlier
G[k ] = 1 { X [ k ] + X * [〈− k 〉 N ]}
2
1
H [k ] = { X [k ] − X * [〈− k 〉 N ]}
2j
2N-Point DFT of a Real
Sequence Using an N-point DFT
2 N −1
• Now V [k ] = ∑ nk
v[n]W2 N
n =0
N −1 N −1
( 2 n +1) k
= ∑ 2 nk
v[2n]W2 N + ∑ v[2n + 1]W2 N
n =0 n =0
N −1 N −1
= ∑ nk
g [n]WN + ∑ nk k
h[n]WN W2 N
n =0 n =0
N −1 N −1
= ∑ g[n]WN + W2 N ∑ h[n]WN , 0 ≤ k
nk k nk
≤ 2N −1
n =0 n =0
2N-Point DFT of a Real
Sequence Using an N-point DFT
• i.e.,
k
V [k ] = G[〈 k 〉 N ] + W2 N H [〈 k 〉 N ], 0 ≤ k ≤ 2 N − 1
• Example - Let us determine the 8-point
DFT V[k] of the length-8 real sequence
{v[n]} = {1 2 2 2 0 1 1 1}

• We form two length-4 real sequences as


follows
2N-Point DFT of a Real
Sequence Using an N-point DFT
{g [n]} = {v[2n]} = {1 2 0 1}

{h[n]} = {v[2n + 1]} = {2 2 1 1}

• Now
k
V [k ] = G[〈 k 〉 4 ] + W8 H [〈 k 〉 4 ], 0 ≤ k ≤ 7
• Substituting the values of the 4-point DFTs
G[k] and H[k] computed earlier we get
2N-Point DFT of a Real
Sequence Using an N-point DFT
V [0] = G[0] + H [0] = 4 + 6 = 10
1
V [1] = G[1] + W8 H [1]
− jπ / 4
= (1 − j ) + e (1 − j ) = 1 − j 2.4142
V [2] = G[2] + W82 H [2] = −2 + e − jπ / 2 ⋅ 0 = −2
3
V [3] = G[3] + W8 H [3]
− j 3π / 4
= (1 + j ) + e (1 + j ) = 1 − j 0.4142
V [4] = G[0] + W84 H [0] = 4 + e − jπ ⋅ 6 = −2
2N-Point DFT of a Real
Sequence Using an N-point DFT
5
V [5] = G[1] + W8 H [1]
− j 5π / 4
= (1 − j ) + e (1 − j ) = 1 + j 0.4142

V [6] = G[2] + W86 H [2] = −2 + e − j 3π / 2 ⋅ 0 = −2

V [7] = G[3] + W87 H [3]


= (1 + j ) + e − j 7π / 4 (1 + j ) = 1 + j 2.4142
Linear Convolution Using the
DFT
• Linear convolution is a key operation in
many signal processing applications
• Since a DFT can be efficiently implemented
using FFT algorithms, it is of interest to
develop methods for the implementation of
linear convolution using the DFT
Linear Convolution of Two
Finite-Length Sequences
• Let g[n] and h[n] be two finite-length
sequences of length N and M, respectively
• Denote L = N + M − 1
• Define two length-L sequences
 g [n], 0 ≤ n ≤ N −1
g e [n ] = 
 0, N ≤ n ≤ L −1
 h[n], 0 ≤ n ≤ M −1
he [n] = 
 0, M ≤ n ≤ L −1
Linear Convolution of Two
Finite-Length Sequences
• Then
yL [n] = g [n] * h[n] = yC [n] = g [n] L h[n]
• The corresponding implementation scheme
is illustrated below
g[n] Zero-padding g e [n] ( N + M − 1) −
with point DFT
Length-N ( M − 1) zeros ( N + M − 1) − y L [n]
× point IDFT
h[n] Zero-padding he [n] ( N + M − 1) −
with point DFT
Length-M ( N − 1) zeros Length- ( N + M − 1)
Linear Convolution of a Finite-
Length Sequence with an
Infinite-Length Sequence
• We next consider the DFT-based
implementation of
M −1
y[n] = ∑ h[l] x[n − l] = h[n] * x[n]
l =0
where h[n] is a finite-length sequence of
length M and x[n] is an infinite length (or a
finite length sequence of length much
greater than M)
Overlap-Add Method
• We first segment x[n], assumed to be a
causal sequence here without any loss of
generality, into a set of contiguous finite-
length subsequences xm [n] of length N each:

x[n] = ∑ xm [n − mN ]
m =0
where
 x[n + mN ], 0 ≤ n ≤ N − 1
xm [n] = 
 0, otherwise
Overlap-Add Method
• Thus we can write

y[n] = h[n] * x[n] = ∑ ym [n − mN ]
m =0
where
ym [n] = h[n] * xm [n]
• Since h[n] is of length M and xm [n] is of
length N, the linear convolution h[n] * xm [n]
is of length N + M − 1
Overlap-Add Method
• As a result, the desired linear convolution
y[n] = h[n] * x[n] has been broken up into a
sum of infinite number of short-length
linear convolutions of length N + M − 1
each: ym [n] = xm [n] L h[n]
• Each of these short convolutions can be
implemented using the DFT-based method
discussed earlier, where now the DFTs (and
the IDFT) are computed on the basis of
( N + M − 1) points
Overlap-Add Method
• There is one more subtlety to take care of
before we can implement

y[n] = ∑ ym [n − mN ]
m =0
using the DFT-based approach
• Now the first convolution in the above sum,
y0 [n] = h[ n] * x0 [n], is of length N + M − 1
and is defined for 0 ≤ n ≤ N + M − 2
Overlap-Add Method
• The second short convolution y1[n] =
h[n] * x1[n] , is also of length N + M − 1
but is defined for N ≤ n ≤ 2 N + M − 2
• There is an overlap of M − 1 samples
between these two short linear convolutions
• Likewise, the third short convolution y2 [n] =
h[n] * x2 [n] , is also of length N + M − 1
but is defined for 0 ≤ n ≤ N + M − 2
Overlap-Add Method
• Thus there is an overlap of M − 1 samples
between h[n] * x1[n] and h[n] * x2 [n]
• In general, there will be an overlap of M − 1
samples between the samples of the short
convolutions h[n] * xr −1[n] and h[n] * xr [n]
for
• This process is illustrated in the figure on
the next slide for M = 5 and N = 7
Overlap-Add Method
Overlap-Add Method
Add

Add
Overlap-Add Method
• Therefore, y[n] obtained by a linear
convolution of x[n] and h[n] is given by
y[n] = y0 [n], 0≤n≤6
y[n] = y0 [n] + y1[n − 7], 7 ≤ n ≤ 10
y[n] = y1[n − 7], 11 ≤ n ≤ 13
y[n] = y1[n − 7] + y2 [n − 14], 14 ≤ n ≤ 17
y[n] = y2 [n − 14], 18 ≤ n ≤ 20



Overlap-Add Method
• The above procedure is called the overlap-
add method since the results of the short
linear convolutions overlap and the
overlapped portions are added to get the
correct final result
• The function fftfilt can be used to
implement the above method
Overlap-Add Method
• We have created a program which uses fftfilt
for the filtering of a noise-corrupted signal y[n]
using a length-3 moving average filter. The
• The plots generated by running this program is
shown below
8
s[n]
y[n]
6
Amplitude

-2
0 10 20 30 40 50 60
Time index n
Overlap-Save Method
• In implementing the overlap-add method
using the DFT, we need to compute two
( N + M − 1)-point DFTs and one ( N + M − 1)-
point IDFT since the overall linear
convolution was expressed as a sum of
short-length linear convolutions of length
( N + M − 1) each
• It is possible to implement the overall linear
convolution by performing instead circular
convolution of length shorter than ( N + M − 1)
Overlap-Save Method
• To this end, it is necessary to segment x[n]
into overlapping blocks xm [n], keep the
terms of the circular convolution of h[n]
with xm [n] that corresponds to the terms
obtained by a linear convolution of h[n] and
xm [n] , and throw away the other parts of
the circular convolution
Overlap-Save Method
• To understand the correspondence between
the linear and circular convolutions,
consider a length-4 sequence x[n] and a
length-3 sequence h[n]
• Let yL [n] denote the result of a linear
convolution of x[n] with h[n]
• The six samples of yL [n] are given by
Overlap-Save Method
yL [0] = h[0]x[0]
yL [1] = h[0]x[1] + h[1]x[0]
yL [2] = h[0]x[2] + h[1]x[1] + h[2]x[0]
yL [3] = h[0]x[3] + h[1]x[2] + h[2]x[1]
yL [4] = h[1]x[3] + h[2]x[2]
yL [5] = h[2]x[3]
Overlap-Save Method
• If we append h[n] with a single zero-valued
sample and convert it into a length-4
sequence he [n], the 4-point circular
convolution yC [n] of he [n] and x[n] is given
by
yC [0] = h[0]x[0] + h[1]x[3] + h[2]x[2]
yC [1] = h[0]x[1] + h[1]x[0] + h[2]x[3]
yC [2] = h[0]x[2] + h[1]x[1] + h[2]x[0]
yC [3] = h[0]x[3] + h[1]x[2] + h[2]x[1]
Overlap-Save Method
• If we compare the expressions for the
samples of yL [n] with the samples of yC [n] ,
we observe that the first 2 terms of yC [n] do
not correspond to the first 2 terms of yL [n] ,
whereas the last 2 terms of yC [n] are
precisely the same as the 3rd and 4th terms
of yL [n] , i.e.,
yL [0] ≠ yC [0], yL [1] ≠ yC [1]
yL [2] = yC [2], yL [3] = yC [3]
Overlap-Save Method
• General case: N-point circular convolution
of a length-M sequence h[n] with a length-N
sequence x[n] with N > M
• First M − 1 samples of the circular
convolution are incorrect and are rejected
• Remaining N − M + 1 samples correspond
to the correct samples of the linear
convolution of h[n] with x[n]
Overlap-Save Method
• Now, consider an infinitely long or very
long sequence x[n]
• Break it up as a collection of smaller length
(length-4) overlapping sequences xm [n] as
xm [n] = x[n + 2m], 0 ≤ n ≤ 3, 0 ≤ m ≤ ∞
• Next, form
wm [n] = h[n] 4 xm [n]
Overlap-Save Method
• Or, equivalently,
wm [0] = h[0]xm [0] + h[1]xm [3] + h[2]xm [2]
wm [1] = h[0]xm [1] + h[1]xm [0] + h[2]xm [3]
wm [2] = h[0]xm [2] + h[1]xm [1] + h[2]xm [0]
wm [3] = h[0]xm [3] + h[1]xm [2] + h[2]xm [1]
• Computing the above for m = 0, 1, 2, 3, . . . ,
and substituting the values of xm [n] we
arrive at
Overlap-Save Method
w0 [0] = h[0]x[0] + h[1]x[3] + h[2]x[2] ← Reject
w0 [1] = h[0]x[1] + h[1]x[0] + h[2]x[3] ← Reject
w0 [2] = h[0]x[2] + h[1]x[1] + h[2]x[0] = y[2] ← Save
w0 [3] = h[0]x[3] + h[1]x[2] + h[2]x[1] = y[3] ← Save

w1[0] = h[0]x[2] + h[1]x[5] + h[2]x[4] ← Reject


w1[1] = h[0]x[3] + h[1]x[2] + h[2]x[5] ← Reject
w1[2] = h[0]x[4] + h[1]x[3] + h[2]x[2] = y[4] ← Save
w1[3] = h[0]x[5] + h[1]x[4] + h[2]x[3] = y[5] ← Save
Overlap-Save Method

w2 [0] = h[0]x[4] + h[1]x[5] + h[2]x[6] ← Reject

w2 [1] = h[0]x[5] + h[1]x[4] + h[2]x[7] ← Reject


w2 [2] = h[0]x[6] + h[1]x[5] + h[2]x[4] = y[6] ← Save

w2 [3] = h[0]x[7] + h[1]x[6] + h[2]x[5] = y[7] ← Save


Overlap-Save Method
• It should be noted that to determine y[0] and
y[1], we need to form x−1[n]:
x−1[0] = 0, x−1[1] = 0,
x−1[2] = x[0], x−1[3] = x[1]
and compute w−1[n] = h[n] 4 x−1[n] for 0 ≤ n ≤ 3
reject w−1[0] and w−1[1] , and save w−1[2] = y[0]
and w−1[3] = y[1]
Overlap-Save Method
• General Case: Let h[n] be a length-N
sequence
• Let xm [n] denote the m-th section of an
infinitely long sequence x[n] of length N
and defined by
xm [n] = x[n + m( N − m + 1)], 0 ≤ n ≤ N − 1
with M < N
Overlap-Save Method
• Let wm [n] = h[n] N xm [ n]
• Then, we reject the first M − 1 samples of wm [n]
and “abut” the remaining N − M + 1 samples of
wm [n] to form yL [n], the linear convolution of
h[n] and x[n]
• If ym [n] denotes the saved portion of wm [n] ,
i.e.
 0, 0≤n≤ M −2
ym [ n ] = 
wm [n], M − 1 ≤ n ≤ N − 2
Overlap-Save Method
• Then
y L [n + m( N − M + 1)] = ym [ n], M −1 ≤ n ≤ N −1
• The approach is called overlap-save
method since the input is segmented into
overlapping sections and parts of the results
of the circular convolutions are saved and
abutted to determine the linear convolution
result
Overlap-Save Method
• Process is illustrated next
Overlap-Save Method
z-Transform
• The DTFT provides a frequency-domain
representation of discrete-time signals and
LTI discrete-time systems
• Because of the convergence condition, in
many cases, the DTFT of a sequence may
not exist
• As a result, it is not possible to make use of
such frequency-domain characterization in
these cases
z-Transform
• A generalization of the DTFT defined by

jω − jω n
X (e ) = ∑ x[n] e
n = −∞
leads to the z-transform
• z-transform may exist for many sequences
for which the DTFT does not exist
• Moreover, use of z-transform techniques
permits simple algebraic manipulations
z-Transform
• Consequently, z-transform has become an
important tool in the analysis and design of
digital filters
• For a given sequence g[n], its z-transform
G(z) is defined as

−n
G( z ) = ∑ g [ n ] z
n = −∞
where z = Re(z) + jIm(z) is a complex
variable
z-Transform

• If we let z = r e , then the z-transform
reduces to

jω − n − jω n
G ( r e ) = ∑ g[ n] r e
n = −∞
• The above can be interpreted as the DTFT
−n
of the modified sequence {g [n] r }
• For r = 1 (i.e., |z| = 1), z-transform reduces
to its DTFT, provided the latter exists
z-Transform
• The contour |z| = 1 is a circle in the z-plane
of unity radius and is called the unit circle
• Like the DTFT, there are conditions on the
convergence of the infinite series

−n
∑ g [n] z
n = −∞
• For a given sequence, the set R of values of
z for which its z-transform converges is
called the region of convergence (ROC)
z-Transform
• From our earlier discussion on the uniform
convergence of the DTFT, it follows that the
series

jω − n − jω n
G ( r e ) = ∑ g[ n] r e
n = −∞
−n
converges if {g [n] r } is absolutely
summable, i.e., if

∑ g [n ] r − n < ∞
n = −∞
z-Transform
• In general, the ROC R of a z-transform of a
sequence g[n] is an annular region of the z-
plane:
Rg − < z < Rg +
where 0 ≤ Rg − < Rg + ≤ ∞
• Note: The z-transform is a form of a Laurent
series and is an analytic function at every
point in the ROC
z-Transform
• Example - Determine the z-transform X(z)
n
of the causal sequence x[n] = α µ[n] and its
ROC
∞ ∞
• Now X ( z ) = ∑ α nµ[n] z − n = ∑ α n z − n
n = −∞ n =0

• The above power series converges to


1 −1
X ( z) = −1
, for α z < 1
1− α z
• ROC is the annular region |z| > |α|
z-Transform
• Example - The z-transform µ(z) of the unit
step sequence µ[n] can be obtained from
1 −1
X ( z) = −1
, for α z < 1
1− α z
by setting α = 1:
1 −1
µ ( z) = , for z < 1
1 − z −1
• ROC is the annular region 1 < z ≤ ∞
z-Transform

• Note: The unit step sequence µ[n] is not


absolutely summable, and hence its DTFT
does not converge uniformly

• Example - Consider the anti-causal


sequence
y[n] = −α nµ[ −n − 1]
z-Transform
• Its z-transform is given by
−1 ∞
n −n −m m
Y ( z) = ∑ − α z = − ∑α z
n = −∞ m =1
∞ −1
−1 −m m α z
= −α z ∑ α z =− −1
m =0 1− α z
1 −1
= −1
, for α z <1
1− α z
• ROC is the annular region z < α
z-Transform
• Note: The z-transforms of the two
n n
sequences α µ[n] and − α µ[− n − 1] are
identical even though the two parent
sequences are different
• Only way a unique sequence can be
associated with a z-transform is by
specifying its ROC
z-Transform
• The DTFT G (e jω ) of a sequence g[n]
converges uniformly if and only if the ROC
of the z-transform G(z) of g[n] includes the
unit circle
• The existence of the DTFT does not always
imply the existence of the z-transform
z-Transform
• Example - The finite energy sequence
sin ωc n
hLP [n] = π n , − ∞ < n < ∞

has a DTFT given by


jω 1, 0 ≤ ω ≤ ωc
H LP (e ) = 
0, ωc < ω ≤ π
which converges in the mean-square sense
z-Transform
• However, hLP [n] does not have a z-transform
as it is not absolutely summable for any value
of r

• Some commonly used z-transform pairs are


listed on the next slide
Table: Commonly Used z-
Transform Pairs
Rational z-Transforms
• In the case of LTI discrete-time systems we
are concerned with in this course, all
pertinent z-transforms are rational functions
of z −1
• That is, they are ratios of two polynomials
in z −1:
P( z ) p0 + p1z −1 + .... + pM −1z −( M −1) + pM z − M
G( z ) = =
D( z ) d0 + d1z −1 + .... + d N −1z −( N −1) + d N z − N
Rational z-Transforms
• The degree of the numerator polynomial
P(z) is M and the degree of the denominator
polynomial D(z) is N
• An alternate representation of a rational z-
transform is as a ratio of two polynomials in
z:
M M −1 ....
p
( N −M ) 0 z + p z + + pM −1z + pM
G( z ) = z N
1
N −1 ....
d0 z + d1z + + d N −1z + d N
Rational z-Transforms
• A rational z-transform can be alternately
written in factored form as
M −1
p0 ∏l =1(1 − ξ l z )
G( z ) =
d 0 ∏l =1(1 − λl z −1 )
N

M
( N − M ) p0 ∏l =1( z − ξ l )
=z N
d0 ∏l =1( z − λl )
Rational z-Transforms
• At a root z = ξ l of the numerator polynomial
G(ξ l ) = 0 , and as a result, these values of z
are known as the zeros of G(z)
• At a root z = λl of the denominator
polynomial G (λl ) → ∞ , and as a result,
these values of z are known as the poles of
G(z)
Rational z-Transforms
• Consider
M
( N − M ) p0 ∏l =1( z − ξ l )
G( z ) = z N
d 0 ∏l =1( z − λl )
• Note G(z) has M finite zeros and N finite
poles
• If N > M there are additional N − M zeros at
z = 0 (the origin in the z-plane)
• If N < M there are additional M − N poles at
z=0
Rational z-Transforms
• Example - The z-transform
1
µ ( z) = −1
, for z > 1
1− z
has a zero at z = 0 and a pole at z = 1
Rational z-Transforms
• A physical interpretation of the concepts of
poles and zeros can be given by plotting the
log-magnitude 20 log10 G( z ) as shown on
next slide for
−1 −2
1 − 2.4 z + 2.88 z
G( z ) = −1 −2
1 − 0.8 z + 0.64 z
Rational z-Transforms
Rational z-Transforms
• Observe that the magnitude plot exhibits
very large peaks around the points
z = 0.4 ± j 0.6928 which are the poles of
G(z)
• It also exhibits very narrow and deep wells
around the location of the zeros at
z = 1.2 ± j 1.2
ROC of a Rational
z-Transform
• ROC of a z-transform is an important
concept
• Without the knowledge of the ROC, there is
no unique relationship between a sequence
and its z-transform
• Hence, the z-transform must always be
specified with its ROC
ROC of a Rational
z-Transform
• Moreover, if the ROC of a z-transform
includes the unit circle, the DTFT of the
sequence is obtained by simply evaluating
the z-transform on the unit circle
• There is a relationship between the ROC of
the z-transform of the impulse response of a
causal LTI discrete-time system and its
BIBO stability
ROC of a Rational
z-Transform
• The ROC of a rational z-transform is
bounded by the locations of its poles
• To understand the relationship between the
poles and the ROC, it is instructive to
examine the pole-zero plot of a z-transform
• Consider again the pole-zero plot of the z-
transform µ(z)
ROC of a Rational
z-Transform

• In this plot, the ROC, shown as the shaded


area, is the region of the z-plane just outside
the circle centered at the origin and going
through the pole at z = 1
ROC of a Rational
z-Transform
• Example - The z-transform H(z) of the
n
sequence h[n] = (−0.6) µ[n] is given by
1
H ( z) = ,
1 + 0.6 z −1
z > 0.6

• Here the ROC is just outside the circle


going through the point z = −0.6
ROC of a Rational
z-Transform
• A sequence can be one of the following
types: finite-length, right-sided, left-sided
and two-sided
• In general, the ROC depends on the type of
the sequence of interest
ROC of a Rational
z-Transform
• Example - Consider a finite-length sequence
g[n] defined for − M ≤ n ≤ N , where M and
N are non-negative integers and g [n] < ∞
• Its z-transform is given by
N +M
N
−n ∑ g [n − M ] z N + M − n
G( z ) = ∑ g [n ] z = 0
N
n=− M z
ROC of a Rational
z-Transform
• Note: G(z) has M poles at z = ∞ and N poles
at z = 0 (explain why)
• As can be seen from the expression for
G(z), the z-transform of a finite-length
bounded sequence converges everywhere in
the z-plane except possibly at z = 0 and/or at
z=∞
ROC of a Rational
z-Transform
• Example - A right-sided sequence with
nonzero sample values for n ≥ 0 is
sometimes called a causal sequence
• Consider a causal sequence u1[n]
• Its z-transform is given by

−n
U1 ( z ) = ∑ 1
u [ n ] z
n =0
ROC of a Rational
z-Transform
• It can be shown that U1 ( z ) converges
exterior to a circle z = R1 , including the
point z = ∞
• On the other hand, a right-sided sequence u2[n]
with nonzero sample values only for n ≥ − M
with M nonnegative has a z-transform U 2 ( z )
with M poles at z = ∞
• The ROC of U 2 ( z ) is exterior to a circle
z = R2 , excluding the point z = ∞
ROC of a Rational
z-Transform
• Example - A left-sided sequence with
nonzero sample values for n ≤ 0 is
sometimes called a anticausal sequence
• Consider an anticausal sequence v1[n]
• Its z-transform is given by
0
−n
V1 ( z ) = ∑1
v [ n ] z
n = −∞
ROC of a Rational
z-Transform
• It can be shown that V1( z ) converges
interior to a circle z = R3 , including the
point z = 0
• On the other hand, a left-sided sequence
with nonzero sample values only for n ≤ N
with N nonnegative has a z-transform V2 ( z )
with N poles at z = 0
• The ROC of V2 ( z ) is interior to a circle
z = R4 , excluding the point z = 0
ROC of a Rational
z-Transform
• Example - The z-transform of a two-sided
sequence w[n] can be expressed as
∞ ∞ −1
−n = −n + −n
W ( z) = ∑ w[ n ] z ∑ w[ n ] z ∑ w[ n ] z
n = −∞ n =0 n = −∞

• The first term on the RHS, ∑n =0 w[n] z − n ,
can be interpreted as the z-transform of a
right-sided sequence and it thus converges
exterior to the circle z = R5
ROC of a Rational
z-Transform
−1
• The second term on the RHS, ∑n = −∞ w[n] z − n,
can be interpreted as the z-transform of a left-
sided sequence and it thus converges interior
to the circle z = R6
• If R5 < R6 , there is an overlapping ROC
given by R5 < z < R6
• If R5 > R6 , there is no overlap and the
z-transform does not exist
ROC of a Rational
z-Transform
• Example - Consider the two-sided sequence
u[n] = α n
where α can be either real or complex
• Its z-transform is given by
∞ ∞ −1
n z −n = n z −n + n z −n
U ( z) = ∑ α ∑ α ∑ α
n = −∞ n =0 n = −∞
• The first term on the RHS converges for
z > α , whereas the second term converges
for z < α
ROC of a Rational
z-Transform
• There is no overlap between these two
regions
• Hence, the z-transform of u[n] = α n does
not exist
ROC of a Rational
z-Transform
• The ROC of a rational z-transform cannot
contain any poles and is bounded by the
poles
• To show that the z-transform is bounded by
the poles, assume that the z-transform X(z)
has simple poles at z = α and z = β
• Assume that the corresponding sequence
x[n] is a right-sided sequence
ROC of a Rational
z-Transform
• Then x[n] has the form
( )
x[n] = r1α n + r2βn µ[n − N o ], α < β
where N o is a positive or negative integer
• Now, the z-transform of the right-sided
sequence γ n µ[ n − N o ] exists if

∑ γ n z −n < ∞
n= No
for some z
ROC of a Rational
z-Transform
• The condition

∑ γ n z −n < ∞
n= No
holds for z > γ but not for z ≤ γ
• Therefore, the z-transform of
( )
x[n] = r1α n + r2βn µ[n − N o ], α < β
has an ROC defined by β < z ≤ ∞
ROC of a Rational
z-Transform
• Likewise, the z-transform of a left-sided
sequence
( )
x[n] = r1α n + r2βn µ[− n − N o ], α < β
has an ROC defined by 0 ≤ z < α
• Finally, for a two-sided sequence, some of
the poles contribute to terms in the parent
sequence for n < 0 and the other poles
contribute to terms n ≥ 0
ROC of a Rational
z-Transform
• The ROC is thus bounded on the outside by
the pole with the smallest magnitude that
contributes for n < 0 and on the inside by
the pole with the largest magnitude that
contributes for n ≥ 0
• There are three possible ROCs of a rational
z-transform with poles at z = α and z = β
(α < β )
ROC of a Rational
z-Transform
ROC of a Rational
z-Transform
• In general, if the rational z-transform has N
poles with R distinct magnitudes, then it has
R + 1 ROCs
• Thus, there are R + 1 distinct sequences with
the same z-transform
• Hence, a rational z-transform with a
specified ROC has a unique sequence as its
inverse z-transform
ROC of a Rational
z-Transform
• The ROC of a rational z-transform can be
easily determined using MATLAB
[z,p,k] = tf2zp(num,den)
determines the zeros, poles, and the gain
constant of a rational z-transform with the
numerator coefficients specified by the
vector num and the denominator coefficients
specified by the vector den
ROC of a Rational
z-Transform
• [num,den] = zp2tf(z,p,k)
implements the reverse process
• The factored form of the z-transform can be
obtained using sos = zp2sos(z,p,k)
• The above statement computes the
coefficients of each second-order factor
given as an L × 6 matrix sos
ROC of a Rational
z-Transform
 b01 b11 b21 a01 a11 a12 
 b02 b12 b22 a02 a12 a22 
sos = 
M M M M M M 
b b2L a0L a1L a2L 
 0L b1L

where
L b0k + b1k z −1 + b2k z − 2
G( z) = ∏ −1 + a z − 2
a
k =1 0 k + a1k z 2k
ROC of a Rational
z-Transform
• The pole-zero plot is determined using the
function zplane
• The z-transform can be either described in
terms of its zeros and poles:
zplane(zeros,poles)
• or, it can be described in terms of its
numerator and denominator coefficients:
zplane(num,den)
ROC of a Rational
z-Transform
• Example - The pole-zero plot of
2 z 4 + 16 z 3 + 44 z 2 + 56 z + 32
G( z) =
3 z 4 + 3 z 3 − 15 z 2 + 18 z − 12
obtained using MATLAB is shown below
2

× − pole
1
Imaginary Part

0 o − zero
-1

-2
-4 -3 -2 -1 0 1
Real Part
Inverse z-Transform
• General Expression: Recall that, for z = r e jω,
the z-transform G(z) given by
−n − n − jω n
G ( z ) = ∑∞n = −∞ g [ n ] z = ∞
∑n = −∞ g [ n ] r e
is merely the DTFT of the modified sequence
−n
g [n ] r
• Accordingly, the inverse DTFT is thus given
by
1 π
g[n] r = ∫−π G (re jω )e jω ndω
−n

Inverse z-Transform

• By making a change of variable z = r e ,
the previous equation can be converted into
a contour integral given by
1 n −1
g[ n] = ∫ G ( z ) z dz
2πj C′
where C ′ is a counterclockwise contour of
integration defined by |z| = r
Inverse z-Transform
• But the integral remains unchanged when
is replaced with any contour C encircling
the point z = 0 in the ROC of G(z)
• The contour integral can be evaluated using
the Cauchy’s residue theorem resulting in
 residues of G( z ) z n −1 
g [n ] = ∑  
 at the poles inside C 
• The above equation needs to be evaluated at
all values of n and is not pursued here
Inverse Transform by
Partial-Fraction Expansion
• A rational z-transform G(z) with a causal
inverse transform g[n] has an ROC that is
exterior to a circle
• Here it is more convenient to express G(z)
in a partial-fraction expansion form and
then determine g[n] by summing the inverse
transform of the individual simpler terms in
the expansion
Inverse Transform by
Partial-Fraction Expansion
• A rational G(z) can be expressed as
M −i
G( z ) = P( z )
=
∑ p
i =0 i z
D( z ) N −i
∑ d
i =0 i z

• If M ≥ N then G(z) can be re-expressed as


M −N
−l P1 ( z )
G( z ) = ∑ ηl z + D( z )
l =0
where the degree of P1(z ) is less than N
Inverse Transform by
Partial-Fraction Expansion
• The rational function P1( z ) / D( z ) is called a
proper fraction
• Example - Consider
2 + 0.8 z −1 + 0.5 z − 2 + 0.3 z −3
G( z ) = −1 −2
1 + 0.8 z + 0.2 z
• By long division we arrive at
−1
−1 5.5 + 2.1 z
G ( z ) = −3.5 + 1.5 z + −1 −2
1 + 0.8 z + 0.2 z
Inverse Transform by
Partial-Fraction Expansion
• Simple Poles: In most practical cases, the
rational z-transform of interest G(z) is a
proper fraction with simple poles
• Let the poles of G(z) be at z = λ k , 1 ≤ k ≤ N
• A partial-fraction expansion of G(z) is then
of the form
N ρl 
G ( z ) = ∑  
−1 
l =1 1 − λ l z 
Inverse Transform by
Partial-Fraction Expansion
• The constants ρl in the partial-fraction
expansion are called the residues and are
given by
ρl = (1 − λ l z −1 )G ( z ) z =λ
l
• Each term of the sum in partial-fraction
expansion has an ROC given by z > λ l
and, thus has an inverse transform of the
n
form ρl (λ l ) µ[ n]
Inverse Transform by
Partial-Fraction Expansion
• Therefore, the inverse transform g[n] of
G(z) is given by
N
g[n] = ∑ ρl (λ l ) n µ[n]
l =1
• Note: The above approach with a slight
modification can also be used to determine
the inverse of a rational z-transform of a
noncausal sequence
Inverse Transform by
Partial-Fraction Expansion
• Example - Let the z-transform H(z) of a
causal sequence h[n] be given by
−1
z ( z + 2) 1+ 2 z
H ( z) = =
( z − 0.2)( z + 0.6) (1 − 0.2 z −1)(1 + 0.6 z −1 )
• A partial-fraction expansion of H(z) is then
of the form
ρ1 ρ2
H ( z) = −1
+ −1
1 − 0.2 z 1 + 0.6 z
Inverse Transform by
Partial-Fraction Expansion
• Now
−1
−1 1 + 2 z
ρ1 = (1 − 0.2 z ) H ( z ) z =0.2 = −1
= 2.75
1 + 0.6 z z =0.2
and
−1
1 + 2 z
ρ2 = (1 + 0.6 z −1 ) H ( z ) z = −0.6 = −1
= −1.75
1 − 0.2 z z = −0.6
Inverse Transform by
Partial-Fraction Expansion
• Hence
2.75 1.75
H ( z) = −1

1 − 0.2 z 1 + 0.6 z −1
• The inverse transform of the above is
therefore given by
n n
h[n] = 2.75(0.2) µ[n] − 1.75(−0.6) µ[n]
Inverse Transform by
Partial-Fraction Expansion
• Multiple Poles: If G(z) has multiple poles,
the partial-fraction expansion is of slightly
different form
• Let the pole at z = ν be of multiplicity L and
the remaining N − L poles be simple and at
z = λl , 1 ≤ l ≤ N − L
Inverse Transform by
Partial-Fraction Expansion
• Then the partial-fraction expansion of G(z)
is of the form
M −N N −L ρl L γi
−l
G ( z ) = ∑ ηl z + ∑ +
−1 ∑ −1 i
l =0 l =1 1 − λ l z i =1(1 − ν z )
where the constants γ i are computed using
d L −i
γi =
1
L −i
( L − i )!(−ν) d ( z ) −1 L −i
[ −1 L
(1 − ν z ) G ( z ) ]
z =ν
,
1≤ i ≤ L
• The residues ρl are calculated as before
Partial-Fraction Expansion
Using MATLAB
• [r,p,k]= residuez(num,den)
develops the partial-fraction expansion of
a rational z-transform with numerator and
denominator coefficients given by vectors
num and den
• Vector r contains the residues
• Vector p contains the poles
• Vector k contains the constantsηl
Partial-Fraction Expansion
Using MATLAB
• [num,den]=residuez(r,p,k)
converts a z-transform expressed in a
partial-fraction expansion form to its
rational form
Inverse z-Transform via Long
Division
• The z-transform G(z) of a causal sequence
−1
{g[n]} can be expanded in a power series in z
• In the series expansion, the coefficient
−n
multiplying the term z is then the n-th
sample g[n]
• For a rational z-transform expressed as a
ratio of polynomials in z −1, the power series
expansion can be obtained by long division
Inverse z-Transform via Long
Division
• Example - Consider
1 + 2 z −1
H ( z) =
1 + 0.4 z −1 − 0.12 z − 2
• Long division of the numerator by the
denominator yields
H ( z ) = 1 + 1.6 z −1 − 0.52 z − 2 + 0.4 z −3 − 0.2224 z − 4 + ....
• As a result
{h[n]} = {1 1.6 − 0.52 0.4 − 0.2224 ....}, n ≥ 0

Inverse z-Transform Using
MATLAB
• The function impz can be used to find the
inverse of a rational z-transform G(z)
• The function computes the coefficients of
the power series expansion of G(z)
• The number of coefficients can either be
user specified or determined automatically
Table: z-Transform Properties
z-Transform Properties
• Example - Consider the two-sided sequence
v[n] = α nµ[n] − βnµ[−n − 1]
• Let x[n] = α nµ[n] and y[n] = −βnµ[−n − 1]
with X(z) and Y(z) denoting, respectively,
their z-transforms
• Now X ( z ) = 1
−1
, z>α
1− α z
1
and Y ( z ) = −1
, z<β
1− β z
z-Transform Properties
• Using the linearity property we arrive at
1 1
V ( z) = X ( z) + Y ( z) = −1
+ −1
1−α z 1− β z
• The ROC of V(z) is given by the overlap
regions of z > α and z < β
• If α < β , then there is an overlap and the
ROC is an annular region α < z < β
• If α > β , then there is no overlap and V(z)
does not exist
z-Transform Properties
• Example - Determine the z-transform and
its ROC of the causal sequence
x[n] = r n (cos ωo n)µ[n]
• We can express x[n] = v[n] + v*[n] where
v[n] = 1 r ne jωo nµ[n] = 1 α nµ[n]
2 2
• The z-transform of v[n] is given by
1 1
V ( z) = 1⋅ = 1⋅ , z > α =r
2 1 − α z −1 2 1 − r e jωo z −1
z-Transform Properties
• Using the conjugation property we obtain
the z-transform of v*[n] as
1 1
V * ( z*) = ⋅ 1 = 1 ⋅ ,
2 1 − α* z −1 2 1 − r e − jωo z −1

z>α
• Finally, using the linearity property we get
X ( z ) = V ( z ) + V * ( z*)
 1 1 
= 
1 + 
2 1 − r e jωo z −1 1 − r e − jωo z −1 
 
z-Transform Properties
• or,
1 − (r cos ωo ) z −1
X ( z) = , z >r
1 − (2r cos ωo ) z −1 + r 2 z − 2
• Example - Determine the z-transform Y(z)
and the ROC of the sequence
y[n] = (n + 1)α nµ[n]
• We can write y[n] = n x[n] + x[n] where
x[n] = α nµ[n]
z-Transform Properties
• Now, the z-transform X(z) of x[n] = α nµ[n]
is given by
1
X ( z) = −
, z>α
1− α z 1

• Using the differentiation property, we arrive


at the z-transform of n x[n] as
d X ( z) α z −1
−z = , z > α
dz (1 − α z −1 )
z-Transform Properties
• Using the linearity property we finally
obtain
1 α z −1
Y ( z) = −
+
1− α z 1 (1 − α z −1 ) 2
1
= , z > α
(1 − α z −1 ) 2

You might also like