数据错误检测的方法及设备转让专利

申请号 : CN201110197618.8

文献号 : CN102325003B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙鹏飞尤侃刘庆丰

申请人 : 海能达通信股份有限公司

摘要 :

本发明实施例提供一种数据错误检测的方法、装置及通信系统,其中,数据错误检测的方法,包括:生成第一数据块和第二数据块;所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送循环移位后的第一数据块和所述第二数据块。使用本发明实施例提供的技术方案,能够在不增加发送设备和接收设备工作量的情况下实现数据错误检测。

权利要求 :

1.一种数据错误检测的方法,其特征在于,包括:生成第一数据块和第二数据块;所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;所述第二数据块还包括第二字段的值;所述方法还包括:根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块;

根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;

发送循环移位后的第一数据块和所述第二数据块。

2.根据权利要求1所述的方法,其特征在于,所述第一字段是用于指示第一数据块的数据类型的字段;所述第二字段是用于指示色码的字段;

或者,

所述第一字段是用于指示色码的字段;所述第二字段是用于指示第一数据块的数据类型的字段。

3.根据权利要求1所述的方法,其特征在于,第一比特位范围的数据包括所述第一部分和所述第二部分;

或者,

第一比特位范围的数据仅包括所述第二部分;

或者,

第一比特位范围的数据仅包括所述第一部分;

或者,

第一比特位范围的数据仅包括:第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中。

4.一种数据错误检测的方法,其特征在于,包括:接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;所述第二数据块还包括第二字段的值;该方法还包括:根据所述第二字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块;

根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;

根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。

5.根据权利要求4所述的方法,其特征在于,所述第一字段是用于指示第一数据块的数据类型的字段;所述第二字段是用于指示色码的字段;

或者,

所述第一字段是用于指示色码的字段;所述第二字段是用于指示第一数据块的数据类型的字段。

6.根据权利要求4或者5所述的方法,其特征在于,根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误包括:确定所述第一字段的值所对应的检错算法;

利用所述检错算法获得所述第一部分的检错码;

比较所获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。

7.根据权利要求4或者5所述的方法,其特征在于,所述第一比特位范围的数据循环移位的结果包括所述第一部分和第二部分;

或者,

所述第一比特位范围的数据循环移位的结果是所述第一部分;

或者,

所述第一比特位范围的数据循环移位的结果是所述第二部分;

或者,

所述第一比特位范围的数据循环移位的结果仅包括:第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中。

8.一种数据发送设备,其特征在于,包括:生成单元,用于生成第一数据块和第二数据块,所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块还包括第二字段的值;

第一移位单元,用于根据第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;

发送单元,用于发送循环移位后的第一数据块和所述第二数据块;

该数据发送设备还包括:

第二移位单元,用于根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;

所述循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。

9.一种数据接收设备,其特征在于,包括:接收单元,用于接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;所述第二数据块还包括第二字段的值;

第一移位单元,用于根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;

所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;

确定单元,用于根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误;

该数据接收设备还包括:

第二移位单元,用于根据所述第二字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;

所述循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。

10.根据权利要求9所述的设备,其特征在于,所述确定单元包括:

检错算法确定单元,用于确定所述第一字段的值所对应的检错算法;

检错码获得单元,用于利用所述检错算法获得所述第一部分的检错码;

比较单元,用于比较检错码获得单元所获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。

说明书 :

数据错误检测的方法及设备

技术领域

[0001] 本发明涉及通信技术领域,特别涉及一种数据错误检测的方法、装置及通信系统。 背景技术
[0002] 当通过无线接口在通信系统中的两个通信设备(称为发送设备和接收设备)之间传输数据时,由于网络的不稳定性,可能会造成所传输的数据中的某些比特发生改变,导致接收设备接收的数据与发送设备发出的数据不一致,所以需要使用数据检测技术检测数据在传输过程中是否发生错误。
[0003] 现有技术提供一种数据错误检测技术,其利用掩码和循环冗余校验码(Cyclic Redundancy Check)相结合的方式检测数据是否正确。具体的,发送设备对原始数据进行CRC校验,得到检错数据,进而获得第一数据块,该第一数据块包括:原始数据和检错数据;选择与该第一数据块的数据类型对应的掩码,利用该掩码,采用对每个比特异或运算的方式对第一数据块中的检错数据进行修改,向接收设备发送修改后的第一数据块以及第二数据块,其中,第二数据块包括:数据类型指示字段;接收设备接收到数据后,获得第二数据块中的数据类型指示字段所对应的掩码,利用该掩码对接收的第一数据块的检错数据进行恢复,并对接收的第一数据块中的原始数据进行CRC校验,将校验结果与对接收的第一数据块的检错数据的恢复结果进行比较,根据比较结果确定接收的数据是否有错误。一种情况下,如果第二数据块中的数据类型指示字段出现错误,则接收设备所采用的掩码与发送设备所采用的掩码不同,就会导致接收设备采用该掩码恢复出的检错数据与对原始数据的CRC校验结果不同,这样可以确定接收的数据有错误;另一种情况下,即使第二数据块中的数据类型指示字段不出现错误,但是接收的第一数据块在传输过程中出现错误,最后也会导致接收设备采用掩码恢复出的检错数据与对原始数据的CRC校验结果不同,可以确定接收的数据块出现错误。
[0004] 现有技术具有如下缺点:
[0005] 现有技术的发送设备需要利用掩码,采用对每个比特异或运算的方式对 检错数据进行修改,接收设备也需要利用掩码,采用对每个比特异或运算的方式对接收的检错数据进行恢复,这样,加大了发送设备和接收设备的计算工作量,增加了发送设备和接收设备的工作负担,降低了数据传输系统的性能。

