专利名称:数据错误检测的方法、装置及通信系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种数据错误检测的方法、装置及通信系统。
背景技术:
当通过无线接口在通信系统中的两个通信设备(称为发送设备和接收设备)之间传输数据时,由于网络的不稳定性,可能会造成所传输的数据中的某些比特发生改变,导致接收设备接收的数据与发送设备发出的数据不一致,所以需要使用数据检测技术检测数据在传输过程中是否发生错误。现有技术提供一种数据错误检测技术,其利用掩码和循环冗余校验码(Cyclic Redundancy Check)相结合的方式检测数据是否正确。具体的,发送设备对原始数据进行 CRC校验,得到检错数据,进而获得第一数据块,该第一数据块包括原始数据和检错数据; 选择与该第一数据块的数据类型对应的掩码,利用该掩码,采用对每个比特异或运算的方式对第一数据块中的检错数据进行修改,向接收设备发送修改后的第一数据块以及第二数据块,其中,第二数据块包括数据类型指示字段;接收设备接收到数据后,获得第二数据块中的数据类型指示字段所对应的掩码,利用该掩码对接收的第一数据块的检错数据进行恢复,并对接收的第一数据块中的原始数据进行CRC校验,将校验结果与对接收的第一数据块的检错数据的恢复结果进行比较,根据比较结果确定接收的数据是否有错误。一种情况下,如果第二数据块中的数据类型指示字段出现错误,则接收设备所采用的掩码与发送设备所采用的掩码不同,就会导致接收设备采用该掩码恢复出的检错数据与对原始数据的 CRC校验结果不同,这样可以确定接收的数据有错误;另一种情况下,即使第二数据块中的数据类型指示字段不出现错误,但是接收的第一数据块在传输过程中出现错误,最后也会导致接收设备采用掩码恢复出的检错数据与对原始数据的CRC校验结果不同,可以确定接收的数据块出现错误。现有技术具有如下缺点现有技术的发送设备需要利用掩码,采用对每个比特异或运算的方式对检错数据进行修改,接收设备也需要利用掩码,采用对每个比特异或运算的方式对接收的检错数据进行恢复,这样,加大了发送设备和接收设备的计算工作量,增加了发送设备和接收设备的工作负担,降低了数据传输系统的性能。
发明内容
本发明实施例提供一种数据错误检测的方法、装置及通信系统,能够在不增加发送设备和接收设备工作量的情况下实现数据错误检测。有鉴于此,本发明实施例提供了 一种数据错误检测的方法,包括生成第一数据块和第二数据块;所述第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;
根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送循环移位后的第一数据块和所述第二数据块。一种数据错误检测的方法,包括接收数据块,所述数据块包括第一数据块和第二数据块,所述第二数据块包括第一字段的值;根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。一种数据发送设备,包括生成单元,用于生成第一数据块和第二数据块,所述第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;第一移位单元,用于根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送单元,用于发送循环移位后的第一数据块和所述第二数据块。一种数据接收设备,包括接收单元,用于接收数据块,所述数据块包括第一数据块和第二数据块,所述第二数据块包括第一字段的值;第一移位单元,用于根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;确定单元,用于根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。本发明实施例中数据发送端根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,这样,数据接收端根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要利用掩码对第一部分中的每个比特进行异或运算,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的从数据发送端描述的一种数据错误检测的方法流程图2是本发明实施例提供的从数据发送端描述的另一种数据错误检测的方法流程图;图3是本发明实施例提供的欧洲电信标准化协会(European Telecommunications Standards Institute, ETSI)的数据移动无线电(Digital Mobile Radio, DMR)的突发示例;图4是本发明实施例提供的从数据接收端描述的一种数据错误检测的方法流程图;图5是本发明实施例提供的从数据接收端描述的另一种数据错误检测的方法流程图;图6A是本发明实施例提供的基于图2和图4所示方法的一个原始数据和检错数据一起循环移动的示例;图6B是本发明实施例提供的基于图2和图4所示方法的另一个原始数据和检错数据一起循环移动的示例;图7A是本发明实施例提供的基于图2和图4所示方法的检错数据循环移动的示例;图7B是本发明实施例提供的基于图2和图4所示方法的检错数据循环移动的示例;图8是本发明实施例提供的数据发送设备结构图;图9是本发明实施例提供的数据接收设备结构图;图10是本发明实施例提供的通信系统结构图。
具体实施例方式本发明实施例提供一种数据错误检测的方法、装置及通信系统,其数据发送端可根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第二数据块中的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,并根据反向移位结果确定接收的数据块中是否有错误,如下本发明各实施例将对本发明提供的技术方案进行详细描述图1示出了一种数据错误检测的方法,该数据检测方法从数据发送端描述,该方法包括101、生成第一数据块和第二数据块,所述第一数据块包括第一部分和第二部分, 所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值。其中,该第一部分的检错码用于数据接收设备解码时对第一部分进行差错检测。具体的,该第一部分的检错码可以是采用某种校验方式对第一部分进行校验所得到的校验结果。其中,本发明实施例各步骤的执行主体是数据发送端,其具体可以是移动无线电设备、个人数字处理设备、蜂窝电话等。其中,第一部分可以是原始数据,第二部分是原始数据的检错码。102、根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位。其中,所述第一字段是占一个或者多个比特位;其中,第一比特位范围是第一字段所对应的比特位范围,其是一预定比特位范围, 也就是说,如果数据发送端传输第一字段的值,则数据发送端就对第一比特位范围的数据进行循环移位,数据接收端就对第一比特位范围的数据进行反向循环移位,该第一字段的值对应具体的数据发送端的循环移位方式。其中,循环移位方式包括循环移位时的移位方向和移位位数,其中,第一字段的值对应的数据发送端的循环移位方式与第一字段的值对应的数据接收端的循环移位方式的移位方向相反、移位位数相同。即如果第一字段的值对应的数据发送端的循环移位方式为向左循环移动N位,则该第一字段的值对应的数据接收端的循环移位方式应该为向右循环移动N位;如果第一字段的值对应的数据发送端的循环移位方式为向右循环移动N位,则该第一字段的值对应的数据接收端的循环移位方式应该为向左循环移动N位。该第一比特位范围可以是数据发送端和数据接收端协商好的固定范围,也可以是数据发送端和数据接收端按照某些约定规则确定的针对本次数据发送所使用的比特位范围;比如,数据发送端和数据接收端约定对第一次传输的第一数据块中的第1-10比特进行循环移位,对第二次传输的第一数据块中的第2-11比特进行循环移位,对第三次传输的第一数据块中的第3-12比特进行循环移位,即下一次循环移位的比特位范围比本次循环移位的比特位范围顺延一位。或者,该第一比特位范围也可以是数据发送端自己确定并通知数据接收端的,或者数据接收端确定并通知数据发送端的。其中,第一比特位范围的数据包括第一部分和第二部分;或者,第一比特位范围的数据仅包括第二部分;或者,第一比特位范围的数据仅包括第一部分;或者,第一比特位范围的数据仅包括第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中,其中,第一数据段可以是第一部分的全部数据,也可以是第一部分的部分数据,第二数据段可以是第二部分的全部数据, 也可以是第二部分的部分数据,比如,第一比特位范围的数据可以仅包括第一部分中与第二部分相邻的部分数据和第二部分中与第一部分相邻的部分数据。在一种具体实施方式
中,所述第一字段是用于指示第一数据块的数据类型的字段,即第一数据块的数据类型指示字段,此时,该步骤102是根据第一数据块的数据类型指示字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位。其中,该第一数据块的数据类型指示字段的值所对应的数据发送端的循环移位方式为该第一数据块的数据类型指示字段的值所表示的数据类型所对应的循环移位方式。该数据类型所对应的循环移位方式的获取方式具体可以采用如下两种方式第一种方式为根据数据类型与循环移位方式的一一对应关系,确定该第一数据块的数据类型所对应的循环移位方式,这种方式可以适用于数据发送端和数据接收端预先协商好采用相同的检错算法的情况下;第二种方式为根据数据类型、检错算法和循环移位方式三者的对应关系,确定第一数据块的数据类型和检错数据所采用的检错算法两者所对应的循环移位方式。这种方式可以适用于不同的数据类型使用不同的检错算法的情况下,也可以适用于不同的数据类型使用相同的检错算法的情况下。其中,当不同的数据类型采用相同的检错算法时,该不同的数据类型、相同的检错算法一定对应不同的循环移位方式;当不同的数据类型采用不同的检错算法时,该不同的数据类型、不同的检错算法可以对应不同的循环移位方式,也可以对应相同的循环移位方式,其中,相同的数据类型对应相同的循环移位方式,即相同的数据类型采用相同的循环移位方式;相同的数据类型对应相同的检错算法, 即相同的数据类型采用相同的检错算法,本发明后续实施例再对其进行详细描述。103、发送循环移位后的第一数据块和第二数据块。可选的,所述第二数据块还包括第二字段的值;在步骤103之前,该方法还包括 根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位。其中,该步骤中所发送的循环移位后的第一数据块为第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。其中,第二比特位范围是第二字段所对应的比特位范围,其也是一预定比特位范围,也就是说,如果数据发送端传输第二字段的值,则数据发送端就对第二比特位范围的数据进行循环移位,数据接收端就对第二比特位范围的数据进行反向循环移位,该第二字段的值对应具体的数据发送端的循环移位方式。其中,第二字段的值对应的数据发送端的循环移位方式与第二字段的值对应的数据接收端的循环移位方式的移位方向相反、移位位数相同。即如果第二字段的值对应的数据发送端的循环移位方式为向左循环移动N位,则该第二字段的值对应的数据接收端的循环移位方式应该为向右循环移动N位;如果第二字段的值对应的数据发送端的循环移位方式为向右循环移动N位,则该第二字段的值对应的数据接收端的循环移位方式应该为向左循环移动N位。第二比特位范围可以是数据发送端和数据接收端协商好的固定范围,也可以是数据发送端和数据接收端按照某些约定规则确定的针对本次数据发送所使用的比特位范围;也可以是数据发送端自己确定并通知数据接收端的,或者数据接收端确定并通知数据发送端的。其中,第一比特位范围和第二比特位范围可以不重叠,也可以有部分重叠;所述第一字段是用于指示第一数据块的数据类型的字段,即第一数据块的数据类型指示字段;所述第二字段是用于指示色码的字段,即色码指示字段;或者,所述第一字段为色码指示字段;所述第二字段为第一数据块的数据类型指示字段。其中,在这种具体实施方式
中,第一字段的值所对应的数据发送端的循环移位方式为第一字段的值所表示的数据类型所对应的循环移动方式;第二字段的值所对应的数据发送端的循环移位方式为第二字段的值所表示的色码所对应的循环移动方式;或者,第一字段的值所对应的数据发送端的循环移位方式为第一字段的值所表示的色码所对应的循环移动方式;第二字段的值所对应的数据发送端的循环移位方式为第二字段的值所表示的数据类型所对应的循环移动方式;其中,色码或者数据类型所对应的循环移动方式的获取方式与前述步骤102中数据类型所对应的循环移位方式的获取方式相似,在此不再赘述。这样,后续数据接收端可以对第一比特位范围的数据和第二比特位范围的数据进行相应的反向移位,基于反向移位的结果可以确定接收的数据块中是否有错误,只要第一字段的值、第二字段的值、第一数据块中任意一个在传输过程中出现错误,数据接收端都能确定接收的数据块有错误。本发明实施例中数据发送端根据第二数据块中第一字段的值所对应的数据发送端的循环移位方式,对第一数据块中的第一比特范围的数据进行循环移位,然后发送循环移位后的第一数据块和第二数据块,使数据接收端能够根据接收的第一字段的值获得对应的循环移位方式并对接收的第一数据块中的数据进行反向循环移位,这样,数据接收端根据反向移位结果,就能够确定接收的数据块中是否有错误,由于采用移位的方式而不需要利用掩码进行异或运算,减少了数据发送端和数据接收端的计算工作量,减轻了数据发送端和数据接收端的工作负担,提高了数据传输系统的性能。为了使本发明上述实施例提供的技术方案更加清楚,图2所示实施例将对上述实施例提供的技术方案进行详细描述201、数据发送端获取原始数据,根据预置的数据类型、检错算法、循环移位方式三者的对应关系表,获得该原始数据的数据类型所对应的检错算法,利用该检错算法对原始数据进行校验,获得检错码,得到第一数据块,该第一数据块包括原始数据和检错码。具体的,对原始数据进行校验可以利用如下表1所列出的各种检错算法。202、数据发送端根据预置的数据类型、检错算法、循环移位方式三者的对应关系表,获得第一数据块的数据类型所对应的循环移位方式。其中,具体的对应关系表可以如表1所示
权利要求
1.一种数据错误检测的方法,其特征在于,包括生成第一数据块和第二数据块;所述第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送循环移位后的第一数据块和所述第二数据块。
2.根据权利要求1所述的方法,其特征在于, 所述第二数据块还包括第二字段的值;所述方法还包括根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。
3.根据权利要求2所述的方法,其特征在于,所述第一字段是用于指示第一数据块的数据类型的字段;所述第二字段是用于指示色码的字段; 或者,所述第一字段是用于指示色码的字段;所述第二字段是用于指示第一数据块的数据类型的字段。
4.根据权利要求1所述的方法,其特征在于,第一比特位范围的数据包括所述第一部分和所述第二部分; 或者,第一比特位范围的数据仅包括所述第二部分; 或者,第一比特位范围的数据仅包括所述第一部分; 或者,第一比特位范围的数据仅包括第一数据段和第二数据段,其中,第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中。
5.一种数据错误检测的方法,其特征在于,包括接收数据块,所述数据块包括第一数据块和第二数据块,所述第二数据块包括第一字段的值;根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块;所述循环移位后的第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。
6.根据权利要求5所述的方法,其特征在于, 所述第二数据块还包括第二字段的值; 该方法还包括根据所述第二字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。
7.根据权利要求6所述的方法,其特征在于,所述第一字段是用于指示第一数据块的数据类型的字段;所述第二字段是用于指示色码的字段; 或者,所述第一字段是用于指示色码的字段;所述第二字段是用于指示第一数据块的数据类型的字段。
8.根据权利要求5、6或者7所述的方法,其特征在于,根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误包括 确定所述第一字段的值所对应的检错算法; 利用所述检错算法获得所述第一部分的检错码;比较所获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。
9.根据权利要求5、6或者7所述的方法,其特征在于,所述第一比特位范围的数据循环移位的结果包括所述第一部分和第二部分; 或者,所述第一比特位范围的数据循环移位的结果是所述第一部分; 或者,所述第一比特位范围的数据循环移位的结果是所述第二部分; 或者,所述第一比特位范围的数据循环移位的结果仅包括第一数据段和第二数据段,其中, 第一数据段和第二数据段相邻,第一数据段位于所述第一部分中,第二数据段位于所述第二部分中。
10.一种数据发送设备,其特征在于,包括生成单元,用于生成第一数据块和第二数据块,所述第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;第一移位单元,用于根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送单元,用于发送循环移位后的第一数据块和所述第二数据块。
11.根据权利要求10所述的数据发送设备,其特征在于, 所述第二数据块还包括第二字段的值;该数据发送设备还包括第二移位单元,用于根据所述第二字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。
12.—种数据接收设备,其特征在于,包括接收单元,用于接收数据块,所述数据块包括第一数据块和第二数据块,所述第二数据块包括第一字段的值;第一移位单元,用于根据所述第一字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位,得到循环移位后的第一数据块; 所述循环移位后的第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;确定单元,用于根据所述第一部分和第二部分,确定所接收的数据块中的数据是否存在错误。
13.根据权利要求12所述的设备,其特征在于, 所述第二数据块还包括第二字段的值;该数据接收设备还包括第二移位单元,用于根据所述第二字段的值所对应的数据接收端的循环移位方式,对所述第一数据块中第二比特位范围的数据进行循环移位;所述循环移位后的第一数据块为第一比特位范围的数据和第二比特位范围的数据循环移位后的第一数据块。
14.根据权利要求12或者13所述的设备,其特征在于, 所述确定单元包括检错算法确定单元,用于确定所述第一字段的值所对应的检错算法; 检错码获得单元,用于利用所述检错算法获得所述第一部分的检错码; 比较单元,用于比较检错码获得单元所获得的检错码和第二部分,根据比较结果确定所接收的数据块中的数据是否存在错误。
全文摘要
本发明实施例提供一种数据错误检测的方法、装置及通信系统,其中,数据错误检测的方法,包括生成第一数据块和第二数据块;所述第一数据块包括第一部分和第二部分,所述第二部分是第一部分的检错码;所述第二数据块包括第一字段的值;根据所述第一字段的值所对应的数据发送端的循环移位方式,对所述第一数据块中第一比特位范围的数据进行循环移位;发送循环移位后的第一数据块和所述第二数据块。使用本发明实施例提供的技术方案,能够在不增加发送设备和接收设备工作量的情况下实现数据错误检测。
文档编号H04L1/00GK102325003SQ201110197618
公开日2012年1月18日 申请日期2011年7月14日 优先权日2011年7月14日
发明者刘庆丰, 孙鹏飞, 尤侃 申请人:海能达通信股份有限公司