1 / 21

Implementing FFT with Different Radix on FPGAs and Software Platform 陳羿安 蔡進義

RC Project Report. Implementing FFT with Different Radix on FPGAs and Software Platform 陳羿安 蔡進義 Programming Methodology Lab IECS, Feng Chia University. Implementing FFT with Different Radix on FPGA and Software Platform. Outline. Introduction

nigel-lang
Download Presentation

Implementing FFT with Different Radix on FPGAs and Software Platform 陳羿安 蔡進義

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RC Project Report Implementing FFT with Different Radix on FPGAs and Software Platform 陳羿安 蔡進義 Programming Methodology Lab IECS, Feng Chia University

  2. Implementing FFT with Different Radix on FPGA and Software Platform Outline • Introduction • Fourier transform and tensor product notation • Design methodology • Implementation • Conclusion and future work

  3. Implementing FFT with Different Radix on FPGA and Software Platform Introduction • To implement Cooley-Tukey FFT algorithm based on radix-2 and radix-4 for 4-point • From software to hardware • Transfer multistage interconnection to single stage interconnection network • Verilog HDL and Quartus II

  4. Implementing FFT with Different Radix on FPGA and Software Platform Fourier Transform and Tensor Product Notation • Fourier transform is used to analyze frequency component for continuous signal • In order to compute in computer and use discrete signal, the DFT replace fourier transform • The definition of DFT is as below:

  5. Implementing FFT with Different Radix on FPGA and Software Platform Fourier Transform and Tensor Product Notation The matrix of the definition of DFT

  6. Implementing FFT with Different Radix on FPGA and Software Platform Fourier Transform and Tensor Product Notation • Tensor product • Stride permutation

  7. Implementing FFT with Different Radix on FPGA and Software Platform Tensor Product Formulation • Cooley-Tukey FFT tensor product formulas • DIT • FIT

  8. Implementing FFT with Different Radix on FPGA and Software Platform The relationship between DIT and DIF • DIT • DIF transpose

  9. Implementing FFT with Different Radix on FPGA and Software Platform Design Methodology • Framework • Data representation • FFT representation on multistage interconnection network • Transfer to single stage interconnection network

  10. Implementing FFT with Different Radix on FPGA and Software Platform Framework Twiddle Factor control InputReal Processing Unit InputImage Permutation OutputReal OutputImage

  11. sign integer fraction 7 6 5 4 3 2 1 0 +7.9375 <= data <= -7.9375 Implementing FFT with Different Radix on FPGA and Software Platform Data Representation Data2 Data1 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Result 9 14 13 12 11 10 8 7 6 5 4 3 2 1 0 Result[14]=Data1[7]+Data2[7]

  12. Implementing FFT with Different Radix on FPGA and Software Platform Data Representation Data1 Data2 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 Result 7 6 5 4 3 2 1 0 Result[7]=Result[7]+Data1[7]+Data2[7]

  13. Implementing FFT with Different Radix on FPGA and Software Platform Multistage Interconnection Network Bit-reversal twd0 twd0 00 00 X[0] Y[0] twd1 twd1 01 10 X[2] Y[1] twd2 twd2 10 01 X[1] Y[2] twd3 twd3 11 11 X[3] Y[3] Radix-2

  14. twd0 X[0] Y[0] twd1 X[1] Y[1] twd2 X[2] Y[2] twd3 X[3] Y[3] Implementing FFT with Different Radix on FPGA and Software Platform Multistage Interconnection Network Radix-4

  15. twd0 twd0 X[0] Y[0] twd1 twd1 X[2] Y[1] twd2 twd2 X[1] Y[2] twd3 twd3 X[3] Y[3] 1 2 3 Implementing FFT with Different Radix on FPGA and Software Platform Single Interconnection Network Radix-2

  16. D D F2 Implementing FFT with Different Radix on FPGA and Software Platform Software Implementation for i=1 to n for i1=0 to 2n-i-1 for i2=0 to 2i-1-1 B0=X[i1*2i+i2]*D[i2*2n-1*0] B1=X[i1*2i+2i-1+i2]*D[i2*2n-1*1] Y[i1*2i+i2]=B0+B1 Y[i1*2i+2i-1+i2]=B0-B1 end end Swap(X,Y) end Input basis: Output basis: j=0 j=1 j=0 j=1

  17. Implementing FFT with Different Radix on FPGA and Software Platform Hardware Implementation • Experimental Environment • Processor: AMD Athlon 1.11GHz • Memory: 256 MB RAM • OS: Win XP • Compiler: Quartus II • HDL: Verilog

  18. twd0 twd0 twd1 twd1 twd2 twd2 twd3 twd3 1 2 3 One operation 1 operation 2 start Ready Two operation 3 next stage Three End end Implementing FFT with Different Radix on FPGA and Software Platform Hardware Implementation • Finite State Machine

  19. Implementing FFT with Different Radix on FPGA and Software Platform Simulation

  20. Implementing FFT with Different Radix on FPGA and Software Platform Verification DFT4 FFT

  21. Implementing FFT with Different Radix on FPGA and Software Platform Conclusion and Future Work • We make use of tensor product and interconnection network to design and implement Cooley-Tukey FFT • We choose point-4 as our problem size and implement it based on radix-2 and radix-4 • We attempt to increase the problem size • We hope the algorithm is not only Cooley-Tukey FFT algorithm

More Related