当前位置: 首页 > 专利查询>天津大学专利>正文

中短码LDPC编解码系统和方法技术方案

技术编号:20800694 阅读:88 留言:0更新日期:2019-04-06 14:29
本发明专利技术涉及通信系统中编解码技术,为提出中短码LDPC的编译码系统,具备描述简单、解码复杂度低、实用灵活以及强大纠错能力。为此,本发明专利技术,中短码LDPC编解码方法,具体如下:编码步骤:①计算As和Cs

Design and Implementation of LDPC Coding and Decoding System for Short and Medium Codes

The present invention relates to encoding and decoding technology in communication system. In order to put forward the encoding and decoding system of medium and short code LDPC, it has simple description, low decoding complexity, practical flexibility and powerful error correction ability. For this purpose, the method of LDPC encoding and decoding for medium and short codes is as follows: encoding steps: (1) calculating As and Cs

【技术实现步骤摘要】
中短码LDPC编解码系统和方法
本专利技术涉及通信系统中编解码技术,具体在硬件实现一套中短码LDPC的编解码,是一种LDPC编译码方案及FPGA实现架构。
技术介绍
近年来,LDPC码和通信系统中的其他关键技术的结合成为一个新的研究热点,包括LDPC码与Turbo码以及空时码的结合使用,LDPC码编码与调制,LDPC码的编译码与多输入多输出(MultipleInputMultipleOutput,MIMO)技术的结合,基于LDPC码的正交频分复用(OrthogonalFrequencyDivisionMultiplexing,OFDM)技术以及基于LDPC码的码分多址(CodeDivisionMultipleAccess,CDMA)技术等。同时,由于LDPC码译码采用迭代译码算法,复杂度相对较低并且硬件水平在不断提高。LDPC码所具有的巨大应用潜力,使其在深空通信、光纤通信、卫星数字视频以及固定无线通信和数字用户线等领域都得到了广泛的应用。因此LDPC码编译码器的硬件实现已成为纠错编码领域一个新的研究热点。本专利技术提出一种以KINTEX-7为硬件实现平台,采用MATLAB和ISE14.4为仿真软件,设计实现一种中短码LDPC的编译码。
技术实现思路
为克服现有技术的不足,本专利技术旨在提出中短码LDPC的编译码系统,具备描述简单、解码复杂度低、实用灵活以及强大纠错能力。为此,本专利技术采用的技术方案是,中短码LDPC编解码方法,具体如下:编码步骤:对于校验矩阵H,一个m×n的近似下三角矩阵,g表示扩展因子,表示为:其中A是(m-g)×(n-m)基矩阵,B是(m-g)×g基矩阵,F是(m-g)×(m-g)的下三角矩阵,C是g×(n-m)基矩阵,D是g×g基方阵,E是g×(m-g)基矩阵,在H左边乘上便可得到x=(s,p1,p2),s表示信息比特序列,p1、p2合起来表示校验比特序列,x表示编码码流,p1长度为g,符号T表示矩阵转置运算,p2长度为(m-g);①计算As和CsT;②计算F-1(AsT)和E(F-1(AsT));③计算得到④计算⑤计算⑥计算得到最后,把信息比特序列s,校验序列p1和p2拼接得到编码序列x;解码步骤:采用UMPBP-based(uniformlymostpowerfulbelief-propagation-based)算法进行解码,描述如下:1)初始化:对每个m,n,令zmn=yn2)迭代译码(a)第一步校验节点更新:对每个m,n计算定义表示除了比特n的m校验节点的所有比特的硬判决值的模2和;(b)第二步变量节点更新:对每个m,n计算对每个n计算(c)第三步判决:如果zn>0,否则如果或者迭代次数达到最大迭代次数,则停止迭代,便为译码结果,否则返回第一步继续迭代。对于二进制LDPC码,信息的表示用对数似然比形式,有关符号定义:yn表示编码码流加噪声干扰后的量化数据;zmn表示从变量节点n传向校验节点m的比特n的对数似然比,zmn从先验信息yn和信息集合{Lm′n:m′∈M(n)\m}中获得;N(m)={n:Hmn=1}表示与校验节点m相连的所有变量节点n的集合,当不包括n时,记为N(m)\n;M(n)={m:Hmn=1}表示将与变量节点n相连的所有校验节点m的集合,当不包括m时,记为M(n)\m;Lmn表示从校验节点m传向变量节点n的比特n的对数似然比,Lmn从信息集合{zmn′:n′∈N(m)\n}中获得;zn表示每次迭代计算的比特n的后验概率的对数似然比,zn从先验信息Fn和信息集合{Lm′n:m′∈M(n)\m}中获得。在一个实例中,g×(n-m)矩阵,D是g×g矩阵,E是g×(m-g)矩阵,在H左边乘上便可得到令x=(s,p1,p2),s表示信息比特序列,p1、p2合起来表示校验比特序列,x表示编码码流,p1长度为g,p2长度为(m-g),由Hx=0可以得到这两个等式:定义f=-EF-1B+D,为单位矩阵,则计算p1的复杂度为O(n+g2),而计算p2的复杂度为O(n),码长为576,码率为1/2,扩展因子为24,实现(576,288)中短码的编译码。中短码LDPC编解码系统,包括编码、解码两部分,编码部分按照前述①-⑥进行编码,并包含矩阵乘法模块、前向置换模块和矢量加法模块,具体地:(1)矩阵乘法器模块由循环移位寄存器和模二加法器组成,如图4,信息序列u与矩阵a的每一行进行相乘运算时,首先从ROM取出第一个非零列号相对应的信息位,并对该信息位进行循环右移,循环右移的次数就是奇校验矩阵中的数字来控制的,然后把这一行中所有的非零元素和信息位相乘所得结果做一次异或相加操作,就得到矩阵一行与信息位相乘的结果,以此完成矩阵乘法运算;(2)矩阵求逆运算前向置换其实就是矩阵求逆运算的简化过程,假设矩阵M=(x1,x2,...,xn),求逆运算得N=(y1,y2,...,yn)T,其原理如下:M=(x1,x2,...,xn)N=(y1,y2,...,yn)T则N=F-1M=>FN=M,展开利用上式来计算乘矩阵逆的运算,以此来完成第②和⑥中的运算;(3)矢量加法模块矢量加法,这里采用模2相加的方法,异或相加完成;译码部分:编码器中主要包含校量化信号寄存器模块、变量节点寄存器模块、校验节点处理器模块、校验矩阵寄存器模块、变量节点处理器模块和译码判决模块,如图图6,具体地:(1)量化信号寄存器需要先对yn进行量化,量化为14比特的定点数,其中从左往右第1位为符号位,第2至第5位为整数位,其余为小数位,负数用补码表示;(2)校验矩阵寄存器用于存储校验矩阵,考虑到矩阵是固定的且只有读矩阵信息的操作,用只读存储器ROM来实现;(3)变量节点寄存器用于RAM存储变量节点信息zmn,大小都与矩阵中非零元素相同,当校验节点更新时,每次更新需要zmn矩阵一行的数据,所以,只要按顺序读zmn_ram的数据,同时控制每次读的个数,确保正好是一行的数据,数据交给校验节点处理器处理完后,需要存入Lmn_ram中,存的地址与读zmn_ram的地址保持一致,同样地,将Lmn_ram的存储单元用矩阵的形式来表示,以后称为Lmn矩阵,但这也不表示Lmn_ram实际存储结构,只是说明了它与校验矩阵的对应联系;(4)校验节点处理器用于节点信息处理,采用并行输入输出结构,读取变量节点传来的信息,进行处理,然后写入校验节点寄存器。校验矩阵最大行重为7,所以数据输入输出口都是7个,每当开始更新一个校验节点时,输入数据时,数据进入串并转换模块,并记数,同时,读取该校验节点对应行的行重,当数据个数等于行重时,并行数据进入校验节点处理器中,输出数据时过程类似,由校验节点更新公式其中,Lmn表示从校验节点m传向变量节点n的比特n的对数似然比,表示除了比特n的m校验节点的所有比特的硬判决值的模2和,表示的逻辑取反,zmn,表示根据除了m外所有校验节点给出的信息;(5)校验节点寄存器用RAM存储校验节点的信息Lmn,大小都与矩阵中非零元素相同,当变量节点更新时,每次更新需要矩阵Lmn一列的数据,由于的存储是按行的顺序,要准确地直接读取一列的数是难以实现的,所以,首先将原始校验矩阵非零元素按行顺序编号,然后利用MATLAB按列重排,得本文档来自技高网...

