xtos_ bandpass_ process
依次运行带通基线的高通和低通阶段。
本页目录
声明
#include <xtos/signal.h>
int xtos_bandpass_process(struct xtos_bandpass_filter *filter,
const double *input,
double *output,
size_t count);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| filter | struct xtos_bandpass_filter * | 非 NULL 状态;同一状态不能并发共享。 |
| input | const double * | 非 NULL 输入数组,至少 count 项;可与 output 完全相同。 |
| output | double * | 非 NULL 输出数组,至少 count 项;不要使用部分重叠数组。 |
| count | size_t | 要处理的元素数;0 允许。 |
返回值
成功返回 0;参数错误返回 -1;成功时更新两个阶段的状态。
错误
| errno | 条件 |
|---|---|
| EINVAL | filter、input 或 output 为 NULL。 |
注意事项
- 实现调用两个不分配内存的 process;公开实现未检查 input 的 NaN/Inf。
- 输入和输出完全相同时可原地处理;不能把每个分析窗口重新 init 后视为连续滤波。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。