4: linear time invariant systems - imperial college london · •circular convolution ......

109
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

Upload: vuongkiet

Post on 09-May-2018

231 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

4: Linear Time Invariant Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Page 2: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Page 3: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

Page 4: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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])

Page 5: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 6: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Page 7: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Proof:We can always write x[n] =

r=−∞x[r]δ[n− r]

Page 8: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Proof:We can always write x[n] =

r=−∞x[r]δ[n− r]

Hence H (x[n]) = H(∑

r=−∞x[r]δ[n− r]

)

Page 9: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Proof:We can always write x[n] =

r=−∞x[r]δ[n− r]

Hence H (x[n]) = H(∑

r=−∞x[r]δ[n− r]

)

=∑

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

Page 10: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Proof:We can always write x[n] =

r=−∞x[r]δ[n− r]

Hence H (x[n]) = H(∑

r=−∞x[r]δ[n− r]

)

=∑

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

=∑

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

Page 11: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

LTI Systems

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 impulseresponse: h[n] = H (δ[n])

Proof:We can always write x[n] =

r=−∞x[r]δ[n− r]

Hence H (x[n]) = H(∑

r=−∞x[r]δ[n− r]

)

=∑

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

=∑

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

= x[n] ∗ h[n]

Page 12: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Page 13: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Page 14: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Page 15: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

p x[n− p]v[p](i) substitute p = n− r

Page 16: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

p x[n− p]v[p](i) substitute p = n− r

Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n]

Page 17: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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

Page 18: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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:∑

r,s x[n− r]v[r − s]w[s](i)=

p,q x[p]v[q − p]w[n− q](i) substitute p = n− r, q = n− s

Page 19: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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:∑

r,s x[n− r]v[r − s]w[s](i)=

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])

Page 20: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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:∑

r,s x[n− r]v[r − s]w[s](i)=

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:∑

r x[n− r] (αv[r] + βw[r]) =α∑

r x[n− r]v[r] + β∑

r x[n− r]w[r]

Page 21: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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:∑

r,s x[n− r]v[r − s]w[s](i)=

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:∑

r x[n− r] (αv[r] + βw[r]) =α∑

r x[n− r]v[r] + β∑

r x[n− r]w[r]

Identity: x[n] ∗ δ[n] = x[n]

Page 22: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Properties

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Convolution: x[n] ∗ v[n] =∑

r=−∞x[r]v[n− r]

Convolution obeys normal arithmetic rules for multiplication:

Commutative: x[n] ∗ v[n] = v[n] ∗ x[n]

Proof:∑

r x[r]v[n− r](i)=

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:∑

r,s x[n− r]v[r − s]w[s](i)=

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:∑

r x[n− r] (αv[r] + βw[r]) =α∑

r x[n− r]v[r] + β∑

r x[n− r]w[r]

Identity: x[n] ∗ δ[n] = x[n]

Proof:∑

r δ[r]x[n− r](i)= x[n] (i) all terms zero except r = 0.

Page 23: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

Page 24: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 25: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

n=−∞|h[n]| < ∞

Page 26: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

n=−∞|h[n]| < ∞

(3) H(z) region of absolute convergence includes |z| = 1.

Page 27: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.

Page 28: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =

|h[n]| < ∞.

Page 29: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =

|h[n]| < ∞.

Proof (2) ⇒ (1):Suppose

|h[n]| = S < ∞ and |x[n]| ≤ B is bounded.

Page 30: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =

|h[n]| < ∞.

Proof (2) ⇒ (1):Suppose

|h[n]| = S < ∞ and |x[n]| ≤ B is bounded.

Then |y[n]| =∣

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

Page 31: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =

|h[n]| < ∞.

Proof (2) ⇒ (1):Suppose

|h[n]| = S < ∞ and |x[n]| ≤ B is bounded.

Then |y[n]| =∣

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

≤∑

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

Page 32: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

BIBO Stability

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

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] =∑

x[0− n]h[n] =∑

|h[n]|.But |x[n]| ≤ 1∀n so BIBO ⇒ y[0] =

|h[n]| < ∞.

Proof (2) ⇒ (1):Suppose

|h[n]| = S < ∞ and |x[n]| ≤ B is bounded.

Then |y[n]| =∣

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

≤∑

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

≤ B∑

r=−∞|h[r]|≤ BS < ∞

Page 33: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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ω .

0

Page 34: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 35: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 36: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 37: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 38: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

1

2

3

ω

Page 39: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

Page 40: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

Page 41: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

0 1 2 3-2

-1

0

1

ω

Page 42: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

0 1 2 3-2

-1

0

1

ω

Page 43: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 − ddω

∠H(ejω) : gives delay of themodulation envelope at each ω.

0

0 1 2 30

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

0 1 2 3-2

-1

0

1

ω

Page 44: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 − ddω

∠H(ejω) : gives delay of themodulation envelope at each ω.Normally varies with ω but for a symmetric filter it isconstant: in this case +1 samples.

0

0 1 2 30

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

0 1 2 3-2

-1

0

1

ω

Page 45: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency Response

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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 − ddω

∠H(ejω) : gives delay of themodulation envelope at each ω.Normally varies with ω but for a symmetric filter it isconstant: in this case +1 samples.Discontinuities of ±kπ do not affect group delay.

