Lecture 13: Practical Fourier Transforms Foundations of Digital Signal Processing

Outline • The Discrete Fourier Transform (DFT) • Circular • The DTFT and the DFT: The Relationship • The

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 1 News

 Homework #5 . Due today . Submit via canvas

 Coding Problem #4 . Due today . Submit via canvas

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 2 Lecture 13: Practical Fourier Transforms Foundations of Digital Signal Processing

Outline • The Discrete Fourier Transform (DFT) • Circular Convolution • The DTFT and the DFT: The Relationship • The Fast Fourier Transform

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 3 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ? 1 = 𝜔𝜔 +𝑗𝑗𝑗𝑗n 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝜔𝜔 𝑒𝑒 𝑑𝑑𝑑𝑑 2𝜋𝜋 2𝜋𝜋

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 4 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ? 1 = 𝜔𝜔 +𝑗𝑗𝑗𝑗n 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝜔𝜔 𝑒𝑒 𝑑𝑑𝑑𝑑 1 2𝜋𝜋 2𝜋𝜋 = ∞ +𝑗𝑗𝑗𝑗n � 𝑋𝑋 𝜔𝜔 2𝜋𝜋 � 𝛿𝛿 𝜔𝜔 − 𝑘𝑘𝜔𝜔𝑠𝑠 𝑒𝑒 𝑑𝑑𝑑𝑑 2𝜋𝜋 2𝜋𝜋 𝑘𝑘=−∞

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 5 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ? 1 = 𝜔𝜔 +𝑗𝑗𝑗𝑗n 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝜔𝜔 𝑒𝑒 𝑑𝑑𝑑𝑑 1 2𝜋𝜋 2𝜋𝜋 = 2𝜋𝜋 ∞ +𝑗𝑗𝑗𝑗n � 𝑋𝑋 𝜔𝜔 2𝜋𝜋 � 𝛿𝛿 𝜔𝜔 − 𝑘𝑘𝜔𝜔𝑠𝑠 𝑒𝑒 𝑑𝑑𝑑𝑑 2𝜋𝜋 0 𝑘𝑘=−∞ 0 < 0 𝑘𝑘𝜔𝜔𝑠𝑠 ≥ 𝑘𝑘𝜔𝜔𝑠𝑠 < 2𝜋𝜋 𝑘𝑘 ≥ 2𝜋𝜋 𝑘𝑘 𝜔𝜔𝑠𝑠 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 6 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ? 1 = 𝜔𝜔 +𝑗𝑗𝑗𝑗n 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝜔𝜔 𝑒𝑒 𝑑𝑑𝑑𝑑 1 2𝜋𝜋 2𝜋𝜋 = 2𝜋𝜋 ∞ +𝑗𝑗𝑗𝑗n � 𝑋𝑋 𝜔𝜔 2𝜋𝜋 � 𝛿𝛿 𝜔𝜔 − 𝑘𝑘𝜔𝜔𝑠𝑠 𝑒𝑒 𝑑𝑑𝑑𝑑 2𝜋𝜋 0 𝑘𝑘=−∞ 2𝜋𝜋 Let 2 / = −1 = 𝜔𝜔𝑠𝑠 = 2 / +𝑗𝑗𝑗𝑗𝜔𝜔𝑠𝑠n 𝑠𝑠 � 𝑋𝑋 𝑘𝑘𝜔𝜔 𝑒𝑒 𝜋𝜋 𝜔𝜔 𝑁𝑁 𝑘𝑘=0 𝜔𝜔𝑠𝑠 𝜋𝜋 𝑁𝑁 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 7 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ? 1 = 𝜔𝜔 +𝑗𝑗𝑗𝑗n 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝜔𝜔 𝑒𝑒 𝑑𝑑𝑑𝑑 1 2𝜋𝜋 2𝜋𝜋 = 2𝜋𝜋 ∞ +𝑗𝑗𝑗𝑗n � 𝑋𝑋 𝜔𝜔 2𝜋𝜋 � 𝛿𝛿 𝜔𝜔 − 𝑘𝑘𝜔𝜔𝑠𝑠 𝑒𝑒 𝑑𝑑𝑑𝑑 2𝜋𝜋 0 𝑘𝑘=−∞ = 𝑁𝑁−1 Let 2 / = 2𝜋𝜋𝜋𝜋 +𝑗𝑗 𝑁𝑁 n = 2 / � 𝑋𝑋 𝑘𝑘𝜔𝜔 𝑒𝑒 𝑠𝑠 𝑘𝑘=0 𝜋𝜋 𝜔𝜔 𝐾𝐾 𝜔𝜔𝑠𝑠 𝜋𝜋 𝐾𝐾 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 8 Deriving Transforms

 Consider the Inverse Discrete-Time Fourier Transform…. . What happens if we sample X ?

