整个蓝牙协议体系结构可以分为底层硬件模块、中间协议层和高端应用层三大部分,如图1所示。
图1:蓝牙协议体系构
链路管理层(LM)、基带层(BB)和射频(RF)构成了蓝牙的底层模块。中间协议层包括逻辑链路控制与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TCS),最高层是应用层,即众多的profile。
蓝牙的车载实际应用总是和手机联系在一起的,虽然蓝牙SIG组织在互操作性方面做了很多的规定。但是各个手机厂商在具体实现上各有各的不同,这些实现方式只能保证在基本的方面没有问题,而目前有很多手机厂商并没有做BQB认证,这更加加剧了互操作性的问题。所以与手机的兼容性问题对于产品实现非常重要。CSR(Cambridge Silicon Radio)公司是蓝牙业界的领导者,其在兼容性方面做了非常充分的测试,这样OEM厂商可以从这个问题中解放出来。
前面提到第二项关键技术是回音消除和噪音抑制,这也是本文讨论的重点。汽车内的空间特别狭小,由扬声器发出的声音通过在车内不同的地方发生反射,又传回到车载系统的麦克风是车载系统产生回音的一个根本原因,从图2可以看出车载系统在使用时回音产生的复杂情况。
图2:车载系统产生回音的复杂情况。
从回音的产生到用户听到回音有一定的时间间隔,主要是由于电波传输以及反射会引起时间消耗。如何提高车载系统通话的语音质量是一个关键的话题,直接关系到用户体验,而由于车内的复杂环境,又使得该项技术充满了挑战。
CSR推出的BlueCore3-Multimedia和其回音消除软件整合在一起构成了蓝牙车载系统的完整解决方案,BlueCore3-Mutlimedia是一颗集处理器和蓝牙无线射频控制于一体的单芯片方案。图2是它的系统架构。
图3:BlueCore3-Multimedia系统架构。
从图3可以看到,BlueCore3-Multimedia还集成了开放平台DSP-Kalimba DSP。Kalimba DSP作为基带处理器的协处理器,用于完成对语音通信中的回音消除。
该方案将实现车载系统的两大关键技术整合到一颗芯片中来,无疑降低了产品的开发难度和系统成本,为产品的快速上市创造了很好条件。
在BlueCore3-Mulitmedia的基带控制器(MCU)中运行蓝牙协议栈以及Handfree Profile和HandsetProfile,并从蓝牙的同步面向连接(SCO)链路中提取语音信息并转送给Kalimba DSP,Kalimba DSP中的软件完成语音处理,再经过数模转换到扬声器放出来,反方向是模数转换从麦克风中收集语音信息,到Kalimba DSP中进行处理,然后传送给基带控制器,再通过蓝牙的SCO链路发送出去,流程示意见图4。
图4: CSR蓝牙车载系统的语音信号流向示意。
前面已经提到回音产生的一个根本原因是扬声器发出的声音耦合到麦克风而产生的,所以回音消除的方法就是采用一定的技术手段把这些耦合进去的声音信号提取出来。可以从图5中理解这个消除回音的基本原理。
图5:回声消除的基本原理。
在图5中,先在从SCO链路到扬声器这个通路上采集参考信号,在回声消除器里对这些参考信号进行处理,得到处理好的结果再与从麦克风里的信号进行叠加,从而去掉回音。
CSR-HF车载回声消除软件系统
CSR-HF由两大部分组成:OMS(用于噪声抑制)和AEC(回声消除),它是唯一一款将回音消除和噪声抑制整合在一起的软件解决方案。该程序运行在CSRBlueCore3-Multimedia芯片的Kalimba DSP中,与基带部分的蓝牙协议一起组成了车载系统的完整解决方案。图6展示了清晰语音捕捉(CVC)软件的主要部分,从图中可以看出,需要四个语音通道来满足CVC的工作。
CSR-HF采用仿真人类接收语音信号的系统来处理语音信号,捕获背景噪音并把它们剥离出来,从而实现高品质的语音通信。
CSR-HF主要部分的说明
CVC-OMS:OMS处理过程是一个实时的处理过程,它采用语音抽取技术来选择并获取感兴趣的语音信息,从而减小了背景噪音的干扰。在捕获有小的失真的语音信息的时候,容易产生在统计上相对比较稳定的非白噪声(Colored Noise),OMS对这类信号尤其有用,对噪声的抑制可以达到12dB。
CVC-AEC:AEC是一款标准的回音消除程序,它从车载系统中捕获回音,并将其清理出去。这个实时处理过程对由于扬声器耦合到麦克风而产生的回音非常有效。AEC的回波损耗误差(ERLE)可以达到50dB。同时AEC还具备自适应能力。
ALT(AGC):自动音量调整(ALT)以及自动增益控制(AGC)位于来自蓝牙接口的接收通路上(Rx),自动地调节Rx通路上的音量信号,弥补移动电话或者网络系统在对信号进行处理过程中对信号带来的的影响。ALT和内部其它音量调整部分一起构成一个整体,并可以对其进行参数调节。
CVC-HF的性能可以通过参数进行调整,缺省情况下,这些参数是存储在BlueCore3-Multimedia芯片内的闪存中,CVG-HF和BlueCore3-Multimedia通过缓冲区来与该芯片上的微控制器进行通信。
CSR-CVC被制作成库的形式进行发布,配合CSR的蓝牙开发套件Bluelab进行开发。根据产品的不同,用户可以通过参数来对CVC进行配置,比如增益控制等等。
配合CVC-HF工作的四个语音通道:1.CVC-HF麦克风输入,从近端的麦克风到BlueCore3-Multimedia的编解码器,再输入到CVC-HF;2.CVC-Rx,从蓝牙的Rx通道获取参考信号,在该信号中包含远端用户的语音信号,是必须过滤掉的信号。Rx的PCM数据直接送到AEC处理器中。另外,从Rx来的PCM数据也可以先进行ALT和音量调节处理,再送入AEC,但是这个过程可以进行选择,不是必须的;3.CVC-Tx,该通道用于把经过回音消除的语音信息发送到蓝牙接口,这就是远端用户听到的语音信息;4.扬声器输出通道。
CVC-HF的一些参数:处理器能力需要22MIPS,程序大小为3.4KW(32位为一个字长),数据存储器需要6.6KW(24位为一个字长),8KHz的抽样率;由于回音处理带来的延迟在发送通道是36毫秒,在接收通道是12毫秒,这个延迟包括采样转换时间,以及从数据缓冲区中获取数据的时间。
上文已经指出回音是由于扬声器发出的声音耦合到麦克风中是其主要因素,所以,麦克风与扬声器的相对位置非常重要,一般来说扬声器的位置离麦克风的距离是越远越好,当然基于车内的空间,这个距离始终是有限的,所以在安装的时候,要充分考虑这一点。如果把麦克风和扬声器做在一体,要考虑连接的材质,以及连接部分空间的填充物的材料。另外,麦克风与扬声器尽量不要放在风口,麦克风的方向与扬声器发声方向相反或者呈90度也可以获得更加理想的效果。
由于汽车市场的快速增长,蓝牙车载系统也将拥有更多的发展空间,在这个充满机遇同时又面临众多的技术调整的市场上,选择合适的解决方案将对OEM厂商在这个市场上是否能取得成功起着非常关键的作用。
世健系统有限公司在蓝牙技术、蓝牙互操作性以及CSR回音消除软件的参数调试方面都积累了丰富的经验,并推出了在蓝牙车载领域的参考设计,OEM厂商可以利用该参考设计快速的将产品推向市场。