掌桥专利:专业的专利平台
掌桥专利
首页

一种重传数据包合并纠错方法及系统

文献发布时间:2023-06-19 11:44:10


一种重传数据包合并纠错方法及系统

技术领域

本发明涉及通信技术领域,具体为一种重传数据包合并纠错方法及系统。

背景技术

在现代通信系统中,由于干扰信号的存在,导致数据传输过程中会对数据造成干扰,使得传输的数据出现差异或错误。为了达到数据的无错误传输,通常会对产生接收错误的数据包进行重传。当数据包产生译码错误时,接收端存储数据包并反馈接收失败的指示,发射端收到该指示后进行重传,此时接收端对接收的数据包进行译码验证,直到当接收端接收的数据包译码验证成功时,接收端反馈接收成功的指示,发射端收到该指示后停止重传。

而在蓝牙通信中,通过跳频算法,快速切换频道进行通信,为了更好的避免数据交互被碰撞干扰,蓝牙链路会维护以及统计各频道通信质量的好坏,定期选择至少20个通信质量好的射频频点进行通信。虽然蓝牙通信的跳频技术可以在一定程度上避免干扰,但是一方面干扰信号是快速实时变换的,频道通信质量统计基于数据通信成功率来统计,天然具有滞后性,另一方面假如这个频段大部分都被占满,则不管如何选择频点都无法避开其他信号的干扰,所以还是会造成数据收发失败,从而导致重传增加,因此如何提高蓝牙通信数据交互的可靠性成为当前亟需解决的问题。

发明内容

本发明的目的之一在于提供一种重传数据包合并纠错方法,能够提高蓝牙通信数据交互的可靠性。

本发明提供的基础方案一:

一种重传数据包合并纠错方法,包括以下步骤:

接收端接收重传数据包,对重传数据包进行处理获得当前比特信息,对当前比特信息进行数据校验,当数据校验失败时,调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新,对更新后的待校验比特信息进行数据校验,当数据校验失败时,存储更新后的待校验比特信息,重复上述步骤,直到数据校验成功。

基础方案一的有益效果:由于蓝牙通信技术容易被其他射频信号干扰,在不同时刻受到的干扰,使得数据在不同时刻发生错误,导致不同次重传数据在不同位置出现错误。当重传的当前比特信息数据校验失败时,代表本次接收的数据存在错误,根据当前比特信息对待校验比特信息进行更新,即对当前接收的数据和缓存的数据做合并处理,通过合并处理,得到新的待校验比特信息,新的待校验比特信息是针对两次接收的数据进行合并所得,新的待校验比特信息受到两次数据中差异数据的影响,使得当前的待校验比特信息不同于存储的待校验比特信息和当前比特信息,对新的待校验比特信息进行数据校验,判断是否通过合并处理的方式得到正确数据,提升数据包纠错能力,使得不同次重传数据出错在不同位置的情况有较大的改善,提高蓝牙通信数据交互的可靠性。

进一步,存储的待校验比特信息包括首要比特信息和次要比特信息,根据当前比特信息对待校验比特信息进行更新,包括以下步骤:

逐一获取相同位置下的首要比特信息、次要比特信息和当前比特信息;

根据首要比特信息、次要比特信息和当前比特信息进行投票判决,根据判决结果生成临时比特信息;

根据临时比特信息更新待校验比特信息。

有益效果:存储的首要比特信息和次要比特信息,以存储时间进行判断,存储时间较早为首要比特信息,其次为次要比特信息。基于相同位置下的比特信息进行投票判决,投票判决采用少数服从多数的方式进行判决,提高数据的可靠性。由于投票判决的特性,因此需要多组数据,在本方案中采用三组数据。因此缓冲的待校验比特信息包括两次重传的数据,即首要比特信息和次要比特信息,首要比特信息为最先接收的数据,次要比特信息为其后接收的数据。根据首要比特信息、次要比特信息和当前比特信息进行投票判决生成临时比特信息,即临时比特信息为首要比特信息、次要比特信息和当前比特信息合并处理所得到数据。

进一步,存储更新后的待校验比特信息,包括以下步骤:

调用预存的存储策略,根据存储策略对待校验比特信息进行存储;

存储策略包括策略A、策略B、策略C中的一种,

策略A为根据临时比特信息更新首要比特信息,将次要比特信息和更新后的首要比特信息作为待校验比特信息进行存储;

