CN109428674B - 数据传输方法、装置和系统、接收端及存储介质 - Google Patents

数据传输方法、装置和系统、接收端及存储介质 Download PDF

Info

Publication number
CN109428674B
CN109428674B CN201710763751.2A CN201710763751A CN109428674B CN 109428674 B CN109428674 B CN 109428674B CN 201710763751 A CN201710763751 A CN 201710763751A CN 109428674 B CN109428674 B CN 109428674B
Authority
CN
China
Prior art keywords
code
detected
code block
code blocks
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710763751.2A
Other languages
English (en)
Other versions
CN109428674A (zh
Inventor
史光明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201710763751.2A priority Critical patent/CN109428674B/zh
Publication of CN109428674A publication Critical patent/CN109428674A/zh
Application granted granted Critical
Publication of CN109428674B publication Critical patent/CN109428674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

本发明公开了一种数据传输方法,所述方法包括:对待传输数据进行前向纠错编码,获得多个编码码块;根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块;将所述目标码块输出。本发明还同时公开了一种数据传输装置和系统、接收端及存储介质。

Description

数据传输方法、装置和系统、接收端及存储介质
技术领域
本发明涉及信号传输领域,尤其涉及一种数据传输方法、装置和系统、接收端及计算机存储介质。
背景技术
前向纠错(FEC,Forward Error Correction)编码是一种重要的信道编码方式,可使得在数据传输中发送端对数据进行FEC编码后,接收端通过纠错码能够在码字的纠错范围之内自动纠正数据传输中的错码。
其中,经过FEC编码后的数据为系统循环码,即码字是由连续的信息位和校验位组成。循环码是线性分组码中重要的一类,传统的循环码在译码时首先要找到码块头部,然后再进行译码。然而,这样使得必须要增加额外的开销来搜索码块头部,并且在数据传输过程中,如果码块出现差错,在搜索码块头部的过程中也会相应的提高误码率。此外,由于数据信号的高速传输对误码率有较高的要求,而采用现有FEC(2112,2080)编码方式编码的一个码块最大只能纠正11比特突发错码,使得采用FEC编码传输数据信号限制了数据信号的传输质量和传输距离。
发明内容
有鉴于此,本发明实施例提供了一种能够提高数据信号的传输质量和传输距离的数据传输方法、装置和系统、接收端及计算机存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种数据传输方法,所述方法包括:
对待传输数据进行前向纠错编码,获得多个编码码块;
根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块;
将所述目标码块输出。
上述方案中,所述根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块,包括:
根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;
获取交织间隔;
根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
上述方案中,所述根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量,包括:
获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。
上述方案中,所述根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块之前,还包括:
将所述编码码块存储至随机存取存储器,当所述编码码块的数量达到第一阈值时,执行所述根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块的步骤。
上述方案中,所述将所述目标码块输出的步骤,包括:
对所述目标码块进行随机化的加扰,在对所述目标码块加扰后将所述目标码块输出。
本发明实施例提供了一种数据传输装置,所述装置包括:编码模块、交织模块和第一输出模块;其中,
所述编码模块,用于对待传输数据进行前向纠错编码,获得多个编码码块;
所述交织模块,用于根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块;
所述第一输出模块,用于将所述目标码块输出。
上述方案中,所述交织模块,具体用于:
根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;
获取交织间隔;
根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
上述方案中,所述交织模块,具体用于:
获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。
上述方案中,所述装置还包括:存储模块,用于将所述编码码块存储至随机存取存储器,以使所述交织模块在所述编码码块的数量达到第一阈值时,根据设置的交织参数对所述多个编码码块进行码间交织处理,获得与所述编码码块的数量相同的多个目标码块。
上述方案中,所述装置还包括:加扰模块,用于对所述目标码块进行随机化的加扰,以使所述第一输出模块将加扰后的所述目标码块输出。
本发明实施例提供了一种数据传输方法,所述方法包括:
接收目标码块;
根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块;
对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块;
确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
上述方案中,所述根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块,包括:
获取交织间隔;
根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
上述方案中,所述对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块,包括:
从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
确定所述当前待检测码块的校验子;
相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
上述方案中,所述获得纠错后的待输出码块之后,还包括:
确定纠错后的所述当前待检测码块的目标监督位;
判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;
当所述目标监督位与所述初始监督位不相同时,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤。
上述方案中,所述确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块的步骤,包括:
相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
上述方案中,所述根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块之前,还包括:
对所述目标码块进行解扰。
本发明实施例提供了一种数据传输装置,所述装置包括:接收模块、解交织模块、检测与纠错模块及第二输出模块;其中,
所述接收模块,用于接收目标码块;
所述解交织模块,用于根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块;
所述检测与纠错模块,用于对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块;
所述第二输出模块,用于确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
上述方案中,所述解交织模块,具体用于:
获取交织间隔;
根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
上述方案中,所述检测与纠错模块,具体用于:
从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
确定所述当前待检测码块的校验子;
相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错,以所述当前码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
上述方案中,所述检测与纠错模块,具体用于:
确定纠错后的所述当前待检测码块的目标监督位;
判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;
当所述目标监督位与所述初始监督位不相同时,以所述当前码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块。
上述方案中,所述第二输出模块,具体用于:
相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
上述方案中,所述装置还包括:解扰模块,用于对所述目标码块进行解扰。
本发明实施例提供了一种发送端,所述发送端包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行上述数据传输方法中的各个步骤。
本发明实施例提供了一种接收端,所述接收端包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行上述数据传输方法中的各个步骤。
本发明实施例提供了一种数据传输系统,包括发送端及与所述发送端通信连接的接收端,其特征在于,所述发送端为上述方案所述的发送端,所述接收端为上述方案所述的接收端。
本发明实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述数据传输方法中任意一项所述方法的步骤。
上述实施例所涉及的数据传输方法、装置和系统、发送端、接收端及计算机存储介质,发送端通过对待传输数据进行前向纠错编码并采用码块间交织技术对编码码块进行码间交织处理,通过将码块间交织技术与FEC编码技术进行结合实现数据信号的传输,通过码间交织把由多个编码码块组成的待传输数据中较长的突发差错离散成随机差错,而增强了编码码块与编码码块之间的抗突发差错能力,提高了数据信号的传输质量和传输距离;对应该发送端对待传输数据进行前向纠错编码并采用码块间交织技术对待传输编码码块进行码间交织处理,接收端采用解交织技术对目标码块进行解交织处理,并且在解码的过程中采用先纠错再同步的方式,充分利用了码块间交织技术与FEC编码技术的优点实现数据信号的传输,提高了数据信号的传输质量和传输距离。
附图说明
图1为本发明实施例一提供的数据传输方法的实现流程示意图;
图2为本发明实施例一中两个编码码块的码间交织示意图;
图3为本发明实施例一中三个编码码块的码间交织示意图;
图4为本发明实施例一中加扰电路的原理示意图;
图5为本发明实施例一提供的发送端的组成结构示意图;
图6为本发明实施例二提供的数据传输方法的实现流程示意图;
图7为本发明实施例二中解扰电路的原理示意图;
图8为本发明实施例二提供的接收端的组成结构示意图;
图9为本发明实施例三提供的发送端或接收端的结构示意图;
图10为本发明实施例四提供的数据传输方法的主要流程示意图;
图11为本发明实施例四提供的数据传输方法的另一实现流程示意图。
具体实施方式
实施例一
本实施例提供了一种数据传输方法,如图1所示,该方法包括如下步骤:
步骤101:对待传输数据进行前向纠错编码,获得多个编码码块。
具体地,在数据传输过程中,发送端根据设置的编码规则对待传输数据进行前向纠错编码,获得多个携带有监督位的编码码块。
这里,所述待传输数据可能来自于物理编码层;所述编码规则包括每个编码码块的大小和编码效率,本实施例中以所述编码码块的大小为2112比特、编码效率为2080/2112为例,即采用FEC(2112,2080)的编码方式对待传输数据进行编码,使得生成的每个编码码块都携带有32比特的监督位。
步骤102:根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块。
具体地,发送端根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;获取交织间隔,并根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
这里,所述编码码块内码字的信息量表示编码码块内码字的多少,其中码字的信息量通常用比特为单位进行表示。其中,目标码块的码字由多个编码码块内的码字混合间隔排列形成,所述目标信息量表示每个目标码块内所包含的每个所述编码码块内的码字的大小。所述根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量,包括:获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。所述交织参数包括交织间隔,以使得编码码块内的码字以该交织间隔排列形成所述目标码块内的新的码字;进一步的,所述交织参数还包括编码码块的交织数量和编码码块内码字的信息量,以确定目标码块内包含的每一编码码块的码字的数量,所述交织参数可由软件进行配置。所述编码码块的交织数量表示多少个编码码块作为同一组编码码块进行码间交织,比如两个码块为同一组编码码块或三个码块为同一组编码码块进行码间交织。所述交织间隔表示码块交织时每次从同一组编码码块中的每一编码码块提取多少比特码字以组成目标码块的新的码字。
交织编码是指打乱码字比特之间的相关性,将信道中传输过程中的成群突发错误转换为随机错误,交织编码的原理即是把一个较长的突发差错离散成随机差错,并且交织深度越大,则离散度越大,抗突发差错能力也就越强。但是,交织深度越大,交织编码处理时间也越长,从而造成数据传输时延也会增大。传统的交织技术通常是在码块内部对码字进行交织,当码块出现差错时,则搜索码块的头部进行译码的过程中依然会出现高误码率,传输质量差。
本申请实施例中,通过码间交织的方式对多个编码码块混合进行交织,则把由多个编码码块组成的待传输数据中较长的突发差错离散成随机差错,而增强了编码码块之间的抗突发差错能力,为了更加直观的说明本申请实施例中码间交织的实现方式,下面通过图2和图3对本实施例中的码间交织的原理进行说明;其中,c(i,j)表示第i个码块的第j比特。
图2为编码码块的数量为2、且编码码块内码字的信息量为n的码间交织示意图,码块0的比特序列为{c(0,0),c(0,1)…c(0,n)},码块1的比特序列为{c(1,0),c(1,1)…c(1,n)};当采用不同交织间隔时,两个编码码块进行码间交织的具体过程如下:
交织间隔为1比特交织时:从码块0和码块1先后轮流取一个比特即码字,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的后n比特作为第二个新码块,使得第一个新码块包含码块0的前n/2个比特和码块1的前n/2个比特且以一个比特为单元相互间隔排列而成,而第二个新码块包含码块0的后n/2个比特和码块1的后n/2个比特且以一个比特为单元相互间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(1,0),c(0,1),c(1,1)…c(0,m),c(1,m)},第二个新码块的比特序列为{c(0,m+1),c(1,m+1),c(0,m+2),c(1,m+2)…c(0,n),c(1,n)},其中m=n/2-1;
交织间隔为2比特交织时:从码块0和码块1先后轮流取两个比特,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的后n比特作为第二个新码块,使得第一个新码块包含码块0的前n/2个比特和码块1的前n/2个比特且以两个比特为一个单元相互间隔排列而成,而第二个新码块包含码块0的后n/2个比特和码块1的后n/2个比特且以两个比特为一个单元相互间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(0,1),c(1,0),c(1,1)…c(0,m-1),c(0,m),c(1,m-1),c(1,m)},第二个新码块的比特序列为{c(0,m+1),c(0,m+2),c(1,m+1),c(1,m+2)…c(0,n-1),c(0,n),c(1,n-1),c(1,n)},其中m=n/2-1;
交织间隔为3比特交织时:从码块0和码块1先后轮流取三个比特,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的后n比特作为第二个新码块,使得第一个新码块包含码块0的前n/2个比特和码块1的前n/2个比特且分别以三个比特为一个单元间隔排列而成,第二个新码块包含码块0的后n/2个比特和码块1的后n/2个比特且分别以三个比特为一个单元间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(0,1),c(0,2),c(1,0),c(1,1),c(1,2)…c(0,m-2),c(0,m-1),c(0,m),c(1,m-2),c(1,m-1),c(1,m)},第二个新码块的比特序列为{c(0,m+1),c(0,m+2),c(0,m+3),c(1,m+1),c(1,m+2),c(1,m+3)…c(0,n-2),c(0,n-1),c(0,n),c(1,n-2),c(1,n-1),c(1,n)},其中m=n/2-1。
图3为编码码块的数量为3、且编码码块内码字的信息量为n的码间交织示意图,码块0的比特序列为{c(0,0),c(0,1)…c(0,n)},码块1的比特序列为{c(1,0),c(1,1)…c(1,n)},码块2的比特序列为{c(2,0),c(2,1)…c(2,n)};当采用不同交织间隔时,三个编码码块进行码间交织的具体过程如下:
交织间隔为1比特交织时:从码块0、码块1和码块2先后轮流取一个比特,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的中间n比特作为第二个新码块,取新的比特流的后n比特作为第三个新码块,使得第一个新码块包含码块0的前n/3个比特、码块1的前n/3个比特和码块2的前n/3个比特且以一个比特为单元相互间隔排列而成,第二个新码块包含码块0的中间n/3个比特、码块1的中间n/3个比特和码块2的中间n/3个比特且以一个比特为单元相互间隔排列而成,第三个新码块包含码块0的后n/3个比特、码块1的后n/3个比特和码块2的后n/3个比特且以一个比特为单元相互间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(1,0),c(2,0),c(0,1),c(1,1),c(2,1)…c(0,m),c(1,m),c(2,m)},第二个新码块的比特序列为{c(0,m+1),c(1,m+1),c(2,m+1),c(0,m+2),c(1,m+2),c(2,m+2)…c(0,2m),c(1,2m),c(2,2m)},第三个新码块的比特序列为{c(0,2m+1),c(1,2m+1),c(2,2m+1),c(0,2m+2),c(1,2m+2),c(2,2m+2)…c(0,n),c(1,n),c(2,n)},其中m=n/3-1;
交织间隔为2比特交织时:从码块0、码块1和码块2先后轮流取两个比特,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的中间n比特作为第二个新码块,取新的比特流的后n比特作为第三个新码块,使得第一个新码块包含码块0的前n/3个比特、码块1的前n/3个比特和码块2的前n/3个比特且分别以两个比特为一个单元相互间隔排列而成,第二个新码块包含码块0的中间n/3个比特、码块1的中间n/3个比特和码块2的中间n/3个比特且分别以两个比特为一个单元相互间隔排列而成,第三个新码块包含码块0的后n/3个比特、码块1的后n/3个比特和码块2的后n/3个比特且分别以两个比特为一个单元相互间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(0,1),c(1,0),c(1,1),c(2,0),c(2,1)…c(0,m-1),c(0,m),c(1,m-1),c(1,m),c(2,m-1),c(2,m)},第二个新码块的比特序列为{c(0,m+1),c(0,m+2),c(1,m+1),c(1,m+2),c(2,m+1),c(2,m+2)…c(0,2m-1),c(0,2m),c(1,2m-1),c(1,2m),c(2,2m-1),c(2,2m)},第三个新码块的比特序列为{c(0,2m+1),c(0,2m+2),c(1,2m+1),c(1,2m+2),c(2,2m+1),c(2,2m+2)…c(0,n-1),c(0,n),c(1,n-1),c(1,n),c(2,n-1),c(2,n)},其中m=n/3-1;
交织间隔为3比特交织时:从码块0、码块1和码块2先后轮流取三个比特,组成新的比特流,取新的比特流的前n比特作为第一个新码块,取新的比特流的中间n比特作为第二个新码块,取新的比特流的后n比特作为第三个新码块,使得第一个新码块包含码块0的前n/3个比特、码块1的前n/3个比特和码块2的前n/3个比特且分别以三个比特为一个单元相互间隔排列而成,第二个新码块包含码块0的中间n/3个比特、码块1的中间n/3个比特和码块2的中间n/3个比特且分别以三个比特为一个单元相互间隔排列而成,第三个新码块包含码块0的后n/3个比特、码块1的后n/3个比特和码块2的后n/3个比特且分别以三个比特为一个单元相互间隔排列而成,即第一个新码块的比特序列为{c(0,0),c(0,1),c(0,2),c(1,0),c(1,1),c(1,2),c(2,0),c(2,1),c(2,2)…c(0,m-2),c(0,m-1),c(0,m),c(1,m-2),c(1,m-1),c(1,m),c(2,m-2),c(2,m-1),c(2,m)},第二个新码块的比特序列为{c(0,m+1),c(0,m+2),c(0,m+3),c(1,m+1),c(1,m+2),c(1,m+3),c(2,m+1),c(2,m+2),c(2,m+3)…c(0,2m-2),c(0,2m-1),c(0,2m),c(1,2m-2),c(1,2m-1),c(1,2m),c(2,2m-2),c(2,2m-1),c(2,2m)},第三个新码块的比特序列为{c(0,2m+1),c(0,2m+2),c(0,2m+3),c(1,2m+1),c(1,2m+2),c(1,2m+3),c(2,2m+1),c(2,2m+2),c(2,2m+3),…c(0,n-2),c(0,n-1),c(0,n),c(1,n-2),c(1,n-1),c(1,n),c(2,n-2),c(2,n-1),c(2,n)},其中m=n/3-1。
步骤103:将所述目标码块输出。
具体地,发送端将在步骤102中获得的所述多个目标码块输出,完成所述待传输数据在发送端的传输过程。
本实施例中,以发送端将所述目标码块向接收端输出为例;当发送端需要将所述目标码块向接收端输出时,可通过物理介质接入层向接收端进行串行发送。
上述实施例所提供的数据传输方法通常应用于发送端中,通过对待传输数据进行前向纠错编码并采用码块间交织技术对编码码块进行码间交织处理,通过将码块间交织技术与FEC编码技术进行结合实现数据信号的传输,通过码间交织把由多个编码码块组成的待传输数据中较长的突发差错离散成随机差错,而增强了编码码块与编码码块之间的抗突发差错能力,可以提高数据在传输过程中的抗突发差错能力。
在本实施例一实施方式中,在步骤102之前,还可包括:
将所述编码码块存储至随机存取存储器;
当所述编码码块的数量达到第一阈值时,则执行所述根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块的步骤。
这里,发送端对待传输数据进行前向纠错编码获得多个编码码块的过程中,每个编码码块可能是一个个依次生成的,即每个编码码块的生成时间存在先后顺序,因此将生成的编码码块依次存储至随机存储器中,当随机存储器中存储的编码码块的数量等于第一阈值时,则根据设置的交织参数对随机存储器中存储的编码码块进行码间交织处理;所述第一阈值可以根据实际需要进行设置,比如设置第一阈值等于或大于编码码块的交织数量;本实施例中以所述第一阈值为编码码块的交织数量为例,即当随机存储器中存储的编码码块的数量等于所述编码码块的交织数量时,则对这些编码码块的码字进行码间交织处理。
如此,通过在编码码块的数量达到第一阈值时即进行实时的码间交织处理,提高交织处理速度,减少数据传输时延。
在本实施例一实施方式中,所述将所述目标码块输出的步骤可包括:对所述目标码块进行随机化的加扰,在对所述目标码块加扰后将所述目标码块输出。
这里,由于在对所述编码码块进行交织处理后、获得的所述目标码块的平衡特性可能被破坏,即目标码块的码字中可能会出现连续的0或连续的1,影响同步的建立与保持;因此,可能需要对所述目标编码进行随机化的加扰,使得所述目标码块中的数字0和1被随机加扰后,目标码块中的码字流变为伪随机序列。
这里,可通过加扰电路对所述目标码块进行随机化的加扰;图4为本实施例中所使用的加扰电路的原理示意图,所述加扰电路是一个反馈电路,由58级移位寄存器和两个模2加法电路组成;比如,当该加扰电路的输入序列为ak时,则输出序列
Figure GDA0003515088080000131
其中,ak为加扰电路的输入序列,bk为加扰电路的输出序列,bk-39为bk向后循环移位39位后形成的序列,bk-58为bk向后循环移位39位后形成的序列。
为实现上述方法,本实施例还提供了一种数据传输装置,如图5所示,该数据传输装置包括:编码模块10、交织模块11、第一输出模块12;其中,
所述编码模块10,用于对待传输数据进行前向纠错编码,获得多个编码码块;
所述交织模块11,用于根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块;
所述第一输出模块12,用于将所述目标码块输出。
所述编码模块10,具体用于:在数据传输过程中,根据设置的编码规则对待传输数据进行前向纠错编码,获得多个携带有监督位的编码码块。
这里,所述编码规则包括每个编码码块的大小和编码效率,本实施例中以所述编码码块的大小为2112比特、编码效率为2080/2112为例,即所述编码模块10采用FEC(2112,2080)的编码方式对待传输数据进行编码,使得生成的每个编码码块都携带有32比特的监督位。
所述交织模块11,具体用于:根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;获取交织间隔,并根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
这里,所述编码码块内码字的信息量表示编码码块内码字的多少,其中码字的信息量通常用比特为单位进行表示。其中,目标码块的码字由多个编码码块内的码字混合间隔排列形成,所述目标信息量表示每个目标码块内所包含的每个所述编码码块内的码字的大小。所述根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量,包括:获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。所述交织参数包括交织间隔,以使得编码码块内的码字以交织间隔排列形成所述目标码块内的新的码字;进一步的,所述交织参数还包括编码码块的交织数量和编码码块内码字的信息量,以确定目标码块内包含的每一编码码块的码字的数量,所述交织参数可由软件进行配置。所述编码码块的交织数量表示多少个编码码块作为同一组编码码块进行码间交织,比如两个码块为同一组编码码块或三个码块为同一组编码码块进行码间交织。所述交织间隔表示码块交织时每次从同一组编码码块中的每一编码码块提取多少比特码字以组成目标码块的新的码字。
交织编码是指打乱码字比特之间的相关性,将信道中传输过程中的成群突发错误转换为随机错误,交织编码的原理即是把一个较长的突发差错离散成随机差错,并且交织深度越大,则离散度越大,抗突发差错能力也就越强。但是,交织深度越大,交织编码处理时间也越长,从而造成数据传输时延也会增大。传统的交织技术通常是在码块内部对码字进行交织,当码块出现差错时,则搜索码块的头部进行译码的过程中依然会出现高误码率,传输质量差。
本申请实施例中,通过码间交织的方式对多个编码码块混合进行交织,则把由多个编码码块组成的待传输数据中较长的突发差错离散成随机差错,而增强了编码码块之间的抗突发差错能力,本申请实施例中码间交织的实现方式,具体请参考上述对图2和图3中的说明。
所述第一输出模块12,具体用于:将所述交织模块11获得的所述多个目标码块输出,完成对所述待传输数据的传输过程。
上述实施例提供的数据传输装置通过对待传输数据进行前向纠错编码并采用码块间交织技术对编码码块进行码间交织处理,通过将码块间交织技术与FEC编码技术进行结合实现数据信号的传输,通过码间交织把由多个编码码块组成的待传输数据中较长的突发差错离散成随机差错,而增强了编码码块与编码码块之间的抗突发差错能力,可以提高数据在传输过程中的抗突发差错能力。
在本实施例一实施方式中,该数据传输装置还包括:存储模块13,用于将所述编码码块存储至随机存取存储器,以使所述交织模块11在所述编码码块的数量达到第一阈值时,根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块。
这里,所述编码码块10对待传输数据进行前向纠错编码获得多个编码码块的过程中,每个编码码块可能是一个个依次生成的,即每个码块的生成时间存在先后顺序,因此存储模块13将生成的编码码块依次存储至随机存储器中,当随机存储器中存储的编码码块的数量等于第一阈值时,则所述交织模块11根据设置的交织参数对随机存储器中存储的编码码块进行码间交织处理;所述第一阈值可以根据实际需要进行设置,比如设置第一阈值等于或大于编码码块的交织数量;本实施例中以所述第一阈值为编码码块的交织数量为例,即当随机存储器中存储的编码码块的数量等于所述编码码块的交织数量时,则所述交织模块11对这些编码码块的码字进行码间交织处理。
如此,通过在编码码块的数量达到第一阈值时即进行实时的码间交织处理,提高交织处理速度,减少数据传输时延。
在本实施例一实施方式中,该数据传输装置还包括:加扰模块14,用于对所述目标码块进行随机化的加扰,以使所述第一输出模块12将加扰后的所述目标码块输出。
这里,由于在对所述编码码块进行交织处理后、获得的所述目标码块的平衡特性可能被破坏,即目标码块的码字中可能会出现连续的0或连续的1,影响同步的建立与保持;因此,可能需要对所述目标编码进行随机化的加扰,使得所述目标码块中的数字0和1被随机加扰后,目标码块中的码字流变为伪随机序列。
这里,所述加扰模块14可以是一个加扰电路,以通过加扰电路对所述目标码块进行随机化的加扰;图4为本实施例中所使用的加扰电路的原理示意图,所述加扰电路是一个反馈电路,由58级移位寄存器和两个模2加法电路组成;比如,当该加扰电路的输入序列为ak时,则输出序列
Figure GDA0003515088080000161
其中,ak为加扰电路的输入序列,bk为加扰电路的输出序列,bk-39为bk向后循环移位39位后形成的序列,bk-58为bk向后循环移位39位后形成的序列。
实施例二
本实施例提供了一种数据传输方法,如图6所示,该方法包括如下步骤:
步骤201:接收目标码块。
其中,以接收端接收发送端输出的目标码块且该目标码块为发送端对待传输数据进行FEC编码和码间交织处理后生成的为例,接收端接收的所述目标码块可以是通过物理介质接入层进行获取的。
步骤202:根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块。
具体地,接收端获取交织间隔,并根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
这里,所述解交织处理为码间交织处理的逆操作。所述交织参数包括交织间隔,以根据所述交织间隔依序提取目标码块内的码字形成所述待输出码块内的码字,是发送端进行码间交织处理时所采用的交织间隔;进一步的,所述交织参数还包括解交织码块数,所述解交织码块数表示多少个目标码块作为同一组目标码块进行解交织,比如两个码块为同一组目标码块或三个码块为同一组目标码块进行解交织;在实际应用中,如果A个编码码块经过码间交织处理获得与所述编码码块的数量相同的A个目标码块,那么对A目标码块进行解交织处理后,可还原成与所述目标码块的数量相同的A个待输出码块;此外,如果发送端进行码间交织处理时属于同一组编码码块内的编码码块的数量为B,那么解交织处理时属于同一组目标码块内的目标码块的数量也为B,从而保证码块交织与解交织之间的对应。
为了更加直观的说明本申请实施例中解交织的实现方式,下面对解交织过程进行具体说明,假设编码码块0的比特序列为{c(0,0),c(0,1)…c(0,n)},编码码块1的比特序列为{c(1,0),c(1,1)…c(1,n)},而编码码块0和编码码块1以交织间隔为2个比特即2个码字进行码间交织处理后,获得的第一目标码块的比特序列为{c(0,0),c(0,1),c(1,0),c(1,1)…c(0,m-1),c(0,m),c(1,m-1),c(1,m)}、第二目标码块的比特序列为{c(0,m+1),c(0,m+2),c(1,m+1),c(1,m+2)…c(0,n-1),c(0,n),c(1,n-1),c(1,n)},其中m=n/2-1;将上述第一、第二目标码块以交织间隔为2个比特进行解交织,即以2个比特作为间隔,从上述第一、第二目标码块组成的比特流中依序每次取2个比特组成一个新的比特流即第一待输出码块,上述第一、第二目标码块组成的比特流中未提取出的比特数据组成另一个新的比特流即第二待输出码块。
步骤203:对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块。
具体地,从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;确定所述当前待检测码块的校验子;相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,并执行步骤204;相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错时,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错时,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块,并在对所述当前待检测码块纠错成功时执行步骤204。
这里,在第一次选取当前待检测码块时,此时当前码字的位置可根据实际需要预先进行设置或者可随机选择。可通过将所述当前待检测码块输入现有的纠错电路进行循环迭代计算而获取所述当前待检测码块的校验子,且校验子具有32位;所述第一类校验子、第二类校验子、第三类校验子可以根据实际需要进行设置,比如,第一类校验子可以是32位全部为0的校验子,第三类校验子可以是第31位为1、第21位为0的校验子,第二类校验子可以是除32位全部为0、以及第31位为1且第21位为0之外的校验子,即第二类校验子可以是除第一类校验子和第三类校验子之外的任意校验子。即,当校验子的32位全部为0时,表示所述当前待检测码块正确;当校验子的第31位为1、第21位为0,表示所述当前待检测码块能够被纠错;当校验子不属于上述两种情形时,表示所述当前待检测码块不能够被纠错。
这里,所述获得纠错后的待输出码块之后,还包括:确定纠错后的所述当前待检测码块的目标监督位;判断所述目标监督位与所述纠错后的当前待检测码块的初始监督位是否相同;当所述目标监督位与所述初始监督位不相同时,判定对所述当前待检测码块纠错失败,以当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,并执行步骤204。
这里,当所述纠错后的当前待检测码块的目标监督位与所述当前待检测码块的初始监督位不相同时、或者相应于确定所述校验子属于第二类校验子而判定所述当前待检测码块不能够被纠错时,从所述多个待输出码块中重新选取当前码字的下一码字为起点、并返回执行从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,即确定当前待检测码块不能被纠错或者能够被纠错但纠错失败时,则均进行一个比特的移位以当前码字的下一码字为新的起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被纠错和纠错是否成功的判断,如此往复循环,直至输出所述纠错后的待输出码块。
当所述当前待检测码块在纠错后是纠错成功的、或者确定所述当前待检测码块的校验子属于第一类校验子而判定所述当前待检测码块正确时,则以当前待检测码块的最后一个码字的下一码字为起点、并返回执行从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,即在确定当前待检测码块正确或者当前待检测码块能够被纠错且纠错成功时,则均进行一个比特的移位以所述当前待检测码块的最后一个码字的下一码字为起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被交错和纠错是否成功的判断,如此往复循环,直至输出所述纠错后的待输出码块。
这里,所述获得纠错后的待输出码块,包括以下三种情形:当根据当前待检测码块的校验子确定所述当前待检测码块能够被纠错时,则获得纠错后的待输出码块就是将纠错后的所述当前待检测码块中的码字更新至从所述多个待输出码块中提取出所述当前待检测码块的位置之处,比如,当前待检测码块是从所述多个待输出码块中的b0~b2111处提取的,则将纠错后的所述当前待检测码块中的码字更新至b0~b2111处;当根据当前待检测码块的校验子确定所述当前待检测码块正确时,则获得纠错后的待输出码块就是保持从所述多个待输出码块中提取出所述当前待检测码块的位置之处的码字不变;当根据当前待检测码块的校验子确定所述当前待检测码块不能够被纠错时,则获得纠错后的待输出码块也是保持从所述多个待输出码块中提取出所述当前待检测码块的位置之处的码字不变。
这里,对于码块长度为2112比特且监督位为32比特的当前待检测码块,可以通过公式p(x)=x32m(x)modg(x)和g(x)=x32+x23+x21+x11+x2+1计算当前待检测码块的目标监督位,其中,m(x)为当前待检测码块的前2080比特的数据,p(x)为计算出的目标监督位,g(x)为一个生成多项式;所述初始监督位默认设置为当前待检测码块的后32比特的数据。
步骤204:确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
具体地,相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,判定所述纠错后的待输出码块已同步,输出纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
这里,所述第三阈值可根据实际情况需要进行设置,一般可设为3个,即确定连续有3个或3个以上的待检测码块属于纠错成功的或者正确的时,判定所述纠错后的待输出码块已同步;比如,当连续的3个待检测码块中前面2个待检测码块属于纠错成功的、后面一个待检测码块属于正确的时,则可判定所述纠错后的待输出码块已同步;在确定所述纠错后的待输出码块同步时,将通过待检测码块进行纠错后的所述待输出码块输出,并输出用于指示当前同步的待输出码块的同步指示,即同步指示标记从哪个纠错后的待输出码块开始都是同步数据。
这里,在确定所述纠错后的待输出码块同步之后,继续以所述当前待检测码块的最后一个码字的下一码字为起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被交错和纠错是否成功的判断,即继续执行步骤203。
下面对所述检测与纠错以及同步的实现过程进行详细说明,具体如下:
第一步、从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;下面以b0为起点,选取b0~b2111的码字作为当前待检测码块进行说明。
第二步、通过以基于纠错算法设计的纠错电路计算出所述当前待检测码块的校验子,该校验子具有32位。
第三步、根据所述校验子判断当前待检测码块是否正确或者是否能够被纠错,生成对所述当前待检测码块的检测与纠错结果。
这里,预先设定判断规则以根据校验子判断当前待检测码块是否正确或者是否能够被纠错;比如,当所述当前待检测码块的校验子的32位全部为0时,表示所述当前待检测码块正确,则直接生成所述当前待检测码块为正确的码块的检测与纠错结果;当所述校验子的32位不全部为0并且第31位不为1、第21位为0或者第31位为1、第21位不为0时,表示当前待检测码块不能被纠错,则直接生成所述当前待检测码块为不能够被纠错的码块的检测与纠错结果;当所述校验子的第31位为1、第21位为0时,表示所述当前待检测码块能够被纠错,则通过纠错电路对所述当前待检测码块进行纠错处理,获得纠错后的所述当前待检测码块;计算纠错后的所述当前待检测码块的目标监督位,并判断所述目标监督位与纠错后的所述当前待检测码块的初始监督位是否相同,若相同,则表明对所述当前待检测码块的纠错成功,并生成所述当前待检测码块为纠错成功的码块的检测与纠错结果;若不相同,则表明对所述当前待检测码块的纠错失败,生成所述当前待检测码块为纠错失败的码块的检测与纠错结果。
第四步、根据第三步获取的所述检测与纠错结果,判断当前为止纠错成功的或者正确的且连续的待检测码块的数量是否小于设置的第三阈值;若所述数量小于设置的第三阈值,则从所述多个待输出码块中选取下一个待检测码块进行上述第二步和第三步的处理,具体为:当根据检测与纠错结果确定所述当前待检测码块是正确的或者是纠错成功的时,从所述多个待输出码块中以选取出的所述当前待检测码块的最后一个码字的下一个码字为起点选取第二阈值大小的连续码字作为下一个待检测码块,即选取b2112~b4223的码字作为下一个待检测码块;当根据检测与纠错结果确定所述当前待检测码块是不能够被纠错的或者是能够被纠错的且纠错失败的时,从所述多个待输出码块中以当前码字的下一个码字为起点选取第二阈值大小的连续码字作为下一个待检测码块,即选取b1~b2112的码字作为下一个待检测码块;重复上述操作,直至所述数量等于设置的第三阈值。
第五步、确定所述数量等于设置的第三阈值时,判定所述纠错后的待输出码块同步,并输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
上述实施例提供的数据传输方法通常应用于接收端中,通过采用解交织技术对目标码块进行解交织处理,并且在解码的过程中采用先纠错再同步的方式,提高了数据的传输质量,在低误码率情况下提升了数据的传输距离。
在本实施例一实施方式中,在步骤202之前,还可包括:对所述目标码块进行解扰。
这里,当发送端对目标码块进行了加扰处理时,接收端需要对所述目标码块进行相应的解扰处理;实际应用中,可通过解扰电路对所述目标码块进行解扰;图7为本实施例中所使用的解扰电路的原理示意图,所述解扰电路是一个前馈电路,由58级移位寄存器和两个模2加法电路组成;比如,当该解扰电路的输入序列为bk时,则输出序列
Figure GDA0003515088080000211
其中,bk为解扰电路的输入序列,ck为解扰电路的输出序列,bk-39为bk向后循环移位39位后形成的序列,bk-58为bk向后循环移位39位后形成的序列。
为实现上述方法,本实施例还提供了一种数据传输装置,如图8所示,该数据传输装置包括:接收模块20、解交织模块21、检测与纠错模块22、第二输出模块23;其中,
所述接收模块20,用于接收目标码块;
所述解交织模块21,用于根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块;
所述检测与纠错模块22,用于对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块;
所述第二输出模块23,用于确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
本实施例中,以接收模块20接收发送端输出的目标码块且该目标码块为发送端对待传输数据进行FEC编码和码间交织后生成的为例。
所述解交织模块21,具体用于:获取交织间隔,并根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
这里,所述解交织处理为码间交织处理的逆操作。所述交织参数包括交织间隔,以根据所述交织间隔依序提取目标码块内的码字形成所述待输出码块内的码字,是发送端进行码间交织处理时所采用的交织间隔;进一步的,所述交织参数还包括解交织码块数,所述解交织码块数表示多少个目标码块作为同一组目标码块进行解交织,比如两个码块为同一组目标码块或三个码块为同一组目标码块进行解交织;在实际应用中,如果A个编码码块经过码间交织处理获得与所述编码码块的数量相同的A个目标码块,那么对A目标码块进行解交织处理后,可还原成与所述目标码块的数量相同的A个待输出码块;此外,如果发送端进行码间交织处理时属于同一组编码码块内的编码码块的数量为B,那么解交织处理时属于同一组目标码块内的目标码块的数量也为B,从而保证码块交织与解交织之间的对应。
为了更加直观的说明本申请实施例中解交织的实现方式,下面对解交织过程进行具体说明,假设编码码块0的比特序列为{c(0,0),c(0,1)…c(0,n)},编码码块1的比特序列为{c(1,0),c(1,1)…c(1,n)},而编码码块0和编码码块1以交织间隔为2个比特即2个码字进行码间交织处理后,获得的第一目标码块的比特序列为{c(0,0),c(0,1),c(1,0),c(1,1)…c(0,m-1),c(0,m),c(1,m-1),c(1,m)}、第二目标码块的比特序列为{c(0,m+1),c(0,m+2),c(1,m+1),c(1,m+2)…c(0,n-1),c(0,n),c(1,n-1),c(1,n)},其中m=n/2-1;将上述第一、第二目标码块以交织间隔为2个比特进行解交织,即以2个比特作为间隔,从上述第一、第二目标码块组成的比特流中依序每次取2个比特组成一个新的比特流即第一待输出码块,上述第一、第二目标码块组成的比特流中未提取出的比特数据组成另一个新的比特流即第二待输出码块。
所述检测与纠错模块22,具体用于:从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;确定所述当前待检测码块的校验子;相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错时,以所述当前码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错时,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
这里,在第一次选取当前待检测码块时,此时当前码字的位置可根据实际需要预先进行设置或者可随机选择。可通过将所述当前待检测码块输入现有的纠错电路进行循环迭代计算而获取所述当前待检测码块的校验子,且校验子具有32位;所述第一类校验子、第二类校验子、第三类校验子可以根据实际需要进行设置,比如,第一类校验子可以是32位全部为0的校验子,第三类校验子可以是第31位为1、第21位为0的校验子,第二类校验子可以是除32位全部为0、以及第31位为1且第21位为0之外的校验子,即第二类校验子可以是除第一类校验子和第三类校验子之外的任意校验子。即,当校验子的32位全部为0时,表示所述当前待检测码块正确;当校验子的第31位为1、第21位为0,表示所述当前待检测码块能够被纠错;当校验子不属于上述两种情形时,表示所述当前待检测码块不能够被纠错。
所述检测与纠错模块22,具体用于:在所述获得纠错后的待输出码块之后,确定纠错后的所述当前待检测码块的目标监督位;判断所述目标监督位与所述纠错后的当前待检测码块的初始监督位是否相同;当所述目标监督位与所述初始监督位不相同时,判定对所述当前待检测码块纠错失败,以当前码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块。
这里,当所述纠错后的当前待检测码块的目标监督位与所述当前待检测码块的初始监督位不相同时、或者相应于确定所述校验子属于第二类校验子而判定所述当前待检测码块不能够被纠错时,从所述多个待输出码块中重新选取当前码字的下一码字为起点、并返回执行从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,即确定当前待检测码块不能被纠错或者能够被纠错但纠错失败时,则均进行一个比特的移位以当前码字的下一码字为新的起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被纠错和纠错是否成功的判断,如此往复循环,直至输出所述纠错后的待输出码块。
当所述当前待检测码块在纠错后是纠错成功的、或者确定所述当前待检测码块的校验子属于第一类校验子而判定所述当前待检测码块正确时,则以当前待检测码块的最后一个码字的下一码字为起点、并返回执行从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤,即在确定当前待检测码块正确或者当前待检测码块能够被纠错且纠错成功时,则均进行一个比特的移位以所述当前待检测码块的最后一个码字的下一码字为起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被交错和纠错是否成功的判断,如此往复循环,直至输出所述纠错后的待输出码块。
这里,所述获得纠错后的待输出码块,包括以下三种情形:当根据当前待检测码块的校验子确定所述当前待检测码块能够被纠错时,则获得纠错后的待输出码块就是将纠错后的所述当前待检测码块中的码字更新至从所述多个待输出码块中提取出所述当前待检测码块的位置之处,比如,当前待检测码块是从所述多个待输出码块中的b0~b2111处提取的,则将纠错后的所述当前待检测码块中的码字更新至b0~b2111处;当根据当前待检测码块的校验子确定所述当前待检测码块正确时,则获得纠错后的待输出码块就是保持从所述多个待输出码块中提取出所述当前待检测码块的位置之处的码字不变;当根据当前待检测码块的校验子确定所述当前待检测码块不能够被纠错时,则获得纠错后的待输出码块也是保持从所述多个待输出码块中提取出所述当前待检测码块的位置之处的码字不变。
这里,对于码块长度为2112比特且监督位为32比特的当前待检测码块,可以通过公式p(x)=x32m(x)modg(x)和g(x)=x32+x23+x21+x11+x2+1计算当前待检测码块的目标监督位,其中,m(x)为当前待检测码块的前2080比特的数据,p(x)为计算出的目标监督位,g(x)为一个生成多项式;所述初始监督位默认设置为当前待检测码块的后32比特的数据。
所述第二输出模块23,具体用于:相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,判定所述纠错后的待输出码块已同步,输出纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
这里,所述第三阈值可根据实际情况需要进行设置,一般可设为3个,即确定连续有3个或3个以上的待检测码块属于纠错成功的或者正确的时,判定所述纠错后的待输出码块已同步;比如,当连续的3个待检测码块中前面2个待检测码块属于纠错成功的、后面一个待检测码块属于正确的时,则可判定所述纠错后的待输出码块已同步;在确定所述纠错后的待输出码块同步时,将通过待检测码块进行纠错后的所述待输出码块输出,并输出用于指示当前同步的待输出码块的同步指示,即同步指示标记从哪个纠错后的待输出码块开始都是同步数据。
这里,在所述第二输出模块23确定所述纠错后的待输出码块同步之后,所述检测与纠错模块22继续以所述当前待检测码块的最后一个码字的下一码字为起点,重新选取第二阈值大小的连续码字作为当前待检测码块以重新进行当前待检测码块是否正确、能否被交错和纠错是否成功的判断。
综上,本实施例提供的数据传输装置通过采用解交织技术对目标码块进行解交织处理,并且在解码的过程中采用先纠错再同步的方式,提高了数据的传输质量或者在相同误码率情况下提升了数据的传输距离。
在本实施例一实施方式中,该数据传输装置还包括:解扰模块24,用于对所述目标码块进行解扰。
这里,当发送端对目标码块进行了加扰处理时,需要对所述目标码块进行相应的解扰处理;实际应用中,所述解扰模块24可以是一个解扰电路;图7为本实施例中所使用的解扰电路的原理示意图,所述解扰电路是一个前馈电路,由58级移位寄存器和两个模2加法电路组成;比如,当该解扰电路的输入序列为bk时,则输出序列
Figure GDA0003515088080000261
其中,bk为解扰电路的输入序列,ck为解扰电路的输出序列,bk-39为bk向后循环移位39位后形成的序列,bk-58为bk向后循环移位39位后形成的序列。
实施例三
本实施例提供了一种发送端,如图9所示,该发送端包括:至少一个处理器210和用于存储能够在处理器210上运行的计算机程序的存储器211;其中,图9中示意的处理器210并非用于指代处理器的个数为一个,而是仅用于指代处理器相对其他器件的位置关系,在实际应用中,处理器的个数可以为一个或多个;同样,图9中示意的存储器211也是同样的含义,即仅用于指代存储器相对其他器件的位置关系,在实际应用中,存储器的个数可以为一个或多个。
其中,所述处理器210用于运行所述计算机程序时,执行如下步骤:
对待传输数据进行前向纠错编码,获得多个编码码块;
根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块;
将所述目标码块输出。
所述根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块,包括:
根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;
获取交织间隔;
根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
所述根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量,包括:
获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。
在本实施例一实施方式中,所述处理器210还用于运行所述计算机程序时,执行如下步骤:
将所述编码码块存储至随机存取存储器,当所述编码码块的数量达到第一阈值时,执行所述根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块的步骤。
所述将所述目标码块输出的步骤包括:
对所述目标码块进行随机化的加扰,在对所述目标码块加扰后将所述目标码块输出。
该发送端还包括:至少一个网络接口212。发送端中的各个组件通过总线系统213耦合在一起。可理解,总线系统213用于实现这些组件之间的连接通信。总线系统113除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统213。
其中,存储器211可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器102旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器211用于存储各种类型的数据以支持发送端的操作。这些数据的示例包括:用于在发送端上操作的任何计算机程序,如操作系统和应用程序;联系人数据;电话簿数据;消息;图片;视频等。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。这里,实现本发明实施例方法的程序可以包含在应用程序中。
本实施例还提供了一种计算机存储介质,例如包括存储有计算机程序的存储器211,上述计算机程序可由发送端中的处理器210执行,以完成前述方法所述步骤。计算机存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备,如移动电话、计算机、平板设备、个人数字助理等。
一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程被处理器运行时,执行如下步骤:
对待传输数据进行前向纠错编码,获得多个编码码块;
根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块;
将所述目标码块输出。
所述根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块,包括:
根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量;
获取交织间隔;
根据所述交织间隔对所述多个编码码块进行码间交织,将所述多个编码码块内的码字按照所述交织间隔依序排列,得到码块内码字的信息量与所述编码码块的数量和所述目标信息量的乘积相等、且码块数量与所述编码码块的数量相等的多个目标码块。
所述根据所述编码码块内码字的信息量和所述编码码块的数量确定目标信息量,包括:
获取所述编码码块内码字的信息量为n比特,所述编码码块的数量为A,确定目标信息量为n/A。
在本实施例一实施方式中,所述计算机程序被处理器运行时,还执行如下步骤:
将所述编码码块存储至随机存取存储器,当所述编码码块的数量达到第一阈值时,执行所述根据设置的交织参数对多个编码码块进行码间交织处理,获得与编码码块的数量相同的多个目标码块的步骤。
所述将所述目标码块输出的步骤包括:
对所述目标码块进行随机化的加扰,在对所述目标码块加扰后将所述目标码块输出。
本实施例还提供了一种接收端,如图9所示,该接收端包括:至少一个处理器210和用于存储能够在处理器210上运行的计算机程序的存储器211;其中,图9中示意的处理器210并非用于指代处理器的个数为一个,而是仅用于指代处理器相对其他器件的位置关系,在实际应用中,处理器的个数可以为一个或多个;同样,图9中示意的存储器211也是同样的含义,即仅用于指代存储器相对其他器件的位置关系,在实际应用中,存储器的个数可以为一个或多个。
其中,所述处理器210用于运行所述计算机程序时,执行如下步骤:
接收目标码块;
根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块;
对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块;
确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
所述根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块,包括:
获取交织间隔;
根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
所述对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块,包括:
从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
确定所述当前待检测码块的校验子;
相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
所述获得纠错后的待输出码块之后,还包括:
确定纠错后的所述当前待检测码块的目标监督位;
判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;
当所述目标监督位与所述初始监督位不相同时,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤。
所述确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块的步骤,包括:
相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
在本实施例一实施方式中,所述处理器210还用于运行所述计算机程序时,执行如下步骤:
对所述目标码块进行解扰。
该接收端还包括:至少一个网络接口212。发送端中的各个组件通过总线系统213耦合在一起。可理解,总线系统213用于实现这些组件之间的连接通信。总线系统213除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统213。
本实施例还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机程序,所述计算机程被处理器运行时,执行如下步骤:
接收目标码块;
根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块;
对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块;
确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块。
所述根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个待输出码块,包括:
获取交织间隔;
根据所述交织间隔对所述多个目标码块进行解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个待输出码块。
所述对所述多个待输出码块进行检测与纠错,获得纠错后的待输出码块,包括:
从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
确定所述当前待检测码块的校验子;
相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
所述获得纠错后的待输出码块之后,还包括:
确定纠错后的所述当前待检测码块的目标监督位;
判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;
当所述目标监督位与所述初始监督位不相同时,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤。
所述确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块的步骤,包括:
相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
在本实施例一实施方式中,所述计算机程序被处理器运行时,还执行如下步骤:
对所述目标码块进行解扰。
本实施例还提供了一种数据传输系统,该系统包括上述任意一种方案中的发送端和上述任意一种方案中的接收端。
实施例四
下面通过一个具体示例对本实施例作进一步详细的说明,图10为数据传输方法的主要流程示意图,主要包括FEC编码、交织、加扰、解扰、解交织、FEC纠错、FEC同步等步骤;图11为数据传输方法的具体实现流程示意图,包括:
步骤310:发送端对FEC编码后的数据进行交织。
具体地,发送端对数据采用FEC(2112,2080)方式进行FEC编码后,对经过FEC编码后的数据进行交织处理。
这里,所述交织为码块间交织,交织间隔以及参与交织的码块数可根据需要进行配置;交织后的数据不改变原输出传输带宽。
步骤320:发送端对交织后的数据进行加扰后向接收端发送。
具体地,发送端对步骤310中获得的交织后的数据采用加扰算法进行加扰,以将交织后的数据随机化;然后,发送端将加扰后的数据向接收端发送。
步骤330:接收端对接收到的数据进行解扰。
具体地,接收端接收到发送端发送的所述加扰后的数据后,采用解扰算法对所述加扰后的数据进行解扰。
这里,所述解扰算法与所述加扰算法存在对应关系。
步骤340:接收端对解扰后的数据进行解交织。
这里,接收端根据解交织间隔和参与解交织的码块数对解扰后的数据进行解交织处理,所述解交织间隔和参与解交织的码块数与发送端进行交织处理时采用的交织间隔以及参与交织的码块数一致。
步骤350:对解交织后的数据按照纠错算法进行纠错,获得纠错结果。
这里,接收端从解交织后的数据中以当前码字为起点选取2112比特的连续码字作为当前待检测码块,按照基于纠错算法设计的纠错电路计算出当前待检测码块的校验子;当校验子的32位全部为0时,表示所述当前待检测码块正确;当校验子的第31位为1、第21位为0,表示所述当前待检测码块能够被纠错;当校验子不属于上述两种情形时,表示所述当前待检测码块不能够被纠错;在当所述当前待检测码块能够被纠错时,对所述当前待检测码块进行纠错处理,确定纠错后的所述当前待检测码块的目标监督位,当所述目标监督位与所述纠错后的当前待检测码块的初始监督位相同时,判定对所述当前待检测码块纠错成功;当所述目标监督位与所述纠错后的当前待检测码块的初始监督位不相同时,判定对所述当前待检测码块纠错失败。
当所述纠错后的当前待检测码块是纠错失败的、或者所述当前待检测码块是不能够被纠错的时,则将所述解交织后的数据中以当前码字的下一码字作为所述当前码字、并从所述解交织后的数据中以当前码字为起点选取2112比特的连续码字作为下一个当前待检测码块;当所述纠错后的当前待检测码块是纠错成功的、或者所述当前待检测码块是正确的时,则将所述解交织后的数据中以当前待检测码块的最后一个码字的下一码字作为所述当前码字、并从所述解交织后的数据中以当前码字为起点选取2112比特的连续码字作为下一个当前待检测码块。
步骤360:根据纠错结果确定同步时,输出解码后的数据。
这里,当根据步骤350的纠错结果确定解交织后的数据同步时,将纠错后的所述数据即解码后的数据输出,并输出从哪个码字或待检测码块开始都是同步数据。
综上,本发明实施例通过在发送端采用码块间交织技术,在接收端进行解交织,可以大大提升FEC(2112,2080)的纠错能力;并且,在解码的过程中采用先纠错再同步的方式,来提高数据的传输质量或者在相同误码率情况下提升传输距离。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (9)

