新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于低能耗蓝牙的半双工语音通信

基于低能耗蓝牙的半双工语音通信

作者: 时间:2016-05-18 来源:网络 收藏

  2)音频处理

本文引用地址://www.cghlg.com/article/201605/291324.htm

  BlueVoice的音频处理目的是在根据应用所选的接收端上,取得8kHz 或16 kHz的目标音频采样。事实上,对于低功耗要求极其严格但是对音质要求不高的应用场景,例如,无需人耳听清楚的自动语音识别服务输入音频,8kHz采样率可能是一个不错的选择。

  使用自适应差分脉冲码调制算法压缩音频传输信号,可使音频信号适用于现有的数据传输速率,同时最大限度缩减射频传输时间以及功耗。我们使用数字MEMS麦克风设计一个全数字解决方案,尺寸和音质等特性使其适用于无线传感器设备。图4所示是16 kHz采样率的完整语音处理链。该解决方案首先采集数字MEMS麦克风生成的1 MHz 的1位脉冲密度调制(PDM)信号,并将其转换成16 kHz 的16位脉冲编码调制(PCM)采样,然后以16000个采样/秒的采样率,再将其压缩成4位ADPCM采样信号,并准备发送。

  此外,以较低的频率发送边信息同步数据集合,所需带宽是64 kbps音频数据与300 bps同步信息数据之和,总计64.3 kbps。对于8kHz采样率,最终ADPCM采样率是8000个采样/秒,导致31.3 kbps带宽需求,包括边信息。下面章节深入介绍上述模块。

  

 

  图4:16kHz 配置的BlueVoice数据传输链

  MEMS麦克风的容性传感器生成的模拟信号经放大和高速率采样后,交由整合量化和噪声修整操作的内部sigma-delta调制器处理,输出的数据是一个单一的高采样率的PDM格式比特,PCM转换是从PDM到无线通道发送压缩音频数据的整个处理链的中间环节。为了把PDM流转换成PCM数据,需要使用一个抽取滤波器和两个可单独配置的滤波器(低通滤波器和高通滤波器。该处理模块输出16位PCM格式采样流。按照所选采样频率,采用一个不同配置的抽取滤波器,以取得16位PCM数据采样。

  ADPCM编码模块压缩PCM采样,通过减少数据包传输量,节省传输带宽,降低能耗,如前文所述,ADPCM 是一个用于损耗波形编码的压缩算法,其基本原理是根据上一个数值预测当前数值,只传输自适应量化步骤量化的实际值与预测值的差值。存在诸多可选压缩标准,却单单选用ADPCM标准,这是因为它是基于波形编码方法,与基于声码器的复杂解决方案相比,更适用于传感器网络设备(通常基于微控制器)。在BlueVoice应用中,每个16位PCM采样都压缩成4位ADPCM数据,这样所需的应用传输带宽是32 kbps或64 kbps,至于具体速率取决于采样频率,而且兼容流媒体功能。

  如前文所述,BlueVoice应用的总体带宽实际需求高于32 kbps或64 kbps的理论值,这是因为BlueVoice为提高通信稳健性,在通过通道发送数据时增加了附加信息。16 kHz 配置采用10 ms连接间隔,而8 kHz 配置采用25 ms连接间隔。事实上,如果被传输的数据量较少,可提高连接间隔数值,从而节省能源。为尽可能地利用每个数据包现有有效载荷,语音数据包发送20个字节。

  因此,在16 kHz配置中,语音数据每10 ms发送4个数据包,而在8 kHz配置中,语音数据每20 ms发送4个数据包,结果传输带宽分别是64 kbps和32 kbps。发送器的边信息发送频率较低,每160 ms发送一个6字节的附加包,对应16个或8个连接间隔。图5描述了协议栈上的数据分组总体策略。通过音频特征,每10ms或20 ms连接间隔,发送4个语音数据包(每包20字节),而发送器边信息的发送是,通过同步特征,每160ms间隔发送一个附加数据包。

  

 

  图5:BlueVoice数据分组机制

  C. 在实际硬件上实现应用

  为了在支持低能耗蓝牙通信的不是十分复杂的实际硬件无线传感器网络平台上评估BlueVoice的可行性,我们在实际硬件设备上实现了第三章B部分所描述的应用软件的全部功能。所选硬件平台是意法半导体的STM32 Nucleo L476开发板[5],这是一个基于STM32L476 80 MHz 32位ARM Cortex-M4微控制器的开放式开发平台。我们选择STM32 Nucleo开发板的原因是,板载微控制器的性能高于普通无线传感器网络平台,同时还具备很高的灵活性和多功能性。该开发板配备很多接口和扩展排针,插接专用扩展板扩大板子功能简单容易,方便设计人员研究、开发和验证新创意。特别值得一提的是,STM32L4微控制器具有市场领先的低功耗特性,其内置数字滤波器配合Sigma-Delta调制器(DFSDM)外设,可实现图4的PDM至PCM的格式转换,这些特性使其特别适合BlueVoice应用。通过在STM32Nucleo开发板上接插一块低能耗蓝牙连接板和一块麦克风扩展板,BlueVoice中央模块和周边模块可以组成一个基于STM32Nucleo的对称硬件配置,展示一个通信通道。低能耗蓝牙连接板基于意法半导体的BlueNRG [6],BlueNRG是一个超低功耗的低能耗蓝牙单模网络处理器,兼容蓝牙规范4.0版,可设为主设备和从设备模式,当低能耗蓝牙协议栈启动时,数据传输最大电流8.2 mA,可降至1.7 uA。附加的麦克风扩展板用于采集语音信号,基于意法半导体的MP34DT01 [7]数字万向MEMS 麦克风,声学过载点120 dBSPL, 信噪比63 dB,灵敏度-26 dBFS。MP34DT01采用一个容式传感器和一个内置sigma-delta调制器和噪声修整机制的集成电路,提供1-3.25 MHz的PDM输出。

  图6是实际硬件设备的框图:STM32微控制器通过与外设模块DMA相连的DFSDM模块采集麦克风的PDM采样输出,同时通过一套专用应用程序界面(API)和串行外设接口(SPI)与BlueNRG模块通信,对于中央模块和周边模块,模块化架构是对称的。框图中还有一个USB音频接口,用于向PC机提供重构的音频信号。图7是硬件设备的实际原型。

  D. 性能

  我们用第三章C部分描述的实际系统作为实验平台,评估BlueVoice应用的功能、存储器占用、性能需求和ASR识别率。特别是考虑到现场部署一系列微型无线麦克风模块的应用场景和低能耗蓝牙本身的非对称性(从设备-外设模块必须尺寸紧凑且功耗极低),本章讨论的性能评估主要讨论 8 kHz和16 kHz两种配置的从设备-外设模块的功耗、存储器占用和性能震求。此外,在接收端测量的ASR性能是另一个性能评估指标,实际上,该参数可能是语音通信的一个重要的音质指标,对于新兴的声控应用(遥控器、物联网产品)具有重要意义。

  

 

  图6. BlueVoice框图

  

 

  图7:发送器和接收器原型

  1) 功耗、存储器占用和性能需求

  如前文所述,我们把BlueVoice应用实现在一个硬件设备上,该硬件设备使用意法半导体的 STM32 Nucleo开发板充当主机,并使用低能耗蓝牙网络模块充当控制设备。表1列出了在BlueVoice的广播、连接和传输三个不同状态下,主机和控制设备(STM32和BlueNRG)的功耗值。这些数据是在3.3 V工作电压时的测量值,对8 kHz和16 kHz配置的功耗进行了比较。必须强调的是,微控制器功耗完全取决于硬件特征和低功耗配置,因此,微控制器功率是在计算总功耗时加在总功耗中与平台相关的数值。

  本表所列数值可以视为一个指示性参考值,可能会随实际应用情况而发生变化。

  

 

  表I:BLUEVOICE功耗

  按照低能耗蓝牙标准,在两个节点之间建立连接前,从设备是处于广播模式,而主设备则是进入扫描模式。当主设备收到广播数据包,发现从设备存在时,就立即建立连接。在BlueVoice解决方案中,考虑到一个外设模块对中央模块的通信,外设节点是发送器(服务器),而中央节点是接收器(客户机):服务器以固定周期向客户机发送通知。对于8 kHz配置中,在广播阶段,发送器外设模块(STM32 + BlueNRG)总平均功耗极低,只有3.50mW,当建立连接时,功耗是3.98 mW。对于16 kHz配置,广播阶段功耗是8.22 mW,而连接阶段是9.48 mW。这里应着重指出的是,连接阶段的功耗与连接间隔选择关系密切,这也是8 kHz和16 kHz配置(分别是20 ms和10 ms)的主要区别。在这两情况中,连接间隔设为接近标准规定的最小值(7.5 ms),以确保传输延迟最小。一旦连接建立, BlueVoice应用立即进入传输状态,8 kHz配置的平均功耗是10.07 mW,16 kHz配置的平均功耗是19.84 mW,因此,基于STM32 + BlueNRG的物联网节点,假设电池容量是200 mAh,在连续传送数据流时,两种配置的理论续航时间分别是约65小时和33小时。这些功耗值表明BlueVoice方法的适用于以低能耗蓝牙为载体的音频流,特别是8 kHz配置,可大幅降低功耗。

  除分析功耗外,通过考虑存储器占用情况,我们还评估了应用的可行性。如表II所示,BlueVoice应用软件两种配置占用闪存空间相同(21.85 kB),但是,8 kHz配置占用13.32 kB的RAM空间,而16 kHz配置只占用7.86 kB的RAM空间。两种配置占用RAM空间不同的原因是,为降低该解决方案的额外开销和功耗,8 kHz和16 kHz分别每20 ms 和10 ms执行音频处理步骤(PDM转PCM和ADPCM压缩),从而导致8 kHz配置在两个连续步骤之间存储的数据变大。在这两种情况中,这些数值十分符合资源受限的系统要求。

  

 

  表II

  发送端BLUEVOICE存储器占用

  2) ASR性能

  BlueVoice在功耗、处理性能和存储器占用方面表现出的可行性并不能保证语音信号质量在接收端达到可以接受的水平,在BlueVoice解决方案性能评估最后,我们利用一个网络ASR服务进行了大量的传输测试,在接收端测量ASR 性能。16 kHz USB麦克风和8 kHz/16 kHz BlueVoice系统以并行方式记录若干个包含已知英文单词的音频采样(作为参考),并将其传输到ASR引擎,表III列出了不同解决方案的单词识别率比较测试结果。测试结果证明,ADPCM压缩没有降低信号质量,因此适合ASR应用:BlueVoice 16 kHz配置的性能十分接近USB麦克风,而 8 kHz系统的性能稍有降低(18 %),适用于低功耗要求极严的应用。事实上,8 kHz系统以16 kHz配置50%的功耗取得了相同的ASR性能。

  表III

  BLUEVOICE ASR性能

  

 

  IV. 结论

  本文介绍一个以低能耗蓝牙为载体传送音频流的解决方案,首先介绍一个厂商专用的通信低能耗蓝牙配置文件,然后介绍BlueVoice应用设计,并讨论了虑涉及设备的通信角色、音频处理和压缩编码选择、数据分组和带宽需求。BlueVoice应用由一个中央节点和一个外设节点组成,按照所选通信方向,分别充当低能耗蓝牙的服务器和客户机。在连接建立后,服务器按固定周期向客户机发送通知。我们对8 kHz和16 kHz两个没配置进行了比较,在发送器节点上,MEMS麦克风的数字PDM格式输出信号被采集并转换成PCM格式,然后压缩成ADPCM数据,最终在低能耗蓝牙链接上产生32或64 kbps的蓝牙带宽。该配置文件还定义一个低频边信息机制,虽然需要一些额外的带宽,但是提高了错误抑制功能。为评估解决方案的性能, BlueVoice被实现在实际硬件设备上。该设备是由MEMS麦克风和STM32微控制器组成与网络模块组成的全数字系统,前者充当主机,后者充当低能耗蓝牙控制器。本文的性能评估表明,我们提出的解决方案在功耗、处理性能和存储器占用方面适用于低功耗语音流应用。特别是,在8 kHz和16 kHz音频流传输过程中,传感器设备的功耗测量值分别为10.07 mW和19.84 mW,存储器占用和性能需求完全可接受。此外,我们还测量了音频质量指标ASR性能,8 kHz配置和816kHz配置的单词识别率分别达到67%和82%,而16 kHz USB麦克风的识别率达到85%,这表明BlueVoice应用能够在接收端达到非常高的音质,并具有极低的功耗。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