What is Java-FFT Tool?

Home | What is Java-FFT? | Theory | Documentation | See Java-FFT Demo | Getting the Tool | About | Comments

 

The Java-FFT is a tool environment for automatic code generation of classic C languages for signal processing algorithms using Kronecker product formulations. The environment work as a stand-alone Java-based application.  A Demo version written as a Java applet is available to be used inside a Java-enabled web browser.

This work is a tool based on Java, to aid in the analysis, design, modification and implementation of multidimensional FFTs for signal processing applications in science and engineering. It was developed for automatic C and C++ code generation of FFT algorithms expressed in the mathematical language of Kronecker products algebra, and it has been used for code generation in areas such as synthetic aperture radar (SAR) computational signal processing and digital communications.

The following figure show the Java-FFT client-server environment. The application has different files, with predefined blocks of C code that define the operators or Kronecker functional primitives. While the user selects (in the analysis mode) or composes (in the synthesis mode) the desired FFT computational Kronecker products formulation, the application translates the formulation to a C code, which contains the targeted subcoding. 


Client-Server Environment

Kronecker products algebra, a branch of multidimensional multilinear algebra, is used by scientists and engineers as a mathematical analysis and synthesis tool to aid in the process of mapping FFT and other computational Kronecker based algorithms to  particular machine hardware structures.

To see more information on Kronecker products go to Background Theory section.

The system's flow diagram shows the program development steps in the Java-FFT programming environment. The user can generate C code routines from the Kronecker based formulations by a selection of functional primitive operators in the application. The application translates the Kronecker expressions to a C code, which can then be viewed in a separate window. The application allows users to enter simple algorithm specifications, by editable text field, to generate complete Kronecker products formulations of one-dimensional and multidimensional FFT algorithms. 


System Diagram


To generate source code for a given Kronecker products formulation in the Java-FFT tool environment,  requires the following steps.  First step is to express the algorithm as a matrix-vector multiplication operation. This matrix is then factored into Kronecker products of sparse matrices, called functional primitives. Different Kronecker products compositions produce different mathematical formulations of one-dimensional and multidimensional FFT algorithms useful in obtaining implementation variants for targeted computational structures. The environment aids in identifying the most useful Kronecker products compositions and automatically generating C, C++ code.  The following figure shows the system diagram that illustrates the steps above.

Java-FFT Tool Environment

Home | What is Java-FFT? | Theory | Documentation | See Java-FFT Demo | Getting the Tool | About | Comments