1.一种数据传输方法,其特征在于,所述方法包括:
接收目标码块;其中,所述目标码块的码字由多个携带有监督位的编码码块内的码字混合间隔排列形成;
根据设置的交织参数对所述目标码块进行码间解交织处理,获得与所述目标码块的数量相同的多个携带有监督位的待输出码块;
对所述多个携带有监督位的待输出码块进行检测与纠错,获得纠错后的待输出码块;
确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块;
所述获得纠错后的待输出码块之后,还包括:
确定纠错后的当前待检测码块的目标监督位;
判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;
当所述目标监督位与所述初始监督位不相同时,判定对所述当前待检测码块纠错失败;
当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功;
判定对所述当前待检测码块纠错失败,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
其中,所述确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块的步骤,包括:
相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
2.根据权利要求1所述的方法,其特征在于,所述根据设置的交织参数对所述目标码块进行码间解交织处理,获得与所述目标码块的数量相同的多个携带有监督位的待输出码块,包括:
获取交织间隔;
根据所述交织间隔对所述多个目标码块进行码间解交织,将所述多个目标码块内的码字按照所述交织间隔依序提取,得到码块内码字的信息量与所述目标码块内码字的信息量相等、且码块数量与所述目标码块的数量相等的多个携带有监督位的待输出码块。
3.根据权利要求1所述的方法,其特征在于,所述对所述多个携带有监督位的待输出码块进行检测与纠错,获得纠错后的待输出码块,包括:
从所述多个携带有监督位的待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块;
确定所述当前待检测码块的校验子;
相应于确定所述校验子属于第一类校验子时,判定所述当前待检测码块正确,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第二类校验子时,判定所述当前待检测码块不能被纠错,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
相应于确定所述校验子属于第三类校验子时,判定所述当前待检测码块能够被纠错,对所述当前待检测码块进行纠错处理,获得纠错后的待输出码块。
4.根据权利要求3所述的方法,其特征在于,通过公式p(x)=x32m(x)mod g(x)和g(x)=x32+x23+x21+x11+x2+1计算当前待检测码块的目标监督位,其中,m(x)为当前待检测码块的前2080比特的数据,p(x)为计算出的目标监督位,g(x)为一个生成多项式;所述初始监督位为当前待检测码块的后32比特的数据。
5.根据权利要求1所述的方法,其特征在于,所述根据设置的交织参数对所述目标码块进行解交织处理,获得与所述目标码块的数量相同的多个携带有监督位的待输出码块之前,还包括:
对所述目标码块进行解扰。
6.一种数据传输装置,其特征在于,所述装置包括:接收模块、解交织模块、检测与纠错模块及第二输出模块;其中,
所述接收模块,用于接收目标码块;其中,所述目标码块的码字由多个携带有监督位的编码码块内的码字混合间隔排列形成;
所述解交织模块,用于根据设置的交织参数对所述目标码块进行码间解交织处理,获得与所述目标码块的数量相同的多个携带有监督位的待输出码块;
所述纠错模块,用于对所述多个携带有监督位的待输出码块进行检测与纠错,获得纠错后的待输出码块;确定纠错后的当前待检测码块的目标监督位;判断所述目标监督位与所述纠错后的所述当前待检测码块的初始监督位是否相同;当所述目标监督位与所述初始监督位不相同时,判定对所述当前待检测码块纠错失败;当所述目标监督位与所述初始监督位相同时,判定对所述当前待检测码块纠错成功;判定对所述当前待检测码块纠错失败,以所述当前码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;判定对所述当前待检测码块纠错成功,以所述当前待检测码块的最后一个码字的下一码字替代所述当前码字并返回从所述多个待输出码块中以当前码字为起点选取第二阈值大小的连续码字作为当前待检测码块的步骤;
所述第二输出模块,用于确定所述纠错后的待输出码块同步时,输出所述纠错后的待输出码块;
所述第二输出模块具体用于:相应于数量大于第三阈值且连续的待检测码块是正确的或纠错成功的时,输出所述纠错后的待输出码块以及用于指示当前同步的待输出码块的同步指示。
7.一种接收端,其特征在于,所述接收端包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至5中任意一项所述方法的步骤。
8.一种数据传输系统,包括发送端及与所述发送端通信连接的接收端,其特征在于,所述接收端为上述权利要求7所述的接收端。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任意一项所述方法的步骤。
CN201710763751.2A 2017-08-30 2017-08-30 数据传输方法、装置和系统、接收端及存储介质 Active CN109428674B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710763751.2A CN109428674B (zh) 2017-08-30 2017-08-30 数据传输方法、装置和系统、接收端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710763751.2A CN109428674B (zh) 2017-08-30 2017-08-30 数据传输方法、装置和系统、接收端及存储介质

Publications (2)

Publication Number Publication Date
CN109428674A CN109428674A (zh) 2019-03-05
CN109428674B true CN109428674B (zh) 2022-04-15

Family

ID=65503984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710763751.2A Active CN109428674B (zh) 2017-08-30 2017-08-30 数据传输方法、装置和系统、接收端及存储介质

Country Status (1)

Country Link
CN (1) CN109428674B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112564769B (zh) * 2020-11-30 2022-08-26 东方红卫星移动通信有限公司 多速率分级调节的低轨卫星高速通信方法、发射端及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100356698C (zh) * 2004-03-05 2007-12-19 上海交通大学 Turbo乘积码三维级联NR码的信道编码方法
CN100502380C (zh) * 2006-10-20 2009-06-17 北京泰美世纪科技有限公司 多载波数字移动多媒体广播系统及其数字信息传输方法
US7996747B2 (en) * 2006-11-03 2011-08-09 International Business Machines Corporation Forward error correction encoding for multiple link transmission compatible with 64B/66B scrambling
UA95992C2 (ru) * 2006-11-06 2011-09-26 Квелкомм Інкорпорейтед Скремблирование на уровне кодового слова в мимо-передаче
CN101330346A (zh) * 2007-06-22 2008-12-24 华为技术有限公司 控制信令信息的处理方法及装置
CN101867426A (zh) * 2009-04-15 2010-10-20 Lg电子株式会社 广播接收系统及广播信号处理方法
CN102035616B (zh) * 2009-09-30 2013-12-04 国际商业机器公司 以太网前向纠错层接收的数据流的帧边界检测和同步系统
CN102263609B (zh) * 2010-05-31 2014-03-05 国际商业机器公司 帧边界检测方法和设备及解码方法和系统
CN103427946B (zh) * 2013-01-29 2016-12-07 上海数字电视国家工程研究中心有限公司 数字信号传输系统及方法
CN104022784B (zh) * 2013-02-28 2017-08-29 国际商业机器公司 纠正突发错误的解码方法、解码设备和解码器
CN107210846B (zh) * 2015-02-04 2020-09-29 Lg 电子株式会社 收发广播信号的装置和方法

