xtos_ notch_ process
用已有陷波器状态处理一段 double 样本。
本页目录
声明
#include <xtos/signal.h>
int xtos_notch_process(struct xtos_notch_filter *filter,
const double *input,
double *output,
size_t count);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| filter | struct xtos_notch_filter * | 非 NULL 状态;调用期间不可与其他线程共享写入。 |
| input | const double * | 非 NULL 输入数组,至少 count 项;可与 output 完全相同。 |
| output | double * | 非 NULL 输出数组,至少 count 项;不要使用部分重叠数组。 |
| count | size_t | 要处理的元素数;0 允许且不执行循环。 |
返回值
成功返回 0;失败返回 -1。函数更新 filter 的历史状态。
错误
| errno | 条件 |
|---|---|
| EINVAL | filter、input 或 output 为 NULL。 |
注意事项
- 不分配内存;支持精确原地处理,但实现不检查输入 NaN/Inf。
- 这是带状态的因果 IIR,不是零相位滤波;状态不能在连续窗口间重置。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。