数据调制方法、数据处理方法、设备和存储介质与流程

文档序号:32208836发布日期:2022-11-16 05:27阅读:156来源:国知局
数据调制方法、数据处理方法、设备和存储介质与流程

1.本技术实施例涉及通信技术领域,尤其涉及一种数据调制方法、数据处理方法、设备和存储介质。


背景技术:

2.蓝牙是一种短距无线通信的技术规范。随着蓝牙技术和终端技术的飞速发展,越来越多的电子设备集成有蓝牙功能,特别是移动设备和便携设备。蓝牙的应用场景越来越广泛。
3.目前,设备间的蓝牙连接是基于已有的蓝牙协议维护的。已有蓝牙协议中最大支持的传输带宽为2m。由于带宽限制,已有蓝牙协议无法支持较大流量的应用场景。蓝牙标准组织正在积极推进新一代蓝牙标准。
4.新一代蓝牙标准将定义蓝牙数据包的格式,如何确保蓝牙数据包的传输成功率,亟待解决。


技术实现要素:

5.本技术实施例提供一种数据调制方法、数据处理方法、设备和存储介质,提升了ri字段扩频后的解调性能,提高了蓝牙数据包的传输成功率。
6.第一方面,提供了一种数据调制方法,应用于第一电子设备,第一电子设备与第二电子设备进行蓝牙通信;方法包括:确定待发送的蓝牙数据包中ri字段的取值对应的比特流,蓝牙数据包还包括帧体,ri字段的取值用于指示帧体的mcs;对比特流进行调制,生成调制符号序列;其中,调制符号序列对应的第一比特长度大于ri字段的第二比特长度。
7.第一方面提供的数据调制方法,对ri字段的比特流进行调制生成调制符号序列,调制符号序列对应的比特长度大于比特流的比特长度,比特数增加,具有扩频增益,从而提升了扩频后ri字段的解调性能,确保了ri字段的传输成功率,帧头解析正确后,进而提升了蓝牙数据包的传输成功率。
8.一种可能的实现方式中,对比特流进行调制,生成调制符号序列,包括:对比特流进行cck调制,生成调制符号序列;其中,调制符号序列包括2^m个qpsk符号,m为正整数。
9.在该实现方式中,对ri字段进行cck调制。cck调制的输入为ri字段的比特流,输出为包括2^m个qpsk符号的调制符号序列。通过cck调制对ri字段同时完成扩频和调制,提高了ri字段的解调性能,确保了ri字段的正确解析,提高了蓝牙数据包的传输成功率。
10.一种可能的实现方式中,2^(m+1)与第二比特长度的比值大于或等于4。
11.在该实现方式中,扩频后ri字段的扩频倍数大于或等于4,扩频增益可以到达6db及以上,提高了ri字段的解调性能,提高了蓝牙数据包的传输成功率。
12.一种可能的实现方式中,对比特流进行cck调制,生成调制符号序列,包括:根据预设的ri字段与基准相位之间的映射关系,获取比特流对应的m+1个基准相位;根据m+1个基准相位确定2^m个qpsk符号的相位;根据2^m个qpsk符号的相位生成调制符号序列。
13.一种可能的实现方式中,第二比特长度为4比特,m等于3,预设的ri字段与基准相位之间的映射关系为:[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π+(π/2),0,b3*π]。其中,φ1、φ2、φ3和φ4表示4个基准相位,b0、b1、b2和b3表示ri字段中每个比特的取值。
[0014]
一种可能的实现方式中,第二比特长度为4比特,m等于4,预设的ri字段与基准相位之间的映射关系为:[φ1,φ2,φ3,φ4,φ5]=[b0*π,b1*(π/2),b2*π+(π/2),0,b3*π]。其中,φ1、φ2、φ3、φ4和φ5表示5个基准相位,b0、b1、b2和b3表示ri字段中每个比特的取值。
[0015]
一种可能的实现方式中,根据m+1个基准相位确定2^m个qpsk符号的相位,包括:获取2^m阶walsh码中的m+1个码字;根据m+1个基准相位和m+1个码字,确定2^m个qpsk符号的相位。
[0016]
在该实现方式中,参考walsh码的构成规律确定m+1个基准相位与2^m个qpsk符号的相位之间的映射关系,可以在接收端实现迭代译码,大大提升了译码效率和速度。
[0017]
一种可能的实现方式中,根据m+1个基准相位和m+1个码字,确定2^m个qpsk符号的相位,包括:将m+1个码字分别作为矩阵的行,形成目标矩阵;根据m+1个基准相位与目标矩阵的每个列向量,得到2^m个qpsk符号的相位。
[0018]
一种可能的实现方式中,m等于3,2^m阶walsh码包括m+1个码字包括
[0019]
在该实现方式中,由于之间的距离最远,参考的构成规律确定4个基准相位与8个qpsk符号的相位之间的映射关系,进一步提升了迭代译码的效率和速度。
[0020]
一种可能的实现方式中,m等于4,2^m阶walsh码包括m+1个码字包括
[0021]
在该实现方式中,由于之间的距离最远,参考的构成规律确定5个基准相位与16个qpsk符号的相位之间的映射关系,进一步提升了迭代译码的效率和速度。
[0022]
一种可能的实现方式中,根据2^m个qpsk符号的相位生成调制符号序列,包括:采用码字表达式c生成调制符号序列;c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)};或者,c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)}.*{预设符号序列};其中,ψ1,ψ2,

,ψ2^m表示2^m个qpsk符号的相位;.*表示对应位置相乘;预设符号序列为2^m个由1,-1组成的序列。
[0023]
在该实现方式中,当使用预设符号序列时,可以通过预设符号序列进一步改变2^m个qpsk符号的相位,针对2^m个qpsk符号,使得整个码字的直流分量更小,便于解调。
[0024]
一种可能的实现方式中,对比特流进行调制,生成调制符号序列,包括:采用预设扩频码对比特流进行扩频,得到扩频序列;采用预设调制方法对扩频序列进行调制,生成调制符号序列。
[0025]
在该实现方式中,对ri字段先扩频再调制,经过扩频和调制后得到调制符号序列,提高了ri字段的解调性能,确保了接收端设备对ri字段的正确解析,提高了蓝牙数据包的
传输成功率。
[0026]
一种可能的实现方式中,预设调制方法为下列中的一项:dpsk、qpsk或8psk。
[0027]
一种可能的实现方式中,预设扩频码为下列中的一项:walsh码、golden码或m序列。
[0028]
一种可能的实现方式中,第二比特长度大于或等于2比特。
[0029]
第二方面,提供了一种数据处理方法,应用于第一电子设备,第一电子设备与第二电子设备进行蓝牙通信;方法包括:确定待发送的蓝牙数据包用于承载消息ll_phy_req、消息ll_phy_rsp或者消息ll_phy_update_req;蓝牙数据包包括ri字段;将ri字段的取值设置为在当前传输带宽下最小mcs对应的ri字段预设取值。
[0030]
第二方面提供的数据处理方法,在第一电子设备与第二电子设备执行更新带宽流程的场景中,传输消息ll_phy_req、消息ll_phy_rsp或者消息ll_phy_update_req时,采用当前带宽下的最小mcs进行传输。通过降低传输消息使用的mcs以提升解调性能,从而提高消息的接收成功率,提高更换带宽流程的成功率。
[0031]
第三方面,提供了一种电子设备,包括:确定模块和处理模块。确定模块,用于确定待发送的蓝牙数据包中ri字段的取值对应的比特流,蓝牙数据包还包括帧体,ri字段的取值用于指示帧体的mcs;处理模块,用于对比特流进行调制,生成调制符号序列;其中,调制符号序列对应的第一比特长度大于ri字段的第二比特长度。
[0032]
一种可能的实现方式中,处理模块具体用于:对比特流进行cck调制,生成调制符号序列;其中,调制符号序列包括2^m个qpsk符号,m为正整数。
[0033]
一种可能的实现方式中,2^(m+1)与第二比特长度的比值大于或等于4。
[0034]
一种可能的实现方式中,处理模块具体用于:根据预设的ri字段与基准相位之间的映射关系,获取比特流对应的m+1个基准相位;根据m+1个基准相位确定2^m个qpsk符号的相位;根据2^m个qpsk符号的相位生成调制符号序列。
[0035]
一种可能的实现方式中,第二比特长度为4比特,m等于3,预设的ri字段与基准相位之间的映射关系为:[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π+(π/2),0,b3*π]。其中,φ1、φ2、φ3和φ4表示4个基准相位,b0、b1、b2和b3表示ri字段中每个比特的取值。
[0036]
一种可能的实现方式中,第二比特长度为4比特,m等于4,预设的ri字段与基准相位之间的映射关系为:[φ1,φ2,φ3,φ4,φ5]=[b0*π,b1*(π/2),b2*π+(π/2),0,b3*π]。其中,φ1、φ2、φ3、φ4和φ5表示5个基准相位,b0、b1、b2和b3表示ri字段中每个比特的取值。
[0037]
一种可能的实现方式中,处理模块具体用于:获取2^m阶walsh码中的m+1个码字;根据m+1个基准相位和m+1个码字,确定2^m个qpsk符号的相位。
[0038]
一种可能的实现方式中,处理模块具体用于:将m+1个码字分别作为矩阵的行,形成目标矩阵;根据m+1个基准相位与目标矩阵的每个列向量,得到2^m个qpsk符号的相位。
[0039]
一种可能的实现方式中,m等于3,2^m阶walsh码包括m+1个码字包括
[0040]
一种可能的实现方式中,m为4,2^m阶walsh码包括m+1个码
字包括
[0041]
一种可能的实现方式中,处理模块具体用于:采用码字表达式c生成调制符号序列;c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)};或者,c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)}.*{预设符号序列};其中,ψ1,ψ2,