策略B为分别比较临时比特信息与首要比特信息、次要比特信息相同位置的数据,分别统计数据不同的次数,筛选次数最小对应的比特信息,将筛选出的比特信息和临时比特信息作为待校验比特信息进行存储;

策略C为将次要比特信息和当前比特信息作为待校验比特信息进行存储。

有益效果:预存有多个存储策略,不同存储策略所带来的结果存在差异,选用不同的存储策略以适用不同的应用场景,例如需要实现快速存储,则存储策略选用策略C。

进一步,当前比特信息包括当前硬比特数据和当前软比特数据,对当前比特信息进行数据校验前,包括以下步骤:

获取对重传数据包进行解码获得的硬比特数据A1和软比特数据A2;

对硬比特数据A1进行De-whitening处理获得硬比特数据B1;

根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2;

将硬比特数据B1和软比特数据B2作为当前硬比特数据和当前软比特数据。

有益效果:在传统蓝牙协议中,蓝牙的比特流数据会进行whitening处理,而whitening处理的初始值与蓝牙时钟相关联,而蓝牙时钟在传输数据包时会发生变化,因此导致初始值发生变化,使得数据包在多次重传之间,相同位置的数据经接收端解码出的数据也可能不一致,导致合并出错。

因此,本方案在合并处理前对发生变化的软比特进行还原处理,获取de-whitening处理前的数据,即解码后的硬比特数据A1和软比特数据A2,以及de-whitening处理后的硬比特数据B1,根据硬比特数据A1和硬比特数据B1对软比特数据A2进行还原,将硬比特数据B1和还原得到的软比特数据B2作为待校验比特信息,进一步提高数据合并后纠正错误数据,恢复出正确数据的能力,从而解决在蓝牙通信中因蓝牙时钟变化导致相同位置数据不一致的技术问题。

进一步,根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2,包括以下步骤:

逐一对比相同位置下的硬比特数据A1和硬比特数据B1;

当两者不同时,计算软比特数据A2的相反数,将相反数作为硬比特数据B1对应的软比特数据B2;

当两者相同时,将软比特数据A2作为硬比特数据B1对应的软比特数据B2。

有益效果:通过对比相同位置下的硬比特数据A1和硬比特数据B1,找到数据不一致的位置,对该位置对应的软比特数据A2进行转换更新软比特数据B2,从而将发生变化的数据进行还原,恢复正确数据。

进一步,当前比特信息包括当前硬比特数据和当前软比特数据,待校验比特信息包括合并硬比特数据和合并软比特数据;根据当前比特信息对待校验比特信息进行更新,包括以下步骤:

逐一计算相同位置下的当前软比特数据和合并软比特数据的总和,根据总和更新对应的合并软比特数据;

调用存储的映射规则,根据更新后的合并软比特数据和映射规则更新对应的合并硬比特数据。

有益效果:软比特数据为有符号数,因此采用求和的方式计算当前软比特数据和合并软比特数据,根据计算结果对合并软比特数据进行更新。由于软比特通常定义为符号对数似然比,其符号位包含硬比特信息,因此根据更新后的合并软比特数据映射得到合并硬比特数据。

进一步,映射规则为当软比特数据小于零时,映射的硬比特数据为第一判决值;当软比特数据大于零时,映射的硬比特数据为第二判决值;当软比特数据等于零时,映射的硬比特数据为第一判决值或第二判决值。

有益效果:由于软比特数据为有符号数,即软比特数据包括符号位和数值位,而硬比特数据根据软比特数据的符号位进行映射,因此,以零作为映射条件,基于软比特数据与零的比较情况,决定最终映射获得的硬比特数据。即软比特数据为负数时,对应硬比特数据为第一判决值;软比特数据为正数时,对应硬比特数据为第二判决值;而软比特数据为零时,对应的硬比特数据可为第一判决值,也可为第二判决值,由开发员提前设定。

本发明的目的之二在于提供一种重传数据包合并纠错系统。

本发明提供基础方案二:

一种重传数据包合并纠错系统,包括:

处理模块,用于对重传数据包进行处理生成当前比特信息;

校验模块,用于对当前比特信息进行数据校验生成校验结果,校验结果包括数据校验失败和数据校验成功;

合并模块,用于当前比特信息数据校验失败时,调用预存的待校验比特信息,根据当前比特信息对待校验比特信息进行更新;

校验模块还用于对更新后的待校验比特信息进行数据校验生成校验结果;

