Upload
len-harmon
View
32
Download
0
Tags:
Embed Size (px)
DESCRIPTION
102-1 Under-Graduate Project Case Study: Single-path Delay Feedback FFT. Speaker: Darcy Tsai Advisor: Prof. An- Yeu Wu Date: 2013/10/31. Outline. Introduction of Fast Fourier Transform (FFT) DFT/IDFT & FFT/IFFT Flow Graph of FFT Algorithm Hardware Implementation Radix-n FFT Algorithm - PowerPoint PPT Presentation
Citation preview
ACCESS IC LAB
Graduate Institute of Electronics Engineering, NTU
102-1 Under-Graduate ProjectCase Study: Single-path Delay Feedback FFT
Speaker: Darcy TsaiAdvisor: Prof. An-Yeu Wu
Date: 2013/10/31
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page2
Outline
Introduction of Fast Fourier Transform (FFT)DFT/IDFT & FFT/IFFTFlow Graph of FFT AlgorithmHardware ImplementationRadix-n FFT Algorithm
System Design FlowFloating Point ModelingFixed Point ModelingSimulation
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page3
DFT/IDFT
Definition of Discrete Fourier Transform (DFT) and Inverse DFT (IDFT)
x[n]
Time domain
sequence
X[k]
Frequency domain
spectrum
1
0
][][N
n
knNWnxkX
DFT
10 Nk
IDFT
1
0
][1
][N
n
knNWkXN
nx 10 Nn
Twiddle factor : Nj
N eW2
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page4
FFT/IFFT Fast Fourier Transform (FFT) is based on the
concept of “Divide-and-Conquer” The complexity of DFT: N2
The complexity of FFT: Nlog2N
Decimation-in-Time (DIT) FFT Algorithm —
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page5
Flow Graph of DIT FFT Algorithm
Pre-processing Post-processing
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page6
Flow Graph of DIT FFT Algorithm
Computation: Nlog2N
log2N stages
N N N
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page7
Flow Graph of DIT FFT Algorithm
Bit-reverse order Normal order
DFT-4DFT-2
000
100
010
110
001
101
011
111
000
001
010
011
100
101
110
111
[1]
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page8
Flow Graph of DIF FFT Algorithm
Bit-reverse order
000
001
010
011
100
101
110
111
000
100
010
110
001
101
011
111
DFT-2DFT-4
[1]
Normal order
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page9
Hardware Implementation
Slow ———— Speed ———— Fast
Small ———— Area ———— Large
1
1
1
1
1
1
1
1
1
1
1
1
WN0
WN0
WN0
WN0
WN0
WN2
WN0
WN2
WN0
WN2
WN1
WN3
[ ]0
[ ]4
[ ]2
[ ]6
[ ]1
[ ]5
[ ]3
[ ]7
X [ ]0
X [ ]1
X [ ]2
X [ ]3
X [ ]4
X [ ]5
X [ ]6
X [ ]7
Fully Spread
Complex ———— Control ———— Simple
Reuse of Single Butterfly
Fully Spread
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page10
Hardware Implementation
BF2
8
XBF2
4
XBF2
2
XBF2
1
[2]
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page11
Radix-4 FFT Algorithm
Radix-4: decimation into 4 groups
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page12
BF4
3*64
XBF4
3*16
XBF4
3*4
XBF4
3*1
Radix-2 Single-path Delay Feedback for N=16
BF2
8
XBF2
4
XBF2
2
XBF2
1
Radix-4 Single-path Delay Feedback for N=256
[2]
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page13
Radix-n FFT Algorithm
For Radix-n FFT, the complexity is NlognN
Larger N —Less complex multiplierLess stagesMore complex butterfly structure
Designing at algorithm level outperforms othersPipeline, Parallel, Retiming, Folding/Unfolding
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page14
Relationship of Radix-4 & Radix-22
BF2i BF2iiBF4
BF2i BF2ii
[2]
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page15
Radix-22 Single-path Delay Feedback for N=256
BF2i
128
x(n) BF2ii
64
XBF2i
32
BF2ii
16
BF2i
8
BF2ii
4
XBF2i
2
BF2ii
1
X(k)X
W1(n) W2(n) W3(n)
01234567clk
[2]s
BF2i
0
1
0
1
0
1
0
1
Xr(n)
Xi(n)
Xr(n+N/2)
Xi(n+N/2)
Zr(n)
Zi(n)
Zr(n+N/2)
Zi(n+N/2)
-
-
s t s t s t s t
Xi(n+N/2)
Xr(n+N/2)
ts
BF2ii
0
1
0
1
0
1
0
1
Xr(n)
Xi(n)
Zr(n)
Zi(n)
Zr(n+N/2)
Zi(n+N/2)
-±
±
0
11
0
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page16
System Design Flow
MATLABVerilog
MATLAB
Physical Model
Floating Point Model
Optimize
Fixed Point Model
Simulation
Verification
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page17
Floating Point Model
Implemented with MATLAB / C codeTranslate physical structure to high level
languageKeep original signal flow intact
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page18
Floating Point ModelButterfly(8)Butterfly(16) Butterfly(4) Butterfly(2)
116W
216W
316W
416W6
16W
916W
316W
216W
616W
-j-j
-j-j
-j
-j
-j
-j
)0(x
)1(x
)2(x
)3(x
)4(x
)5(x
)6(x
)7(x
)8(x
)9(x
)15(x
)10(x)11(x
)12(x
)13(x
)14(x
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page19
Fixed Point Model Simulate truncation due to limited word-length Dynamic range of input is critical
Ex: Only 3-bit of fractional part
1.422(10) 1.422(10) (floating point)
1.422(10) 1.011011(2) = 1 + 2-2+ 2-3 = 1.375
Input signal are truncated to limited precision Apply truncation where arithmetic is applied after the
multiplier module Twiddle factors are also truncated before introduced
to multiplier
Fixed Point Model of FFT
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page20
Fixed Point Model of FFT
316W
116W
216W
316W
416W6
16W
916W
216W
616W
-j-j
-j-j
-j
-j
-j
-j
)0(x
)1(x
)2(x
)3(x
)4(x
)5(x
)6(x
)7(x
)8(x
)9(x
)15(x
)10(x)11(x
)12(x
)13(x
)14(x
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page21
Simulation
Parameterize the word-lengths of inputInteger word-lengthFractional word-lengthTwiddle factor word-length
Insert randomly generated floating point input Compare with floating point result from
MATLAB (SQNR computing)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page22
P. 22
Calculation of SQNR
SQNR: Signal-to-Quantization-Noise Ratio
floating-pointalgorithm
fixed pointalgorithm
++
-x(n)
n=1,2,...Ne(n)
y(n)^
y(n)
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page23
Optimal set: 2+6 = 8Integer 2 bitsFractional 6 bits
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page24
Optimal set: 9+2 = 11Integer 2 bitsTwiddle 9 bits
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page25
Optimal set: 9+7 = 15Twiddle 9 bitsFractional 7 bits
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page26
Verification
Word-lengths chosen:Integer 2 bitsFractional 7 bitsTwiddle 9 bits
Run multiple random tests (105 times) to ensure we have desired results
Adjust bit lengths to ensure the SQNR 50 if ≧necessary
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page27
Fractional 7 bits, Twiddle 9+1 bits
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU
page28
References
[1] Alan V.Oppenheim, Ronald W. Schafer, “Discrete-time signal processing” 2nd edition.
[2] E.H. Wold and A.M. Despain. “Pipelined and parallel-pipelined FFT processors for VLSI implementation.,” IEEE Trans. Comput., May 1984
[3] Shousheng He and Torkelson, M., “A new approach to pipeline FFT processor,” Proceedings of IPPS '96, 15-19 April 1996, pp766 –770.