专栏首页喔家ArchiSelfIoT中的高音质音频设计

IoT中的高音质音频设计

音频是许多物联网应用不可或缺的组成部分, 包括消费品(如扬声器、耳机、可穿戴设备),医疗设备(如助听器),自动化工业控制应用、娱乐系统和汽车的信息娱乐设备等。

物联网的声音可大致分为三类: 流媒体(即音乐、声音和数据)、语音识别 / 命令, 以及蓝牙和 Wi-Fi 无线连接播放(例如, 将多通道音频通过 Wi-Fi 传输到家庭环绕立体声系统)。 然而, 设计一个高质量、不间断的音频子系统可能是一个挑战, 因为工程师必须遵守基于物联网设备所要求的严格约束。

更复杂的设计需要包括先进的功能, 例如语音识别, 使驱动控制汽车的信息娱乐系统就像手机一样轻松易用。 由于 MCU是所有这些音频系统的核心, 选择一个集成设计可能是一个可靠无噪音音频系统所需的。 本文探讨了设计此类系统所需的音频技术。

音频子系统的组件

如前所述,物联网的音频包括三个主要的活动: 高质量的语音 / 数据流, 无线传输和语音控制。 图1显示了嵌入式系统中的重要构件。

图1 音频处理子系统

需要注意的是, 许多这些功能可以集成在一个现代化的单片机中, 如本例所用的 Cypress CYW43907与集成的 Wi-Fi 802.11 n。 一些基于物联网系统的重要音频技术可能包括:

音频应用

一个带有音频功能的单片机,允许工程师对大多数流行媒体播放器和内容提供商使用 mp3 / 4流。 许多设计也需要支持 WMA 和苹果的 AAC 解码, 这需要更多的处理能力。 通常可以在消费者音频应用程序中使用低成本的音频单片机, 或者管理音频配件中的数字音乐流, 如数字扬声器集。

在这些应用程序中, 一帧 PCM 音频数据(封装在 USB 音频类格式中)通过处理器的 SPI/ I2C 串行通道可达1 ms。 视来源而定, 音频流一般以多种格式中的一种形式出现, 但是, 一些低成本的编码器只能接受一个特定的格式。 在这些情况下, MCU 在确保数据在输入到编解码器之前的正确对齐方面发挥了重要作用。

由于并非所有音频来源都使用相同的采样率, 所以编解码器还必须将其采样频率进行调整, 或依靠单片机将取样数据流转换成一个通用采样率(见图2)。 在这些情况下, MCU 必须管理数据流, 以避免在其他情况下导致静默、持久性污染和音频中断, 这种情况会随着数据丢失而产生, 并扰乱用户的听力体验。 需要注意的是, 音频单片机也可以用来实现音频子系统的其他功能, 例如在音频播放过程中控制照明。

图2 音频单片机可能执行格式转换、采样率调整和数据流管理, 以及支持音频用户界面

为了在广泛的应用中使用音频, 音频 MCU 需要支持各种音频技术。 图3显示了这些音频技术的例子。

图3 音频技术

音频编码器(编码器 / 解码器)

音频编解码器是音频系统的主要前端组件。 许多在物联网应用程序架构的 MCU支持硬件中的编解码功能。 这使得系统可以减少数字音频样本的大小, 以加速无线传输(节省电力)和减少存储空间(减少内存容量的压力)。 一个编码器可以支持各种音频格式, 如 AAC, AC-3和 ALAC等。 要做到这一点, 它需要一个解码接入单元(AU) , 这个单元在任何音频后处理(如 DSOLA, SOLA)之前实现。 当使用像 AAC, AC-3和 ALAC 这样的标准音频格式时, 音频的分类方式使得后续音频样本在音频包数据流中指定的格式范围内。 分组间隔也需要被管理, 以允许最小的交叉抖动和不间断操作。 AU 的有效负载大小允许任何需要执行。

基带处理

基带信号是模拟或数字波形中的一组基本频率, 可以通过电子电路进行处理。 基带信号可以由单个频率或一组频率组成, 如果在数字域中, 数据流通过一个非多路通道发送。 基带被定义为带有载波信号的基带混合, 以产生调制信号。 需要注意的使, 在支持物联网音频的MCU 中, 音频编解码器与基带处理以及RF 可以集成在一个芯片上。 音频编解码器可以在各种无线收发器中实现, 以提供语音数据和/或音乐功能。 它还有单音频和立体声音频输出通道, 以及立体声输入。

包丢失隐藏和数据复制

过度的延迟、数据包丢失和高延迟抖动都会影响通信质量。 突发数据包丢失的可能性随着网络负载的增加而增加, 并导致了用户可以听到的中断。 通过高级功能, 如丢包隐藏技术, 可以增强通过 Wi-Fi音频传输。 系统体系结构的源 / 接收器如下: 一个源捕获音频, 通过 RTP 流结构将 PCM 数据消除, 并使时钟与 PLC 连接的所有源同步。