存储模块,用于当更新后的待校验比特信息数据校验失败时,存储更新后的待校验比特信息。

基础方案二的有益效果:

处理模块的设置,对重传数据包进行基础处理,例如解码,从而获得有效信息。校验模块的设置,用于对系统中的数据进行数据校验,例如对处理模块处理获得的当前比特信息进行数据校验,以及合并处理后的待校验比特信息进行数据校验。在当前比特信息数据校验失败时,合并模块的设置,根据当前比特信息对缓存的待校验比特信息进行更新,即对当前接收的数据和缓存的数据做合并处理,通过合并处理,得到新的待校验比特信息,新的待校验比特信息是针对两次接收的数据中进行合并所得,新的待校验比特信息受到两次数据中差异数据的影响,使得当前的待校验比特信息不同于存储的待校验比特信息和当前比特信息,对新的待校验比特信息进行数据校验,判断是否通过合并处理的方式得到正确数据,提升数据包纠错能力,使得不同次重传数据出错在不同位置的情况有较大的改善,提高蓝牙通信数据交互的可靠性。

进一步,当前比特信息包括当前硬比特数据和当前软比特数据,处理模块包括:

解码子模块,用于对重传数据包进行解码获得硬比特数据A1和软比特数据A2;

De-whitenin子模块,用于对硬比特数据A1进行De-whitening处理获得硬比特数据B1;

还原子模块,根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2,将硬比特数据B1和软比特数据B2作为当前硬比特数据和当前软比特数据。

有益效果:在传统蓝牙协议中,蓝牙的比特流数据会进行whitening处理,而whitening处理的初始值与蓝牙时钟相关联,而蓝牙时钟在传输数据包时会发生变化,因此导致初始值发生变化,使得数据包在多次重传之间,相同位置的数据经接收端解码出的数据也可能不一致,导致合并出错。

因此,解码子模块的设置,对重传数据包进行解码获得硬比特数据A1和软比特数据A2,即获得de-whitening处理前的数据。de-whitening子模块的设置,对硬比特数据A1进行De-whitening处理,获得De-whitening处理后的硬比特数据B1。还原子模块的设置,基于De-whitening处理前后的硬比特数据A1和硬比特数据B1对软比特数据A2进行还原,获得软比特数据B2,将硬比特数据B1和软比特数据B2作为待校验比特信息。进一步提高数据合并后纠正错误数据,恢复出正确数据的能力,从而解决在蓝牙通信中因蓝牙时钟变化导致相同位置数据不一致的技术问题。

进一步,当前比特信息包括当前硬比特数据和当前软比特数据,待校验比特信息包括合并硬比特数据和合并软比特数据;合并模块包括:

计算子模块,用于逐一计算相同位置下的当前软比特数据和合并软比特数据的总和,根据总和更新对应的合并软比特数据;

映射子模块,用于调用存储的映射规则,根据更新后的合并软比特数据和映射规则更新对应的合并硬比特数据。

有益效果:计算子模块的设置,采用求和的方式计算当前软比特数据和合并软比特数据,根据计算结果对合并软比特数据进行更新。映射子模块的设置,根据对应的更新后的合并软比特数据映射得到合并硬比特数据。

附图说明

图1为本发明一种重传数据包合并纠错系统实施例一的逻辑框图;

图2为本发明一种重传数据包合并纠错方法及系统实施例一具体实例的示意图;

图3为本发明一种重传数据包合并纠错系统实施例二的逻辑框图;

图4为本发明一种重传数据包合并纠错方法及系统实施例二具体实例的示意图;

图5为现有蓝牙比特流数据处理示意图;

图6为本发明一种重传数据包合并纠错系统实施例三的逻辑框图;

图7为本发明一种重传数据包合并纠错方法及系统实施例三具体实例的示意图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

一种重传数据包合并纠错方法,包括以下步骤:

发射端发送数据包,接收端接收数据包,对数据包进行处理获得当前比特信息,并对当前比特信息进行数据校验。当数据校验失败时,向发射端反馈数据校验失败信号(即NAK),同时接收端将数据包的当前比特信息作为待校验比特信息进行存储。

发射端接收数据校验失败信号或在一定时间内未接收到接收端发送的任何信号,则发射端发送重传数据包。

接收端接收重传数据包,对重传数据包进行处理获得当前比特信息,本实施例中,对重传数据包的处理包括解码。

