Sounds Logical
home

WaveWarp 2.0 Component

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentBottom of Page

Functional Description | Algorithm | Signal Implementations | Related Components | Example DWBs usage

MATLAB:

MATLAB FIR Filter

Functional Description
A seamless interface for sending any Finite Impulse Response (FIR) digital filter designed in MATLAB into WaveWarp for real-time implementation. The filter implementation utilizes a proprietary zero-latency algorithm. As such, this component is especially suitable for applications such as "live" room simulations etc.

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
"Name of filter coefficient vector:" dialog Enter any valid MATLAB variable name under which the FIR filter 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 "fir1" 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 FIR 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 FIR structure implemented in WaveWarp, and the associated ASCII file format 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 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.
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:
  • None

IndexCurrent GroupPrevious GroupNext GroupPrevious ComponentNext ComponentTop of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement