Stimulate/components/signal_generators/README.md

61 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2025-09-26 14:16:44 +08:00
# Signal Generators Library
这是一个ESP32信号生成器库包含ECG心电图生成器和正弦波生成器。
## 功能特性
### ECG生成器 (ecg_generator)
- 生成逼真的心电图信号
- 可调节心率和幅度
- 包含P波、QRS波群、T波
- 支持实时参数调整
### 正弦波生成器 (sine_generator)
- 高频正弦波生成
- 预计算查找表优化
- 支持50kHz采样率
- 内存高效设计
## 使用方法
### ECG生成器
```c
#include "ecg_generator.h"
ecg_generator_t ecg_gen;
ecg_generator_init(&ecg_gen, 250.0f); // 250Hz采样率
ecg_generator_set_heart_rate(&ecg_gen, 75.0f); // 75 BPM
ecg_generator_set_amplitude(&ecg_gen, 5.0f); // 5mV
ecg_generator_start(&ecg_gen);
// 在定时器回调中
float sample = ecg_generator_get_next_sample(&ecg_gen);
```
### 正弦波生成器
```c
#include "sine_generator.h"
sine_generator_t sine_gen;
sine_generator_init(&sine_gen, 50000.0f); // 50kHz采样率
sine_generator_set_frequency(&sine_gen, 200.0f); // 200Hz
sine_generator_set_amplitude(&sine_gen, 5.0f); // 5mV
sine_generator_start(&sine_gen);
// 在定时器回调中
float sample = sine_generator_get_next_sample(&sine_gen);
```
## 性能优化
- ECG生成器实时计算适合低频应用
- 正弦波生成器:预计算查找表,适合高频应用
- 内存管理:自动分配和释放查找表
- 中断友好:最小化中断执行时间
## 依赖项
- ESP-IDF
- math库
- esp_log库