General Purpose Filter - XMOS VocalFusion XVF3510 User Manual

Table of Contents

Advertisement

4.4.2. GENERAL PURPOSE FILTER

The general-purpose filter blocks each comprise of two cascade biquad filters permitting configuration
as bandpass, notch, low-pass, high-pass filters etc. By default, all filters are disabled (bypassed).
NOTE: A maximum of two output filters may be enabled simultaneously, e.g. two channels of USB
filtering or one I2S and one USB output. Exceeding this may cause audio glitching.
There is no restriction on input filters (mic and reference filters).
The filter coefficients are accepted in a floating-point format in [a1, a2, b0, b1, b2] order directly from
filter design tools such as https://arachnoid.com/BiQuadDesigner/index.html.
Support for the raw 32bit integer write/read is offered which directly accesses the internal
representation. When using the raw control method, coefficients should be converted to Q28.4 format
first and a
and a
need to be negated. See configuration parameters for more information.
1
2
The sample rate for filters on the input to the pipeline are always 16kHz whereas the output filters
match the selected rate which may be either 16kHz or 48kHz, depending on system configuration.
Designers must ensure that the filter coefficients have been designed with the correct rate.
Note that, although potential numerical overflows are handled as a saturation, it is up to the designer
to ensure no saturation occurs from the coefficients chosen to avoid non-linear behaviour of the filter.
The implementation offers three bits of headroom (Q28.4) which is more than sufficient for most filters.
The coefficients are cleared to zero on boot.
The following table describes the commands for the configuration of the filters.
Table 4-11 Filter configuration parameters
COMMAND
TYPE
SET_FILTER_INDEX
uint8
GET_FILTER_INDEX
uint8
SET_FILTER_BYPASS
uint8
GET_FILTER_BYPASS
uint8
SET_FILTER_COEFF
float
GET_FILTER_COEFF
float
SET_FILTER_COEFF_RAW int32
GET_FILTER_COEFF_RAW int32
XM-014232-PC
ARGS
DEFINITION
Used as an index to point to which filter block that will be manipulated.
1
Refer to table below which defines the filter block IDs.
1
Retrieve the current filter index.
Bypass (1) means filter pointed to by the index is not enabled (default), 0
1
means enable the filter.
1
Retrieve the bypass status.
Set 5 x 2 biquad coefficients in a floating-point format in the order a1, a2,
b0, b1, b2.
10 (5x2)
Coefficient a0 is assumed to be 1.0. If it is not, divide all coefficients by
a0.
Retrieve the floating-point representation of the coefficients in the order
10 (5x2)
a1, a2, b0, b1, b2.
Set 5 x 2 biquad coefficients in Q28.4 format for the filter pointed to by
the index.
10 (5x2)
See note above in Filter Blocks section about the format.
Retrieve the Q28.4 representation of the coefficients.
10 (5x2)
See note above in Filter Blocks section about the format.
49

Advertisement

Table of Contents
loading

This manual is also suitable for:

Vocalfusion xvf3510-intVocalfusion xvf3510-ua

Table of Contents