算法库

概述

EmeyeStudio 提供了丰富的信号处理和数据分析算法库,支持滤波、统计分析、FFT 频谱分析、数值变换、数学运算等功能。

电机控制专用算法已拆分为独立文档,便于针对性查阅:

功能列表

1. 滤波器

1.1 滑动平均滤波

  • 用途:平滑信号,去除高频噪声
  • 参数:窗口大小(建议 3-21)
  • 特点:简单高效,适合实时处理

1.2 指数平滑滤波

  • 用途:平滑信号,计算效率高
  • 参数:平滑系数 α(0-1,值越大响应越快)
  • 特点:一阶 IIR 滤波,仅需存储上一状态

1.3 中值滤波

  • 用途:去除脉冲噪声和异常值
  • 参数:窗口大小(建议 3-11)
  • 特点:非线性滤波,保留边缘

1.4 低通滤波

  • 用途:衰减高频信号,保留低频信号
  • 参数:截止频率、采样率
  • 特点:二阶 IIR 滤波器

1.5 高通滤波

  • 用途:衰减低频信号,保留高频信号
  • 参数:截止频率、采样率
  • 特点:二阶 IIR 滤波器

1.6 带通滤波

  • 用途:保留特定频率范围的信号
  • 参数:低截止频率、高截止频率、采样率
  • 特点:组合低通和高通滤波

2. 统计分析

2.1 基本统计量

统计量 说明
均值 数据的平均值
方差 数据的离散程度
标准差 方差的平方根
最小值 数据中的最小值
最大值 数据中的最大值
RMS 均方根值
峰峰值 最大值与最小值之差

2.2 滑动窗口统计

在滑动窗口内计算统计量,用于实时数据分析。

3. FFT 频谱分析

3.1 功能说明

  • 基 2-FFT 算法
  • 支持多种窗函数
  • 输出幅度谱、相位谱、频率轴

3.2 窗函数

窗函数 适用场景
矩形窗 瞬态信号
汉宁窗 一般用途
汉明窗 语音处理
布莱克曼窗 高动态范围
平顶窗 精确幅度测量

4. 数值变换

4.1 积分运算

方法 说明
梯形法 线性插值积分
辛普森法 二次插值积分,精度更高

4.2 微分运算

方法 说明
前向差分 使用前向点计算
后向差分 使用后向点计算
中心差分 使用前后两点计算,精度较高

5. 数学运算

支持的数学函数:

  • 三角函数:sin, cos, tan, asin, acos, atan
  • 双曲函数:sinh, cosh, tanh
  • 指数/对数:exp, log, log10
  • 其他:sqrt, abs, ceil, floor, pow

使用注意事项

  1. FFT 点数:必须是 2 的幂(如 256, 512, 1024, 2048 等)
  2. 滤波器截止频率:必须小于采样率的一半(奈奎斯特频率)
  3. 数据长度:所有算法要求输入数据长度大于 0

相关文档