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

xtos_notch_init

初始化二阶 IIR 陷波器系数和历史状态。

本页目录

声明

c
#include <xtos/signal.h>

int xtos_notch_init(struct xtos_notch_filter *filter,
                    double sample_rate_hz,
                    double notch_frequency_hz,
                    double quality_factor);

参数

参数类型说明
filterstruct xtos_notch_filter *非 NULL 输出状态,由调用方拥有。
sample_rate_hzdouble采样率,单位 Hz;实现要求大于 0,但不显式检查 finite。
notch_frequency_hzdouble陷波中心频率,单位 Hz,须满足 0 < f0 < fs/2;不显式检查 finite。
quality_factordoubleQ 值,须大于 0;不显式检查 finite。

返回值

成功返回 0;失败返回 -1。成功时清零历史状态。

错误

errno条件
EINVALfilter 为 NULL,或参数比较不满足 fs>0、0<f0<fs/2、Q>0。

注意事项

  • 公开实现没有 isfinite 检查;调用方必须先拒绝 NaN/Inf,不能把未失败当成输入有效。
  • 重新 init 会丢弃历史并产生瞬态;连续信号应每通道保留一个独立状态。

示例

源码

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