一种面向乘积码的高吞吐量编码方法

文档序号:721194 发布日期:2021-04-16 浏览:21次 >En<

阅读说明:本技术 一种面向乘积码的高吞吐量编码方法 (Product code-oriented high throughput coding method ) 是由 韩昌彩 石硕 陈为刚 于 2020-12-14 设计创作,主要内容包括:本发明公开了一种面向乘积码的高吞吐量编码方法,乘积码编码器采用k-2组RS码编码器和一组多进制LDPC码编码器同时处理并行输入的长度为k-2的信息序列,从而分别实现列编码和行编码;完成行列编码后,将k-2组移位寄存器缓存的RS码编码结果并行输出进行LDPC码的双重校验编码;其中,该方案采用行列同时编码减小编码延迟,并通过直接输出信息序列和列校验序列进而减少硬件资源消耗。本发明实现的乘积码编码器吞吐量可达到1.2Gbps以上,满足实时编码需求,硬件实现复杂度较低,且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。(The invention discloses a high throughput coding method facing to product code, and a product code coder adopts k 2 Length k for simultaneous processing of parallel input by a set of RS code encoders and a set of multi-system LDPC code encoders 2 Thereby respectively implementing column coding and row coding; after completing the row-column coding, k is added 2 The RS code coding results cached by the group shift register are output in parallel to carry out double check coding on the LDPC code; the scheme adopts row-column simultaneous coding to reduce coding delay, and reduces hardware resource consumption by directly outputting an information sequence and a column check sequence. The product code encoder has the advantages that the throughput can reach more than 1.2Gbps, the real-time encoding requirement is met, the hardware implementation complexity is low, the product code encoder is suitable for product code encoding schemes with different code lengths and code rates, and the product code encoder has high practical application value.)

一种面向乘积码的高吞吐量编码方法

技术领域

本发明涉及数字通信编码技术领域,尤其涉及一种面向乘积码的高吞吐量编码方法。

背景技术

无线通信中存在通信距离远、信道环境复杂等问题,对通信系统的可靠性提出更高的要求。通信设备需具备体积小、功耗低的特点,为硬件实现带来巨大的挑战。通信系统通常采用信道编码技术保证数据传输的有效性,乘积码编码方案是一种编码效率高、实现复杂度较低的信道编码技术。实际应用中采用乘积码编码技术可有效提高通信系统数据处理的速率,在磁存储、光纤通信以及数字电视广播等领域被广泛应用。因此,实现一种高吞吐量的乘积码编码器具有重要的研究意义。

随着数字通信系统的可靠性逐渐成为研究的热点,寻找一种编码增益大、纠错能力强的信道编码技术显得尤为重要。乘积码于1954年由P.Elias首次提出,乘积码的码字结构由差错控制和交织技术共同实现,该结构可纠正数据在不同信道下出现的错误。乘积码由任意线性分则码构建而成,理论上可构建多维乘积码,但综合考虑实现复杂度和编译码速率等因素,在实际应用中通常设计二维或三维乘积码。构建乘积码时可选择低密度奇偶校验(Low-Density Parity-Check,LDPC)码、里德所罗门(Reed-Solomon,RS)码等分组码进行设计。

为保证通信系统数据传输的有效性,选择硬件实现复杂度低、纠错能力强的线性分组码构建乘积码是编译码器实现的关键。在乘积码子码选择和构造方面,Shah等人提出一种RS-LDPC乘积码编译码方案,该方案在高信噪比的应用场景取得较高的译码性能。近年来,随着乘积码的子码构造方案越来越灵活,使得乘积码编译码器的硬件架构设计受到广泛的关注。Tam等人基于LDPC码和RS码提出一种乘积码译码实现架构,该架构采用置信译码算法分别实现LDPC码和RS码译码器从而实现乘积码的行列译码功能,以增大硬件资源消耗为代价提高乘积码译码性能。