= 𝑁𝑁−1 𝜔𝜔 2𝜋𝜋 +𝑗𝑗 𝑁𝑁 kn 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝑘𝑘 𝑒𝑒 𝑘𝑘=0

. The DTFT becomes the Discrete-Time Fourier Series

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 9 The Discrete Fourier Transform

 The Discrete-Time Fourier Series . Analysis Equations 1 = 𝑁𝑁−1 2𝜋𝜋 −𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑋𝑋 𝑘𝑘 � 𝑥𝑥 𝑛𝑛 𝑒𝑒 . Synthesis Equations 𝑁𝑁 𝑛𝑛=0

= 𝑁𝑁−1 2𝜋𝜋 +𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝑘𝑘 𝑒𝑒 𝑘𝑘=0

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 10 The Discrete Fourier Transform

 The Discrete Fourier Transform (DFT) . Analysis Equations

= 𝑁𝑁−1 2𝜋𝜋 −𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑋𝑋 𝑘𝑘 � 𝑥𝑥 𝑛𝑛 𝑒𝑒 . Synthesis Equations 𝑛𝑛=0 1 = 𝑁𝑁−1 2𝜋𝜋 +𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝑘𝑘 𝑒𝑒 𝑁𝑁 𝑘𝑘=0

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 11 The Discrete Fourier Transform

 The Discrete Fourier Transform (DFT) . Analysis Equations

= 𝑁𝑁−1 2𝜋𝜋 −𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑋𝑋 𝑘𝑘 � 𝑥𝑥 𝑛𝑛 𝑒𝑒 . Synthesis Equations 𝑛𝑛=0 1 = 𝑁𝑁−1 2𝜋𝜋 +𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝑘𝑘 𝑒𝑒  Question: What are the𝑁𝑁 properties𝑘𝑘=0 of the DFT? . How does this work?

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 12 The Discrete Fourier Transform

 The Discrete Fourier Transform (DFT) . Analysis Equations

= 𝑁𝑁−1 2𝜋𝜋 −𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑋𝑋 𝑘𝑘 � 𝑥𝑥 𝑛𝑛 𝑒𝑒 . Synthesis Equations 𝑛𝑛=0 1 = 𝑁𝑁−1 2𝜋𝜋 +𝑗𝑗 𝑁𝑁 𝑘𝑘𝑘𝑘 𝑥𝑥 𝑛𝑛 � 𝑋𝑋 𝑘𝑘 𝑒𝑒  Question: What are the𝑁𝑁 properties𝑘𝑘=0 of the DFT? . How does this work?

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 13 The Discrete Fourier Transform

 Properties of the Discrete Fourier Transform . If is real ◊ real is even 𝑥𝑥 𝑛𝑛 ◊ imag is odd ◊ 𝑋𝑋is𝑘𝑘 even 𝑋𝑋 𝑘𝑘 ◊ is odd 𝑋𝑋 𝑘𝑘 ∠𝑋𝑋 𝑘𝑘

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 14 The Discrete Fourier Transform

 Properties of the Discrete Fourier Transform . If is real and odd real = 0 𝑥𝑥◊ 𝑛𝑛 ◊ imag is odd ◊ 𝑋𝑋is𝑘𝑘 even ◊ 𝑋𝑋=𝑘𝑘0 𝑋𝑋 𝑘𝑘 ∠𝑋𝑋 𝑘𝑘

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 15 The Discrete Fourier Transform

 Properties of the Discrete Fourier Transform . If is real and even ◊ real is even 𝑥𝑥 𝑛𝑛 ◊ imag = 0 ◊ 𝑋𝑋is𝑘𝑘 even ◊ 𝑋𝑋=𝑘𝑘0 𝑋𝑋 𝑘𝑘 ∠𝑋𝑋 𝑘𝑘

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 16 The Discrete Fourier Transform

 Circular Convolution . Multiplication property (DFT) 1

