## 功能模块介绍 1、main.lua:主程序入口; 2、test_fft.lua:FFT测试模块,包含Q15定点和F32浮点两种实现方式的FFT计算和频谱分析; ## 演示功能概述 本demo是FFT(快速傅里叶变换)测试,支持Q15定点和F32浮点两种实现方式。 主要功能: - 生成200Hz正弦波测试信号 - 使用Q15定点FFT算法处理数据 - 使用F32浮点FFT算法处理相同数据 - 计算并输出两种实现方式的性能对比(执行时间) - 分析频谱结果,定位并显示主峰频率 ## 演示硬件环境 ![](https://docs.openluat.com/air780epm/luatos/app/driver/eth/image/RFSvb75NRoEWqYxfCRVcVrOKnsf.jpg) 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下载调试工具 2、[Air780EPM V2016版本固件](https://docs.openluat.com/air780epm/luatos/firmware/version/) ## 演示操作步骤 1、搭建好演示硬件环境 2、Luatools烧录内核固件和demo脚本代码 3、烧录成功后,自动开机运行 4、luatools可以看到如下日志: ```lua [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 ```