乘积码编译码技术在无线通信等领域取得显著的成果。针对数字电视广播系统,采用乘积码编译码技术可满足宽带无线服务迅速增长的带宽需求,同时为地面广播系统的可靠性提供有效的技术保障。进一步,Karine等人通过将乘积码编译码技术引入到无线传感网络,从而发现乘积码编码方案可有效提高节点的传输效率。因此,在无线传感网络的每个中继节点均进行编码运算,该方案以增加少量功耗为代价从而提高各节点间数据的传输速率,具有较高的应用价值。随着磁带存储数据量正在日益增长,目前存储容量已扩展100万倍,对存储技术的可靠性和错误率等关键指标都提出较高的要求。由于乘积码具备较高的编码速率和较强的纠错性能,因此被广泛应用于磁存储等信息系统中,从而保证通信系统的可靠性。除此之外,乘积码经常被应用在高吞吐率、低误比特率的场景中,Jian等人将LDPC乘积码技术应用于高速光通信系统中,并提出一种有效的迭代硬判决方案。进一步,LeBidan Raphael等人提出一种适用于光通信领域的RS-Turbo乘积码架构,该乘积码具有较好的译码性能,且实现复杂度较低。

随着乘积码在通信和存储等领域的广泛应用,具体的乘积码编译码实现方案成为学者们研究的重点方向。Thomos等人通过LDPC码和RS码构建乘积码,所实现的乘积码译码器取得较高的译码性能,从而有效解决高速的图像传输过程中大量数据出错的问题。由于LDPC码编译码器可采用高并行度的编译码架构,并且基于LDPC码校验矩阵的稀疏性,在消耗较少的硬件资源情况下,采用迭代置信传播(Belief Propagation,BP)算法可实现高性能的译码功能。此外,RS码具备纠正随机错误和突发错误的特点,在短码和中长码的应用中有较为突出的纠错能力,再加上其自身构造简单等优势,RS码被视为应用最广泛的差错控制编码技术之一,在光通信等领域已经取得显著的成果。因此,选择LDPC码和RS码构建二维乘积码具有较高的研究价值。

相较于实现单一的LDPC码或RS码编码器,乘积码编码器会给硬件资源带来更高的挑战,需要综合考虑实现复杂度和性能等因素进而选择合适的编码算法进行电路实现。近些年,随着大数据时代的到来,通信系统中编码器处理数据的效率成为重要指标之一,并且通信设备的更新也越来越频繁,因此乘积码编码器的实现方案需具备参数更换灵活、硬件实现复杂度低的优势。综上所述,设计并实现一种适用于不同码长、码率的高速乘积码编码器具有较高的研究价值。

发明人在实现本发明的过程中,发现现有技术中存在以下缺点和不足:

乘积码编码器的编码速率较低,无法同时进行乘积码的行列编码运算。

发明内容

针对乘积码编码器在实际应用中编码速率较低、硬件实现复杂度高等问题,本发明提供了一种面向乘积码的高吞吐量编码方法,本发明的编码器吞吐量较高,满足实时编码的需求,可支持不同码长、码率的乘积码编码方案,详见下文描述:

一种面向乘积码的高吞吐量编码方法,所述方法包括以下步骤:

(1)从第1个时钟周期开始,每个时钟周期并行输入的k2个符号分别进入k2组RS码编码器进行计算;k1个时钟周期后,每组RS码编码器生成长度为n1-k1的校验序列,乘积码编码器得到k2组长度为n1-k1的乘积码编码器的列校验序列;

(2)同时,从第1个时钟周期开始,每个时钟周期并行输入的k2个符号进入多进制LDPC码编码器开始编码计算并生成长度为n2-k2的校验序列;k1个时钟周期后,乘积码编码器得到k1组长度为n2-k2的乘积码编码器的行校验序列;

(3)从第k1+1个时钟周期开始,每个时钟周期k2组RS码编码器并行输出k2个符号进入多进制LDPC码编码器,经计算生成长度为n2-k2的校验序列;至第n1个时钟周期,每组RS码编码器完成寄存器缓存的n1-k1个校验符号的串行输出,乘积码编码器生成并输出n1-k1组长度为n2-k2的乘积码编码器的双重校验序列。