接收端对当前比特信息进行数据校验,在本实施例中,当前比特信息包括连续的当前硬比特数据,对合并硬比特数据进行数据校验。当数据校验失败时,存储当前比特信息,此时将存储的待校验比特信息作为首要比特信息,将当前比特信息作为次要比特信息,首要比特信息和次要比特信息为存储的待校验比特信息。

由于本实施例中采用投票判决的方式,因此接收端需前两次数据校验失败的数据进行存储,从第三次接收到数据包时进行合并处理。

当接收端再次接收重传数据包时,且重传数据包对应的当前比特信息数据校验失败时,调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新。具体包括以下步骤:

逐一获取相同位置下的首要比特信息、次要比特信息和当前比特信息,存储的首要比特信息和次要比特信息,以存储时间进行判断,存储时间较早为首要比特信息,其次为次要比特信息。在本实施例中,首要比特信息包括连续的首要硬比特数据,次要比特信息包括连续的次要硬比特数据,当前比特信息包括连续的当前硬比特数据;

根据首要比特信息、次要比特信息和当前比特信息进行投票判决,根据判决结果生成临时比特信息;在本实施例中,根据少数服从多数的方式生成判决结果,判决结果为多数对应的硬比特数据,临时比特信息包括连续的临时硬比特数据,判决结果即为对应位置的临时硬比特数据。

根据临时比特信息更新待校验比特信息。

当对临时比特信息上每一位置上的临时硬比特数据均生成后,对更新后的待校验比特信息进行数据校验,即对临时硬比特数据进行数据校验,当数据校验失败时,存储更新后的待校验比特信息,重复上述步骤,直到数据校验成功。具体包括以下步骤:

调用预存的存储策略,存储策略包括策略A、策略B、策略C中的一种,

策略A为根据临时比特信息更新首要比特信息,将次要比特信息和更新后的首要比特信息作为待校验比特信息进行存储;

策略B为分别比较临时比特信息与首要比特信息、次要比特信息相同位置的数据,分别统计数据不同的次数,筛选次数最小对应的比特信息,将筛选出的比特信息和临时比特信息作为待校验比特信息进行存储;

策略C为将次要比特信息和当前比特信息作为待校验比特信息进行存储。

在本实施例中,选用策略A,根据存储策略对待校验比特信息进行存储,具体为当数据校验失败时,根据策略A对待校验比特信息进行存储,等待下一重传数据包,重复对重传数据包进行数据校验,调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新,对更新后的待校验比特信息进行数据校验的步骤,直到数据校验成功。

一种重传数据包合并纠错系统,使用上述一种重传数据包合并纠错方法,如附图1所示,包括处理模块、校验模块、合并模块、存储模块和传输模块。存储模块预存有存储策略,存储策略包括策略A、策略B、策略C中的一种,策略A为根据临时比特信息更新首要比特信息,将次要比特信息和更新后的首要比特信息作为待校验比特信息进行存储;策略B为分别比较临时比特信息与首要比特信息、次要比特信息相同位置的数据,分别统计数据不同的次数,筛选次数最小对应的比特信息,将筛选出的比特信息和临时比特信息作为待校验比特信息进行存储;策略C为将次要比特信息和当前比特信息作为待校验比特信息进行存储。在本实施例中,选用策略A。

处理模块用于接收发射端发送的数据包,处理模块用于对数据包进行处理生成当前比特信息,在本实施例中,对数据包进行解码获得当前比特信息,当前比特信息包括连续的当前硬比特数据。

校验模块用于对当前硬比特数据进行数据校验,生成校验结果,校验结果包括数据校验失败和数据校验成功。存储模块用于当数据校验失败时,将当前比特信息作为待校验比特信息进行存储。

传输模块用于当数据校验失败时,向发射端反馈数据校验失败信号(即NAK),当数据校验成功时,向发射端反馈数据校验成功信号(即ACK)。发射端用于接收数据校验失败信号时或在一定时间内未接收到数据校验失败信号或数据校验成功信号时,发送重传数据包。发射端还用于接收数据校验成功信号时,停止发送重传数据包。

处理模块还用于接收重传数据包,对重传数据包进行处理生成当前比特信息,在本实施例中,对重传数据包进行解码获得当前比特信息。

校验模块还用于对当前比特信息进行数据校验生成校验结果,在本实施例中,当前比特信息包括连续的当前硬比特数据,即对当前硬比特数据进行数据校验生成校验结果。

