Skip to Main Content
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.