Lecture Notes on Circular Convolution | EECS 451, Study notes of Electrical and Electronics Engineering

Material Type: Notes; Professor: Yagle; Class: Dig Sig Proc&Analys; Subject: Electrical Engineering And Computer Science; University: University of Michigan - Ann Arbor; Term: Unknown 1989;

Typology: Study notes

Pre 2010

Uploaded on 09/02/2009

koofers-user-n4k
koofers-user-n4k 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
EECS 451 CIRCULAR CONVOLUTION
Def: y(n) = h(n)c
u(n) = PN1
i=0 h(i)(u(ni))NYk=XkUk.
where: (x(n))NN-point periodic extension of x(n). ”Cyclic”=”circular.”
Order: ”N-point” or ”order N”y(n), h(n), u(n)all have length N.
How to Compute Circular Convolutions:
Goal: Compute {1,2,3,4}c
{0,1,2,3}in three different ways:
Ref: Phillips and Parr, Signals, Systems and Transforms, p.576-580.
#1. Take only one cycle of the two cycles shown for each:
y(0) = {1,2,3,4,1,2,3,4}
{0,3,2,1,0,3,2,1}(1)(0) + (2)(3) + (3)(2) + (4)(1) = 16.
y(1) = {1,2,3,4,1,2,3,4}
{1,0,3,2,1,0,3,2}(1)(1) + (2)(0) + (3)(3) + (4)(2) = 18.
y(2) = {1,2,3,4,1,2,3,4}
{2,1,0,3,2,1,0,3}(1)(2) + (2)(1) + (3)(0) + (4)(3) = 16.
y(3) = {1,2,3,4,1,2,3,4}
{3,2,1,0,3,2,1,0}(1)(3) + (2)(2) + (3)(1) + (4)(0) = 10.
#2. Compute the linear convolution and then alias it:
Linear: {1,2,3,4}∗{0,1,2,3}={0,1,4,10,16,17,12}(mult. z-transforms).
Alias: {0 + 16,1 + 17,4 + 12,10}={16,18,16,10}checks.
#3. Compute 4-point DFTs, multiply, compute 4-point inverse DFT:
Hk:DF T {1,2,3,4}={10,2 + j2,2,2j2}. Confirm this!
Uk:DF T {0,1,2,3}={06,2 + j2,2,2j2}. Confirm this!
HkUk:{(10)(6),(2+j2)(2+j2),(2)(2),(2j2)(2j2)}={60,j8,4, j8}.
y(n): y(n) = DF T 1{60,j8,4, j 8}={16,18,16,10}checks.
Using Cyclic Convs and DFTs to Compute Linear Convs:
0-pad: {1,2,3,4,0,0,0}c
{0,1,2,3,0,0,0}={0,1,4,10,16,17,12}.
Note: Linear conv. of two 4-point4 + 4 1 = 7-point sequence.
Long Often input signal u(n) is much longer than filter h(n).
input Chop up u(n) into segments ui(n) and compute h(n)ui(n).
u(n): Use Overlap-save or overlap-add methods (see text p.430-433).
Compute quickly by multiplying 7-point DFTs, then inverse DFT:
pf2

Partial preview of the text

Download Lecture Notes on Circular Convolution | EECS 451 and more Study notes Electrical and Electronics Engineering in PDF only on Docsity!

EECS 451 CIRCULAR CONVOLUTION

Def: y(n) = h(n) c©u(n) =

∑N − 1

i=0 h(i)(u(n^ −^ i))N^ ⇔^ Yk^ =^ XkUk. where: (x(n))N ⇔N-point periodic extension of x(n). ”Cyclic”=”circular.” Order: ”N-point” or ”order N”⇔ y(n), h(n), u(n) all have length N.

How to Compute Circular Convolutions:

Goal: Compute { 1 , 2 , 3 , 4 } ©{c 0 , 1 , 2 , 3 } in three different ways: Ref: Phillips and Parr, Signals, Systems and Transforms, p.576-580. #1. Take only one cycle of the two cycles shown for each: y(0) = {{^10 ,,^23 ,,^32 ,,^41 ,,^10 ,,^23 ,,^32 ,,^41 }} → (1)(0) + (2)(3) + (3)(2) + (4)(1) = 16. y(1) = {{^11 ,,^20 ,,^33 ,,^42 ,,^11 ,,^20 ,,^33 ,,^42 }} → (1)(1) + (2)(0) + (3)(3) + (4)(2) = 18. y(2) = {{^12 ,,^21 ,,^30 ,,^43 ,,^12 ,,^21 ,,^30 ,,^43 }} → (1)(2) + (2)(1) + (3)(0) + (4)(3) = 16. y(3) = {{^13 ,,^22 ,,^31 ,,^40 ,,^13 ,,^22 ,,^31 ,,^40 }} → (1)(3) + (2)(2) + (3)(1) + (4)(0) = 10.