存储模块还用于当数据校验失败时,将存储的待校验比特信息作为首要比特信息,将当前比特信息作为次要比特信息,将首要比特信息和次要比特信息作为待校验比特信息进行存储,即待校验比特信息包括首要比特信息和次要比特信息。

由于本实施例中采用投票判决的方式,因此接收端需前两次数据校验失败的数据进行存储,从第三次接收到数据包时进行合并处理。

合并模块还用于当再次接收到重传数据包,且对应当前比特信息数据校验失败时,调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新。

具体的,合并模块用于逐一获取相同位置下的首要比特信息、次要比特信息和当前比特信息,在本实施例中,首要比特信息包括连续的首要硬比特数据,次要比特信息包括连续的次要硬比特数据,当前比特信息包括连续的当前硬比特数据。存储的首要比特信息和次要比特信息,以存储时间进行判断,存储时间较早为首要比特信息,其次为次要比特信息。合并模块还用于根据获取的首要比特信息、次要比特信息和当前比特信息进行投票判决生成判决结果,根据判决结果生成临时比特信息;在本实施例中,根据少数服从多数的方式生成判决结果,判决结果为多数对应的硬比特数据,临时比特信息包括连续的临时硬比特数据,判决结果即为对应位置的临时硬比特数据。合并模块还用于根据临时比特信息更新待校验比特信息。

校验模块还用于当对临时比特信息上每一位置上的临时硬比特数据均生成后,对更新后的待校验比特信息进行数据校验生成校验结果,即对临时硬比特数据进行数据校验生成校验结果。

存储模块还用于当更新后的待校验比特信息数据校验失败时,根据存储策略存储待校验比特信息,即本实施例中。根据临时比特信息更新首要比特信息,将次要比特信息和更新后的首要比特信息作为待校验比特信息进行存储

具体实施方式:如图2所示,A1_R2为接收端首次接收的数据包对应硬比特数据,即首要硬比特数据;A1_R1为接收端上次接收的重传数据包对应的硬比特数据,即次要硬比特数据;A1_R0为接收端本次接收的重传数据包对应的硬比特数据,即当前硬比特数据;A1为对A1_R2、A1_R1和A1_R0进行投票判决后,根据投票判决结果生成的临时比特信息,即临时硬比特数据,虚线框是三次接收硬比特数据存在不同的位置,即数据传输过程中受到干扰发生错误的数据位置。

发射端发送数据包A,接收端接收数据包,此时数据包在传输过程中被干扰,因此为数据包A1_R2,同时由于数据包A1_R2被干扰,因此数据校验失败,接收端对数据包A1_R2对应的硬比特数据进行存储,即对首要硬比特数据进行存储。

发射端重传数据包A1,数据包在传输过程中被干扰,因此接收端接收到重传数据包A1_R1,同时数据验证失败,此时对重传数据包A1_R1对应的硬比特数据进行存储,即对次要硬比特数据进行存储。由于本实施例中采用投票判决的方式,因此接收端需前两次数据校验失败的数据进行存储,从第三次接收到数据包时进行合并处理。

发射端重传数据包A1,数据包在传输过程中被干扰,因此接收端再次接收到重传数据包A1_R0,同时数据验证失败,此时重传数据包A1_R0对应的硬比特数据为当前硬比特数据,根据首要比特数据、次要比特数据和当前比特数据进行投票判决,根据判决结果生成临时比特数据,即获得A1。

附图2中,前四位比特数据1010占比较多,因此A1前四位为1010,同理,第八位至第十一位0110占比较多,则A1的第八位至第十一位为0110,第十三位至第十六位0101,则A1的第十三位至第十六位为0101。第五位至第七位相同,则A1的第五位至第七位为011,同理,第十二位相同,则A1的第十二位为1。

实施例二

本实施例与实施例一的不同之处在于:在接收端首次接收重传数据包时,便进行合并处理。

本实施例中,存储的待校验比特信息包括合并硬比特数据和合并软比特数据。

接收端接收重传数据包,对重传数据包进行处理获得当前比特信息,当前比特信息包括当前硬比特数据和当前软比特数据。本实施例中,对重传数据包的处理包括解码。

接收端对当前硬比特数据进行数据校验。当数据校验失败时,接收端调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新。其中,根据当前比特信息对待校验比特信息进行更新,包括以下步骤:

