gstlal Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties | Signals |
GSTLALFIRBankGSTLALFIRBank — Projects a single audio channel onto a bank of FIR filters to produce a multi-channel output. |
"block-stride" gint : Read / Write / Construct "fir-matrix" GValueArray* : Read / Write "latency" gint64 : Read / Write / Construct "time-domain" gboolean : Read / Write / Construct
If the input stream is given by x[i] (i = 0, ...), one of the (N+1)-sample filter kernels is given by a[j] (j = 0, ..., N), then the output stream corresponding to that filter kernel is given by y[k] (k = 0, ...) where
y[i] = \sum_{j = 0}^{N} x[i + j] a[j].
Note in particular that the kernel is defined in reverse with respect to the traditional definition. This is for historical reasons. Also note that the first output sample generated by the element is the first sample that can be computed entirely from input data (i.e., without assuming the input data was preceded by 0s). Most (all?) GStreamer elements, in particular the audiofirfilter element, assume the input data is padded before and after by an arbitrary number of 0s and compute the output stream accordingly.
If x[0] carries timestamp t0 then y[0] will be assigned timestamp t0 + (N - latency) \Delta t, where latency is the element's configured latency in samples and \Delta t is the sample period. This is equivalent to the latency definition used by the audiofirfilter element.
Reviewed: 3a08854e595cf35a002483eae9a2b001b1100d21 2014-08-14 K. Cannon, J. Creighton, B. Sathyaprakash.
struct GSTLALFIRBankClass { GstBaseTransformClass parent_class; void (*rate_changed)(GSTLALFIRBank *, gint, void *); };
"block-stride"
property "block-stride" gint : Read / Write / Construct
When using FFT convolutions, this many samples will be produced from each block. Smaller values decrease latency but increase computational cost. If very small values are desired, consider using time-domain convolution mode instead.
Allowed values: >= 1
Default value: 1
"fir-matrix"
property "fir-matrix" GValueArray* : Read / Write
Array of impulse response vectors. Number of vectors (rows) in matrix sets number of output channels. All filters must have the same length.
"latency"
property "latency" gint64 : Read / Write / Construct
Filter latency in samples.
Default value: 0
"time-domain"
property "time-domain" gboolean : Read / Write / Construct
Set to true to use time-domain (a.k.a. direct) convolution, set to false to use FFT-based convolution. For long filters FFT-based convolution is usually significantly faster than time-domain convolution but incurs a higher processing latency and requires more RAM.
Default value: FALSE
"rate-changed"
signalvoid user_function (GSTLALFIRBank *gstlalfirbank,
gint arg1,
gpointer user_data) : Run First
|
the object which received the signal. |
|
user data set when the signal handler was connected. |