跳转至

说明

Support — 无显示器的信号调试工具

ASCII 波形/频谱可视化 + 统计信息。适合嵌入式开发中快速验证 DSP 算法输出。


算法原理

ASCII 示波器

  1. 找出信号 \(x[n]\) 的 min/max
  2. 将幅度映射到 ASCII 画布的垂直范围
  3. 每个样本映射到一列,幅度落在的区域显示 *
  4. 零线用 + 标记

信号长于画布宽度时自动等间隔抽取。

统计信息(Welford 单遍算法)

单遍扫描,同时维护均值、方差、最大值/最小值及其位置,数值稳定。


API 参考

// 信号波形可视化(类似示波器)
void tiny_view_signal_f32(const float *signal, int len,
                          int width, int height);

// 频谱可视化(纵轴 dB 刻度,自动标注峰值)
void tiny_view_spectrum_f32(const float *spectrum, int len,
                            float sample_rate, int width, int height);

// 数组格式化打印
void tiny_view_array_f32(const float *data, int len);

// 统计信息(均值、方差、min/max 位置)
void tiny_view_statistics_f32(const float *data, int len);

注意事项

调试利器

无显示器场景下,ASCII 波形 + 统计信息可替代示波器做快速验证。

高度/宽度不要太大

ANSI 终端通常 80×24,画布太大反而看不清。

先调参数再上线

在 PC 上用 tiny_view_signal_f32 确认滤波器输出形状,确认无误后再部署到嵌入式设备。