CN113300718B - 编码方法、译码方法、编码装置和译码装置 - Google Patents

编码方法、译码方法、编码装置和译码装置 Download PDF

Info

Publication number
CN113300718B
CN113300718B CN202110552038.XA CN202110552038A CN113300718B CN 113300718 B CN113300718 B CN 113300718B CN 202110552038 A CN202110552038 A CN 202110552038A CN 113300718 B CN113300718 B CN 113300718B
Authority
CN
China
Prior art keywords
matrix
value
subset
decoded
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110552038.XA
Other languages
English (en)
Other versions
CN113300718A (zh
Inventor
王中风
吴博
田静
杨蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202110552038.XA priority Critical patent/CN113300718B/zh
Publication of CN113300718A publication Critical patent/CN113300718A/zh
Application granted granted Critical
Publication of CN113300718B publication Critical patent/CN113300718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请提供一种编码方法、译码方法、编码装置和译码装置。该编码方法包括:获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;根据所述子集中目标元素的个数,生成1个比特的校验位;将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输。该编码方法采用RS+TPC级联编码方案,仅对每行和每列进行单比特奇偶校验,故所提出方案的复杂度明显低于RS+BCH级联方案,且译码性能和以往方案的性能相比有所提高,从而解决现有级联编码方式复杂度高而导致的资源消耗大,延时长的问题。

Description

编码方法、译码方法、编码装置和译码装置
技术领域
本申请涉及通信技术领域,具体涉及一种编码方法、译码方法、编码装置和译码装置。
背景技术
目前,宽带接入网络、城域网中采用以太网的技术较为广泛,这些市场的发展导致以太网市场的快速发展,并且推动了以太网技术的发展趋势。在城域网宽带接入,每用户20Mbps、50Mbps、甚至100Mbps的带宽,已经成为许多国家未来几年的网络发展目标,接入层带宽的增加必然导致城域网汇聚层和核心层的带宽需求增加,汇聚层将以10GE为主,骨干层升级到100G的需求突显。
在高速以太网通信领域,为了满足100G以太网的带宽要求,需要使用一种高性能、速度快的级联编码方式,例如,KP4+BCH级联的方式。为了与KP4方案兼容,现有技术采用RS+BCH级联的方式进行编码。其中,内码BCH为BCH144,码长为144,码率为136/144=0.944,由GF(28)的伽罗华域构造,纠错能力为1,因此有8个比特的校验位和136个比特的信息位。
然而,由于现有RS+BCH的级联编码方式中,校验位和信息位复杂度高,在使用该编码方式时,由于计算量大,容易导致资源消耗大,延时长的问题。
发明内容
本申请提供一种编码方法、译码方法、编码装置和译码装置,以解决现有级联编码方式复杂度高而导致的资源消耗大,延时长的问题。
本申请的第一方面,提供一种编码方法,包括:
获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;
按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;
根据所述子集中目标元素的个数,生成1个比特的校验位;
将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输。
可选的,所述子集包括以行为单位的行子集和以列为单位的列子集;
根据所述子集中目标元素的个数,生成1个比特的校验位,包括:
计算行子集中第一目标元素的个数,其中,所述第一目标元素为1;
根据所述行子集中第一目标元素的个数的奇偶性,设定所述行子集的校验位,其中,如果行子集中包含1的个数为奇数,则设定校验位为1,否则,设定校验位为0;
以及
计算列子集中第二目标元素的个数,其中,所述第二目标元素为0;
根据所述列子集中第二目标元素的个数的奇偶性,设定所述列子集的校验位,其中,如果列子集中包含0的个数为奇数,则设定校验位为0,否则,设定校验位为1。
可选的,在将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输之后,还包括:
以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
本申请的第二方面,提供一种译码方法,包括:
获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值;
将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵;
对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输。
可选的,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以列为单位进行分解,获取多个第一待译码子集;
计算所述第一待译码子集中对数似然比小于零的第一目标数量,以及获取所述第一待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第一目标数量是否为偶数;
如果所述第一目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+subminvalue);
其中,i为所述第一待译码子集中的位置,receive[i]为该位置的数值,receiveupdate[i]为receive[i]的修正值,β为一个常数因子,minvalue为所述第一待译码子集中绝对值的最小值,subminvalue为所述第一待译码子集中绝对值的次小值,sign为receive[i]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+fabs(receive[i]));
其中,fabs(receive[i])为receive[i]的绝对值;
如果所述第一目标数量不为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue-subminvalue);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(fabs(receive[i])-minvalue)。
可选的,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以行为单位进行分解,获取多个第二待译码子集;
计算所述第二待译码子集中对数似然比大于零的第二目标数量,以及获取所述第二待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第二目标数量是否为偶数;
如果所述第二目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+subminq);
其中,j为所述第二待译码子集中的位置,receive[j]为该位置的数值,receiveupdate[j]为receive[j]的修正值,β为一个常数因子,minq为所述第二待译码子集中绝对值的最小值,subminq为所述第二待译码子集中绝对值的次小值,sign为receive[j]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+fabs(receive[j]));
其中,fabs(receive[j])为receive[j]的绝对值;
如果所述第二目标数量不为偶数,从所述第二待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq-subminq);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(fabs(receive[j])-minq)。
可选的,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以行为单位进行分解,获取多个第三待译码子集;
根据所述第三待译码子集中元素是否大于零,将所述第三待译码子集中各元素转化为硬消息,其中,如果所述第三待译码子集中元素大于零,则将该元素的数值替换为1,否则,替换为0;
计算所述硬消息中将元素的数值替换为1的第三目标数量;
校验所述第三目标数量是否为偶数;
如果是,则将所述硬消息作为译码序列进行传输;
如果否,则将所述第三待译码子集中的绝对值最小的元素对应的硬消息进行翻转,将翻转后的硬消息作为译码序列进行传输。
本申请的第三方面,提供一种编码装置,包括:
第一获取模块,用于获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;
分解模块,用于按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;
生成模块,用于根据所述子集中目标元素的个数,生成1个比特的校验位;
组合模块,用于将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输。
可选的,还包括:
调制模块,用于以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
本申请的第四方面,提供一种译码装置,包括:
第二获取模块,用于获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值;
转化模块,用于将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵;
修正模块,用于对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输。
由以上技术方案可知,本申请提供一种编码方法、译码方法、编码装置和译码装置,该编码方法采用RS+TPC级联编码方案,仅对每行和每列进行单比特奇偶校验,故所提出方案的复杂度明显低于RS+BCH级联方案,且译码性能和以往方案的性能相比有所提高,从而解决现有级联编码方式复杂度高而导致的资源消耗大,延时长的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种编码方法的工作流程图;
图2为本申请实施例提供的TPC编码所得码字矩阵的结构示意图;
图3为本申请实施例提供的PAM4调制星座图;
图4为本申请实施例提供的一种译码方法的工作流程图;
图5为本申请实施例提供的RS+TPC级联编码方案的整体流程图;
图6为不同方案在不同译码方式和交织次数下的性能图。
具体实施方式
为了解决现有级联编码方式复杂度高而导致的资源消耗大,延时长的问题,本申请提供一种编码方法、译码方法、编码装置和译码装置。
需要说明的是,为了描述方便,涉及多个类型的“矩阵”,“矩阵”中包含多个行和列,每个位置上的信息均可称为“元素”,不同“矩阵”对应的信息种类不同,并非限定该类型的信息一定以矩阵的形式进行计算或者传输。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1所示的工作流程图,本申请实施例提供一种编码方法,包括以下步骤:
步骤101,获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射。
本级联方案外码采用RS(544,514,t=15)即KP4 FEC,内码采用TPC码。信源发出的消息经过RS编码,码长由514变成544,且伽罗华域为GF(210),因此一个编码后的RS码包含5440个信息位,通常用n(经过实验验证,在一定范围内n越大越好)个RS码进行交织,然后映射成5440×n个比特的信息位,并作为TPC编码的信息输入,此时有组行信息位长度为34比特,列信息位长度为35比特的信息矩阵。
步骤102,按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集。
步骤103,根据所述子集中目标元素的个数,生成1个比特的校验位。
该步骤中,TPC由数种分组码级联而成。全部的信息位组成一个2维以上的矩阵。矩阵每个维度都用一种分组码进行编码。构成TPC的分组码被称为分量码。本申请中用到的分量码均为单比特奇偶校验码。
TPC编码时,首先进行行编码,然后进行列编码。所述子集包括以行为单位的行子集和以列为单位的列子集。
在一种可实施的方式中,根据所述子集中目标元素的个数,生成1个比特的校验位,包括以下步骤:
步骤1031,计算行子集中第一目标元素的个数,其中,所述第一目标元素为1。
步骤1032,根据所述行子集中第一目标元素的个数的奇偶性,设定所述行子集的校验位,其中,如果行子集中包含1的个数为奇数,则设定校验位为1,否则,设定校验位为0。
编码过程中,目标元素不同,对应的校验位数值不同。相应地,译码过程需要以编码过程作为参考对应设计。
步骤1033,计算列子集中第二目标元素的个数,其中,所述第二目标元素为0。
步骤1034,根据所述列子集中第二目标元素的个数的奇偶性,设定所述列子集的校验位,其中,如果列子集中包含0的个数为奇数,则设定校验位为0,否则,设定校验位为1。
参考图2所示的结构示意图,通过这种TPC的编码方式,可以得到组有35行,36列的码字矩阵。
步骤104,将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输。
在利用AWGN信道传输之前,需要将码字矩阵进行PAM4调制,在一种可实施的方式中,在将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输之后,还包括以下步骤:以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
本申请实施例中,参考图3所示的PAM4调制星座图,由于采用PAM4调制,每两个bit对应一个symbol,“00”对应“-3”,“01”对应“01”,11对应“1”,“10”对应“3”,采用格雷码的方式。TPC编码后得到的码字矩阵可以调制成35行,18列的标记矩阵,经将调制后的标记矩阵可以作为信息通过AWGN信道。
由以上技术方案可知,本申请实施例提供一种编码方法,该编码方法采用RS+TPC级联编码方案,仅对每行和每列进行单比特奇偶校验,故所提出方案的复杂度明显低于RS+BCH级联方案,且译码性能和以往方案的性能相比有所提高,从而解决现有级联编码方式复杂度高而导致的资源消耗大,延时长的问题。
参考图4所示的工作流程图,本申请实施例提供一种译码方法,包括以下步骤:
步骤201,获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值。
该步骤中,根据以下公式计算经过信道后的各元素值:
awgnnoise=σ*rand-gaussian();
noisesymbol=symbol+awgnnoise
其中,σ为标准差,与系统的信噪比有关;rand_gaussian()是高斯随机生成函数,即在高斯函数上随机取值;awgnnoise是受白噪声影响而产生的变化值,symbol为过信道前的标记矩阵中各元素值,noisesymbol是经过信道后的各元素值,用于后面的译码过程。
步骤202,将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵。
该步骤中,可以按照以下步骤进行转化:
首先,判断信道矩阵中元素值noisesymbol是否大于2;
如果是,则根据以下公式计算对数似然比llr[0]:
llr[0]=2*(noisesymbol-1);
如果否,判断信道矩阵中元素值noisesymbol是否小于-2;
如果是,则根据以下公式计算对数似然比llr[0]:
llr[0]=2*(noisesymbol+1);
如果信道矩阵中元素值noisesymbol既不大于2,也不小于-2,则根据以下公式计算对数似然比llr:
llr[0]=noisesymbol
llr[1]=2-fabs(noisesymbol);
其中,noisesymbol为信道出来的,已经加噪后的信号值;llr[0]为低位的对数似然比,llr[1]为高位的对数似然比,fabs是取绝对值的意思。当llr>0时,该比特更有可能为1,当llr<0时,该比特更有可能为0,且llr的绝对值越大,该比特为1或者为0的可能性就越大。
步骤203,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输。
TPC的译码使用以上获得的似然矩阵中各元素的值,且是先进行列译码,再进行行译码,与编码过程相反。译码过程分为软译码和硬译码。
可选的,列软译码包括以下步骤:
将所述似然矩阵以列为单位进行分解,获取多个第一待译码子集;
计算所述第一待译码子集中对数似然比小于零的第一目标数量,以及获取所述第一待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第一目标数量是否为偶数;
如果所述第一目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+subminvalue);
其中,i为所述第一待译码子集中的位置,receive[i]为该位置的数值,receiveupdate[i]为receive[i]的修正值,β为一个常数因子,minvalue为所述第一待译码子集中绝对值的最小值,subminvalue为所述第一待译码子集中绝对值的次小值,sign为receive[i]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+fabs(receive[i]));
其中,fabs(receive[i])为receive[i]的绝对值;
如果所述第一目标数量不为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue-subminvalue);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(fabs(receive[i])-minvalue)。
在以上步骤中,对应编码过程中,计算列子集中包含0的个数,若为奇数个0,则校验位为0,若为偶数个0,则校验位为1。
在列软译码获得修正值后,通常把修正值receiveupdate和receive[i]相加起来获得新的llr值,并将新的llr值用到接下来的译码中。
本申请实施例中,行译码包括两种方式,分别为行软译码和行硬译码,其中,行软译码包括以下步骤:
将所述似然矩阵以行为单位进行分解,获取多个第二待译码子集;
计算所述第二待译码子集中对数似然比大于零的第二目标数量,以及获取所述第二待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第二目标数量是否为偶数;
如果所述第二目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+subminq);
其中,j为所述第二待译码子集中的位置,receive[j]为该位置的数值,receiveupdate[j]为receive[j]的修正值,β为一个常数因子,minq为所述第二待译码子集中绝对值的最小值,subminq为所述第二待译码子集中绝对值的次小值,sign为receive[j]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+fabs(receive[j]));
其中,fabs(receive[j])为receive[j]的绝对值;
如果所述第二目标数量不为偶数,从所述第二待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq-subminq);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(fabs(receive[j])-minq)。
在以上步骤中,对应编码过程中,计算行子集中包含1的个数,若为奇数个1,则校验位为1;若为偶数个1,则校验位为0。
行硬译码包括以下步骤:
将所述似然矩阵以行为单位进行分解,获取多个第三待译码子集;
根据所述第三待译码子集中元素是否大于零,将所述第三待译码子集中各元素转化为硬消息,其中,如果所述第三待译码子集中元素大于零,则将该元素的数值替换为1,否则,替换为0;
计算所述硬消息中将元素的数值替换为1的第三目标数量;
校验所述第三目标数量是否为偶数;
如果是,则将所述硬消息作为译码序列进行传输;
如果否,则将所述第三待译码子集中的绝对值最小的元素对应的硬消息进行翻转,将翻转后的硬消息作为译码序列进行传输。
在以上步骤中,对应编码过程中,计算行子集中包含1的个数,若为奇数个1,则校验位为1;若为偶数个1,则校验位为0。
当迭代次数为1时,仅执行一次列软译码和一次行硬译码。当迭代次数为2时,首先执行一次列软译码,一次行软译码,再执行一次列软译码,最后执行一次行硬译码。
本申请实施例中,列软译码、行软译码以及行硬译码的执行次数与迭代次数有关,行硬译码只有在迭代中的最后一次行译码才需要使用,因此本申请对于列软译码、行软译码以及行硬译码的执行次数不作具体限定。
从信道出来的软信息用TPC译码得到硬消息,将硬消息传到RS译码器中,最后就能得到最终的输出信息。综上,本申请提供的RS+TPC级联编码方案的整体流程图如图5所示。
本申请又一实施例提供一种编码装置,包括:
第一获取模块,用于获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;
分解模块,用于按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;
生成模块,用于根据所述子集中目标元素的个数,生成1个比特的校验位;
组合模块,用于将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输。
可选的,还包括:
调制模块,用于以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
可选的,所述生成模块包括:
第一计算单元,用于计算行子集中第一目标元素的个数,其中,所述第一目标元素为1;
第一设定单元,用于根据所述行子集中第一目标元素的个数的奇偶性,设定所述行子集的校验位,其中,如果行子集中包含1的个数为奇数,则设定校验位为1,否则,设定校验位为0;
第二计算单元,用于计算列子集中第二目标元素的个数,其中,所述第二目标元素为0;
第二设定单元,用于根据所述列子集中第二目标元素的个数的奇偶性,设定所述列子集的校验位,其中,如果列子集中包含0的个数为奇数,则设定校验位为0,否则,设定校验位为1。
本申请又一实施例提供一种译码装置,包括:
第二获取模块,用于获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值;
转化模块,用于将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵;
修正模块,用于对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输。
为了验证本申请提供的RS+TPC级联编码方式的复杂度低的优势,本申请进行一下复杂度分析实验。
对于内码为TPC的单比特奇偶校验,假设TPC的行码长为n,列码长为m,迭代次数为t次,可以计算得到总共需要t次软进软出的软译码(SISO)的列译码,t-1次SISO的行译码和1次软进硬出的硬译码(SIHO)的行译码。
对于一次SISO的列译码,复杂度为n(2m-3)+n*m+n*m个加法,n*m个乘法。
对于一次SISO的行译码,复杂度为m(2n-3)+m*n+m*n个加法,m*n个乘法。
对于一次SIHO的行译码,复杂度为m(n-1)个加法。
因此总共需要的加法个数复杂度为(8t-3)mn,乘法复杂度为(2t-1)mn。在本方案中n=36,m=35,因此加法复杂度为1260*(8t-3),乘法复杂度为1260*(2t-1),其中t为迭代次数。
基于以上复杂度分析,并与传统内码为BCH144的方法相比较,其中的f为BCH译码过程中翻转的比特数,平均复杂度为加法或者乘法复杂度除以码长,可以得到表一。
表一 本申请提供的RS+TPC级联编码方案与RS+BCH144的编码方案复杂度对比
内码 码率 码长 加法复杂度 乘法复杂度 平均加法复杂度 平均乘法复杂度
TPC(t=1) 0.892 1260 6300 1260 5 1
TPC(t=2) 0.892 1260 16380 3780 13 3
BCH144(f=3) 0.892 144 2304 1152 16 8
BCH144(f=4) 0.892 144 4608 2304 32 16
从表一中可以看出来,随着迭代次数增加,乘法复杂度和加法复杂度都会增加,但不管迭代次数是1还是2,内码为TPC时的平均乘法复杂度和加法复杂度都要比BCH144的内码编码方式的复杂度要低,因此本发明提出的方案满足了低算法复杂度的需求。
另外,不同译码方式和交织次数下的性能图如图6所示,其中,横坐标为信噪比(Eb/N0),纵坐标为误bit率(BER)。图6中列出了RS级联TPC和BCH144两种方案,且包括交织2和交织4两种情况。在RS级联TPC时还包括迭代次数为1和为2的两种情况。在RS级联BCH144时还包括翻转比特为3和为4的两种情况。
从图6中可以看出来在RS交织次数变多时,译码性能是会变好的。在同一交织数的情况下,本申请提出来的RS级联TPC的方案在迭代1次情况下的性能与内码为BCH144翻转3个比特的性能相当,内码为TPC迭代2次情况下的性能与内码为BCH144翻转4个比特的性能相当。但从延长线可以看出来,在输出BER为10-15时,RS级联TPC方案的性能都超过了对应的RS级联BCH144的性能。因此,本申请提出的方案不仅有较低复杂度的优点,而且能够达到较好的性能,可以为下一代以太网提供一种较低复杂度的编码方式。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上结合具体实施方式和范例性实例对本申请进行了详细说明,不过这些说明并不能理解为对本申请的限制。本领域技术人员理解,在不偏离本申请精神和范围的情况下,可以对本申请技术方案及其实施方式进行多种等价替换、修饰或改进,这些均落入本申请的范围内。本申请的保护范围以所附权利要求为准。

