Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
TOPICS
• Discrete Fourier Transform
PIPELINE IMPLEMENTATIONS OF THE
• Fast Fourier Transform
FAST FOURIER TRANSFORM (FFT) – Decimation in time
– Decimation in frequency
• FFT pipelines:
– Radix-2 multi-path delay commutator
– Radix-2 single-path delay feedback
• Consulted work: – Delay buffer implementation
Chiueh, T.D. and P.Y. Tsai, OFDM Baseband Receiver Design for Wireless – Radix-4 algorithms
Communications, John Wiley and Sons Asia, (2007).
Second edition of 2012 available as e-book via UT Library.
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 5 IMPLEMENTATION OF DSP 6
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
• Two variants:
– Decimation in time
– Decimation in frequency.
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 9 IMPLEMENTATION OF DSP 10
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
• Rewrite, using :
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
DFT of even
samples
DFT of odd
samples
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 13 IMPLEMENTATION OF DSP 14
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
N/2-point
DFT
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 17 IMPLEMENTATION OF DSP 18
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 21 IMPLEMENTATION OF DSP 22
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
• Using simplification rules mentioned earlier: • This is a half-size DFT applied to an input stream consisting of
pairs of the original input stream:
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 25 IMPLEMENTATION OF DSP 26
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
N/2-point
DFT
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 29 IMPLEMENTATION OF DSP 30
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 33 IMPLEMENTATION OF DSP 34
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
Butterfly
Butterfly
Butterfly
– Commutators, switches that send the data either straight ahead or 4D 2D 1D
crisscross
– Butterfly blocks (either for DIT or DIF)
2D 1D
– Delay buffers
B
Butterfly
Butterfly
Butterfly
4D 2D 1D
2D 1D
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 37 IMPLEMENTATION OF DSP 38
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
Butterfly
delay buffer, first half of output to
• Originally proposed in: next stage and second half output
Groginsky, H.L. and G.A. Works, A Pipeline Fast Fourier Transform, IEEE into delay buffer (red).
Transactions on Computers, Vol.C-19(11), pp. 1015-1019, (November
1970).
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
feedback 4D 2D 1D
Delay line
Butterfly
Butterfly
Butterfly
Butterfly
Butterfly
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 41 IMPLEMENTATION OF DSP 42
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
Butterfly
Butterfly
• Number of delay elements for N-point FFT:
C D G H
– R2SDF:
E: . . . . . . 0 1 2 3 4 5 6 7 – R2MDC:
A: . . . . 0 1 2 3 4 5F:6 .7 . . . 0 1 2 3 4 5 6 7
B: 0 1 2 3 4 5 6 7 G: . . . . 0 1 2 3 4 5 6 7
• R2SDF and R2MDC have the same number of (complex)
C: 0 1 2 3 4 5 6 7 H: . . . . . . 0 1 2 3 4 5 6 7
adders and multipliers.
D: . . . . 0 1 2 3 4 5 6 7
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
Dual-port RAM
– Memory elements implemented by D-flipflops are large! data and address Write Write
– Shifting all data at every clock cycle consumes a lot of energy! • Cyclic buffer: L+1 locations addr. data
to store L items.
+1 Read Read
• Much better idea to keep the data in RAM and shift the address
pointer(s) instead. addr. data
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 45 IMPLEMENTATION OF DSP 46
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
wen
wen
RAMs are cheaper 1 1
+1
than one dual-port
RAM1 RAM2
RAM.
• Use LSB of address
WL
to connect to “write
enable” (wen). output
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
• Radix-4 decomposition:
– Number of stages:
– Complex multiplications per stage: in total:
– Complex additions per stage: in total:
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
IMPLEMENTATION OF DSP 53 IMPLEMENTATION OF DSP 54
FFT BASICS + FFT PIPLELINES April 6, 2018 FFT BASICS + FFT PIPLELINES April 6, 2018
Butterfly
Butterfly
8D 1D 2D
4D 2D 1D
3D
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands
© Sabih H. Gerez, University of Twente, The Netherlands © Sabih H. Gerez, University of Twente, The Netherlands