所述步骤(1)为:

(1.1)初始化RS码编码器,RS码编码使能信号置低电平,每组RS码编码器内部n1-k1个寄存器均为零,RS码编码器等待指示信号开始编码工作;

(1.2)当编码使能信号置高电平,RS码编码器开始工作,第1个时钟周期,并行输入的k2个信息符号分别进入k2组RS码编码器,其中,符号进入第i组RS码编码器,然后分别与n1-k1个多项式系数进行乘法运算,并将得到的乘法结果分别存入寄存器中;

(1.3)第2个时钟周期,并行输入的k2个信息符号分别进入k2组RS码编码器,其中,符号进入第i组RS码编码器,首先与寄存器中的数据进行加法运算,然后将加法结果分别与n1-k1个多项式系数进行乘法运算,最后寄存器R1直接缓存乘法结果其它n1-k1-1个乘法结果分别与上一时钟周期寄存器中缓存的数据进行加法运算,并将加法运算得到的结果分别存储到寄存器中;

(1.4)以此类推,第k1个时钟周期,并行输入的k2个信息符号进入k2组RS码编码器并执行步骤(1.3)中k2个信息符号相同的操作,k2组RS码编码器生成k2组长度n1-k1的校验序列

并将每组RS码编码器生成的校验序列存储在其内部的n1-k1个寄存器中。

所述步骤(2)为:

(2.1)初始化多进制LDPC码编码器,LDPC码编码使能置低电平,多进制LDPC码编码器等待指示信号开始编码工作,编码器内部寄存器全部为零;

(2.2)当LDPC码编码使能置高电平,多进制LDPC码编码器开始接收并行输入的信息向量;第1个时钟周期,选择器将通路①并行输入的k2个信息符号作为信息序列直接输出,与此同时将k2个信息符号并行输入多进制LDPC码编码器的求解中间变量计算单元得到中间向量进一步将中间变量m输入求解校验符号计算单元生成并输出长度为n2-k2的校验序列

(2.3)以此类推,第k1个时钟周期,k2个信息符号执行步骤(2.2)中k2个信息符号相同的操作,生成并输出长度为n2-k2的校验序列

所述步骤(3)为:

(3.1)第k1+1个时钟周期,选择器开始接收通路②的数据,每组RS码编码器输出寄存器R1缓存的校验符号,k2组RS码编码器并行输出的k2个符号经选择器作为列校验序列直接输出,与此同时k2个符号进入多进制LDPC码编码器执行步骤(2.2)中k2个信息符号相同的操作,生成并输出长度为n2-k2的校验序列

(3.2)依次类推,第n1个时钟周期,每组RS码编码器输出寄存器缓存的校验符号,k2组RS码编码器并行输出的k2个符号执行步骤(3.1)中k2个信息符号相同的操作,生成并输出长度为n2-k2的校验序列。

本发明提供的技术方案的有益效果是:乘积码编码器采用多组RS码编码器和一组多进制LDPC码编码器同时工作减小编码延迟,有效提高乘积码编码器吞吐量;并通过直接输出信息序列和列校验序列减少硬件资源消耗,从而降低硬件实现复杂度。该架构适用于不同码长、码率的乘积码编码方案,应用灵活,可适配性强。

附图说明

图1为一种面向乘积码的高吞吐量编码方法的流程图;

图2为乘积码编码器的结构示意图;

图3为并行输出k2组RS码编码结果结构示意图;

图4为多进制LDPC码编码器求解中间变量计算单元电路结构示意图;

图5为乘积码编码器工作时序图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。

