|
| WaveWarp 2.0 Component
      

Digital Filters:
Functional Description
Finite Impulse Response (FIR) digital filter
employing a proprietary hybrid Fast/Multirate convolution
algorithm for the filtering computation. This component gives identical results
to the "Large FIR (FFT)" component except that there is zero delay (latency)
associated with the filtering, though at a higher computational expense.
This is specially geared for large filter lengths (e.g. for room simulations etc).
The filter can be designed off-line using a third-party application
(such as
MATLAB®
or
QEDesign®
), then imported to WaveWarp
as an ASCII file
via a simple dialog box in the Parameter Window
(refer to the
WaveWarp Users' Guide
for
a detailed description of the specific FIR structure implemented in WaveWarp, and the
associated ASCII file format for storing the coefficients). For MATLAB users in
particular, the "wwmatlab" sub-directory of the WaveWarp root directory contains
the necessary function m-files (plus example scripts) for exporting
filters from MATLAB, enabling the seamless integration of
MATLAB's powerful filter design tools with WaveWarp's real-time audio engine.
(refer to the
WaveWarp Users' Guide
for
a summary of all bundled m-files for working with MATLAB
in a variety of areas in addition to digital filter design).
The "Gain" slider(s) adjust(s) the signal output level(s) after filtering.
If the application specifically requires selective filtering at low frequencies, it is recommended to
employ multirate techniques, whereby the signal is downsampled before filtering.
The Multirate
category of the Component Library contains a wide range of downsamplers (and upsamplers) for this purpose.
All WaveWarp components automatically adapt to the sample rate of the incoming signal, so it is straightforward
to connect a digital filter component after a downsampler in order to realise the significant performance
gains inherent to multirate techniques
(refer to the
WaveWarp Users' Guide
for more information on WaveWarp's multirate signal processing functionality; and see
[CrRa]
and
[StNg]
for a detailed treatment
of multirate filtering.)
Algorithm
The FIR filter is implemented using a proprietary algorithm which combines highly efficient (FFT-based) fast convolution with
multirate (filterbank) methods. The algorithm has zero latency, yielding results which are identical to those
obtained by direct convolution, but with much greater computational efficiency. Note that there are alternative algorithms
for performing zero-latency efficient convolution (e.g.
[Ga]
), but these are
all "single rate" methods, and do not take advantage of multirate techniques employed
in the proprietary hybrid approach adopted here.
If latency can be tolerated, then even greater efficiency can be realised using the
"Large FIR (FFT)" component which uses pure block transform methods to compute the convolution, thereby introducing a latency
equal to the filter length.
Signal Implementations
| Audio signals | Control signals | Description |
| Single input single output mono-mono | n/a | The mono audio input is filtered and sent to the mono audio output. |
| Single input single output mono-stereo | n/a | The mono audio input is filtered and sent (in duplicate) to the stereo audio output channels. |
| Single input single output stereo-mono | n/a | Each audio input channel is filtered separately (but with the same filter coefficients). The filtered channels are then averaged and sent to the mono audio output. |
| Single input single output stereo-stereo | n/a | Each audio input channel is filtered separately (but with the same filter coefficients) and sent to the separate stereo output channels. |
Related components:
Example DrawingBoards illustrating usage:

      
|
|