|
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.
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.
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. |
|