ParameterBiquad

This ParameterBiquad audio object computes bi-quadratic filter coefficients and calculates the output of the input audio buffers processed through the filters that users specify.

Use Case: This audio object can be deployed whenever a user wants to filter a signal based on user specified parameters.

Parameter Biquad Properties

Below table describes about object properties and functionality of ParameterBiquad audio object.

Properties Descriptions
# of Channels The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs. These channels are referred as subblocks. Filter has as many subblocks as number of channels and one additional subblock for Ramp characteristics.

  • Range: 1 to 64
  • By default, the number of channels is set to 1.
Number of biquads The number of elements generally describes the number of filters requested by the user.

  • For parameter and parameter one modes, this value is configurable between 1 and a 100 and is by default set to 1.
  • For Parameter one control mode, this value is not configurable and is hardcoded to 1.
Display Name Display the name of the ParameterBiquad audio object in signal flow design. It can be changed based on the intended usage of the object.
Object Mode ParameterBiquad audio object operates in one of the three modes.

  • Parameter
  • Parameter One
  • Parameter One Control Set

Mode

The ParameterBiquad audio object operates in one of three modes and ramping is applicable in all modes:

Mode Description
Parameter

(Default)

In this mode, the block receives the following filter specifications from the user for each filter in a channel.

This mode generates a set of filters per channel, so each channel has its own set of unique filters.

  • Frequency (in Hz),
  • Gain (in dB),
  • Q (Quality factor), q
  • Type of filter (lowpass, highpass, etc.)
  • Bypass mode (if set, the block doesn’t filter the incoming audio buffer)

In this mode, each channel can have its own set of coefficients and filter specifications.

Parameter One In this mode, the block receives the following filter specifications from the user for each filter in a channel:

This mode generates a set of filter coefficients for all audio channels. The only difference between this mode and the Parameter mode is that this mode generates one set of coefficients for all channels as opposed to one set per channel.

  • Frequency (in Hz),
  • Gain (in dB),
  • Q (-Quality factor), q
  • Type of filter (lowpass, highpass, etc.)
  • Bypass mode (if set, the block doesn’t filter the incoming audio buffer)

In this mode, all channels use same set of filter/filter coefficients. This block uses the above filter specifications to calculate the filter coefficients based on the type of the filter requested by the user.

The difference between Parameter mode and Parameter One mode is that Parameter One mode will apply the same set of filter coefficients to each channel whereas Parameter mode will apply different sets for different channels.

This is identical to the Parameter Mode, except, instead of presenting the variables for each filter per channel, this mode only presents a set of coefficients per filter, regardless of the number of channels.

Parameter One Control Set This mode also allows to control the cut off frequency via a control input pin.

This mode only uses one filter and applies the filter characteristics to all channels similar to Parameter One mode. It also exposes one control (accessible from the HU) variable to manipulate the cut-off frequency.

This is identical to Parameter One Mode but it has only one filter.
The Biquad object does not expose any variables for control except for the Parameter One Mode Set Control Frequency, where it exposes the cut-off frequency of the filter. When this parameter is changed then ramping is applied.

In addition to the above parameters, ParameterBiquad also exposes Ramp time configuration (both in state and tuning memory). For each channel in parameter mode and in Parameter One & Parameter One Mode Set Control Frequency single Ramp Time is exposed irrespective of number of channels.

Additional Parameters

Parameter Description
Biquad Topology Allows the user to choose the filter topology at design time.

  • Direct Form I (DFI)
  • Direct Form II (DFII)
  • Transposed Direct Form II (TDFII)

By default, it is configured for DFII.

Tune Ramping On/Off Allows user to enable or disable the ramping during tuning.

By default, ramping is disabled.

1 – Ramping Enable

0 – Ramping Disable

Irrespective of this option, ramping characteristics are always available as tuning parameters that will be used whenever changes are made through control inputs.

Tuning Parameters

This table assumes subblocks are utilized. If a user were to tune without subblocks, they would need to account for the memory offsets for subblocks.

f = Filter # (starting from beginning of subblock)

Parameter Description Data Type Unit Default Memory Offset Range
Frequency Cut off frequency of the filter float Hz 20 f * 5 * 4 + 0 10 to 20000
Gain Gain float dB 0 f * 5 * 4 + 4 -30 to 50
Quality Q factor of the filter float 0.7 f * 5 * 4 + 8 0.1 to 116
Type Type of filter: lowpass/high pass/ shelve, etc Int 0 f * 5 * 4 + 12 0 – BYPASS

15 – RESON

Bypass* Bypass on or off (0 is on) Int 0 f * 5 * 4 + 16 0 to 1

*ATTENTION: The Bypass logic is inverted. When Bypass value is set to 1, the AO applies filtering and generates the filtered output. When Bypass value is set to 0, the AO passes the input to the output. This need to be retained this way to maintain backward compatibility.

Last subblock irrespective of channels will be the ramp characteristics. Below is the memory layout for the last subblock. If m_NumChannels N,

  • In Parameter mode last subblock will be N.
    • For example, for 2 channels, subblock 0 and 1 are for the filters and subblock 2 is for ramp characteristics. When channels are changed to 3 channels, subblock 0, 1 and 2 are for the filters and subblock 3 is ramp characterics.
      • Please note that subblock 2 (which was used for ramp characteristics when number of channels were 2) used for filter when number of channels are 3.
      • Because of this, application using this AO, may not be able to retain the ramp characters when number of channels are changed.
  • In Parameter One mode and Parameter One control set mode last subblock will be 2 irrespective of number of channels

Ramp Characteristics Subblock

Last sub-block Name Type Unit Min Max Default Value Offset Description
Ch = 0 Ramp time ch0 float ms 0 500 0 ch *4 Ramp time for first channel
Ch = 1 Ramp time ch1 float ms 0 500 0 ch * 4 Ramp time for second channel
Ch = N  – 1 Ramp time ch(N-1) float ms 0 500 0 ch * 4 Ramp time for last channel

Control Interface

There are no control parameters available for Parameter Biquad audio object.