需要注意的, 无线通信链接的性能取决于链接预算性能的质量。 这种连接预算由三个因素决定: 传输功率、发射天线增益和接收天线增益。 例如, 如果连接路径的功率衰减空间损耗大于接收无线电的最低接收信号水平, 那么就可以在802.11网络上进行可靠的通信(见图4)。

图4 无线通信的链接预算性能

语音清晰度提升(SIE)

音频系统中的背景噪声降低了语音的可理解性。 如果噪音超出一定水平, 那么用户将很难理解这样的语音。 对于嵌入式设备而言,实时连续语音识别的可用性要求系统能够提高信噪比。 选择一个支持移植和优化的大词汇量持续语音识别系统的单片机可以简化开发过程。

唤醒词检测(WUPD)

通过这个功能,用户可以通过语音激活设备, 以一种不用手的方式打开系统(见图5)。

图5 唤醒式短语检测

对一个或多个扬声器进行有效的多播

多播是一种网络处理方法, 用于使用最有效的策略同时向一组目的地址传递信息。 消息只在网络的每个链路上传送一次, 只有当下一个链接分裂到多个目的地址(通常是在网络交换机和路由器上)时才会创建副本。 然而, 与UDP一样, 多播不能保证消息流传输导致的消息丢失。 可靠的多播(RMC)提供多播数据包的确认(仅提供数据包) , 以便可靠地传递某些特定的多播数据包。 发射机选择 RSSI 最弱的接收机来确认帧。在物联网环境中, 实现 RMC 意味着 Wi-Fi 发射机选择其中一个 Wi-Fi 接收器来确认帧接收,实现使用一个包含 RMC 专有信息元素的动作框架来通知和启用承认者。 该实现还包含 特定RMC 的 Wi-Fi 驱动命令, 用于设置多播 MAC 地址, 并启用和禁用 RMC。

在传输延迟是固定和对称的情况下, 可以满足对音频和视频的时间同步要求。 例如, RMC 可以依靠高度准确的时间和同步来顺利传输语音、视频和移动数据。 从技术的角度来看, 实现高度精确和精确的时间并不是一项简单的技术, 因此, 找到一个可以验证的实现是非常重要的。

帧格式、前向纠错和分组包复制

对于音频流, 时钟必须与所有的 Wi-Fi 接收器同步。 一种方法是对源和接收器设备用一个通用的时钟,通常被称为壁钟或系统时钟(STC)。 首先, 每个接收器同步其 STC 与源 / 发送器的 STC同步。 每个接收器现在可以恢复发射器的时钟, 因为时间戳(可在每个 RTP 数据包的扩展头中获得)反映了媒体相对于普通时钟的采样速度。

STC 是基于802.1 规范中所概述的时钟值。 由于 STC 和源设备的媒体时钟之间的相关性(因为它与 RTP 或媒体时间戳相关)已为所有接收器设备所知, 因此每个接收器都可以重建源设备的 RTP 媒体时钟副本, 并对其输出进行适当的排队。 一个透明的时钟是一个硬件,可以用作时间戳接收和传输数据包, 尽可能地接近物理接口。 虽然这个时钟值不是用来回放的, 但它可以用来通过系统来测量抖动, 并进行一次彻底的性能分析。

智能家居音响系统示例

为了理解物联网的语境, 考虑一个智能家庭的例子和音频在提高智能家居系统整体能力方面可以发挥的作用。 一个智能家庭, 家里的设备和家用电器可以相互交流,并与居住在那里的人们互动。 通过增加它们之间的相互联系, 智能家庭不仅提高了我们的生活质量, 还提高了我们的安全感。 图6显示了一个智能家居的例子。

图6 | 在智能家居中, 设备和电器可以相互联系, 也可以与居住在那里的人进行交流

智能家居的主要音频用例之一是通过 Wi-Fi 或蓝牙存储和共享音频。 根据应用的不同, Wi-Fi 的选择各不相同, 取决于范围和音频质量的要求。 例如, 如果有人在门口按门铃, 而不是只在家里的一个地方响铃, 主控制器可以在每个房间播放特定的声音。 同样, 控制器可以将声音限制在特定的房间, 比如不在婴儿的育婴室。 嵌入式控制器可以帮助处理这个音频, 通过管理各种输出控制功能使系统更加智能。

图7 智能家居中的无线音频扬声器

图7显示了一个智能家居中可能存在的无线音频扬声器系统。 这个音频系统可以通过几种不同的方式提高音频体验的质量:

重播音频系统

