CN115118388A - 一种多通道的复用fec编解码方法及装置 - Google Patents
一种多通道的复用fec编解码方法及装置 Download PDFInfo
- Publication number
- CN115118388A CN115118388A CN202210734824.6A CN202210734824A CN115118388A CN 115118388 A CN115118388 A CN 115118388A CN 202210734824 A CN202210734824 A CN 202210734824A CN 115118388 A CN115118388 A CN 115118388A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- decoding
- fec
- channel
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000010354 integration Effects 0.000 claims abstract description 9
- 230000000903 blocking effect Effects 0.000 claims abstract description 8
- 238000006243 chemical reaction Methods 0.000 claims abstract description 7
- 238000004364 calculation method Methods 0.000 claims description 125
- 238000012937 correction Methods 0.000 claims description 58
- 208000011580 syndromic disease Diseases 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000007493 shaping process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种多通道的复用FEC编解码方法,包括:对从N个通道接收的待编解码数据进行时钟调整和数据分块转换成时钟统一和位宽一致的数据块序列;将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列,在整合中,使单个时钟周期内N个通道中仅有一个有效数据块;将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码,输出FEC编解码后的数据块;根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。本发明复用同一套编解码电路,有效的减小了编解码电路资源消耗,降低了电路功耗及电路面积。
Description
技术领域
本发明属于编解码技术领域,具体涉及一种多通道的复用FEC编解码方法及装置。
背景技术
在通信中,由于信号在实际信道中传输总会产生畸变和非等时延长,导致实际接收信号与原发送信号发生差异,并最终反映为系统中的误码。为降低信道非线性因素带来的影响,尽可能降低误码率,除了合理选择调制解调,均衡交织等信号处理方式之外,还能够采用纠错编码方式来降低系统的误码率。通过在数据码流中插入一些冗余数据来对有效信息序列进行一定的保护,使其具有检错或者纠错的能力。
在目前纠错检错进行差错控制的方法中,前向纠错(FEC,Forward ErrorCorrection)由于良好的实时性得到了广泛应用。前向纠错不仅能够在收到的信息中发现错码,还能够根据相应的信息对错码进行纠正,提高了信号传输的可靠性。
前向纠错码中,线性分组码是重要的一种码型,而Reed-Solomon码是线性分组码中一类具有较强纠错能力的多进制BCH码。常用RS(n,k,m)来表示不同纠错能力及不同码长,其中,码长为n,信息位长k,字符长m比特位。相应的RS校验位长2t=n-k,最大纠错个数为t。
由于RS编码在同样编码冗余度下有最强的纠错能力,因此,RS码被广泛用于各种通信领域。尤其是在以太网通信传输中,在25Gbps传输速率以上,802.3协议中均指定了使用RS码作为纠错码用于保证通信质量。
随着时代的发展,混合带宽业务系统逐渐被广泛应用。混合带宽业务系统是指在总带宽不变的情况下,系统能尽可能实现多种带宽之间的组合来支持多业务的支持。例如,在400G总带宽不变情况下,系统即能够支持4个100G带宽的业务也能够支持8个50G带宽的业务。
在混合带宽业务系统中,如果每个业务均需要RS编解码参与且最大支持N个业务,那么该系统需要N套RS编解码系统。由于RS编解码系统相对占用硬件资源较多(面积/功耗),传统的RS编解码系统存在硬件资源占用大,使用灵活度低以及功耗过高的诸多问题。
发明内容
鉴于上述的分析,本发明旨在公开了一种多通道的复用FEC编解码方法及装置,来实现支持多业务混合带宽通道不同速率的RSFEC编解码需求。
本发明公开了一种多通道的复用FEC编解码方法,包括以下步骤:
接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;
进行时钟调整和数据分块,将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列,在整合中,使单个时钟周期内N个通道中仅有一个有效数据块;
将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码处理,输出FEC编解码后的数据块;
根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
进一步地,N个通道的数据带宽之和小于或等于FEC编/解码单元的最大带宽;
在数据分块中,将各通道中的基本编解码数据单元codeword分割成由整数个数据块组成的数据块序列。
进一步地,所述FEC编解码中采用位宽固定的FEC编码单元;在编码处理时,对编解码数据通路中的按时间先后顺序进入的待编码的数据块序列逐个数据块进行FEC编码计算;并将每个数据块FEC编码计算的中间结果缓存到与通道号对应的编码中间结果缓存区中;
其中,FEC编码过程包括:
根据进行FEC编码的当前数据块的通道号i,从与所述通道号i对应的编码中间结果缓存区中取出该通道编码的中间结果;如果所述数据块是其所在通道基本编码数据单元codeword的第一个数据块,则将0作为中间结果;
根据当前数据块及取出的中间结果在FEC编码单元中进行FEC编码得到当前FEC编码的中间结果;并将所述中间结果缓存在与通道号i对应的编码中间结果缓存区中;
对所述数据块序列中的逐个数据块进行FEC编码计算,直到当前数据块为所在通道基本编码数据单元codeword的最后一个数据块,则将FEC编码得到当前FEC编码的中间结果作为该基本编码数据单元codeword的编码结果进行输出。
进一步地,通道基本编码数据单元codeword的最后一个有效数据块的长度与校验数据的长度之和不大于FEC编码的位宽时,则将所述校验数据和最后一个有效数据拼接为一个FEC编码位宽数据块,在同一时钟周期输出;否则,将校验数据分成两段,第一段校验数据跟随最后一个有效数据块组成长度为FEC编码位宽的数据块,在同一时钟周期输出;第二段校验数据在下一个或几个时钟周期输出直到校验数据输出完毕。
进一步地,所述FEC编解码中采用位宽固定的FEC解码单元;在解码处理时,对编解码数据通路中的按时间的先后顺序进入的待解码的数据块序列,逐块进行FEC解码;
其中,FEC解码过程包括:
1)进行FEC解码的伴随式计算;
依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
2)进行错误值和错误位置计算;
根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
3)进行纠错计算;
根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
进一步地,所述FEC解码过程的伴随式计算过程包括:
根据当前待编码数据块通道号i,先判断当前数据块是否是codeword的第一笔数据,如果是,则伴随式计算所输入的中间结果为0;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
根据当前待解码数据块及中间结果输入,得到计算结果;同时将该待解码数据块及通道号同时存入待纠错存储序列中;
如果当前待解码数据块是codeword最后一个数据块,那么计算结果作为最终伴随式计算单元结果进行输出;如果当前待解码数据块不是codeword最后一个数据块,则将该计算结果作为中间结果存入当前通道号的中间结果缓存中。
进一步地,所述FEC解码过程的纠错计算过程包括:
根据错误值和错误位置计算所述输出的“错误值和错误位置”及通道号,从纠错存储序列中找到该通道的第一个待纠错的数据块,并根据该“错误值和错误位置”计算出纠错计算单元中间结果初值;
先判断当前数据块是否是codeword的第一笔数据,如果是,则纠错计算的中间结果输入为纠错计算单元中间结果初值;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
根据当前待纠错数据块及中间结果输入,得到纠错计算结果,即纠错过后的数据块,将该结果同通道号一并输出。
本发明还公开了一种多通道的复用FEC编解码装置,包括:
数据接收单元,用于接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;
时钟调整和数据分块单元,用于将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
整合单元,用于将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列;使单个时钟周期内N个通道中仅有一个有效数据块;
FEC编解码单元,用于将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码处理后,输出FEC编解码后的数据块;
数据分发输出单元,用于根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
进一步地,所述FEC编解码单元包括FEC编码单元;
所述FEC编码单元包括FEC编码模块和编码结果缓存区;
所述编码结果缓存区中包括与通道号对应的中间结果缓存区域;
所述FEC编码单元,对编解码数据通路中的按时间先后顺序进入的逐个数据块进行FEC编码;并根据数据块的通道号,将每个数据块FEC编码的中间结果缓存到与通道号对应的编码中间结果缓存区域中。
进一步地,所述FEC编解码单元包括FEC解码单元;所述FEC编解码单元包括伴随式计算模块、错误值和错误位置计算模块和纠错计算模块;
伴随式计算模块,用于依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
错误值和错误位置计算模块,用于根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
纠错计算模块,用于根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
本发明至少可实现以下有益效果之一:
本发明公开的多通道的复用FEC编解码方法及装置,通过对接收的N个通道数据进行整形、编号后时分复用地使用一个FEC模块进行编解码操作,使各通道复用同一套编解码电路,有效的减小了编解码电路资源消耗,降低了电路功耗及电路面积。尤其对于低速多通道应用场景,通道数越多,资源节省效果越明显。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中的多通道的复用FEC编解码方法流程图;
图2为本发明实施例中的为数据整形信号时序图;
图3为本发明实施例中的FEC编码过程示意图;
图4为本发明实施例中的FEC解码过程示意图;
图5为本发明实施例中的多通道的复用FEC编解码装置组成连接示意图;
图6为本发明实施例中的FEC编码单元组成连接示意图;
图7为本发明实施例中的FEC解码单元组成连接示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明的一个实施例公开了一种多通道的复用FEC编解码方法,如图1所示,包括以下步骤:
步骤S1、接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;不同通道的待编解码数据的时钟和位宽可以不同。
步骤S2、对所述待解码数据进行时钟调整和数据分块,将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
步骤S3、将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列,在整合中,使单个时钟周期内N个通道中仅有一个有效数据块;
具体的,判断N个通道的数据块序列中,在单个时钟周期内是否仅有一个有效数据块;否,则调整各通道数据块序列的有效时间,使单个时钟周期内N个通道中仅有一个有效数据块;
步骤S4、将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码,输出FEC编解码后的数据块;
具体的,本实施例中在编解码数据通路中采用同一套编解码电路进行FEC编解码;其中,步骤S1中接收的N个通道的待编解码数据为待编码数据时,进行FEC编码;N个通道的待编解码数据为待解码数据时,进行FEC解码;
步骤S5、根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
具体的,在步骤S1中,根据混合带宽业务系统中的业务数量及同时需要工作的业务类型确定最大带宽和通道数N;
各个通道的数据带宽之和小于或等于FEC编解码的最大带宽。
FEC编解码的最大带宽为Max_G,各个通道所支持的最小数据传输带宽为Min_G,最大可支持通道数为M=Max_G/Min_G;那么,在M个时钟周期内,各个通道输入的待编解码数据个数最大为M。
根据混合带宽业务系统是编码或解码,确定接收到N路通道的待编解码数据为混合带宽的N路通道的待编码数据或混合带宽的N路通道的待解码数据。
例如,FEC编解码的最大带宽为200Gbps,混合带宽业务系统中需要支持的各通道带宽为25G/50G/100G/200G等。那么该FEC编解码最大能够支持8x25G、4x50G、2x100G、1x200G以及100G+50G+2x25G等不同的组合,只要所有通道数据传输的总带宽,小于或等于该FEC编解码模块的最大带宽,那么都能够通过一个FEC编解码模块灵活地完成编解码操作,且该方法可以适用于非满带宽的情况。上例中最大带宽为200G的FEC编解码模块可以支持(1~8)x25G、(1~4)x50G、(1~2)x100G以及所有100G、50G、25G的混合模式。
在步骤S2中,可以根据FEC编解码的最大带宽决定数据分块的时钟和位宽,在数据分块中,将各通道中的基本编解码数据单元codeword分割成由整数个数据块组成的数据块序列。
例如FEC编解码的编解码电路能支持的最大数据带宽为200Gbps,那么所给定的位宽和时钟要能够满足最大数据带宽。一个可参考的数值为位宽为160bit,时钟频率为1GHz。
在步骤S3的数据整合中,将N个通道的数据块序列,根据输入通道的带宽及通道号,将不同通道的数据块序列输入时间调整到不同的时钟周期内;N个通道在X个时钟周期内输入L个数据块,L小于或等于X;将L个数据块调整到不同的时钟周期输入,保证在单个时钟周期内N个通道中仅有一个数据块有效;如果N个通道的待编解码数据均在不同的时钟周期内有效,直接整合进行输出。
如图2所示,混合带宽业务系统中需要支持4个通道的带宽为通道0:100G;通道1:25G;通道2:50G;通道3:25G。在整形前,在cyc7通道0和通道3同时有效。通过整形后,使各通道在单个时钟周期内仅有一笔数有效。将4个通道的数据整合后输入到编解码数据通路中。
在步骤S4中,将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码,输出的FEC编解码后的数据块;
具体的,本实施例中FEC编解码采用RSFEC编解码;其中各通道中的一个基本编解码数据单元codeword分块后,包含n个数据块,每个数据块的bit数为m,其中原始需要加密的数据为k个数据块,校验数据为2t个数据块。
在一个codeword在进入RSFEC编解码单元进行编解码操作时,每时钟周期内传输的数据位宽受时钟频率和所需要支持的最大带宽影响。根据时钟频率和RSFEC编解码单元所需要支持的最大带宽,可以得出每拍输入数据的位宽h。那么一个codeword要完整传输给RSFEC编解码单元,需要C=n*m/h个时钟周期。一般情况下,n*m/h是整数,但在没有加上校验数据时,k*m/h可能存在余数,那个一个codeword的结尾一笔数据会小于h。这种情况下,非有效位置补零,组成h bit位宽的待编解码数据。
其中,N个通道的待编解码数据为待编码数据时,采用编码单元进行FEC编码;N个通道的待编解码数据为待解码数据时,采用解码单元进行FEC解码;编码和解码各自采用独立的编解码过程。
在步骤S4中根据编解码任务对待编码数据,所述FEC编解码中采用位宽固定的FEC编码单元,对编解码数据通路中的按时间先后顺序进入的待编码的数据块序列逐个数据块进行FEC编码;并将每个数据块FEC编码的中间结果缓存到与通道号对应的编码中间结果缓存区中;
其中,FEC编码过程,如图3所示,包括:
1)根据进行FEC编码的当前数据块的通道号i,从与所述通道号i对应的编码中间结果缓存区中取出该通道编码的中间结果;如果所述数据块是其所在通道基本编码数据单元codeword的第一个数据块,则将0作为中间结果;
2)根据当前数据块及取出的中间结果在FEC编码单元中进行FEC编码得到当前FEC编码的中间结果;并将所述中间结果缓存在与通道号i对应的编码中间结果缓存区中;
3)对所述数据块序列中的逐个数据块进行FEC编码,直到当前数据块为所在通道基本编码数据单元codeword的最后一个数据块,则将FEC编码得到当前FEC编码的中间结果作为该基本编码数据单元codeword的最终编码结果进行输出。
在步骤3)中,若最后一笔待编码数据长度与校验数据的长度之和不大于FEC编解码的位宽;则将所述校验数据和最后一笔待编码数据进行拼接,在同一时钟周期输出;否则,将跟随在最后一笔待编码数据之后的校验数据分成两段,第一段校验数据和最后一笔待编码数据组成长度为一个位宽长度的数据,在同一时钟周期输出,第二段校验数据在下一个或几个时钟周期输出直到校验数据输出完毕。
即,计算得到的校验数据2t*m bit数据跟在最后一笔待编码数据的有效载荷后输出。若最后一笔待编码数据长度为h,但有效数据为j(j<h),那么校验数据直接和有效数据进行拼接输出。若2t*m大于(h-j),那么在下一拍继续输出校验数据。
具体的,在步骤S4中根据编解码任务对待解码数据,所述FEC编解码中采用位宽固定的FEC解码单元,对编解码数据通路中的按时间的先后顺序进入的待解码的数据块序列,逐块进行FEC解码;
其中,FEC解码过程,如图4所示,包括:
其中,FEC解码过程包括:
1)进行FEC解码的伴随式计算;
依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
所述伴随式计算的计算方法根据RSFEC解码算法决定,可从现有的伴随式计算方法中选取合适的方法,在此不影响本发明所涵盖的范围。
2)进行错误值和错误位置计算;
根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
3)进行纠错计算;
根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
具体的,在进行FEC解码的伴随式计算过程中包括;
A)根据当前待编码数据块通道号i,先判断当前数据块是否是codeword的第一笔数据,如果是,则伴随式计算所输入的中间结果为0;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
B)根据当前待解码数据块及中间结果输入,得到计算结果;同时将该待解码数据块及通道号同时存入待纠错存储序列中;
C)如果当前待解码数据块是codeword最后一个数据块,那么计算结果作为最终伴随式计算单元结果进行输出;如果当前待解码数据块不是codeword最后一个数据块,则将该计算结果作为中间结果存入当前通道号的中间结果缓存中。
具体的,在进行错误值和错误位置计算过程中包括:
A)根据上一级输出的伴随式结果及通道号i,单独分配一个独立的“错误值和错误位置计算单元”用于计算错误值和错误位置;
B)各个“错误值和错误位置计算单元”内部进行循环计算;
循环计算次数是由RSFEC解码算法决定的。例如,对于RS(544,514),最多要进行31次循环计算,对于RS(528,514),最多需要进行15次循环计算。
C)待计算完成后,依次输出相应的结果及通道号。
具体的,在进行纠错计算过程中包括:
A)根据错误值和错误位置计算所述输出的“错误值和错误位置”及通道号,从纠错存储序列中找到该通道的第一个待纠错的数据块,并根据该“错误值和错误位置”计算出纠错计算单元中间结果初值;
B)先判断当前数据块是否是codeword的第一笔数据,如果是,则纠错计算的中间结果输入为纠错计算单元中间结果初值;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
C)根据当前待纠错数据块及中间结果输入,得到纠错计算结果,即纠错过后的数据块,将该结果同通道号一并输出。
综上所述,本实施例中的多通道的复用FEC编解码方法,通过对接收的N个通道数据进行整形、编号后时分复用地使用FEC模块进行编解码操作,使各通道复用同一套编解码电路,有效的减小了编解码电路资源消耗,降低了电路功耗和电路面积。尤其对于低速多通道应用场景,通道数越多,资源节省效果越明显。
本发明的另一个实施例公开了一种多通道的复用FEC编解码装置,如图5所示,包括:
数据接收单元,用于接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;
时钟调整和数据分块单元,用于将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
整合单元,用于将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列;使单个时钟周期内N个通道中仅有一个有效数据块;
FEC编解码单元,用于将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码,输出的FEC编解码后的数据块;
数据分发输出单元,用于根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
具体的,所述整形单元中通道数N的取值满足:N个通道的数据带宽之和小于或等于FEC编解码单元的最大带宽。
具体的,时钟调整和数据分块单元,将各通道中的基本编解码数据单元codeword分割成由整数个的数据块组成的数据块序列。在数据分块中,根据FEC编解码的最大带宽决定数据分块的时钟和位宽。
具体的,整合单元,将N个通道的数据块序列,根据输入通道的带宽及通道号,将不同通道的数据块序列输入时间调整到不同的时钟周期内;N个通道在X个时钟周期内输入L个数据块,L小于或等于X;将L个数据块调整到不同的时钟周期输入,保证在单个时钟周期内N个通道中仅有一个数据块有效;如果N个通道的待编解码数据均在不同的时钟周期内有效,直接整合进行输出。
具体的,所述FEC编解码单元包括FEC编码单元;
如图6所示,所述FEC编码单元包括FEC编码模块和编码结果缓存区;
所述编码结果缓存区中包括与通道号对应的中间结果缓存区域;
所述FEC编码单元,对编解码数据通路中的按时间先后顺序进入的逐个数据块进行FEC编码;并根据数据块的通道号,将每个数据块FEC编码的中间结果缓存到与通道号对应的编码中间结果缓存区中;
在FEC编码过程包括:
根据进行FEC编码的当前数据块的通道号i,从与所述通道号i对应的编码中间结果缓存区域中取出该通道编码的中间结果;如果所述数据块是其所在通道基本编码数据单元codeword的第一个数据块,则将0作为中间结果;
根据当前数据块及取出的中间结果在FEC编码模块中进行FEC编码得到当前FEC编码的中间结果;并将所述中间结果缓存在与通道号i对应的编码中间结果缓存区域中;
当进行FEC编码的当前数据块为所在通道基本编码数据单元codeword的最后一个数据块时,则将FEC编码得到当前FEC编码的中间结果作为该基本编码数据单元codeword的最终编码结果进行输出。
所述FEC编解码单元包括FEC解码单元;
如图7所示,所述FEC编解码单元包括伴随式计算模块、错误值和错误位置计算模块和纠错计算模块;
伴随式计算模块,用于依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
具体的,在进行伴随式计算过程中包括;
A)根据当前待编码数据块通道号i,先判断当前数据块是否是codeword的第一笔数据,如果是,则伴随式计算所输入的中间结果为0;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
B)根据当前待解码数据块及中间结果输入,得到计算结果;同时将该待解码数据块及通道号同时存入待纠错存储序列中;
C)如果当前待解码数据块是codeword最后一个数据块,那么计算结果作为最终伴随式计算单元结果进行输出;如果当前待解码数据块不是codeword最后一个数据块,则将该计算结果作为中间结果存入当前通道号的中间结果缓存中。
错误值和错误位置计算模块,用于根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
具体的,在进行错误值和错误位置计算过程中包括:
A)根据上一级输出的伴随式结果及通道号i,单独分配一个独立的“错误值和错误位置计算单元”用于计算错误值和错误位置;
B)各个“错误值和错误位置计算单元”内部进行循环计算;
循环计算次数是由RSFEC解码算法决定的。例如,对于RS(544,514),最多需要进行31次循环计算,对于RS(528,514),最多需要进行15次循环计算。
C)待计算完成后,依次输出相应的结果及通道号。
纠错计算模块,用于根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
具体的,在进行纠错计算过程中包括:
A)根据错误值和错误位置计算所述输出的“错误值和错误位置”及通道号,从纠错存储序列中找到该通道的第一个待纠错的数据块,并根据该“错误值和错误位置”计算出纠错计算单元中间结果初值;
B)先判断当前数据块是否是codeword的第一笔数据,如果是,则纠错计算的中间结果输入为纠错计算单元中间结果初值;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
C)根据当前待纠错数据块及中间结果输入,得到纠错计算结果,即纠错过后的数据块,将该结果同通道号一并输出。
本实施例的方案中具体的技术细节和技术效果与上一实施例中相同,请参照上一实施例的具体内容,在此就不一一赘述了。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种多通道的复用FEC编解码方法,其特征在于,包括以下步骤:
接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;
进行时钟调整和数据分块,将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列,在整合中,使单个时钟周期内N个通道中仅有一个有效数据块;
将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码处理,输出FEC编解码后的数据块;
根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
2.根据权利要求1所述的复用FEC编解码方法,其特征在于,
N个通道的数据带宽之和小于或等于FEC编解码单元的最大带宽;
在数据分块中,将各通道中的基本编解码数据单元codeword分割成由整数个数据块组成的数据块序列。
3.根据权利要求1所述的复用FEC编解码方法,其特征在于,
所述FEC编解码中采用位宽固定的FEC编码单元;在编码处理时,对编解码数据通路中的按时间先后顺序进入的待编码的数据块序列逐个数据块进行FEC编码计算;并将每个数据块FEC编码计算的中间结果缓存到与通道号对应的编码中间结果缓存区中;
其中,FEC编码过程包括:
根据进行FEC编码的当前数据块的通道号i,从与所述通道号i对应的编码中间结果缓存区中取出该通道编码的中间结果;如果所述数据块是其所在通道基本编码数据单元codeword的第一个数据块,则将0作为中间结果;
根据当前数据块及取出的中间结果在FEC编码单元中进行FEC编码得到当前FEC编码的中间结果;并将所述中间结果缓存在与通道号i对应的编码中间结果缓存区中;
对所述数据块序列中的逐个数据块进行FEC编码计算,直到当前数据块为所在通道基本编码数据单元codeword的最后一个数据块,则将FEC编码得到当前FEC编码的中间结果作为该基本编码数据单元codeword的编码结果进行输出。
4.根据权利要求3所述的复用FEC编解码方法,其特征在于,
通道基本编码数据单元codeword的最后一个有效数据块的长度与校验数据的长度之和不大于FEC编码的位宽时,则将所述校验数据和最后一个有效数据拼接为一个FEC编码位宽数据块,在同一时钟周期输出;否则,将校验数据分成两段,第一段校验数据跟随最后一个有效数据块组成长度为FEC编码位宽的数据块,在同一时钟周期输出;第二段校验数据依次在下一个或多个时钟周期输出直到校验数据输出完毕。
5.根据权利要求2所述的复用FEC编解码方法,其特征在于,所述FEC编解码中采用位宽固定的FEC解码单元;在解码处理时,对编解码数据通路中的按时间的先后顺序进入的待解码的数据块序列,逐块进行FEC解码;
其中,FEC解码过程包括:
1)进行FEC解码的伴随式计算;
依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
2)进行错误值和错误位置计算;
根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
3)进行纠错计算;
根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
6.根据权利要求2所述的复用FEC编解码方法,其特征在于,
所述FEC解码过程的伴随式计算过程包括:
根据当前待编码数据块通道号i,先判断当前数据块是否是codeword的第一笔数据,如果是,则伴随式计算所输入的中间结果为0;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
根据当前待解码数据块及中间结果输入,得到计算结果;同时将该待解码数据块及通道号同时存入待纠错存储序列中;
如果当前待解码数据块是codeword最后一个数据块,那么计算结果作为最终伴随式计算单元结果进行输出;如果当前待解码数据块不是codeword最后一个数据块,则将该计算结果作为中间结果存入当前通道号的中间结果缓存中。
7.根据权利要求2所述的复用FEC编解码方法,其特征在于,
所述FEC解码过程的纠错计算过程包括:
根据错误值和错误位置计算所述输出的“错误值和错误位置”及通道号,从纠错存储序列中找到该通道的第一个待纠错的数据块,并根据该“错误值和错误位置”计算出纠错计算单元中间结果初值;
先判断当前数据块是否是codeword的第一笔数据,如果是,则纠错计算的中间结果输入为纠错计算单元中间结果初值;如果不是,则需要从中间结果缓存中调取该通道的中间结果作为中间结果输入;
根据当前待纠错数据块及中间结果输入,得到纠错计算结果,即纠错过后的数据块,将该结果同通道号一并输出。
8.一种多通道的复用FEC编解码装置,其特征在于,包括:
数据接收单元,用于接收从N个通道输入的符合各自通道时钟和位宽要求的待编解码数据;
时钟调整和数据分块单元,用于将每个通道中待编解码数据转换成时钟统一和位宽一致的数据块序列;并对每个通道的数据块序列进行通道号标记;
整合单元,用于将N个通道的数据块序列按照时间的先后顺序整合成一个数据块序列;使单个时钟周期内N个通道中仅有一个有效数据块;
FEC编解码单元,用于将整合后的数据块序列输入到编解码数据通路中,依照时间顺序进行FEC编解码处理后,输出FEC编解码后的数据块;
数据分发输出单元,用于根据通道号标记将FEC编解码后的数据块分发到对应通道中,进行时钟及位宽转换,得到符合各自通道时钟和位宽要求的N个通道的编解码数据。
9.根据权利要求8所述的复用FEC编解码装置,其特征在于,
所述FEC编解码单元包括FEC编码单元;
所述FEC编码单元包括FEC编码模块和编码结果缓存区;
所述编码结果缓存区中包括与通道号对应的中间结果缓存区域;
所述FEC编码单元,对编解码数据通路中的按时间先后顺序进入的逐个数据块进行FEC编码;并根据数据块的通道号,将每个数据块FEC编码的中间结果缓存到与通道号对应的编码中间结果缓存区域中。
10.根据权利要求8所述的复用FEC编解码装置,其特征在于,
所述FEC编解码单元包括FEC解码单元;
所述FEC编解码单元包括伴随式计算模块、错误值和错误位置计算模块和纠错计算模块;伴随式计算模块,用于依据待解码的数据块所标记的通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,循环进行伴随式计算,并缓存伴随式计算的数据块、通道号以及伴随式计算的中间结果;
错误值和错误位置计算模块,用于根据伴随式计算输出的伴随式结果及通道号i,对各通道每个基本解码数据单元codeword进行错误值和错误位置计算输出各自的“错误值和错误位置”计算结果及通道号;
纠错计算模块,用于根据各个通道的“错误值和错误位置”及通道号,从所在通道基本解码数据单元codeword的第一个数据块到最后一个数据块,依次循环进行纠错计算,将每次计算结果作为纠错过后的数据块与通道号一同输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734824.6A CN115118388B (zh) | 2022-06-15 | 2022-06-15 | 一种多通道的复用fec编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210734824.6A CN115118388B (zh) | 2022-06-15 | 2022-06-15 | 一种多通道的复用fec编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115118388A true CN115118388A (zh) | 2022-09-27 |
CN115118388B CN115118388B (zh) | 2024-04-23 |
Family
ID=83330390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210734824.6A Active CN115118388B (zh) | 2022-06-15 | 2022-06-15 | 一种多通道的复用fec编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115118388B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103534971A (zh) * | 2013-05-17 | 2014-01-22 | 华为技术有限公司 | 一种fec编解码的数据处理方法和相关装置 |
CN103716115A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 时分复用的fec编码方法及装置 |
CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
CN104184544A (zh) * | 2013-05-24 | 2014-12-03 | 中兴通讯股份有限公司 | 一种解码方法及装置 |
WO2021136046A1 (zh) * | 2019-12-31 | 2021-07-08 | 烽火通信科技股份有限公司 | 一种光互连通信方法及系统 |
-
2022
- 2022-06-15 CN CN202210734824.6A patent/CN115118388B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103716115A (zh) * | 2012-09-28 | 2014-04-09 | 中兴通讯股份有限公司 | 时分复用的fec编码方法及装置 |
CN103534971A (zh) * | 2013-05-17 | 2014-01-22 | 华为技术有限公司 | 一种fec编解码的数据处理方法和相关装置 |
CN104184544A (zh) * | 2013-05-24 | 2014-12-03 | 中兴通讯股份有限公司 | 一种解码方法及装置 |
CN103875205A (zh) * | 2013-09-13 | 2014-06-18 | 华为技术有限公司 | 传输数据的方法和装置 |
WO2021136046A1 (zh) * | 2019-12-31 | 2021-07-08 | 烽火通信科技股份有限公司 | 一种光互连通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115118388B (zh) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10425858B2 (en) | Method for determining transport block size and signal transmission method using the same | |
US6519732B1 (en) | Error-correcting encoding apparatus | |
US6178535B1 (en) | Method for decreasing the frame error rate in data transmission in the form of data frames | |
RU2210185C2 (ru) | Устройство и способ турбокодирования/декодирования для обработки данных кадра в соответствии с качеством обслуживания | |
KR100460814B1 (ko) | 가변레이트무선통신을제공하는방법 | |
US20050246607A1 (en) | Coding device and communication system using the same | |
US20110173511A1 (en) | Method and device for encoding of error correcting codes, and method and device for decoding of error correcting codes | |
US20100125777A1 (en) | Method and apparatus for performing a crc check | |
US8510623B2 (en) | Encoder, transmission device, and encoding process | |
EP0912009A2 (en) | Date rate conversion using repetition codes | |
US6182260B1 (en) | Channel encoding apparatus using single concatenated encoder | |
US6876869B1 (en) | Coding assisting equipment, decoding assisting equipment, radio transmitter, and radio receiver | |
KR20120004662A (ko) | 오류 정정의 병렬 처리를 위한 방송 신호 부호화 및 복호화 방법, 이를 위한 방송 신호 송수신 장치 및 이를 위한 시스템 | |
CN115118388A (zh) | 一种多通道的复用fec编解码方法及装置 | |
US20020031168A1 (en) | Method and apparatus for flexible data rate matching by symbol insertion for a data communication system | |
JP2002503909A (ja) | 直交速度依存型ウォルシ・カバリング・コードを使用する速度決定を実行するための方法および装置 | |
US6411663B1 (en) | Convolutional coder and viterbi decoder | |
KR0142312B1 (ko) | 디지탈전송신호의 자동동기검출시스템 | |
JP2000244460A (ja) | 伝送路誤り符号付加・検出装置 | |
CN114337690A (zh) | 数据译码电路及方法 | |
KR100240868B1 (ko) | 다중비율 전송 시스템 | |
JP2001211087A (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 |