SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Functions
sspmod_iir_filter.c File Reference

IIR filtering. More...

Functions

void spr_iir_filter_free (SprSspInfo *Info)
 
void spr_iir_filter_reset (SprSspInfo *Info, SprSspStatus *action)
 
int spr_iir_filter_setup (SprSspInfo *Info, const char **descript, void *aux_info)
 
int spr_iir_filter_process (SprSspInfo *Info, const void *frame_in, void *frame_out)
 

Detailed Description

IIR filtering.

These signal processing routines perform an IIR filtering of the parameters in the input file. As IIR filter, the default rasta filter can be used. The pole of the rasta filter can be changed. The output buffer is initialised with zeroes to calculate the first filter output frame. The first and/or last frame(s) are copied as many times as needed to the output to compensate for the frames lost by filtering.


[irr_filter]
numerator <coeff> ...
Filter numerator, starting with the coeff. for input(t), then for input(t-1) ...
denominator <coeff> ...
Filter denominator, starting with the coeff. for output(t) (normally 1.0), then for output(t-1) ...
rasta [pole](0.94)
Rasta filtering with given pole.
timeshift <nr>(0)
Timeshift w.r.t. the causal filter, used to implement non_causality. May not be larger than the order of the numerator. Append zeros to the numerator to avoid this restriction.
se_cond <feed_fl/feed_0/cp_real>(cp_real)
Start/end conditions:
cp_real only filter when <numord> 'real' input frames are available, duplicate the first and last frame to fill the gaps
feed_0 feed a zero input to the filter at the begin and end; filter this data
feed_fl feed first frame at the begin and last frame at the end; filter this input

Author
Tom Claes (algorithm)
Jacques Duchateau (convertion to routines, extention from rasta filter to all IRR filters)
Date
5 November 1993, Okt/Nov 1994
Revision History:
15/01/2004 - KD
added options for the begin and end conditions of the filter