Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic Objective • • • • • FFT Introduction Some FFT algorithms FFT on PDSP FFT floating to fixed-point conversion Hardware implementation.
Download ReportTranscript Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic Objective • • • • • FFT Introduction Some FFT algorithms FFT on PDSP FFT floating to fixed-point conversion Hardware implementation.
Introduction SYSC5603 (ELG6163) Digital Signal Processing Microprocessors, Software and Applications Miodrag Bolic 1 Objective • • • • • FFT Introduction Some FFT algorithms FFT on PDSP FFT floating to fixed-point conversion Hardware implementation of FFT 2 FFT for TMS320x67 with 2 buffers Buffer (ping) Destination address 1 count Serial Port Source address EDMA FFT Buffer (pong) Processing Destination address 2 event (internal timer 1 is selected) Switch address at the completion of a transfer count 3 FFT Fixed point - Xilinx • Performing the calculations with no scaling and carrying computation – The growth of the fractional bits created from the multiplication are truncated after the multiplication. – The width of the output will be the (input width + number of stages + 1). – For example, a 1024-pt transform with an input of 16 bits consisting of 1 integer bit and 15 fractional bits, will have an output of 27 bits with 12 integer bits and 15 fractional bits. • • Scaling at each stage using a fixed-scaling schedule Scaling automatically using block-floating point [Xilinx05] 4 Block-floating point – – – – – The computation is fixed-point After every addition there is an overflow test If the overflow is detected the array is divided by ½ The number of division is counted to determine the scale factor SNR depends on how many overflows occurs 5 Butterfly computation for Decimation in Time • Linear noise model [Oppenheim98] 6 [Oppenheim98] 7 Butterfly with Scaling multipliers [Oppenheim98] 8 Sequential FFT-Xilinx core [Xilinx05] 9 Pipelined FFT-Xilinx core [Xilinx05] 10 Pipelined FFT architecture • Radix-2 multipath delay commutator (R2MDC) • Radix-2 single-path delay feedback (R2SDC) • Radix-4 multipath delay commutator (R4MDC) • Radix-4 single-path delay commutator (R4SDC) • Radix-4 single-path delay feedback (R4SDF) • Radix-22 single-path delay commutator (R22SDC) [Li03] 11 Radix-2 multipath delay commutator • The total number of delay elements is 4 + 2 + 2 + 1 + 1 = 10 for the 8-point FFT. • The utilization of the butterfly and the multiplier is 50% [Li03] 12 Radix-2 single-path delay feedback • The total number of delay elements is N – 1=N/2 + N/4 +... + 1 [Li03] 13 FFT processor • Datapath – memories, – butterflies and – complex multipliers. • Control unit [Li03] 14 Requirements • Requirement – – – – – • Transform length is 1024 Transform time is less than 40 ms (continuously) Continuous I/O 25.6 Msamples/sec. throughput Complex 24 bits I/O data Steps in designing – – – – – – [Li03] Architecture selection Partitioning Scheduling Word length selection RTL model generation Validation of models 15 Resource analysis • Computation time for the 1024-point FFT • The number of butterfly operations for Radix2 • • Assume 1 clock cycle per Butterfly The minimum number of Butterflies is • This is optimal with the assumption that ALL data are available to ALL stages, which is impossible for continuous data streams. Each butterfly has to be idle for 50% in order to reorder the incoming data. [Li03] 16 Resource analysis • The solution: the number of butterflies is 10 • The number of complex multipliers is 9 • Memory length for Radix-2 single-path delay feedback is N-1 [Li03] 17 RAM Based Commutator • A dual-port memory is required since the read and write operation must be performed in one clock cycle. [Li03] 18 Complex multiplier [Li03] 19 Radix - 4 20 Radix 4 21 Altera radix-4 butterfly [Oppenheim98] 22 References [Altera05] Altera, FFT MegaCore Function User Guide, DSP Literature, 2005. [Li03] W Li, Studies on implementation of low power FFT processors, Thesis, Linköpings University, 2003 [Oppenheim98] A. V. Oppenheim, R. W. Schafer, Discretetime signal processing, 2nd edition, Prentice Hall, 1998. [Xlinx05] Xilinx, “Fast Fourier Transform v3.2”, DS260 August 31, 2005 23