0

0 1 2 30

1

2

3

ω

0 1 2 3-10

-5

0

5

10

ω

0 1 2 3-2

-1

0

1

ω

Page 46: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.e. output at time n depends only on inputs up to time n.

Page 47: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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.

Page 48: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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

Page 49: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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

Page 50: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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 = ∞

Page 51: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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.

Page 52: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Causality +

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Causal System: cannot see into the futurei.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.

Page 53: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 54: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

Page 55: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[0] y[9]

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

Page 56: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

y[0] y[9]

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

Page 57: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

Thus y[n] has onlyM +N − 1 non-zero values

y[0] y[9]

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

Page 58: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

Thus y[n] has onlyM +N − 1 non-zero values

Algebraically:

y[0] y[9]

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

x[n− r] 6= 0⇒ 0 ≤ n− r ≤ N − 1

Page 59: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

Thus y[n] has onlyM +N − 1 non-zero values

Algebraically:

y[0] y[9]

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

x[n− r] 6= 0⇒ 0 ≤ n− r ≤ N − 1⇒ n+ 1−N ≤ r ≤ n

Page 60: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

Thus y[n] has onlyM +N − 1 non-zero values

Algebraically:

y[0] y[9]

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

x[n− r] 6= 0⇒ 0 ≤ n− r ≤ N − 1⇒ n+ 1−N ≤ r ≤ n

Hence: y[n] =∑min(M−1,n))

r=max(0,n+1−N) h[r]x[n− r]

Page 61: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Convolution Complexity

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[n− r]

y[n] is only non-zero in the range0 ≤ n ≤ M +N − 2

Thus y[n] has onlyM +N − 1 non-zero values

Algebraically:

y[0] y[9]

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

x[n− r] 6= 0⇒ 0 ≤ n− r ≤ N − 1⇒ n+ 1−N ≤ r ≤ n

Hence: y[n] =∑min(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

Page 62: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 63: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[(n− r)mod N ]

Page 64: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[(n− r)mod N ]

y[0] y[7]

N = 8, M = 3

Page 65: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=0 h[r]x[(n− r)mod N ]

y⊛N[n] has period N

y[0] y[7]

N = 8, M = 3

Page 66: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=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

Page 67: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=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:

Page 68: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=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

Page 69: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=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 circularrepetition has no effect at all and:

y⊛N+M−1[n] = y[n] for 0 ≤ n ≤ N +M − 2

Page 70: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Circular Convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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] =

∑M−1r=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 circularrepetition 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

Page 71: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 72: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

Page 73: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

Page 74: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

Page 75: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[n] for 0 ≤ n ≤ M +N − 2.

Page 76: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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).

Page 77: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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)

Page 78: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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 .

Page 79: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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:

Page 80: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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

Page 81: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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 ,

Page 82: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Frequency-domain convolution

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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: y[n] = F−1(X[k]H [k]) = x[n]⊛L h[n]

(4) y[n] = y[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.

Page 83: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

If N is very large:

Page 84: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks of length K

Page 85: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks of length K

(2) convolve each chunk with h[n]

Page 86: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks of length K

(2) convolve each chunk with h[n]

Each output chunk is of length K +M − 1 and overlaps the next chunk

Page 87: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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

Page 88: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ N

K× 8 (M +K) log2 (M +K)

Page 89: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ N

K× 8 (M +K) log2 (M +K)

Computational saving if ≈ 100 < M ≪ K ≪ N

Page 90: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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

Page 91: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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

Page 92: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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: NK

× 8 (M +K) log2 (M +K) = 1.1× 109 ,

Page 93: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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: NK

× 8 (M +K) log2 (M +K) = 1.1× 109 ,

Other advantages:(a) Shorter DFT

Page 94: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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: NK

× 8 (M +K) log2 (M +K) = 1.1× 109 ,

Other advantages:(a) Shorter DFT(b) Can cope with N = ∞

Page 95: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Add

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Kchunks 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 chunkOperations: ≈ 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: NK

× 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

Page 96: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

Alternative method:

Page 97: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

chunks of length K +M − 1

Page 98: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

chunks of length K +M − 1(2) ⊛K+M−1 each chunk with h[n]

Page 99: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

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

Page 100: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

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

Page 101: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

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

Page 102: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

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 tocreate y[n]

Page 103: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Overlap Save

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Koverlapping

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 tocreate y[n]

Advantages: same as overlap add

Strangely, rather less popular than overlap-add

Page 104: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Summary

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 105: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Summary

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 106: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Summary

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 107: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Summary

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• 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

Page 108: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

Summary

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

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

Page 109: 4: Linear Time Invariant Systems - Imperial College London · •Circular Convolution ... •Overlap Add •Overlap Save •Summary •MATLAB routines DSP and Digital Filters

MATLAB routines

4: Linear Time InvariantSystems

• LTI Systems

• Convolution Properties

• BIBO Stability

• Frequency Response

• Causality +

• Convolution Complexity

• Circular Convolution• Frequency-domainconvolution

• Overlap Add

• Overlap Save

• Summary

• MATLAB routines

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

fftfilt Convolution using overlap addx[n]⊛y[n] real(ifft(fft(x).*fft(y)))