Introduction to Digital Signal Processing

Download Report

Transcript Introduction to Digital Signal Processing

Lecture 7: FFT
XILIANG LUO
2014/10
First, let’s Review DFT
Sampling DTFT
Synthesized sequence:
DFT Definitions
DFT is just sampling the unit-circle of the
DTFT of x[n]
DFT Properties
Circular convolution
Compute Linear Convolution
In DSP, we often need to compute the linear convolution of two sequences.
Considering the efficient algorithms available for DFT, i.e. FFT, we typically
follow the following steps:
Linear Convolution
Linear convolution of two finite-length sequences of length L & P:
Question:
How about circular convolution using length N=L+P-1?
Circular Conv
as Linear Conv/Aliasing
DFT/IDFT
linear conv w/ aliasing
Compute Linear Convolution
Circular convolution becomes linear convolution!
How to compute DFT?
For each DFT coef, we need N complex multiplications, so we
need N2 complex multiplications
Question:
Can we do better here?
Decimation-in-Time
x[n]
2
g[n]
2
Circular
Left
Shift 1
+
Circular
Right
Shift 1
2
h[n]
2
x[n]
How to compute DFT?
Let N be an even integer
Decimation-in-Time
How to compute DFT?
Decimation-in-Time
How to compute DFT?
When N/2 is an even integer, we can break
the even/odd sequences further…
Decimation-in-Time
How to compute DFT?
Decimation-in-Time
How to compute DFT?
Decimation-in-Time
How to compute DFT?
Decimation-in-Time
How to compute DFT?
Decimation-in-Time
Butterfly Structure
Total complexity: Nlog2N
Further Reduction
only 1
complex multiplication
In-Place Computations
X0
Bit-Reversed Order
X1
X2
X3
In-Place Computations
In-Place Computations
normal
bit-reversed
Decimation-in-Frequency
X[k]
2
X0[k]
2
Circular
Left
Shift 1
+
Circular
Right
Shift 1
2
X1[k]
2
X[k]
Decimation-in-Frequency
X[k]: sampling DTFT at frequencies
2πœ‹π‘˜
𝑁
X0[k]=X[2k]: sampling DTFT at frequencies
π‘₯0 𝑛 =
π‘š
π‘šπ‘
π‘₯[𝑛 +
]
2
𝑁
π‘₯0 𝑛 = π‘₯ 𝑛 + π‘₯[𝑛 + ]
2
2πœ‹π‘˜
𝑁/2
Decimation-in-Frequency
X[k]: sampling DTFT at frequencies
2πœ‹π‘˜
𝑁
X1[k]=X[2k+1]: sampling DTFT at frequencies
𝑁
π‘₯1 𝑛 = π‘₯ 𝑛 βˆ’ π‘₯ 𝑛 +
2
π‘Šπ‘π‘›
2πœ‹π‘˜
𝑁/2
Decimation-in-Frequency
Decimation-in-Frequency