Stimulate/signal_generators/README.md

1.4 KiB
Raw Blame History

Signal Generators Library

这是一个ESP32信号生成器库包含ECG心电图生成器和正弦波生成器。

功能特性

ECG生成器 (ecg_generator)

  • 生成逼真的心电图信号
  • 可调节心率和幅度
  • 包含P波、QRS波群、T波
  • 支持实时参数调整

正弦波生成器 (sine_generator)

  • 高频正弦波生成
  • 预计算查找表优化
  • 支持50kHz采样率
  • 内存高效设计

使用方法

ECG生成器

#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);

正弦波生成器

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