一种蓝牙5.0协议的分段译码方法[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 201911420738.2
(22)申请日 2019.12.31
(71)申请人 大唐半导体科技有限公司
地址 100089 北京市海淀区西北旺镇永嘉
北路6号大唐半导体
(72)发明人 卢鼎 雷海燕 宋存杰 
(74)专利代理机构 北京慕达星云知识产权代理
事务所(特殊普通合伙)
11465
代理人 曹鹏飞
(51)Int.Cl.
H04W  4/80(2018.01)
H04L  1/00(2006.01)
(54)发明名称
一种蓝牙5.0协议的分段译码方法
(57)摘要
本发明公开了一种蓝牙5.0协议的分段译码
方法,通过设计对Access  Address+CI的两种组
进行预FEC编码并比对判决的逻辑,对复杂的
FEC1字段译码进行了替代,提高了FEC1字段的译
码效率,简化了硬件复杂度,突破了快速获取CI
值的瓶颈。该方法通过对三段代码采取不同的译
码方法,提高了并行度和实时性,降低了CPU的工
作压力,并且能够保证FEC译码的容错纠错能力
不损失。权利要求书1页  说明书4页  附图3页CN 110996309 A 2020.04.10
C N  110996309
A
1.一种蓝牙5.0协议的分段译码方法,其特征在于,包括:
通过调制解调收发器对未编码的前导字段进行探测和接收;
根据待接收包的访问地址以及CI字段的组合方式,采用冗余的运算引擎进行预计算的方式进行FEC编码,得到两个预编码码流
使用编码后的访问地址位对空口数据进行解相干,得到FEC1码流;
将FEC1码流分别同时与所述两个预编码码流做异或比较,将相似度高且误码少的预编码码流作为译码结果,并进行判决确定CI值;
接收空口的FEC2码流,并根据判决确定的CI值决定是否做去映射处理;
采用维特比译码器对FEC2码流的FEC编码进行译码;
对译码后的数据依次做去白化和CRC校验,完成接收过程,得到协议数据单元PDU。
2.根据权利要求1所述的一种蓝牙5.0协议的分段译码方法,其特征在于,所述两个预编码码流分别为:
预编码码流1:Access  Address+CI(00b)+TERM1;
预编码码流2:Access  Address+CI(01b)+TERM1。
3.根据权利要求2所述的一种蓝牙5.0协议的分段译码方法,其特征在于,判决确定CI 的过程,具体包括:
如果FEC1码流与预编码码流1相似度高,且误码少于N位,则CI=00b;
如果FEC1码流与预编码码流2相似度高,且误码少于N位,则CI=01b。
4.根据权利要求3所述的一种蓝牙
5.0协议的分段译码方法,其特征在于,所述误码位数N的取值范围为0-8。
5.根据权利要求1所述的一种蓝牙5.0协议的分段译码方法,其特征在于,根据判决确定的CI值决定是否做去映射处理,具体过程包括:
如果CI为00b,则需要进行去映射处理;如果CI为01b,则不需要进行去映射处理。
权 利 要 求 书1/1页CN 110996309 A
一种蓝牙5.0协议的分段译码方法
技术领域
[0001]本发明涉及低功耗蓝牙设计技术领域,更具体的说是涉及一种蓝牙5.0协议的分段译码方法。
背景技术
[0002]目前,随着低功耗蓝牙技术的发展,低功耗蓝牙协议5.0版本的Coded PHY引入了FEC卷积编码来提升容错和纠错能力,从而达到更高的灵敏度。FEC卷积码的引入,带来了性能提升优势的同时,也引入了译码复杂度和译码时间的增加等问题。传统的译码技术,通过增加CPU算力进行软件译码,效率不高且延迟较大。部分较新的设计通过增加专门的加速译码引擎进行译码,虽然一定程度减轻了CPU压力,但是并行度差,延迟较大。
[0003]下面对蓝牙5.0的Coded PHY传统的编码和译码方法进行详细的介绍:
[0004]蓝牙5.0定义了全新的Coded PHY,通过新增FEC编码和pattern映射,对传输的数据位进行编码。这一改变提升了信号的容错纠错能力,增加了传输距离,更好的适应了蓝牙5.0在物联网等领域的应用。蓝牙5.0规范中,定义的蓝牙Coded PHY的数据格式如图1所示,由图1可以看出,蓝牙5.0的Coded PHY的数据包分为三个段:
[0005]1、未编码的前导字(preamble)字段
[0006]2、S-8的Access Address+CI字段(TERM1为FEC编码生成的字段)
[0007]3、S=2/S=8的PDU+CRC字段
[0008]这三段分别需要三种不同的编码和译码策略。传统译码的实现方法包括如下几个步骤:
[0009](1)调制解调收发器(Modem)探测到前导字后,使用Access Address进行相干解调;
[0010](2)接收到FEC1(Access Address+CI+TERM1)字段;
[0011](3)使用CPU或者专门的硬件加速引擎对收到的FEC 1字段进行Pattern去映射和FEC解码,得到Access Address和CI的内容;
[0012](4)根据CI的内容,选择S=2或者S=8对FEC2(PDU+CRC+TERM2)字段内容进行接收;
[0013](5)使用CPU或者专门的硬件加速引擎对收到的FEC2字段进行Pattern去映射和FEC解码,并进行去白化和CRC校验,最终得到PDU。
[0014]传统的译码思路直观清晰,但是存在较多的问题,问题如下:
[0015]首先,蓝牙5.0的码流速率为1Mbps,符号速率较高,软件处理的实时性要求高,时延较大。尤其是第二段需要尽快译码得到CI内容,决定第三段采用S=2还是S=8的译码策略,快速而准确的得到CI值成为整个译码的瓶颈。
[0016]再者,FEC编码效率高,硬件简单,但是FEC译码硬件复杂,时延大,实时性不高。[0017]最后,FEC1到FEC2进行S=8到S=2的切换时,系统需要做好速率匹配,平衡好代码输出的速率,需要特别的控制。
[0018]因此,如何提供一种实时性强、且并行度更高的蓝牙5.0协议的译码方法是本领域技术人员亟需解决的问题。
发明内容
[0019]有鉴于此,本发明提供了一种蓝牙5.0协议的分段译码方法,该方法通过对三段代码采取不同的译码方法,在保证FEC译码的容错纠错能力不损失的前提下,提高了并行度和实时性,降低了CPU的工作压力。解决了现有技术中蓝牙5.0协议的译码方法存在的实时性差、并行度低的问题。
[0020]为了实现上述目的,本发明采用如下技术方案:
[0021]一种蓝牙5.0协议的分段译码方法,该方法包括:
[0022]通过调制解调收发器对未编码的前导字段进行探测和接收;
[0023]根据待接收包的访问地址以及CI字段的组合方式,采用冗余的运算引擎进行预计算的方式进行FEC编码,得到两个预编码码流;
[0024]使用编码后的访问地址位对空口数据进行解相干,得到FEC1码流;
[0025]将FEC1码流分别同时与所述两个预编码码流做异或比较,将相似度高且误码少的预编码码流作为译码结果,并进行判决确定CI值;
[0026]接收空口的FEC2码流,并根据判决确定的CI值决定是否做去映射处理;[0027]采用维特比译码器对FEC2码流的FEC编码进行译码;
[0028]对译码后的数据依次做去白化和CRC校验,完成接收过程,得到协议数据单元PDU。[0029]进一步地,所述两个预编码码流分别为:
[0030]预编码码流1:Access Address+CI(00b)+TERM1;
[0031]预编码码流2:Access Address+CI(01b)+TERM1。
[0032]进一步地,判决确定CI的过程,具体包括:
[0033]如果FEC1码流与预编码码流1相似度高,且误码少于N位,则CI=00b;
[0034]如果FEC1码流与预编码码流2相似度高,且误码少于N位,则CI=01b。
[0035]具体地,所述误码位数N的取值范围为0-8。
[0036]进一步地,根据判决确定的CI值决定是否做去映射处理,具体过程包括:[0037]如果CI为00b,则需要进行去映射处理;如果CI为01b,则不需要进行去映射处理。[0038]经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种蓝牙5.0协议的分段译码方法,通过设计对Access Address+CI的两种组合进行预FEC编码并比对判决的逻辑,对复杂的FEC1字段译码进行了替代,提高了FEC1字段的译码效率,简化了硬件复杂度,突破了快速获取CI值的瓶颈。该方法通过对三段代码采取不同的译码方法,提高了并行度和实时性,降低了CPU的工作压力,并且能够保证FEC译码的容错纠错能力不损失。
附图说明
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0040]图1附图为蓝牙5.0Coded PHY的数据包格式示意图;
[0041]图2附图为本发明提供的一种蓝牙5.0协议的分段译码方法的流程示意图;[0042]图3附图为本发明实施例中分段译码方法的实现原理示意图。
具体实施方式
[0043]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044]参见附图2,本发明实施例公开了一种蓝牙5.0协议的分段译码方法,该方法包括:[0045]S1:通过调制解调收发器对未编码的前导字段进行探测和接收;
[0046]S2:根据待接收包的访问地址以及CI字段的组合方式,采用冗余的运算引擎进行预计算的方式进行FEC编码,得到两个预编码码流;
[0047]S3:使用编码后的访问地址位对空口数据进行解相干,得到FEC1码流;
[0048]S4:将FEC1码流分别同时与两个预编码码流做异或比较,将相似度高且误码少的预编码码流作为译码结果,并进行判决确定CI值;
[0049]S5:接收空口的FEC2码流,并根据判决确定的CI值决定是否做去映射处理;[0050]S6:采用维特比译码器对FEC2码流的FEC编码进行译码;
[0051]S7:对译码后的数据依次做去白化和CRC校验,完成接收过程,得到协议数据单元PDU。
[0052]下面结合附图3具体说明上述方法,内容如下:
[0053]对于未编码的Preamble字段,采取正常的方式,进行接收,由Modem探测;[0054]由于待接收包的Access Address预先已明确,且CI字段只有两种组合(00b和01b)。可以采取冗余的运算引擎进行预计算的方式,进行FEC编码,得到两种情况的预编码字段,分别为:
[0055]预编码码流1:Access Address+CI(00b)+TERM1;
[0056]预编码码流2:Access Address+CI(01b)+TERM1;
[0057]然后使用编码后的Access Address位对空口数据进行解相干,接收到FEC1码流,将此码流分别同时与预编码码流1和码流2做异或比较,相似度高且误码少(N位以内,N为0-8之间的某个可配置数值)的作为译码结果,判决定CI值为00b或者01b,相似度低则表示相关性差,为无效的Access Address,本次解码失效。
[0058]具体地,如果与预编码码流1更相似,则CI为00b,与预编码码流2更相似,则CI为01b,如果两者误码均较高,则判断FEC1码流无效,Access Address无效。
[0059]对空口的FEC2码流进行接收,根据判决的CI值,决定是否采用去映射,具体地,如果CI为00b,则需要进行去映射处理;如果CI为01b,则不需要进行去映射处理。然后采用维特比译码器对FEC2字段
的FEC编码进行译码,接着进行去白化和CRC校验,完成接收过程,得到PDU。
[0060]综上所述,本发明实施例公开的蓝牙5.0协议的分段译码方法,与现有技术相比,具有如下优点:

本文发布于:2024-09-22 18:31:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/465440.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:译码   进行   编码   方法   码流   协议   蓝牙
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议