,ψ2^m表示2^m个qpsk符号的相位;.*表示对应位置相乘;预设符号序列为2^m个由1,-1组成的序列。
[0042]
一种可能的实现方式中,处理模块具体用于:采用预设扩频码对比特流进行扩频,得到扩频序列;采用预设调制方法对扩频序列进行调制,生成调制符号序列。
[0043]
一种可能的实现方式中,预设调制方法为下列中的一项:dpsk、qpsk或8psk。
[0044]
一种可能的实现方式中,预设扩频码为下列中的一项:walsh码、golden码或m序列。
[0045]
一种可能的实现方式中,第二比特长度大于或等于2比特。
[0046]
第四方面,提供了一种电子设备,包括:确定模块和处理模块。确定模块用于确定待发送的蓝牙数据包用于承载消息ll_phy_req、消息ll_phy_rsp或者消息ll_phy_update_req;蓝牙数据包包括ri字段;处理模块,用于将ri字段的取值设置为在当前传输带宽下最小mcs对应的ri字段预设取值。
[0047]
第五方面,提供一种电子设备,电子设备包括处理器,处理器用于与存储器耦合,并读取存储器中的指令并根据指令使得电子设备执行第一方面或第二方面提供的方法。
[0048]
第六方面,提供一种程序,该程序在被处理器执行时用于执行第一方面或第二方面提供的方法。
[0049]
第七方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机或处理器上运行时,实现第一方面或第二方面提供的方法。
[0050]
第八方面,提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得该设备实施第一方面或第二方面提供的方法。
附图说明
[0051]
图1为本技术实施例提供的应用场景图;
[0052]
图2为本技术实施例提供的蓝牙数据包的一种格式示意图;
[0053]
图3为本技术实施例提供的蓝牙数据包的另一种格式示意图;
[0054]
图4为本技术实施例提供的蓝牙数据包的又一种格式示意图;
[0055]
图5为本技术实施例提供的蓝牙数据包的又一种格式示意图;
[0056]
图6为本技术实施例提供的数据传输场景的一种示意图;
[0057]
图7为本技术实施例提供的数据传输场景的另一种示意图;
[0058]
图8为本技术实施例提供的手机与无线耳机之间的一种消息交互图;
[0059]
图9为本技术实施例提供的数据传输场景的又一种示意图;
[0060]
图10为本技术实施例提供的手机与无线耳机之间的另一种消息交互图;
[0061]
图11为本技术实施例提供的手机与无线耳机之间的又一种消息交互图;
[0062]
图12为本技术实施例提供的数据调制方法的一种流程图;
[0063]
图13为本技术实施例提供的数据调制方法的一种原理示意图;
[0064]
图14为本技术实施例提供的数据调制方法的另一种流程图;
[0065]
图15为本技术实施例提供的数据调制方法的另一种原理示意图;
[0066]
图16为qpsk星座图的一种示意图;
[0067]
图17为本技术实施例提供的电子设备的一种结构示意图;
[0068]
图18为本技术实施例提供的电子设备的另一种结构示意图。
具体实施方式
[0069]
下面结合附图描述本技术实施例。
[0070]
本技术实施例提供的数据调制方法,适用于设备间进行蓝牙通信的场景。示例性的,图1为本技术实施例提供的应用场景图。如图1所示,应用场景包括手机和无线耳机。手机与无线耳机建立蓝牙连接后,手机与无线耳机之间通过蓝牙连接进行数据交互。当手机向无线耳机发送数据时,手机为发送设备,无线耳机为接收设备。当无线耳机向手机发送数据时,手机为接收设备,无线耳机为发送设备。
[0071]
需要说明的是,图1并不对应用场景形成限定,对应用场景中设备的名称、数量和类型不做限制。例如,设备可以称为通信设备、终端设备或电子设备。一些设备的举例为:手机、平板、可穿戴设备、笔记本、蓝牙耳机、蓝牙音箱、电视等。
[0072]
为了便于描述,本技术实施例以手机与无线耳机进行蓝牙数据交互为示例。在一些实施例中,手机为发送设备,无线耳机为接收设备。
[0073]
首先,对本技术实施例适用的蓝牙数据包的帧格式进行说明。
[0074]
手机与无线耳机之间可以传输蓝牙数据包(也称为数据帧、蓝牙数据帧、蓝牙信息等)。蓝牙协议(也称为标准)中定义了蓝牙数据包的帧格式。蓝牙协议的版本不同,帧格式通常不同。
[0075]
目前,蓝牙协议包括:基础速率(basic rate,br)协议、扩展数据速率(enhanced date rate,edr)协议和蓝牙低功耗(bluetooth low energy,ble)协议。br协议或edr协议最高支持3mbps的传输速率,支持的带宽为1mhz。ble协议支持1mbps、2mbps、500kbps和125kbps的传输速率,支持的带宽包括1mhz和2mhz。br协议、edr协议和ble协议均不支持高清音频等业务,因此,蓝牙标准组织正在积极推进新一代蓝牙标准,例如可以称为高数据吞吐量(high data thoughtput,hdt)协议或ble hdt协议,以支持较大流量的应用场景。例如,传输高清音频数据的场景。hdt协议支持8mbps及以上的传输速率,支持的带宽包括2mhz和4mhz。
[0076]
下面对hdt协议的4种帧格式进行示例性说明,但并不对hdt协议的帧格式形成限定。
[0077]
1、第一种帧格式
[0078]
图2为本技术实施例提供的蓝牙数据包的一种格式示意图。如图2所示,蓝牙数据包包括但不限于:preamble(前导)字段、acess code(接入码)字段、trailer(尾巴)字段、ri(rate indicator,速率指示)字段、guard(保护间隔)字段、sync(同步)字段、header(头部)字段、hec(header error check,帧头差错校验)字段、payload(负载)字段、crc(cyclic redundancy check,循环冗余校验)字段和trailer字段。
[0079]
其中,位于header字段之前的字段可以称为帧头(或称为控制字段),包括:preamble字段、acess code字段、trailer字段、ri字段、guard字段和sync字段。header字段以及位于header字段之后的字段可以称为帧体(或称为数据字段),包括:header字段、hec字段、payload字段、crc字段和trailer字段。在图2中通过最低有效位(least significant bit,lsb)和最高有效位(most significant bit,msb)体现字段之间的位置关系。
[0080]
下面,对部分字段进行简单说明。
[0081]
(1)位于帧头的trailer字段
[0082]
当帧头采用差分调制方式时,例如,acess code字段采用差分相移键控(differential phase shift keying,dpsk)时,采用差分调制方式的字段后面可以有trailer字段。
[0083]
由于差分调制是通过前后码字的差别表示信息的,例如,相位差别。为了确保最后一位信息的正确解调,trailer字段可以更好的解调。
[0084]
可选的,位于帧头的部分字段可以进行编码,以提高解调性能。可选的,acess code字段、trailer字段和ri字段可以一起编码。
[0085]
(2)ri字段
[0086]
ri字段用于指示帧体的调制方式和编码码率(modulation and coding scheme,mcs)。本技术实施例对ri字段的比特长度(或称为比特数)不做限定。例如,ri字段可以大于2bit。可选的,ri字段可以为2bit~4bit。ri字段为2bit时,具有4个取值,十进制数值为0~3,二进制序列分别为00、01、10和11。ri字段可以表示4种mcs。相似的,ri字段为3bit时可以表示8种mcs,ri字段为4bit时可以表示16种mcs。
[0087]
可选的,不同带宽均可以对应一组mcs。本技术实施例对每种带宽下mcs的数量不做限定。带宽不同、mcs不同,对应的传输速率可以不同。示例性的,表1和表2示出了hdt协议中带宽、ri字段、mcs与传输速率之间的映射关系,但并不对该映射关系形成限定。
[0088]
表1
[0089][0090]
在表1中,ri字段为3bit,十进制取值包括0~7,用于指示7种mcs。其中,调制方式包括正交相移键控(quadrature reference phase shift keying,qpsk)和八相移键控(8reference phase shift keying,8psk)。编码码率包括1/2、2/3、3/4、5/6、7/12和1。编码码率为1时表示没有编码。
[0091]
比如,2mhz带宽下,ri字段取值为0,表示帧体采用qpsk调制方式,编码码率为1/2,对应的传输速率为2mbps。4mhz带宽下,ri字段取值为7,表示帧体采用8psk调制方式但是不进行编码,对应的传输速率为12mbps。
[0092]
不同mcs对应的传输速率不同。传输速率最小的mcs可以称为最小mcs,传输速率最大的mcs可以称为最大mcs。可选的,同一带宽下,ri字段取值越小,指示的mcs越小。例如,4mhz带宽下,ri字段取值为4对应的mcs小于ri字段取值为5~7对应的mcs。
[0093]
可选的,当mcs不变时,可以通过改变带宽来改变传输速率。带宽越大,传输速率越高。例如,当mcs为qpsk和1/2编码码率的组合时,2mhz带宽下该mcs对应的传输速率为2mbps,4mhz带宽下该mcs对应的传输速率为4mbps。
[0094]
表2
[0095][0096]
在表2中,ri字段为2bit,十进制取值包括0~4,用于指示4种mcs。原理与表1相似,不再赘述。
[0097]
可以理解,带宽相同时,传输速率越高,对应的解调门限也越高,相应的,解调性能就会变差。相比于不进行编码,采用编码方式后,虽然传输速率有损失,但解调性能将大大提升。示例性的,如表1所示,2mhz带宽下,对于qpsk调制方式,编码码率为1/2的编码方式相比于不进行编码,传输速率从4mbps下降到2mbps,速率降低一半,但是编码带来的收益可以使帧体的解调性能提升约6db。编码码率的取值在0和1之间。编码码率越小,对应的解调性能越好。相反的,当编码码率为最大值1时,不进行编码,对应的解调性能最差。
[0098]
在设备间进行蓝牙传输的过程中,帧体通常携带数据且数据量很大,帧头通常携带控制信息。为了确保蓝牙数据包的传输成功率,在本技术实施例中,ri字段可以采用扩频和/或调制的方式进行传输,使得ri字段扩频后的解调性能大于帧体采用多种预设编码码率中的最小编码码率时的解调性能。后续通过实施例进行详细说明。
[0099]
(3)guard字段
[0100]
位于guard字段前后的字段通常采用不同的调制方式,导致调制性能不同。guard字段用于分隔前后字段,从而提供切换时间,使得guard字段前后的字段可以使用不同的调制方式。
[0101]
可选的,guard字段的长度为5μs。
[0102]
(4)sync字段
[0103]
位于guard字段之后,用于为guard字段之后的字段在调制过程中提供同步信息,例如,相位同步信息。
[0104]
可选的,sync字段的长度为11μs。
[0105]
(5)header字段
[0106]
用于承载控制信息。header字段和hec字段可以采用n=64或128的polar码编码为一个码块,编码后的码块的长度为64bit或128bit。
[0107]
(6)payload字段
[0108]
用于承载手机向无线耳机发送的数据。payload字段和crc字段可以采用m个码长为n的polar码编码,编码后包括m个码块,每个码块的长度为nbit。可选的,crc字段的长度为32bit。
[0109]
需要说明,在不同的数据传输场景中,payload字段中手机向无线耳机发送的数据
内容可能不同,例如为音频数据、高清音频数据或控制信息。后续通过图6~图11进行示例性说明。
[0110]
(7)位于帧体的trailer字段
[0111]
手机采用ri字段指示的mcs对帧体进行调制和编码后,发送给无线耳机。相应的,无线耳机对接收到的数据进行解码和解调。为了避免在解调过程中最后一个符号的频谱扩展,解调错误,可以在帧体的最后增加trailer字段。
[0112]
需要说明,上述各个字段的其他描述可以参照已有蓝牙协议,本技术不做具体说明。
[0113]
可见,在图2所示的帧结构中,帧头具有guard字段和sync字段,帧头和帧体可以采用不同的调制方式。例如,帧头采用高斯频移键控(gauss frequency shift keying,gfsk)调制方式,帧体采用相位调制方式。帧体进行编码,编码码率小于1。
[0114]
2、第二种帧格式
[0115]
图3为本技术实施例提供的蓝牙数据包的另一种格式示意图。如图3所示,蓝牙数据包包括但不限于:preamble字段、acess code字段、trailer字段、ri字段、header字段、hec字段、payload字段、crc字段和trailer字段。
[0116]
其中,位于header字段之前的字段可以称为帧头,包括:preamble字段、acess code字段、trailer字段和ri字段。header字段以及位于header字段之后的字段可以称为帧体,包括:header字段、hec字段、payload字段、crc字段和trailer字段。
[0117]
该帧格式与上述第一种帧格式的区别在于:该帧格式中没有guard字段和sync字段,帧头和帧体可以采用相同的调制方式,例如,均采用相位调制方式。
[0118]
3、第三种帧格式
[0119]
图4为本技术实施例提供的蓝牙数据包的又一种格式示意图。如图4所示,蓝牙数据包包括但不限于:preamble字段、acess code字段、ri字段、header字段、hec字段、payload1字段~payloadn字段、crc1字段~crcn字段、pilot(导频)字段和trailer字段。其中,payload1字段~payloadn字段与crc1字段~crcn字段一一对应。
[0120]
其中,位于header字段之前的字段可以称为帧头,包括:preamble字段、acess code字段和ri字段。header字段以及位于header字段之后的字段可以称为帧体,包括:header字段、hec字段、payload1字段~payloadn字段、crc1字段~crcn字段、pilot字段和trailer字段。
[0121]
该帧格式与上述第一种帧格式的区别在于:该帧格式中没有guard字段和sync字段,帧头和帧体可以采用相同的调制方式,例如,均采用相位调制方式。
[0122]
该帧格式与上述第一种帧格式和第二种帧格式的区别还在于:该帧格式的帧头中没有trailer字段,帧头不能采用差分调制方式,例如,不能采用dpsk调制方式。另外,采用了分段crc校验。即,每一对payload字段和crc字段可以采用polar码编码且进行crc校验。例如,payload1字段和crc1字段采用polar码编码且进行crc校验,payload2字段和crc2字段采用polar码编码且进行crc校验,等。通过分段编码和分段crc校验,无线耳机可以分段解调和检测数据,提升了数据传输效率和译码效率。
[0123]
4、第四种帧格式
[0124]
图5为本技术实施例提供的蓝牙数据包的又一种格式示意图。如图5所示,蓝牙数
据包包括但不限于:preamble字段、acess code字段、trailer字段、ri字段、header字段、payload字段、crc字段和trailer字段。
[0125]
在本实现方式中,header字段和payload字段不进行编码,编码码率为1。header字段不作为单独的字段位于payload字段之前,而是作为payload字段的一部分。
[0126]
其中,位于payload字段之前的字段可以称为帧头,包括:preamble字段、acess code字段、trailer字段和ri字段。payload字段以及位于payload字段之后的字段可以称为帧体,包括:payload字段、crc字段和trailer字段。其中,payload字段包括header字段。
[0127]
下面,以音乐场景为例对蓝牙数据的传输场景进行说明。
[0128]
示例性的,在一个场景中,如图6所示,手机与无线耳机建立蓝牙连接之后,手机响应于用户的操作,显示音乐应用界面21。本实施例对用户的操作不做限定。示例性的,音乐应用界面21中包括音乐标题、歌曲海报、播放控件等。例如,播放控件包括播放按键22、上一首按键23、下一首按键24和进度条25。用户点击播放按键22,播放歌曲。相应的,手机响应于用户点击播放按键22的操作,生成歌曲的音频数据以及包含音频数据的蓝牙数据包。例如,在图2~图5所示的帧结构中,payload字段可以承载手机向无线耳机发送的音频数据。手机将蓝牙数据包通过与无线耳机之间的蓝牙连接发送至无线耳机。无线耳机接收到手机发送的蓝牙数据包后,解析蓝牙数据包,获得音频数据并播放歌曲。
[0129]
示例性的,在另一个场景中,如图7所示,手机与无线耳机已经建立蓝牙连接。手机当前显示音乐应用界面21。手机响应于用户的操作,在音乐应用界面21中显示音质调节选项框26。本实施例对用户的操作不做限定。示例性的,音质调节选项框26中包括多个控件,例如:标准品质控件、高品质控件和无损品质控件。不同品质(也可以称为音质)可以理解为编码后的音频文件的数据量不同。品质越高,数据量越大,其传输时所需的带宽也就越大。可选的,按照所需带宽从小到大的顺序依次为:标准品质、高品质、无损品质。用户可以点击标准品质控件27,播放标准品质下的歌曲。相应的,手机响应于用户点击标准品质控件27的操作,生成标准品质的音频数据以及包含该音频数据的蓝牙数据包。例如,在图2~图5所示的帧结构中,payload字段可以承载手机向无线耳机发送的标准品质的音频数据。手机将蓝牙数据包通过与无线耳机之间的蓝牙连接发送至无线耳机。无线耳机接收到手机发送的蓝牙数据包后,解析蓝牙数据包,获得标准品质的音频数据并播放歌曲。
[0130]
上述场景的消息交互流程可以参见图8。图8为本技术实施例提供的手机与无线耳机之间的一种消息交互图。如图8所示,具体包括:
[0131]
s801、手机与无线耳机之间建立蓝牙连接。
[0132]
手机与无线耳机之间可以通过多次蓝牙信令的交互,传输建立蓝牙连接所需的信息。例如,可以协商蓝牙加密密钥,用于在数据传输过程中对蓝牙数据进行加密。具体交互过程和内容可以参照蓝牙协议中的描述,本技术实施例不做具体描述。
[0133]
s802、手机与无线耳机进行数据传输。
[0134]
手机与无线耳机可以基于已建立的蓝牙连接进行数据交互。例如,在图6或图7所示场景中,手机向无线耳机发送蓝牙数据包,蓝牙数据包中包括音频数据。
[0135]
需要说明,在不同的应用场景中,蓝牙数据包中手机向无线耳机发送的数据可能不同。
[0136]
示例性的,在又一个场景中,手机与无线耳机使用的带宽需要更新。如图9所示,手
机与无线耳机已经建立蓝牙连接。手机当前显示音乐应用界面21,并且播放标准品质的歌曲。手机与无线耳机当前使用的带宽为2mhz。用户点击无损品质控件28,切换播放无损品质下的歌曲。不同品质歌曲对应的编码后的数据量不同。假设,在音乐播放时长相同的情况下,标准品质对应的数据量为3.9mb,高品质对应的数据量为9.8mb,无损品质对应的数据量为30.2mb。若音乐播放时长为1分钟,则无损品质要求在1分钟内,手机向无线耳机传输30.2mb大小的音频数据。为满足传输速率需求,手机需要将当前的2mhz带宽切换为更大的带宽,例如,4mhz带宽,以提高数据传输对带宽和速率的需求。因此,手机向无线耳机发送无损品质的音频数据之前,需要与无线耳机进行带宽更新的协商。在带宽更新协商完成后,从2mhz带宽切换到4mhz带宽,手机使用4mhz带宽向耳机发送无损品质的音频数据。
[0137]
在该场景下,参见图10,图8中s802可以具体包括:
[0138]
s1001、手机向无线耳机发送带宽更新请求消息。
[0139]
示例性的,手机响应于用户点击无损品质控件28的操作,向无线耳机发送带宽更新请求消息,以指示将当前的带宽(例如2mhz)更新为4mhz。
[0140]
示例性的,参见图2~图5所示的帧结构,手机发送的带宽更新请求消息中的header字段可以包括信令指示信息,用于指示该消息为控制消息。payload字段中可以包括带宽切换指示信息,用于指示切换带宽。例如,指示将当前的2mhz带宽切换为4mhz。
[0141]
s1002、无线耳机向手机发送带宽更新响应消息。
[0142]
示例性的,无线耳机接收到手机发送的带宽更新请求消息后,向手机发送带宽更新响应消息,用于指示无线耳机可基于无线耳机指示的带宽进行更新。
[0143]
s1003、手机向无线耳机发送带宽更新确认消息。
[0144]
示例性的,手机接收到无线耳机发送的带宽更新响应消息后,可向无线耳机发送带宽更新确认消息,用于指示切换带宽的具体时刻。以使得无线耳机可在指定的时刻在指定的带宽上接收手机发送的蓝牙数据包。
[0145]
s1004、无线耳机更新带宽配置。
[0146]
示例性的,无线耳机更新带宽配置,以在指定的时刻在指定的带宽(例如4mhz带宽)上接收手机发送的蓝牙数据包。
[0147]
s1005、手机更新带宽配置。
[0148]
示例性的,手机更新带宽配置,以在指定的时刻在指定的带宽(例如4mhz带宽)上向无线耳机发送蓝牙数据包。
[0149]
本实施例对s1004和s1005的执行顺序不做限定。
[0150]
之后,手机可以向无线耳机发送蓝牙数据包,其中包括无损品质的音频数据。
[0151]
需要说明的是,图10示出了手机与无线耳机的上层信令交互流程。更新带宽流程通常由设备内协议栈高层发起。图11为本技术实施例提供的手机与无线耳机之间的又一种消息交互图,示出了手机和无线耳机内部协议栈高层与协议栈低层之间的消息交互。其中,协议栈低层可以包括链路层(linker layer,ll)和物理层(physicallayer,phy)。如图11所示,可以包括:
[0152]
s1101、手机高层向手机低层发送带宽更新消息(hdt set phy),指示更新带宽。例如,从2mhz更新为4mhz。
[0153]
s1102、手机低层向手机高层发送带宽更新确认消息(command status),指示执行
更新带宽流程。
[0154]
s1103、手机低层向无线耳机低层发送物理层带宽更新消息(ll_phy_req),指示更新带宽。例如,从2mhz更新为4mhz。
[0155]
s1104、无线耳机低层向手机低层向发送物理层带宽更新确认消息(ll_phy_req),指示无线耳机可基于无线耳机指示的带宽进行更新。
[0156]
s1105、手机低层向无线耳机低层发送带宽更新通知消息(ll_phy_update_req),指示切换带宽的具体时刻。
[0157]
s1106、手机低层和无线耳机低层在物理层更新带宽配置。
[0158]
s1107、手机低层向手机高层发送带宽更新完成消息(phy update complete),指示更新带宽完成。
[0159]
s1108、无线耳机低层向无线耳机高层发送phy update complete消息,指示更新带宽完成。
[0160]
其中,本实施例不限定s1107和s1108的执行顺序。
[0161]
其中,在手机与无线耳机的物理层交互过程中,以无线耳机为例,无线耳机每接收到手机发送的消息(或信令)后,对消息进行相应处理,例如解封装、校验等处理,并在指定的带宽(即更新后的带宽,例如4mhz)上,向手机回复ack(acknowledgement,确认)信息或nack(negative acknowledgement,否定)信息,以指示无线耳机是否正确接收到消息。
[0162]
在本技术实施例中,为了确保s1103~s1105中消息ll_phy_req、ll_phy_rsp和ll_phy_update_req的传输具有良好的可靠性,确保接收方设备可以成功接收到,可以采用小于帧体当前mcs的mcs进行传输。通过降低该消息的mcs以提升解调性能,从而提高消息的接收成功率,提高更换带宽流程的成功率。
[0163]
举例说明。假设,当前带宽为2mhz,期望更新为4mhz,当前mcs对应为4mbps。则可以采用低于4mbps的mcs传输ll_phy_req、ll_phy_rsp和ll_phy_update_req。如果ri字段为2bit,则参照表2。2mhz带宽下低于4mbps的mcs包括3mbps的mcs(ri字段取值为1)和2mbps的mcs(ri字段取值为0)。所以,当采用低于4mbps的mcs传输上述三条消息时,ri字段的取值可以为0或1。即,消息ll_phy_req、ll_phy_rsp和ll_phy_update_req的蓝牙数据包中ri字段的取值为0或1,对应二进制00或01。
[0164]
可选的,为了提高传输的稳定性,应对通信时mcs变化频繁的场景,可以统计预设时间段内帧体的平均mcs,采用小于帧体平均mcs的mcs传输s1103~s1105中的消息ll_phy_req、ll_phy_rsp和ll_phy_update_req。本实施例对预设时间段的取值不做限定。
[0165]
可选的,为了进一步确保s1103~s1105中消息ll_phy_req、ll_phy_rsp和ll_phy_update_req的传输具有良好的可靠性,可以采用当前带宽内最小mcs或最小传输速率对应的mcs进行传输。
[0166]
举例说明。假设,ri字段为3bit,当前带宽为4mhz,期望更新为2mhz,当前mcs对应传输速率为10mbps。参照表1。4mhz带宽下的最小mcs对应传输速率为4mbps,ri字段的取值为0。则采用4mhz内的最小mcs传输消息,即,消息ll_phy_req、ll_phy_rsp和ll_phy_update_req的蓝牙数据包中ri字段的取值为0,对应二进制000。
[0167]
本技术实施例提供了一种数据调制方法,可以应用于hdt协议,通过对ri字段进行扩频和/或调制,使得ri字段扩频后的解调性能大于帧体采用多种预设编码码率中最小编
码码率时的解调性能,确保了接收端对ri字段的正确解调,提高了蓝牙数据包的传输成功率。
[0168]
需要说明,本技术实施例提供的数据调制方法,还可以通过对ri字段进行扩频和/或调制,使得调制后生成的调制符号序列的比特长度与ri字段的比特长度的比值(可以简称为扩频倍数)大于或等于预设阈值,从而确保接收端对ri字段的正确解调,提高了蓝牙数据包的传输成功率。本技术实施例对预设阈值的取值不做限定,例如,预设阈值为4。
[0169]
本技术实施例提供的数据调制方法,也可以应用于蓝牙数据包中帧头的其他字段,对此不做限定。
[0170]
下面通过具体的实施例对本技术的技术方案进行详细说明。下面的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
[0171]
本技术实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。本技术实施例中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0172]
图12为本技术实施例提供的数据调制方法的一种流程图。本实施例的执行主体可以为第一电子设备,例如手机。第一电子设备与第二电子设备可以进行蓝牙通信,第二电子设备例如为无线耳机。如图12所示,本实施例提供的数据调制方法,可以包括:
[0173]
s1201、确定待发送的蓝牙数据包中ri字段的取值对应的比特流。蓝牙数据包还包括帧体,ri字段的取值用于指示帧体的mcs。
[0174]
其中,蓝牙数据包的帧结构、ri字段、帧体、mcs可以参见上述图2~图5和表1所示,此处不再赘述。
[0175]
具体的,可以采用现有技术针对待发送的蓝牙数据包确定帧体的mcs,再根据ri字段、mcs之间的映射关系,例如表1和表2,确定ri字段的取值。ri字段的比特长度或比特数可以称为第二比特长度。ri字段的取值对应的比特流为第二比特长度。举例说明。假设,ri字段的取值为十进制2。如果ri字段为2bit,则比特流为10。如果ri字段为3bit,则比特流为010。如果ri字段为4bit,则比特流为0010。
[0176]
s1202、对比特流进行调制,生成调制符号序列。其中,调制符号序列对应的第一比特长度大于ri字段的第二比特长度。
[0177]
可选的,调制符号序列的解调性能大于帧体采用多种预设编码码率中最小编码码率时的目标解调性能(或称为帧体最低mcs对应的编码收益)。
[0178]
其中,调制符号序列可以包括多个调制符号,调制符号的类型和对应的比特长度与使用的调制方式有关。例如,调制方式为qpsk时,调制符号为qpsk符号,每个qpsk符号对应的比特长度为2bit。假设,比特流为nbit,采用qpsk调制生成的调制符号序列包括n/2个qpsk符号,调制符号序列对应的比特长度(称为第一比特长度)为(n/2)*2=nbit。又例如,调制方式为8psk时,调制符号为8psk符号,每个8psk符号对应的比特长度为3bit。nbit的比特流经过8psk调制后可以生成n/3个8psk符号,第一比特长度为(n/3)*3=nbit。当第一比特长度与第二比特长度相等时,可以理解为扩频增益为0,即没有扩频增益。
[0179]
在本实施例中,对比特流进行调制生成调制符号序列,调制符号序列对应的比特长度大于比特流的比特长度,比特数增加,具有扩频增益。而且,扩频后调制符号序列的解调性能大于帧体采用多种预设编码码率中最小编码码率时的目标解调性能。通常,编码码
率越小,对应的解调性能越好。也就是说,扩频后ri字段的解调性能大于帧体的最大解调性能,从而确保了ri字段的传输成功率,帧头解析正确后,进而提升了帧体的传输成功率,提升了新一代蓝牙标准中蓝牙数据包的传输成功率。
[0180]
可选的,调制符号序列对应的比特长度,或者,调制符号序列中调制符号的个数,可以根据目标解调性能预先确定。
[0181]
具体的,多种预设编码码率中的最小编码码率是预设值,这样,可以获得目标编码增益。ri字段的调制方式和帧体的调制方式之间的解调性能差异也可以由理论推导或者仿真得到,进而,可以得到让ri字段的解调性能大于帧体解调性能所需的扩频增益,最后由扩频增益推算出所需扩频倍数。
[0182]
扩频倍数与扩频增益的关系为:
[0183]
gain=10*log10(m)。其中,m为扩频倍数,gain为扩频增益。
[0184]
举例说明。假设,ri字段为3bit。如表1所示,最小编码码率为1/2,目标编码增益约为6db。再假定,ri字段和帧体采用相同的调制方式,那么,ri的扩频倍数应当至少扩展4倍,以达到约6db的扩频增益。
[0185]
可选的,在一个示例中,若ri字段为2bit,则调制符号序列对应的比特数至少为8bit。假设,调制符号为qpsk符号,则qpsk符号的个数至少为4个。例如,可以为8个。
[0186]
可选的,在另一个示例中,若ri字段为3bit,则调制符号序列对应的比特数至少为12bit。假设,调制符号为qpsk符号,则qpsk符号的个数至少为6个。例如,可以为8个。
[0187]
可选的,在又一个示例中,若ri字段为3bit,则调制符号序列对应的比特数至少为12bit。假设,调制符号为8psk符号,则8psk符号的个数至少为4个。
[0188]
可选的,在又一个示例中,若ri字段为4bit,则调制符号序列对应的比特数至少为16bit。假设,调制符号为qpsk符号,则qpsk符号的个数至少为8个。例如,可以为16个。
[0189]
在图12所示实施例的基础上,图13为本技术实施例提供的数据调制方法的一种原理示意图,图14为本技术实施例提供的数据调制方法的另一种流程图。在本实施例中,将扩频与调制方式相结合,通过扩频使得ri字段获得扩频增益。如图13和图14所示,s1202中,对比特流进行调制,生成调制符号序列,可以包括:
[0190]
s1401、采用预设扩频码对比特流进行扩频,得到扩频序列。
[0191]
其中,预设扩频码的比特长度是根据前述方案确定的,前述方案具体参见图12所示实施例中关于扩频倍数与扩频增益的相关说明。
[0192]
s1402、采用预设调制方法对扩频序列进行调制,生成调制符号序列。
[0193]
在本实施例中,首先采用扩频算法对ri字段进行扩频,得到扩频序列。扩频序列具有一定的扩频增益,增益大小与扩频倍数或扩频码的比特长度相关。扩频倍数或扩频码的比特长度可以根据前述方案确定。例如,ri字段为2bit,扩频倍数为8倍,经过扩频后扩频序列为16bit,扩频增益可以达到9db。又例如,ri字段为2bit,扩频倍数为4倍,经过扩频后扩频序列为8bit,扩频增益可以达到6db。又例如,ri字段为4bit,扩频倍数为4倍,经过扩频后扩频序列为16bit,扩频增益可以达到6db。之后,对扩频序列进行调制,可以生成调制符号序列。
[0194]
可见,本实施例提供的数据调制方法,对ri字段先扩频再调制,由于扩频码的比特长度是根据前述方案确定的,所以,经过扩频和调制后得到的调制符号序列,其解调性能可
以大于帧体采用多种预设编码码率中最小编码码率时的解调性能,确保了接收端设备对ri字段的正确解析,提高了蓝牙数据包的传输成功率。
[0195]
下面,对目标解调性能与扩频倍数或扩频码的比特长度之间的关系进行说明。
[0196]
具体的,扩频倍数或扩频码的比特长度可以反映扩频增益,可以根据目标解调性能确定扩频倍数或扩频码的比特长度。
[0197]
举例说明。
[0198]
假设,前述方案所需ri扩频增益低于6db。那么,为了使得制符号序列的解调性能大于帧体采用多种预设编码码率中最小编码码率时的目标解调性能,扩频倍数可以大于或等于4,扩频码的比特长度可以大于或等于4bit。例如,扩频倍数为4倍,扩频码的比特长度为4bit。
[0199]
假设,前述方案所需ri扩频增益为6db,那么,扩频倍数应当大于4,扩频码的比特长度大于4bit。例如,扩频倍数可以为8倍,扩频码的比特长度可以为8bit。
[0200]
其中,本实施例对预设扩频码的实现方式不做限定。可选的,预设扩频码为下列中的一项:walsh码、golden码或m序列。
[0201]
可选的,预设调制方法为下列中的一项:dpsk、qpsk或8psk。
[0202]
下面以walsh码为例,对扩频的一种实现方式进行说明。
[0203]
walsh码是一种同步正交码,每个码字具有良好的自相关特性和处处为零的互相关特性,有利于译码的准确性和效率。
[0204]
walsh码的码字可以通过哈达玛积(hadamard)矩阵生成。哈达玛积矩阵表示如下:
[0205][0206]
可见,通过把wi整个一组放入前三个矩阵位置,然后把反转组放入右下矩阵位置,可以产生更高阶的walsh码。
[0207]
下面对16阶walsh码的生成过程进行说明。
[0208]
1阶walsh码可以表示为:
[0209]
其中,w的上标表示walsh码的阶数,下标表示该walsh码在该阶所有walsh码中的位置。下标取值从0开始。
[0210][0211]
2阶walsh码包括:
[0212][0213]w12
=[+1-1]
[0214][0215]
4阶walsh码包括:
[0216][0217]w14
=[+1-1+1-1]
[0218][0219][0220][0221]
8阶walsh码包括:
[0222][0223]w18
=[+1-1+1-1+1-1+1-1]
[0224][0225][0226][0227][0228][0229][0230][0231]
16阶walsh码的构成原理相似,此处不对每个16阶walsh码进行显示。
[0232]
假设,ri字段为4bit,比特流表示为ri=[b0,b1,b2,b3]。b0,b1,b2,b3分别为ri字段的4个bit。
[0233]
假设,扩频倍数为4,扩频后的扩频序列长度为4*4=16bit。预设扩频码为walsh码,具体为4阶walsh码中的w
14
=[+1-1+1-1]。
[0234]
ri字段与扩频,是将ri字段中的每个bit和分别异或后组成新的比特序列。扩频后的扩频序列为:其中,表示按位异或。
[0235]
例如,ri=[0,0,1,1],即,b0=0,b1=0,b2=1,b3=1。
[0236][0237][0238][0239][0240]
扩频序列为:1,1,1,1,1,1,1,1,0,1,0,1,0,1,0,1。
[0241]
在图12所示实施例的基础上,本技术又一实施例提供了数据调制方法的一种实现方式。具体采用补码键控(complementary code keying,cck)调制方式对ri字段进行调制,以使ri字段获得扩频增益。图15为本技术实施例提供的数据调制方法的另一种原理示意图。如图15所示,s1202中,对比特流进行调制,生成调制符号序列,可以包括:
[0242]
对比特流进行补码键控cck调制,生成调制符号序列;其中,调制符号序列包括2^m个正交相移键控qpsk符号,m为正整数,是前述方案所需的扩频增益确定的。前述方案具体
参见图12所示实施例中关于扩频倍数与扩频增益的相关说明。
[0243]
首先,对cck调制进行简单的说明。
[0244]
cck是一种结合了扩频与调制的调制编码技术,将扩频、编码和调制作为一个整体进行设计。相比于图13或图14所示的先扩频再调制的方式,cck一步即可完成扩频和调制,提高了处理效率和系统整体性能。
[0245]
cck调制的输入为n比特长度的二进制序列,输出一组调制符号。以调制符号为qpsk符号为例进行说明。qpsk符号即为qpsk星座图上的一个点。示例性的,图16为qpsk星座图的一种示意图。如图16所示,星座图上示出了4个点,即4个qpsk符号。对于a点对应的qpsk符号,相位为φ。a点对应的qpsk符号可以表示为:e^(jφ)、ej(φ),或e
j(φ)
,e表示自然指数。a点对应的qpsk符号还可以表示为单位圆上相位为φ的复数,即,cosφ+j*sinφ。对于cck调制,可以通俗的理解为:如何将输入的n bit二进制序列映射到星座图上的一组qpsk符号。qpsk符号的个数和相位不同,将直接影响cck调制的性能。
[0246]
在本实施例中,对ri字段进行cck调制。cck调制的输入为ri字段的比特流,输出为包括2^m个qpsk符号的调制符号序列。m是根据前述方案所需的扩频增益确定的。通过预先且合理的确定m的取值,通过cck调制对ri字段同时完成扩频和调制,使得ri字段的解调性能大于帧体采用多种预设编码码率中最小编码码率时的解调性能,确保了ri字段的正确解析,提高了蓝牙数据包的传输成功率。
[0247]
下面,通过示例对前述方案所需的扩频增益和ri字段的比特长度确定m进行说明。
[0248]
具体的,每个qpsk符号对应2bit,调制符号序列包括2^m个qpsk符号,即调制符号序列的长度为2^(m+1)bit。
[0249]
当m=1时,qpsk符号为2个,调制符号序列为4bit。
[0250]
当m=2时,qpsk符号为4个,调制符号序列为8bit。
[0251]
当m=3时,qpsk符号为8个,调制符号序列为16bit。
[0252]
当m=4时,qpsk符号为16个,调制符号序列为32bit。
[0253]
假设,前述方案所需的ri扩频增益为6db。
[0254]
可选的,ri字段为2bit,为了使ri字段的扩频增益大于或等于6db,则调制符号序列要大于或等于8bit,m可以大于或等于2。例如,m取值为3。此时,调制符号序列为16bit。16bit长度的调制符号序列共有2^16种实现方式。ri字段为2bit,共有2^2种实现方式。cck调制可以理解为:在2^16种实现方式中确定一组2^2种实现方式。
[0255]
可选的,ri字段为3bit,为了使ri字段的扩频增益大于或等于6db,则调制符号序列要大于或等于12bit,m可以大于或等于3。例如,m取值为3。
[0256]
可选的,ri字段为4bit,为了使ri字段的扩频增益大于或等于6db,则调制符号序列要大于或等于16bit,m可以大于或等于3。例如,m取值为3。又例如,m取值为4。
[0257]
可选的,为了确保ri字段的扩频增益,在本实施例中,m大于或等于3,或者,使得调制符号序列的比特长度与ri字段的比特长度的比值大于4。
[0258]
下面,对采用cck调制方法对ri字段进行cck调制的过程进行详细说明。
[0259]
可选的,对比特流进行cck调制,生成调制符号序列,可以包括:
[0260]
根据预设的ri字段与基准相位之间的映射关系,获取比特流对应的m+1个基准相位。
[0261]
根据m+1个基准相位确定2^m个qpsk符号的相位。
[0262]
根据2^m个qpsk符号的相位生成调制符号序列。
[0263]
具体的,首先根据ri字段的取值对应的比特流得到m+1个基准相位。m+1个基准相位用于确定2^m个qpsk符号的相位。基准相位选取的是否合适,将影响到2^m个qpsk符号的相位。可以理解,2^m个qpsk符号之间的欧氏距离越远,码字间相干性越好,则解调性能越好。
[0264]
ri字段与基准相位之间具有预设的映射关系,本实施例对该映射关系不做限定。例如,在实际应用中,可以通过仿真确定。
[0265]
下面通过示例进行说明。
[0266]
ri字段与基准相位之间的映射关系可以表示为φ=f(ri)。其中,ri=[b0,b1,

,bn-1]表示nbit长度的ri字段,φ=[φ1,φ2,

,φm+1]表示m+1个基准相位,f()可以称为cck相位生成函数。
[0267]
可选的,在一个示例中,ri字段为4bit,m=3,ri=[b0,b1,b2,b3],φ=[φ1,φ2,φ3,φ4]。
[0268]
f()可以为:[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π+(π/2),0,b3*π]。
[0269]
可选的,在另一个示例中,ri字段为4bit,m=4,ri=[b0,b1,b2,b3],φ=[φ1,φ2,φ3,φ4,φ5]。
[0270]
f()可以为:[φ1,φ2,φ3,φ4,φ5]=[b0*π,b1*(π/2),b2*π+(π/2),0,b3*π]。
[0271]
可选的,在又一个示例中,ri字段为3bit,m=3,ri=[b0,b1,b2],φ=[φ1,φ2,φ3,φ4]。
[0272]
f()可以为:[φ1,φ2,φ3,φ4]=[b0*π,b1*π+(π/2),0,b2*π]。
[0273]
可选的,在又一个示例中,ri字段为2bit,m=3,ri=[b0,b1],φ=[φ1,φ2,φ3,φ4]。
[0274]
f()可以为:[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b1*π+(π/2),0,b0*π]。
[0275]
在对ri字段进行cck调制的过程中,当确定了m+1个基准相位后,可以根据m+1个基准相位确定2^m个qpsk符号的相位。可以理解,对于任意一个基准相位来说,可以出现在qpsk符号的相位中,也可以不出现在qpsk符号的相位中。基准相位出现在qpsk符号的相位中,可以看做基准相位对qpsk符号进行了相位旋转。举例说明。如图16所示,a点对应的qpsk符号的相位为φ,a点对应的qpsk符号表示为ej(φ)。b点对应的qpsk符号的相位为φ+3*π/2,b点对应的qpsk符号表示为ej(φ+3*π/2)。b点可以理解为将a点逆时针旋转3*π/2。这里的3*π/2可以理解为基准相位。合理的根据m+1个基准相位确定2^m个qpsk符号的相位,可以提升译码效率。
[0276]
在本实施例中,为了提升译码速度和效率,可以参考walsh码的构成规律确定m+1个基准相位与2^m个qpsk符号的相位之间的映射关系。由于walsh码的码字具有良好的自相关性和相干性,参考walsh码确定m+1个基准相位与2^m个qpsk符号的相位之间的映射关系,可以在接收端实现迭代译码,大大提升译码效率和速度。
[0277]
可选的,根据m+1个基准相位确定2^m个qpsk符号的相位,可以包括:
[0278]
获取2^m阶walsh码中的m+1个码字;
[0279]
根据m+1个基准相位和m+1个码字,确定2^m个qpsk符号的相位。
[0280]
举例说明。
[0281]
假设,m=3,则有4个基准相位。可以在8阶walsh码中选取4个码字,根据选取的4个码字的构成规律,确定4个基准相位与8个qpsk符号的相位之间的映射关系。本实施例对选取的4个码字不做限定。
[0282]
假设,8阶walsh码的8个码字表示为可以参见图14所示实施例,此处不再赘述。
[0283]
可选的,在一种实现方式中,4个码字可以包括在该实现方式中,之间的距离最远,进一步提升了迭代译码的效率和速度。
[0284]
可选的,在另一种实现方式中,4个码字可以包括
[0285]
假设,m=4,则有5个基准相位。可以在16阶walsh码中选取5个码字,根据选取的5个码字的构成规律,确定5个基准相位与16个qpsk符号的相位之间的映射关系。本实施例对选取的5个码字不做限定。
[0286]
其中,16阶walsh码的构成过程可以见图14所示示例,此处不再赘述。16阶walsh码包括
[0287]
可选的,在一种实现方式中,5个码字可以包括在该实现方式中,之间的距离最远,进一步提升了迭代译码的效率和速度。
[0288]
可选的,在另一种实现方式中,5个码字可以包括
[0289]
可选的,根据m+1个基准相位和m+1个码字,确定2^m个qpsk符号的相位,可以包括:
[0290]
将m+1个码字分别作为矩阵的行,形成目标矩阵;
[0291]
根据m+1个基准相位与目标矩阵中的每个列向量,得到2^m个qpsk符号的相位。
[0292]
具体的,walsh码由1和-1组成。1用于指示对基准相位加和,-1用于指示不对基准相位加和。
[0293]
举例说明。
[0294]
假设,m=3。4个基准相位表示为[φ1,φ2,φ3,φ4],4个码字为
[0295]
将4个码字分别作为矩阵的行,形成的目标矩阵如下:
[0296][0297]
为了清楚描述是否对基准相位加和的含义,可以将目标矩阵中的-1替换为0,采用矩阵相乘运算进行说明。
[0298]
替换后的目标矩阵如下:
[0299]
[0300]
2^m个qpsk符号的相位如下:
[0301][0302]
以目标矩阵中的第二个列向量为例,目标矩阵中的第二个列向量包括元素1、-1、1、1。第二个元素为-1,表示不对对应的基准向量φ2加和。所以第二个qpsk符号的相位为φ1+φ3+φ4。
[0303]
假设,m=4。5个基准相位表示为[φ1,φ2,φ3,φ4,φ5],5个码字为
[0304]
2^m个qpsk符号的相位如下:
[0305][0306]
在对ri字段进行cck调制的过程中,当确定了2^m个qpsk符号的相位后,可以根据2^m个qpsk符号的相位生成调制符号序列。
[0307]
可选的,在一种实现方式中,可以采用码字表达式c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)}生成调制符号序列。其中,ψ1,ψ2,

