Spatial Filter

Summary

Doc_BoxAlgorithm_SpatialFilter.png
  • Plugin name : Spatial Filter
  • Version : 1.0
  • Author : Yann Renard
  • Company : INRIA
  • Short description : Maps M inputs to N outputs by multiplying the each input vector with a matrix
  • Documentation template generation date : Jul 24 2014

Description

The applied coefficient matrix must be specified as a box parameter. The filter processes each sample independently of the past samples.

The spatial filter generates a number of output channels from another number of input channels, each output channel being a linear combination of the input channels. For example, lets say ICj is the jth input channel, OCk is the kth output channel, and Sjk is the coefficient for the jth input channel and kth output channel in the Spatial filter matrix.

Then the output channels are computed this way : OCk = Sum on j ( Sjk * ICj )

Inputs

1. Input Signal

This input contains the input channels to mix.

  • Type identifier : Signal (0x5ba36127, 0x195feae1)

Outputs

1. Output Signal

This output contains the generated channels, mixed from the input channels.

  • Type identifier : Signal (0x5ba36127, 0x195feae1)

Settings

1. Spatial Filter Coefficients

This setting contains a flat view of the spatial filter matrix. The coefficient orders is as follows : all the coefficients for the first output followed by all the coefficients for the second output and so on..

  • Type identifier : String (0x79a9edeb, 0x245d83fc)
  • Default value : [ 1;0;0;0;0;1;0;0;0;0;1;0;0;0;0;1 ]

2. Number of Output Channels

Number of output channels to generate

  • Type identifier : Integer (0x007deef9, 0x2f3e95c6)
  • Default value : [ 4 ]

3. Number of Input Channels

Number of input channels to compute from

  • Type identifier : Integer (0x007deef9, 0x2f3e95c6)
  • Default value : [ 4 ]

Examples

Let's consider the following example :

  • Input channels list: C3 C4 FC3 FC4 C5 C1 C2 C6 CP3 CP4 (10 channels)
  • Spatial filter coefficients: 4 0 -1 0 -1 -1 0 0 -1 0 0 4 0 -1 0 0 -1 -1 0 -1 (20 values)
  • Number of output channels: 2
  • Number of input channels: 10

The output channels becomes :

 OC1 = 4 * C3 + 0 * C4 + (-1) * FC3 + 0 * FC4 + (-1) * C5 + (-1) * C1 + 0 * C2 + 0 * C6 + (-1) * CP3 + 0 * CP4
     = 4 * C3 - FC3 - C5 - C1 - CP3

 OC2 = 0 * C3 + 4 * C4 + 0 * FC3 + (-1) * FC4 + 0 * C5 + 0 * C1 + (-1) * C2 + (-1) * C6 + 0 * CP3 + (-1) * CP4
     = 4 * C4 - FC4 - C2 - C6 - CP4

This is basically a Surface Laplacian around C4 and C5.

Miscellaneous