WaveWarp 2.0 Component
      

MATLAB:
Functional Description
A seamless interface for sending any Infinite Impulse Response (IIR) digital filter designed in
MATLAB into WaveWarp for real-time implementation.
Note: this component expects the IIR filter
in a specific form, namely as a single-stage polynomial (numerator-denominator) internal structure.
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.)
| Parameter | Purpose |
| "Numerator vector:" dialog |
Enter any valid MATLAB variable name under which the IIR filter numerator polynomial
coefficients are sent from the MATLAB workspace to WaveWarp.
|
| "Denominator vector:" dialog |
Enter any valid MATLAB variable name under which the IIR filter denominator polynomial
coefficients are sent from the MATLAB workspace to WaveWarp.
|
| "Enter desired MATLAB code..." dialog |
Enter any valid MATLAB code to design the filter. (Note that the default setting utilizes the "butter"
command which requires the MATLAB Signal Processing Toolbox, available separately from The MathWorks.)
The MATLAB code can make use of any pre-existing workspace variables. Likewise, any m-functions, scripts, or mex functions
may be used. After the filter has been successfully designed, it is automatically sent to WaveWarp for real-time
implementation (i.e., MATLAB is only used in the design stage and not in the implementation).
| "Export to ASCII file" button | If pressed,
the IIR filter coefficients are sent to an ASCII file in a format readable by WaveWarp's
standalone (i.e. non-MATLAB-enabled) filter components
(refer to the
WaveWarp Users' Guide
for
a detailed description of the specific IIR structures implemented in WaveWarp, and the
associated ASCII file formats for storing the coefficients).
|
| "Signal gain" slider and dialogs |
Scales the overall amplitude of the signal after the filtering process.
The gain can be set via the slider or either of the linear or decibel data entry dialogs. Although the slider has pre-defined limiting values,
these can be overwritten by any arbitrary value entered in either of the dialogs. |
| "Mute" button | If selected, sets the amplitude of the WaveWarp output signal to zero.
|
| "Bypass" button | If selected,
the filter is bypassed and the output is made equal to the input (whilst respecting the "Mute" state and the
"Signal gain" settings).
|
|
Algorithm
The filter is implemented by direct evaluation
of the polynomial structure.
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:

      
|