这是一个用于处理压力数据过滤的C语言项目,包含多种滤波算法实现。项目包含生成压力数据、过滤处理和数据可视化的完整流程。
- 实现了三种滤波算法:
- 巴特沃斯滤波器 (Butterworth Filter)
- 移动平均滤波器 (Moving Average Filter)
- 指数滤波器 (Exponential Filter)
- 提供压力数据生成工具
- 包含Python数据可视化脚本
main.c- 主程序入口pressure_filter/- 滤波器实现核心代码pressure_generator/- 压力数据生成模块scripts/plot_pressure_data/- 数据可视化脚本
-
编译项目
mkdir build && cd build cmake .. make
-
生成压力数据
./pressure_generator
-
运行滤波程序
./pressure_filter_main
-
使用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 许可证,请查看具体文件中的许可声明。