. 𝑥𝑥 𝑛𝑛 𝑦𝑦 𝑛𝑛 ↔ 𝑋𝑋 𝑘𝑘 ⊛ 𝑌𝑌 𝑘𝑘 Convolution property (DFT) 𝑁𝑁

𝑥𝑥 𝑛𝑛 ⊛ 𝑦𝑦 𝑛𝑛 ↔ 𝑋𝑋 𝑘𝑘 𝑌𝑌 𝑘𝑘

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 17 The Discrete Fourier Transform

 Circular Convolution . Multiplication property (DTFT) 1

. 𝑥𝑥 𝑛𝑛 𝑦𝑦 𝑛𝑛 ↔ 𝑋𝑋 𝜔𝜔 ⊛ 𝑌𝑌 𝜔𝜔 Convolution property (DTFT2𝜋𝜋)

𝑥𝑥 𝑛𝑛 ∗ 𝑦𝑦 𝑛𝑛 ↔ 𝑋𝑋 𝜔𝜔 𝑌𝑌 𝜔𝜔

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 18 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 19 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals . Convolve ◊ One period of one signal ◊ With the entire second signal

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 20 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

4 4 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 21 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

4 4 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 22 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

4 4 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 23 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

2 2 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 24 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

2 2 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 25 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 26 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

4 4 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 27 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

4 4 𝜋𝜋 𝜋𝜋 −

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 28 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 29 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

2 2 𝜋𝜋 𝜋𝜋 −

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 30 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

= ⊛ 6

Assume these are finiteℎlength𝑛𝑛 -8 signals𝛿𝛿 𝑛𝑛 − Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 31 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

= ∗ 6

Assume these are finiteℎlength𝑛𝑛 -8 signals𝛿𝛿 𝑛𝑛 − Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 32 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

Assume these are finite length-8 signals Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 33 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

Only consider 8 samples

Assume these are finite length-8 signals Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 34 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ One period of one signal ◊ With the entire second signal

Assume these are finite length-8 signals Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 35 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

= ⊛ 6

Assume these are finiteℎlength𝑛𝑛 -8 signals𝛿𝛿 𝑛𝑛 − Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 36 Circular Convolution

 What is Circular Convolution? . Convolution for periodic signals ◊ OR Perform convolution between two periods ◊ But assume periodic boundary conditions

Assume these are finite length-8 signals Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 37 Circular Convolution

 Example: Compute the circular convolution . Assume the signals are finite length-8 signals

1

1 ⊛

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 38 Circular Convolution

 Example: Compute the circular convolution . Assume the signals are finite length-8 signals

1

1 ⊛

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 39 Circular Convolution

 Example: Compute the circular convolution . Assume the signals are finite length-8 signals

1

1 ∗

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 40 Circular Convolution

 Example: Compute the circular convolution . Assume the signals are finite length-8 signals

1

5

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 41 Circular Convolution

 Example: Compute the circular convolution . Assume the signals are finite length-8 signals

1

5

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 42 Lecture 13: Practical Fourier Transforms Foundations of Digital Signal Processing

Outline • The Discrete Fourier Transform (DFT) • Circular Convolution • The Z-Transform, the DTFT, and the DFT: The Relationship • The Fast Fourier Transform

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 43 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

1 real

Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 44 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

1

𝑟𝑟1 real

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 45 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

1

𝑟𝑟1 real 1

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 46 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

1

𝑟𝑟1 real

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 47 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

𝑟𝑟1 real 1

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 48 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒 1

𝑟𝑟1 real

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 49 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒 1

𝑟𝑟1 real

1 𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 50 The Fast Fourier Transform

 Z-Transform

= ∞ −𝑛𝑛 𝑋𝑋 𝑧𝑧 � 𝑥𝑥 𝑛𝑛 𝑧𝑧 = 𝑛𝑛=−∞ 𝑗𝑗𝑗𝑗 imag 𝑧𝑧 𝑟𝑟 𝑒𝑒

1 𝑟𝑟1 real

𝜔𝜔 Foundations of Digital Signal Processing Lecture 13: Practical Fourier Transforms 51