Stimulate/signal_generators/README.md

61 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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库