,ψ2^m表示2^m个qpsk符号的相位。
[0308]
举例说明。
[0309]
在一个示例中,m=3,假设,
[0310]
[ψ1,ψ2,

,ψ8]=[φ1+φ2+φ3+φ4,φ1+φ3+φ4,φ1+φ2+φ4,φ1+φ4,φ1+φ2+φ3,φ1+φ3,φ1+φ2,φ1]。
[0311]
则,调制符号序列可以为:
[0312]
{ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}。
[0313]
在另一个示例中,m=4,假设,
[0314]
[ψ1,ψ2,

,ψ16]=[φ1+φ2+φ3+φ4+φ5,φ1+φ3+φ4+φ5,φ1+φ2+φ4+φ5,φ1+φ4+φ5,φ1+φ2+φ3+φ5,φ1+φ3+φ5,φ1+φ2+φ5,φ1+φ5,φ1+φ2+φ3+φ4,φ1+φ3+φ4,φ1+φ2+φ4,φ1+φ4,φ1+φ2+φ3,φ1+φ3,φ1+φ2,φ1]。
[0315]
则,调制符号序列可以为:
[0316]
c={ej(φ1+φ2+φ3+φ4+φ5),ej(φ1+φ3+φ4+φ5),ej(φ1+φ2+φ4+φ5),ej(φ1+φ4+φ5),ej(φ1+φ2+φ3+φ5),ej(φ1+φ3+φ5),ej(φ1+φ2+φ5),ej(φ1+φ5),ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}
[0317]
可选的,在另一种实现方式中,可以采用码字表达式c生成调制符号序列。
[0318]
c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)}.*{预设符号序列};
[0319]
其中,ψ1,ψ2,

