SOSBank:
Filter:
MDUgens/Classes (extension) | UGens > Filters > Linear

SOSBank
ExtensionExtension

A bank of MIMO second order filter sections (biquad).

Description

A bank of MIMO (Multi Input Multi Output) second order filter sections. Filter coefficients need to be provided directly, just as in the case of SOS. The second order sections are implemented in Direc-Form-II (poles preceding the zeros). This will make the MIMO calculations a lot more efficient, as the recursive part of the system only needs to be calculated once per section.

Class Methods

.ar

Arguments:

numInputs

The number of inputs to the system.

NOTE: The number of inputs argument should not be confused with the dimensionality of the input signal to the filter (which is always assumed to be a single output stream from another ugen). It corresponds to the number of inputs which are present in the transfer function matrix (i.e. to the number of columns in the unflattened transfer function matrix).
numOutputs

The number of outputs to the system.

NOTE: The number of output arguments does not necessarily correspond to the number of actual outputs of this ugen, which is in fact the product of numInputs and numOutputs. It corresponds to the number of outputs which are present in the transfer function matrix (i.e. to the number of rows in the unflattened transfer function matrix).
in

The signal input, assumed to be a single stream from another ugen.

NOTE: Multi-channel expansion will apply the same transfer function matrix to every channel of the signal input. This will effectively mean that the individual responses of the input signals to a specific transfer function (corresponding to a particular combination of input and output) will be summed together.
bufnum_a0

The index of the Buffer to use for the a0 coefficients. If the transfer function has no a0 coefficients, leave this set to -1.

NOTE: This buffer should be numInputs*numOutputs the size of the b1 and b2 buffer.
bufnum_a1

The index of the Buffer to use for the a1 coefficients. If the transfer function has no a1 coefficients, leave this set to -1.

NOTE: This buffer should be numInputs*numOutputs the size of the b1 and b2 buffer.
bufnum_a2

The index of the Buffer to use for the a2 coefficients. If the transfer function has no a2 coefficients, leave this set to -1.

NOTE: This buffer should be numInputs*numOutputs the size of the b1 and b2 buffer.
bufnum_b1

The index of the Buffer to use for the b1 coefficients. If the transfer function has no b1 coefficients, leave this set to -1.

bufnum_b2

The index of the Buffer to use for the b2 coefficients. If the transfer function has no b2 coefficients, leave this set to -1.

mul
add

Examples

To see an example of where SOSBank can be of actual use, see the ResonatorNetwork examples section of the PMLib quark.