基于STM32Cube的声音等级测量软件扩展库' C, I5 U' p; L% ]. d 引言 / Z; F' K% `7 J2 ]1 A2 ?/ | o! r/ J 声级计库软件用户手册描述了SoundMeterR(SMR)模块配置及其接口。该用户手册描述了如何将模块集成到主程序,例如X-CUBE-AUDIO扩展软件中。它还提供了对基础算法的基本理解。声级计库软件扩展适用于16或32位输入/输出格式。它是X-CUBE-AUDIO固件包的一部分。# K$ W) e, G5 I# |- F" ] 1 模块概述 ( ?) @6 Z$ _5 @ 1.1 算法功能SoundMeteR(SMR)模块负责在对数尺度上测量传入信号的电平。它以尺度转换、平滑滤波和加权滤波为基础。 $ w3 z( T. Z9 |+ _1 K& h 当前实现对所有计算使用32位分辨率,可与16或32位输入/输出格式一起使用。支持的采样率为8 kHz、16 kHz和48 kHz。 8 Z; ]+ A7 P" {7 X# E& `+ q 1.2 模块配置 SMR模块支持单声道和立体声16位或32位I/O数据。其存储器受限于960个采样的最大输入帧大小,相当于10 ms的48 kHz立体声信号。 6 q+ ?1 s3 L' h7 N& r) p& D 根据I/O格式、Cortex®内核和使用的工具链,有多个模块版本可供使用: ; i4 V& ]) H0 x' ~ 2 f- Q9 y. M0 ]" j4 G3 M • SMR_CM4_IAR.a / SMR_CM4_GCC.a / SMR_CM4_Keil.lib:适用于16位输入/输出缓冲区,在任何使用包含Cortex®-M4指令集的内核的STM32微控制器上运行。 • SMR_32b_CM4_IAR.a / SMR_32b_CM4_GCC.a / SMR_32b _CM4_Keil.lib:适用于32位输入/输出缓冲区,在任何使用包含Cortex®-M4指令集的内核的STM32微控制器上运行。 ; T" E0 I3 }6 m$ B* A2 b • SMR_CM7_IAR.a / SMR_CM7_GCC.a / SMR_CM7_Keil.lib:适用于16位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。 3 H! X) l" }1 P; G" e5 Q • SMR_32b_CM7_IAR.a / SMR_32b_CM7_GCC.a / SMR_32b _CM7_Keil.lib:适用于32位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。 1.3 资源总结 表 1包含模块对存储器和频率(MHz)的要求。 5 v4 k5 k: D* q1 V- X$ H9 p 使用:IAR Embedded Workbench for ARM V7.40(IAR Embedded Workbench common componentsv7.2)测量板上的内存占用量。0 A9 z b( \! p5 F' r6 p; M |