,ψ2^m表示2^m个qpsk符号的相位;.*表示对应位置相乘;预设符号序列为2^m个由1,-1组成的序列。
[0320]
在该实现方式中,可以通过预设符号序列进一步改变2^m个qpsk符号的相位,针对2^m个qpsk符号,使得整个码字的直流分量更小,便于解调。
[0321]
举例说明。假设,
[0322]
[ψ1,ψ2,

,ψ2^m]=[φ1+φ2+φ3+φ4,φ1+φ3+φ4,φ1+φ2+φ4,φ1+φ4,φ1+φ2+φ3,φ1+φ3,φ1+φ2,φ1]
[0323]
预设符号序列为[1,1,1,1,-1,-1,-1,-1],
[0324]
则,调制符号序列可以为:
[0325]
{ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),-ej(φ1+φ2+φ3),-ej(φ1+φ3),-ej(φ1+φ2),-ej(φ1)}
[0326]
下面通过具体示例对采用cck调制方式对ri字段进行调制的过程进行说明。
[0327]
假设,ri字段为4bit,表示为ri=[b0,b1,b2,b3],输出8个qpsk符号,m=3。
[0328]
示例一
[0329]
f(ri)=[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π+(π/2),0,b3*π]
[0330]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}
[0331]
假设,ri=[1,1,1,1],则,
[0332]
[φ1,φ2,φ3,φ4]=[1*π+1*(π/2),1*π+(π/2),0,1*π]=[3*π/2,3*π/2,0,π]
[0333]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}
[0334]
={ej(8*π/2),ej(5*π/2),ej(8*π/2),ej(5*π/2),ej(6*π/2),ej(3*π/2),ej(6*π/2),ej(3*π/2)}
[0335]
={ej(0),ej(π/2),ej(0),ej(π/2),ej(π),ej(3*π/2),ej(π),ej(3*π/2)}
[0336]
示例二
[0337]
f(ri)=[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π,0,b3*π]
[0338]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}
[0339]
假设,ri=[1,1,1,1],则,
[0340]
[φ1,φ2,φ3,φ4]=[1*π+1*(π/2),1*π,0,1*π]=[3*π/2,π,0,π]
[0341]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}
[0342]
={ej(7*π/2),ej(5*π/2),ej(7*π/2),ej(5*π/2),ej(5*π/2),ej(3*π/2),ej(5*π/2),ej(3*π/2)}
[0343]
={ej(3*π/2),ej(π/2),ej(3*π/2),ej(π/2),ej(π/2),ej(3*π/2),ej(π/2),ej(3*π/2)}
[0344]
示例三
[0345]
(ri)=[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π,0,b3*π]
[0346]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}.*{预设符号序列}
[0347]
预设符号序列=[1,1,1,-1,1,1,-1,1]
[0348]
假设,ri=[1,0,1,0],则,
[0349]
[φ1,φ2,φ3,φ4]=[1*π+0*π/2,1*π,0,0*π]=[π,π,0,0]
[0350]
c={ej(φ1+φ2+φ3+φ4),ej(φ1+φ3+φ4),ej(φ1+φ2+φ4),ej(φ1+φ4),ej(φ1+φ2+φ3),ej(φ1+φ3),ej(φ1+φ2),ej(φ1)}.*{预设符号序列}
[0351]
={ej(2π),ej(π),ej(2π),ej(π),ej(2π),ej(π),ej(2π),ej(π)}.*{1,1,1,-1,1,1,-1,1}
[0352]
={ej(0),ej(π),ej(0),-ej(π),ej(0),ej(π),

ej(0),ej(π)}
[0353]
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0354]
本技术实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个模块中。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。需要说明的是,本技术实施例中模块的名称是示意性的,实际实现时对模块的名称不做限定。
[0355]
图17为本技术实施例提供的电子设备的一种结构示意图。如图17所示,本实施例提供的电子设备,可以包括:确定模块1701和处理模块1702。
[0356]
在一种实现方式中,确定模块1701,用于确定待发送的蓝牙数据包中ri字段的取值对应的比特流,所述蓝牙数据包还包括帧体,所述ri字段的取值用于指示所述帧体的mcs;
[0357]
处理模块1702,用于对所述比特流进行调制,生成调制符号序列;其中,所述调制符号序列对应的第一比特长度大于所述ri字段的第二比特长度。
[0358]
可选的,处理模块1702具体用于:
[0359]
对所述比特流进行cck调制,生成所述调制符号序列;其中,所述调制符号序列包括2^m个qpsk符号,m为正整数。
[0360]
可选的,2^(m+1)与所述第二比特长度的比值大于或等于4。
[0361]
可选的,处理模块1702具体用于:
[0362]
根据预设的ri字段与基准相位之间的映射关系,获取所述比特流对应的m+1个基准相位;
[0363]
根据所述m+1个基准相位确定所述2^m个qpsk符号的相位;
[0364]
根据所述2^m个qpsk符号的相位生成所述调制符号序列。
[0365]
可选的,所述第二比特长度为4比特,所述m等于3,所述预设的ri字段与基准相位
之间的映射关系为:
[0366]
[φ1,φ2,φ3,φ4]=[b0*π+b1*(π/2),b2*π+(π/2),0,b3*π]
[0367]
其中,φ1、φ2、φ3和φ4表示4个基准相位,b0、b1、b2和b3表示所述ri字段中每个比特的取值。
[0368]
可选的,所述第二比特长度为4比特,所述m等于4,所述预设的ri字段与基准相位之间的映射关系为:
[0369]
[φ1,φ2,φ3,φ4,φ5]=[b0*π,b1*(π/2),b2*π+(π/2),0,b3*π]
[0370]
其中,φ1、φ2、φ3、φ4和φ5表示5个基准相位,b0、b1、b2和b3表示所述ri字段中每个比特的取值。
[0371]
可选的,处理模块1702具体用于:
[0372]
获取2^m阶walsh码中的m+1个码字;
[0373]
根据所述m+1个基准相位和所述m+1个码字,确定所述2^m个qpsk符号的相位。
[0374]
可选的,处理模块1702具体用于:
[0375]
将所述m+1个码字分别作为矩阵的行,形成目标矩阵;
[0376]
根据所述m+1个基准相位与所述目标矩阵的每个列向量,得到所述2^m个qpsk符号的相位。
[0377]
可选的,所述m等于3,所述2^m阶walsh码包括所述m+1个码字包括
[0378]
可选的,m为4,2^m阶walsh码包括所述m+1个码字包括
[0379]
可选的,处理模块1702具体用于:
[0380]
采用码字表达式c生成所述调制符号序列;
[0381]
c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)};或者,c={ej(ψ1),ej(ψ2),

,ej(ψ2^m)}.*{预设符号序列};
[0382]
其中,ψ1,ψ2,

