rtf_create_filter3
Creates a custom filter
Usage
#include <rtfilter.h>
hfilter rtf_create_filter(unsigned int nchann, int proctype,
unsigned int num_len, const void *num,
unsigned int denum_len, const void *denum,
int type);
Overview
This function creates and initializes a digital linear filter whose the Z-transform is rational and processing nchann channels of a data type specified by proctype.
The numerator and denominator of the rational expression are specified by respectively two arrays num and denum containing the coefficients in the ascending order of the 2 polynoms. The number of elements in each arrays is controlled by num_len and enum_len. denum_len is allowed to be equal to zero as well as denum is allowed to be NULL. In such case, the denominator will be set to 1. The data type of the values in num and denum are specified by type.
The proctype and type must be one the following constants:
|
|
|
|
|
|
|
|
|
|
|
The expected data type of the output of the filter has the same precision as the one specified by proctype and is complex proctype or type specifies a complex type. Said otherwise:
- *
-
If proctype is
RTF_FLOATorRTF_CFLOATthen the output data type will have single precision. Otherwise it will have double precision.
- *
-
If proctype or type specifies a complex type, then the output will be complex as well. Otherwise, it will be real.
rtf_create_filter() can be used to use a filter that has been designed somewhere else. In particular, this function can be used directly with the output of filter design function of MATLAB. In such case, the usual B and A arrays returned by the filter design functions corresponds exactly to respectively num and denum.
Return value
Returns the handle to the created filter in case of success, NULL otherwise.
Performance consideration
See note of rtf_filter(3)
Releases
Unchanged in 7 releases since Debian 7 (Wheezy).