Skip to content

jiaoxy0/filter

Repository files navigation

压力过滤器项目

项目简介

这是一个用于处理压力数据过滤的C语言项目,包含多种滤波算法实现。项目包含生成压力数据、过滤处理和数据可视化的完整流程。

主要功能

  • 实现了三种滤波算法:
    • 巴特沃斯滤波器 (Butterworth Filter)
    • 移动平均滤波器 (Moving Average Filter)
    • 指数滤波器 (Exponential Filter)
  • 提供压力数据生成工具
  • 包含Python数据可视化脚本

项目结构

  • main.c - 主程序入口
  • pressure_filter/ - 滤波器实现核心代码
  • pressure_generator/ - 压力数据生成模块
  • scripts/plot_pressure_data/ - 数据可视化脚本

使用方法

  1. 编译项目

    mkdir build && cd build
    cmake ..
    make
  2. 生成压力数据

    ./pressure_generator
  3. 运行滤波程序

    ./pressure_filter_main
  4. 使用Python脚本可视化数据

    python3 scripts/plot_pressure_data/plot_pressure_data.py

代码示例

// 创建滤波器实例
FilterConfig config = {
    .type = BUTTERWORTH,
    .cutoff_freq = 10.0f,
    .sampling_freq = 100.0f,
    .order = 2
};
PressureFilter *filter = pressure_filter_create(config);

// 处理数据
float filtered_value = pressure_filter_process(filter, raw_value);

// 释放资源
pressure_filter_destroy(filter);

注意事项

  • 数据文件默认保存在 scripts/plot_pressure_data/pressure_data.txt
  • 可通过修改 main.c 中的宏定义调整数据生成方式
  • 滤波器参数可在运行时动态更新

许可证

本项目采用 MIT 许可证,请查看具体文件中的许可声明。

About

An pressure filter, which contains 3 different filters.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors