CN117650870A - 一种基于纵向编码纠错的通信方法、系统、设备及介质 - Google Patents
一种基于纵向编码纠错的通信方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117650870A CN117650870A CN202311667098.1A CN202311667098A CN117650870A CN 117650870 A CN117650870 A CN 117650870A CN 202311667098 A CN202311667098 A CN 202311667098A CN 117650870 A CN117650870 A CN 117650870A
- Authority
- CN
- China
- Prior art keywords
- data
- array
- channel
- error correction
- slice
- 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.)
- Granted
Links
- 238000012937 correction Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000004891 communication Methods 0.000 title claims abstract description 40
- 230000005540 biological transmission Effects 0.000 claims abstract description 111
- 230000017105 transposition Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000003491 array Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提出了一种基于纵向编码纠错的通信方法、系统、设备及介质,涉及通信技术领域。该方法包括:获取第一数据;通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据;接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。该方案具有运算高效、编/解码速度快且纠错能力强的特点,从而能够有效的保证数据传输的效率和准确。
Description
技术领域
本申请涉及通信技术领域,具体而言,涉及一种基于纵向编码纠错的通信方法、系统、设备及介质。
背景技术
由于噪声、干扰和信道衰减等因素,数据包在传输过程中可能会受损,数据传输中既有独立随机差错,也有突发性成串数据差错。为此,在现有技术中形成了采用前向纠错编码的高速通信协议对传输中的数据包进行纠错的技术手段。其中,前向纠错常用的两种编码方式为分组编码中的Reed-Solomon纠错码和低密度奇偶校验码(LDPC)。Reed-Solomon纠错码的纠错能力与每个codeword内的parity symbols数量相关,当纠错能力增强时,编/解码计算将更复杂,占用资源和编解码时间更长;而低密度奇偶校验码(LDPC)运算虽然简单,但是纠错能力低。为此,如何在运算高效的同时提高通信中的纠错能力,成为了亟需解决的技术问题。
发明内容
本申请的目的在于提供一种基于纵向编码纠错的通信方法、系统、设备及介质,其具有运算简单、编/解码速度快且纠错能力强的特点,从而能够有效的保证数据传输的效率和准确。
本申请是这样实现的:
第一方面,本申请提供一种基于纵向编码纠错的通信方法,包括以下步骤:
获取第一数据。通过多个传输通道并行发送第二数据;上述第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据。接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
进一步地,基于前述方案,上述通过多个通道并行发送第二数据,包括:
将写入一个传输通道的通道切片包进行二维数组转置操作,得到第一数组。对上述第一数组的每一行做hamming编码,得到第二数组。将第二数组进行二维数组转置操作,得到第三数组,以将第三数组携带的数据一行一行的依次发出。
进一步地,基于前述方案,上述接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据,包括:
接收端将接收的第三数组进行二维数组转置操作,得到第四数组。对第四数组的每一行做hamming解码并纠错,得到第五数组。将第五数组进行二维数组转置操作,得到第六数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
进一步地,基于前述方案,在通过多个传输通道并行发送第二数据时采用双编码任务交错执行的输入输出方式,对同一通道内的数据切片包进行编码及发出处理;在接收端根据接收的第二数据,对第二数据进行解码和纠错时,采用双解码任务交错执行的输入输出方式,对同一通道内的数据切片包进行解码及发出处理。
第二方面,本申请提供一种基于纵向编码纠错的通信方法,包括以下步骤:
获取第一数据;上述第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组。将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,上述第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一上述数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组。接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
进一步地,基于前述方案,上述将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据,包括:
将通道切片包进行二维数组转置操作,得到16×34的二维数组结构的第七数组。对上述第七数组的每一行做hamming编码,得到16×40的二维数组结构的第八数组。将第八数组进行二维数组转置操作,得到40×16的二维数组结构的第九数组,并将第九数组携带的数据一行一行的依次发出。
进一步地,基于前述方案,上述接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据,包括:
接收端将接收的第九数组进行二维数组转置操作,得到16×40的二维数组结构的第十数组。对第十数组的每一行做hamming解码并纠错,得到16×34的二维数组结构的第十一数组。将第十一数组进行二维数组转置操作,得到34×16的二维数组结构的第十二数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
第三方面,本申请提供一种基于纵向编码纠错的通信系统,其包括:
数据获取模块,被配置为:获取第一数据。数据发送模块,被配置为:通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据。数据处理模块,被配置为:接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
第四方面,本申请提供一种电子设备,包括至少一个处理器、至少一个存储器和数据总线;其中:上述处理器与上述存储器通过上述数据总线完成相互间的通信;上述存储器存储有被上述处理器执行的程序指令,上述处理器调用上述程序指令以执行如上述第一方面和第二方面中任一项所述的方法。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面和第二方面中任一项所述的方法。
相对于现有技术,本申请至少具有如下优点或有益效果:
本申请提出了一种基于纵向编码纠错的通信方法,采用多通道数据传输,每个通道做纠错编/解码,并且编/解码是纵向编/解码,可以在保证传输速度情况下提升纠错能力,有效地抵抗传输过程中的噪声和干扰。并且,在此基础上采用双编/解码任务交错执行的方式进行数据传输,可以提高编解码以及数据传输的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一种基于纵向编码纠错的通信方法一实施例的流程图;
图2为本申请一种基于纵向编码纠错的通信方法另一实施例的流程图;
图3为本申请一实施例中编码前的数据格式;
图4为本申请一实施例中编码后的数据格式;
图5为本申请一实施例中数据发送端的一个数据通道内的编码过程示意图;
图6为本申请一实施例中数据接收端的解码过程示意图;
图7为本申请一实施例中多通道双任务交错执行编解码过程示意图;
图8为一个通道内的数据发送示意图;
图9为一个通道内的数据接收示意图;
图10为本申请一实施例中数据出错并纠错的流程示意图;
图11为本申请一种基于纵向编码纠错的通信系统一实施例的结构框图;
图12为本申请实施例提供的一种电子设备的结构框图。
图标:1、数据获取模块;2、数据发送模块;3、数据处理模块;4、处理器;5、存储器;6、数据总线。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。同时,在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
实施例1
本申请实施例提供了一种基于纵向编码纠错的通信方法,其通过纵向数据编/解码的方式,即可以单比特纠错,也可以同时多比特纠错,保证数据传输的效率和准确度。
请参阅图1,该一种基于纵向编码纠错的通信方法包括以下步骤:
步骤S101:获取第一数据;
步骤S102:通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据;
步骤S103:接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
在上述实施例中,定义了一种传输单元数据片,发送端传输数据的数据编码是基于该数据片包的,然后接收端也是基于该数据片包进行解码的,以将数据片包携带的数据还原出来。首先,发送端使用纵向纠错编码的方式将获取的原始数据(第一数据)进行编码,可以提升数据传输过程中的纠错能力。示例性的,可以采用纵向hamming编码对第一数据进行编码,编码后的数据添加了冗余信息,以便在接收端能够检测和纠正传输中的错误。并且在编码时,是将原始数据对应的切片包拆分为与传输通道的数量匹配的通道切片包的基础上进行纵向纠错编码的,可以提升编码计算效率和执行速度,并提升第二数据的传输速度。接着,接收端根据接收到的数据进行解码和纠错操作,以通过纠错码的算法,在接收端进行检测和纠正传输中的错误,以恢复原始数据。其中,由于噪声、干扰和信道衰减等因素的存在,导致第二数据在传输中可能会受损,因此在本申请的一些实现方式中还可以通过记录表征第二数据在传输中受干扰情况的信息,从而在后续进行解码和纠错操作的时候,可以更加有针对性的对其进行处理。
在上述实施例的应用层面来讲,可以将上述方案应用在芯片间通信和集群内部通信中。在多芯片系统中,如系统级芯片(SoC)或芯片组内的各个芯片之间,使用该方案可以确保数据传输的可靠性,这对于跨芯片之间的数据交换、任务协同和协议通信非常关键。
基于前述方案,在本申请的一实现方式中,在通过多个传输通道并行发送第二数据时采用双编码任务交错执行的输入输出方式,对同一通道内的数据切片包进行编码及发出处理;在接收端根据接收的第二数据,对第二数据进行解码和纠错时,采用双解码任务交错执行的输入输出方式,对同一通道内的数据切片包进行解码及发出处理。
上述实现方式中,采用多通道数据传输,每个通道分别做纠错编/解码,并且编/解码是纵向编/解码,可以保证纠错能力,有效地抵抗传输过程中的噪声和干扰。另外,通过采用双乒乓的方式传输(即双编/解码任务交错执行的方式),可以提升编/解码以及数据传输的效率。即,在编解/码时,采用的是双纵向编/解码任务交错执行的方式,此方法保证了数据片纵向编/解码的满负荷运行,在不影响通信质量的情况下提高传输速率,保证信息通信快速响应,充分发挥了数据片纵向编/解码纠错能力强的优势。
基于前述方案,在本申请的一实现方式中,所述通过多个通道并行发送第二数据,包括:
将写入一个传输通道的通道切片包进行二维数组转置操作,得到第一数组;对所述第一数组的每一行做hamming编码,得到第二数组;将第二数组进行二维数组转置操作,得到第三数组,以将第三数组携带的数据一行一行的依次发出。
基于前述方案,在本申请的一实现方式中,所述接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据,包括:
接收端将接收的第三数组进行二维数组转置操作,得到第四数组;对第四数组的每一行做hamming解码并纠错,得到第五数组;将第五数组进行二维数组转置操作,得到第六数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
对于每一个数据通道内的编码而言,通过对写入该传输通道的通道切片包进行二维数组转置操作,以便于对转置得到的数组的每一行做hamming编码,接在再对编码后的数据进行二维数组转置,以便将其携带的数据一行一行的依次发出。相应的,在接收端的解码过程和编码过程基本相同,属于编码过程的逆过程。
请参阅图2,在本申请的一些实施例中,该一种基于纵向编码纠错的通信方法包括以下步骤:
步骤S201:获取第一数据;所述第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组;
步骤S202:将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,所述第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一所述数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组;
步骤S203:接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
如图3所示,传输数据以数据片包为单位,在一个数据片内有一个16byte的包头以及256byte的数据,总共272byte,通过4个通道并行传输,每个传输通道的传输宽度为2byte。图3中的Payload(有效载荷)指的是传输协议中携带的有效数据部分,HEAD为包头,Channe0-3代表一个数据片包对应的4个通信切片包。通过4个传输通道并行传输数据切片包,每个传输通道的传输宽度为2byte。如图4所示,其示出了纠错编码后的数据格式,纠错编码采用纵向编码方式,由于每一列数据都单独做hamming编码,每一列都可以纠正1bit的数据错误,所以这种编码方式可以纠正最多8byte的数据错误。图4中的Payload(有效载荷)指的是传输协议中携带的有效数据部分,HEAD为包头,Hamming code为对应的错误纠正码。纠错编码后数据总长度为320byte,包括272byte有效数据和48byte的冗余编码数据。由于每个传输通道的传输宽度为2byte,数据发送过程中会把一个数据片34x64(272byte)的二维数组分成4个34×16的数组发送,在这里把4个34×16的数组称为通道数据片。
在上述实施例中,在传输过程中以数据片包作为数据传输单元;并且分为4个数据传输通道同时传输,可以提高传输速率;同时在传输协议中包含纠错的纵向编解码,能够在高速传输中提供强大的纠错能力,有效地抵抗传输过程中的噪声和干扰;采用双编/解码任务交错执行的方式可以大大提高传输效率,提高带宽。通过其独特的编/解码方式,既能纠正数据传输过程中的单bit错误,又能纠正多bit的错误,理论上单通道最多可以纠正16bit的数据传输错误,考虑到有4个数据通道,每个数据片包传输中最多可以纠正64bit的数据传输错误。
具体的,基于前述方案,在本申请的一实现方式中,所述将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据,包括:
将通道切片包进行二维数组转置操作,得到16×34的二维数组结构的第七数组;对所述第七数组的每一行做hamming编码,得到16×40的二维数组结构的第八数组;将第八数组进行二维数组转置操作,得到40×16的二维数组结构的第九数组,并将第九数组携带的数据一行一行的依次发出。
如图5所示,给出了一个数据通道内的编码过程(上述实现方式中共4个数据通道),通道的输入数据位宽为2byte(16bit),写入一个通道数据片包为34×16的二维数组,随后将数组进行一次二维数组转置操作生成16×34的二维数组,对16×34的二维数组的每一行做hamming编码(汉明编码),编码后的数据为16×40的二维数组,再将16×40的二维数组进行一次二维数组转置操作生成40×16的二维数组,最后将40×16的二维数组携带的数据一行一行的依次发出。为了提高编解码的速率,上述实现方式中采用双编/解码任务交错执行的输入输出方式,通道数据片0和通道数据片1依次发送时,先将通道数据片0的数据写入编码的编码任务0,然后对编码任务0的数据编码,当通道数据片0的数据写完后,将通道数据片1数据写入编码任务1继而做数据编码,当编码任务0中通道数据片0编码发出后,再将编码任务1内的数据发出,这样循环执行提高编码效率。需要说明的是,汇聚模块可以使用Converge函数,从而将多个序列合并为一个序列,以将对应的二维数组进行合并。
具体的,基于前述方案,在本申请的一实现方式中,所述接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据,包括:
接收端将接收的第九数组进行二维数组转置操作,得到16×40的二维数组结构的第十数组;对第十数组的每一行做hamming解码并纠错,得到16×34的二维数组结构的第十一数组;将第十一数组进行二维数组转置操作,得到34×16的二维数组结构的第十二数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
接收端的解码过程如图6所示,其解码过程与编码过程基本相同,是编码过程的逆过程,先把接收到编码后的通道数据片0(40×16的二维数组)依次写入解码任务0,然后将40×16的二维数组做一次转置生成16×40的二维数组,对16×40的二维数组做hamming解码,解码过程就是纠错的过程,如果有错误数据位在这个过程纠错,解码后数据变为16×34的二维数组,再做一次二维数组转置还原发送端发出的通道数据片0;编码后的通道数据片1(40x16的二维数组)在通道数据片0写入解码任务0后就开始写入解码任务1,然后类似解码任务0执行。就得到解码后的通道数据片0和通道数据片1。
图7所示的是多通道双任务交错执行编解码过程示意图(其中包括4个通道),数据片对应的34×64的数据组拆分为4个34×16的数组并分4个通道传输,接收端4个通道接收到数组后再合并成34×64的数据。
具体的,双编/解码任务交错执行的时候如图8-9所示,连续数据发送时,先写入一个数据切片包,然后数据切片包分别写入四个数据通道。采用双编码任务交错执行的写入方式,发送端通道切片0写入编码任务0时通道切片1需等待;待通道切片0写入完成后,通道切片1再写入编码任务1;通道切片0写入编码任务0后执行转置、编码、再转置后,数据写出编码任务0;通道切片0数据写出编码任务0后通道切片2开始写入编码任务0;通道切片1写入编码任务1后执行转置、编码、再转置后,数据写出编码任务1;这里写出是数据汇聚的过程,需要通道切片0写出编码任务0以后,通道切片1再写出编码任务1;通道切片1写出编码任务1以后,通道切片3写入编码任务1;随后通道切片2和通道切片3在各自编码任务执行转置、编码、再转置后依次输出。
数据接收过程是数据发送过程的逆过程。接收端如图9所示,连续数据接收时,第一个接收到的通道切片0写入解码任务0,通道切片0写入解码任务0后第二个接收到通道切片1写入解码任务1;通道切片0写入解码任务0后执行转置、解码纠错、再转置后,数据写出解码任务0;通道切片0数据写出解码任务0后,接收到的通道切片2开始写入解码任务0;通道切片1写入解码任务1后执行转置、解码纠错、再转置后,数据写出解码任务1;这里写出是数据汇聚的过程,需要通道切片0写出解码任务0以后,通道切片1再写出解码任务1;通道切片1写出解码任务1以后,通道切片3写入解码任务1;随后通道切片2和通道切片3在各自解码任务执行转置、解码纠错、再转置后依次输出。
在每个编解码任务中只有前一个通道切片数据包完全写出,后一个通道切片数据包才能写入。
需要说明是,图8-9中的虚线是时钟同步线,另外,发送端因为编码增加了冗余数据,所以发送端写出时间比写入时间长,接收端因为解码去掉了冗余数据,所以接收端写出时间比写入时间短。
为了让本领域技术人员更直观的理解本申请,这里将以一个具体的示例加以说明。在一个实施例的具体示例中,如图10所示,发送的原始数据包含数据包头和256byte的数据,其中地址8的数据是二进制”16‘b1111111111111111”,随后数据编码并发送。在数据传输过程中数据出错,地址8的数据变成二进制”16‘b0000000000000000”其他数据和编码信息均没有出错。在解码过程中,根据接收到的数据和编码信息准确定位到数据出错的数据位,并对出错数据位纠错,成功将数据恢复为原始数据,地址8的数据仍然是二进制”16‘b1111111111111111”。单个通道可以纠错16bit,此方案有四个通道,每个切片数据包传输最多可纠错64bit数据。
实施例2
请参阅图11,本申请实施例提供了一种基于纵向编码纠错的通信系统,其包括:
数据获取模块1,被配置为:获取第一数据。数据发送模块2,被配置为:通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据。数据处理模块3,被配置为:接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
本申请实施例还提供了一种基于纵向编码纠错的通信系统,其包括:
获取模块,被配置为:获取第一数据;所述第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组。发送模块,被配置为:将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,所述第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一所述数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组。处理模块,被配置为:接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
上述系统具体实现过程请参照实施例1中提供的一种基于纵向编码纠错的通信方法,在此不再赘述。
实施例3
请参阅图12,本申请实施例提供了一种电子设备,该电子设备包括至少一个处理器4、至少一个存储器5和数据总线6;其中:处理器4与存储器5通过数据总线6完成相互间的通信;存储器5存储有可被处理器4执行的程序指令,处理器4调用程序指令以执行一种基于纵向编码纠错的通信方法。例如实现:
获取第一数据。通过多个传输通道并行发送第二数据;该第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据。接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
或者实现:
获取第一数据;该第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组。将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,该第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一该数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组。接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
其中,存储器5可以是但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
处理器4可以是一种集成电路芯片,具有信号处理能力。该处理器4可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
可以理解,图12所示的结构仅为示意,电子设备还可包括比图12中所示更多或者更少的组件,或者具有与图12所示不同的配置。图12中所示的各组件可以采用硬件、软件或其组合实现。
实施例4
本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器4执行时实现一种基于纵向编码纠错的通信方法。例如实现:
获取第一数据。通过多个传输通道并行发送第二数据;该第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据。接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
或者实现:
获取第一数据;该第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组。将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,该第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一该数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组。接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
上述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种基于纵向编码纠错的通信方法,其特征在于,包括以下步骤:
获取第一数据;
通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道的数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据;
接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
2.如权利要求1所述的一种基于纵向编码纠错的通信方法,其特征在于,所述通过多个通道并行发送第二数据,包括:
将写入一个传输通道的通道切片包进行二维数组转置操作,得到第一数组;
对所述第一数组的每一行做hamming编码,得到第二数组;
将第二数组进行二维数组转置操作,得到第三数组,以将第三数组携带的数据一行一行的依次发出。
3.如权利要求2所述的一种基于纵向编码纠错的通信方法,其特征在于,所述接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据,包括:
接收端将接收的第三数组进行二维数组转置操作,得到第四数组;
对第四数组的每一行做hamming解码并纠错,得到第五数组;
将第五数组进行二维数组转置操作,得到第六数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
4.如权利要求1-3任一项所述的一种基于纵向编码纠错的通信方法,其特征在于,在通过多个传输通道并行发送第二数据时采用双编码任务交错执行的输入输出方式,对同一通道内的数据切片包进行编码及发出处理;在接收端根据接收的第二数据,对第二数据进行解码和纠错时,采用双解码任务交错执行的输入输出方式,对同一通道内的数据切片包进行解码及发出处理。
5.一种基于纵向编码纠错的通信方法,其特征在于,包括以下步骤:
获取第一数据;所述第一数据是由16byte的包头和256byte的数据组成的34×64的二维数组;
将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据;其中,所述第二数据是将数据切片包拆分为4个通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据,任一所述数据切片包均为34×64的二维数组,任一通道切片包均为34×16的二维数组;
接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据。
6.如权利要求5所述的一种基于纵向编码纠错的通信方法,其特征在于,所述将数据切片包分为4个通道数据片,以通过4个传输通道并行发送第二数据,包括:
将通道切片包进行二维数组转置操作,得到16×34的二维数组结构的第七数组;
对所述第七数组的每一行做hamming编码,得到16×40的二维数组结构的第八数组;
将第八数组进行二维数组转置操作,得到40×16的二维数组结构的第九数组,并将第九数组携带的数据一行一行的依次发出。
7.如权利要求6所述的一种基于纵向编码纠错的通信方法,其特征在于,所述接收端以4个接收通道接收通道切片包,并对接收的通道切片包进行解码和纠错,以检测和纠正传输中的错误,以将其合并成对应的数据切片包,以将接收的通道切片包恢复为第一数据对应的原始数据,包括:
接收端将接收的第九数组进行二维数组转置操作,得到16×40的二维数组结构的第十数组;
对第十数组的每一行做hamming解码并纠错,得到16×34的二维数组结构的第十一数组;
将第十一数组进行二维数组转置操作,得到34×16的二维数组结构的第十二数组,用以将接收的第二数据恢复为第一数据对应的原始数据。
8.一种基于纵向编码纠错的通信系统,其特征在于,包括:
数据获取模块,被配置为:获取第一数据;
数据发送模块,被配置为:通过多个传输通道并行发送第二数据;所述第二数据是将数据切片包拆分为与传输通道数量匹配的通道切片包的基础上,对第一数据进行纵向纠错编码后得到的数据;
数据处理模块,被配置为:接收端根据接收的第二数据,对第二数据进行解码和纠错,以检测和纠正传输中的错误,并将接收的第二数据恢复为第一数据对应的原始数据。
9.一种电子设备,其特征在于,包括至少一个处理器、至少一个存储器和数据总线;其中:所述处理器与所述存储器通过所述数据总线完成相互间的通信;所述存储器存储有被所述处理器执行的程序指令,所述处理器调用所述程序指令以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667098.1A CN117650870B (zh) | 2023-12-06 | 2023-12-06 | 一种基于纵向编码纠错的通信方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311667098.1A CN117650870B (zh) | 2023-12-06 | 2023-12-06 | 一种基于纵向编码纠错的通信方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117650870A true CN117650870A (zh) | 2024-03-05 |
CN117650870B CN117650870B (zh) | 2024-07-23 |
Family
ID=90047486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311667098.1A Active CN117650870B (zh) | 2023-12-06 | 2023-12-06 | 一种基于纵向编码纠错的通信方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117650870B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08279799A (ja) * | 1995-04-08 | 1996-10-22 | Nec Corp | 並列データ伝送装置 |
WO2001069797A2 (en) * | 2000-03-14 | 2001-09-20 | Advanced Hardware Architectures, Inc. | Enhanced turbo product codes |
JP2006135584A (ja) * | 2004-11-05 | 2006-05-25 | Sharp Corp | データ伝送システム |
CN101064162A (zh) * | 2006-04-28 | 2007-10-31 | 富士通株式会社 | 纠错装置、编码器、解码器、方法以及信息存储装置 |
CN103023518A (zh) * | 2012-12-26 | 2013-04-03 | 中国科学院微电子研究所 | 一种基于并行编码译码的循环汉明码的纠错方法 |
TW201640847A (zh) * | 2015-05-12 | 2016-11-16 | Red Sunrise Co Ltd | 提升資料正確性之音訊傳輸系統及其資料處理方法 |
WO2017211154A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 前向纠错反馈信息传输方法、装置、设备、存储介质 |
EP3293908A1 (en) * | 2016-08-29 | 2018-03-14 | Huawei Technologies Co., Ltd. | Method for compensating bit error after forward error correction, coding processing apparatus, and decoding processing apparatus |
CN109831397A (zh) * | 2017-11-23 | 2019-05-31 | 深圳超级数据链技术有限公司 | 重叠复用系统及其处理方法和装置、存储介质、处理器 |
CN110198199A (zh) * | 2018-02-24 | 2019-09-03 | 深圳超级数据链技术有限公司 | 重叠复用系统及其处理方法和装置、存储介质、处理器 |
CN111211793A (zh) * | 2020-02-10 | 2020-05-29 | 成都烨软科技有限公司 | 一种基于汉明码并行tpc编码方法及其装置 |
US20210320673A1 (en) * | 2020-04-08 | 2021-10-14 | SK Hynix Inc. | Error correction circuit and operating method thereof |
CN116318440A (zh) * | 2023-03-02 | 2023-06-23 | 深圳市紫光同创电子有限公司 | 数据流检错与纠错的验证方法、装置、设备和存储介质 |
-
2023
- 2023-12-06 CN CN202311667098.1A patent/CN117650870B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08279799A (ja) * | 1995-04-08 | 1996-10-22 | Nec Corp | 並列データ伝送装置 |
WO2001069797A2 (en) * | 2000-03-14 | 2001-09-20 | Advanced Hardware Architectures, Inc. | Enhanced turbo product codes |
JP2006135584A (ja) * | 2004-11-05 | 2006-05-25 | Sharp Corp | データ伝送システム |
CN101064162A (zh) * | 2006-04-28 | 2007-10-31 | 富士通株式会社 | 纠错装置、编码器、解码器、方法以及信息存储装置 |
CN103023518A (zh) * | 2012-12-26 | 2013-04-03 | 中国科学院微电子研究所 | 一种基于并行编码译码的循环汉明码的纠错方法 |
TW201640847A (zh) * | 2015-05-12 | 2016-11-16 | Red Sunrise Co Ltd | 提升資料正確性之音訊傳輸系統及其資料處理方法 |
WO2017211154A1 (zh) * | 2016-06-07 | 2017-12-14 | 中兴通讯股份有限公司 | 前向纠错反馈信息传输方法、装置、设备、存储介质 |
EP3293908A1 (en) * | 2016-08-29 | 2018-03-14 | Huawei Technologies Co., Ltd. | Method for compensating bit error after forward error correction, coding processing apparatus, and decoding processing apparatus |
CN109831397A (zh) * | 2017-11-23 | 2019-05-31 | 深圳超级数据链技术有限公司 | 重叠复用系统及其处理方法和装置、存储介质、处理器 |
CN110198199A (zh) * | 2018-02-24 | 2019-09-03 | 深圳超级数据链技术有限公司 | 重叠复用系统及其处理方法和装置、存储介质、处理器 |
CN111211793A (zh) * | 2020-02-10 | 2020-05-29 | 成都烨软科技有限公司 | 一种基于汉明码并行tpc编码方法及其装置 |
US20210320673A1 (en) * | 2020-04-08 | 2021-10-14 | SK Hynix Inc. | Error correction circuit and operating method thereof |
CN116318440A (zh) * | 2023-03-02 | 2023-06-23 | 深圳市紫光同创电子有限公司 | 数据流检错与纠错的验证方法、装置、设备和存储介质 |
Non-Patent Citations (5)
Title |
---|
CAN ZHANG: "Fast SD-Hamming Decoding in FPGA for High-Speed Concatenated FEC for Optical Communication", 《IEEE》, 25 January 2021 (2021-01-25) * |
PHILIAI: "汉明码(Hamming Code)原理及实现 - PhiliAI - 博客园 (cnblogs.com)", Retrieved from the Internet <URL:https://www.cnblogs.com/Philip-Tell-Truth/p/6669854.html> * |
张虹霞;严云富;: "无源光接入网络中前向纠错编码技术", 激光杂志, no. 10, 25 October 2017 (2017-10-25) * |
敬龙江: "基于LDPC码的单载波频域均衡系统", 《电子与信息学报》, vol. 30, no. 4, 30 April 2008 (2008-04-30) * |
胡迪青, 谢长生: "体全息存储中二维交错编码技术的研究及实现", 光子学报, no. 07, 25 July 2003 (2003-07-25) * |
Also Published As
Publication number | Publication date |
---|---|
CN117650870B (zh) | 2024-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7831896B2 (en) | Iterative forward error correction | |
CN101425871B (zh) | 多元纠错码发射接收装置及数据传输系统以及相关方法 | |
US20030188253A1 (en) | Method for iterative hard-decision forward error correction decoding | |
US8397140B2 (en) | Error correction coding for recovering multiple packets in a group view of limited bandwidth | |
US9444494B2 (en) | Systems and methods for network coding using convolutional codes | |
CN113541856A (zh) | 数据恢复方法及装置 | |
US20240235728A1 (en) | Multi-wire permuted forward error correction | |
CN101686104B (zh) | 一种前向纠错的编解码的方法、装置和系统 | |
WO2023116245A1 (zh) | 发送方法、接收方法、装置、系统、设备及存储介质 | |
Luyi et al. | Forward error correction | |
US11128320B2 (en) | Encoding method, decoding method, encoding apparatus, and decoding apparatus | |
CN110830171B (zh) | 接收数据的方法及设备,以及发送数据的方法及设备 | |
CN117650870B (zh) | 一种基于纵向编码纠错的通信方法、系统、设备及介质 | |
TWI520528B (zh) | 增壓碼 | |
US20220286145A1 (en) | Pipelined forward error correction for vector signaling code channel | |
CN108199720B (zh) | 一种减小存储开销和提高修复效率的节点修复方法及系统 | |
CN109412746B (zh) | 数据处理的方法和相关装置 | |
WO2018228391A1 (zh) | 一种极化码的交织处理方法及装置 | |
CN112534724A (zh) | 用于解码极化码和乘积码的解码器和方法 | |
WO2024092437A1 (zh) | 一种数据传输方法、装置和系统 | |
CN117240401A (zh) | 编码传输方法、解码方法和通信装置 | |
CN116980073A (zh) | 一种信号处理方法及装置 | |
CN117811590A (zh) | 数据编码纠错方法、装置及相关设备 | |
CN115276897A (zh) | 数据生成方法、数据解读方法以及相关设备 | |
CN116685952A (zh) | 一种数据传输方法和装置 |
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 |