XTOS / OPEN SOURCE REAL-TIME SYSTEMOPEN SOURCE · VERSION 0.9.0 · BUILD FROM SOURCE
libxtos-signalxtos_notch_process

xtos_notch_process

用已有陷波器状态处理一段 double 样本。

本页目录

声明

c
#include <xtos/signal.h>

int xtos_notch_process(struct xtos_notch_filter *filter,
                       const double *input,
                       double *output,
                       size_t count);

参数

参数类型说明
filterstruct xtos_notch_filter *非 NULL 状态;调用期间不可与其他线程共享写入。
inputconst double *非 NULL 输入数组,至少 count 项;可与 output 完全相同。
outputdouble *非 NULL 输出数组,至少 count 项;不要使用部分重叠数组。
countsize_t要处理的元素数;0 允许且不执行循环。

返回值

成功返回 0;失败返回 -1。函数更新 filter 的历史状态。

错误

errno条件
EINVALfilter、input 或 output 为 NULL。

注意事项

  • 不分配内存;支持精确原地处理,但实现不检查输入 NaN/Inf。
  • 这是带状态的因果 IIR,不是零相位滤波;状态不能在连续窗口间重置。

示例

源码

本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。