Functions |
struct iir_coeff_t * | iir_coeff_new (int nc, const double *c, int nd, const double *d) |
| Create IIR coefficient set.
|
struct iir_coeff_t * | iir_coeff_copy (const struct iir_coeff_t *other) |
| Create copy of a set of IIR coefficients.
|
void | iir_coeff_free (struct iir_coeff_t *coeff) |
| Free IIR coefficient set.
|
int | iir_coeff_get_nc (const struct iir_coeff_t *coeff) |
| Query number of C coefficients.
|
int | iir_coeff_get_nd (const struct iir_coeff_t *coeff) |
| Query number of D coefficients.
|
double | iir_coeff_get_c (const struct iir_coeff_t *coeff, int idx) |
| Get value of C coefficient.
|
double | iir_coeff_get_d (const struct iir_coeff_t *coeff, int idx) |
| Get value of D coefficient.
|
Detailed Description
The functions in this module present an interface for managing the set of coefficients of a single IIR filter instance. See Structure of IIR filter for the definition of a coefficient set. The coefficient sets form the basic building block of an IIR filter instance (see Basic IIR filtering), which may chain several IIR filters in sequence.
Function Documentation
struct iir_coeff_t* iir_coeff_new |
( |
int |
nc, |
|
|
const double * |
c, |
|
|
int |
nd, |
|
|
const double * |
d |
|
) |
| |
|
read |
Create IIR coefficient set.
- Parameters
-
nc | Number of c coefficients. |
c | Array of c coefficients. |
nd | Number of d coefficients. |
d | Array of d coefficients. |
- Returns
- Pointer to new general IIR filter object.
This function creates a new set of IIR filter coefficients which may be used to create filter instances through iir_filter_new() or chained on to existing instances through iir_filter().
See Structure of IIR filter for a full explanation of the parameters.
struct iir_coeff_t* iir_coeff_copy |
( |
const struct iir_coeff_t * |
other | ) |
|
|
read |
Create copy of a set of IIR coefficients.
- Parameters
-
other | Set of IIR filter coefficients to copy. |
- Returns
- Pointer to new general IIR filter object.
Performs a deep copy of the set of IIR coefficients contained within other.
void iir_coeff_free |
( |
struct iir_coeff_t * |
coeff | ) |
|
Free IIR coefficient set.
- Parameters
-
coeff | Pointer to IIR coefficient object. May be 0. |
Frees a set of IIR filter coefficients previously allocated through iir_coeff_new(). Can be called on a null pointer without consequences. Note that iir_filter_new() and iir_filter_chain() actually store a copy of the coefficients, so it is possible to free coeff even if existing filters are still using its coefficient values.
int iir_coeff_get_nc |
( |
const struct iir_coeff_t * |
coeff | ) |
|
Query number of C coefficients.
- Parameters
-
coeff | Pointer to IIR coefficient object. |
- Returns
- Number of C coefficients (≥1).
int iir_coeff_get_nd |
( |
const struct iir_coeff_t * |
coeff | ) |
|
Query number of D coefficients.
- Parameters
-
coeff | Pointer to IIR coefficient object. |
- Returns
- Number of D coefficients (≥1).
double iir_coeff_get_c |
( |
const struct iir_coeff_t * |
coeff, |
|
|
int |
idx |
|
) |
| |
Get value of C coefficient.
- Parameters
-
coeff | Pointer to IIR coefficient object. |
idx | Index of coefficient (≥0, < iir_coeff_get_nc()). |
- Returns
- C coefficient value.
double iir_coeff_get_d |
( |
const struct iir_coeff_t * |
coeff, |
|
|
int |
idx |
|
) |
| |
Get value of D coefficient.
- Parameters
-
coeff | Pointer to IIR coefficient object. |
idx | Index of coefficient (≥0, < iir_coeff_get_nd()). |
- Returns
- D coefficient value.