数据校正装置及数据校正方法

文档序号:7922704阅读:280来源:国知局
专利名称:数据校正装置及数据校正方法
技术领域
本发明是关于一种数据校正装置及数据校正方法。特别是一种利用一循环冗余校 验(cyclic redundancy check ;CRC)信息以计算一正确数据包的数据校正装置及数据校正 方法。
背景技术
透过网络通讯,使用者能够进行信息交流、语音沟通甚至物品买卖,网络f严然已成 为现代人日常生活中不可或缺的工具。使用者透过网络,得以上传或是下载各式各样的信 息,而这些信息即是以数据数据包的型式通过网络传送。然而,受到网络数据传输信道噪声 或是网络中其它进行中的数据传输的通讯干扰等因素,接收端所接收到的数据数据包通常 都会出现错误甚至毁坏的情况,这将降低网络通讯的效能表现。 针对此一问题,网络设备制造商则是通过行之有年的CRC机制予以改善。CRC是一 种错误检测机制,在有线及无线网络的媒体存取控制层中被广泛应用。使用CRC机制时,数 据传送端于欲传输的数据中加入一 CRC余式以产生一具备CRC码的数据数据包,数据传送 端随即传送具备CRC码的数据数据包。接收端接收到具备CRC码的数据数据包后,将根据 CRC码进行检查,当接收端发现其接收到的数据数据包出现错误时,接收端将丢弃其判断为 错误的数据数据包。 除了前述的检测错误的CRC机制,接收端可进一步搭配重传机制,例如自动请求 回复(automatic repeat request ;ARQ)或混合自动请求回复(hybrid automaticr印eat request ;HARQ)的架构要求传送端再次传送先前已发送的具备CRC码的数据数据包。通过 前述的方式,接收端将可筛选出错误的数据数据包,并且以重新传送的方式取得正确的数 据数据包,进而降低网络通讯的数据传输错误率。 然而,在网络数据传输信道的状况极差或通讯干扰相当严重的情况之下,数据传 送端必须多次地重传数据数据包,才能确保接收端可以正确无误地接收到正确的数据数据 包。如此一来,方能减低数据传输错误率,但这将造成网络频宽资源浪费的问题。因此,要 如何同时达成降低网络通讯的数据传输错误率以及网络频宽资源的目标,这是现今网络通 讯领域的制造商及标准制定者仍需解决的课题。

发明内容
本发明的一目的在于提供一种数据校正装置,其包含一接收模块、一判断模块、一 样本信息产生模块以及一计算模块。该接收模块用以接收一第一数据包、一第二数据包以 及一第三数据包。其中该第一数据包包含多个第一数据位以及一CRC信息,该第二数据包 包含多个第二数据位以及该CRC信息,该第三数据包包含多个第三数据位以及该CRC信息。 该判断模块将根据该CRC信息判断该第一数据包、该第二数据包以及该第三数据包是否为 一错误数据包。当该第一数据包、该第二数据包以及该第三数据包皆为错误数据包时,样本 信息产生模块撷取各该第一数据位、各该第二数据位以及各该第三数据位其中的任意数对
5进行XOR逻辑运算,以产生多个错误样本(pattern)信息,随后该样本信息产生模块还将该 多个错误样本信息进行一或(OR)逻辑运算,以产生一最后错误样本信息。最后,该计算模 块即根据该第一数据包、该第二数据包与该第三数据包其中之一以及最后错误样本信息计 算一正确数据包。 本发明的另一目的在于提供一种数据校正方法,该数据校正方法包含以下步骤 接收一第一数据包,其中该第一数据包包含多个第一数据位以及一CRC信息;根据该CRC信 息判断该第一数据包为一错误数据包;接收一第二数据包,其中该第二数据包包含多个第 二数据位以及该CRC信息;根据该CRC信息判断该第二数据包为一错误数据包;接收一第 三数据包,其中该第三数据包包含多个第三数据位以及该CRC信息;根据该CRC信息判断 该第三数据包为一错误数据包;撷取各该第一数据位与各该第二数据位与各该第三数据位 的任意数对进行一 XOR逻辑运算,以产生与所述错误数据包相同数目的错误样本信息;对 所述错误样本信息进行一 OR逻辑运算,以产生一最后错误样本信息;以及根据该第一数据
包、该第二数据包与该第三数据包其中之一以及最后错误样本信息计算一正确数据包。 综上所述,本发明的数据校正装置及数据校正方法将进一步撷取被判断为错误数 据包中的各位信息,以校正并计算其正确数据包。通过此一方式,本发明将得以大幅减低数 据包重新传送的次数,以降低网络频宽资源,使的能进行更为有效的运用。


