CN107888334B - 基于lt码与ldpc码级联的随机编、译码器及方法 - Google Patents
基于lt码与ldpc码级联的随机编、译码器及方法 Download PDFInfo
- Publication number
- CN107888334B CN107888334B CN201710913800.6A CN201710913800A CN107888334B CN 107888334 B CN107888334 B CN 107888334B CN 201710913800 A CN201710913800 A CN 201710913800A CN 107888334 B CN107888334 B CN 107888334B
- Authority
- CN
- China
- Prior art keywords
- random
- coding
- code
- ldpc
- matrix
- 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
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/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
-
- 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
-
- 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/0064—Concatenated codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种基于LT码与LDPC码级联的随机编、译码器及方法,其中,编码器包括:伪随机数产生器,用于根据输入密钥,生成随机数;随机数包括:随机key值和随机控制字;LT分组编码模块,用于根据随机key值对输入信息进行分组编码,输出LT编码符号;LDPC编码模块,用于根据随机控制字,对LT编码符号进行随机化的LDPC编码,输出编码序列。通过本发明解决了随机化问题带来的纠错性能高速恶化和硬件布线复杂度严重攀升的问题,给出了一种复杂度低、性能优异且可工程实现的海量随机编码方案,在提供海量随机性的同时,具有极低的计算复杂度,并且可以提供接近信道容量极限的优异纠错性能。
Description
技术领域
本发明属于随机化的信道编码译码技术领域,尤其涉及一种基于LT码与LDPC码级联的随机编码器和编码方法,以及一种基于LT码与LDPC码级联的随机译码器和译码方法。
背景技术
捷变的随机信号传输技术可以提高信号的不确定性,增加信息破译难度,防止窃听,有效提高信息的安全性。特别在空天一体化无线通信系统中,由于电磁信号传输环境的开放性和通用性,网络中的所有信息对所有设备都是公开的。只要拥有合适的设备,任何人在发射功率的有效覆盖范围内,都可以接入无线网络中窃听其它用户的发送信息。
目前,捷变随机信号技术在传输上主要应用在网络层的随机编码上,通过在网络编码过程中引入随机编码来扩展安全性,物理层的随机编码由于需要同时兼顾纠错编性能以及解决随机性引入后软译码的复杂度高速攀升问题,其应用方案相对较少,并且具有很多局限性。已有方案中包括Turbo编码引入随机编码和LDPC(Low Density Parity CheckCode,LDPC,低密度奇偶校验)编码引入随机编码两种方案,其中,LDPC码由于具有更好的并行处理能力、低处理时延和优异的纠错性能,在实际使用上优势更加明显。现有的LDPC随机编译码方案,利用不同矩阵的切换来达到随机编码的结果,但该方法也具有明显的局限性,其对随机性的可变类型数和可用的编码码长具有很大的限制。编码的随机化将引起编译码矩阵的变化,而编译码器的布线复杂度将随着使用的矩阵数量快速提高,引起硬件的布线拥塞问题,同时为了实现一定范围的矩阵变化,需要严格控制单个矩阵的编译码复杂度,使得性能更好的长码难以应用,另外由于需要兼容不同结构矩阵,编译码器的硬件资源需求量也很大。
发明内容
本发明的技术解决问题:克服现有技术的不足,提供一种基于LT码与LDPC码级联的随机编码器和编码方法,以及一种基于LT码与LDPC码级联的随机译码器和译码方法,在提供海量随机性的同时,具有极低的计算复杂度,并且可以提供接近信道容量极限的优异纠错性能。
为了解决上述技术问题,本发明公开了一种基于LT码与LDPC码级联的随机编码器,包括:级联的LT分组编码模块和LDPC编码模块,以及伪随机数产生器;
伪随机数产生器,用于根据输入密钥,生成随机数;其中,所述随机数,包括:随机key值和随机控制字;
LT分组编码模块,用于根据所述随机key值对输入信息进行分组编码,输出LT编码符号;
LDPC编码模块,用于根据所述随机控制字,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
在上述基于LT码与LDPC码级联的随机编码器中,所述LT分组编码模块,包括:输入信息缓存器、多个随机抽样器和多个LT编码器;
输入信息缓存器,用于对k比特的输入信息进行分组,得到a组m比特的信息序列,将各组m比特的信息序列分别送入所述多个随机抽样器;其中,a=k/m;
多个随机抽样器,用于根据所述随机key值,按照度分布对各组m比特的信息序列进行抽样,得到a组抽样结果;其中,一个随机抽样器对应处理一组m比特的信息序列;
多个LT编码器,用于分别对a组抽样结果进行编码,得到k比特的LT编码符号,输出所述k比特的LT编码符号;其中,一个LT编码器对应处理一组抽样结果。
在上述基于LT码与LDPC码级联的随机编码器中,所述LDPC编码模块,包括:LT编码符号缓存器、多个随机位移产生器、多个数据抽取器、累积器和编码输出选择开关;
LT编码符号缓存器,用于对所述多个LT编码器输出的k比特的LT编码符号进行缓存,以及,对所述k比特的LT编码符号进行分组,得到r组L比特的LT编码符号,将r组L比特的LT编码符号分别送入所述多个随机位移产生器;其中,r=k/L;
多个随机位移产生器,用于根据所述随机控制字,产生LDPC校验矩阵中各分块矩阵的初始位移;
多个数据抽取器,用于根据LDPC校验矩阵中各分块矩阵的初始位移,抽样产生校验矩阵各行编码所需的LT编码符号,并顺序送入累积器进行累积计算;
累积器,用于对各数据抽取器顺序送入的校验矩阵各行编码所需的LT编码符号进行累积计算,产生LDPC校验符号;
编码输出选择开关,用于通过切换控制,将r组L比特的LT编码符号和累积器输出的LDPC校验符号进行拼接,并顺序输出。
在上述基于LT码与LDPC码级联的随机编码器中,所述随机数,还包括:随机存储偏移β;
其中,所述多个LT编码器在输出所述k比特的LT编码符号时,包括:
根据所述随机存储偏移β,将k比特的LT编码符号写入所述LDPC编码模块下的LT编码符号缓存器中。
在上述基于LT码与LDPC码级联的随机编码器中,多个数据抽取器,用于:
根据分块矩阵的初始位移,依次抽取校验矩阵每一行编码所需的LT编码符号,其中,一个数据抽取器对应处理一个分组对应的校验矩阵;每个数据取样器一次取出一个或零个比特,各取样器共取出d比特,d为当前校验矩阵行分块中非零子矩阵的数量,抽取比特在各分组中的位置为(qx+s)mod(L-1),0≤x≤d-1,qx表示第x个非零子矩阵的随机初始位移,s表示子矩阵行号。
在上述基于LT码与LDPC码级联的随机编码器中,
输入信息缓存器为:k比特的输入信息缓存器;
多个随机抽样器为:a个随机抽样器;
多个LT编码器为:a个LT编码器;
LT编码符号缓存器为:k比特的LT编码符号缓存器;
多个随机位移产生器为:r个随机位移产生器;
多个数据抽取器为:r个数据抽取器。
在上述基于LT码与LDPC码级联的随机编码器中,所述LDPC编码模块,包括:校验模块和信息模块;其中,校验模块为循环累积结构,包括:校验矩阵,校验矩阵的子矩阵大小为L×L;信息模块为准循环结构,包括:准循环子矩阵;
LDPC编码模块,用于根据所述随机控制字,通过切换信息模块下的准循环子矩阵的初始位移量,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
本发明还公开了一种基于LT码与LDPC码级联的随机编码方法,包括:
根据输入密钥,生成随机数;其中,所述随机数,包括:随机key值和随机控制字;
根据所述随机key值对输入信息进行分组编码,输出LT编码符号;
根据所述随机控制字,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
本发明还公开了一种基于LT码与LDPC码级联的随机译码器,包括:级联的LDPC译码模块和LT分组译码模块;
LDPC译码模块,用于根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;将还原信息序列划分为a组m比特的还原信息序列;对各组m比特的还原信息序列进行组内存储偏移恢复;
LT分组译码模块,用于根据密钥还原各分组的LT编码矩阵;根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
本发明还公开了一种基于LT码与LDPC码级联的随机译码方法,包括:
根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;
根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;
将还原信息序列划分为a组m比特的还原信息序列;
对各组m比特的还原信息序列进行组内存储偏移恢复;
根据密钥还原各分组的LT编码矩阵;
根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
本发明具有以下优点:
(1)本发明公开了一种基于LT码与LDPC码级联的随机编、译码器及方法,编码及译码由两级编码构成,其中,外码为LT编码(喷泉编码),内码为弱随机性的LDPC编码,将海量随机性扩展和软译码复杂度攀升的矛盾进行隔离,解决了随机化问题带来的纠错性能高速恶化和硬件布线复杂度严重攀升的问题,给出了一种复杂度低、性能优异且可工程实现的海量随机编码方案,在提供海量随机性的同时,具有极低的计算复杂度,并且可以提供接近信道容量极限的优异纠错性能。
(2)在本发明中,LDPC码(内码)通过循环移位向量的随机变化产生不同编码,降低随机化对软判决译码带来的节点互连恶化问题,通过存储优化筛选后的高性能校验阵结合软判决译码获得弱随机性的高性能纠错编码。弱随机准循环LDPC码,避免实时构造导致的性能陡降,同时限制随机化对节点互联复杂度的恶化,使得软判决译码可译,保证强大的纠错性能。
(3)在本发明中,LT码(外码)采用实时随机抽样编码,可形成复杂的随机互联结构,充分扩展随机性,采用硬判决译码,降低随机性对译码复杂度造成的影响,易于实现低复杂度的海量随机编译码。
附图说明
图1是本发明实施例中一种基于LT码与LDPC码级联的随机编码器的结构框图;
图2是本发明实施例中又一种基于LT码与LDPC码级联的随机编码器的结构框图;
图3是本发明实施例中一种基于LT码与LDPC码级联的随机编码方法的流程示意图;
图4是本发明实施例中一种随机码字的1取值的分布概率图;
图5是本发明实施例中一种的随机码字的相邻互相关概率分布图;
图6是本发明实施例中一种各相邻位的分组出现概率的统计图;
图7是本发明实施例中一种仿真结果示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公共的实施方式作进一步详细描述。
本发明公开了一种基于LT码与LDPC码级联的随机编译码器,及编译码方法,编码及译码由两级编码构成,其中,外码为LT编码(喷泉编码),内码为弱随机性的LDPC编码。编码过程:先进行LT编码,再进行LDPC编码;译码过程:先进行LDPC译码,再进行LT译码。本发明基于喷泉编码领域的级联编码优化编译码复杂度的思路,提出了一种软硬判决分离的LT码和LDPC码级联方案,解决了随机化问题带来的纠错性能高速恶化和硬件布线复杂度严重攀升的问题,给出了一种复杂度低、性能优异且可工程实现的海量随机编码方案。
实施例一
参照图1,示出了本发明实施例中一种基于LT码与LDPC码级联的随机编码器的结构框图。在本实施例中,所述基于LT码与LDPC码级联的随机编码器,包括:级联的LT分组编码模块和LDPC编码模块,以及伪随机数产生器。
如图1;
伪随机数产生器,用于根据输入密钥,生成随机数。
在本实施例中,所述随机数具体可以包括:随机key值和随机控制字。
LT分组编码模块,用于根据所述随机key值对输入信息进行分组编码,输出LT编码符号。
在本实施例中,LT分组编码模块通过将信息序列分为若干组,对每组分别进行LT编码,随机数产生器在密钥的控制下产生随机抽样数列,LT编码器根据度分布将对应的随机抽样信息比特进行编码运算,编码后的序列在随机位移向量的控制下存入缓存器后再进行下一级的编码(LDPC编码)。
LDPC编码模块,用于根据所述随机控制字,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
在本实施例中,LDPC编码模块是一个带随机性的准循环LDPC码编码过程,校验位部分采用重复累积结构得到双对角结构的校验矩阵。编码过程首先由伪随机产生器控制产生循环移位分组的序号,然后根据该序号导入各子矩阵对应的循环移位向量,在该向量的控制下编码器完成校验矩阵对应信息位部分的加和,再将结果送入累加器进行校验位的递推计算。
实施例二
在本发明的一优选实施例中,参照图2,示出了本发明实施例中又一种基于LT码与LDPC码级联的随机编码器的结构框图。
如图2:
所述LT分组编码模块具体可以包括:输入信息缓存器、多个随机抽样器和多个LT编码器。
在本实施例中,输入信息缓存器,用于对k比特的输入信息进行分组,得到a组m比特的信息序列,将各组m比特的信息序列分别送入所述多个随机抽样器;其中,a=k/m;多个随机抽样器,用于根据所述随机key值,按照度分布对各组m比特的信息序列进行抽样,得到a组抽样结果;其中,一个随机抽样器对应处理一组m比特的信息序列;多个LT编码器,用于分别对a组抽样结果进行编码,得到k比特的LT编码符号,输出所述k比特的LT编码符号;其中,一个LT编码器对应处理一组抽样结果。其中,与各分组相对应的,输入信息缓存器为:k比特的输入信息缓存器;多个随机抽样器为:a个随机抽样器;多个LT编码器为:a个LT编码器。
所述LDPC编码模块具体可以包括:LT编码符号缓存器、多个随机位移产生器、多个数据抽取器、累积器和编码输出选择开关。
在本实施例中,LT编码符号缓存器,用于对所述多个LT编码器输出的k比特的LT编码符号进行缓存,以及,对所述k比特的LT编码符号进行分组,得到r组L比特的LT编码符号,将r组L比特的LT编码符号分别送入所述多个随机位移产生器;其中,r=k/L;多个随机位移产生器,用于根据所述随机控制字,产生LDPC校验矩阵中各分块矩阵的初始位移;多个数据抽取器,用于根据LDPC校验矩阵中各分块矩阵的初始位移,抽样产生校验矩阵各行编码所需的LT编码符号,并顺序送入累积器进行累积计算;累积器,用于对各数据抽取器顺序送入的校验矩阵各行编码所需的LT编码符号进行累积计算,产生LDPC校验符号;编码输出选择开关,用于通过切换控制,将r组L比特的LT编码符号和累积器输出的LDPC校验符号进行拼接,并顺序输出。其中,与各分组相对应的,LT编码符号缓存器为:k比特的LT编码符号缓存器;多个随机位移产生器为:r个随机位移产生器;多个数据抽取器为:r个数据抽取器。
在本发明的一优选实施例中,所述随机数还可以包括:随机存储偏移β。所述多个LT编码器在输出所述k比特的LT编码符号时,具体可以包括:根据所述随机存储偏移β,将k比特的LT编码符号写入所述LDPC编码模块下的LT编码符号缓存器中。
优选的,在将k比特的LT编码符号写入所述LDPC编码模块下的LT编码符号缓存器中时,具体的写入顺序可以如下:将a个LT编码的分组从0开始进行编号,分组号分别记为0,1,···,a-1;LT编码符号缓存器的k个比特位置分别记为0,1,···,k-1;那么第i个分组的LT编码产生的第j个LT编码符号在LT编码符号缓存器中的存储位置为[(i+β)mod(a-1)]*m+j。
在本发明的一优选实施例中,所述多个数据抽取器,具体可以用于:根据分块矩阵的初始位移,依次抽取校验矩阵每一行编码所需的LT编码符号,其中,一个数据抽取器对应处理一个分组对应的校验矩阵;每个数据取样器一次取出一个或零个比特,各取样器共取出d比特,d为当前校验矩阵行分块中非零子矩阵的数量,抽取比特在各分组中的位置为(qx+s)mod(L-1),0≤x≤d-1,qx表示第x个非零子矩阵的随机初始位移,s表示子矩阵行号。
在本发明的一优选实施例中,所述LDPC编码模块可以由校验模块和信息模块组成。其中,校验模块为循环累积结构,包括:校验矩阵,校验矩阵的子矩阵大小为L×L;信息模块为准循环结构,包括:准循环子矩阵。优选的,LDPC编码模块,用于根据所述随机控制字,通过切换信息模块下的准循环子矩阵的初始位移量,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。可见,在本实施例中,所述LDPC编码模块主要完成随机化的LDPC编码计算,在实际应用中,该随机化的LDPC编码模块也可以用一般的非随机化LDPC编码模块代替,代替后的级联编码随机性将减弱,但实现复杂度可以降低。
实施例三
基于上述实施例,本发明还公开了一种基于LT码与LDPC码级联的随机编码方法。在本实施例中,所述基于LT码与LDPC码级联的随机编码方法的具体编码过程分为两级:第一级是一个基于LT编码的分组随机抽样编码,通过将信息序列分为若干组,对每组分别进行LT编码;第二级编码是一个结构化的随机LDPC编码,校验部分为循环累积结构,信息部分为准循环结构。其中,所述基于LT码与LDPC码级联的随机编码方法,包括:根据输入密钥,生成随机数;其中,所述随机数,包括:随机key值和随机控制字;根据所述随机key值对输入信息进行分组编码,输出LT编码符号;根据所述随机控制字,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
参照图3,示出了本发明实施例中一种基于LT码与LDPC码级联的随机编码方法的流程示意图。以一个实际编码流程为例对所述基于LT码与LDPC码级联的随机编码方法进行说明:
将编码输入的二进制输入信息序列记为U=(u0,u1,···,uk-1),k表示输入信息序列的长度,所述基于LT码与LDPC码级联的随机编码方法的具体过程如下:
I.初始化:随机信号发生器根据输入密钥设置计算初始态的随机种子。
II.一级编码:
步骤S11,将输入的信息序列U分成a个不同分组,每个分组为m比特,其中m=k/a,令i为各分组的序号,有0≤i≤a-1。
步骤S12,随机信号发生器产生各分组抽样所需的key值,并传递到各分组的随机抽样器;同时,随机信号发生器产生存储所需的随机存储偏移β,并传递到LT编码符号缓存器。
步骤S13,将当前的组内编码计数值j设置为0,即代表开始对分组内的第0个LT编码符号进行编码。
步骤S14,根据伪随机数产生器模块产生的key值,按照度分布对第j个LT编码符号编码所需的信息比特进行抽样。
步骤S15,各分组将抽样得到的信息比特进行异或操作,产生各分组的第j个LT编码符号,并将该LT编码符号存入LT编码符号缓存器中下标位置为[(i+β)mod(a-1)]*m+j的单元中。
步骤S16,将当前的组内编码计数值加1,若此时编码计数值等于m,转入Ⅲ进行二级编码计算,否则跳回步骤S14进行分组中下一个LT编码符号的计算。
Ⅲ.二级编码:
步骤S21,将LT编码符号缓存器中k比特的向量v=(v0,v1,···,vk-1)分成r个分组,每个分组为L比特,其中r=k/L。序号以信息序列的输入顺序从0开始对每个分组进行标识。
步骤S22,将累积器的初始值置为0。
步骤S23,将当前处理的行分块序号R设为0。
步骤S24,各分组根据伪随机数产生器模块送来的随机控制字,产生当前行分块中各子矩阵的初始位移。
步骤S25,将当前处理的子矩阵行号s设为0。
步骤S26,根据各子矩阵的初始位移和子矩阵行号s,在子矩阵对应的分组中进行取数,并将所有取出比特进行异或操作得到当前时刻t的校验和wt。其中,每个分组取出一个或零个比特,共取出d比特,d为该行分块中非零子矩阵的数量,取出比特在各分组中的下标为(qx+s)mod(L-1),0≤x≤d-1,qx为第x个非零子矩阵的随机初始位移。
步骤S27,将子矩阵行号计数s加1。
步骤S28,若s≠L,则跳转至步骤S26进行下一个校验和wt+1的计算,否则继续后面的步骤S29。
步骤S29,若R=r,则进入步骤S210;否则R值加1,跳转至步骤S24进行下一分块的处理。
步骤S210,将产生校验比特依次送入累加器,计算第t时刻的校验比特累加和Pt=wt+wt-1,加和运算为二进制模二和。
Ⅳ.选择输出:
选择随机编码比特输出,对于t=0,1,2,···,k-1时刻,编码选择开关依次选择LT编码符号缓存器中的k比特进行顺序输出。在t>k-1的其它时刻将累加校验和Pt进行顺序输出。
实施例四
本发明还公开了一种基于LT码与LDPC码级联的随机译码器,包括:级联的LDPC译码模块和LT分组译码模块。其中,LDPC译码模块,用于根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;将还原信息序列划分为a组m比特的还原信息序列;对各组m比特的还原信息序列进行组内存储偏移恢复;LT分组译码模块,用于根据密钥还原各分组的LT编码矩阵;根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
实施例五
本发明还公开了一种基于LT码与LDPC码级联的随机译码方法,包括:根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;将还原信息序列划分为a组m比特的还原信息序列;对各组m比特的还原信息序列进行组内存储偏移恢复;根据密钥还原各分组的LT编码矩阵;根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
优选的,在恢复组内存储偏移时,第i个分组的第j个比特的原始位置为i*m+j,其中0≤i≤a-1,0≤j≤m-1,经过偏移恢复后的位置为[(i+a-1-β)mod(a-1)]*m+j。
实施例六
基于前述内容可知,对于一级编码LT码,其编码步骤中具有两次随机化过程,第一次随机化过程是对各分组内的信息比特进行随机抽样得到的异或随机编码比特。由于每个分组的随机化是完全独立抽样的,且过程相同,若分组数为a个分组,每个分组内的序列变化种类为z,那么编码后总序列的变化类型数为za。
而在分组内部,每个分组LT编码的码长为r,由信息分组的m比特编码得到,由于r比特的码字由m比特信息随机抽样异或得到,每个编码比特抽样的比特个数最小为1个,最大为m个,对于抽样数为x的异或组成可能为种,因此每比特编码的构成可能性共有种。由于每编码分组有r比特,且共有a个分组,因此整个一级编码过程的编码构成可能为种。但无论其编码由哪些比特位运算得到,每个分组可产生的编码序列数量仍为2r种,整个一级编码过程的码字序列的变化类型为za,即2r×a种。码字序列的变化类型指的是在给定一个输入信息序列后,可能产生的不同编码输出序列结果的个数,即一个信息序列经过编码映射过程后可能得到的序列样本总数。
LT编码的第二次随机化过程在于编码缓存时的随机相移,通过该相移操作后,输入到下一级LDPC编码的比特具有更强的随机组成。由于移位操作的存在,缓存序列中的比特位的位置和分组构成不再具有一一对应关系,因此每一编码比特的可能构成种类数增加为种,而整个一级编码序列的编码构成可能则变为种。虽然在加入位移后,一级编码的码字序列变化类型没有得到提高,仍为2r×a种,即编码后映射得到的总码本空间不变,但由于编码构成种类的提升,编码的映射关系变得更加复杂,原始信息与码字的对应关系可能性更多,因此破解难度更大,安全性更强。
二级编码是一个弱随机的准循环LDPC编码,它对一级编码的输出产生随机性的校验比特,出于性能上的考虑,随机LDPC的编码通过预先构造存储后进行抽样的机制实现随机化,这是因为海量的实时构造难以达到优越的译码性能,难以适应高速海量数据的传输要求。将存储的LDPC编码矩阵数量记为b,因为校验位的运算组成由矩阵完全确定,因此每比特校验信息构成的可能类型与矩阵可能个数一致,同为b种。对于整个校验序列,各比特间具有相关性,当矩阵确定后,整个校验序列的组成关系也一定,因此,整个校验序列的编码构成可能为b种。结合一级LT编码的编码构成,级联编码后输出码序列的编码构成种类共有种。编码构成可能数量指信息序列和码字序列之间可能的产生方式数量,即信息序列和编码样本空间的映射关系数量。对于相同的信息输入和相同的编码样本输出空间,如果映射关系改变,那么整个译码的恢复过程也就改变,因此其对编码的随机性同样具有重要的意义。
对于码字序列的变化类型,虽然从单个校验比特上看,它由一级编码的随机生成比特加和得到,其0、1取值也具有随机的0、1组成,但由于输入编码序列和校验矩阵确定,整个校验产生序列是唯一确定的。因此,对于一级编码扩展b种可能矩阵的LDPC编码后,码本空间的数量最多可以扩展b倍。对于特殊的全零序列,各LDPC编码矩阵编码后的校验结果均为全零,该情况下二级编码对一级编码的码字样本空间没有带来扩展,随机性没有得到扩充,但对于非全零输入,b种矩阵编码后的结果一般都各不相同。因此,可以认为二级编码加入后,对一级编码的编码产出总数量扩展了b倍。联合一级编码的分析结果,对于一个固定的信息序列编码后可能产生的码字序列的变化类型为b·2r×a种。
综合以上分析,级联随机编码的码变化种类数为:
(1)码字序列的变化类型为:=b×2r×a种;
针对编码类型变化种类指标,下面以具体的编码参数进行讨论计算。对于码率较高的情况R=4/5,采用提出的级联编码方案,构造码长为10240比特的LDPC编码,其中LDPC编码抽样的随机矩阵构造数量为210种,即b=210。LT编码的码分组长度分别取16、32和64比特三种情况,即r1=16,r2=32,r3=64,对应分组数为a1=512,a2=256,a3=128。LT编码采用输入与输出等长的无码率损失编码,即m1=16,m2=32,m3=64。根据以上分析,编码类型的变化种类如下表1所示:
编码参数 | 码字序列的变化类型数 | 编码构成的可能数量 |
Case1 | 2<sup>10</sup>×2<sup>16×512</sup>=2<sup>8202</sup> | 2<sup>49</sup> |
Case2 | 2<sup>10</sup>×2<sup>32×256</sup>=2<sup>8202</sup> | 2<sup>64</sup> |
Case3 | 2<sup>10</sup>×2<sup>64×128</sup>=2<sup>8202</sup> | 2<sup>95</sup> |
表1,码率R=4/5几种随机编码结果示意表
对于码率较低的情况R=1/2,同样构造码长为10240比特的LDPC编码,随机矩阵变化数量b=210种。LT编码的参数取r1=16,r2=32,r3=64;a1=320,a2=160,a3=80;m1=16,m2=32,m3=64。编码类型的变化种类计算如下表2所示:
编码参数 | 码字序列的变化类型数 | 编码构成的可能数量 |
Case1 | 2<sup>10</sup>×2<sup>16×320</sup>=2<sup>5130</sup> | 25×2<sup>47</sup> |
Case2 | 2<sup>10</sup>×2<sup>32×160</sup>=2<sup>5130</sup> | 25×2<sup>62</sup> |
Case3 | 2<sup>10</sup>×2<sup>64×80</sup>=2<sup>5130</sup> | 25×2<sup>93</sup> |
表2.码率R=1/2几种随机编码结果示意表
由以上表格的数据结果可以看到,编码的变化种类数在高码率和低码率的情况下都非常丰富,其优异的编码随机性得益于LT编码部分的强随机抽样特性,由于采用级联方案,编码的随机化没有因为LDPC编码的环结构、性能约束和准循环结构而受到大的限制。并且该编码方案在编码构成种类上变化非常丰富,具有多变的码映射关系。从表中结果也可以看出,一级LT编码的分组大小改变并没有引起编码产生的总码本空间数量的改变,从这一点上看它似乎对编码的随机性没有影响,但随着分组的扩大,编码的构成种类却获得了很大的提升,说明信息比特与码字的映射关系随机性更强,安全性更高,但随着分组的扩大,其编码译码复杂度也更高。
对本发明产生的随机编码进行分布及相关性统计结果如下:
对级联编码产生的10000个码字序列进行各比特位的0、1取值统计,级联编码后的码字长度为10240比特。图4中的曲线为10000个不同码字中第1个比特位置到第10240个比特位置取值为1的概率分布,对应的取0值概率可以通过概率总和为1的关系计算得到。由图4可见,在10000次编码中序列各比特位置取1的数学期望基本为0.5,1取值的概率波动小于0.02。虽然波动特性一定程度上受统计数量的影响,但从总体结果来看,级联编码产生序列的各比特位的0、1取值相当均匀,编码后单个比特的0、1分布比较理想。
图5是级联编码的相邻码字的距离统计情况。对10000个产生的级联随机编码码字进行统计,连续两帧级联编码的码间距离分布如下图所示。由图5可见,码间距离的分布具有对称性,中值约为码长10240的一半,即5120。码距离的分布整体成正态分布图样,码距离小于4900或5300的情况在统计中未有出现,从图中的统计结果可以看到,产生的随机码字具有较大且相对稳定的码距离分布。
对10000个编码序列,相邻两比特位置的组合情况进行统计,相邻两比特的可能取值为“00”,“01”,“10”,“11”四种,对10239个相邻位置的组合方式进行统计,对取值最多和最小的分组概率进行记录。图6为各相邻位的分组出现概率统计情况,由图可见,在10000个编码序列中,各相邻比特的01组合中,出现概率最高的组合的出现概率不超过27%,而出现概率最低的组合概率则不低于23%,各分组的出现概率约在25%左右。以上结果说明各比特位的01取值没有影响相邻比特位的取值,编码序列的相邻比特无明显相关性。
对本发明的随机编码性能验证。仿真验证使用码长为10240比特,信息长度为8192的4/5码率随机编码,使用3阶、4阶和5阶调制解调处理。
从图7的性能仿真可见,本发明的随机编码方法无论在3阶调制、4阶调制还是5阶调制情况下,系统均取得了好的传输性能。编码的随机特性和捷变特性没有对系统产生明显的性能损耗。它在提高信息传输安全性的同时,仍然维持了信息的高传输效率。
综上所述,本发明公开了一种基于LT码与LDPC码级联的随机编、译码器及方法,编码及译码由两级编码构成,其中,外码为LT编码(喷泉编码),内码为弱随机性的LDPC编码,将海量随机性扩展和软译码复杂度攀升的矛盾进行隔离,解决了随机化问题带来的纠错性能高速恶化和硬件布线复杂度严重攀升的问题,给出了一种复杂度低、性能优异且可工程实现的海量随机编码方案,在提供海量随机性的同时,具有极低的计算复杂度,并且可以提供接近信道容量极限的优异纠错性能。
其次,LDPC码(内码)通过循环移位向量的随机变化产生不同编码,降低随机化对软判决译码带来的节点互连恶化问题,通过存储优化筛选后的高性能校验阵结合软判决译码获得弱随机性的高性能纠错编码。弱随机准循环LDPC码,避免实时构造导致的性能陡降,同时限制随机化对节点互联复杂度的恶化,使得软判决译码可译,保证强大的纠错性能。
此外,LT码(外码)采用实时随机抽样编码,可形成复杂的随机互联结构,充分扩展随机性,采用硬判决译码,降低随机性对译码复杂度造成的影响,易于实现低复杂度的海量随机编译码。
本说明中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
本发明说明书中未作详细描述的内容属于本领域专业技术人员的公知技术。
Claims (7)
1.一种基于LT码与LDPC码级联的随机编码器,其特征在于,包括:级联的LT分组编码模块和LDPC编码模块,以及伪随机数产生器;
伪随机数产生器,用于根据输入密钥,生成随机数;其中,所述随机数,包括:随机key值和随机控制字;
LT分组编码模块,用于根据所述随机key值对输入信息进行分组编码,输出LT编码符号;
LDPC编码模块,用于根据所述随机控制字,对所述LT编码符号进行随机化的LDPC编码,输出编码序列;
其中:
所述LT分组编码模块,包括:输入信息缓存器、多个随机抽样器和多个LT编码器;其中,输入信息缓存器,用于对k比特的输入信息进行分组,得到a组m比特的信息序列,将各组m比特的信息序列分别送入所述多个随机抽样器;其中,a=k/m;多个随机抽样器,用于根据所述随机key值,按照度分布对各组m比特的信息序列进行抽样,得到a组抽样结果;其中,一个随机抽样器对应处理一组m比特的信息序列;多个LT编码器,用于分别对a组抽样结果进行编码,得到k比特的LT编码符号,输出所述k比特的LT编码符号;其中,一个LT编码器对应处理一组抽样结果;
所述LDPC编码模块,包括:LT编码符号缓存器、多个随机位移产生器、多个数据抽取器、累积器和编码输出选择开关;其中,LT编码符号缓存器,用于对所述多个LT编码器输出的k比特的LT编码符号进行缓存,以及,对所述k比特的LT编码符号进行分组,得到r组L比特的LT编码符号,将r组L比特的LT编码符号分别送入所述多个随机位移产生器;其中,r=k/L;多个随机位移产生器,用于根据所述随机控制字,产生LDPC校验矩阵中各分块矩阵的初始位移;多个数据抽取器,用于根据LDPC校验矩阵中各分块矩阵的初始位移,抽样产生校验矩阵各行编码所需的LT编码符号,并顺序送入累积器进行累积计算;累积器,用于对各数据抽取器顺序送入的校验矩阵各行编码所需的LT编码符号进行累积计算,产生LDPC校验符号;编码输出选择开关,用于通过切换控制,将r组L比特的LT编码符号和累积器输出的LDPC校验符号进行拼接,并顺序输出。
2.根据权利要求1所述的基于LT码与LDPC码级联的随机编码器,其特征在于,所述随机数,还包括:随机存储偏移β;
其中,所述多个LT编码器在输出所述k比特的LT编码符号时,包括:
根据所述随机存储偏移β,将k比特的LT编码符号写入所述LDPC编码模块下的LT编码符号缓存器中。
3.根据权利要求1所述的基于LT码与LDPC码级联的随机编码器,其特征在于,多个数据抽取器,用于:
根据分块矩阵的初始位移,依次抽取校验矩阵每一行编码所需的LT编码符号,其中,一个数据抽取器对应处理一个分组对应的校验矩阵;每个数据取样器一次取出一个或零个比特,各取样器共取出d比特,d为当前校验矩阵行分块中非零子矩阵的数量,抽取比特在各分组中的位置为(qx+s)mod(L-1),0≤x≤d-1,qx表示第x个非零子矩阵的随机初始位移,s表示子矩阵行号。
4.根据权利要求1所述的基于LT码与LDPC码级联的随机编码器,其特征在于,
输入信息缓存器为:k比特的输入信息缓存器;
多个随机抽样器为:a个随机抽样器;
多个LT编码器为:a个LT编码器;
LT编码符号缓存器为:k比特的LT编码符号缓存器;
多个随机位移产生器为:r个随机位移产生器;
多个数据抽取器为:r个数据抽取器。
5.根据权利要求1所述的基于LT码与LDPC码级联的随机编码器,其特征在于,所述LDPC编码模块,包括:校验模块和信息模块;其中,校验模块为循环累积结构,包括:校验矩阵,校验矩阵的子矩阵大小为L×L;信息模块为准循环结构,包括:准循环子矩阵;
LDPC编码模块,用于根据所述随机控制字,通过切换信息模块下的准循环子矩阵的初始位移量,对所述LT编码符号进行随机化的LDPC编码,输出编码序列。
6.一种基于LT码与LDPC码级联的随机译码器,其特征在于,包括:级联的LDPC译码模块和LT分组译码模块;
LDPC译码模块,用于根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;将还原信息序列划分为a组m比特的还原信息序列;对各组m比特的还原信息序列进行组内存储偏移恢复;
LT分组译码模块,用于根据密钥还原各分组的LT编码矩阵;根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
7.一种基于LT码与LDPC码级联的随机译码方法,其特征在于,包括:
根据密钥对LDPC校验矩阵中各分块矩阵的初始位移进行伪随机恢复,得到完整的LDPC译码校验阵;
根据得到的完整的LDPC译码校验阵,进行LDPC软译码,得到还原信息序列;
将还原信息序列划分为a组m比特的还原信息序列;
对各组m比特的还原信息序列进行组内存储偏移恢复;
根据密钥还原各分组的LT编码矩阵;
根据各分组的LT编码矩阵,分别对所述a组m比特的还原信息序列进行LT译码计算,得到译码结果,并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913800.6A CN107888334B (zh) | 2017-09-30 | 2017-09-30 | 基于lt码与ldpc码级联的随机编、译码器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710913800.6A CN107888334B (zh) | 2017-09-30 | 2017-09-30 | 基于lt码与ldpc码级联的随机编、译码器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107888334A CN107888334A (zh) | 2018-04-06 |
CN107888334B true CN107888334B (zh) | 2020-11-10 |
Family
ID=61781193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710913800.6A Active CN107888334B (zh) | 2017-09-30 | 2017-09-30 | 基于lt码与ldpc码级联的随机编、译码器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107888334B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108650029B (zh) * | 2018-05-16 | 2020-07-31 | 清华大学 | 一种适用于量子安全直接通信的纠错编译码方法 |
CN112838871A (zh) * | 2019-11-25 | 2021-05-25 | 中国科学院微电子研究所 | 卫星导航用ldpc码编码方法、编码器及卫星导航系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141132A (zh) * | 2007-10-22 | 2008-03-12 | 清华大学 | 一种准循环低密度奇偶校验码编码器和校验位生成方法 |
CN101252606A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 深空通信中基于低密度奇偶校验码-喷泉码的编译方法 |
CN102394660A (zh) * | 2011-08-24 | 2012-03-28 | 中兴通讯股份有限公司 | 分组交织的准循环扩展并行编码ldpc码的编码方法和编码器 |
CN102594504A (zh) * | 2012-02-08 | 2012-07-18 | 河南科技大学 | 一种lt编译码算法的dsp硬件实现方法 |
CN102843145A (zh) * | 2012-10-09 | 2012-12-26 | 浙江大学 | 一种低码率准循环累积重复累积码构造方法 |
CN104780022A (zh) * | 2015-04-10 | 2015-07-15 | 清华大学 | 基于信道编码矩阵动态变化的物理层安全传输方法及系统 |
US9496897B1 (en) * | 2014-03-31 | 2016-11-15 | EMC IP Holding Company LLC | Methods and apparatus for generating authenticated error correcting codes |
-
2017
- 2017-09-30 CN CN201710913800.6A patent/CN107888334B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141132A (zh) * | 2007-10-22 | 2008-03-12 | 清华大学 | 一种准循环低密度奇偶校验码编码器和校验位生成方法 |
CN101252606A (zh) * | 2008-03-21 | 2008-08-27 | 哈尔滨工业大学深圳研究生院 | 深空通信中基于低密度奇偶校验码-喷泉码的编译方法 |
CN102394660A (zh) * | 2011-08-24 | 2012-03-28 | 中兴通讯股份有限公司 | 分组交织的准循环扩展并行编码ldpc码的编码方法和编码器 |
CN102594504A (zh) * | 2012-02-08 | 2012-07-18 | 河南科技大学 | 一种lt编译码算法的dsp硬件实现方法 |
CN102843145A (zh) * | 2012-10-09 | 2012-12-26 | 浙江大学 | 一种低码率准循环累积重复累积码构造方法 |
US9496897B1 (en) * | 2014-03-31 | 2016-11-15 | EMC IP Holding Company LLC | Methods and apparatus for generating authenticated error correcting codes |
CN104780022A (zh) * | 2015-04-10 | 2015-07-15 | 清华大学 | 基于信道编码矩阵动态变化的物理层安全传输方法及系统 |
Non-Patent Citations (1)
Title |
---|
LT喷泉码低复杂度编译码器的设计;张洋;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);参见正文第18、25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107888334A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2571587C2 (ru) | Способ и устройство кодирования и декодирования данных в скрученном полярном коде | |
Zhang et al. | VLSI implementation-oriented (3, k)-regular low-density parity-check codes | |
US5193094A (en) | Method and apparatus for generating super-orthogonal convolutional codes and the decoding thereof | |
ES2673513T3 (es) | Procedimientos que emplean códigos de FEC con inactivación permanente de símbolos para procesos de codificación y decodificación | |
Bakshi et al. | Concatenated polar codes | |
US7116710B1 (en) | Serial concatenation of interleaved convolutional codes forming turbo-like codes | |
Liu et al. | A study on reconstruction of linear scrambler using dual words of channel encoder | |
Lu et al. | Blind recognition of punctured convolutional codes | |
CN114422081B (zh) | 基于crc-scl译码算法的qkd后处理系统及方法 | |
CN111464300B (zh) | 一种适用于连续变量量子密钥分发的高速后处理方法 | |
CN107888334B (zh) | 基于lt码与ldpc码级联的随机编、译码器及方法 | |
Oliveira et al. | Puncturing based on polarization for polar codes in 5G networks | |
Shukla et al. | Performance analysis of modified tent map interleaver in IDMA systems | |
Oliveira et al. | Non-uniform channel polarization and design of rate-compatible polar codes | |
Meng et al. | A novel interleaving scheme for polar codes | |
CN113422611B (zh) | 一种qc-ldpc编码器的高度并行编码方法 | |
Kim et al. | Design of binary LDPC code using cyclic shift matrices | |
Zhang et al. | An improved algorithm of 3GPP MBMS raptor codes | |
Huang et al. | A hash function based on sponge structure with chaotic map for spinal codes | |
Noorkami et al. | A fast correlation attack via unequal error correcting LDPC codes | |
Tse et al. | Polar coding for parallel Gaussian channels | |
Nandan et al. | Low complex crypto based channel coding | |
Stuart et al. | A novel low‐complexity scheme for improving security of NLFG‐based symmetric key cryptosystem using secure concatenated RS–QCLDPC code | |
Yuan et al. | Security Transmission Design Based on Concatenated LT and LDPC Codes | |
Mu et al. | Multiplicative repetition based superposition transmission of nonbinary codes |
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 |