1. 4: Linear Time Invariant Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 1 / 13
2. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
3. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
4. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
5. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
6. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
7. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
Proof:
We can always write x[n] =
P∞
r=−∞ x[r]δ[n − r]
8. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
Proof:
We can always write x[n] =
P∞
r=−∞ x[r]δ[n − r]
Hence H (x[n]) = H
P∞
r=−∞ x[r]δ[n − r]
9. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
Proof:
We can always write x[n] =
P∞
r=−∞ x[r]δ[n − r]
Hence H (x[n]) = H
P∞
r=−∞ x[r]δ[n − r]
=
P∞
r=−∞ x[r]H (δ[n − r])
10. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
Proof:
We can always write x[n] =
P∞
r=−∞ x[r]δ[n − r]
Hence H (x[n]) = H
P∞
r=−∞ x[r]δ[n − r]
=
P∞
r=−∞ x[r]H (δ[n − r])
=
P∞
r=−∞ x[r]h[n − r]
11. LTI Systems
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13
Linear Time-invariant (LTI) systems have two properties:
Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
The behaviour of an LTI system is completely defined by its impulse
response: h[n] = H (δ[n])
Proof:
We can always write x[n] =
P∞
r=−∞ x[r]δ[n − r]
Hence H (x[n]) = H
P∞
r=−∞ x[r]δ[n − r]
=
P∞
r=−∞ x[r]H (δ[n − r])
=
P∞
r=−∞ x[r]h[n − r]
= x[n] ∗ h[n]
12. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
13. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
14. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
15. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
16. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
17. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
18. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
Proof:
P
r,s x[n − r]v[r − s]w[s]
(i)
=
P
p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r, q = n − s
19. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
Proof:
P
r,s x[n − r]v[r − s]w[s]
(i)
=
P
p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r, q = n − s
Distributive over +:
x[n] ∗ (αv[n] + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
20. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
Proof:
P
r,s x[n − r]v[r − s]w[s]
(i)
=
P
p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r, q = n − s
Distributive over +:
x[n] ∗ (αv[n] + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof:
P
r x[n − r] (αv[r] + βw[r]) =
α
P
r x[n − r]v[r] + β
P
r x[n − r]w[r]
21. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
Proof:
P
r,s x[n − r]v[r − s]w[s]
(i)
=
P
p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r, q = n − s
Distributive over +:
x[n] ∗ (αv[n] + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof:
P
r x[n − r] (αv[r] + βw[r]) =
α
P
r x[n − r]v[r] + β
P
r x[n − r]w[r]
Identity: x[n] ∗ δ[n] = x[n]
22. Convolution Properties
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13
Convolution: x[n] ∗ v[n] =
P∞
r=−∞ x[r]v[n − r]
Convolution obeys normal arithmetic rules for multiplication:
Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
Proof:
P
r x[r]v[n − r]
(i)
=
P
p x[n − p]v[p]
(i) substitute p = n − r
Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
Proof:
P
r,s x[n − r]v[r − s]w[s]
(i)
=
P
p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r, q = n − s
Distributive over +:
x[n] ∗ (αv[n] + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof:
P
r x[n − r] (αv[r] + βw[r]) =
α
P
r x[n − r]v[r] + β
P
r x[n − r]w[r]
Identity: x[n] ∗ δ[n] = x[n]
Proof:
P
r δ[r]x[n − r]
(i)
= x[n] (i) all terms zero except r = 0.
23. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
24. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
25. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
26. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
27. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
28. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =
P
|h[n]| ∞.
29. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =
P
|h[n]| ∞.
Proof (2) ⇒ (1):
Suppose
P
|h[n]| = S ∞ and |x[n]| ≤ B is bounded.
30. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =
P
|h[n]| ∞.
Proof (2) ⇒ (1):
Suppose
P
|h[n]| = S ∞ and |x[n]| ≤ B is bounded.
Then |y[n]| =
P∞
r=−∞ x[n − r]h[r]
31. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =
P
|h[n]| ∞.
Proof (2) ⇒ (1):
Suppose
P
|h[n]| = S ∞ and |x[n]| ≤ B is bounded.
Then |y[n]| =
P∞
r=−∞ x[n − r]h[r]
≤
P∞
r=−∞ |x[n − r]| |h[r]|
32. BIBO Stability
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
The following are equivalent:
(1) An LTI system is BIBO stable
(2) h[n] is absolutely summable, i.e.
P∞
n=−∞ |h[n]| ∞
(3) H(z) region of absolute convergence includes |z| = 1.
Proof (1) ⇒ (2):
Define x[n] =
(
1 h[−n] ≥ 0
−1 h[−n] 0
then y[0] =
P
x[0 − n]h[n] =
P
|h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =
P
|h[n]| ∞.
Proof (2) ⇒ (1):
Suppose
P
|h[n]| = S ∞ and |x[n]| ≤ B is bounded.
Then |y[n]| =
P∞
r=−∞ x[n − r]h[r]
≤
P∞
r=−∞ |x[n − r]| |h[r]|
≤ B
P∞
r=−∞ |h[r]|≤ BS ∞
33. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
34. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
0
35. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω 0
36. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
0
37. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
0
38. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
0
0 1 2 3
0
1
2
3
ω
39. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
40. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
41. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
0 1 2 3
-2
-1
0
1
ω
∠
42. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
Sign change in (1 + 2 cos ω) at ω = 2.1 gives
(a) gradient discontinuity in |H(ejω
)|
(b) an abrupt phase change of ±π.
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
0 1 2 3
-2
-1
0
1
ω
∠
43. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
Sign change in (1 + 2 cos ω) at ω = 2.1 gives
(a) gradient discontinuity in |H(ejω
)|
(b) an abrupt phase change of ±π.
Group delay is − d
dω ∠H(ejω
) : gives delay of the
modulation envelope at each ω.
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
0 1 2 3
-2
-1
0
1
ω
∠
44. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
Sign change in (1 + 2 cos ω) at ω = 2.1 gives
(a) gradient discontinuity in |H(ejω
)|
(b) an abrupt phase change of ±π.
Group delay is − d
dω ∠H(ejω
) : gives delay of the
modulation envelope at each ω.
Normally varies with ω but for a symmetric filter it is
constant: in this case +1 samples.
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
0 1 2 3
-2
-1
0
1
ω
∠
45. Frequency Response
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13
For a BIBO stable system Y (ejω
) = X(ejω
)H(ejω
)
where H(ejω
)is the DTFT of h[n] i.e. H(z) evaluated at z = ejω
.
Example: h[n] =
1 1 1
H(ejω
) = 1 + e−jω
+ e−j2ω
= e−jω
(1 + 2 cos ω)
H(ejω
) = |1 + 2 cos ω|
∠H(ejω
) = −ω + π 1−sgn(1+2 cos ω)
2
Sign change in (1 + 2 cos ω) at ω = 2.1 gives
(a) gradient discontinuity in |H(ejω
)|
(b) an abrupt phase change of ±π.
Group delay is − d
dω ∠H(ejω
) : gives delay of the
modulation envelope at each ω.
Normally varies with ω but for a symmetric filter it is
constant: in this case +1 samples.
Discontinuities of ±kπ do not affect group delay.
0
0 1 2 3
0
1
2
3
ω
0 1 2 3
-10
-5
0
5
10
ω
0 1 2 3
-2
-1
0
1
ω
∠
46. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
47. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
48. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
The following are equivalent:
(1) An LTI system is causal
49. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
The following are equivalent:
(1) An LTI system is causal
(2) h[n] is causal ⇔ h[n] = 0 for n 0
50. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
The following are equivalent:
(1) An LTI system is causal
(2) h[n] is causal ⇔ h[n] = 0 for n 0
(3) H(z) converges for z = ∞
51. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
The following are equivalent:
(1) An LTI system is causal
(2) h[n] is causal ⇔ h[n] = 0 for n 0
(3) H(z) converges for z = ∞
Any right-sided sequence can be made causal by adding a delay.
52. Causality +
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13
Causal System: cannot see into the future
i.e. output at time n depends only on inputs up to time n.
Formal definition:
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0.
The following are equivalent:
(1) An LTI system is causal
(2) h[n] is causal ⇔ h[n] = 0 for n 0
(3) H(z) converges for z = ∞
Any right-sided sequence can be made causal by adding a delay.
All the systems we will deal with are causal.
53. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗
54. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
55. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
56. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
57. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
Thus y[n] has only
M + N − 1 non-zero values
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
58. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
Thus y[n] has only
M + N − 1 non-zero values
Algebraically:
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
59. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
Thus y[n] has only
M + N − 1 non-zero values
Algebraically:
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒ n + 1 − N ≤ r ≤ n
60. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
Thus y[n] has only
M + N − 1 non-zero values
Algebraically:
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒ n + 1 − N ≤ r ≤ n
Hence: y[n] =
Pmin(M−1,n))
r=max(0,n+1−N) h[r]x[n − r]
61. Convolution Complexity
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
x
∗ →
Convolution sum:
y[n] =
PM−1
r=0 h[r]x[n − r]
y[n] is only non-zero in the range
0 ≤ n ≤ M + N − 2
Thus y[n] has only
M + N − 1 non-zero values
Algebraically:
y[0] y[9]
N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒ n + 1 − N ≤ r ≤ n
Hence: y[n] =
Pmin(M−1,n))
r=max(0,n+1−N) h[r]x[n − r]
We must multiply each h[n] by each x[n] and add them to a total
⇒ total arithmetic complexity (× or + operations) ≈ 2MN
62. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N
63. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N
Convolution sum:
y⊛N
[n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
64. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y[0] y[7]
N = 8, M = 3
65. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
y[0] y[7]
N = 8, M = 3
66. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
⇒ y⊛N [n] has N distinct values
y[0] y[7]
N = 8, M = 3
67. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
⇒ y⊛N [n] has N distinct values
y[0] y[7]
N = 8, M = 3
• Only the first M − 1 values are affected by the circular repetition:
68. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
⇒ y⊛N [n] has N distinct values
y[0] y[7]
N = 8, M = 3
• Only the first M − 1 values are affected by the circular repetition:
y⊛N
[n] = y[n] for M − 1 ≤ n ≤ N − 1
69. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
⇒ y⊛N [n] has N distinct values
y[0] y[7]
N = 8, M = 3
• Only the first M − 1 values are affected by the circular repetition:
y⊛N
[n] = y[n] for M − 1 ≤ n ≤ N − 1
• If we append M − 1 zeros (or more) onto x[n], then the circular
repetition has no effect at all and:
y⊛N+M−1 [n] = y[n] for 0 ≤ n ≤ N + M − 2
70. Circular Convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13
y⊛[n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
x
⊛N →
Convolution sum:
y⊛N [n] =
PM−1
r=0 h[r]x[(n − r)mod N ]
y⊛N
[n] has period N
⇒ y⊛N [n] has N distinct values
y[0] y[7]
N = 8, M = 3
• Only the first M − 1 values are affected by the circular repetition:
y⊛N
[n] = y[n] for M − 1 ≤ n ≤ N − 1
• If we append M − 1 zeros (or more) onto x[n], then the circular
repetition has no effect at all and:
y⊛N+M−1 [n] = y[n] for 0 ≤ n ≤ N + M − 2
Circular convolution is a necessary evil in exchange for using the DFT
71. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
72. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
73. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
74. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
75. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
76. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
77. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
78. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
Beneficial if both M and N are ∼ 70 .
79. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
Beneficial if both M and N are ∼ 70 .
Example: M = 103
, N = 104
:
80. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
Beneficial if both M and N are ∼ 70 .
Example: M = 103
, N = 104
:
Direct: 2MN = 2 × 107
81. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
Beneficial if both M and N are ∼ 70 .
Example: M = 103
, N = 104
:
Direct: 2MN = 2 × 107
with DFT: = 1.8 × 106
,
82. Frequency-domain convolution
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13
Idea: Use DFT to perform circular convolution - less computation
(1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
(3) Use DFT: ỹ[n] = F−1
(X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
(4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
Arithmetic Complexity:
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).
Total operations: ≈ 12L log2 L ≈ 12 (M + N) log2 (M + N)
Beneficial if both M and N are ∼ 70 .
Example: M = 103
, N = 104
:
Direct: 2MN = 2 × 107
with DFT: = 1.8 × 106
,
But: (a) DFT may be very long if N is large
(b) No outputs until all x[n] has been input.
83. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
84. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
85. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
86. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
Each output chunk is of length K + M − 1 and overlaps the next chunk
87. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
88. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
89. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
90. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
91. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
single DFT: 12 (M + N) log2 (M + N) = 2.8 × 109
92. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
single DFT: 12 (M + N) log2 (M + N) = 2.8 × 109
overlap-add: N
K × 8 (M + K) log2 (M + K) = 1.1 × 109
,
93. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
single DFT: 12 (M + N) log2 (M + N) = 2.8 × 109
overlap-add: N
K × 8 (M + K) log2 (M + K) = 1.1 × 109
,
Other advantages:
(a) Shorter DFT
94. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
single DFT: 12 (M + N) log2 (M + N) = 2.8 × 109
overlap-add: N
K × 8 (M + K) log2 (M + K) = 1.1 × 109
,
Other advantages:
(a) Shorter DFT
(b) Can cope with N = ∞
95. Overlap Add
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13
If N is very large:
(1) chop x[n] into N
K chunks of length K
(2) convolve each chunk with h[n]
(3) add up the results
Each output chunk is of length K + M − 1 and overlaps the next chunk
Operations: ≈ N
K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 M ≪ K ≪ N
Example: M = 500, K = 104
, N = 107
Direct: 2MN = 1010
single DFT: 12 (M + N) log2 (M + N) = 2.8 × 109
overlap-add: N
K × 8 (M + K) log2 (M + K) = 1.1 × 109
,
Other advantages:
(a) Shorter DFT
(b) Can cope with N = ∞
(c) Can calculate y[0] as soon as x[K − 1] has been read:
algorithmic delay = K − 1 samples
96. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
97. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
98. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
99. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
The first M − 1 points of each output chunk are invalid
100. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
(3) discard first M − 1 from each chunk
The first M − 1 points of each output chunk are invalid
101. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
(3) discard first M − 1 from each chunk
(4) concatenate to make y[n]
The first M − 1 points of each output chunk are invalid
102. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
(3) discard first M − 1 from each chunk
(4) concatenate to make y[n]
The first M − 1 points of each output chunk are invalid
Operations: slightly less than overlap-add because no addition needed to
create y[n]
103. Overlap Save
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13
Alternative method:
(1) chop x[n] into N
K overlapping
chunks of length K + M − 1
(2) ⊛K+M−1 each chunk with h[n]
(3) discard first M − 1 from each chunk
(4) concatenate to make y[n]
The first M − 1 points of each output chunk are invalid
Operations: slightly less than overlap-add because no addition needed to
create y[n]
Advantages: same as overlap add
Strangely, rather less popular than overlap-add
104. Summary
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13
• LTI systems: impulse response, frequency response, group delay
105. Summary
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13
• LTI systems: impulse response, frequency response, group delay
• BIBO stable, Causal, Passive, Lossless systems
106. Summary
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13
• LTI systems: impulse response, frequency response, group delay
• BIBO stable, Causal, Passive, Lossless systems
• Convolution and circular convolution properties
107. Summary
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13
• LTI systems: impulse response, frequency response, group delay
• BIBO stable, Causal, Passive, Lossless systems
• Convolution and circular convolution properties
• Efficient methods for convolution
◦ single DFT
◦ overlap-add and overlap-save
108. Summary
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13
• LTI systems: impulse response, frequency response, group delay
• BIBO stable, Causal, Passive, Lossless systems
• Convolution and circular convolution properties
• Efficient methods for convolution
◦ single DFT
◦ overlap-add and overlap-save
For further details see Mitra: 4 5.
109. MATLAB routines
4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 13 / 13
fftfilt Convolution using overlap add
x[n]⊛y[n] real(ifft(fft(x).*fft(y)))