Claims (5)

1.一种译码方法,其特征在于,包括:
获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值;
将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵;
对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输;
其中,所述标记矩阵采用下列方法生成:
获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;
按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;
根据所述子集中目标元素的个数,生成1个比特的校验位;
将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输;
以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
2.根据权利要求1所述的译码方法,其特征在于,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以列为单位进行分解,获取多个第一待译码子集;
计算所述第一待译码子集中对数似然比符合小于零的第一目标数量,以及获取所述第一待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第一目标数量是否为偶数;
如果所述第一目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+subminvalue);
其中,i为所述第一待译码子集中的位置,receive[i]为该位置的数值,receiveupdate[i]为receive[i]的修正值,β为一个常数因子,minvalue为所述第一待译码子集中绝对值的最小值,subminvalue为所述第一待译码子集中绝对值的次小值,sign为receive[i]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue+fabs(receive[i]));
其中,fabs(receive[i])为receive[i]的绝对值;
如果所述第一目标数量不为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(minvalue-subminvalue);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[i]=2*β*sign*(fabs(receive[i])-minvalue)。
3.根据权利要求2所述的译码方法,其特征在于,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以行为单位进行分解,获取多个第二待译码子集;
计算所述第二待译码子集中对数似然比大于零的第二目标数量,以及获取所述第二待译码子集中对数似然比绝对值最小的位置以及对数似然比绝对值次小的位置;
判断所述第二目标数量是否为偶数;
如果所述第二目标数量为偶数,从所述第一待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+subminq);
其中,j为所述第二待译码子集中的位置,receive[j]为该位置的数值,receiveupdate[j]为receive[j]的修正值,β为一个常数因子,minq为所述第二待译码子集中绝对值的最小值,subminq为所述第二待译码子集中绝对值的次小值,sign为receive[j]的算术符号;
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq+fabs(receive[j]));
其中,fabs(receive[j])为receive[j]的绝对值;
如果所述第二目标数量不为偶数,从所述第二待译码子集的第一个位置开始,依次判断该位置是否为对数似然比绝对值最小的位置;
如果是,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(minq-subminq);
如果否,则根据以下公式对该位置的数值进行修正:
receiveupdate[j]=2*β*sign*(fabs(receive[j])-minq)。
4.根据权利要求1所述的译码方法,其特征在于,对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输,包括:
将所述似然矩阵以行为单位进行分解,获取多个第三待译码子集;
根据所述第三待译码子集中元素是否大于零,将所述第三待译码子集中各元素转化为硬消息,其中,如果所述第三待译码子集中元素大于零,则将该元素的数值替换为1,否则,替换为0;
计算所述硬消息中将元素的数值替换为1的第三目标数量;
校验所述第三目标数量是否为偶数;
如果是,则将所述硬消息作为译码序列进行传输;
如果否,则将所述第三待译码子集中的绝对值最小的元素对应的硬消息进行翻转,将翻转后的硬消息作为译码序列进行传输。
5.一种译码装置,其特征在于,包括:
第二获取模块,用于获取信道矩阵,所述信道矩阵与标记矩阵具有相同的行数和列数,所述信道矩阵中各元素的数值等于所述标记矩阵中对应元素的数值与计算值的加和,所述计算值为所述标记矩阵经过信道时由于噪声影响产生的数值;
转化模块,用于将所述信道矩阵中各元素转化为该元素的对数似然比,形成似然矩阵;
修正模块,用于对所述似然矩阵中各元素进行修正,将修正后的似然矩阵作为译码序列进行传输;
其中,所述标记矩阵采用下列方法生成:
获取信息矩阵,所述信息矩阵为信源经过RS编码以及预处理后形成的矩阵,所述预处理至少包括交织和映射;
按照信息矩阵中各元素所在的位置将信息矩阵分解为多个子集;
根据所述子集中目标元素的个数,生成1个比特的校验位;
将所述信息矩阵与所述校验位组合后形成的码字矩阵作为编码序列进行传输;
以行为调制单位,将所述码字矩阵调制成标记矩阵,所述标记矩阵的列数等于所述码字矩阵的列数的一半。
CN202110552038.XA 2021-05-20 2021-05-20 编码方法、译码方法、编码装置和译码装置 Active CN113300718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552038.XA CN113300718B (zh) 2021-05-20 2021-05-20 编码方法、译码方法、编码装置和译码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552038.XA CN113300718B (zh) 2021-05-20 2021-05-20 编码方法、译码方法、编码装置和译码装置