逐一计算相同位置下的当前软比特数据和合并软比特数据的总和,根据总和更新对应的合并软比特数据;调用存储的映射规则,根据更新后的合并软比特数据和映射规则更新对应的合并硬比特数据。

对于两个软比特数据相加的结果,如果超过其比特位数表示的范围,则按照饱和操作取其对称的最大值或者最小值,比如对于四比特软比特数据来说,其对称的最大值和最小值分别为7和-7,当总和大于7,则该合并软比特数据为7,反之当总和小于-7,则该合并软比特数据为-7。

映射规则为当软比特数据小于零时,映射的硬比特数据为第一判决值;当软比特数据大于零时,映射的硬比特数据为第二判决值;当软比特数据等于零时,映射的硬比特数据为第一判决值或第二判决值。在本实施例中,当软比特数据等于零时,生成第一判决值,第一判决值为0,第二判决值为1。

接收端对更新后的待校验比特信息进行数据校验,当数据校验失败时,接收端存储更新后的待校验比特信息,同时向发射端反馈数据校验失败信号。

重复对重传数据包进行数据校验,调用存储的待校验比特信息,根据当前比特信息对待校验比特信息进行更新,对更新后的待校验比特信息进行数据校验的步骤,直到数据校验成功。

一种重传数据包合并纠错系统,使用上述重传数据包合并纠错方法,如附图3所示,

存储模块还用于存储映射规则,映射规则为当软比特数据小于零时,映射的硬比特数据为第一判决值;当软比特数据大于零时,映射的硬比特数据为第二判决值;当软比特数据等于零时,映射的硬比特数据为第一判决值或第二判决值。在本实施例中,当软比特数据等于零时,生成第一判决值,第一判决值为0,第二判决值为1。

在本实施例中,当前比特信息包括当前硬比特数据和当前软比特数据,待校验比特信息包括合并硬比特数据和合并软比特数据。

合并模块包括计算子模块和映射子模块。计算子模块用于逐一计算相同位置下的当前软比特数据和合并软比特数据的总和,根据总和更新对应的合并软比特数据。对于两个软比特数据相加的结果,如果超过其比特位数表示的范围,则按照饱和操作取其对称的最大值或者最小值,比如对于四比特软比特数据来说,其对称的最大值和最小值分别为7和-7,当总和大于7,则该合并软比特数据为7,反之当总和小于-7,则该合并软比特数据为-7。

映射子模块用于调用存储的映射规则,根据更新后的合并软比特数据和映射规则更新对应的合并硬比特数据。

校验模块还用于当合并硬比特信息上每一位置上的合并硬比特数据均更新后,对更新后的待校验比特信息进行数据校验生成校验结果,即对合并硬比特数据进行数据校验生成校验结果。

存储模块还用于当更新后的待校验比特信息数据校验失败时,存储更新后的待校验比特信息。

对软比特数据进行合并,在接收端保留更多的信息,从而提高数据纠错能力。

具体实施方式:如图4所示,A1_R1为接收端上次接收的数据包对应的待校验比特信息,A1_R0为接收端本次接收的数据包对应的当前比特信息,A1为对A1_R1和A1_R0进行合并后更新后的待校验比特信息,虚线框是发生错误数据的位置。

发射端发送数据包A,接收端接收数据包,此时数据包在传输过程中被干扰,因此为数据包A1_R1,同时由于数据包A1_R1被干扰,因此数据校验失败,接收端将数据包A1_R1对应的硬比特数据和软比特数据作为合并硬比特数据和合并软比特数据进行存储。

发射端重传数据包A1,数据包在传输过程中被干扰,因此接收端接收到重传数据包A1_R0,同时数据验证失败,此时根据重传数据包A1_R0对应的当前硬比特数据和当前软比特数据对存储的数据包A1_R1对应的合并硬比特数据和合并软比特数据进行更新获得数据A1。

附图2中,计算A1_R1和A1_R0相同位置的软比特数据的总和,分别为5、-3、4、0、-6,则A1的软比特数据为5、-3、4、0、-6。根据A1的软比特数据映射获得A1的硬比特数据,即A1的硬比特数据为10100。

实施例三

在传统蓝牙协议中,如附图5所示,蓝牙的比特流数据会在发射端进行CRC校验码、AES加密、E0加密、whitening和编码处理,对应的在接收端会进行CRC校验,AES解密,E0解密,de-whitening和解码处理。其中,AES加密、E0加密和编码处理会使得原始数据与处理后的数据发生变化,但是并不会造成重传的数据包RF信道上看到数据区别,而whitening和de-whitening处理则不同。

