You are on page 1of 109

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
4: Linear Time Invariant Systems
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 1 / 13


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


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• 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


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

Proof:
P∞
We can always write x[n] = r=−∞ x[r]δ[n − r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

Proof:
P∞
We can always write x[n] = r=−∞ x[r]δ[n − r]
P∞ 
Hence H (x[n]) = H r=−∞ x[r]δ[n − r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

Proof:
P∞
We can always write x[n] = r=−∞ x[r]δ[n − r]
P∞ 
Hence H (x[n]) = H r=−∞ x[r]δ[n − r]

= ∞
P
r=−∞ x[r]H (δ[n − r])

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

Proof:
P∞
We can always write x[n] = r=−∞ x[r]δ[n − r]
P∞ 
Hence H (x[n]) = H r=−∞ x[r]δ[n − r]

= ∞
P
r=−∞ x[r]H (δ[n − r])

= ∞
P
r=−∞ x[r]h[n − r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


LTI Systems

4: Linear Time Invariant


Systems
• LTI Systems
• Convolution Properties
• BIBO Stability
• Frequency Response
• Causality + Linear Time-invariant (LTI) systems have two properties:
• Convolution Complexity
• Circular Convolution
• Frequency-domain Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n])
convolution
• Overlap Add Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r
• Overlap Save
• Summary The behaviour of an LTI system is completely defined by its impulse
• MATLAB routines
response: h[n] = H (δ[n])

Proof:
P∞
We can always write x[n] = r=−∞ x[r]δ[n − r]
P∞ 
Hence H (x[n]) = H r=−∞ x[r]δ[n − r]

= ∞
P
r=−∞ x[r]H (δ[n − r])

= ∞
P
r=−∞ x[r]h[n − r]

= x[n] ∗ h[n]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 2 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• 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 Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• 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 Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• 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 Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
P (i) P
Proof: r,s x[n − r]v[r − s]w[s] = p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r , q = n − s

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
P (i) P
Proof: r,s x[n − r]v[r − s]w[s] = 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])

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
P (i) P
Proof: r,s x[n − r]v[r − s]w[s] = p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r , q = n − s

Distributive over +:
x[n] ∗ (αv[n]
P + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof: r x[n − r] (αv[r]
P + βw[r]) = P
α r x[n − r]v[r] + β r x[n − r]w[r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
P (i) P
Proof: r,s x[n − r]v[r − s]w[s] = p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r , q = n − s

Distributive over +:
x[n] ∗ (αv[n]
P + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof: r x[n − r] (αv[r]
P + βw[r]) = P
α r x[n − r]v[r] + β r x[n − r]w[r]
Identity: x[n] ∗ δ[n] = x[n]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


Convolution Properties

4: Linear Time Invariant


P∞
Systems Convolution: x[n] ∗ v[n] = r=−∞ x[r]v[n − r]
• LTI Systems
• Convolution Properties Convolution obeys normal arithmetic rules for multiplication:
• BIBO Stability
• Frequency Response
• Causality + Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]
• Convolution Complexity P (i) P
• Circular Convolution Proof: r x[r]v[n − r] = p x[n − p]v[p]
• Frequency-domain
convolution (i) substitute p = n − r
• Overlap Add
• Overlap Save Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]
• Summary
• MATLAB routines ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous
P (i) P
Proof: r,s x[n − r]v[r − s]w[s] = p,q x[p]v[q − p]w[n − q]
(i) substitute p = n − r , q = n − s

Distributive over +:
x[n] ∗ (αv[n]
P + βw[n]) = (x[n] ∗ αv[n]) + (x[n] ∗ βw[n])
Proof: r x[n − r] (αv[r]
P + βw[r]) = P
α r x[n − r]v[r] + β r x[n − r]w[r]
Identity: x[n] ∗ δ[n] = x[n]
P (i)
Proof: r δ[r]x[n − r] = x[n] (i) all terms zero except r = 0.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 3 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• 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

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
• 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

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• 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

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] = x[0 − n]h[n] = |h[n]|.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] =
Px[0 − n]h[n] = |h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] = |h[n]| < ∞.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] =
Px[0 − n]h[n] = |h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] = |h[n]| < ∞.
Proof (2) ⇒ (1):
P
Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] =
Px[0 − n]h[n] = |h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] = |h[n]| < ∞.
Proof (2) ⇒ (1):
P
Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded.
P∞
Then |y[n]| = r=−∞ x[n − r]h[r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] =
Px[0 − n]h[n] = |h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] = |h[n]| < ∞.
Proof (2) ⇒ (1):
P
Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded.
P∞
Then |y[n]| =
r=−∞ x[n − r]h[r]