在参阅附图及随后描述的实施方式后,所属技术领域具有通常知识者便可了解本
发明的其它目的、优点以及本发明的技术手段及实施态样,其中 图1是本发明第一实施例的示意图; 图2是本发明第二实施例的流程图; 图3是本发明第三实施例的示意图;以及 图4是本发明第四实施例的流程图。
具体实施例方式
以下将透过实施例来解释本发明的内容,关于实施例的说明仅为阐释本发明的目 的,并非用以限制本发明。需说明的是,以下实施例及附图中,与本发明非直接相关的元件 均已省略而未绘示;且附图中各元件间的尺寸关系仅为求容易了解,非用以限制实际比例。
本发明的第一实施例如图1所示,是一种数据校正装置1。该数据校正装置1可设 置于一具有ARQ/HARQ或空间多任务(spatial multiplexing)的有线通讯系统或是无线通 讯系统(图未绘示)的接收端。数据校正装置1包含一接收模块11、一判断模块12、一计 算模块13、一样本信息产生模块14以及一传送模块15。计算模块13则包含一数据包产生 单元13a。判断模块12还包含一余式产生单元12a以及一余式判断单元12b。
当该有线/无线通讯系统的传送端将欲传输的数据数据包传送至该接收端的数 据校正装置1时,首先通过已知CRC机制以产生一CRC码的正确数据包。举例而言,若欲 传输的数据数据包的位串为[1000],通过CRC机制,传送端可根据一产生多项式(位串为 [101])计算并得知具有数据数据包以及CRC信息的正确数据包的位串为[100,011]。其中, 该正确数据包[100,011]包含多个数据位以及CRC信息。随后,传送端将正确数据包[100,Oil]传送至接收端的数据校正装置1。 判断模块12的余式产生单元12a包含一个或多个CRC电路(图未绘示);余式判 断单元12b则包含一个或多个判断电路(图未绘示)。须说明的是,判断模块12包含的余 式产生单元12a以及余式判断单元12b的结构以及运作均为现有执行CRC机制的标准硬件 电路。本发明并不限制余式产生单元12a中,CRC电路的数目;同样地,本发明亦不限制余 式判断单元12b中,判断电路的数目,所属技术领域的具有通常知识者可依据其需求进行 适当的配置,故在此不再赘述。 受到信道状况极差以及其它通讯信号干扰的影响,可能导致接收端接收到错误数 据包的情况发生。具体而言,当接收模块ll接收到一第一数据包101p(位串为[100, 111]), 随即将第一数据包lOlp[lOO,lll]传送至判断模块12的余式产生单元12a。余式产生单元 12a将根据前段所述的产生多项式[101]以及第一数据包lOlp[lOO,lll]计算一第一CRC 余式101r。更详细地说,余式产生单元12a将以第一数据包101p[100,111]为被除式,产生 多项式[101]为除式,以二进制除法进行计算,并取得第一CRC余式101r的结果(位串为 圃)。 余式产生单元12a随后将第一CRC余式lOlr[lOO]传送至余式判断单元12b,余 式判断单元12b将判断第一CRC余式101r[100]是否为零。由于前段所计算的第一 CRC余 式101r[100]不等于零,判断模块12即判断第一数据包lOlp[lOO,lll]是一错误数据包, 传送模块15将传送一接收失败讯息161至传送端以要求重新传送正确数据包[100,011]。 同时,余式产生单元12a将第一数据包101p [100, 111]传送至样本信息产生模块14,并将其 储存于样本信息产生模块14。 当传送端重新传送前段所述的正确数据包[100,011]之后,接收模块11将接收 到一第二数据包102p(位串为[IOO,OOI])。第二数据包102p[100,001]包含多个第二数 据位以及该CRC信息。与第一数据包101p[100,111]的处理类似,判断模块12根据该CRC 信息计算并判断第二数据包102p[100,001]是否为一错误数据包。具体而言,第二数据包 102p[100,001]将被传送至余式产生单元12a,并借着余式产生单元12a根据产生多项式 [101]计算出一第二CRC余式102r(位串为[ll])。接着,余式产生单元12a将第二CRC余 式102r[11]传送至余式判断单元12b,并判断第二CRC余式102r[11]是否等于零。由于 第二CRC余式102r[11]不等于零,第二数据包102p[100,001]同样是错误数据包。随后传 送模块15将传送另一接收失败讯息162至传送端以要求重新传送正确数据包[100,011]。 同时,余式产生单元12a将第二数据包102p [100, 001]传送至样本信息产生模块14,并将其 储存于样本信息产生模块14。 样本信息产生模块14将根据先前储存的第一数据包lOlp[lOO, 111]以及第二 数据包102p[100,001],撷取第一数据包lOlp[lOO,lll]的各第一数据位以及第二数据包 102p[100,001]的各第二数据位[IOO,OOI]进行一XOR逻辑运算,以得到一第一错误样本信 息131(位串为[OOO,llO])。其中,第一错误样本信息131
中,位为[1]的位即 表示第一数据包lOlp[lOO,lll]与第二数据包102p[100,001]的各数据位不同之处。换言 之,于第一错误样本信息131
中,位为[1]的位即代表第一数据包101p[100,111] 与第二数据包102p[100,001]中,发生错误的位。 由于传送模块15传送接收失败讯息162至传送端以要求重新传送正确数据包
7A [100,011],传送端则因应接收失败讯息162再次传送该正确数据包。随后,接收模块11将 接收到一第三数据包103p(位串为[IOO,IOO])。第三数据包103p[100,100]包含多个第 三数据位以及该CRC信息。与第一数据包lOlp[lOO,lll]以及第二数据包102p[100,001] 类似,判断模块12将根据该CRC信息判断第三数据包103p[100,100]是否为一错误数据 包。具体说,第三数据包103p[100,100]将被传送至余式产生单元12a,并借着余式产生单 元12a根据产生多项式[101]计算一第三CRC余式103r(位串为
)。接着,余式产生单 元12a将第三CRC余式103r
传送至余式判断单元12b,并判断第三CRC余式103r
是否等于零。由于第三CRC余式103r
仍然不等于零,第三数据包103p[100,100]同样 是错误数据包。同时,余式产生单元12a将第三数据包103p[100, 100]传送至样本信息产 生模块14,并将其储存于样本信息产生模块14。 在此需特别说明的是,本发明并不限制需以CRC侦错方法来判断第一数据包 101p、第二数据包102p或是第三数据包103p是否为一错误数据包,所属技术领域具有通常 知识者可依据其需求选择其它侦错方法来判断第一数据包101p、第二数据包102p或是第 三数据包103p是否为一错误数据包,故在此不再赘述。 根据之前储存的第一数据包101p[100,lll]、第二数据包102p[100,001]以及第 三数据包103p[100, 100],样本信息产生模块14将撷取其中二个数据包的各数据位再进行 XOR逻辑运算,以得到一第二错误样本信息。以本实施例而言,样本信息产生模块14将撷取 第一数据包101p[100,111]的各第一数据位以及第三数据包103p[100,100]的各第三数据 位进行X0R逻辑运算以得到第二错误样本信息132(位串为[OOO,Oll])。同样地,第二错误 样本信息132中[OOO,Oll],位为[1]的位即表示第一数据包lOlp[跳lll]与第三数据 包103p[100,100]的各数据位不同之处。换言之,于第二错误样本信息132
中, 位为[1]的位即代表第一数据包lOlp[lOO,lll]与第三数据包103p[100,100]中,发生错 误的位。 随后,样本信息产生模块14将针对第一错误样本信息131
与第二错误 样本信息132
进行一OR逻辑运算,进而计算出第一数据包101p[100,lll]、第二 数据包102p[100,001]以及第三数据包103p[100,100]所有发生错误的位,并产生一第三 错误样本信息133(位串为[OOO,lll])。 接着,数据包产生单元13a将根据第一数据包101p[100,lll]、第二数据包 102p[100,001]与第三数据包103p[100,100]其中之一,同时通过第三错误样本信息 133
产生多个目标数据包。以本实施例而言,数据包产生单元13a将根据第一数 据包lOlp[lOO,lll]及第三错误样本信息133,, 111]产生八个目标数据包151p[100' 000]、152p [100,001]、153p [100,010]、154p [100,Oil]、155p [100,100]、156p [100,101]、 157p[100, 110]以及158p[100, 111]。 余式产生单元12a将接收这些目标数据包151p、152p.....158p,并根据产生多项
式[101]分别计算对应至所述目标数据包151p、152p、... 、158p的目标CRC余式151r[10]、 152r[ll]、153r[100]、154r
、155r
、156r[10]、157r[11]以及158r[100]。随后余式 判断单元12b将接收这些目标CRC余式151r、152r、. . . 、 158r,并依序判断这些目标CRC余 式151r、152r、. . . 、158r是否等于零。 由于目标CRC余式154r[Q]等于零,因此余式判断单元12b将判断出其相对应的
8目标数据包154p[100,011]为正确数据包,此即完成本发明的数据校正方法。 倘若前段所述的目标CRC余式皆不等于零,则传送模块15将再度传送另一接收失
败讯息至传送端以要求重新传送正确数据包[100,011],并重复前段所述的各操作。具体
说,倘偌接收端一共接收到S个错误数据包,样本产生信息模块14仅需撷取(S-l)对的错
误数据包,并针对各对错误数据包的各数据位进行XOR逻辑运算以得到(S-l)个错误样本
信息,同时针对这些错误样本信息进行0R逻辑运算,即可产生计算目标数据包的错误样本信息。 例如,当接收端接收到五个错误数据包E1、E2、E3、E4以及E5时,错误样本信息可 通过(El X0R E2)0R(E2 X0R E3)0R(E3 X0R E4)0R(E4 XOR E5)或是(El XOR E2)0R(E1 XOR E3)0R(E1 XOR E4)0R(E1 XOR E5)等方式予以计算。随后数据包产生单元13a将根据可用 来计算目标数据包的错误样本信息,并通过五个错误数据包E1、 E2、 E3、 E4以及E5其中之 一计算各个目标数据包。所属技术领域具有通常知识者将可通过前段的叙述根据不同数目 的错误数据包计算错误样本信息以及目标数据包,同时通过穷举法根据目标数据包计算出 正确数据包,故在此不再赘述。 本发明的第二实施例如图2所示,是一种数据校正方法。该数据校正方法适可用
于一数据校正装置,例如第一实施例所述的数据校正装置1。数据校正装置l可设置于一具 有ARQ/HARQ或空间多任务的有线通讯系统或是无线通讯系统(图未绘示)的接收端。更
具体而言,第二实施例所描述的数据校正方法可由一计算机程序产品执行,当数据校正装 置1由一计算机加载该计算机程序产品并执行该计算机程序产品所包含的多个指令后,即 可完成第二实施例所述的数据校正方法。前述的计算机程序产品可储存于例如只读存储器 (read only memory ;R0M)、快闪存储器、软盘、硬盘、光盘、闪存盘、磁带、可由网络存取的数 据库或熟悉此项技术者所已知且具有相同功能的任何其它储存媒体中。
第二实施例包含以下步骤。首先,执行步骤201,接收多个数据包。例如第一实施例 的第一数据包、第二数据包以及第三数据包,该第一数据包包含多个第一数据位以及一CRC 信息;该第二数据包包含多个第二数据位及该CCRC信息;该第三数据包包含多个第三数据 位以及该CRC信息。接着执行步骤202,根据该CRC信息判断所述数据包其中之一是否为一 正确数据包。更进一步而言,即以第一数据包、第二数据包以及第三数据包为被除式,产生 多项式为除式,分别以二进制除法求得一第一 CRC余式、一第二 CRC余式以及一第三CRC余 式。若第一 CRC余式、第二 CRC余式以及第三CRC余式其中之一为等于零,则表示所述数据 包其中之一是正确数据包。此时步骤203将被执行,传送另一个数据包。
于步骤202中,倘若所有的CRC余式(第一 CRC余式、第二 CRC余式以及第三CRC 余式)皆不等于零,则表示所述数据包皆为一错误数据包。接着执行步骤204,判断所述数 据包的至少其中之二是否为重传数据包。倘若所述数据包皆为个别独立的数据包,而无关 联,则执行步骤205,传送接收失败讯息。 由于第二数据包以及第三数据包皆为重传数据包,因此继续执行步骤206,根据所 述数据包产生多个错误样本信息,如第一实施例所述的第一错误样本信息、第二错误样本 信息以及第三错误样本信息。接着,执行步骤207,根据所述错误样本信息以及所述数据包 其中之一产生多个目标数据包。再执行步骤208,计算各该目标数据包的相应目标CRC余 式。再执行步骤209,判断所述目标CRC余式其中之一是否为零。
若于步骤209中,所述目标CRC余式其中之一是零。则执行步骤210,将该目标CRC 余式为零所对应的目标数据包设定为一正确数据包。再接着执行步骤203,传送另一个数据 包。倘若于步骤208中,所述目标CRC余式皆不为零,则此数据校正方法回至步骤205,再次 传送接收失败讯息,以要求传送端重新传送数据包。 除了上述步骤,第二实施例亦能执行第一实施例的数据校正装置1所描述的操作 及功能,所属技术领域具有通常知识者可直接了解第二实施例如何基于上述第一实施例以 执行此等操作及功能,故不赘述。 本发明的第三实施例如图3所示,是一种数据校正装置3 。数据校正装置3包含一 接收模块11、一判断模块12、一计算模块33、一样本信息产生模块14以及一传送模块15。 其中,计算模块33包含一向量处理单元33a以及一逻辑处理单元33b ;判断模块12包含一 余式产生单元12a以及一余式判断单元12b。本实施例与第一实施例的不同处在于计算正 确数据包的方式。应理解的是,图3与图l元件标号相同的已于第一实施例中说明,故不再 详述。 请参阅图3,如同第一实施例所描述,接收模块11将分别接收第一数据包 101p[100,lll]、第二数据包102p[100,001]以及第三数据包103p[100,100],余式产生单 元12a根据产生多项式[101]分别计算其相应的第一CRC余式101r[100]、第二CRC余式 102r[ll]以及第三CRC余式103r
后,由余式判断单元12b判断第一数据包101p、第二 数据包102p以及第三数据包103p皆为错误数据包。传送模块15传送接收失败讯息161、 162至传送端。样本信息产生模块14根据(第一数据包101p X0R第二数据包102p)0R(第 一数据包101p X0R第三数据包103p)计算第三错误样本信息133

其中,错误数据包可视为正确数据包与一误差样本向量运算后的结果,因此,若能 够得知误差样本向量,则可反推正确数据包。举例而言,第一数据包lOlp[lOO,lll]可表示 为正确数据包[100,011]与误差样本向量
进行X0R逻辑运算的结果,若能求得 误差样本向量
,则可根据第一数据包101p求得正确数据包。
由第一实施例可知,第三错误样本信息133是根据于第一数据包101p、第二数据 包102p以及第三数据包103p计算求得。由此可见,第三错误样本信息133与第一数据包 101p、第二数据包102p或第三数据包103p所对应的误差样本向量将存在一线性关系。举
例而言,假设第三错误样本信息133可表示为一向量e* = b,b^. . . bm(h、 b2.....bm分别
代表一单位向量),则第一数据包lOlp所对应的误差样本向量el可以一线性关系式ei = Cib丄+C2b2+, cmbm表不(c丄、c2、
、Cm分别代表一纯量)。据此,本实施例将根据下列公式 计算误差样本向量
<formula>formula see original document page 10</formula> 其中,m为一错误样本向量(如第三错误样本信息133)中位为「 1」的数量,r代表 错误数据包的CRC余式(如第一 CRC余式101r、第二 CRC余式102r或第三CRC余式103r) 的向量,((^(32...(^)1代表与误差样本向量相关的纯量向量。hu、h12.....h^分别代表与错误样本信息(如第三错误样本信息133)以及产生多项式相关的余式向量。
以线性代数观点而言,第三错误样本信息133
可表示为X2+X+l的多项 式。X2+X+l又可表示为向量(X5X4X3X2X0与向量(000111)T内积的结果。因此,以下将以 (000111)T代表第三错误样本信息133的向量e、类似地,以向量(IOI)T代表产生多项式 [101]的向量、向量(IOO)t代表第一CRC余式101r[100]、向量(011)T 二代表第二 CRC余式 102r[ll]、向量(001)T代表第三CRC余式103r
。应理解的是,前段所述的说明皆为所 属技术领域具备通常知识者可轻易理解的原理,故在此不再赘述。 向量处理单元33a将第三错误样本信息133的向量e*以至少一单位向量表示。换 言的,(OOOlll)1 = (000001)T+(000010)T+(000100)t。其中,1^= (000001)T、b2 = (000010) T、b3= (OOOIOO)T三者皆为单位向量。同时,以第一数据包101p为例,其所对应的误差样 本向量e工可表示为qbi+c^b^c^lv接着,向量处理单元33a分别以单位向量^、1^、、为除
式,产生多项式的向量(101)T为被除式,分别求其余式向量hn、h^.....hlm。应强调的是,不一定为方阵。举例而言,若使用CRC-32(即其对应的CRC余式为32位)为 产生多项式,且第三错误样本信息133具有3个位「1」,则[hnh12h13]为一 32X3的矩阵。
本实施例将利用第一数据包101p及其误差样本向量ei计算正确数据包,所属技 术领域具备通常知识者可根据本实施例的说明,以第二数据包102p及其误差样本向量,或 第三数据包103p及其误差样本向量计算正确数据包。于本实施例中,m = 3,经向量处理单 元33a计算所得的余式向量分别为hn = (001)T,h12= (010)7以及1113= (100)T。同时,r =(IOO)t(第一CRC余式lOlr[lOO]的向量)。至此,代入本实施例的数值后,上面的公式 可简化为<formula>formula see original document page 11</formula>
现有技术提供许多方式计算(c^(:3)T,诸如虚拟逆矩阵法(pseudo inverse)、高 斯消去法等等。本实施例将根据余式向量hn、 h12、 h13与第一 CRC余式lOlr的向量r产生 至少一误差样本信息,并对各误差样本信息进行一交集运算以得误差样本向量ei。
具体而言,透过观察上式,可得三个方程式,分别为c3 = 1、 c2 = 0以及Cl = 0。 对。3 = l而言,向量处理单元33a将产生误差样本信息Sl = {(clC2c3)T= (001)T、 (Oil) T、 (101)T、 (111)T}。接着,对C2二0而言,向量处理单元33a将产生误差样本信息S2二 {(Clc2c3)T= (001)T、 (101)T、 (100)T、 (000)Th对c^ = 0而言,向量处理单元33a将产生误 差样本信息S3 = {(clC2c3)T= (001)t、 (011)T、 (010)t、 (000)t }。接着,向量处理单元33a 对误差样本信息Sl、 S2、 S3进行交集运算可得到(Clc2c3)T = (001),这意味着第一数据包 101p所对应的误差样本向量= & (000001) T+c2 (000010) T+c3 (000100) t = (000100) T。向 量处理单元33a将误差样本向量ei传送至逻辑处理单元33b。因此,通过逻辑处理单元33b 对误差样本向量(OOOlOO)1以及该第一数据包101p的向量进行XOR逻辑运算以得正确数 据包的向量(100011)T。换言之,正确数据包为[IOO,OII]。若经交集运算后,向量处理单 元33a仍无法解出(c^C3)T,则传送模块15将再次要求重传。 于较佳的实施态样,本实施例更可使用一删除法。具体而言,向量处理单元33a首 先计算出误差样本信息S1二 {(clC2c3)T= (001)T、(011)T、(101)T、(111)T}。接着,向量处理单元33a将误差样本信息SI带入第二个方程式c2 = 0以删除其不可能的解,产生误差样本 信息S2二 {(ClC2c3)T= (001)T、(101)T}。最后,向量处理单元33a将误差样本信息S2带入 (^二0的方程式以删除其中不可能的解,因而产生误差样本信息S3二 {(ClC2c3)T= (001) 当(Clc2c3)T的可能性过多时,删除法可快速删除不可能的组合。换言之,删除法对 于错误样本信息中位「 1」多时的情况,仅需产生一组错误样本信息,再将其错误样本信息带 入其他方程序以自其中删除错误的组合,因而较其它解法更能节省计算时间。除此之外,删 除法观察的列数越多,删除的错误字节合的数目将以指数速度增加,搭配适当的数据结构 (如树状结构),可縮短寻找正确数据包的时间。 本发明的第四实施例如图4所示,是一种数据校正方法。该数据校正方法适可用 于一数据校正装置,例如第三实施例所述的数据校正装置3。数据校正装置3可设置于一具 有ARQ/HARQ或空间多任务的有线通讯系统或是无线通讯系统(图未绘示)的接收端。更具 体而言,第四实施例所描述的数据校正方法可由一计算机程序产品执行,当数据校正装置3 由一计算机加载该计算机程序产品并执行该计算机程序产品所包含的多个指令后,即可完 成第四实施例所述的数据校正方法。前述的计算机程序产品可储存于例如只读存储器、快 闪存储器、软盘、硬盘、光盘、闪存盘、磁带、可由网络存取的数据库或熟悉此项技术者所已 知且具有相同功能的任何其它储存媒体中。 第四实施例包含以下步骤。首先,执行步骤401 ,接收多个数据包。例如第三实施例 的第一数据包、第二数据包以及第三数据包,该第一数据包包含多个第一数据位以及一CRC 信息;该第二数据包包含多个第二数据位以及该CRC信息;该第三数据包包含多个第三数 据位以及该CRC信息。接着执行步骤402,根据该CRC信息判断所述数据包其中之一是否为 一正确数据包。更进一步而言,即以第一数据包、第二数据包以及第三数据包为被除式,产 生多项式为除式,分别以二进制除法求得一第一 CRC余式、一第二 CRC余式以及一第三CRC 余式。若第一 CRC余式、第二 CRC余式以及第三CRC余式其中之一为等于零,则表示所述数 据包其中之一是正确数据包。此时步骤403将被执行,传送另一个数据包。
于步骤402中,倘若所有的CRC余式(第一 CRC余式、第二 CRC余式以及第三CRC 余式)皆不等于零,则表示所述数据包皆为一错误数据包。接着执行步骤404,判断所述数 据包的至少其中之二是否为重传数据包。倘若所述数据包皆为个别独立的数据包,而无关 联,则执行步骤405,传送接收失败讯息。 于第三实施例中,第二数据包以及第三数据包皆为重传数据包,因此继续执行步 骤406,根据所述数据包产生多个错误样本信息,如第三实施例所述的第三错误样本信息。 接着,执行步骤407,将最后产生的错误样本信息(如第三错误样本信息)以至少一单位向 量表示,如第三实施例所述的三个单位向量b"lvlv再执行步骤408,将步骤407中所得 的单位向量分别作为被除式bp b2、、,产生多项式为除式分别计算至少一余式向量(如第 三实施例所述的余式向量hn、 h12、h13)。再执行步骤409,判断根据余式向量以及第一CRC 余式、第二 CRC余式、第三CRC余式其中之一是否可得至少一误差样本向量。
更进一步地说,将余式向量以及第一 CRC余式、第二 CRC余式、第三CRC余式其中 之一代入如第三实施例说明的计算式计算误差样本向量q、 c2、 (33,其详细计算过程已于第 三实施例中说明。若于步骤409中无法求得误差样本向量,则执行步骤405传送接收失败
12讯息。若于步骤409中产生至少一误差样本向量,则根据其误差样本向量,通过步骤410对 其误差样本向量以及第一数据包、第二数据包或第三数据包进行XOR逻辑运算以得正确数 据包。之后,数据校正方法将回到步骤403继续传送另一个数据包。 除了上述步骤,第四实施例亦能执行第三实施例的数据校正装置3所描述的操作 及功能,所属技术领域具有通常知识者可直接了解第四实施例如何基于上述第三实施例以 执行此等操作及功能,故不赘述。 综上所述,本发明的数据校正装置及数据校正方法将根据错误数据包的各数据位 信息,进行次数不等的XOR逻辑运算以及OR逻辑运算以产生一错误样本信息。随的根据该 错误样本信息以及原本的错误数据包进行数据校正。通过此一方式,本发明将得以减少数 据包的重传次数,于增加网络系统频宽资源的使用效率的同时,亦能降低数据传输错误率。
上述的实施例仅用来例举本发明的实施态样,以及阐释本发明的技术特征,并非 用来限制本发明的保护范畴。任何熟悉此技术者可轻易完成的改变或均等性的安排均属于 本发明所主张的范围,本发明的权利保护范围应以本申请权利要求所限定的范围为准。
权利要求
一种数据校正方法,其特征在于,包含下列步骤接收一第一数据包,其中该第一数据包包含多个第一数据位以及一循环冗余校验(CRC)信息;根据该CRC信息判断该第一数据包为一错误数据包;接收一第二数据包,其中该第二数据包包含多个第二数据位以及该CRC信息;根据该CRC信息判断该第二数据包为一错误数据包;接收一第三数据包,其中该第三数据包包含多个第三数据位以及该CRC信息;根据该CRC信息判断该第三数据包为一错误数据包;撷取各该第一数据位与各该第二数据位进行一异或(XOR)逻辑运算,以产生一第一错误样本信息;撷取各该第一数据位、各该第二数据位以及各该第三数据位其中之二进行该XOR逻辑运算,以产生一第二错误样本信息;将该第一错误样本信息与该第二错误样本信息进行一或(OR)逻辑运算,以产生一第三错误样本信息;以及根据该第一数据包、该第二数据包与该第三数据包其中之一以及该第三错误样本信息计算一正确数据包。
2. 根据权利要求1所述的数据校正方法,其特征在于,判断该第一数据包为一错误数据包的步骤还包含下列步骤根据该CRC信息以及该第一数据包产生一第一 CRC余式;以及判断该第一 CRC余式是否为零;其中,当该第一 CRC余式不为零时,该第一数据包是该错误数据包。
3. 根据权利要求2所述的数据校正方法,其特征在于,判断该第二数据包为一错误数据包的步骤还包含下列步骤根据该CRC信息以及该第二数据包产生一第二 CRC余式;以及判断该第二 CRC余式是否为零;其中,当该第二 CRC余式不为零时,该第二数据包是该错误数据包。
4. 根据权利要求3所述的数据校正方法,其特征在于,判断该第三数据包为一错误数据包的步骤还包含下列步骤根据该CRC信息以及该第三数据包产生一第三CRC余式;以及判断该第三CRC余式是否为零;其中,当该第三CRC余式不为零时,该第三数据包是该错误数据包。
5. 根据权利要求4所述的数据校正方法,其特征在于计算该正确数据包的步骤还包含下列步骤将该第三错误样本信息转换为至少一单位向量;根据该至少一单位向量以及该CRC信息产生至少一余式向量;以及根据该第一 CRC余式、该第二 CRC余式与该第三CRC余式其中之一以及该至少一余式向量产生至少一误差样本向量;其中,该正确数据包是由该第一数据包、该第二数据包与该第三数据包其中之一以及该至少一误差样本向量进行该XOR逻辑运算而得。
6. 根据权利要求5所述的数据校正方法,其特征在于该至少一单位向量包含多个单位 向量,该至少一余式向量包含多个余式向量,产生该至少一误差样本向量的步骤还包含下列步骤分别根据该第一 CRC余式、该第二 CRC余式与该第三CRC余式其中之一以及各该余式 向量产生多个误差样本信息;其中,该至少一误差样本向量是由各该误差样本信息进行一交集运算得的。
7. 根据权利要求2所述的数据校正方法,其特征在于计算该正确数据包的步骤还包含 下列步骤根据该第一数据包、该第二数据包与该第三数据包其中之一以及该第三错误样本信息 产生多个目标数据包;根据该CRC信息以及所述目标数据包产生相应于各该目标数据包的多个目标CRC余 式;以及判断各该目标CRC余式是否为零;其中,当所述目标CRC余式的其中之一为零时,其所对应的目标数据包即为该正确数 据包。
8. 根据权利要求7所述的数据校正方法,其特征在于计算该正确数据包的步骤还包含 以下步骤当所述目标CRC余式皆不为零时,传送一接收失败讯息。
9. 一种数据校正装置,其特征在于,包含一接收模块,用以接收一第一数据包、一第二数据包以及一第三数据包,其中该第一数 据包包含多个第一数据位以及一 CRC信息,该第二数据包包含多个第二数据位以及该CRC 信息,该第三数据包包含多个第三数据位以及该CRC信息;一判断模块,根据该CRC信息判断该第一数据包、该第二数据包以及该第三数据包皆 为一错误数据包;一样本信息产生模块,撷取各该第一数据位与各该第二数据位进行一 XOR逻辑运算,以产生一第一错误样本信息,撷取各该第一数据位、各该第二数据位以及各该第三数据位其中之二进行该XOR逻辑运算,以产生一第二错误样本信息,并将该第一错误样本信息与该第二错误样本信息进行一 0R逻辑运算,以产生一第三错误样本信息;以及一计算模块,根据该第一数据包、该第二数据包与该第三数据包其中之一以及该第三 错误样本信息计算一正确数据包。
10. 根据权利要求9所述的数据校正装置,其特征在于,该判断模块还包含 一余式产生单元,根据该CRC信息以及该第一数据包产生一第一 CRC余式;以及 一余式判断单元,判断该第一 CRC余式是否为零;其中,当该第一 CRC余式不为零时,该第一数据包是该错误数据包。
11. 根据权利要求IO所述的数据校正装置,其特征在于该余式产生单元根据该CRC信 息以及该第二数据包产生一第二 CRC余式,该余式判断单元判断该第二 CRC余式是否为零, 其中当该第二CRC余式不为零时,该第二数据包是该错误数据包。
12. 根据权利要求11所述的数据校正装置,其特征在于该余式产生单元根据该CRC信 息以及该第三数据包产生一第三CRC余式,该余式判断单元判断该第三CRC余式是否为零,其中当该第三CRC余式不为零时,该第三数据包是该错误数据包。
13. 根据权利要求12所述的数据校正装置,其特征在于该计算模块还将该第三错误样 本信息转换为至少一单元向量,根据该至少一单位向量以及该CRC信息计算至少一余式向 量,根据该第一 CRC余式、该第二 CRC余式与该第三CRC余式其中之一以及该至少一余式向 量产生至少一误差样本向量,并将该第一数据包、该第二数据包与该第三数据包其中之一 以及该至少一误差样本信息进行该XOR逻辑运算,以产生该正确数据包。
14. 根据权利要求13所述的数据校正装置,其特征在于该至少一单位向量包含多个 单位向量,该至少一余式向量包含多个余式向量,该计算模块根据该第一CRC余式、该第二 CRC余式与该第三CRC余式其中之一以及各该余式向量产生多个误差样本信息,并将各该 误差样本信息进行一交集运算,以产生该至少一误差样本向量。
15. 根据权利要求10所述的数据校正装置,其特征在于该计算模块还包含 一数据包产生单元,根据该第一数据包、该第二数据包与该第三数据包其中之一以及该第三错误样本信息产生多个目标数据包;其中,该判断模块的余式产生单元是根据该CRC信息以及所述目标数据包产生相应于 各该目标数据包的多个目标CRC余式,该判断模块的余式判断单元用以判断各该目标CRC 余式是否为零;其中,当所述目标CRC余式的其中之一为零时,其所对应的目标数据包即为该正确数 据包。
16. 根据权利要求15所述的数据校正装置,其特征在于还包含 一传送模块;其中,当所述目标CRC余式皆不为零时,该传送模块传送一接收失败讯息。
全文摘要
本发明提供一种数据校正装置及数据校正方法。该数据校正方法包含以下步骤接收多个数据包;根据所述数据包的一循环冗余校验信息,判断所述数据包皆为错误数据包;撷取所述数据包的其中任意数对,进行一异或逻辑运算并产生多个错误样本;针对各该错误样本进行一或逻辑运算以产生一总错误样本;以及根据所述数据包其中之一以及该总错误样本信息计算一正确数据包。
文档编号H04L1/00GK101753285SQ20081018399
公开日2010年6月23日 申请日期2008年12月22日 优先权日2008年12月22日
发明者张治升, 李惠玉, 蔡宗谕, 许献聪, 郑凯方 申请人:财团法人资讯工业策进会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1