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