xtos_ notch_ init
初始化二阶 IIR 陷波器系数和历史状态。
本页目录
声明
#include <xtos/signal.h>
int xtos_notch_init(struct xtos_notch_filter *filter,
double sample_rate_hz,
double notch_frequency_hz,
double quality_factor);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| filter | struct xtos_notch_filter * | 非 NULL 输出状态,由调用方拥有。 |
| sample_rate_hz | double | 采样率,单位 Hz;实现要求大于 0,但不显式检查 finite。 |
| notch_frequency_hz | double | 陷波中心频率,单位 Hz,须满足 0 < f0 < fs/2;不显式检查 finite。 |
| quality_factor | double | Q 值,须大于 0;不显式检查 finite。 |
返回值
成功返回 0;失败返回 -1。成功时清零历史状态。
错误
| errno | 条件 |
|---|---|
| EINVAL | filter 为 NULL,或参数比较不满足 fs>0、0<f0<fs/2、Q>0。 |
注意事项
- 公开实现没有 isfinite 检查;调用方必须先拒绝 NaN/Inf,不能把未失败当成输入有效。
- 重新 init 会丢弃历史并产生瞬态;连续信号应每通道保留一个独立状态。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。