|
| WaveWarp 2.0 Component
      

Digital Filters:
Functional Description
Two-pole recursive (IIR) digital peak filter
with a 2nd-order polynomial (numerator-denominator) internal structure.
The peak parameters and output gain are adjustable via the
Parameter Window.
Alternatively, the filter can be designed off-line using a third-party application
(such as
MATLAB®
or
QEDesign®
), then imported to WaveWarp via a simple dialog box
(refer to the
WaveWarp Users' Guide
for
a detailed description of the specific IIR
single-stage polynomial
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.
Likewise, m-files are supplied for importing filters designed by WaveWarp into MATLAB
for off-line analysis (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 controls available in the Parameter Window, are summarised in the following table.
| Parameter | Purpose |
| "Center freq" slider | Adjusts the center
frequency of the peak, within the allowable range from 0 to the Nyquist frequency (fNyq, defined as half the sample rate). |
| "Boost" slider | Adjusts the boost-factor (peak height).
|
| "Log10 of Q" slider | Adjusts the Q-factor
(peak bandwidth). |
| "Output gain" slider | Adjusts the amplitude of the output signal. |
| "Magnitude Response Plot" | Displays the filter magnitude response
corresponding to the chosen design parameters. The magnitude scale can be switched between linear or logarithmic; the frequency scale can be
expressed in hertz or normalised to fNyq. |
| "Phase Response Plot" | Displays the filter phase response (unwrapped)
corresponding to the chosen design parameters. The frequency scale can be
expressed in hertz or normalised to fNyq. |
| "Load filter design from file" dialog | Imports an
arbitrary 2-pole IIR filter (in polynomial format) from an ASCII file.
(The "Center freq", "Boost", and "Log10 of Q" sliders
are automatically disabled when this option is selected.) |
| "Save filter design to file" dialog | Exports the
filter coefficients to an ASCII file (in polynomial format) for off-line analysis or for future import
by any 2-pole IIR filter component.
|
Note on the use of 2-pole filters:
The Digital Filters
category of the Component Library contains
a range of 2-pole recursive filters
(see
[OpSc]
for an introduction to digital filtering,
and
[Zo]
for discussions on 2-pole filters for audio applications
).
They are simple in structure and highly efficient. Nevertheless, they are
versatile, and can
be used effectively for broad-band equalisation, or peak/notch filtering.
If more elaborate filtering is required, the
Digital Filters
category also contains a complete range of
IIR and FIR filter components of arbitrary order.
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 filter is implemented by direct evaluation
of the 2nd-order 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:

      
|
|