4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) 4: Linear Time Invariant Systems LTI Systems: 4 – 1 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Linear Time-invariant (LTI) systems have two properties: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution 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 • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) Proof: P∞ We can always write x[n] = r=−∞ x[r]δ[n − r] DSP and Digital Filters (2015-6724) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) Proof: P∞ We can always write x[n] = r=−∞ x[r]δ[n − r] Hence DSP and Digital Filters (2015-6724) H (x[n]) = H P∞ r=−∞ x[r]δ[n − r] LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) Proof: P∞ We can always write x[n] = r=−∞ x[r]δ[n − r] Hence DSP and Digital Filters (2015-6724) P∞ H (x[n]) = H r=−∞ x[r]δ[n − r] P = ∞ r=−∞ x[r]H (δ[n − r]) LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) Proof: P∞ We can always write x[n] = r=−∞ x[r]δ[n − r] Hence DSP and Digital Filters (2015-6724) P∞ H (x[n]) = H r=−∞ x[r]δ[n − r] P = ∞ r=−∞ x[r]H (δ[n − r]) P = ∞ r=−∞ x[r]h[n − r] LTI Systems: 4 – 2 / 14 LTI Systems 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Linear Time-invariant (LTI) systems have two properties: Linear: H (αu[n] + βv[n]) = αH (u[n]) + βH (v[n]) Time Invariant: y[n] = H (x[n]) ⇒ y[n − r] = H (x[n − r]) ∀r The behaviour of an LTI system is completely defined by its impulse response: h[n] = H (δ[n]) Proof: P∞ We can always write x[n] = r=−∞ x[r]δ[n − r] Hence P∞ 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 (2015-6724) LTI Systems: 4 – 2 / 14 Convolution Properties 4: Linear Time Invariant Systems Convolution: x[n] ∗ v[n] = • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain P∞ r=−∞ x[r]v[n − r] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Convolution: x[n] ∗ v[n] = P∞ r=−∞ x[r]v[n − r] Convolution obeys normal arithmetic rules for multiplication: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Convolution: x[n] ∗ v[n] = P∞ r=−∞ x[r]v[n − r] Convolution obeys normal arithmetic rules for multiplication: Commutative: x[n] ∗ v[n] = v[n] ∗ x[n] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Convolution: x[n] ∗ v[n] = P∞ r=−∞ x[r]v[n − r] Convolution obeys normal arithmetic rules for multiplication: Commutative: x[n] ∗ v[n] = v[n] ∗ x[n] Proof: convolution P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n] DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = 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 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = 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: DSP and Digital Filters (2015-6724) P r,s (i) P 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 LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n] ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous Proof: P r,s (i) P 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 (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n] ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous Proof: P r,s (i) P 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 (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n] ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous Proof: P r,s (i) P 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 (2015-6724) LTI Systems: 4 – 3 / 14 Convolution Properties 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines P∞ P r (i) P x[r]v[n − r] = p x[n − p]v[p] (i) substitute p = n − r Associative: x[n] ∗ (v[n] ∗ w[n]) = (x[n] ∗ v[n]) ∗ w[n] ⇒ x[n] ∗ v[n] ∗ w[n] is unambiguous Proof: P r,s (i) P 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] Proof: DSP and Digital Filters (2015-6724) P (i) r δ[r]x[n − r] = x[n] (i) all terms zero except r = 0. LTI Systems: 4 – 3 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 BIBO Stability 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain BIBO Stability: Bounded Input, x[n] ⇒ Bounded Output, y[n] The following are equivalent: (1) An LTI system is BIBO stable convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( Define x[n] = DSP and Digital Filters (2015-6724) 1 h[−n] ≥ 0 −1 h[−n] < 0 P P then y[0] = x[0 − n]h[n] = |h[n]|. LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( 1 h[−n] ≥ 0 −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]| < ∞. Define x[n] = DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( 1 h[−n] ≥ 0 −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]| < ∞. Define x[n] = Proof (2) ⇒ (1): P Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( 1 h[−n] ≥ 0 −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]| < ∞. Define x[n] = Proof (2) ⇒ (1): P Suppose |h[n]| = S < ∞ and |x[n]| ≤ B is bounded. P∞ Then |y[n]| = r=−∞ DSP and Digital Filters (2015-6724) x[n − r]h[r] LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( 1 h[−n] ≥ 0 −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]| < ∞. Define x[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 (2015-6724) LTI Systems: 4 – 4 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain The following are equivalent: (1) An LTI system is BIBO stable P∞ (2) h[n] is absolutely summable, i.e. n=−∞ |h[n]| < ∞ (3) H(z) region of absolute convergence includes |z| = 1. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Proof (1) ⇒ (2):( 1 h[−n] ≥ 0 −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]| < ∞. Define x[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 (2015-6724) LTI Systems: 4 – 4 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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ω . convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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 convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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 convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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 convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| DSP and Digital Filters (2015-6724) 0 LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| DSP and Digital Filters (2015-6724) 0 3 2 1 0 0 1 ω 2 3 LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 3 2 1 0 0 1 ω 2 3 2 3 10 5 0 -5 -10 0 DSP and Digital Filters (2015-6724) 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 0 3 2 1 0 0 1 ω 2 3 2 3 10 5 0 -5 -10 0 DSP and Digital Filters (2015-6724) 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 0 3 2 1 0 0 1 ω 2 3 2 3 2 3 10 5 0 -5 -10 0 1 ω 1 ∠ 0 -1 -2 0 DSP and Digital Filters (2015-6724) 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 Sign change in (1 + 2 cos ω) at ω = 2.1 gives (a) gradient discontinuity in |H(ejω )| (b) an abrupt phase change of ±π . 0 3 2 1 0 0 1 ω 2 3 2 3 2 3 10 5 0 -5 -10 0 1 ω 1 ∠ 0 -1 -2 0 DSP and Digital Filters (2015-6724) 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 Sign change in (1 + 2 cos ω) at ω = 2.1 gives (a) gradient discontinuity in |H(ejω )| (b) an abrupt phase change of ±π . 0 3 2 1 0 0 1 ω 2 3 2 3 2 3 10 5 0 -5 -10 0 d ∠H(ejω ) − dω : gives delay of the Group delay is modulation envelope at each ω . 1 ω 1 ∠ 0 -1 -2 0 DSP and Digital Filters (2015-6724) 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 Sign change in (1 + 2 cos ω) at ω = 2.1 gives (a) gradient discontinuity in |H(ejω )| (b) an abrupt phase change of ±π . 0 3 2 1 0 ω 2 3 2 3 2 3 5 0 -5 -10 0 1 ω 1 ∠ 0 -1 -2 0 DSP and Digital Filters (2015-6724) 1 10 d ∠H(ejω ) − dω : gives delay of the Group delay is modulation envelope at each ω . Normally varies with ω but for a symmetric filter it is constant: in this case +1 samples. 0 1 ω LTI Systems: 4 – 5 / 14 Frequency Response 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines 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 ω| cos ω) ∠H(ejω ) = −ω + π 1−sgn(1+2 2 Sign change in (1 + 2 cos ω) at ω = 2.1 gives (a) gradient discontinuity in |H(ejω )| (b) an abrupt phase change of ±π . 0 3 2 1 0 DSP and Digital Filters (2015-6724) 1 ω 2 3 2 3 2 3 10 5 0 -5 -10 0 d ∠H(ejω ) − dω 1 ω 1 0 ∠ : gives delay of the Group delay is modulation envelope at each ω . Normally varies with ω but for a symmetric filter it is constant: in this case +1 samples. Discontinuities of ±kπ do not affect group delay. 0 -1 -2 0 1 ω LTI Systems: 4 – 5 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . The following are equivalent: (1) An LTI system is causal • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . The following are equivalent: (1) An LTI system is causal (2) h[n] is causal ⇔ h[n] = 0 for n < 0 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . The following are equivalent: (1) An LTI system is causal (2) h[n] is causal ⇔ h[n] = 0 for n < 0 (3) H(z) converges for z = ∞ DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . The following are equivalent: (1) An LTI system is causal (2) h[n] is causal ⇔ h[n] = 0 for n < 0 (3) H(z) converges for z = ∞ Any right-sided sequence can be made causal by adding a delay. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Causality 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Causal System: cannot see into the future i.e. output at time n depends only on inputs up to time n. Formal definition: If v[n] = x[n] for n ≤ n0 then H (v[n]) = H (x[n]) for n ≤ n0 . The following are equivalent: (1) An LTI system is causal (2) h[n] is causal ⇔ h[n] = 0 for n < 0 (3) H(z) converges for z = ∞ Any right-sided sequence can be made causal by adding a delay. All the systems we will deal with are causal. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 6 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain A passive system can never gain energy: convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. A lossless system always preserves energy exactly: DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. A lossless system always preserves energy exactly: P P∞ ∞ 2 2 |y[n]| = |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. A lossless system always preserves energy exactly: P P∞ ∞ 2 2 |y[n]| = |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A lossless LTI system must have H(e ) = 1∀ω called an allpass system. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. A lossless system always preserves energy exactly: P P∞ ∞ 2 2 |y[n]| = |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A lossless LTI system must have H(e ) = 1∀ω called an allpass system. Somewhat analogous to a circuit consisting of L and C only. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Passive and Lossless 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines A passive system can never gain energy: P P∞ ∞ 2 2 |y[n]| ≤ |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A passive LTI system must have H(e ) ≤ 1∀ω Somewhat analogous to a circuit consisting of R, L and C only. A lossless system always preserves energy exactly: P P∞ ∞ 2 2 |y[n]| = |x[n]| for any finite energy input x[n]. n=−∞ n=−∞ jω A lossless LTI system must have H(e ) = 1∀ω called an allpass system. Somewhat analogous to a circuit consisting of L and C only. Passive and lossless building blocks can be used to design systems which are insensitive to coefficient changes DSP and Digital Filters (2015-6724) LTI Systems: 4 – 7 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ Convolution sum: y[n] = convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) PM −1 r=0 h[r]x[n − r] LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = convolution • Overlap Add • Overlap Save • Summary • MATLAB routines PM −1 r=0 h[r]x[n − r] N = 8, M = 3 M + N − 1 = 10 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 N = 8, M = 3 M + N − 1 = 10 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 Thus y[n] has only M + N − 1 non-zero values N = 8, M = 3 M + N − 1 = 10 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 Thus y[n] has only M + N − 1 non-zero values Algebraically: N = 8, M = 3 M + N − 1 = 10 x[n − r] 6= 0 ⇒ 0 ≤ n − r ≤ N − 1 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 Thus y[n] has only M + N − 1 non-zero values Algebraically: 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 (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 Thus y[n] has only M + N − 1 non-zero values Algebraically: 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 (2015-6724) LTI Systems: 4 – 8 / 14 Convolution Complexity 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y[n] = x[n] ∗ h[n]: convolve x[0 : N − 1] with h[0 : M − 1] x ∗ → y[0] y[9] Convolution sum: y[n] = PM −1 r=0 h[r]x[n − r] y[n] is only non-zero in the range 0≤n≤M +N −2 Thus y[n] has only M + N − 1 non-zero values Algebraically: 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 (2015-6724) LTI Systems: 4 – 8 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution 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] = • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) PM −1 r=0 h[r]x[(n − r)mod N ] LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = • Overlap Add • Overlap Save • Summary • MATLAB routines PM −1 r=0 h[r]x[(n − r)mod N ] N = 8, M = 3 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N N = 8, M = 3 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N ⇒ y⊛N [n] has N distinct values N = 8, M = 3 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N ⇒ y⊛N [n] has N distinct values N = 8, M = 3 • Only the first M − 1 values are affected by the circular repetition: DSP and Digital Filters (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N ⇒ y⊛N [n] has N distinct values 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 (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N ⇒ y⊛N [n] has N distinct values 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 (2015-6724) LTI Systems: 4 – 9 / 14 Circular Convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines y⊛ [n] = x[n] ⊛N h[n]: circ convolve x[0 : N − 1] with h[0 : M − 1] x ⊛N → y[0] y[7] Convolution sum: y⊛N [n] = PM −1 r=0 h[r]x[(n − r)mod N ] y⊛N [n] has period N ⇒ y⊛N [n] has N distinct values 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 (2015-6724) LTI Systems: 4 – 9 / 14 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 • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain 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] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) Beneficial if both M and N are >∼ 100 . DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) Beneficial if both M and N are >∼ 100 . Example: M = 103 , N = 104 : DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) Beneficial if both M and N are >∼ 100 . Example: M = 103 , N = 104 : Direct: 2M N = 2 × 107 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) Beneficial if both M and N are >∼ 100 . Example: M = 103 , N = 104 : Direct: 2M N = 2 × 107 with DFT: 12 (M + N ) log2 (M + N ) = 1.8 × 106 , DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Frequency-domain convolution 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Idea: Use DFT to perform circular convolution - less computation (1) Choose L ≥ M + N − 1 (normally round up to a power of 2) (2) Zero pad x[n] and h[n] to give sequences of length L: x̃[n] and h̃[n] (3) Use DFT: ỹ[n] = F −1 (X̃[k]H̃[k]) = x̃[n] ⊛L h̃[n] (4) y[n] = ỹ[n] for 0 ≤ n ≤ M + N − 2. Arithmetic Complexity: DFT or IDFT take 4L log2 L operations if L is a power of 2 (or 16L log2 L if not). Total operations: ≈ 12L log2 L ≈ 12 (M + N ) log2 (M + N ) Beneficial if both M and N are >∼ 100 . Example: M = 103 , N = 104 : Direct: 2M N = 2 × 107 with DFT: 12 (M + N ) log2 (M + N ) = 1.8 × 106 , But: (a) DFT may be very long if N is large (b) No output samples until all x[n] has been input. DSP and Digital Filters (2015-6724) LTI Systems: 4 – 10 / 14 Overlap Add 4: Linear Time Invariant Systems If N is very large: • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain If N is very large: N (1) chop x[n] into K chunks of length K convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] Each output chunk is of length K + M − 1 and overlaps the next chunk convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N Example: M = 500, K = 104 , N = 107 Direct: 2M N = 1010 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N 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 (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N Example: M = 500, K = 104 , N = 107 Direct: 2M N = 1010 single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109 N × 8 (M + K) log2 (M + K) = 1.1 × 109 , overlap-add: K DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N Example: M = 500, K = 104 , N = 107 Direct: 2M N = 1010 single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109 N × 8 (M + K) log2 (M + K) = 1.1 × 109 , overlap-add: K Other advantages: (a) Shorter DFT DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N Example: M = 500, K = 104 , N = 107 Direct: 2M N = 1010 single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109 N × 8 (M + K) log2 (M + K) = 1.1 × 109 , overlap-add: K Other advantages: (a) Shorter DFT (b) Can cope with N = ∞ DSP and Digital Filters (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Add 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines If N is very large: N (1) chop x[n] into K chunks of length K (2) convolve each chunk with h[n] (3) add up the results Each output chunk is of length K + M − 1 and overlaps the next chunk N Operations: ≈ K × 8 (M + K) log2 (M + K) Computational saving if ≈ 100 < M ≪ K ≪ N Example: M = 500, K = 104 , N = 107 Direct: 2M N = 1010 single DFT: 12 (M + N ) log2 (M + N ) = 2.8 × 109 N × 8 (M + K) log2 (M + K) = 1.1 × 109 , overlap-add: K 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 (2015-6724) LTI Systems: 4 – 11 / 14 Overlap Save 4: Linear Time Invariant Systems Alternative method: • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Alternative method: N overlapping (1) chop x[n] into K chunks of length K + M − 1 convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain Alternative method: N overlapping (1) chop x[n] into K chunks of length K + M − 1 (2) ⊛K+M −1 each chunk with h[n] convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Alternative method: N overlapping (1) chop x[n] into K 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 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Alternative method: N overlapping (1) chop x[n] into K 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 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Alternative method: N overlapping (1) chop x[n] into K 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 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Alternative method: N overlapping (1) chop x[n] into K chunks of length K + M − 1 (2) ⊛K+M −1 each chunk with h[n] (3) discard first M − 1 from each chunk (4) concatenate to make y[n] The first M − 1 points of each output chunk are invalid Operations: slightly less than overlap-add because no addition needed to create y[n] DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Overlap Save 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines Alternative method: N overlapping (1) chop x[n] into K chunks of length K + M − 1 (2) ⊛K+M −1 each chunk with h[n] (3) discard first M − 1 from each chunk (4) concatenate to make y[n] The first M − 1 points of each output chunk are invalid Operations: slightly less than overlap-add because no addition needed to create y[n] Advantages: same as overlap add Strangely, rather less popular than overlap-add DSP and Digital Filters (2015-6724) LTI Systems: 4 – 12 / 14 Summary 4: Linear Time Invariant Systems • LTI systems: impulse response, frequency response, group delay • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 13 / 14 Summary 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain • LTI systems: impulse response, frequency response, group delay • BIBO stable, Causal, Passive, Lossless systems convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 13 / 14 Summary 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain • LTI systems: impulse response, frequency response, group delay • BIBO stable, Causal, Passive, Lossless systems • Convolution and circular convolution properties convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 13 / 14 Summary 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines • 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 DSP and Digital Filters (2015-6724) LTI Systems: 4 – 13 / 14 Summary 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain convolution • Overlap Add • Overlap Save • Summary • MATLAB routines • 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 DSP and Digital Filters (2015-6724) For further details see Mitra: 4 & 5. LTI Systems: 4 – 13 / 14 MATLAB routines 4: Linear Time Invariant Systems • LTI Systems • Convolution Properties • BIBO Stability • Frequency Response • Causality • Passive and Lossless • Convolution Complexity • Circular Convolution • Frequency-domain fftfilt x[n]⊛y[n] Convolution using overlap add real(ifft(fft(x).*fft(y))) convolution • Overlap Add • Overlap Save • Summary • MATLAB routines DSP and Digital Filters (2015-6724) LTI Systems: 4 – 14 / 14