P∞
≤ r=−∞ |x[n − r]| |h[r]|

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13


BIBO Stability

4: Linear Time Invariant


Systems BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n]
• LTI Systems
• Convolution Properties The following are equivalent:
• BIBO Stability
• Frequency Response (1) An LTI system is BIBO stable
P∞
(2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞
• Causality +
• Convolution Complexity
• Circular Convolution (3) H(z) region of absolute convergence includes |z| = 1.
• Frequency-domain
convolution
• Overlap Add Proof (1) ⇒ (2):(
• Overlap Save
• Summary 1 h[−n] ≥ 0
• MATLAB routines Define x[n] =
−1 h[−n] < 0
P P
then y[0] =
Px[0 − n]h[n] = |h[n]|.
But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] = |h[n]| < ∞.
Proof (2) ⇒ (1):
P
Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded.
P∞
Then |y[n]| =
r=−∞ x[n − r]h[r]

P∞
≤ r=−∞ |x[n − r]| |h[r]|
P∞
≤ B r=−∞ |h[r]|≤ BS < ∞
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 4 / 13
Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• 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


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +
0
• 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


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• 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


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω)
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω)
• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω|
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

• Summary 0
0 1 2 3
• MATLAB routines ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

• Summary 0
0 1 2 3
• MATLAB routines ω

10

-5

-10
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

-5

-10
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

-5

-10
0 1 2 3
ω

-1


-2
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

Sign change in (1 + 2 cos ω) at ω = 2.1 gives 5

(a) gradient discontinuity in |H(ejω )| 0

-5
(b) an abrupt phase change of ±π . -10
0 1 2 3
ω

-1


-2
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

Sign change in (1 + 2 cos ω) at ω = 2.1 gives 5

(a) gradient discontinuity in |H(ejω )| 0

-5
(b) an abrupt phase change of ±π . -10
0 1 2 3
ω
d
Group delay is− dω ∠H(ejω ) : gives delay of the 1

modulation envelope at each ω . 0

-1


-2
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

Sign change in (1 + 2 cos ω) at ω = 2.1 gives 5

(a) gradient discontinuity in |H(ejω )| 0

-5
(b) an abrupt phase change of ±π . -10
0 1 2 3
ω
d
Group delay is − dω ∠H(ejω ) : gives delay of the 1

modulation envelope at each ω . 0

Normally varies with ω but for a symmetric filter it is -1


constant: in this case +1 samples. -2
0 1 2 3
ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Frequency Response

For a BIBO stable system Y (ejω ) = X(ejω )H(ejω )


4: Linear Time Invariant
Systems
• LTI Systems
• Convolution Properties
where H(ejω )is the DTFT of h[n] i.e. H(z) evaluated at z = ejω .
• BIBO Stability  
• Frequency Response Example: h[n] = 1 1 1
• Causality +

H(ejω ) = 1 + e−jω + e−j2ω


0
• Convolution Complexity
3
• Circular Convolution
• Frequency-domain
convolution
= e−jω (1 + 2 cos ω) 2

• Overlap Add
• Overlap Save
H(ejω ) = |1 + 2 cos ω| 1

∠H(ejω ) = −ω + π 1−sgn(1+2 cos ω)


• Summary 0
0 1 2 3
• MATLAB routines ω
2
10

Sign change in (1 + 2 cos ω) at ω = 2.1 gives 5

(a) gradient discontinuity in |H(ejω )| 0

-5
(b) an abrupt phase change of ±π . -10
0 1 2 3
ω
d
Group delay is − dω ∠H(ejω ) : gives delay of the 1

modulation envelope at each ω . 0

Normally varies with ω but for a symmetric filter it is -1


constant: in this case +1 samples. -2
0 1 2 3
Discontinuities of ±kπ do not affect group delay. ω

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 5 / 13


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• 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


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• 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


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• Convolution Complexity
• Circular Convolution
• Frequency-domain The following are equivalent:
convolution
• Overlap Add (1) An LTI system is causal
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• Convolution Complexity
• Circular Convolution
• Frequency-domain The following are equivalent:
convolution
• Overlap Add (1) An LTI system is causal
• Overlap Save
• Summary
(2) h[n] is causal ⇔ h[n] = 0 for n < 0
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• Convolution Complexity
• Circular Convolution
• Frequency-domain The following are equivalent:
convolution
• Overlap Add (1) An LTI system is causal
• Overlap Save
• Summary
(2) h[n] is causal ⇔ h[n] = 0 for n < 0
• MATLAB routines (3) H(z) converges for z = ∞

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• Convolution Complexity
• Circular Convolution
• Frequency-domain The following are equivalent:
convolution
• Overlap Add (1) An LTI system is causal
• Overlap Save
• Summary
(2) h[n] is causal ⇔ h[n] = 0 for n < 0
• MATLAB routines (3) H(z) converges for z = ∞