Publications (2)

Publication Number Publication Date
CN113300718A CN113300718A (zh) 2021-08-24
CN113300718B true CN113300718B (zh) 2024-04-09

Family

ID=77323134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552038.XA Active CN113300718B (zh) 2021-05-20 2021-05-20 编码方法、译码方法、编码装置和译码装置

Country Status (1)

Country Link
CN (1) CN113300718B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794480B (zh) * 2021-11-16 2022-04-12 南京风兴科技有限公司 一种面向下一代以太网的伪乘积码编码方法及装置
CN113810062B (zh) * 2021-11-17 2022-04-12 南京风兴科技有限公司 一种面向下一代以太网的gel编码方法及装置
CN115225202B (zh) * 2022-03-01 2023-10-13 南京大学 一种级联译码方法
CN114465627B (zh) * 2022-04-11 2022-07-08 苏州浪潮智能科技有限公司 一种数据存储方法、系统、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1638478A (zh) * 2004-03-29 2005-07-13 上海交通大学 数字电视地面广播混合传输系统的信道编码方法
US7071851B1 (en) * 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
CN107306140A (zh) * 2016-04-25 2017-10-31 华为技术有限公司 一种gel码字结构编码和译码的方法、装置及相关设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814398B2 (en) * 2006-06-09 2010-10-12 Seagate Technology Llc Communication channel with Reed-Solomon encoding and single parity check
CN104025459B (zh) * 2012-11-15 2017-05-24 华为技术有限公司 译码处理方法及译码器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1638478A (zh) * 2004-03-29 2005-07-13 上海交通大学 数字电视地面广播混合传输系统的信道编码方法
US7071851B1 (en) * 2005-01-31 2006-07-04 Hitachi Global Storage Technologies Netherlands B.V. Techniques for implementing non-uniform constraints in modulation encoded data
US8028216B1 (en) * 2006-06-02 2011-09-27 Marvell International Ltd. Embedded parity coding for data storage
CN107306140A (zh) * 2016-04-25 2017-10-31 华为技术有限公司 一种gel码字结构编码和译码的方法、装置及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Low-Complexity Decoder for Turbo Product Codes Based on Extended Hamming Codes;Yaqi Wang 等;《2018 IEEE 18th International Conference on Communication Technology》;99-103 *
一种改进的TPC混合译码算法;韩明 等;《导弹与航天运载技术》(第2期);111-115 *