【技术保护点】
1.一种中短码LDPC编解码方法,其特征是,编码步骤:对于校验矩阵H,一个m×n的近似下三角矩阵,g表示扩展因子,表示为:

【技术特征摘要】
1.一种中短码LDPC编解码方法,其特征是,编码步骤:对于校验矩阵H,一个m×n的近似下三角矩阵,g表示扩展因子,表示为:其中A是(m-g)×(n-m)基矩阵,B是(m-g)×g基矩阵,F是(m-g)×(m-g)的下三角矩阵,C是g×(n-m)基矩阵,D是g×g基方阵,E是g×(m-g)基矩阵,在H左边乘上便可得到x=(s,p1,p2),s表示信息比特序列,p1、p2合起来表示校验比特序列,x表示编码码流,p1长度为g,符号T表示矩阵转置运算,p2长度为(m-g);①计算As和CsT;②计算F-1(AsT)和E(F-1(AsT));③计算得到④计算⑤计算⑥计算得到最后,把信息比特序列s,校验序列p1和p2拼接得到编码序列x;解码步骤:与校验节点m相连的所有变量节点n的集合记为N(m)={n:Hmn=1},当不包括n时,记为N(m)\n;类似地,将与变量节点n相连的所有校验节点m的集合记为M(n)={m:Hmn=1},当不包括m时,记为M(n)\m,yn表示编码码流加噪声干扰后的量化数据,迭代译码过程中,zmn和Lmn两个量交替变化,都和校验矩阵H中的非零元素对应,Lmn表示从校验节点m传向变量节点n的比特n的对数似然比,Lmn从消息集合{zmn′:n′∈N(m)\n}中获得,zmn表示从变量节点n传向校验节点m的比特n的对数似然比,zmn从先验信息Fn和消息集合{Lm′n:m′∈M(n)\m}中获得,zn表示每次迭代计算的比特n的后验概率的对数似然比,zn从先验信息Fn和消息集合{Lm′n:m′∈M(n)\m}中获得;UMPBP-based(uniformlymostpowerfulbelief-propagation-based)算法描述如下:1.初始化:对每个m,n,令zmn=yn2.迭代译码(a)第一步校验节点更新:对每个m,n计算定义σm⊕σmn表示除了比特n的m校验节点的所有比特的硬判决值的模2和;(b)第二步变量节点更新:对每个m,n计算对每个n计算(c)第三步判决:如果zn>0,否则如果或者迭代次数达到最大迭代次数,则停止迭代,便为译码结果,否则返回第一步继续迭代。2.如权利要求1所述的中短码LDPC编解码方法,其特征是,在一个实例中,g×(n-m)矩阵,D是g×g矩阵,E是g×(m-g)矩阵,在H左边乘上便可得到令x=(s,p1,p2),s表示信息比特序列,p1、p2合起来表示校验比特序列,x表示编码码流,p1长度为g,p2长度为(m-g),由Hx=0可以得到这两个等式:(-EF-1A+C)sT+(-EF-1B+D)P1T=0(2)定义f=-EF-1B+D,为单位矩阵,则P1T=(-EF-1A+C)sT(3)计算p1的复杂度为O(n+g2),而计算p2的复杂度为O(n),码长为576,码率为1/2,扩展因子为24,实现(576,288)中短码的编译码。3.一种中短码LDPC编解码系统,其特征是,包括编码、解码两部分,编码部分按照权利要求1所述步骤①-⑥进行编码,包含矩阵乘法模块、前向置换模块和矢量加法模块,具体地:(1)矩阵乘法器模块由循环移位寄存器和模二加法器组成,如图4,信息序列u与矩阵a的每一行进行相乘运算时,首先从ROM取出第一个非零列号相对应的信息位,并对该信息位进行循环右移,循环右移的次数就是奇校验矩阵中的数字来控制的,然后把这一行中所有的非零元素和信息位相乘所得结果做一次异或相加操作,就得到矩阵一行与信息位相乘的结果,以此完成矩阵乘法运算;(2)矩阵求逆运算前向置换其实就是矩阵求逆运算的...

【专利技术属性】
技术研发人员:汪清王顺福杨杭朱啸天王娴王昊
申请(专利权)人:天津大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1