Also Published As

Publication number Publication date
CN109428674A (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
CN107370560B (zh) 一种极化码的编码和速率匹配方法、装置及设备
KR101205758B1 (ko) 파일 다운로드 및 스트리밍 시스템
KR101184242B1 (ko) 순방향 오류 정정 코딩 및 스트리밍
US11201695B2 (en) Forward error correction with compression coding
CN105991227B (zh) 数据编码方法及装置
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
CN110233698B (zh) 极化码的编码及译码方法、发送设备、接收设备、介质
CA2880078C (en) Bit interleaver for low-density parity check codeword having length of 64800 and code rate of 2/15 and quadrature phase shift keying, and bit interleaving method using same
CN109428674B (zh) 数据传输方法、装置和系统、接收端及存储介质
Luyi et al. Forward error correction
CN110830171B (zh) 接收数据的方法及设备,以及发送数据的方法及设备
JP4379329B2 (ja) Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路
JP2006157525A (ja) 符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラム
CN110557220B (zh) 一种物理层信道编码及解码方法
JP2023519407A (ja) データ通信のためのコーディング方法および装置
CN107579803B (zh) 包括错误更正程序的解码装置及解码方法
CN111052614B (zh) 消息处理和对应装置
CN111628849A (zh) Ldpc码字的交织映射方法及解交织解映射方法
JPS63259876A (ja) 誤り訂正方式

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant