|
Sound Open Firmware
|
Infinite Impulse Response Direct Form I (DF1) filter definitions. More...


Go to the source code of this file.
Data Structures | |
| struct | iir_state_df1 |
Macros | |
| #define | IIR_DF1_NUM_STATE 4 |
| #define | SOF_IIR_DF1_4TH_NUM_BIQUADS 2 |
Functions | |
| int | iir_init_coef_df1 (struct iir_state_df1 *iir, struct sof_eq_iir_header *config) |
| Initialize IIR Direct Form 1 coefficients from configuration header. | |
| int | iir_delay_size_df1 (struct sof_eq_iir_header *config) |
| Calculate required delay line buffer size in bytes for a DF1 configuration. | |
| void | iir_init_delay_df1 (struct iir_state_df1 *iir, int32_t **state) |
| Assign and initialize delay line state memory for DF1 filter. | |
| void | iir_reset_df1 (struct iir_state_df1 *iir) |
| Clear delay history of a Direct Form 1 IIR filter. | |
| int32_t | iir_df1 (struct iir_state_df1 *iir, int32_t x) |
| Calculate IIR filter consisting of biquads. | |
| int32_t | iir_df1_4th (struct iir_state_df1 *iir, int32_t x) |
| Calculate IIR filter consisting of biquads, special simplified version for 4th order filter with two biquads in series. | |
Infinite Impulse Response Direct Form I (DF1) filter definitions.
| #define IIR_DF1_NUM_STATE 4 |
| #define SOF_IIR_DF1_4TH_NUM_BIQUADS 2 |
| int iir_delay_size_df1 | ( | struct sof_eq_iir_header * | config | ) |
Calculate required delay line buffer size in bytes for a DF1 configuration.
| config | Pointer to IIR equalizer configuration header. |
| int32_t iir_df1 | ( | struct iir_state_df1 * | iir, |
| int32_t | x | ||
| ) |
Calculate IIR filter consisting of biquads.
| iir | IIR state with configured biquad coefficients and delay lines data |
| x | Single s32 Q1.31 format input sample |
| int32_t iir_df1_4th | ( | struct iir_state_df1 * | iir, |
| int32_t | x | ||
| ) |
Calculate IIR filter consisting of biquads, special simplified version for 4th order filter with two biquads in series.
Note: There are no checks for iir struct members.
| iir | IIR state with configured biquad coefficients and delay lines data |
| x | Single s32 Q1.31 format input sample |
| int iir_init_coef_df1 | ( | struct iir_state_df1 * | iir, |
| struct sof_eq_iir_header * | config | ||
| ) |
Initialize IIR Direct Form 1 coefficients from configuration header.
| iir | Pointer to DF1 filter state structure. |
| config | Pointer to IIR equalizer configuration header. |
| void iir_init_delay_df1 | ( | struct iir_state_df1 * | iir, |
| int32_t ** | state | ||
| ) |
Assign and initialize delay line state memory for DF1 filter.
| iir | Pointer to DF1 filter state structure. |
| state | Double pointer to delay state buffer (updated with new buffer offset). |
| void iir_reset_df1 | ( | struct iir_state_df1 * | iir | ) |
Clear delay history of a Direct Form 1 IIR filter.
| iir | Pointer to DF1 filter state structure. |