Any right-sided sequence can be made causal by adding a delay.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13


Causality +

4: Linear Time Invariant


Systems
Causal System: cannot see into the future
• LTI Systems i.e. output at time n depends only on inputs up to time n.
• Convolution Properties
• BIBO Stability
• Frequency Response Formal definition:
• Causality +
If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 .
• Convolution Complexity
• Circular Convolution
• Frequency-domain The following are equivalent:
convolution
• Overlap Add (1) An LTI system is causal
• Overlap Save
• Summary
(2) h[n] is causal ⇔ h[n] = 0 for n < 0
• MATLAB routines (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.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 6 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• 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


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗
• Frequency Response
• Causality +
• Convolution Complexity Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

N = 8, M = 3
M + N − 1 = 10

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines

N = 8, M = 3
M + N − 1 = 10

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines Thus y[n] has only
M + N − 1 non-zero values
N = 8, M = 3
M + N − 1 = 10

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines Thus y[n] has only
M + N − 1 non-zero values
Algebraically: N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines Thus y[n] has only
M + N − 1 non-zero values
Algebraically: N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒n+1−N ≤r ≤n

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines Thus y[n] has only
M + N − 1 non-zero values
Algebraically: N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒n+1−N ≤r ≤n
Pmin(M −1,n))
Hence: y[n] = r=max(0,n+1−N ) h[r]x[n − r]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13


Convolution Complexity

4: Linear Time Invariant


Systems y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ∗ → y[0] y[9]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
PM −1
• Circular Convolution
• Frequency-domain
y[n] = r=0 h[r]x[n − r]
convolution
• Overlap Add y[n] is only non-zero in the range
• Overlap Save
• Summary 0≤n≤M +N −2
• MATLAB routines Thus y[n] has only
M + N − 1 non-zero values
Algebraically: N = 8, M = 3
M + N − 1 = 10
x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1
⇒n+1−N ≤r ≤n
Pmin(M −1,n))
Hence: y[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) ≈ 2M N
DSP and Digital Filters (2017-10159) LTI Systems: 4 – 7 / 13
Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N
• 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


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N
• Frequency Response
• Causality +
• Convolution Complexity Convolution sum:
• Circular Convolution
• Frequency-domain
convolution
PM −1
• Overlap Add
y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

N = 8, M = 3

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines

N = 8, M = 3

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines ⇒ y⊛N [n] has N distinct values

N = 8, M = 3

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines ⇒ y⊛N [n] has N distinct values

N = 8, M = 3
• Only the first M − 1 values are affected by the circular repetition:

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines ⇒ y⊛N [n] has N distinct values

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

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines ⇒ y⊛N [n] has N distinct values

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

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Circular Convolution

4: Linear Time Invariant


Systems y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1]
• LTI Systems
• Convolution Properties x
• BIBO Stability ⊛N → y[0] y[7]
• Frequency Response
• Causality +
• Convolution Complexity
Convolution sum:
• Circular Convolution
• Frequency-domain PM −1
convolution y⊛N [n] = r=0 h[r]x[(n − r)mod N ]
• Overlap Add
• Overlap Save
• Summary y⊛N [n] has period N
• MATLAB routines ⇒ y⊛N [n] has N distinct values

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

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 8 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• 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


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• 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


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• 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


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
DFT or IDFT take 4L log2 L operations if L is a power of 2
(or 16L log2 L if not).

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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 )

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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 .

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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 :

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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: 2M N = 2 × 107

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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: 2M N = 2 × 107
with DFT: = 1.8 × 106 ,

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Frequency-domain convolution

4: Linear Time Invariant