本发明实施例针对通信等领域乘积码编码器硬件实现复杂度较高、吞吐量较低的问题,设计了一种面向乘积码的高吞吐量编码方法,其中,乘积码编码器由控制单元、待编码信息存储单元、RS码编码器单元以及多进制LDPC码编码单元组成;乘积码编码器采用多组RS码编码器并行工作实现列编码,并使用一组多进制LDPC码编码器并行接收信息序列从而实现行编码。该架构将移位寄存器阵列缓存的多组RS码编码结果并行输出进而减小编码延迟。本发明的乘积码编码器硬件实现复杂度较低、吞吐量较高,满足实时编码的需求,并且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。

本发明实施例提供了一种面向乘积码的高吞吐量编码方法,采用现场可编程门阵列(Field Programmable Gate Array,FPGA)或超大规模集成(Very Large SacleIntegration,VLSI)电路实现。

下面结合附图详细说明本发明的实施方式:

图1给出了本发明实施例提供的一种面向乘积码的高吞吐量编码方法的示意图,乘积码编码器采用k2组RS(n1,k1)码编码器并行工作实现列编码,与此同时使用一组多进制LDPC(n2,k2)码编码器接收行输入的信息序列实现行编码;其中,每组RS码编码器处理一组信息序列从而生成长度为n1-k1的校验序列,并将校验序列存储在移位寄存器中;多进制LDPC码编码器和RS码编码器同时开始编码工作,多进制LDPC码编码单元并行接收k2个符号进行编码运算;LDPC码的信息序列首先进入多进制LDPC码编码器的求解中间变量计算单元,然后将经计算得到的中间变量输入求解校验符号计算单元得到LDPC码的校验序列;完成乘积码行列编码后开始执行计算双重校验序列的操作,将移位寄存器阵列缓存的多组RS码编码结果并行输出进行LDPC码的双重校验编码。

图2给出了乘积码编码器结构示意图,乘积码编码方案由控制单元、待编码信息存储单元、RS码编码单元和多进制LDPC码编码单元组成;控制单元通过向其它运算单元输出控制信号从而调控乘积码编码器的编码流程;待编码信息存储单元接收来自控制单元的指示信号,执行对待编码信息的存储和传输操作;RS码编码单元在控制信号的指示下执行对待编码信息单元输出的信息序列的编码操作,并且将编码得到的校验序列输出给多进制LDPC码编码单元;多进制LDPC码编码单元在控制信号的指示下并行接收待编码信息单元和RS码编码单元输出的数据作为信息序列进行编码运算。

图3给出了并行输出k2组RS码编码结果结构示意图,RS码编码单元由k2组RS码编码器构成,每组RS码编码器完成编码运算后将长度为n1-k1的校验序列存储在移位寄存器中;完成乘积码行列编码后,每组RS码编码器内部的移位寄存器开始串行输出RS码的校验序列;此时,k2组RS码编码器并行输出的k2个符号作为多进制LDPC码编码器的信息序列继续参与计算。

图4给出了多进制LDPC码编码器求解中间变量计算单元电路结构示意图。将校验矩阵H分为子矩阵HI和子矩阵HP,多进制LDPC码编码过程可分为求解中间向量和求解校验符号两部分,首先通过长度为k2个符号信息向量与矩阵HI的乘法运算得到中间变量然后再将中间向量m与矩阵进行乘法运算从而得到多进制LDPC码的校验序列。求解中间变量计算单元电路结构示意图是多进制LDPC码编码过程中求解中间向量m的硬件实现方案,该方案将信息向量s分别与矩阵HI每行的非零元素进行乘法运算,然后将计算结果再进行加法运算,从而得到对应的中间向量,其中,si和sj分别为信息向量s的第i个符号和第j个符号,α1,i和α1,j分别为矩阵HI第一行的非零元素。

