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

xtos_bandpass_process

依次运行带通基线的高通和低通阶段。

本页目录

声明

c
#include <xtos/signal.h>

int xtos_bandpass_process(struct xtos_bandpass_filter *filter,
                          const double *input,
                          double *output,
                          size_t count);

参数

参数类型说明
filterstruct xtos_bandpass_filter *非 NULL 状态;同一状态不能并发共享。
inputconst double *非 NULL 输入数组,至少 count 项;可与 output 完全相同。
outputdouble *非 NULL 输出数组,至少 count 项;不要使用部分重叠数组。
countsize_t要处理的元素数;0 允许。

返回值

成功返回 0;参数错误返回 -1;成功时更新两个阶段的状态。

错误

errno条件
EINVALfilter、input 或 output 为 NULL。

注意事项

  • 实现调用两个不分配内存的 process;公开实现未检查 input 的 NaN/Inf。
  • 输入和输出完全相同时可原地处理;不能把每个分析窗口重新 init 后视为连续滤波。

示例

源码

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