|
基于STM32Cube的声音等级测量软件扩展库3 S6 _+ C3 G4 O: b3 H m * V& L( b H- T5 G# j8 o4 s0 z1 U- d 引言 6 s; x" w8 _5 Y- R5 p# O 7 Q8 g; @5 h# o ?) t 声级计库软件用户手册描述了SoundMeterR(SMR)模块配置及其接口。该用户手册描述了如何将模块集成到主程序,例如X-CUBE-AUDIO扩展软件中。它还提供了对基础算法的基本理解。声级计库软件扩展适用于16或32位输入/输出格式。它是X-CUBE-AUDIO固件包的一部分。 1 模块概述 1 F% Q6 u- g" r, J; O& H2 I 1.1 算法功能SoundMeteR(SMR)模块负责在对数尺度上测量传入信号的电平。它以尺度转换、平滑滤波和加权滤波为基础。 % X0 k* V& B2 S. p ' }. V; h5 V4 k( t; k: V8 `- t% D 当前实现对所有计算使用32位分辨率,可与16或32位输入/输出格式一起使用。支持的采样率为8 kHz、16 kHz和48 kHz。 1.2 模块配置 ! `; a8 w( s' O8 j- G, ], Q/ A SMR模块支持单声道和立体声16位或32位I/O数据。其存储器受限于960个采样的最大输入帧大小,相当于10 ms的48 kHz立体声信号。 根据I/O格式、Cortex®内核和使用的工具链,有多个模块版本可供使用: • 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微控制器上运行。 : ?8 k Z5 x& x; e4 t9 a • SMR_CM7_IAR.a / SMR_CM7_GCC.a / SMR_CM7_Keil.lib:适用于16位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。 • SMR_32b_CM7_IAR.a / SMR_32b_CM7_GCC.a / SMR_32b _CM7_Keil.lib:适用于32位输入/输出缓冲区,在任何使用包含Cortex®-M7指令集的内核的STM32微控制器上运行。0 j# n5 m; ?( k. ~6 P5 a $ M. N6 H0 D5 C$ Y% V8 j- K/ |$ J 1.3 资源总结 表 1包含模块对存储器和频率(MHz)的要求。 * t% M* \8 F9 |1 G3 m) {: U 使用:IAR Embedded Workbench for ARM V7.40(IAR Embedded Workbench common componentsv7.2)测量板上的内存占用量。
+ F. k3 u0 e, m1 g n |
微信公众号
手机版