Also Published As

Publication number Publication date
CN113300718A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN113300718B (zh) 编码方法、译码方法、编码装置和译码装置
US7653859B2 (en) System, apparatus and method for transmitting and receiving data coded by low density parity check code having variable coding rate
US8032800B2 (en) Subframe interleaving
US10992416B2 (en) Forward error correction with compression coding
TWI325259B (en) An interleaving scheme for an ldpc coded 16apsk system
WO2004068715A2 (en) Systems and processes for fast encoding of hamming codes
EP1589663A1 (en) System, apparatus and method for transmitting and receiving data coded by low density parity check code having variable coding rate
CA2988757C (en) Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 2/15 and 64-symbol mapping, and bit interleaving method using same
EP3032748A1 (en) Coding and decoding with staggered parity
KR20160101392A (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 256-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
KR20160092350A (ko) 길이가 16200이며, 부호율이 2/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
Liu et al. LDPC-RS product codes for digital terrestrial broadcasting transmission system
CN104954099B (zh) 译码迭代次数约束下累积无率码的优化设计方法
Cayci et al. Nonbinary polar coding for multilevel modulation
US8930790B1 (en) Method and apparatus for identifying selected values from among a set of values
CA2989545C (en) Bit interleaver for low-density parity check codeword having length of 16200 and code rate of 2/15 and 256-symbol mapping, and bit interleaving method using same
US8019020B1 (en) Binary decoding for correlated input information
KR20160101390A (ko) 길이가 16200이며, 부호율이 3/15인 ldpc 부호어 및 16-심볼 맵핑을 위한 비트 인터리버 및 이를 이용한 비트 인터리빙 방법
CN115225202B (zh) 一种级联译码方法
Suls et al. Semi-analytical evaluation of concatenated RS/LDPC coding performance with finite block interleaving
KR20150134505A (ko) 송신 장치 및 그의 신호 처리 방법
Xu et al. Shortened turbo product codes: encoding design and decoding algorithm
Wu Performance Analysis of Various FEC-coded OFDM Communication Systems
Tuntoolavest et al. Scaling method to increase data rate with no degradation in vector symbol decoding performance
US8259868B1 (en) Conditionally cycle-free generalized tanner graphs based decoding

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