根据蓝牙协议的规定whitening和de-whitening的初始值根据蓝牙时钟计算得出,蓝牙时钟为蓝牙设备的内部系统时钟,用于决定收发器的时序和跳频。而蓝牙技术中是通过跳频算法,快速切换频道进行通信,因此蓝牙时钟在传输数据包时会发生变化。随着蓝牙时钟的变化,whitening的初始值发生变化,即使是相同的数据包,在物理层用于编码解码的最终数据也会发生变化,即数据包在多次重传之间,相同位置的数据经接收端解调器所解码出的数据也可能不一致,导致蓝牙通信的可靠性降低。

本实施例与实施例二的不同之处在于:

一种重传数据包合并纠错方法,对当前比特信息进行数据校验前,包括以下步骤:

获取对重传数据包进行解码获得的硬比特数据A1和软比特数据A2;对硬比特数据A1进行De-whitening处理获得硬比特数据B1;根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2;将硬比特数据B1和软比特数据B2作为当前硬比特数据和当前软比特数据。其中,根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2,包括以下步骤:逐一对比相同位置下的硬比特数据A1和硬比特数据B1;当两者不同时,计算软比特数据A2的相反数,将相反数作为硬比特数据B1对应的软比特数据B2;当两者相同时,将软比特数据A2作为硬比特数据B1对应的软比特数据B2。

一种重传数据包合并纠错系统,使用上述重传数据包合并纠错方法,其中处理模块包括解码子模块、De-whitenin子模块和还原子模块。

解码子模块用于对重传数据包进行解码获得硬比特数据A1和软比特数据A2。

De-whitenin子模块用于对硬比特数据A1进行De-whitening处理获得硬比特数据B1。

还原子模块根据硬比特数据A1和硬比特数据B1将软比特数据A2还原为软比特数据B2,将硬比特数据B1和软比特数据B2作为当前硬比特数据和当前软比特数据。具体的,还原子模块用于对比相同位置下的硬比特数据A1和硬比特数据B1,当两者不同时,对软比特数据A2进行转换为软比特数据B2,即取软比特数据A2的相反数作为软比特数据B2。例如软比特数据A2为P0,P0的相反数为-P0,则软比特数据B2为-P0。当两者相同时,将软比特数据A2作为硬比特数据B1对应的软比特数据B2。

具体实施方式:如图6所示,A1_R1为接收端上次接收的数据包还原后的待校验比特信息,A1_R0为接收端本次接收的数据包De-whitenin处理前的硬比特数据A1和软比特数据A2,A1_R0’为接收端本次接收的数据包De-whitenin处理后的硬比特数据B1和软比特数据B2,A1为对A1_R1和A1_R0’进行合并后更新后的待校验比特信息,虚线框是发生错误数据的位置。

发射端发送数据包A,接收端接收数据包,此时数据包在传输过程中被干扰,因此为数据包A1_R1,同时由于数据包A1_R1被干扰,因此数据校验失败,接收端对数据包A1_R1还原后的待校验比特信息进行存储。

发射端重传数据包A1,数据包在传输过程中被干扰,因此接收端接收到重传数据包A1_R0,对重传数据包A1_R0对应的硬比特数据A1和软比特数据A2进行还原获得A1_R0’对应的硬比特数据B1和软比特数据B2,同时数据验证失败,此时根据A1_R0’对应的硬比特数据B1和软比特数据B2对存储的数据包A1_R1还原后的待校验比特信息进行更新获得数据A1。

A1_R0和A1_R0’中硬比特数据不同的位置,对A1_R0’中该位置的软比特数据进行还原,即取A1_R0对应位置软比特数据A2的相反数作为A1_R0’对应位置的软比特数据B2。附图7中,P0’、P2’、P3’、P4’即为还原后的软比特数据B2。

计算A1_R1和A1_R0’相同位置的软比特数据的总和,作为A1的软比特数据。根据A1的软比特数据映射获得其硬比特数据,在示例中,P5+P0’为正数,P1+P6为负数,P2’+P7为正数,P3’+P8为负数,P9+P4’为负数,则A1的硬比特数据为10100。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

相关技术
  • 一种重传数据包合并纠错方法及系统
  • 一种数据包的重传方法和重传系统
技术分类

06120113031760