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