再广播音频系统已成为音频市场的一个重要应用。 无线音频转播系统是智能家居的核心, 它汇集了家中不同的智能设备, 并代表用户做出明智的决定。 例如, 音频系统可以根据目前播放的音乐来控制房间的照明模式。 它也可以使用文本对语音识别来大声读取用户通知或电子邮件。 通过网络音频设备,使用者也可以选择在多房间音频系统内创建区域。 这种方法创造了一个完整的生态系统, 以确保一个家总是以最大的效率运行, 同时尽量减少与居住者的互动。 要创建这样一个生态系统, 物联网设计者需要选择一个嵌入式微控制器, 其性能水平和音频功能将成为物联网应用的优化条件。

数字信号处理效果

在无线链路传输音频数据之前, 数字域的音频信号处理是任何音频系统的重要组成部分。 这种处理方式通常包括测量、过滤和 / 或压缩音频模拟信号。 嵌入式单片机具有集成 DSP 功能, 可以产生诸如添加数字混频器和支持远程控制功能等效果。 通过在每个频道上使用5个频段的 EQ, 音频播放可以与大多数的定序器应用整合在一起, 形成一个强大的工作室系统。

实时音频流

像 Spotify 和 Pandora 这样的音乐流媒体服务,允许用户选择想要播放的歌曲。 理想的应用是这些服务可以在用户的家中播放音频, 并支持一些智能语音命令, 例如选择哪些歌曲添加到播放列表中。 他们还可以通过智能家庭音频系统将实时的互联网服务传输到家庭的不同房间。

在许多物联网系统中, 音频是一种重要的功能, 需要高质量的音频来支持许多高级功能, 如流质量音频、语音识别 / 命令和无线链路(蓝牙和 Wi-Fi)上的音频传输。 有了合适的单片机和集成技术, 就可以设计一个可靠的, 无噪音的, 成本效益高的物联网音频系统。

(译自http://www.embedded-computing.com/articles/designing-high-quality-acoustic-audio-for-iot-applications)

References:

  • http://www.cypress.com/file/298236/ : WICED IEEE 802.11 a/b/g/n SoC with an Embedded Applications Processor - WICED IEEE 802.11 a / b / g / n SoC
  • http://www.cypress.com/products/wiced-software:WICED Software Wiced
  • https://hr.mouser.com/new/Cypress-Semiconductor/cypress-wiced-cyw43907-kit/ : WICED CYW43907 Evaluation Kit
  • http://www.cypress.com/psoc6: PSoC 6: PURPOSE-BUILT FOR THE IoT

本文分享自微信公众号 - 喔家ArchiSelf(wireless_com),作者:老曹

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈FPGA与音频处理器的结合

    FPGA通常是面向通信行业,尽管其主要开发者仍然专注于通信应用, 但他们越来越关注存储和服务器市场。

    半吊子全栈工匠
  • CAP理论与分布式系统设计

    S 先生 是一位难得的技术同行,学者气质,一见如故。s 先生 作为本公众号(wireless_com) 的第一位投稿者,老曹深感荣幸。CAP 和 分布式系统的...

    半吊子全栈工匠
  • 昔我往矣 奋斗迎之

    能够为教育做一点事情,哪怕是一丁点儿,也是每个人的荣幸!今天早上,很高兴在北京师大附中的学期结业式上,在附中百年礼堂分享了个人对幸福和奋斗的一点看法,路上的心情...

    半吊子全栈工匠
  • 笔记60 | Android控制音量与音频播放的学习

    项勇
  • 谷歌新应用程序:可以对语音进行实时转录

    在过去的20年中,谷歌向公众提供了大量的信息,从文本、照片和视频到地图和其他内容。但是,世界上有许多信息是通过语音传达的。然而,即使我们使用录音设备来记录对话、...

    AiTechYun
  • AudioToolbox_如何录制PCM格式的数据

    先来认识一下头文件 AudioConverter.h: 音频转换接口。定义用于创建和使用音频转换器的接口 AudioFile.h: 定义一个用于读取和写入...

    酷走天涯
  • FLV提取AAC音频单独播放并实现可视化的频谱

    音频数字化就是将模拟的(连续的)声音波形数字化(离散化),以便利用数字计算机进行处理的过程,主要参数包括采样频率(Sample Rate)和采样数位/采样精度(...

    smy
  • Android TRTC推自定义采集的音频数据

    如果你的业务场景对声音有特殊要求,需要开发者对声音做一些定制化处理;目前TRTC SDK提供发送自定义采集音频数据的接口,开发者可以自定采集音频数据,然后复用 ...

    腾讯云-chaoli
  • 理解音频焦点 (第1/3部分):常见的音频焦点用例

    Android 开发者
  • 探秘VR体验背后的功臣——3D音频技术

    VRPinea

扫码关注云+社区

领取腾讯云代金券