- 来源: 合宙 LuatOS 官方仓库 air780epm 模块完整代码 - 路径: luatos/air780epm/module/Air780EPM/demo 含官方 demo(含 mqtt/mqtts/socket/uart 等) - 后续: 基于 demo 开发 UART<->MQTT 数据上报功能
2.6 KiB
2.6 KiB
功能模块介绍
1、main.lua:主程序入口;
2、test_fft.lua:FFT测试模块,包含Q15定点和F32浮点两种实现方式的FFT计算和频谱分析;
演示功能概述
本demo是FFT(快速傅里叶变换)测试,支持Q15定点和F32浮点两种实现方式。
主要功能:
- 生成200Hz正弦波测试信号
- 使用Q15定点FFT算法处理数据
- 使用F32浮点FFT算法处理相同数据
- 计算并输出两种实现方式的性能对比(执行时间)
- 分析频谱结果,定位并显示主峰频率
演示硬件环境
1、Air780EPM V1.3版本开发板一块
2、TYPE-C USB数据线一根 + USB转串口数据线一根,Air780EPM V1.3版本开发板和数据线的硬件接线方式为:
-
Air780EPM V1.3版本开发板通过TYPE-C USB口供电;(外部供电/USB供电 拨动开关 拨到 USB供电一端)
-
TYPE-C USB数据线直接插到核心板的TYPE-C USB座子,另外一端连接电脑USB口;
演示软件环境
1、Luatools下载调试工具
演示操作步骤
1、搭建好演示硬件环境
2、Luatools烧录内核固件和demo脚本代码
3、烧录成功后,自动开机运行
4、luatools可以看到如下日志:
[2025-10-31 13:21:49.565][000000000.075] I/pm poweron: Power/Reset
[2025-10-31 13:21:49.568][000000000.195] self_info 127:model Air780EPM_A11 imei 862419074066563
[2025-10-31 13:21:49.571][000000000.195] self_info 129:firmware[104] DATA2
[2025-10-31 13:21:49.575][000000000.195] self_info 131:zone(kbytes) fs 168 script 368
[2025-10-31 13:21:49.578][000000000.195] I/main LuatOS@Air780EPM base 25.03 bsp V2016 64bit
[2025-10-31 13:21:49.581][000000000.196] I/main ROM Build: Oct 9 2025 21:38:13
[2025-10-31 13:21:49.588][000000000.198] W/pins /luadb/pins_AIR780EPM.json not exist!!
[2025-10-31 13:21:49.590][000000000.200] D/main loadlibs luavm 1048568 17352 17352
[2025-10-31 13:21:49.592][000000000.200] D/main loadlibs sys 2393280 52996 58740
[2025-10-31 13:21:49.595][000000000.200] D/main loadlibs psram 2393280 53080 58740
[2025-10-31 13:21:49.597][000000000.227] I/user.fft q15 测试开始 N=2048 fs=2000 freq=200
[2025-10-31 13:21:49.599][000000000.848] I/user.fft q15 FFT 完成 耗时:10ms
[2025-10-31 13:21:49.658][000000001.039] I/user.fft 主峰(Hz/bin) 200.20 205
[2025-10-31 13:21:49.691][000000001.580] I/user.fft f32 FFT 完成 耗时:24ms
[2025-10-31 13:21:49.692][000000001.580] I/user.fft 对比(q15 vs f32, ms) 10 / 24
