Although there exists a tremendous amount of literature about filter theory and design, (EDA) software for the design and implementation of (Lattice) Wave Digital Filters is hard, if not impossible, to find.
This is really a shame, since this class of filters unarguably exhibits very good properties concerning coefficient accuracy requirements, dynamic range and all aspects of stability under finite-arithmetic conditons.
With the MATLAB software described on these pages, it is possible to design Wave Digital Filters that are derived from their analog (continuous-time) lumped-element, ladder-type equivalents. Although it is possible to completely work and design in the discrete-time domain, the intermediate results in our approach can be the starting point for implementations using different technologies, like filters working with opamps, switched capacitors filters, microwave designs or DSP implementations.
Lattice Wave Digital Filters will be derived directly from their transfer functions in the continuous-time domain.
The resulting discrete-time filter implementations can be translated into synthesizable (fixed-point) VHDL with the aid of the Scheduling software.
Needless to say that the Scheduling software is not limited to filter implementations only, being flexible enough to be used for various signal processing structures.
Apart from the actual VHDL implementation, the Scheduling software also will generate a testbench and a reference MATLAB simulation for easy (bit-true) debugging.
The MATLAB software is availiable as two seperate toolboxes, viz. the
(L)WDF Design Toolbox and the
Scheduling Toolbox.
Diagram showing relations between functions and Toolboxes
The packages mentioned above stem from the desire to support courses given at the Delft University of Technology (TU Delft) with good examples.
In the course of time they gradually grew and are actually too powerful to be kept in a drawer. However, no one is pretending them to be complete in any way.
Also, the author assumes no responsibility whatsoever for use of the software by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.
Acknowledgement if the software is used is appreciated.
| April 18, 2006 |