【应用】基于32位低功耗MCU EFM32系列的高效Speex解决方案
Speex做为一款开源的音频编解码器,提供高水平的语音编码和解码算法,而且同时具备良好的音质表现。 本应用基于32位低功耗MCU EFM32GG,展示高效的Speex解决方案。
Speex做为一种功能强大的语音引擎,能够实现高质量和低比特率的编码,除了具备CELP算法编/解码模块, 目前在较新的发布版本里还提供了声音预处理和声学回声消除模块,在一定程度上可以保障IP网络中的音频通信质量,比较适合当前流行的 VoIP系统。本应用基于Speex的1.2rc1版本开发,实现NB8K编码和解码,NB解码,WB解码和UWB解码。
图1 NB8K/NB/WB/UWB缩写说明
Speex编码。利用32位低功耗MCU EFM32GG中的内置12位ADC收集音频样本,进而送到后续的Speex语音编码模块。编码器的模块组成包括内置TIMER,PRS,ADC和DMA,如下图2所示。TIMER通过PRS每隔125us(8 kHz)触发ADC,通过DMA为Speex编码器采集一帧(20ms)ADC转换数据。其中 在ADC数据转换阶段无需MCU干预,EFM32GG可工作在EM1(休眠)模式。
图2 编码器流程框架
本应用中Speex编码器用于8 kHz的采样,该库可通过Speex编码器经过修改, 具体编码器库文件可参考目录为 \ speex \ libspeex。Speex空间占用情况如图3所示。
图3 空间占用数据图
Speex代码在IAR V6.40.2中使用“高速优化”选项进行编译,通过使用energyAware Profiler V1.01测量电流消耗情况,具体数据见图4所示。MCU的加载分析可通过speexfunc.c文件的配置完成。
图4功耗数据图
Speex解码。Speex解码由音频输出接口和语音解码模块组成。本应用利用了EFM32GG中的内置12位DAC。具体的解码框架结构与流程与编码类似,包括利用内置的TIMER, PRS, DAC and DMA模块等。具体流程见图5所示。
图5 解码器流程框架
Speex解码应用支持不同压缩比与比特率,其包括的五个项目可以支持EFM32GG上的不同Speex模式,见图6所示。 Speex库文件(IAR为* .a,Keil为* .lib)包含在\ speex \ libspeex的路径中。图7为解码空间占用情况说明。图8为功耗说明。
图6 Speex工程库说明
图7解码空间占用数据图
图8 功耗数据图
PC端工具。PC端pc_software文件夹中的speexenc.exe应用程序可以将WAV文件转换为头文件形式以供编译器使用,以便将Speex编码数据保存到内部闪存以进行音频播放。该系列工具可从其官网下载:http://www.speex.org/downloads/。
运行PC端应用程序,需要在DOS命令行中将文件夹路径更改为“pc_software”,然后输入speexenc。具体操作界面见图9所示。PC应用程序会自动检测输入WAV文件的采样频率,然后根据预定的品质因数进行Speex格式化编码。
图9 PC应用界面
Speex 应用中的API(包含在speexfunc.c中)函数可用于Speex编码器和解码器。例如:函数speexRecordFlash512()可用于将编码的Speex帧记录到高512 KB的闪存中(使用EFM32GGxxxF1024)。函数speexPlayBack()可用于从flash播放读取编码的Speex帧。
可以在数据手册中找到IAR和Keil相关的IDE设置来编译和运行Speex编解码器,包括编解码器具体的配置方式与参数优化等。
- |
- +1 赞 0
- 收藏
- 评论 2
本文由四月提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【应用】芯科科技提供内置16位ADC的低功耗32位MCU助力蓝牙耳机,主频高达80MHz
蓝牙耳机的系统设计需要选型一款MCU,要求尺寸小,效率高,待机功耗低。本文推荐SILICON LABS推出的低功耗32位MCU EFM32PG23B210F256IM48-C,主频高达80MHz,具有DSP指令和浮点单元,具有性能灵活的16位的数转换器。
应用方案 发布时间 : 2023-03-14
【应用】32位低功耗MCU EFM32系列的电流数模转换器(IDAC)应用
本应用主要介绍了如何使用Silicon Labs EFM32电流数模转换器(IDAC),并通过部分示例工程来演示其功能。 IDAC常用于提供或吸收可编程电流,实用设计中可通过软件或使用PRS功能来完成IDAC的控制。
应用方案 发布时间 : 2019-02-12
【应用】EFM32JG1B200低功耗32位MCU在暂态录波型故障指示器中的应用
本文提出了一种基于EFM32JG1B200低功耗32位MCU的暂态录波型故障指示器,给出了暂态录波型故障指示器设计框图,并对其进行了功耗测试,满足中国电科院送检以及现场应用需求。
应用方案 发布时间 : 2019-08-17
【经验】对使用SWD接口的32位MCU的内部闪存及用户画面进行编程
本文介绍Silicon Labs独立编程器的硬件与软件,以及详细的用户界面介绍,提供用户进行测试。
设计经验 发布时间 : 2019-03-07
【经验】32位低功耗MCU EFM32LG232低温工作串口数据停止位报错问题经验分享
EFM32LG232是Silicon Labs推出的针对低功耗市场的高性价比方案,常用休眠模式下,开启RTC功耗为0.95uA,关断模式下仅为20nA,广泛应用于低功耗方案设计中,本文主要讲解在低温模式下串口数据通信出错的问题分析。
设计经验 发布时间 : 2019-03-06
【经验】用STK3700评估板采集EFM32GG低功耗32位MCU外部频率信号完整周期的经验
在调试EFM32GG低功耗32位MCU,想测试外部频率信号的周期,范例程序测试的是按键按下的时间,也就是对应的是半个周期,不是完整的周期信号。针对范例程序做了如下修改(修改部分用红色字体标识),实现了用STK3700评估板对外部频率信号周期时间的计算
设计经验 发布时间 : 2019-05-03
在使用Silicon Labs的32位低功耗MCU EFM32ZG110F32-QFN24调试的过程中发现,如果没有无线信号发射的时候ADC采集绘制的波形一直很平滑,但无线信号一发射ADC采集绘制的波形就会 有毛刺,如何改进?
这个干扰问题可以从硬件和软件两方面来改进: 硬件方面在ADC采集端加Silicon Labs的TVS和钳位,加RC滤波,效果有些改善,调整无线的天线方向可以有明显的改善。 软件方面通过中位值平均滤波法和递推平均滤波法对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统。
技术问答 发布时间 : 2019-10-24
【应用】低功耗32位MCU在智能安防无线报警系统中的应用
芯科高性能低功耗的32位微控制器EFM32非常适合于智能安防系统的应用,其EFM32JG系列内核采用运算性能突出的Cortex-M3设计,极大地缩短了智能安防应用中的算法处理时间,提高了系统的性能。
新应用 发布时间 : 2019-09-03
【经验】EFM32JG1B200F128低功耗32位MCU为暂态录波型故障指示器应用现场改变需求提供解决方案
暂态录波型故障指示器一般应用在10kV的输配电线路上,用来监测线路电流,检测线路短路和接地故障,最终实现故障位置定位。考虑到客户现场需求的改变以及软件功能优化升级等需求,暂态录波型故障指示器要具有大批量无线升级应用的功能。本文设计了一种基于EFM32JG1B200F128低功耗32位MCU的应用升级方法。
设计经验 发布时间 : 2019-09-28
如何为Silicon Labs 32位低功耗MCU EFM32GG230F512实现基于RTC的软件无滴答日历?
在Silicon Labs 32位低功耗MCU EFM32GG230F512上实现软件方式的无滴答日历,可以通过使用日历标准C库 time.h, 在time.h中实现的timer()函数基于RTC计数值来计 算日历时间。
技术问答 发布时间 : 2017-10-10
Silicon Labs 32位低功耗MCU EFM32GG990芯片使用中,将OPAMP(运算放大器)组合成三运放差分放大器时可选的放大倍数为多少?
当将三个OPAMP组合成差分放大器时,差分放大器的增益是由OPA0和OPA1的组合增益所决定的,由于三运放差分电路的电阻网络对应的桥臂要对应成比例,所以只三种有 效的差分增益可供使用,它们分别为1/3、1和3,此时OPA0 RESSEL和OPA2 RESSEL的组合分别为0和4、1和1、4和0。
技术问答 发布时间 : 2017-10-10
【应用】休眠功耗低至1.4uA的32位MCU助力水表等低功耗应用
EFM32JG系列32位MCU是silicon Labs采用了新的工艺而设计,专门针对低功耗市场所推出的高性价比方案。
新应用 发布时间 : 2019-09-04
【经验】基于EFM32JG1B200F128低功耗32位MCU的暂态录波型故障指示器低功耗设计技巧
暂态录波型故障指示器一般用在10kV的输配电线路上,用来监测线路电流,检测线路短路和接地故障,最终实现故障位置定位。 以CT取电作为主电源,超级电容和锂电池作为后备电源。考虑到后备电源有限性及10年在线运行免维护的要求,CT取电能力需满足其全速运行, 故对其动态功耗和静态功耗要求较高。笔者采用EFM32JG1B200F128芯片开发的指示器,采用了一些低功耗的设计技巧。
设计经验 发布时间 : 2019-08-17
【应用】EFM32PG 低功耗32位MCU在智能网关中应用
智能物联市场多种无线协议同时并存现状,物联网(IoT)网关参考设计突出通用性,灵活性等特点。解决可预见的未来ZigBee、Wi-Fi、Thread、BLE等多协议将共同解决智能家居市场中不同场景及应用,多协议(Host+ NCP)的应用框架无线网关应运而生。这种架构设计的网关通用性好,可移植性强,加上它的易扩展性,方便后续的产品升级维护。早期采用的单片机功耗较高,使得电池电量消耗快, 产品使用时间
应用方案 发布时间 : 2019-02-28
【应用】32位低功耗MCU EFM32LG232在故障指示器的应用,可实现采样精度温度补偿方案
世强推出的32位低功耗MCU EFM32LG232内部自带温度传感器,通过内部获取其温度值,温度偏差在2°以内,可实现其采样精度温度补偿方案,进而实现故障指示器的高精度测量功能。
应用方案 发布时间 : 2019-09-04
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
提供全面表征产品器件耗电特征及功耗波形、快速瞬态效应、电源优化、表征和仿真测试服务,使用直流电源分析仪测量精度达50µV,8nA,波形发生器带宽100kHz,输出功率300W,示波器200kHz,512 kpts
实验室地址: 深圳/苏州 提交需求>
登录 | 立即注册
提交评论