图5给出了乘积码编码器工作时序图,乘积码编码器的行列编码同时进行,从而实现实时编码功能;待编码信息单元输出的信息序列分别进入RS码编码单元和多进制LDPC码编码单元执行编码操作,每组RS码编码器需要k1+1个时钟周期完成RS码的编码运算,并且k2组RS码编码器并行输出RS码的校验序列需n1-k1个时钟周期,所以RS码编码单元处理信息序列共消耗n1+1个时钟周期;多进制LDPC码编码器并行接收长度为k2的信息序列,需消耗4个时钟周期完成编码运算;该架构共消耗n1+5个时钟周期实现编码功能,编码器编码延迟较小、吞吐量较高。

本发明具体实施例基于FPGA硬件平台,采用所述的一种面向乘积码的高吞吐量编码器结构,实现了多进制LDPC-RS乘积码编码器。

该乘积码编码器实现采用Xilinx公司Virtex-6系列xc6vlx240t-3ff1156型号的FPGA,综合器为Xilinx公司的XST。采用伽罗华域GF(256)下码长为255个符号、码率为247/255的RS码和码长为72个符号、码率为1/2的多进制LDPC码构建乘积码进而实现乘积码编码器;进一步,保持多进制LDPC码的码长、码率不变,选择伽罗华域GF(256)下码长为255个符号、码率为251/255的RS码再构建一组乘积码进行硬件实现。以多进制LDPC(72,36)-RS(255,247)乘积码的为例进而详细说明本发明实施例提出的乘积码编码器架构,其中,将待编码信息分为36组长度为247个符号的信息序列该乘积码编码器具体实现步骤如下:

(1)实现乘积码编码器的列编码:

(1.1)初始化RS码编码器,RS码编码使能信号置低电平,每组RS码编码器内部8个寄存器均为零,RS码编码器等待指示信号开始编码工作;

(1.2)当编码使能信号置高电平,RS码编码器开始工作,第1个时钟周期,并行输入的36个信息符号分别进入36组RS码编码器,其中,符号进入第i组RS码编码器,然后分别与8个多项式系数g0、g1、...、g7进行乘法运算,并将得到的乘法结果分别存入寄存器R1、R2、...、R8中;

(1.3)第2个时钟周期,并行输入的36个信息符号分别进入36组RS码编码器,其中,符号si 2进入第i组RS码编码器,首先与寄存器R8中的数据进行加法运算,然后将加法结果分别与8个多项式系数进行乘法运算,最后寄存器R1直接缓存乘法结果其它7个乘法结果分别与上一时钟周期(即第1个时钟周期)寄存器R1、R2、...、R7中缓存的数据进行加法运算,并将加法运算得到的结果分别存储到寄存器R2、R3、...、R8中;

(1.4)以此类推,第247个时钟周期,并行输入的36个信息符号进入36组RS码编码器并执行步骤(1.3)中36个信息符号相同的操作,36组RS码编码器生成36组长度8个符号的校验序列并将每组RS码编码器生成的校验序列存储在其内部的8个寄存器中。

(2)实现乘积码编码器的行编码:

(2.1)初始化多进制LDPC码编码器,LDPC码编码使能置低电平,多进制LDPC码编码器等待指示信号开始编码工作,编码器内部寄存器全部为零;

(2.2)当LDPC码编码使能置高电平,多进制LDPC码编码器开始接收并行输入的信息向量;第1个时钟周期,选择器将通路①并行输入的36个信息符号作为信息序列直接输出,与此同时将36个信息符号并行输入多进制LDPC码编码器的求解中间变量计算单元得到中间向量m={m1,m2,...,m36},进一步将中间变量m输入求解校验符号计算单元生成并输出长度为36的校验序列

(2.3)以此类推,第247个时钟周期,36个信息符号执行步骤(2.2)中36个信息符号相同的操作,生成并输出长度为36个符号的校验序列

(3)实现乘积码编码器双重校验:

(3.1)第248个时钟周期,选择器开始接收通路②的数据,每组RS码编码器输出寄存器R1缓存的校验符号,36组RS码编码器并行输出的36个符号经选择器作为列校验序列直接输出,与此同时36个符号进入多进制LDPC码编码器执行步骤(2.2)中36个信息符号相同的操作,生成并输出长度为36个符号的校验序列