#2. Compute the linear convolution and then alias it: Linear: { 1 , 2 , 3 , 4 } ∗ { 0 , 1 , 2 , 3 } = { 0 , 1 , 4 , 10 , 16 , 17 , 12 } (mult. z-transforms). Alias: → {0 + 16, 1 + 17, 4 + 12, 10 } = { 16 , 18 , 16 , 10 } checks.

#3. Compute 4-point DFTs, multiply, compute 4-point inverse DFT: Hk: DF T { 1 , 2 , 3 , 4 } = { 10 , −2 + j 2 , − 2 , − 2 − j 2 }. Confirm this! Uk: DF T { 0 , 1 , 2 , 3 } = { 06 , −2 + j 2 , − 2 , − 2 − j 2 }. Confirm this! Hk Uk: {(10)(6), (−2+j2)(−2+j2), (−2)(−2), (− 2 −j2)(− 2 −j2)} = { 60 , −j 8 , 4 , j 8 }. y(n): y(n) = DF T −^1 { 60 , −j 8 , 4 , j 8 } = { 16 , 18 , 16 , 10 } checks.

Using Cyclic Convs and DFTs to Compute Linear Convs:

0-pad: { 1 , 2 , 3 , 4 , 0 , 0 , 0 } ©{c 0 , 1 , 2 , 3 , 0 , 0 , 0 } = { 0 , 1 , 4 , 10 , 16 , 17 , 12 }. Note: Linear conv. of two 4-point→ 4 + 4 − 1 = 7-point sequence. Long Often input signal u(n) is much longer than filter h(n). input Chop up u(n) into segments ui(n) and compute h(n) ∗ ui(n). u(n): Use Overlap-save or overlap-add methods (see text p.430-433). Compute quickly by multiplying 7-point DFTs, then inverse DFT:

EECS 451 COMPUTING CONTINUOUS-TIME

FOURIER TRANSFORMS USING THE DFT

Goal: Compute numerically X(f ) =

x(t)e−j^2 πf tdt; x(t) =

X(f )ej^2 πf tdf. Note X(f ) = X( 2 ωπ ) and df = dω 2 π (note missing 2π in inverse). Assume: x(t) time-limited to 0 < t < T (so that x(t) = 0 for other values of t). What if x(t) is time-limited to another interval Ti < t < Tf? Then use T = Tf − Ti and multiply X(f ) by e−j^2 πf Ti^ afterwards. Assume: X(f ) band-limited to −B/ 2 < f < B/2 (X(f ) = 0 for |f | > B/2). Why B/2 instead of B? Saves factor 2 throughout below; symmetry.

Sample t: t = n∆t for 0 ≤ n ≤ N − 1. Nyquist sampling→ ∆t = 1/B. Sample f : f = k∆f for 0 ≤ k ≤ N − 1. Nyquist sampling→ ∆f = 1/T.

Approx: X(f ) ≈

∑N − 1

n=0 x(n∆t)e

−j 2 πf n∆t (^) ∆t (using rectangle rule). Sample f : X(k∆f ) ≈

∑N − 1

n=0 x(n∆t)e

−j 2 πnk∆t∆f (^) ∆t.

Inverse: Repeating above, x(n) ≈

∑N − 1

k=0 X(k∆f^ )e

j 2 πnk∆t∆f (^) ∆f

DFT: Let Xk = X(k∆f )/∆t = X(k∆f )B and ∆t∆f = 1/N above. Then: Xk ≈

∑N − 1

n=0 x(n∆t)e

−j 2 πnk/N (^) ; x(n) ≈ 1 N

∑N − 1

k=0 Xke

j 2 πnk/N (^) DFT!

FFT: Use FFT of order N = BT to compute DFT of order N = BT. where: ∆t∆f = 1/N and ∆t = 1/B and ∆f = 1/T all→ BT = N. Formulae: BT = N ; ∆t∆f = 1/N ; ∆t = 1/B; ∆f = 1/T ; Xk = X(k∆f )B. Remember: X(f ) = 0 for |f | > B/2, not |f | > B!

Example: F{e−|t|} = 2/(ω^2 + 1) = 2/(4π^2 f 2 + 1). Recall ω = 2πf. Limits: About − 6 < t < 6 → T = 12 and − 8 < f < 8 → B = 16 (not 8!). Values: N = BT = (16)(12) = 192; ∆t = 1/B = 1/16; ∆f = 1/T = 1/12. FFT: 192-point FFT of x(t) sampled 1/16 to get 16X(f ) sampled 1/12.