61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
|
|
# 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库
|