(3.2)依次类推,第255个时钟周期,每组RS码编码器输出寄存器缓存的校验符号,36组RS码编码器并行输出的36个符号执行步骤(3.1)中36个信息符号相同的操作,生成并输出长度为n2-k2的校验序列

表1描述由不同子码构造乘积码的编码器硬件实现结果。首先,分析两组多进制LDPC-RS乘积码编码器的硬件资源消耗。在不改变多进制LDPC码的码长、码率的情况下,多进制LDPC(72,36)-RS(255,247)乘积码编码器和多进制LDPC(72,36)-RS(255,251)乘积码编码器使用块RAM资源数量相等,说明该乘积码架构不需要使用额外的块RAM存储RS码编码结果,减少硬件资源消耗。进一步,通过比较表1中两组乘积码编码器寄存器资源使用情况可发现,多进制LDPC(72,36)-RS(255,247)乘积码编码器比多进制LDPC(72,36)-RS(255,251)乘积码编码器多消耗1154个寄存器资源。其中,每组RS(255,247)码编码器和RS(255,251)码编码器分别使用8个和4个存储器,每个存储器负责缓存伽罗华域GF(256)下的校验符号,每个符号对应8比特的二进制数。在均采用36组RS码编码器并行工作的架构下,多进制LDPC(72,36)-RS(255,247)乘积码编码器和多进制LDPC(72,36)-RS(255,251)乘积码编码器分别使用2304个和1152个寄存器资源存储列校验序列,前者比后者多使用1152个寄存器资源。因此,当RS(n1,k1)码校验序列长度n1-k1较小时,乘积码编码器硬件实现复杂度较低。最后,分析两组多进制LDPC-RS乘积码编码器的最大工作频率以及吞吐量。两组乘积码编码器的最大工作频率基本一致,且吞吐量均达到1.2Gbps以上,说明采用多组RS码编码器并行工作的电路架构并没有给乘积码编码器的关键路径造成影响,采用该架构所实现的乘积码编码器均具有较高的吞吐量。

表1乘积码编码器硬件实现结果

乘积码编码器的运算单元主要由RS码编码单元和多进制LDPC码编码单元组成。各运算单元独立,可根据实际需求灵活修改RS码或多进制LDPC码的码长、码率。通过比较表2和表3描述不同参数的LDPC-RS乘积码编码器内部各单元资源使用情况可发现,控制单元输出的指示信号不会因编码器中参数的改变而发生变化,从而说明该架构下设计的状态机以及流水线输出控制信号适用不同参数的乘积码编码方案。由于未改变多进制LDPC码的码长、码率,多进制LDPC码编码单元资源消耗不变。RS码编码单元由36组RS码编码器组成,RS(255,247)码编码器寄存器资源和查找表资源分别为88和124,RS(255,251)码编码器寄存器资源和查找表资源分别为56和69,说明RS码编码器的硬件实现复杂度均较低。采用36组RS码编码器并行工作不会影响乘积码编码器整体硬件资源消耗。

表2 LDPC(72,36)-RS(255,247)乘积码编码器各模块资源占用情况

表3 LDPC(72,36)-RS(255,251)乘积码编码器各模块资源占用情况

综上所述,本发明实施例提供了一种面向乘积码的高吞吐量编码方法。乘积码编码器采用多组RS码编码器并行工作实现列编码,与此同时使用一组LDPC码编码器并行输入信息序列实现行编码,进而将移位寄存器阵列缓存的多组RS码编码结果并行输出进行LDPC码的双重校验编码。FPGA测试结果表明,该编码方法可以有效减小编码延迟,所实现的乘积码编码器吞吐量均可到达1.2Gbps以上。采用该架构实现的乘积码编码器吞吐量较高,硬件实现复杂度较低,满足实时编码的需求,且适用于不同码长、码率的乘积码编码方案,具有较高的实际应用价值。

本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。

本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:通信处理方法、装置及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类