,ψ2^m表示所述2^m个qpsk符号的相位;.*表示对应位置相乘;预设符号序列为2^m个由1,-1组成的序列。
[0383]
可选的,处理模块1702具体用于:
[0384]
采用预设扩频码对所述比特流进行扩频,得到扩频序列;
[0385]
采用预设调制方法对所述扩频序列进行调制,生成所述调制符号序列。
[0386]
可选的,所述预设调制方法为下列中的一项:dpsk、qpsk或8psk。
[0387]
可选的,所述预设扩频码为下列中的一项:walsh码、golden码或m序列。
[0388]
可选的,所述第二比特长度大于或等于2比特。
[0389]
在另一种实现方式中,确定模块1701,用于确定待发送的蓝牙数据包用于承载物理层带宽更新消息ll_phy_req、物理层带宽更新确认消息ll_phy_rsp或者带宽更新通知消息ll_phy_update_req;所述蓝牙数据包包括ri字段;
[0390]
处理模块1702,用于将所述ri字段的取值设置为在当前传输带宽下最小mcs对应的ri字段预设取值。
[0391]
请参考图18,其示出了本技术实施例提供的电子设备的一种结构。电子设备可以为本技术实施例中的手机。该电子设备包括:处理器1801、接收器1802、发射器1803、存储器1804和总线1805。处理器1801包括一个或者多个处理核心,处理器1801通过运行软件程序以及模块,从而执行各种功能的应用以及信息处理。接收器1802和发射器1803可以实现为一个通信组件,该通信组件可以是一块基带芯片。存储器1804通过总线1805和处理器1801相连。存储器1804可用于存储至少一个程序指令,处理器1801用于执行至少一个程序指令,以实现上述实施例的技术方案。其实现原理和技术效果与上述方法相关实施例类似,此处不再赘述。
[0392]
当电子设备开机后,处理器可以读取存储器中的软件程序,解释并执行软件程序的指令,处理软件程序的数据。当需要通过天线发送数据时,处理器对待发送的数据进行基带处理后,输出基带信号至控制电路中的控制电路,控制电路将基带信号进行射频处理后将射频信号通过天线以电磁波的形式向外发送。当有数据发送到电子设备时,控制电路通过天线接收到射频信号,将射频信号转换为基带信号,并将基带信号输出至处理器,处理器将基带信号转换为数据并对该数据进行处理。
[0393]
本领域技术人员可以理解,为了便于说明,图18仅示出了一个存储器和处理器。在实际的电子设备中,可以存在多个处理器和存储器。存储器也可以称为存储介质或者存储设备等,本技术实施例对此不做限制。
[0394]
作为一种可选的实现方式,处理器可以包括基带处理器和中央处理器,基带处理器主要用于对通信数据进行处理,中央处理器主要用于执行软件程序,处理软件程序的数据。本领域技术人员可以理解,基带处理器和中央处理器可以集成在一个处理器中,也可以是各自独立的处理器,通过总线等技术互联。本领域技术人员可以理解,电子设备可以包括多个基带处理器以适应不同的网络制式,电子设备可以包括多个中央处理器以增强其处理能力,电子设备的各个部件可以通过各种总线连接。该基带处理器也可以表述为基带处理电路或者基带处理芯片。该中央处理器也可以表述为中央处理电路或者中央处理芯片。对通信协议以及通信数据进行处理的功能可以内置在处理器中,也可以以软件程序的形式存储在存储器中,由处理器执行软件程序以实现基带处理功能。该存储器可以集成在处理器中,也可以独立在处理器之外。该存储器包括高速缓存cache,可以存放频繁访问的数据/指令。
[0395]
在本技术实施例中,处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0396]
在本技术实施例中,存储器可以是非易失性存储器,比如硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ss)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,不限于此。
[0397]
本技术实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。本技术各实施例提供的方法中,可以全部或部分地通过软
件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dwd)、或者半导体介质(例如,ssd)等。
[0398]
本技术实施例提供一种计算机程序产品,当所述计算机程序产品在终端运行时,使得所述终端执行上述实施例中的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。
[0399]
本技术实施例提供一种计算机可读存储介质,其上存储有程序指令,所述程序指令被终端执行时,使得所述终端执行上述实施例的技术方案。其实现原理和技术效果与上述相关实施例类似,此处不再赘述。综上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1