发明内容

[0006] 本发明实施例提供一种数据错误检测的方法、装置及通信系统,能够在不增加发送设备和接收设备工作量的情况下实现数据错误检测。
[0007] 有鉴于此,本发明实施例提供了:
[0008] 一种数据错误检测的方法,包括:
[0009] 生成第一数据块和第二数据块;所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;
[0010] 根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;
[0011] 发送循环移位后的第一数据块和所述第二数据块。
[0012] 一种数据错误检测的方法,包括:
[0013] 接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;
[0014] 根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码; [0015] 根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。 [0016] 一种数据发送设备,包括:
[0017] 生成单元,用于生成第一数据块和第二数据块,所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;
[0018] 第一移位单元,用于根据所述第一字段的值所对应的数据发送端的循环 移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;
[0019] 发送单元,用于发送循环移位后的第一数据块和所述第二数据块。
[0020] 一种数据接收设备,包括:
[0021] 接收单元,用于接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;
[0022] 第一移位单元,用于根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;
[0023] 确定单元,用于根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。
[0024] 本发明实施例中数据发送端根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,这样,数据接收端根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要利用掩码对第一部分中的每个比特进行异或运算,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。

附图说明

[0025] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 [0026] 图1是本发明实施例提供的从数据发送端描述的一种数据错误检测的方法流程图;
[0027] 图2是本发明实施例提供的从数据发送端描述的另一种数据错误检测的方法流程图;
[0028] 图3是本发明实施例提供的欧洲电信标准化协会(European Telecommunications Standards Institute,ETSI)的数据移动无线电(Digital Mobile Radio,DMR)的突发示例;
[0029] 图4是本发明实施例提供的从数据接收端描述的一种数据错误检测的方法流程图;
[0030] 图5是本发明实施例提供的从数据接收端描述的另一种数据错误检测的方法流程图;
[0031] 图6A是本发明实施例提供的基于图2和图4所示方法的一个原始数据和检错数据一起循环移动的示例;
[0032] 图6B是本发明实施例提供的基于图2和图4所示方法的另一个原始数据和检错数据一起循环移动的示例;
[0033] 图7A是本发明实施例提供的基于图2和图4所示方法的检错数据循环移动的示例;
[0034] 图7B是本发明实施例提供的基于图2和图4所示方法的检错数据循环移动的示例;
[0035] 图8是本发明实施例提供的数据发送设备结构图;
[0036] 图9是本发明实施例提供的数据接收设备结构图;
[0037] 图10是本发明实施例提供的通信系统结构图。

具体实施方式

