BLE快速大容量传输(语音实例)

这篇具有很好参考价值的文章主要介绍了BLE快速大容量传输(语音实例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

背景:

LE audio还没有大规模应用,但是在一些场景中需要进行大容量快速传输,例如遥控器语音传输用于语音指令识别,需要直接利用le传输pcm音频流。在此既是要求对延迟比较宽松,另外是考虑le功耗较低本质既是传输事件交互机制,所以持续的传输必然导致功耗的提升。

本文在此探讨一些对传输速率的影响因素:

透传pcm没有经过压缩的数据对速率要求较大,影响传输速率的主要因素:

1、连接间隔

cp.interval_min
cp.interval_max

明显,如果这个连接间隔时间越短,那么传输的速度就增大。连接上传完数据后,蓝牙基带即进入休眠状态,保证低功耗。其是1.25毫秒一个单位。

按照le规范,链接间隔最低设置7.25ms。

2、从设备延迟或者从设备时延

cp.slave_latency

允许Slave(从设备)在没有数据要发的情况下,跳过一定数目的连接事件,在这些连接事件中不必回复Master(主设备)的包,这样就能更加省电(范围可以是0~499)。

Slave Latency = OFF时,master发包,slave必须回复,如果不回复,Master就会认为slave那边接收不正常。

减少或者设置为0,那么每次连接事件中都需要回复Master的包,当然功耗会上升,但数据发送速度也会提高。

3、数据包大小

主要受到mtu设置影响,目前le最大可设512.另外还会和主机端相关,看主机端支持的最大mtu是多少,协商机制会取两者较小者。

4、使用2M PHY
目前BLE支持3种LE PHY,分别是LE 1M PHY,LE 2M PHY,LE CODED PHY,其中LE 2M PHY用于高速率,,而理论距离是LE 1M PHY的一半,而LE CODED PHY用于长距离模式,LE 1M PHY兼顾了距离和速率,可以根据自己实际需要进行选择,如果对传输距离有要求,需要谨慎选择。

LE PHY 可以通过调用api接口发起更新,一般在peripheral端,收到ble_evt_connected事件的时候进行请求更新。如下所示,即可配置为只支持2M 的PHY:

#if (dg_configBLE_2MBIT_PHY == 1)
        /* Switch to 2Mbit PHY during SUOTA */
        ble_gap_phy_set(evt->conn_idx, BLE_GAP_PHY_PREF_2M, BLE_GAP_PHY_PREF_2M);
#endif /* (dg_configBLE_2MBIT_PHY == 1) */

5、发送选择

要获取最大数据吞吐能力,可以将写操作属性设置为不需要ACK,即Write withoutACK,此时IFS以及接受和发送的时间都将极大优化,

在此使用notify不需要答复的方式进行通讯。

6、压缩传输数据

ADPCM编码

这是一种将pcm编码压缩的算法,主要原理是取位深差异。

音频信号虽然是比较连续性的,有些差值比较小,有些差值比较大,如果差值比较大有可能用4bit表示不了,如果增大表示差值的位数(例如8bit\16bit)是可以解决这个问题,但就导致数据量变大,没起到压缩的目的,而且这种差值比较大的只是少数,大部分还是差值比较小的。

为了解决这个问题,前辈们就想出了ADPCM,定义一个因子,用差值除以因子的值来表示两点之差,如果两点之间差值比较大,则因子也比较大。通过因子引入,可以使得DPCM编码自动适应差值比较大的数据。

ADPCM算法并没用固定标准,最经典的就是IMA ADP。

四、

传输过程不仅需要考虑传输带来的速率要求,另外也需要考虑处理过程延时,DMA读取经过采样的pcm给到buf是比较快的,这里为了避免buf重新覆盖采用了两个buf交替传输。

如果这里需要加压缩算法还需要考虑加深buff。文章来源地址https://www.toymoban.com/news/detail-408119.html

到了这里,关于BLE快速大容量传输(语音实例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • USB大容量存储设备无法启动该怎么办?

    USB大容量存储设备(USB mass storage device class,也称为USB MSC或UMS)是一个协议,允许一个USB接口的设备与电脑相连接,以便在两者之间传输文件。对于电脑来说,USB设备看起来就像一个移动硬盘,允许拖放型文件传送。它包括移动硬盘、闪存盘、移动光驱、读卡器、数码相机、

    2024年02月11日
    浏览(29)
  • 低成本、大容量、高交互…Polkadot 引领 GameFi 实现新突破

    有一天,你可以边打游戏边赚钱,实现 Play to earn 的梦想。 这话或许听来有些白日梦,但随着区块链行业的高速发展, DeFi、NFT 的兴起,传统游戏也在区块链行业的大背景下实现新一步的更迭。Play To earn 的理想正在加速落地,GameFi 赛道的火爆让越来越多的技术开发人员投身

    2024年02月02日
    浏览(36)
  • 买手机就要买大容量的以及为什么手机内存满了之后会变卡

    我现在手里正在用的这个是 IPhone XR,2019 年还是 2018 年买的,我记得买的时候已经上市一段时间了。这个是苹果第一款双卡双待的手机,到现在用了三四年了。 都说苹果的手机可以用很多年还很流畅,而安卓的手机一般一两年就卡的没法用,需要换了。这种说法有一定的依据

    2024年02月09日
    浏览(43)
  • 三维后处理与重建PACS源码,大容量图像存储 报告单多种模式及自定义样式

    医学影像系统源码 三维后处理与重建PACS源码 医学影像系统由PACS系统、RIS系统组成,同时提供与HIS的接口(HL7或其他类型) 。 主要功能介绍 信息预约登记 支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理。且支持检查病人排队管理功能; 支持大屏幕队列

    2024年02月03日
    浏览(29)
  • 【完美解决】Windows下移动硬盘无法弹出 | 弹出USB大容量存储设备时出问题 | Windows无法停用设备 | \$Extend\$RmMetadata\$TxfLog\$TxfLog.blf

    使用U盘或者移动硬盘弹总是会遇到无法弹出的情况。此时windows往往不会告诉你具体是什么设备占用,只会提示: 弹出 USB 大容量存储设备 时出问题 或 Windows 无法停用“通用卷”设备,原因是某个程序正在使用它。关闭可能使用该设备的所有程序,然后稍后重试。 有时候我

    2024年02月11日
    浏览(55)
  • BLE Mesh蓝牙mesh传输大数据包传输文件照片等大数据量通讯

    1、BLE Mesh数据传输现状          BLE Mesh网络技术是低功耗蓝牙的一个进阶版,Mesh扩大了蓝牙在应用中的规模和范围,因为它同时支持超过三万个网络节点,可以跨越大型建筑物,不仅可以使得医疗健康应用更加方便快捷,还能监测像学校这类的大型公共场所随时监测学生的

    2024年02月08日
    浏览(33)
  • 【计算机网络 02】物理层基本概念 传输媒体 传输方式 编码与调制 信道极限容量 章节小结

    2.1 物理层基本概念 2.2 物理层下的传输媒体 传输媒体 也称为 传输介质或传输媒介 ,他就是数据传输系统中在发送器和接收器之间的物理通路 传输媒体不属于计算机网络体系结构的任何一层 如果非要将它添加到体系结构中,那只能将其放置到物理层之下 2.3 传输方式 2.4 编码

    2024年02月16日
    浏览(44)
  • 物理层章节笔记-基本概念-传输媒体-传输方式-编码与调制-信道的极限容量--计算机网络

            1.物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输比特流。         2.物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。         计算机网络中的物理层,就

    2024年01月24日
    浏览(41)
  • ESP32蓝牙实例-BLE服务器与客户端通信

    在本文中,我们将介绍如何使用低功耗蓝牙在两个 ESP32 开发板之间执行 BLE 服务器客户端通信。 换句话说,将介绍如何通过 BLE 在两个 ESP32 开发板之间交换数据。 服务器和客户端之间的通信将通过 BLE 进行,其中一个 ESP32 板充当 BLE 服务器并将传感器读数发送到 ESP32 客户端

    2024年02月09日
    浏览(37)
  • CH573-08-BLE蓝牙(通信与点灯)——RISC-V内核BLE MCU快速开发教程

       ch573芯片集成低功耗 2.4-GHz 无线通讯模块,包括 RF 收发器、基带和链路控制以及天线匹配网络,支持低功耗蓝牙 BLE。内部提供一百多个寄存器用于调节参数和控制过程及状态,官方优化的通讯协议栈和应用层 API,支持组网,支持各种主流操作系统下的上位机开发,提

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包