CN109787641B - staircase码的解码方法、装置及存储介质 - Google Patents
staircase码的解码方法、装置及存储介质 Download PDFInfo
- Publication number
- CN109787641B CN109787641B CN201711133350.5A CN201711133350A CN109787641B CN 109787641 B CN109787641 B CN 109787641B CN 201711133350 A CN201711133350 A CN 201711133350A CN 109787641 B CN109787641 B CN 109787641B
- Authority
- CN
- China
- Prior art keywords
- information
- block
- blocks
- decoding
- soft
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 144
- 238000012545 processing Methods 0.000 claims description 49
- 238000012937 correction Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/458—Soft decoding, i.e. using symbol reliability information by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/251—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with block coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/658—Scaling by multiplication or division
-
- 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
-
- 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
- H04L1/0042—Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
-
- 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
- H04L1/0047—Decoding adapted to other signal detection operation
-
- 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
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种staircase码的解码方法,包括:对staircase码中的初始的S个编码块进行软信息更新,并将得到的第一信息块的后S‑T个编码块和T个新增加的编码块进行更新得到第二信息块;对第一信息块头T个编码块和第二信息块的头S‑T个编码块进行解码得到第三信息块;重复执行以下操作:从第二信息块或第三信息块中选取S‑T个信息块,并对选取的S‑T个信息块与T个新增加的编码块一并进行软信息更新,得到S个更新后的信息块,并将S块更新后的信息块作为新的第二信息块;对第三信息块中的第T+1到2T块信息和新的第二信息块中的头S‑T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出。
Description
技术领域
本发明涉及通信领域,尤其涉及一种staircase码的解码方法、装置及存储介质。
背景技术
前向纠错(FEC,Forward Error Correction)是高速数字通信***可靠传输的关键技术,通过在发送端按照一定的编码规则加入一定的冗余,接收端利用解码技术来纠正传输过程中引入的错误。典型的传输***如图1所示,来自发端信源的数据经过编码器处理后,将数据调制为适合传输的信号。这些信号进入信道并受到噪声的干扰,在发端经过解调器、解码器,还原出发端的数据,终于信宿。净编码增益(NCG,Net Coding Gain)是衡量FEC纠错能力的重要指标,NCG越大,表征可以更多地纠正传输过程中引入的错误。换句话说,就是可以提供更可靠的传输或者在更低的***功耗下进行信号传输。
香农在1948年发表一篇差错控制领域具有里程牌意义的论文,证明了只要信息传输速率低于信道容量,通过对信息进行适当的编码,可以在不牺牲信息传输速率的情况下,将有噪信道引入的差错减到任意低的程度。自从香农的著作发表以来,科学工作者们为了在噪声环境下控制差错而在设计有效的编译码方法方面做了大量卓有成效的工作。从以汉明码、BCH(Bose、Ray-Chaudhuri及Hocquenghem的缩写)/RS码(Reed-solomon codes,里德-所罗门码)、乘积码、卷积码为代表的硬判决FEC到以LDPC(Low-density Parity-check,低密度奇偶校验)码和turbo码为代表的软判决FEC,从独立编码的分组码到以卷积码为代表的相关编码方法,科学工作者们不断地探索在硬件实现较低复杂度下实现较高编码增益的FEC码。
Staircase码是在乘积码的结构基础上提出的一种码字具有相关性的FEC码,其基本原理如图2和图3所示。图2的分块矩阵中,信源每输入m(m-r)个信息符号,组成Bi,L的信息矩阵块,紧邻的r(m-r)个符号为staircase码校验位,组成Bi,R的校验矩阵块。校验矩阵块Bi,R的产生方法如图2所示,它是由[Bi-1 T Bi,L]通过(2m,2m-r)分组码编码得到,其中Bi-1 T为分块矩阵Bi-1的转置。举例来说,B1,R是由[B0 T B1,L]通过m个(2m,2m-r)分组码编码得到,其中B0 T为staircase码的初始分块,为已知的符号(比如,全零符号)。后续的Bi,R由[Bi-1 T Bi,L]通过(2m,2m-r)分组码编码陆续得到,如图3所示,形成无限的“阶梯”形式的码结构。
从staircase码的结构可以看出,除了已知的B0 T分块矩阵中的符号,其它分块矩阵中的符号都由两层(2m,2m-r)分组码所保护,并且码字之间的相关性不断地传递下去,这些特性保证了staircase码优良的纠错能力,在staircase码原创文献“Staircase Codes:FECfor 100 Gb/s OTN”中提到,兼容于ITU-T标准G.709协议中的6.67%OH的staircase码在***输出误码率10-15时,能达到的NCG较G.975.1标准中性能最好码的NCG有0.42dB改进。由于其优良的硬解码性能,近期很多厂家在积极推动6.67%OH的staircase码作为100Gmetro应用的标准。
虽然staircase码的硬解码性能得到广泛关注,但其软解码性能一直未见披露,并且staircase码原创文献中所提到的译码方法仅适用于硬解码。对于相同的码长和冗余度,staircase码中所用的分组码较TPC码中所用的分组码,其纠错能力和最小距离特性要有所削弱,最小距离的减小可能会导致误码平层现象的出现,而它的优势是利用了码字之间的相关性。所以,在staircase码的软解码方法上,如何合理、高效地利用码字之间相关性的特性,显得尤其重要。由此可知,在相关技术中并不存在能够同时适用硬编码和软编码的编码方法。
针对相关技术中存在的上述问题,目前尚未提出解决方案。
发明内容
本发明实施例提供了一种阶梯staircase码的解码方法、装置及存储介质,以至少解决相关技术中的不存在能够同时适用硬编码和软编码的编码方法的问题。
根据本发明的一个实施例,提供了一种阶梯staircase码的解码方法,包括:对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;重复执行以下操作:从所述第二信息块或所述第三信息块中选取S-T个信息块,并对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将所述S个更新后的信息块作为新的第二信息块;对所述第三信息块中的第T+1到2T块信息和所述新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出。
可选地,对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块包括:通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到所述第一信息块,其中,1≤i≤S,N1_itr为大于0的整数。
可选地,通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新包括:第一更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=1,进行软信息的更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第二更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ai-1 n大于或等于Ai n;对码块[Ri-1 T Ri],i=1,…S-1,重复进行所述第一更新处理和第二更新处理,其中,在重复执行的过程中n=2,…N1_itr,Ai n大于或等于Ai n-1,N1_itr支持寄存器可配置。
可选地,将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块包括:第三更新处理,用于通过如下公式对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第四更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=S-T,进行软信息更新:[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1第五更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;重复执行所述第三更新处理,所述第四更新处理以及所述第五更新处理得到所述第二信息块,其中Ai n大于或等于Ai n-1,在重复执行的过程中n=2,…N1_itr。
可选地,对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块包括以下之一:对所述第一信息块头T个编码块和所述第二信息块头S-T个编码块进行硬解码得到所述第三信息块;对所述第一信息块头T个编码块和所述第二信息块头S-T个编码块进行软解码得到所述第三信息块。
可选地,对所述第一信息块头T个编码块和所述第二信息块头S-T个编码块进行硬解码得到所述第三信息块包括:通过如下公式得到所述第一信息块和所述第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N1_itr,其中,Ri n为编码块Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息;通过如下方式对得到的软信息进行硬判:通过将得到的所述软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;通过如下方式进行译码处理:逐次对S-1个[Bi-1 T Bi],对应的硬判结果,进行(2m,2m-r)分组码译码,其中,i=2,…S;重复执行N2_itr次所述译码处理,并将译码后的S块数据确定为所述第三信息块,并将头T块数据作为译码器的输出。
可选地,在重复执行N2_itr次所述译码处理时,当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据,后面的迭代不进行校验位检测,并将译码结果异或模2,得到校验位,其中,N3_itr取值范围为[1,N2_itr],N2_itr为大于0的整数。
可选地,在在重复执行N2_itr次所述译码处理的过程中,当处理所述译码处理的分组译码器反馈纠正错误时,将当前的码字序列恢复成最原始的输入数据。
可选地,对所述第一信息块头T个编码块和所述第二信息块头S-T个编码块进行软解码得到所述第三信息块包括:在对所述第一信息块和所述第二信息块进行归一化处理后,通过如下公式得到所述第一信息块和所述第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为(n-1)/N1_itr;重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,其中,N2_itr为大于0的整数;在进行最后一次迭代时,执行如下输出处理:按照如下公式得到译码器的软信息输出:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr;重复执行所述输出处理,其中,在重复执行的过程中n=2,…N2_itr,N2_itr为大于0的整数;通过如下方式对通过输出处理得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;将经过硬判处理后得到的头T块数据确定为所述第三信息块,并作为译码器输出。
可选地,从所述第二信息块或所述第三信息块中选取S-T个信息块包括:当对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行硬解码得到所述第三信息块时,通过如下方式选取S-T个信息块:将所述第二信息块中的前T块数据丢掉,得到所述S-T个信息块;或者,选取所述第三信息块中第2T+1块及其后的N_bh块,再拼接所述第二信息块中的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为所述S-T个信息块,其中,N_bh取值范围为[0,S-T-1];当对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行软解码得到所述第三信息块时,通过如下方式选取S-T个信息块:从所述第三信息块中选取第2T+1到第S+T块数据作为所述S-T个信息块,生成方法为:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr,其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
根据本发明的另一个实施例,提供了一种阶梯staircase码的解码装置,包括:更新模块,用于对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;解码模块,用于对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;处理模块,用于重复执行以下操作:从所述第二信息块或所述第三信息块中选取S-T个信息块,并对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将所述S块更新后的信息块作为新的第二信息块;对所述第三信息块中的第T+1到2T块信息和所述新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出。
可选地,在对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块时,所述更新模块包括:更新单元,用于通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到所述第一信息块,其中,1≤i≤S,N1_itr为大于0的整数。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
本发明的有益效果是:
通过本发明的实施例,由于对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块后,并将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,对第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;充分利用了分组TPC(turbo productcode)码的软解码思想和staircase码的码字之间相关性的特点,在后续重复执行数据块选择、更新及解码等步骤的过程中保证了码字之间的相关性,并且上述方法是能够同时适用硬解码和软解码的,从而解决了相关技术中的不存在能够同时适用硬编码和软编码的编码方法的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中典型的传输***框图;
图2是现有技术中staircase码的单个block结构示意图;
图3是现有技术中staircase码的码结构示意图;
图4是本发明实施例提供的一种staircase码的解码方法流程图;
图5是本发明实施例提供的一种staircase码的软解码流程图;
图6是本发明实施例提供的一种staircase码的解码装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明的关键是针对相关技术中存在的因纠错能力和最小距离的特性导致出现的误码平层现象的问题,提出一种阶梯staircase码的解码方法,充分利用了分组TPC码的软解码思想和staircase码的码字之间相关性的特点,达到了很好地控制误码平层的现象。使用本发明方法,对使用的分组码类型、外信息计算的方法都没有限定,适用于任何方式。
图4是根据本发明实施例的一种staircase码的解码方法流程图,如图4所示,该方法包括如下步骤:
步骤S402,对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;
步骤S404,对第一信息块头T个编码块和第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;
步骤S406,重复执行以下操作:从第二信息块或第三信息块中选取S-T个信息块,并对选取的S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将S块更新后的信息块作为新的第二信息块;对第三信息块中的第T+1到2T块信息和新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出。
通过上述实施例,由于对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块后,并将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,对第一信息块头T个编码块和第二信息块的头S-T个编码块进行解码得到第三信息块;充分利用了分组TPC(turbo product code)码的软解码思想和staircase码的码字之间相关性的特点,在后续重复执行数据块选择、更新及解码等步骤的过程中保证了码字之间的相关性,解决了相关技术中的不存在能够同时适用硬编码和软编码的编码方法的问题,进而达到了比TPC码更优的瀑布区性能,并且很好地控制误码平层现象。
可选地,对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块包括:通过对初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到第一信息块,其中,1≤i≤S,N1_itr为大于0的整数。
可选地,通过对初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新包括:第一更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=1,进行软信息的更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第二更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ai-1 n大于或等于Ai n;对码块[Ri-1 T Ri],i=1,…S-1,重复进行第一更新处理和第二更新处理,其中,Ri-1 T为上次迭代的软信息,在这里Ri-1 T与Ri一并作为一个待译码的码块,在重复执行的过程中n=2,…N1_itr,Ai n大于或等于Ai n-1,N1_itr支持寄存器可配置。
可选地,将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块包括:第三更新处理,用于通过如下公式对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第四更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=S-T,进行软信息更新:[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1第五更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;重复执行第三更新处理,第四更新处理以及第五更新处理得到第二信息块,其中Ai n大于或等于Ai n-1,在重复执行的过程中n=2,…N1_itr。
可选地,对第一信息块头T个编码块和第二信息块的头S-T个编码块进行解码得到第三信息块包括以下之一:对第一信息块头T个编码块和第二信息块的头S-T个编码块进行硬解码得到第三信息块;对第一信息块头T个编码块和第二信息块的头S-T个编码块进行软解码得到第三信息块。
可选地,对第一信息块头T个编码块和第二信息块的头S-T个编码块进行硬解码得到第三信息块包括:通过如下公式得到第一信息块和第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N1_itr,其中,Ri n为编码块Bi对应的n次迭代软信息,Wi n为码块[Bi-1 TBi]求得的外信息;通过如下方式对得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;通过如下方式进行译码处理:逐次对S-1个[Bi-1 T Bi],对应的硬判结果,进行(2m,2m-r)分组码译码,其中,i=2,…S;重复执行N2_itr次译码处理,并将译码后的S块数据确定为第三信息块,并将头T块数据作为译码器的输出。
可选地,在重复执行N2_itr次译码处理时,当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据,后面的迭代不进行校验位检测,并将译码结果异或模2,得到校验位,其中,N3_itr取值范围为[1,N2_itr],N2_itr为大于0的整数。
可选地,在重复执行N2_itr次译码处理的过程中,当处理译码处理的分组译码器反馈纠正错误时,将当前的码字序列恢复成最原始的输入数据。
可选地,对第一信息块头T个编码块和第二信息块的头S-T个编码块进行软解码得到第三信息块包括:在对第一信息块和第二信息块进行归一化处理后,通过如下公式得到第一信息块和第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为(n-1)/N1_itr;重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,N2_itr为大于0的整数;在进行最后一次迭代时,执行如下输出处理:按照如下公式得到译码器的软信息输出:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr;重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,N2_itr为大于0的整数;通过如下方式对通过输出处理得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;将经过硬判处理后得到的头T块数据确定为第三信息块,并作为译码器输出。
可选地,从第二信息块或第三信息块中选取S-T个信息块包括:当对第一信息块头T个编码块和第二信息块的头S-T个编码块进行硬解码得到第三信息块时,通过如下方式选取S-T个信息块:将第二信息块中的前T块数据丢掉,得到S-T个信息块;或者,选取第三信息块中第2T+1块及其后的N_bh块,再拼接第二信息块中的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为S-T个信息块,其中,N_bh取值范围为[0,S-T-1];当对第一信息块头T个编码块和第二信息块的头S-T个编码块进行软解码得到第三信息块时,通过如下方式选取S-T个信息块:从第三信息块中选取第2T+1到第S+T块数据作为S-T个信息块,生成方法为:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr,其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
由上述实施例可知,在本发明实施例中,合理、高效的实现码字之间的相关性主要通过以下方式:
图5是根据本发明实施例的一种staircase码的软解码流程图,如图5所示,该方法包括如下步骤:
S502:对初始的S个Bi块,B0、B1、……BT-1、BT、……BS-1,进行软信息的更新,得到B0 1、B1 1、……BT-1 1、BT 1、……BS-1 1。其中,参数S和T分别代表每次软解码的数据块数和下一次解码增加的新数据块数,支持寄存器可配。
S504:将S502得到的软信息BT 1、……BS-1 1和新增加数据块BS、BS+1、……BS+T-1进行软信息的更新,得到BT 2、……BS-1 2、BS 1、BS+1 1、……BS+T-1 1。
S506:将S502得到的软信息B0 1、B1 1、……BT-1 1和S104得到的软信息BT 2、……BS-1 2进行硬解码或者软解码,得到B0 2、B1 2、……BT-1 2、BT 3、……BS-1 3;将B0 2、B1 2、……BT-1 2数据输出,得到译码器输出结果。
S508:根据S506不同的解码方式,选择后S-T块软信息,与新增的T块数据,一并进行软信息的更新,得到S块更新后的软信息数据。
S510:将S506得到的第T+1到2T块数据和S508得到的头S-T块数据,一并进行硬解码或者软解码,输出头T块数据,作为译码器的输出。
S512:反复执行S508和S510,得到源源不断地译码器输出T块流数据。
可选地,所述S502中对初始的S个Bi块进行软信息的更新,工作过程包括:
S5022:对码块[B0 T B1]进行软信息更新,更新方法如下:
[R0 n,R1 n]=[R0 0,R1 0]+[A0 n,A1 n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子,取值范围为(0,1],A0 0取值为1,A1 0取为较小值。
S5024:对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ai-1 1大于等于Ai 1。
S5026:对码块[Ri-1 T Ri],i=1,…S-1,重复进行S5022和S5024的软信息更新,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1,N1_itr支持寄存器可配置。
可选地,所述S504中的S个Bi块进行软信息的更新,工作过程包括:
S5042:对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ai-1 0大于等于Ai 0。
S5044:对码块[Ri-1 T Bi],i=S-T,进行软信息更新,更新方法如下:
[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1;
其中,Ai-1 0的值大于Ai 0。
S5046:对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ai-1 0大于等于Ai 0。
S5048:重复执行S5042、S5044和S5046,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1。
可选地,所述S506中是对S个Bi块进行硬解码,staircase码交叠输出硬解码方案流程具体包括:
步骤S602:所得到的数据块的软信息,由下式得到:
[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N1_itr;
其中,Ri n为Bi对应的n次迭代输出,Ri n-1为Bi对应的n-1次迭代输出,即n次迭代输入。Wi n为[Bi-1 T Bi]码块所求得的外信息。
S604:对S502所得到的软信息进行硬判,硬判的方法是取对应符号的符号位,与编码规则对应,将符号位判决为0/1比特。
S606:逐次对S-1个[Bi-1 T Bi]对应的硬判结果,i=2,…S,进行(2m,2m-r)分组码译码。
S608:反复重复S606共N2_itr次,将最终的头T块数据作为译码器输出。N2_itr支持寄存器可配置。当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据。后面的迭代不进行校验位检测,而将译码结果异或模2,得到校验位。N3_itr支持寄存器可配置,取值范围为[1,N2_itr]。
S610:为了纠正译码器死锁现象,可以在译码器工作的中间迭代过程中,当分组译码器反馈纠正错误时,将此时的码字序列恢复成最原始的输入数据。
可选地,所述S506中对S个Bi块进行归一化处理后,进行软解码,staircase码交叠输出软解码方案流程具体包括:
S702:所得到的数据块的软信息,由下式得到:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr;
Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息。Wi n为[Bi-1 TBi]码块所求得的外信息,Ai 0为外信息的可靠度因子,取值范围为(0,1],Ai-1 0大于等于Ai 0。
S704:对S702得到的S个Bi块数据,进行软信息更新,最后一次迭代时,按照如下式得到译码器的软信息输出:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+Wi n,n=1。
S706:重复S704,n=2,…N2_itr,得到最终的译码输出数据,N2_itr支持寄存器可配置;
[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr。
S708:对S706所得到的软信息进行硬判,硬判的方法是取对应符号(或称为对应元素)的符号位,与编码规则对应,将符号位判决为0/1比特。
S710:将步骤S708得到的头T块数据作为译码器输出。
可选地,所述S508中选择S-T块软信息,选择过程包括:
如果S506采用硬解码,将S504得到的软信息丢掉前T块数据,作为这S-T块软信息;也可以将S506进行硬解码得到的数据块,选取第2T+1块及其后的N_bh块,再拼接S504所得到的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为这S-T块软信息。其中,N_bh取值范围为[0,S-T-1],支持寄存器可配置。
如果S506采用软解码,这S-T个数据块由S506进行软解码得到的第2T+1到3T软信息数据块组成,由下式得到:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr;
其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
可选地,所述S508中对S个Bi块进行软信息更新时,工作过程与S5042到S5048的处理过程一致。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种staircase码的解码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是本发明实施例的一种staircase码的解码装置的结构框图。如图6所示,该装置包括如下模块:
更新模块602,用于对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;解码模块604,连接至上述更新模块602,用于对第一信息块头T个编码块和第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;处理模块606,连接至上述解码模块604,用于重复执行以下操作:从第二信息块或第三信息块中选取S-T个信息块,并对选取的S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将S块更新后的信息块作为新的第二信息块;对第三信息块中的第T+1到2T块信息和新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出。
在一个可选的实施例中,在对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块时,更新模块602包括:
更新单元,用于通过对初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到第一信息块,其中,1≤i≤S,N1_itr为大于0的整数。
在一个可选的实施例中,上述更新单元包括:第一更新处理子单元:用于通过如下公式对码块[Bi-1 T Bi],i=1,进行软信息的更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第二更新处理子单元,用于通过如下公式对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ai-1 n大于或等于Ai n;对码块[Ri-1 T Ri],i=1,…S-1,重复进行第一更新处理和第二更新处理,其中,在重复执行的过程中n=2,…N1_itr,Ai n大于或等于Ai n-1,N1_itr支持寄存器可配置。
在一个可选的实施例中,在将第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块时,更新模块602包括:第三更新处理子单元,用于通过如下公式对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;第四更新处理子单元,用于通过如下公式对码块[Ri-1 T Bi],i=S-T,进行软信息更新:[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1;第五更新处理子单元,用于通过如下公式对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;第六更新处理子单元,用于重复执行第三更新处理单元,第四更新处理单元以及第五更新处理单元中的操作以得到第二信息块,其中,Ai n大于或等于Ai n-1,在重复执行的过程中n=2,…N1_itr。
在一个可选的实施例中,上述解码模块604包括以下之一:硬解码单元,用于对第一信息块头T个编码块和第二信息块的头S-T个编码块进行硬解码得到第三信息块;软解码单元,用于对第一信息块头T个编码块和第二信息块的头S-T个编码块进行软解码得到第三信息块。
在一个可选的实施例中,上述硬解码单元用于执行以下操作:通过如下公式得到第一信息块和第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N1_itr,其中,Ri n为编码块Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息;通过如下方式对得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;通过如下方式进行译码处理:逐次对S-1个[Bi-1 T Bi],对应的硬判结果,进行(2m,2m-r)分组码译码,其中,i=2,…S;重复执行N2_itr次译码处理,并将译码后的S块数据确定为第三信息块,并将头T块数据作为译码器的输出。
在一个可选的实施例中,在重复执行N2_itr次译码处理时,当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据,后面的迭代不进行校验位检测,并将译码结果异或模2,得到校验位,其中,N3_itr取值范围为[1,N2_itr],N2_itr为大于0的整数。
在一个可选的实施例中,在重复执行N2_itr次译码处理的过程中,当处理译码处理的分组译码器反馈纠正错误时,将当前的码字序列恢复成最原始的输入数据。
在一个可选的实施例中,上述软解码单元用于执行以下操作:在对第一信息块和第二信息块进行归一化处理后,通过如下公式得到第一信息块和第二信息块的软信息:[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为(n-1)/N1_itr;重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,其中,N2_itr为大于0的整数;在进行最后一次迭代时,执行如下输出处理:按照如下公式得到译码器的软信息输出:[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr;重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,N2_itr为大于0的整数;通过如下方式对通过输出处理得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;将经过硬判处理后得到的头T块数据确定为第三信息块,并作为译码器输出。
在一个可选的实施例中,在从第二信息块或第三信息块中选取S-T个信息块时,处理模块606用于执行以下操作:当对第一信息块头T个编码块和第二信息块的头S-T个编码块进行硬解码得到第三信息块时,通过如下方式选取S-T个信息块:将第二信息块中的前T块数据丢掉,得到S-T个信息块;或者,选取第二信息块中第2T+1块及其后的N_bh块,再拼接第二信息块中的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为S-T个信息块,其中,N_bh取值范围为[0,S-T-1];当对第一信息块头T个编码块和第二信息块的头S-T个编码块进行软解码得到第三信息块时,通过如下方式选取S-T个信息块:从第三信息块中选取第2T+1到第S+T块数据作为S-T个信息块,生成方法为:[Ri-1 n,Rin]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
下面结合具体应用场景对本发明进行说明,分别说明运用于骨干(long haul)场景的高性能staircase软解码方法及解码器装置、运用于城域/数据中心(metro/DCI)场景的低功耗staircase软解码方法及解码器装置,以及运用于短距传输场景互联的staircase硬解码方法及解码器装置进行说明。
具体实施例一
在本发明具体实施例一中提供了一种运用于骨干(long haul)场景的高性能staircase软解码流程。在骨干传输场景下,对FEC的净编码增益要求非常高,为了得到性能优异的staircase码,迭代次数N1_itr和N2_itr可根据***需求配置为较大的值。具体包括如下步骤:
S902:对初始的S个Bi块,B0、B1、……BT-1、BT、……BS-1,进行软信息的更新,得到B0 1、B1 1、……BT-1 1、BT 1、……BS-1 1。其中参数S和T分别代表每次软解码的数据块数和下一次解码增加的新数据块数,支持寄存器可配。软信息更新的步骤分为:
S9022:对码块[B0 T B1]进行软信息更新,更新方法如下:
[R0 n,R1 n]=[R0 0,R1 0]+[A0 n,A1 n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息。Ai n为外信息的可靠度因子,取值范围为(0,1],A0 0取值为1,A1 0取为较小值。
S9024:对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ai-1 1大于等于Ai 1。
S9026:对码块[Ri-1 T Ri],i=1,…S-1,重复进行S702和S704的软信息更新,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1,N1_itr支持寄存器可配置。
S904:将S902得到的软信息BT 1、……BS-1 1和新增加数据块BS、BS+1、……BS+T-1进行软信息的更新,得到BT 2、……BS-1 2、BS 1、BS+1 1、……BS+T-1 1。其中,软信息更新分为如下步骤:
S9042:对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ai-1 0大于等于Ai 0。
S9044:对码块[Ri-1 T Bi],i=S-T,进行软信息更新,更新方法如下:
[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1;
其中,Ai-10的值大于Ai 0。
S9046:对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ai-1 0大于等于Ai 0。
S9048:重复执行S9042、S9044和S9046,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1。
S906:将S902得到的软信息B0 1、B1 1、……BT-1 1和S604得到的软信息BT 2、……BS-1 2进行软解码,进行归一化处理,得到B0 2、B1 2、……BT-1 2、BT 3、……BS-1 3。将B0 2、B1 2、……BT-1 2数据输出,得到译码器输出结果。分为如下几个步骤:
S9062:所得到的数据块的软信息,由下式得到:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr;
Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息。Wi n为[Bi-1 TBi]码块所求得的外信息,Ai 0为外信息的可靠度因子,取值范围为(0,1],Ai-1 0大于等于Ai 0。
S9064:对步骤S9062得到的S个Bi块数据,进行软信息更新,最后一次迭代时,按照如下式得到译码器的软信息输出:
[R i-1 n,Ri n]=[Ri-1 0,Ri 0]+Wi n,n=1;
S9066:重复S9064,n=2,…N2_itr,得到最终的译码输出数据,N2_itr支持寄存器可配置。
[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr;
S9068:对S9066所得到的软信息进行硬判,硬判的方法是取对应符号的符号位,与编码规则对应,将符号位判决为0/1比特。
S90610:将S9068得到的头T块数据作为译码器输出。
S908:选择S-T块软信息,与新增的T块数据,一并进行软信息的更新,得到S块更新后的软信息数据。分为如下步骤:
S9082:这S-T个数据块由S906进行软解码得到的第2T+1到3T软信息数据块组成,由下式得到:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr;
其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
S9084:对S9042到S9048的处理过程进行软信息的更新。
S9010:将S906得到的第T+1到2T块数据和S908得到的头S-T块数据,一并进行硬解码或者软解码,输出头T块数据,作为译码器的输出。
S9012:反复执行S908和S9010,得到源源不断地译码器输出T块流数据。
具体实施例二
在本发明具体实施例二中提供了一种运用于城域/数据中心
(metro/DCI)场景的低功耗staircase软解码流程。在城域/数据中心应用场景下,在满足***净编码增益前提下,对FEC的功耗、时延要求非常高,为了得到满足需求的staircase码,迭代次数N1_itr和N2_itr可根据***需求配置为较小的值,并且交叠处可以使用功耗和时延更小的硬判决staircase方案。具体包括如下步骤:
S1002:对初始的S个Bi块,B0、B1、……BT-1、BT、……BS-1,进行软信息的更新,得到B0 1、B1 1、……BT-1 1、BT 1、……BS-1 1。其中参数S和T分别代表每次软解码的数据块数和下一次解码增加的新数据块数,支持寄存器可配。软信息更新的步骤分为:
S10022:对码块[B0 T B1]进行软信息更新,更新方法如下:
[R0 n,R1 n]=[R0 0,R1 0]+[A0 n,A1 n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息。Ai n为外信息的可靠度因子,取值范围为(0,1],A0 0取值为1,A1 0取为较小值。
S10024:对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ai-1 1大于等于Ai 1。
S10026:对码块[Ri-1 T Ri],i=1,…S-1,重复进行步骤1.1和1.2的软信息更新,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1,N1_itr支持寄存器可配置。
S1004:将S1002得到的软信息BT 1、……BS-1 1和新增加数据块BS、BS+1、……BS+T-1进行软信息的更新,得到BT 2、……BS-1 2、BS 1、BS+1 1、……BS+T-1 1。其中,软信息更新分为如下步骤:
S10042:对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
其中,Ri 0为Bi对应的译码器原始输入数据,Ai-1 0大于等于Ai 0。
S10044:对码块[Ri-1 T Bi],i=S-T,进行软信息更新,更新方法如下:
[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1;
其中,Ai-1 0的值大于Ai 0。
S10046:对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新,更新方法如下:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Win,n=1;
其中,Ai-1 0大于等于Ai 0。
S10048:重复执行S10042、S10044和S10046,n=2,…N1_itr次,得到最终的软信息数据。其中Ai n大于等于Ai n-1。
S1006:将S1002得到的软信息B0 1、B1 1、……BT-1 1和S1104得到的软信息BT 2、……BS-1 2进行硬解码,得到B0 2、B1 2、……BT-1 2、BT 3、……BS-1 3。将B0 2、B1 2、……BT-1 2数据输出,得到译码器输出结果。分为如下几个步骤:
S10062:所得到的数据块的软信息,由下式得到:
[Ri-1 n,Ri n]=[Ri-1n-1,Ri n-1]+Wi n,n=N1_itr;
其中,Ri n为Bi对应的n次迭代输出,Ri n-1为Bi对应的n-1次迭代输出,即n次迭代输入。Wi n为[Bi-1 T Bi]码块所求得的外信息。
S10064:对S1002所得到的软信息进行硬判,硬判的方法是取对应符号的符号位,与编码规则对应,将符号位判决为0/1比特。
S10066:逐次对S-1个[Bi-1 T Bi]对应的硬判结果,i=2,…S,进行(2m,2m-r)分组码译码。
S10068:反复重复S10066共N2_itr次,将最终的头T块数据作为译码器输出。N2_itr支持寄存器可配置。当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据。后面的迭代不进行校验位检测,而将译码结果异或模2,得到校验位。N3_itr支持寄存器可配置,取值范围为[1,N2_itr]。
S100610:为了纠正译码器死锁现象,可以在译码器工作的中间迭代过程中,当分组译码器反馈纠正错误时,将此时的码字序列恢复成最原始的输入数据。
S1008:选择S-T块软信息,与新增的T块数据,一并进行软信息的更新,得到S块更新后的软信息数据。分为如下步骤:
S10082:将S1004得到的软信息丢掉前T块数据,作为这S-T块软信息;也可以将S1006进行硬解码得到的数据块,选取第2T+1块及其后的N_bh块,再拼接S1004所得到的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为这S-T块软信息。其中,N_bh取值范围为[0,S-T-1],支持寄存器可配置。
S10084:S10042到S10048的处理过程进行软信息的更新。
S10010:将S1006得到的第T+1到2T块数据和S1008得到的头S-T块数据,一并进行硬解码或者软解码,输出头T块数据,作为译码器的输出。
S10012:反复执行S1008和S10010,得到源源不断地译码器输出T块流数据。
具体实施例三
在本发明具体实施例三提供了一种运用于短距传输场景互联的staircase硬解码流程。在短距传输互联互通场景下,对FEC硬判决净编码增益要求非常高,并且对误码平层现象的控制显得更为重要。为了得到满足需求的staircase码,可以执行下述的步骤:
S1102:对初始的S个Bi块,B0、B1、……BT-1、BT、……BS-1,进行硬解码,得到B0 1、B1 1、……BT-1 1、BT 1、……BS-1 1。其中参数S和T分别代表每次解码的数据块数和下一次解码增加的新数据块数,支持寄存器可配。
S11022:对S块数据进行硬判,得到S个硬判数据块。
S11024:对码块[B0 T B1],i=1,…S-1,进行(2m,2m-r)分组码硬解码,更新后的码块数据记为[H0 T H1]。
S11026:对码块[Hi T Bi-1 T],i=2,…S-1,进行(2m,2m-r)分组码硬解码,更新后的数据为[Hi T Hi-1]。
S11028:对更新后的码块[Hi Hi-1 T],i=S-1,…1,进行(2m,2m-r)分组码硬解码。
S11210:反复重复S11026和S11028共N1_itr次,得到最终的硬判决数据。N1_itr支持寄存器可配置。
S1104:将S1102得到的硬判决信息BT 1、……BS-1 1和新增加数据块BS、BS+1、……BS+T-1进行硬解码,得到BT 2、……BS-1 2、BS 1、BS+1 1、……BS+T-1 1。方法如S1102。
S1106:对S1102得到的硬判决信息B0 1、B1 1、……BT-1 1和S1604得到的硬判决信息BT 2、……BS-1 2进行硬解码,得到B0 2、B1 2、……BT-1 2、BT 3、……BS-1 3。将B0 2、B1 2、……BT-1 2数据输出,得到译码器译码结果。
S11062:逐次对S-1个[Bi-1 T Bi]码块,i=2,…S,进行(2m,2m-r)分组码硬解码。
S11064:再逐次对S-1个[Bi Bi-1 T]码块,i=S-1,…,1,进行(2m,2m-r)分组码硬解码。
S11066:反复重复S11062和S11064共N2_itr次,得到最终的译码输出数据。N2_itr支持寄存器可配置。当分组码带有扩展校验位时,头几次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据。后几次迭代不进行校验位检测,而将译码结果异或模2,得到校验位。
S11068:为了纠正译码器死锁现象,可以在译码器工作的中间迭代过程中,当分组译码器反馈纠正错误时,将此时的码字序列恢复成最原始的输入数据。
S1108:将S1106得到的第2T+1到3T数据块,与新增的T块数据,一并进行硬解码。
S11010:将S1106软解码后的第T+1到2T块数据和S1108头S-T块数据,一并进行硬解码,输出头T块数据,作为译码器的输出。
S11012:反复执行S1108和S11010,得到源源不断地译码器输出T块流数据。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通过上述实施例,可以解决相关技术中存在的对于相同码长和冗余度,staircase码中所用的分组码较TPC码中所用的分组码,其纠错能力和最小距离特性要有所削弱,最小距离的减小可能会导致误码平层现象的出现的问题。本发明中的实施例能够合理、高效的利用码字之间相关性的特性解决了相关技术中的不存在能够同时适用硬编码和软编码的编码方法的问题,进而达到了比TPC码更优的瀑布区性能,并且很好地控制误码平层现象。
上述实施例仅描述了本发明方法的部分实施情况。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种阶梯staircase码的解码方法,其特征在于,包括:
对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;
对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;
重复执行以下操作:从所述第二信息块或所述第三信息块中选取S-T个信息块,并对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将所述S个更新后的信息块作为新的第二信息块;对所述第三信息块中的第T+1到2T块信息和所述新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出,其中,
对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块包括:
通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到所述第一信息块,其中,1≤i≤S,N1_itr为大于0的整数,其中,
将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,以及对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,包括:
第三更新处理,用于通过如下公式对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;
第四更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=S-T,进行软信息更新:
[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1
第五更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
重复执行所述第三更新处理,所述第四更新处理以及所述第五更新处理得到所述第二信息块,其中Ai n大于或等于Ai n-1,在重复执行的过程中n=2,…N1_itr。
2.根据权利要求1所述的方法,其特征在于,通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新包括:
第一更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=1,进行软信息的更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;
第二更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=2,…S-1,进行软信息更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ai-1 n大于或等于Ai n;
对码块[Ri-1 T Ri],i=1,…S-1,重复进行所述第一更新处理和第二更新处理,其中,在重复执行的过程中n=2,…N1_itr,Ai n大于或等于Ai n-1,N1_itr支持寄存器可配置。
3.根据权利要求1所述的方法,其特征在于,对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块包括以下之一:
对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行硬解码得到所述第三信息块;
对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行软解码得到所述第三信息块。
4.根据权利要求3所述的方法,其特征在于,对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行硬解码得到所述第三信息块包括:
通过如下公式得到所述第一信息块和所述第二信息块的软信息:
[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N1_itr,其中,Ri n为编码块Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息;
通过如下方式对得到的软信息进行硬判:通过将得到的所述软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;
通过如下方式进行译码处理:逐次对S-1个[Bi-1 T Bi],对应的硬判结果,进行(2m,2m-r)分组码译码,其中,i=2,…S,其中,m为编码块的行数、m-r为编码块的列数;
重复执行N2_itr次所述译码处理,并将译码后的S块数据确定为所述第三信息块,并将头T块数据作为译码器的输出。
5.根据权利要求4所述的方法,其特征在于,在重复执行N2_itr次所述译码处理时,当分组码带有扩展校验位时,前面N3_itr次迭代将不满足校验位的(2m,2m-r)分组码译码结果迭代,恢复成分组码译码当前输入数据,后面的迭代不进行校验位检测,并将译码结果异或模2,得到校验位,其中,N3_itr取值范围为[1,N2_itr],N2_itr为大于0的整数。
6.根据权利要求4所述的方法,其特征在于,在重复执行N2_itr次所述译码处理的过程中,当处理所述译码处理的分组译码器反馈纠正错误时,将当前的码字序列恢复成最原始的输入数据。
7.根据权利要求3所述的方法,其特征在于,对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行软解码得到所述第三信息块包括:
在对所述第一信息块和所述第二信息块进行归一化处理后,通过如下公式得到所述第一信息块和所述第二信息块的软信息:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N1_itr,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为(n-1)/N1_itr;
重复执行输出处理,其中,在重复执行的过程中n=2,…N2_itr,其中,N2_itr为大于0的整数;
在进行最后一次迭代时,执行如下输出处理:按照如下公式得到译码器的软信息输出:
[Ri-1 n,Ri n]=[Ri-1 n-1,Ri n-1]+Wi n,n=N2_itr;
通过如下方式对通过输出处理得到的软信息进行硬判:通过将得到的软信息中的元素的符号位与编码规则相对应的方式,将符号位判决为0比特或1比特;
将经过硬判处理后得到的头T块数据确定为所述第三信息块,并作为译码器输出。
8.根据权利要求1所述的方法,其特征在于,从所述第二信息块或所述第三信息块中选取S-T个信息块包括:
当对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行硬解码得到所述第三信息块时,通过如下方式选取S-T个信息块:将所述第二信息块中的前T块数据丢掉,得到所述S-T个信息块;或者,选取所述第三信息块中第2T+1块及其后的N_bh块,再拼接所述第二信息块中的第T+N_bh+2到第S块软信息所对应的原始输入数据,作为所述S-T个信息块,其中,N_bh取值范围为[0,S-T-1];
当对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行软解码得到所述第三信息块时,通过如下方式选取S-T个信息块:从所述第三信息块中选取第2T+1到第S+T块数据作为所述S-T个信息块,生成方法为:
[Ri-1 n,Rin]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=N2_itr
其中,Ri n为Bi对应的n次迭代软信息输出,Wi n为[Bi-1 T Bi]码块所求得的外信息。
9.一种阶梯staircase码的解码装置,其特征在于,包括:
更新模块,用于对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块,并将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,其中,S和T均为大于0的整数;
解码模块,用于对所述第一信息块头T个编码块和所述第二信息块的头S-T个编码块进行解码得到第三信息块,输出头T块信息作为译码器输出;
处理模块,用于重复执行以下操作:从所述第二信息块或所述第三信息块中选取S-T个信息块,并对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,得到S个更新后的信息块,并将所述S个更新后的信息块作为新的第二信息块;对所述第三信息块中的第T+1到2T块信息和所述新的第二信息块中的头S-T块信息一并进行解码得到新的第三信息块,输出头T块信息作为译码器的输出,其中,
对staircase码中的初始的S个编码块进行软信息的更新得到第一信息块包括:
通过对所述初始的S个编码块Bi进行N1_itr次迭代的方式进行软信息的更新得到所述第一信息块,其中,1≤i≤S,N1_itr为大于0的整数,其中,
将所述第一信息块的后S-T个编码块和T个新增加的编码块进行更新得到第二信息块,以及对选取的所述S-T个信息块与T个新增加的编码块一并进行软信息的更新,包括:
第三更新处理,用于通过如下公式对码块[Ri-1 T Ri],i=1,…S-T-1,进行软信息更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1,其中,Ri 0为编码块Bi对应的译码器原始输入数据,Ri n为Bi对应的n次迭代软信息,Wi n为码块[Bi-1 T Bi]求得的外信息,Ai n为外信息的可靠度因子且取值范围为(0,1],Ai-1 n取值为1,Ai n取值为n/N1_itr;
第四更新处理,用于通过如下公式对码块[Ri-1 T Bi],i=S-T,进行软信息更新:
[RS-T-1 n,RS-T n]=[RS-T-1 0,RS-T 0]+[AS-T-1 n,AS-T n]×Wi n-1,n=1
第五更新处理,用于通过如下公式对码块[Bi-1 T Bi],i=S-T+1,…S-T-1,进行软信息更新:
[Ri-1 n,Ri n]=[Ri-1 0,Ri 0]+[Ai-1 n,Ai n]×Wi n,n=1;
重复执行所述第三更新处理,所述第四更新处理以及所述第五更新处理得到所述第二信息块,其中Ai n大于或等于Ai n-1,在重复执行的过程中n=2,…N1_itr。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至8中任一项所述的方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711133350.5A CN109787641B (zh) | 2017-11-15 | 2017-11-15 | staircase码的解码方法、装置及存储介质 |
KR1020207016930A KR102326070B1 (ko) | 2017-11-15 | 2018-11-15 | 계단 코드의 디코딩 방법, 장치 및 기억매체 |
EP18878903.6A EP3713096B1 (en) | 2017-11-15 | 2018-11-15 | Method and device for decoding staircase code, and storage medium |
PCT/CN2018/115531 WO2019096184A1 (zh) | 2017-11-15 | 2018-11-15 | 阶梯码的解码方法、装置及存储介质 |
JP2020525981A JP7047092B2 (ja) | 2017-11-15 | 2018-11-15 | 階段コードの復号化方法、装置および記憶媒体 |
US16/764,597 US11184034B2 (en) | 2017-11-15 | 2018-11-15 | Method and device for decoding staircase code, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711133350.5A CN109787641B (zh) | 2017-11-15 | 2017-11-15 | staircase码的解码方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109787641A CN109787641A (zh) | 2019-05-21 |
CN109787641B true CN109787641B (zh) | 2024-02-06 |
Family
ID=66495353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711133350.5A Active CN109787641B (zh) | 2017-11-15 | 2017-11-15 | staircase码的解码方法、装置及存储介质 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11184034B2 (zh) |
EP (1) | EP3713096B1 (zh) |
JP (1) | JP7047092B2 (zh) |
KR (1) | KR102326070B1 (zh) |
CN (1) | CN109787641B (zh) |
WO (1) | WO2019096184A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132061B (zh) * | 2021-04-23 | 2022-11-25 | 展讯通信(上海)有限公司 | 上行数据发送方法、装置、存储介质及终端 |
CN114079539B (zh) * | 2021-07-28 | 2023-11-28 | 珠海市杰理科技股份有限公司 | 一种无线信息交流方法及无线通信设备 |
WO2024026584A1 (en) * | 2022-07-30 | 2024-02-08 | Qualcomm Incorporated | Techniques for staircase encoding with block-code-based shaping |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1656692A (zh) * | 2002-04-01 | 2005-08-17 | 英特尔公司 | 用于迭代硬判决前向纠错译码的装置 |
CN101026434A (zh) * | 2006-02-24 | 2007-08-29 | 中国科学院上海微***与信息技术研究所 | 一种低复杂度的迭代检测译码方法及装置 |
WO2009067899A1 (fr) * | 2007-11-12 | 2009-06-04 | Huawei Technologies Co., Ltd. | Procédé et dispositif de codage de données et de décodage de données |
CN105141393A (zh) * | 2015-06-12 | 2015-12-09 | 深圳大学 | 一种无线网络中细粒度的子载波编码***及其方法 |
CN106537787A (zh) * | 2014-07-31 | 2017-03-22 | 华为技术有限公司 | 译码方法和译码器 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751910B2 (en) | 2011-04-13 | 2014-06-10 | Cortina Systems, Inc. | Staircase forward error correction coding |
DE102012220334B3 (de) | 2012-11-08 | 2013-11-28 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
US9191256B2 (en) * | 2012-12-03 | 2015-11-17 | Digital PowerRadio, LLC | Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems |
US9712187B2 (en) | 2014-12-05 | 2017-07-18 | Samsung Electronics Co., Ltd. | SC-LDPC codes for wireless communication systems: framework and zigzag-window decoder |
CN105429646B (zh) * | 2015-06-30 | 2019-03-22 | 南京大学 | 一种咬尾阶梯码的编码及解码方法 |
EP3232576A1 (en) | 2016-04-15 | 2017-10-18 | Alcatel Lucent | Feed-forward staircase codes for channel coding in optical communication systems |
US10110256B2 (en) * | 2016-09-16 | 2018-10-23 | Micron Technology, Inc. | Apparatuses and methods for staircase code encoding and decoding for storage devices |
CN106992841B (zh) | 2017-03-21 | 2020-06-02 | 中山大学 | 一种分组马尔可夫叠加编码的硬判决迭代译码方法 |
CN109245846B (zh) * | 2017-07-10 | 2022-07-05 | 中兴通讯股份有限公司 | 一种阶梯码解码方法和阶梯码解码装置 |
US10998922B2 (en) | 2017-07-28 | 2021-05-04 | Mitsubishi Electric Research Laboratories, Inc. | Turbo product polar coding with hard decision cleaning |
-
2017
- 2017-11-15 CN CN201711133350.5A patent/CN109787641B/zh active Active
-
2018
- 2018-11-15 US US16/764,597 patent/US11184034B2/en active Active
- 2018-11-15 WO PCT/CN2018/115531 patent/WO2019096184A1/zh unknown
- 2018-11-15 KR KR1020207016930A patent/KR102326070B1/ko active IP Right Grant
- 2018-11-15 JP JP2020525981A patent/JP7047092B2/ja active Active
- 2018-11-15 EP EP18878903.6A patent/EP3713096B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1656692A (zh) * | 2002-04-01 | 2005-08-17 | 英特尔公司 | 用于迭代硬判决前向纠错译码的装置 |
CN101026434A (zh) * | 2006-02-24 | 2007-08-29 | 中国科学院上海微***与信息技术研究所 | 一种低复杂度的迭代检测译码方法及装置 |
WO2009067899A1 (fr) * | 2007-11-12 | 2009-06-04 | Huawei Technologies Co., Ltd. | Procédé et dispositif de codage de données et de décodage de données |
CN106537787A (zh) * | 2014-07-31 | 2017-03-22 | 华为技术有限公司 | 译码方法和译码器 |
CN105141393A (zh) * | 2015-06-12 | 2015-12-09 | 深圳大学 | 一种无线网络中细粒度的子载波编码***及其方法 |
Non-Patent Citations (1)
Title |
---|
石迎波.无线信道中的视频编码与传输技术研究.万方数据学位论文库.2010,第1-92页. * |
Also Published As
Publication number | Publication date |
---|---|
WO2019096184A1 (zh) | 2019-05-23 |
JP7047092B2 (ja) | 2022-04-04 |
EP3713096A4 (en) | 2021-08-04 |
US20210175908A1 (en) | 2021-06-10 |
JP2021502767A (ja) | 2021-01-28 |
KR20200087211A (ko) | 2020-07-20 |
CN109787641A (zh) | 2019-05-21 |
US11184034B2 (en) | 2021-11-23 |
EP3713096B1 (en) | 2023-07-12 |
KR102326070B1 (ko) | 2021-11-15 |
EP3713096A1 (en) | 2020-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010869B2 (en) | Method and device for controlling the decoding of a LDPC encoded codeword, in particular for DVB-S2 LDPC encoded codewords | |
JP3727938B2 (ja) | Ldpc復号化装置及びその方法 | |
US7246294B2 (en) | Method for iterative hard-decision forward error correction decoding | |
JP5705106B2 (ja) | ユークリッド空間リード−マラー符号の軟判定復号を実行する方法 | |
KR20060052488A (ko) | 연결된 반복 및 대수 코딩 | |
KR20120091001A (ko) | Ldpc 컨벌루션 코드를 사용하여 gnss 신호 데이터를 통신하는 방법 및 그 시스템 | |
US10848185B2 (en) | Coding and decoding of polar codes extended to lengths which are not powers of two | |
CN109787641B (zh) | staircase码的解码方法、装置及存储介质 | |
JP5374156B2 (ja) | データを復号化及び符号化するための装置及び方法 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US8327215B2 (en) | Apparatus and method for encoding LDPC code using message passing algorithm | |
Jamali et al. | Low-complexity decoding of a class of Reed-Muller subcodes for low-capacity channels | |
JP2004201323A (ja) | 複雑度を減らしたコードテーブルを使用する復調装置及びその方法 | |
KR102349814B1 (ko) | 제어 비트를 갖는 오토 디코더를 사용한 채널 디코딩 방법 | |
JP5523064B2 (ja) | 復号装置及び方法 | |
JP4379329B2 (ja) | Crc生成多項式の選択方法、crc符号化方法およびcrc符号化回路 | |
CN103138769A (zh) | 一种具有不等错误保护的编码方法 | |
WO2020139234A1 (en) | Performance enhancement of polar codes for short frame lengths considering error propagation effects | |
US8091012B2 (en) | System and method for decreasing decoder complexity | |
CN112470405A (zh) | 非二进制码的消息传递解码的可变节点处理方法和设备 | |
JP4224818B2 (ja) | 符号化方法及び符号化装置並びに復号方法及び復号装置 | |
KR101279283B1 (ko) | 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법 | |
CN112165333A (zh) | 空间耦合ldpc码的译码器错误传播的消除方法及装置 | |
WO2019172856A1 (en) | Soft successive cancellation algorithm for polar codes | |
CN115276900A (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 |