Systems
Idea: Use DFT to perform circular convolution - less computation
• LTI Systems
• Convolution Properties (1) Choose L ≥ M + N − 1 (normally round up to a power of 2)
• BIBO Stability
• Frequency Response
• Causality +
(2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n]
• Convolution Complexity
• Circular Convolution (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n]
• Frequency-domain
convolution
• Overlap Add (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2.
• Overlap Save
• Summary Arithmetic Complexity:
• MATLAB routines
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: 2M N = 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.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 9 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
• 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


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• 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


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• 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


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
• Overlap Add
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010
single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010
single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109
N
overlap-add: K × 8 (M + K) log2 (M + K) = 1.1 × 109 ,

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010
single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109
N
overlap-add: K × 8 (M + K) log2 (M + K) = 1.1 × 109 ,
Other advantages:
(a) Shorter DFT

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010
single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109
N
overlap-add: K × 8 (M + K) log2 (M + K) = 1.1 × 109 ,
Other advantages:
(a) Shorter DFT
(b) Can cope with N = ∞

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Add

4: Linear Time Invariant


Systems
If N is very large:
N
• LTI Systems (1) chop x[n] into K chunks of length K
• Convolution Properties
• BIBO Stability (2) convolve each chunk with h[n]
• Frequency Response
• Causality +
(3) add up the results
• Convolution Complexity
• Circular Convolution
• Frequency-domain Each output chunk is of length K + M − 1 and overlaps the next chunk
convolution
N
• Overlap Add Operations: ≈ K × 8 (M + K) log2 (M + K)
Computational saving if ≈ 100 < M ≪ K ≪ N
• Overlap Save
• Summary
• MATLAB routines
Example: M = 500, K = 104 , N = 107
Direct: 2M N = 1010
single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109
N
overlap-add: 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

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 10 / 13


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
• 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


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• 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


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• 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


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• Convolution Complexity
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save The first M − 1 points of each output chunk are invalid
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• Convolution Complexity (3) discard first M − 1 from each chunk
• Circular Convolution
• Frequency-domain
convolution
• Overlap Add
• Overlap Save The first M − 1 points of each output chunk are invalid
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• Convolution Complexity (3) discard first M − 1 from each chunk
• Circular Convolution
• Frequency-domain (4) concatenate to make y[n]
convolution
• Overlap Add
• Overlap Save The first M − 1 points of each output chunk are invalid
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• Convolution Complexity (3) discard first M − 1 from each chunk
• Circular Convolution
• Frequency-domain (4) concatenate to make y[n]
convolution
• Overlap Add
• Overlap Save The first M − 1 points of each output chunk are invalid
• Summary
• MATLAB routines
Operations: slightly less than overlap-add because no addition needed to
create y[n]

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13


Overlap Save

4: Linear Time Invariant


Systems
Alternative method:
N
• LTI Systems (1) chop x[n] into K overlapping
• Convolution Properties
• BIBO Stability chunks of length K + M − 1
• Frequency Response
• Causality +
(2) ⊛K+M −1 each chunk with h[n]
• Convolution Complexity (3) discard first M − 1 from each chunk
• Circular Convolution
• Frequency-domain (4) concatenate to make y[n]
convolution
• Overlap Add
• Overlap Save The first M − 1 points of each output chunk are invalid
• Summary
• MATLAB routines
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

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 11 / 13


Summary

4: Linear Time Invariant


Systems
• LTI systems: impulse response, frequency response, group delay
• 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


Summary

4: Linear Time Invariant


Systems
• LTI systems: impulse response, frequency response, group delay
• LTI Systems
• Convolution Properties • BIBO stable, Causal, Passive, Lossless systems
• 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


Summary

4: Linear Time Invariant


Systems
• LTI systems: impulse response, frequency response, group delay
• LTI Systems
• Convolution Properties • BIBO stable, Causal, Passive, Lossless systems
• BIBO Stability
• Frequency Response
• Causality +
• Convolution and circular convolution properties
• 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


Summary

4: Linear Time Invariant


Systems
• LTI systems: impulse response, frequency response, group delay
• LTI Systems
• Convolution Properties • BIBO stable, Causal, Passive, Lossless systems
• BIBO Stability
• Frequency Response
• Causality +
• Convolution and circular convolution properties
• Convolution Complexity
• Circular Convolution • Efficient methods for convolution
• Frequency-domain
convolution ◦ single DFT
• Overlap Add
• Overlap Save ◦ overlap-add and overlap-save
• Summary
• MATLAB routines

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13


Summary

4: Linear Time Invariant


Systems
• LTI systems: impulse response, frequency response, group delay
• LTI Systems
• Convolution Properties • BIBO stable, Causal, Passive, Lossless systems
• BIBO Stability
• Frequency Response
• Causality +
• Convolution and circular convolution properties
• Convolution Complexity
• Circular Convolution • Efficient methods for convolution
• Frequency-domain
convolution ◦ single DFT
• Overlap Add
• Overlap Save ◦ overlap-add and overlap-save
• Summary
• MATLAB routines
For further details see Mitra: 4 & 5.

DSP and Digital Filters (2017-10159) LTI Systems: 4 – 12 / 13


MATLAB routines

4: Linear Time Invariant


Systems fftfilt Convolution using overlap add
• LTI Systems
• Convolution Properties
x[n]⊛y[n] real(ifft(fft(x).*fft(y)))
• 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

You might also like