你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3 评测】HSP 加速 FFT 与计量滤波算法测试

[复制链接]
短笛君 发布时间:2026-6-9 23:36

项目概述

这个项目是使用fir_rfft_seq修改而来 主要是基于STM32C5Z平台使用HSP加速器以以 Sequencer 模式 + Ping/Pong 双缓冲实现 FIR 低通滤波 + RFFT 频谱分析,并与纯 CPU 软件实现进行性能对比。

测试条件

32阶FIR+256点RFFT+模值计算

测试对比

STM32端是HSP硬件加速 使用DMA时间触发pipeline,整个过程无需CPU干预。pingpong双缓冲输入HSP实现输入结果与输出结果并行,

对比点使用纯C语言实现相同的32阶FIR+256点RFFT计算用于对比HSP和CPU性能差别

为了保证计时精确 这里使用DWT寄存器保证周期的精确测量

测试部分实现

通过查看ST给出的Demo,HSP拥有一块独立的BRAM内存区域 这块区域和系统的SRAM分离 我们使用DMA和HSP均可访问 这块RAM大大提高了HSP的计算效率

我们定义一个结构体 用于双缓冲数据的实现

typedef struct {
  float32_t *fir_coefs;                     // FIR 系数指针
  uint32_t  *pl_call;                       // 处理链调用计数器
  hsp_filter_state_identifier_t fir_state_id; // FIR 状态缓冲区句柄
  float32_t *p_buff_in;                     // 输入缓冲区
  float32_t *p_results;                     // 结果缓冲区
} hsp_bram_resources_t;

数据录制与BRAM填充部分实现如下

// app_hsp_engine_seq.c — MX_HSP_SEQ_Record_PL_FIR_FFT()

//开始录制:绑定到 HSP_SEQ_EVENT_2
HSP_SEQ_StartRecordPL(hmw, HSP_SEQ_PL_ID_FIR_FFT);

//标量自增:pl_call++ (追踪处理次数)
HSP_SEQ_ScaInc_u32(hmw, pl_call, pl_call, HSP_SEQ_IOTYPE_DEFAULT);

//FIR 低通滤波
HSP_SEQ_Fir_f32(hmw, p_buff_in, fir_coefs, fir_state_id,
                p_results, 256, HSP_SEQ_IOTYPE_DEFAULT);

// RFFT 实序列 FFT:256 点,原地运算

HSP_SEQ_Rfft_f32(hmw, p_results, HSP_LOG2NBP_256,
                 0U, 1U, HSP_RFFT_TYPE_1, HSP_SEQ_IOTYPE_DEFAULT);

HSP_SEQ_CmplxMag_f32(hmw, p_results, p_results,
                     256, HSP_SEQ_IOTYPE_DEFAULT);
HSP_SEQ_SetTrgo(hmw, HSP_TRGO_0);

HSP_SEQ_StopRecordPL(hmw);

整个部分由事件驱动DMA搬运数据,双缓冲的存在可以让数据无缝衔接

CPU实现软件算法如下

image.png

FFT和FIR算法均使用纯C实现,在计时部分仅计算数据输入到给出结果的CPU周期 不包含校验过程

硬件HSP运行结果

image.png

软件运行结果

image.png

HSP与CPU对比

处理阶段 HSP CPU (纯C) 加速来源
FIR (32抽头×256点) 硬件并行乘累加 8192次逐条乘加 硬件流水线
RFFT (256点) 硬件FFT引擎 8级×128蝶形 专用FFT单元
Magnitude (129 bin) 硬件 sqrt 129次sqrtf() DSP指令
总计 ~96 µs ~2573 µs 26.8×

从表格不难发现 对于特定的繁重任务 HSP可以十分有效的提升计算速度 ,尤其是像FFT(快速傅里叶变换)/IFFT(逆变换)、FIR/IIR滤波、矩阵运算等这种需要运行在边缘mcu中的算法,加速效果尤为明显

后续会研究下HSP对卷积 池化 全连接等核心算子的优化,希望可以将TinyMaxi这个超轻量的推理框架移植到HSP中运行

收藏 评论0 发布时间:2026-6-9 23:36

举报

0个回答

所属标签

相似分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版