FastConv

This FastConv (Fast Convolution) audio object implements an N-channel point to point FIR filter with a constant number of taps for all channels. This filter is optimal for higher order filters (> 1000).

Coefficients are provided through GTT custom panel from pre-stored coefficient files in .csv format.

  • Coefficients can be different for each channel, but with same tap length.
  • Coefficients represent the impulse response of the filter in time domain.

Without loaded coefficients, the filter functions as an all-pass filter passing the input signal as it is.

The FastConv audio object supports in-place computation based on the core type.

Use Case: The computational effort of a simple FIR filter in time domain increases linearly with the number of taps used.
For complex wideband filtering, example low frequency filtering using room impulse responses – the number of used taps might easily reach few hundreds or thousands. As this number of FIR taps in time domain cannot be realized with reasonable computational effort, it makes sense to do convolution by multiplication in frequency domain – using the FFT.
The trade-off for using fast convolution depends on the used platform and might be in the area of 32-64 taps.
As this filter supports multiple channels – it can be used to adjust the sound to certain acoustics in a multichannel environment. The impulse response, i.e. the time domain coefficients can be different for each channel.

FastConv Properties

Below table describes about the FastConv audio object properties and functionality.

Properties Description
# of Channels The object has a configurable number of channels. The number of audio inputs is always equal to the number of audio outputs.

  • Range: 1 to 255
  • By default, the number of channels is set to 1.
Number of taps The object has a configurable number of taps.

  • Range: 1 to 16384
  • By default, the number of channels is set to 1.
Display Name Display the name of the FastConv audio object in signal flow design. It can be changed based on the intended usage of the object.

Mode

There are no mode available for FastConv audio object.

Additional Parameters

There are no additional parameters available for FastConv audio object..

Tuning Parameters

In the current init setup, the tuning filter coefficients consist of all pass or bypass. In the real-world setup, these will be replaced with actual filter coefficients calculated for the preferred vehicle environment.

There are two sets of tuneable parameters –

  • Mode: Mode is a single variable
  • Coefficients: the number of coefficients depends on the tap-length value configured in GTT

Let Nc denote the number of coefficients (taps), Ni number of channels. All filter coefficients are stored using floating point format. The number of coefficients is rounded up to an integer power of 2, which allows for effective FFT radix-2 or radix-4 implementation. The filter coefficients are denoted by hi[k] where “I” is the filter’s index ranging from 0 to Ni−1 and “k” is the coefficient index (k = 0…Nc−1).

Sub-block ID Name Description Offset Type Unit Range Default
0 mode [0] Mode for filter 0 0 UInt32 None 0,1,2 0
0 Coefficients for filter 0 4 float None -1.0f; +1.0f 1.0f
0 Coefficients for filter 0 8 float None -1.0f; +1.0f 0.0f
0 Coefficients for filter 0 float None -1.0f; +1.0f 0.0f
0 Coefficients for filter 0 + 4 float None -1.0f; +1.0f 0.0f
1 mode [1] Mode for filter 1 + 4 UInt32 None 0,1,2 0
1 Coefficients for filter 1 + 8 float None -1.0f; +1.0f 1.0f
1 Coefficients for filter 1 + 8 float None -1.0f; +1.0f 0.0f
1 Coefficients for filter 1 float None -1.0f; +1.0f 0.0f
1 Coefficients for filter 1 + 12 float None -1.0f; +1.0f 0.0f
Ni-1 mode [Ni-1] Mode for filter Ni-1 + UInt32 None 0,1,2 0
Ni-1 Coefficients for filter + float None -1.0f; +1.0f 1.0f
Ni-1 Coefficients for filter float None -1.0f; +1.0f 0.0f
Ni-1 Coefficients for filter float None -1.0f; +1.0f 0.0f
Ni-1 Coefficients for filter + float None -1.0f; +1.0f 0.0f

The pre-computed FIR filter time domain coefficients need to be stored in a file in .csv format.

GTT has the provision to import the coefficients from the file for the selected channel and pass them to the device. During tuning phase, these time domain filter coefficients are converted to frequency spectrum coefficients for multiplication with the spectrum of the input.

The generalized offset information of the two tuneable parameters can be found below table.

FastConv Tuneable Parameters

Sub-block ID Name Description Offset Type Unit Range Default
i mode[i] Mode for filter i UInt32 0,1,2 0
i Coefficient k=0 for filter i float -1.0f; +1.0f 1.0f
i Coefficient k>0 for filter i float -1.0f; +1.0f 0.0f

FastConv operational mode (Normal / Bypass / Mute) can be controlled (as tuning parameters) from GTT panel. The description of each mode is given in the table below.

FastConv Mode Details

Mode Value Mode Tag Description
0 NORMAL Filter operation under use
1 BYPASS Input buffer copied to output buffer
2 OFF Output buffer set to zero

Control Interface

There are no control parameters available for FastConv audio object.