基于STM32Cube的声音等级测量软件扩展库7 e7 k/ M/ d# ^/ }9 ~ 引言 * d2 F7 V1 G2 u8 S! D% p* }9 { 声级计库软件用户手册描述了SoundMeterR(SMR)模块配置及其接口。该用户手册描述了如何将模块集成到主程序,例如X-CUBE-AUDIO扩展软件中。它还提供了对基础算法的基本理解。声级计库软件扩展适用于16或32位输入/输出格式。它是X-CUBE-AUDIO固件包的一部分。1 x \. B0 c* b ) {! F3 u+ r5 h6 h- m T$ l 1 模块概述 ( b: w9 L+ `) G) X( x 1 B M/ A1 {: Y( V! ?" N) G% g 1.1 算法功能SoundMeteR(SMR)模块负责在对数尺度上测量传入信号的电平。它以尺度转换、平滑滤波和加权滤波为基础。 $ A3 R0 f$ j" j$ e& ?! H 当前实现对所有计算使用32位分辨率,可与16或32位输入/输出格式一起使用。支持的采样率为8 kHz、16 kHz和48 kHz。 ]. l7 R& u& P& L) A9 M 1.2 模块配置 # `0 L2 n( F S* l. O. ]* G8 S. B SMR模块支持单声道和立体声16位或32位I/O数据。其存储器受限于960个采样的最大输入帧大小,相当于10 ms的48 kHz立体声信号。 根据I/O格式、Cortex®内核和使用的工具链,有多个模块版本可供使用: 0 u1 R4 P8 Y8 j • 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微控制器上运行。 - |. P$ C* S" E • SMR_CM7_IAR.a / SMR_CM7_GCC.a / SMR_CM7_Keil.lib:适用于16位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。 6 D! k6 N7 R% c0 H& ~5 R • SMR_32b_CM7_IAR.a / SMR_32b_CM7_GCC.a / SMR_32b _CM7_Keil.lib:适用于32位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。 / n" X a W6 a4 d0 l' E) |% R 1.3 资源总结 * `7 V0 E1 c+ o2 b& B) j$ Z; ? 表 1包含模块对存储器和频率(MHz)的要求。 ( h, Q) S; _2 b: [+ m$ f8 \ 使用:IAR Embedded Workbench for ARM V7.40(IAR Embedded Workbench common componentsv7.2)测量板上的内存占用量。4 {6 ]7 c' d& l, f* t g ) _' g) I L1 I7 [& ` |