[0038] 本发明实施例提供一种数据错误检测的方法、装置及通信系统,其数据发送端可根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,并根据反向移位结果确定接收的数据块中是否有错误,如下本发明各实施例将对本发明提供的技术方案进行详细描述:
[0039] 图1示出了一种数据错误检测的方法,该数据检测方法从数据发送端描述,该方法包括:
[0040] 101、生成第一数据块和第二数据块,所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值。其中,该第一部分的检错码用于数据接收设备解码时对第一部分进行差错检测。具体的,该第一部分的检错码可以是采用某种校验方式对第一部分进行校验所得到的校验结果。
[0041] 其中,本发明实施例各步骤的执行主体是数据发送端,其具体可以是移动无线电设备、个人数字处理设备、蜂窝电话等。
[0042] 其中,第一部分可以是原始数据,第二部分是原始数据的检错码。
[0043] 102、根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位。其中,所述第一字段是占一个或者多个比特位;
[0044] 其中,第一比特位范围是第一字段所对应的比特位范围,其是一预定比特位范围,也就是说,如果数据发送端传输第一字段的值,则数据发送端就对第一比特位范围的数据进行循环移位,数据接收端就对第一比特位范围的数据进行反向循环移位,该第一字段的值对应具体的数据发送端的循环移位方式。其中,循环移位方式包括:循环移位时的移位方向和移位位数,其中,第一字段的值对应的数据发送端的循环移位方式与第一字段的值对应的数据接收端的循环移位方式的移位方向相反、移位位数相同。即如果第一字段的值对应的数据发送端的循环移位方式为向左循环移动N位,则该第一字段的值对应的数据接收端的循环移位方式应该为向右循环移动N位;如果第一字段的值对应的数据发送端的循环移位方式为向右循环移动N位,则该第一字段的值对应的数据接收端的循环移位方式应该为向左循环移动N位。
[0045] 该第一比特位范围可以是:数据发送端和数据接收端协商好的固定范围,也可以是数据发送端和数据接收端按照某些约定规则确定的针对本次数据发送所使用的比特位范围;比如,数据发送端和数据接收端约定对第一次传输的第一数据块中的第1-10比特进行循环移位,对第二次传输的第一数据块中的第2-11比特进行循环移位,对第三次传输的第一数据块中的第3-12比特进行循环移位,即下一次循环移位的比特位范围比本次循环移位的比特位范围顺延一位。或者,该第一比特位范围也可以是:数据发送端自己确定并通知数据 接收端的,或者数据接收端确定并通知数据发送端的。
[0046] 其中,第一比特位范围的数据包括第一部分和第二部分;或者,第一比特位范围的数据仅包括第二部分;或者,第一比特位范围的数据仅包括第一部分;或者,第一比特位范围的数据仅包括:第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中,其中,第一数据段可以是第一部分的全部数据,也可以是第一部分的部分数据,第二数据段可以是第二部分的全部数据,也可以是第二部分的部分数据,比如,第一比特位范围的数据可以仅包括:第一部分中与第二部分相邻的部分数据和第二部分中与第一部分相邻的部分数据。
[0047] 在一种具体实施方式中,所述第一字段是用于指示第一数据块的数据类型的字段,即第一数据块的数据类型指示字段,此时,该步骤102是根据第一数据块的数据类型指示字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位。其中,该第一数据块的数据类型指示字段的值所对应的数据发送端的循环移位方式为:该第一数据块的数据类型指示字段的值所表示的数据类型所对应的循环移位方式。该数据类型所对应的循环移位方式的获取方式具体可以采用如下两种方式:第一种方式为:根据数据类型与循环移位方式的一一对应关系,确定该第一数据块的数据类型所对应的循环移位方式,这种方式可以适用于数据发送端和数据接收端预先协商好采用相同的检错算法的情况下;第二种方式为:根据数据类型、检错算法和循环移位方式三者的对应关系,确定第一数据块的数据类型和检错数据所采用的检错算法两者所对应的循环移位方式。这种方式可以适用于不同的数据类型使用不同的检错算法的情况下,也可以适用于不同的数据类型使用相同的检错算法的情况下。其中,当不同的数据类型采用相同的检错算法时,该不同的数据类型、相同的检错算法一定对应不同的循环移位方式;当不同的数据类型采用不同的检错算法时,该不同的数据类型、不同的检错算法可以对应不同的循环移位方式,也可以对应相同的循环移位方式,其中,相同的数据类型对应相同的循环移位方式,即相同的数据类型采用相同的循环移位方式;相同的数据类型对应相同的检错算法,即相同的 数据类型采用相同的检错算法,本发明后续实施例再对其进行详细描述。 [0048] 103、发送循环移位后的第一数据块和第二数据块。
[0049] 可选的,所述第二数据块还包括第二字段的值;在步骤103之前,该方法还包括:根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位。其中,该步骤中所发送的循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。其中,第二比特位范围是第二字段所对应的比特位范围,其也是一预定比特位范围,也就是说,如果数据发送端传输第二字段的值,则数据发送端就对第二比特位范围的数据进行循环移位,数据接收端就对第二比特位范围的数据进行反向循环移位,该第二字段的值对应具体的数据发送端的循环移位方式。其中,第二字段的值对应的数据发送端的循环移位方式与第二字段的值对应的数据接收端的循环移位方式的移位方向相反、移位位数相同。即如果第二字段的值对应的数据发送端的循环移位方式为向左循环移动N位,则该第二字段的值对应的数据接收端的循环移位方式应该为向右循环移动N位;如果第二字段的值对应的数据发送端的循环移位方式为向右循环移动N位,则该第二字段的值对应的数据接收端的循环移位方式应该为向左循环移动N位。第二比特位范围可以是数据发送端和数据接收端协商好的固定范围,也可以是数据发送端和数据接收端按照某些约定规则确定的针对本次数据发送所使用的比特位范围;也可以是数据发送端自己确定并通知数据接收端的,或者数据接收端确定并通知数据发送端的。
[0050] 其中,第一比特位范围和第二比特位范围可以不重叠,也可以有部分重叠;所述第一字段是用于指示第一数据块的数据类型的字段,即第一数据块的数据类型指示字段;所述第二字段是用于指示色码的字段,即色码指示字段;或者,所述第一字段为色码指示字段;所述第二字段为第一数据块的数据类型指示字段。其中,在这种具体实施方式中,第一字段的值所对应的数据发送端的循环移位方式为:第一字段的值所表示的数据类型所对应的循环移动方式;第二字段的值所对应的数据发送端的循环移位方式为:第二字段的值所表示的色码所对应的循环移动方式;或者,第一字段的值所对应的数据发送端的循环移位方式为:第一字段的值所表示的色码所对应的循环移动 方式;第二字段的值所对应的数据发送端的循环移位方式为:第二字段的值所表示的数据类型所对应的循环移动方式;其中,色码或者数据类型所对应的循环移动方式的获取方式与前述步骤102中数据类型所对应的循环移位方式的获取方式相似,在此不再赘述。这样,后续数据接收端可以对第一比特位范围的数据和第二比特位范围的数据进行相应的反向移位,基于反向移位的结果可以确定接收的数据块中是否有错误,只要第一字段的值、第二字段的值、第一数据块中任意一个在传输过程中出现错误,数据接收端都能确定接收的数据块有错误。
[0051] 本发明实施例中数据发送端根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的第一比特范围的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,这样,数据接收端根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要利用掩码进行异或运算,减少了数据发送端和数据接收端的计算工作量,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。
[0052] 为了使本发明上述实施例提供的技术方案更加清楚,图2所示实施例将对上述实施例提供的技术方案进行详细描述:
[0053] 201、数据发送端获取原始数据,根据预置的数据类型、检错算法、循环移位方式三者的对应关系表,获得该原始数据的数据类型所对应的检错算法,利用该检错算法对原始数据进行校验,获得检错码,得到第一数据块,该第一数据块包括原始数据和检错码。 [0054] 具体的,对原始数据进行校验可以利用如下表1所列出的各种检错算法。 [0055] 202、数据发送端根据预置的数据类型、检错算法、循环移位方式三者的对应关系表,获得第一数据块的数据类型所对应的循环移位方式。
[0056] 其中,具体的对应关系表可以如表1所示:
[0057]
[0058]
[0059] 表1
[0060] 其中,表1中第一列为数据类型(Data Type),具体可以包括:加密指示头帧(PI Header)、语音链路控制头帧(Voice LC Header)、链路控制结束帧(Terminator with LC)、控制信令块(CSBK)、多块控制头帧(MBC Header)、多块控制后续帧(MBC Continuation)、数据头帧(Data Header)、1/2编码率数据(Rate 1/2 Data)、3/4编码率数据(Rate3/4 Data)和全编码率数(Rate 1 Data)等。检错算法可以包括:CRC-CCITT、(12,9)Reed-Solomon、CRC-9等检错算法,除了表中所列出的检错算法,其还可以包括奇偶校验算法,也可以包括其他检错算法,不影响本发明的实现。其中,表1中第三列的数值表示原始数据和检错码一起向左循环移动的位数,表1中第四列的数值表示检错码向左循环移动的位数。
[0061] 具体的,该步骤可以是根据预置的数据类型、检错算法、循环移位方式三者的对应关系表,确定第一数据块的数据类型所对应的循环移位方式。在不同的数据类型采用相同的检错算法时,不同的数据类型、相同的检错算法一定对应不同的循环移位方式,如表1所示,当需要对原始数据和检错码一起循环移位时,对两种不同的数据类型Rate 1/2 Data和Rate 3/4 Data,其检错算法都为CRC-9,从表1中可以看出Rate 1/2 Data、CRC-9对应的循环移位方 式为:原始数据和检错码一起向左循环移动7位;Rate 3/4 Data、CRC-9对应的循环移位方式为:原始数据和检错码一起向左循环移动8位。在不同的数据类型采用不同的检错算法时,该不同的数据类型、不同的检错算法可以对应不同的循环移位方式,也可以对应相同的循环移位方式。如表1所示,当需要对检错码进行循环移位时,对两种不同的数据类型Terminator with LC和CSBK,分别采用两种检错算法,即(12,9)Reed-Solomon和CRC-CCITT,其所采用的循环移位方式都为向左循环移动2位。其中,同一种数据类型对应同一种检错算法,同一种数据类型对应同一种循环移位方式。
[0062] 203、数据发送端采用步骤202中所确定的循环移位方式,对第一数据块中第一比特位范围的数据进行循环移位。
[0063] 其中,在一种具体实施方式中,该步骤中第一比特位范围的数据为原始数据和检错码,该步骤是对原始数据和检错码一起进行循环移位;或者,在另一种具体实施方式中,该步骤中第一比特位范围的数据是检错码,该步骤是对检错码进行循环移位,不对原始数据进行循环移位;或者,在另一种具体实施方式中,该步骤中第一比特位范围的数据是原始数据,该步骤是对原始数据进行循环移位,不对检错码进行循环移位;或者,该步骤中第一比特位范围的数据包括:原始数据中与检错码相邻的部分数据和检错码中与原始数据相邻的部分数据,该步骤是对该部分原始数据和部分检错码一起进行循环移位。其中,具体采用的循环移位方式可以是向左循环移动N位,或者向右循环移动N位。
[0064] 204、数据发送端生成第二数据块,第二数据块包括:第一数据块的数据类型指示字段的值。其中,该指示字段的具体值不同,其所指示的数据类型也不同。其中,第二数据块还可以包括色码指示字段的值。
[0065] 其中,本发明实施例中在数据发送端预置了数据类型、检错算法、循环移位方式三者的对应关系表,并预置了数据类型所对应的数据类型指示字段的值,其中,不同的数据类型所对应的数据类型指示字段的值也不同,这样,数据类型指示字段的具体值与循环移位方式就存在对应关系。其中,第一数据块的数据类型指示字段的具体值与原始数据和检错码一起向左循环移位时的具体移动位数的对应关系可以如表2所示。
[0066]
[0067] 表2
[0068] 其中,第一数据块的数据类型指示字段的具体值与检错码向左循环移位时的具体移动位数的对应关系可以如表3所示。
[0069]
[0070]
[0071] 表3
[0072] 其中,表3中的“-”表示不存在的移动位数。其中,需要说明的是,表3只是示例性的示出数据类型指示字段的具体值与移位方式的对应关系,本领域技术人员可以理解的是,数据类型指示字段的具体值与移位方式的对应关系并不仅限于此,比如,对于检错码为24比特,其还可以使用向左循环移动16-23位;对于检错码为32比特,其还可以使用向左循环移动16-31位。再如,对于表3中检错码为8比特的情况,数据类型指示字段的具体值与具体移位方式的对应关系也可以采用其他方式,并不仅限于表中所示,比如数据类型指示字段的值0、2、4、6、8、10、12、14对应的移位位数分别为1、2、3、4、5、6、7,数据类型指示字段的值为其他值时,不存在对应的移动位数。
[0073] 需要说明的是,步骤204与步骤201-203没有执行上的先后顺序,可以在步骤201之后就执行步骤204,也可以在步骤202之后执行步骤204,不影响本发明的实现。 [0074] 205、数据发送端对第二数据块进行前向纠错(Forward Error Correction, FEC),对第一数据块进行多块拓扑码(Block Product Turbo Code,BPTC)编码,并对第一数据块的编码结果进行交织处理,得到待发送数据块,所述待发送数据块包括:交织处理结果、对第二数据块进行FEC得到的结果。
[0075] 其中,图3示出了该步骤的处理过程。该实例假定原始数据80比特,检错码16比特,对这96比特进行BPTC编码后再进行交织处理,得到196个信息,分为2部分,每部分98个比特,见图3中的Info(98)。图3中对第二数据块进行FEC得到的结果包括:对数据类型进行FEC得到的结果,和对色码进行FEC得到的结果。
[0076] 206、数据发送端向数据接收端发送上述待发送数据块。
[0077] 本发明实施例中数据发送端根据第一数据块的数据类型指示字段的值所对应的数据发送端的循环移位方式,对第一数据块中的第一比特位范围的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第一数据块的数据类型指示字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,这样,数据接收端根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要使用掩码进行异或运算,减少了数据发送端和数据接收端的计算工作量,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。
[0078] 本发明提供又一种数据错误检测的方法,该方法与上述图3所示实施例的主要区别在于:还需要在数据发送端预置色码与循环移位方式的对应关系表,以及色码所对应的色码指示字段的值(其中,不同色码对应的色码指示字段的值不同)在步骤202中,不仅获得第一数据块的数据类型所对应的循环移位方式,还获得色码所对应的循环移位方式;在步骤203中,根据第一数据块的数据类型所对应的循环移位方式,对第一数据块中第一比特范围的数据进行循环移位;根据色码所对应的循环移位方式,对第一数据块中第二比特范围的数据进行循环移位。其中,在一种具体的实施方式中,第一比特位范围的数据是原始数据中的全部数据;第二比特位范围的数据是检错码中的全部数据;或者,第一比特位范围的数据是检错码中的全部数据;第二比特位范围的数据是原始数据中的全部数据;在另一种具体的实施方式中,第一比特位 范围的数据和第二比特位范围的数据都是原始数据中的部分数据,或者,第一比特位范围的数据和第二比特位范围的数据都是检错码中的部分数据;在又一种具体的实施方式中,第一比特位范围的数据包括原始数据中与检错码相邻的部分数据和检错码中与原始数据相邻的部分数据,第二比特位范围的数据包括部分原始数据或者部分检错码。
[0079] 采用这种数据错误检测方法,只要第一数据块、第一数据块的数据类型指示字段的值和色码指示字段的值三者中任意一个在后续的数据传输中出现错误,数据接收端都可以得到接收数据块不正确的结果。
[0080] 图4示出了一种数据错误检测的方法,该数据检测方法从数据接收端描述,该方法包括:
[0081] 401、接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;其中,该第一字段可以是用于指示第一数据块的数据类型的字段,即第一数据块的数据类型指示字段。
[0082] 其中,本发明实施例各步骤的执行主体是数据接收端,其具体可以是移动无线电设备、个人数字处理设备、蜂窝电话等。
[0083] 402、根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码。 [0084] 其中,第一部分可以是原始数据,第二部分是原始数据的检错码。具体的,第二部分可以是原始数据的校验结果,比如CRC校验结果。具体的,该第一比特位范围的数据循环移位的结果是所述第一部分和第二部分,此时,第一比特位范围是第一部分和第二部分在第一数据块所占的比特位范围,这种方式下,数据发送端对第一部分和第二部分一起进行循环移位,接收端也对第一部分和第二部分一起进行反向循环移位;或者,该第一比特位范围的数据循环移位的结果是所述第一部分,此时,第一比特位范围是第一部分在第一数据块中所占的比特位;或者,该第一比特位范围的数据循环移位的结果是所述第二部分,此时,第一比特位范围是第二部分在第一数据块中所占 的比特位;或者,该第一比特位范围的数据循环移位的结果仅包括:第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于第一部分中,第二数据段位于第二部分中,具体的,该第一比特位范围的数据循环移位的结果可以是第一部分中与第二部分相邻的部分数据,以及第二部分中与第一部分相邻的部分数据。
[0085] 其中,在一种具体实施方式中,所述第一字段可以为第一数据块的数据类型指示字段,此时该步骤是根据该第一数据块的数据类型指示字段的值所对应的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;其中,第一数据块的数据类型指示字段的值所对应的循环移位方式是:第一数据块的数据类型指示字段的值所表示的数据类型所对应的循环移位方式。在这种实施方式中,数据接收端预置数据类型指示字段的值与循环移位方式的对应关系,具体的,数据接收端可以预置数据类型与循环移位方式的对应关系,以及预置数据类型所对应的数据类型指示字段的值,其中,不同的数据类型所对应的数据类型指示字段的值不同。
[0086] 403、根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。
[0087] 该步骤具体可以采用如下方式:确定第一字段的值所对应的检错算法;利用该检错算法获得第一部分的检错码;比较所获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。在一种实施方式中,假定第一字段为第一数据块的数据类型指示字段,确定第二数据块中的第一字段的值所对应的检错算法具体是:根据预置的数据类型、检错算法和循环移位方式的对应关系,确定第一数据块的数据类型指示字段的值所表示的数据类型所对应的检错算法。其中,同一种数据类型对应同一种检错算法,同一种检错算法可以对应不同的数据类型,同一种数据类型对应同一种循环移位方式,同一种循环移位方式可以对应不同的数据类型。当不同的数据类型采用相同的检错算法时,该不同的数据类型、相同的检错算法一定对应不同的循环移位方式;当不同的数据类型采用不同的检错算法时,该不同的数据类型、不同的检错算法可以对应不同的循环移位方式,也可以对应相同的循环移位方式。
[0088] 在一种情况下,如果第一数据块的数据类型指示字段的值在传输的过程中发生错误,导致数据接收端接收的该字段的值与数据发送端发出的该字段的值不同,则在步骤402中所根据的数据接收端的循环移位方式与数据发送端采用的循环移位方式就不是反向的,比如,数据发送端采用的循环移位方式为向左循环2位,而数据接收端的循环移位方式为向右循环4位,这样,步骤402中数据接收端得到的循环移位后的第一数据块与数据发送端循环移位前的第一数据块就不相同,最后导致步骤403中的比较结果为数据接收端获得的检错码和第二部分不相同,确定数据块中的数据存在错误。采用这种实现方式,当仅第一部分的数据类型指示字段的值在传输过程中发生错误时,数据接收端也能够确定该数据块是错误的。在另一种情况下,如果第一数据块在传输过程中发生错误,即使步骤402中所根据的数据接收端的循环移位方式与数据发送端采用的循环移位方式是反向的,但是步骤402中数据接收端得到的循环移位后的第一数据块与数据发送端循环移位前的第一数据块也不相同,最后导致步骤403中的比较结果为数据接收端获得的检错码和第二部分不相同,确定数据块中的数据存在错误。采用这种实现方式,当仅第一数据块在传输过程中发生错误时,数据接收端也能够确定该数据块是错误的。也就是说,第一数据块、第一数据块的数据类型指示字段的值任意一个在传输过程中出现错误,数据接收端都可以确定接收的数据块有错误。
[0089] 可选的,所述第二数据块还包括第二字段的值;在步骤203之前,该方法还包括:根据第二字段的值所对应的数据接收端的循环移位方式,对第一数据块中第二比特位范围的数据进行循环移位;其中,第一比特位范围和第二比特位范围可以不重叠,也可以部分重叠。第二比特位范围、第一数据块中第一比特位范围的数据和第二比特位范围的数据的说明参见数据发送端的相应描述,在此不再赘述。其中,第一字段为第一数据块的数据类型指示字段;第二字段为色码指示字段;或者,第一字段为色码指示字段;第二字段为第一数据块的数据类型指示字段。在这种实施方式中,数据接收端预置色码与循环移位方式的对应关系,和,色码所对应的色码指示字段的值,以及,数据类型与循环移位方式的对应关系,和,数据类型所对应的数据类型指示字段的值。同理,对于第二数据块包括第一字段的值和第二字段的值的情况, 第一数据块、第一字段的值、第二字段的值中任意一个在传输过程中出现错误,数据接收端都可以确定接收的数据块有错误。
[0090] 本发明实施例中数据接收端能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式,并采用该循环移位方式对接收的第一数据块中第一比特位范围的数据进行反向循环移位,以便根据移位结果确定接收的数据块中是否有错误,由于采用移位的方式而不需要采用掩码进行异或运算,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。
[0091] 为了使本发明图4所示实施例提供的技术方案更加清楚,图5所示实施例将对上述实施例提供的技术方案进行详细描述:
[0092] 501、数据接收端接收数据块,该数据块包括:第一多个比特和第二多个比特。 [0093] 502、数据接收端对第一多个比特进行解交织、解码等处理后得到第一数据块;数据接收端对第二多个比特进行解码处理后得到第二数据块,该第二数据块包括:第一数据块的数据类型指示字段的值和色码指示字段的值。
[0094] 503、数据接收端根据第二数据块中的第一数据块的数据类型指示字段的值,确定第一数据块的数据类型指示字段的值所对应的数据接收端的循环移位方式。
[0095] 该实施例中,数据接收端可以预置数据类型、检错算法、数据发送端的循环移位方式的对应关系表(如表1所示),并预置了数据类型所对应的数据类型指示字段的值,此时数据接收端确定第一数据块的数据类型指示字段的值所表示的数据类型,然后从表1中查询该数据类型所对应的循环移位方式。假定该实施例中第一数据块的数据类型指示字段的值为1,其所表示的数据类型为(12,9)Reed-Solomon,对应的数据发送端的循环移位方式为原始数据和检错码(即第一比特位范围的数据)一起向左循环移动2位,则对应的数据接收端的循环移位方式为:对接收的第一比特位范围的数据进行向右循环移动2位,如果数据发送端中,原始数据和检错码在第一数据块中所占的比特位范围为第1-10位,则对应的数据接收端的循环移位方式为:对于第一数据块中第1-10位的数据进行向右循环移动2位。
[0096] 504、数据接收端根据步骤503确定的循环移位方式,对第一数据块中第 一比特位范围的数据进行循环移位,得到循环移位后的第一数据块。其中,循环移位后的第一数据块包括:原始数据和检错码,其中,第一比特位范围是第一字段所对应的比特位范围,其可以是一预定比特范围,对该第一比特位范围的说明请参见数据发送端的相关描述,在此不再赘述。
[0097] 505、数据接收端确定第一数据块的数据类型所对应的检错算法,利用该检错算法,获得循环移位后的第一数据块中原始数据的检错码;然后将获得的检错码和循环移位后的第一数据块中的检错码进行比较,根据比较结果确定所接收的数据块中的数据是否存在错误。
[0098] 具体的,该步骤具体是根据第一数据块的数据类型(即第一数据类的数据类型指示字段的值所表示的数据类型)和数据接收端的循环移位方式,从表1中查找所对应的检错算法。
[0099] 本发明实施例中数据接收端能够根据接收的第一数据块的数据类型指示字段的值获得对应的循环移位方式,并采用该循环移位方式对接收的第一数据块中第一比特位范围的数据进行反向循环移位,以便根据移位结果确定接收的数据块中是否有错误,由于采用移位的方式而不需要采用掩码进行异或运算,减少了数据发送端和数据接收端的计算工作量,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。 [0100] 本发明实施例提供又一种数据错误检测的方法,该方法与上述图5所示实施例的主要区别在于:在数据接收端还需要预置色码与循环移位方式的对应关系,和色码所对应的色码指示字段的值,在步骤503中不仅需要获得第一数据块的数据类型指示字段的值所对应的数据接收端的循环移位方式,还需要获得色码指示字段的值所对应的数据接收端的循环移位方式。在步骤504中,根据数据类型指示字段的值所对应的数据接收端的循环移位方式,对第一数据块中第一比特位范围的数据进行循环移位;根据色码指示字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位,然后采用第一数据块的数据类型指示字段的值所对应的校验算法,获得循环移位后的第一数据块(即第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块)中的原始数据的检错码,将所获得的检错码与循环移位后的第一数据块中的检错码进行比较,根据比 较结果,确定该数据接收端所接收的数据块中是否有错误。其中,对第一比特位范围的数据和第二比特位范围的数据的说明与数据发送端相同,在此不再赘述。 [0101] 采用这种数据错误检测方法,只要第一数据块、第一数据块的数据类型指示字段的值和色码指示字段的值三者中任意一个在数据传输中出现错误,数据接收端都可以得到接收数据块不正确的结果。
[0102] 为了使本发明实施例提供的技术方案更加清楚,图6A和图6B分别示出了原始数据和检错码一起向左循环移动1位、原始数据和检错码一起向右移动循环1位时,数据发送端和数据接收端的数据处理示意图;图7A和图7B分别示出了检错码向左循环移动1位、检错码向右循环移动1位时,数据发送端和数据接收端的数据处理示意图。
[0103] 参阅图8,本发明实施例提供一种数据发送设备,其包括:
[0104] 生成单元10,用于生成第一数据块和第二数据块,所述第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值; [0105] 第一移位单元20,用于根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;
[0106] 发送单元30,用于发送循环移位后的第一数据块和第二数据块。
[0107] 在一种实施方式中,所述第一字段为第一数据块的数据类型指示字段。移位单元20中所根据的循环移位方式具体可以是第二数据块中的第一数据块的数据类型指示字段的值所表示的数据类型和所述第二部分所采用的检错算法两者所对应的循环移位方式。这样,当第一数据块的数据类型指示字段的值在传输过程中出现错误,则数据接收端也可以确定接收的数据块出现错误。其中,当不同的数据类型采用相同的检错算法时,该不同的数据类型、相同的检错算法一定对应不同的循环移位方式;当不同的数据类型采用不同的检错算法时,该不同的数据类型、不同的检错算法可以对应不同的循环移位方式,也可以对应相同的循环移位方式,同一种数据类型一定对应同一种检错算法,同一种数据类型一定对应同一种循环移位方式,具体可以参见方法实施例部分的相应描述。
[0108] 在另一种实施方式中,所述第二数据块还包括第二字段的值;该数据发送设备还包括:第二移位单元40,用于根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;此时发送单元30所发送的循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。这样,当第一数据块、第一数据块的数据类型指示字段的值和色码指示字段的值任意一个在传输过程中出现错误,数据接收端就可以确定接收的数据块出现错误,可以将该数据块丢弃。
[0109] 本发明实施例中数据发送设备根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中第一比特位范围的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收设备能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式并对接收的第一数据块中第一比特位范围的数据进行反向循环移位,这样,数据接收设备根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要采用掩码进行异或运算,减少了数据发送设备和数据接收设备的计算工作量,减轻了数据发送设备和数据接收设备的工作负担,提高了数据传输系统的性能。
[0110] 参阅图9,本发明实施例提供一种数据接收设备,其包括:
[0111] 接收单元60,用于接收数据块,所述数据块包括:第一数据块和第二数据块,所述第二数据块包括第一字段的值;
[0112] 第一移位单元80,用于根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括:第一部分和第二部分,所述第二部分是第一部分的检错码;
[0113] 确定单元90,用于根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。
[0114] 在一种实施方式中,所述第一字段为第一数据块的数据类型指示字段,第一移位单元80根据第一数据块的数据类型指示字段所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位。 这样,只要第一数据块、第一数据块的数据类型指示字段的值中任一个在数据传输过程中出现错误,都可以确定接收的数据块有错误。
[0115] 在另一种具体实施方式中,所述第二数据块还包括第二字段的值;该数据接收设备还包括:第二移位单元70,用于根据所述第二字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为:第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。这样,只要第一数据块、第一字段的值、第二字段的值任意一个在数据传输过程中出现错误,都可以确定接收的数据块有错误。
[0116] 具体的,确定单元90具体包括:检错算法确定单元,用于确定所述第一字段的值所对应的检错算法;和,检错码获得单元,用于利用所述检错算法,获得第一部分的检错码;和,比较单元,用于比较检错码获得单元获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。
[0117] 本发明实施例中数据接收设备能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式,并采用该循环移位方式对接收的第一数据块中第一比特位范围的数据进行反向循环移位,以便根据移位结果确定接收的数据块中是否有错误,由于采用移位的方式而不需要采用掩码进行异或运算,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。
[0118] 参阅图10,本发明实施例还提供一种网络系统,其包括上述图8所示的数据发送设备100和图9所示的数据接收设备200。上述图8所示的数据发送设备和图9所示的数据接收设备均可以是移动无线电设备、个人数字处理设备、蜂窝电话等。数据发送设备与数据接收设备之间通过有线或者无线方式连接。
[0119] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,例如只读存储器,磁盘或光盘等。
[0120] 以上对本发明实施例所提供的数据错误检测的方法、装置及通信系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范 围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。