Author_Institution :
Dept. of Real-Time Syst., Bialystok Univ. of Technol., Bialystok, Poland
Abstract :
This paper presents a novel approach to implementing nonrecursive filter banks and transforms. A dedicated high-level language has been developed for describing such systems more clearly, compactly, and quickly than using both MATLAB/Simulink and SPL, the known tools of this sort. Its syntax is aimed at tightly connecting code to the signal flow graph of a transform and at allowing algorithms to be expressed in terms of elementary transformations: plane rotations, reflections, lifting steps, delays, etc. These have been achieved by defining the language expression as the specification of both transformation and data flow branches it acts on. Unlike the mentioned platforms, our approach prevents excessive use of matrix notation, which, however, is supported in a MATLAB-like style. Given a description, the associated code generator produces quite efficient Java, C++, or C routines, which are useful in rapid prototyping applications based on subband processing of signals and in transform optimization.
Keywords :
C++ language; Java; filtering theory; high level languages; optimisation; program compilers; software prototyping; transforms; C routines; C++; Java; MATLAB; SPL; Simulink; code generator; data flow branches; dedicated high level language; delays; lifting steps; nonrecursive filter banks; plane rotations; rapid prototyping applications; reflections; transform optimization; Delay; Digital signal processing; Generators; Java; Optimization; Syntactics; Transforms; code generation; compiler; filter bank; implementation; language; transform;