CN102932007A - 高度并行的深空通信中qc-ldpc编码器和编码方法 - Google Patents
高度并行的深空通信中qc-ldpc编码器和编码方法 Download PDFInfo
- Publication number
- CN102932007A CN102932007A CN2012104743540A CN201210474354A CN102932007A CN 102932007 A CN102932007 A CN 102932007A CN 2012104743540 A CN2012104743540 A CN 2012104743540A CN 201210474354 A CN201210474354 A CN 201210474354A CN 102932007 A CN102932007 A CN 102932007A
- Authority
- CN
- China
- Prior art keywords
- vector
- register
- kinds
- matrix
- ldpc
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种解决CCSDS深空通信系统中9种QC-LDPC码高度并行编码的方案,其特征在于,所述系统的QC-LDPC码的高度并行编码器主要由寄存器、查找表、bc位二输入异或门和b位二输入异或门四部分组成。本发明提供的QC-LDPC高度并行编码器兼容多码率,能充分利用FPGA逻辑资源中的查找表功能,在保持编码速度不变的条件下有效减少资源需求,具有控制简单、资源消耗少、功耗小、成本低等优点。
Description
技术领域
本发明涉及深空数据通信领域,特别涉及一种CCSDS深空通信系统中QC-LDPC码编码器的高度并行实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。
低密度奇偶校验(Low-Density Parity-Check,LDPC)码以其逼近Shannon限的优异性能成为信道编码领域的研究热点。准循环LDPC码(Quasic-LDPC,QC-LDPC)码是一种特殊的LDPC码,其编码可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SRAA)加以实现。
SRAA法是利用生成矩阵G进行编码。QC-LDPC码的生成矩阵G是由a×t个b×b阶循环矩阵Gi,j(1≤i≤a,1≤j≤t)构成的阵列,t=a+c。与信息向量对应的一部分生成矩阵是单位矩阵,与校验向量对应的其余部分生成矩阵是高密度矩阵。假设b不是素数,可被分解为b=ux。au路高度并行SRAA法完成一次编码需要x+t个时钟周期,需要(auc+t)b个寄存器、aucb个二输入与门和aucb个二输入异或门。
CCSDS深空通信系统推荐了9种QC-LDPC码,其中码率η分为1/2、2/3和4/5三种,方阵阶数b分为32、64、128、256、512、1024和2048七种,所有b的公约数之一是u=4。如图1所示,η和b共有9种有效组合(η,b):(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对应9种QC-LDPC码。对于所有QC-LDPC码,均有c=12。图2给出了不同码率η下的参数a和t。
CCSDS深空通信系统中QC-LDPC超高速编码的现有解决方案是采用au路高度并行SRAA法,以u=4为例,实现9种QC-LDPC码的高度并行编码器共需3217536个寄存器、3096576个二输入与门和3096576个二输入异或门。当采用FPGA实现时,需要较多的逻辑资源,势必会造成设备成本高,功耗大。
发明内容
针对CCSDS深空通信系统多种QC-LDPC码超高速编码的现有实现方案中存在的资源需求量大缺点,本发明提供了一种基于查找表的高度并行编码方法,充分利用FPGA逻辑资源中的查找表功能,能在保持编码速度不变的前提下,有效减少资源需求。
如图3所示,CCSDS深空通信系统中多种QC-LDPC码的高度并行编码器主要由4部分组成:寄存器、查找表、bc位二输入异或门和b位二输入异或门。整个编码过程分4步完成:第1步,输入信息向量s,保存至寄存器R1~Ra,清零寄存器Ra+1~Rt;第2步,寄存器R1~Ra串行左移u=4位,查找表L1~La分别输入向量h1~ha和输出向量v1~va,bc位二输入异或门B1~Ba-1对向量v1~va求和,得到向量va+1,b位二输入异或门Al(1≤l≤c)将向量va+1的第l段b比特与寄存器Ra+l串行循环左移u=4位的结果相加,和存回寄存器Ra+l;第3步,重复第2步x次;第4步,并行输出码字(s,p)。
本发明提供的QC-LDPC高度并行编码器兼容多码率,能在保持编码速度不变的前提下有效减少资源需求,从而达到降低硬件成本和功耗的目的。
关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。
附图说明
图1给出了码率η和方阵阶数b的有效组合(η,b);
图2给出了不同码率η下的参数a和t;
图3是CCSDS深空通信系统中兼容9种QC-LDPC码的高度并行编码器整体结构;
图4比较了传统的au路高度并行SRAA法与本发明的资源消耗。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
QC-LDPC码是一类特殊的LDPC码,它的生成矩阵G和校验矩阵H都是由循环矩阵构成的阵列,具有分段循环特点,故被称为准循环LDPC码。从行的角度看,循环矩阵的每一行都是上一行(首行是末行)循环右移一位的结果;从列的角度看,循环矩阵的每一列都是前一列(首列是末列)循环下移一位的结果。循环矩阵的行向量构成的集合与列向量构成的集合完全相同,因此,循环矩阵完全可由它的首行或首列来表征。QC-LDPC码的生成矩阵G是由a×t个b×b阶循环矩阵Gi,j(1≤i≤a,1≤j≤t)构成的阵列:
G(或H)的连续b行和b列分别被称为块行和块列。假设循环矩阵的阶数b不是素数,可被分解为b=ux,其中,u和x皆为非1的正整数。那么,生成矩阵G第m(1≤m≤a)块行、后c块列中所有循环矩阵的前u行构成了一个u×bc阶矩阵,称之为子块行矩阵,记作Um。Um可视为由bc个u维列向量构成的,所有的Um构成了一个au×bc阶子块矩阵U。
对于CCSDS深空通信系统,生成矩阵G对应码字(s,p),G的前a块列对应的是信息向量s,后c块列对应的是校验向量p。以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa);校验向量p被等分为c段,即p=(p1,p2,…,pc)。对于第i(1≤i≤a)段信息向量si,有si=(si,1,si,2,…,si,b)。如图1所示,CCSDS深空通信系统采用了9种QC-LDPC码,其中码率η分为1/2、2/3和4/5三种,方阵阶数b分为32、64、128、256、512、1024和2048七种。所有b的公约数之一是u=4。η和b共有9种有效组合(η,b):(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048)。对于所有QC-LDPC码,均有c=12。图2给出了不同码率η下的参数a和t。
由式(1)、(2)和循环矩阵的特点,图3给出了适用于CCSDS深空通信系统中9种QC-LDPC码的高度并行编码器,它主要由寄存器、查找表、bc位二输入异或门和b位二输入异或门四种功能模块组成。
寄存器R1~Ra用于缓存信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt用于计算和存储校验向量p=(p1,p2,…,pc)。
查找表L1~La均有u位输入和bc位输出,分别完成不同的u位信息比特与子块行矩阵U1~Ua的乘积。并行输入的u位信息比特sm,un+1,sm,un+2,…,sm,un+u(1≤m≤a,0≤n<x)构成向量hm={sm,un+1,sm,un+2,…,sm,un+u}。查找表Lm的输入是hm,每一路输出是hm与子块行矩阵Um对应列的乘积,总输出构成了向量vm。如果将查找表的基本查找单元视为一个二输入与门,那么共需acb个二输入与门。
bc位二输入异或门B1~Ba-1将向量v1~va加在一起,得到向量va+1。实际上,va+1中的每个元素是向量{h1,h2,…,ha}与子块矩阵U对应列的乘积,va+1是向量{h1,h2,…,ha}与子块矩阵U的乘积。
b位二输入异或门Al(1≤l≤c)将向量va+1的连续b比特累加到寄存器Ra+l中。
所有的bc位二输入异或门和b位二输入异或门的二输入异或门总数是acb个。
本发明提供了一种基于查找表的QC-LDPC高度并行编码方法,结合CCSDS深空通信系统中多种QC-LDPC码的高度并行编码器(如图3所示),其编码步骤描述如下:
第1步,输入信息向量s,保存至寄存器R1~Ra,清零寄存器Ra+1~Rt;
第2步,寄存器R1~Ra串行左移u=4位,查找表L1~La分别输入向量h1~ha和输出向量v1~va,bc位二输入异或门B1~Ba-1对向量v1~va求和,得到向量va+1,b位二输入异或门Al(1≤l≤c)将向量va+1的第l段b比特与寄存器Ra+l串行循环左移u=4位的结果相加,和存回寄存器Ra+l;
第3步,重复第2步x次,完成后,寄存器R1~Ra存储的是信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt存储的是校验向量p=(p1,p2,…,pc);
第4步,并行输出码字(s,p)。
从以上步骤不难看出,整个编码过程共需x+t个时钟周期,这与传统的au路高度并行SRAA法完全相同。
图4比较了传统的au路高度并行SRAA法与本发明的资源消耗。注意,这里将查找表的基本查找单元视为一个二输入与门。从图4可清楚看到,与au路高度并行SRAA法相比,本发明使用了较少的寄存器、异或门和与门,耗费量分别是au路高度并行SRAA法的4%、25%和25%。
综上可见,与传统的au路高度并行SRAA法相比,本发明保持了编码速度,能充分利用FPGA逻辑资源中的查找表功能,具有控制简单、资源消耗少、功耗小、成本低等优点。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (4)
1.一种适合于CCSDS深空通信系统采用的9种QC-LDPC码的高度并行编码器,QC-LDPC码的生成矩阵G是由a×t个b×b阶循环矩阵Gi,j构成的阵列,其中,a、t和b皆为正整数,t=a+c,1≤i≤a,1≤j≤t,3种不同码率η分别是1/2、2/3、4/5,7种方阵阶数b分别是32、64、128、256、512、1024、2048,9种有效组合(η,b)分别是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对于这9种QC-LDPC码,均有c=12,3种不同码率对应的参数a分别是8、16、32,3种不同码率对应的参数t分别是20、28、44,所有b的公约数之一是u=4,b=ux,生成矩阵G对应码字(s,p),G的前a块列对应的是信息向量s,后c块列对应的是校验向量p,以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa),第i段信息向量si=(si,1,si,2,…,si,b),校验向量p被等分为c段,即p=(p1,p2,…,pc),其特征在于,所述编码器包括以下部件:
寄存器R1~Rt,寄存器R1~Ra用于缓存信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt用于计算和存储校验向量p=(p1,p2,…,pc);
查找表L1~La,分别并行输入u位信息比特构成的向量hm={sm,un+1,sm,un+2,…,sm,un+u},并行输出bc位向量vm,其中,1≤m≤a,0≤n<x;
bc位二输入异或门B1~Ba-1,将向量v1~va加在一起,得到向量va+1;
b位二输入异或门A1~Ac,Al将向量va+1的第l段连续b比特累加到寄存器Ra+l中,其中,1≤l≤c。
2.如权利要求1所述的高度并行编码器,其特征在于,所述查找表L1~La分别完成不同的u位信息比特与子块行矩阵U1~Ua的乘积,查找表Lm的输入是hm,每一路输出是hm与子块行矩阵Um对应列的乘积,总输出构成了向量vm。
3.如权利要求1所述的高度并行编码器,其特征在于,所述向量va+1中的每个元素是向量{h1,h2,…,ha}与子块矩阵U对应列的乘积,va+1是向量{h1,h2,…,ha}与子块矩阵U的乘积。
4.一种适合于CCSDS深空通信系统采用的9种QC-LDPC码的高度并行编码方法,QC-LDPC码的生成矩阵G是由a×t个b×b阶循环矩阵Gi,j构成的阵列,其中,a、t和b皆为正整数,t=a+c,1≤i≤a,1≤j≤t,3种不同码率η分别是1/2、2/3、4/5,7种方阵阶数b分别是32、64、128、256、512、1024、2048,9种有效组合(η,b)分别是(4/5,32)、(2/3,64)、(1/2,128)、(4/5,128)、(2/3,256)、(1/2,512)、(4/5,512)、(2/3,1024)和(1/2,2048),对于这9种QC-LDPC码,均有c=12,3种不同码率对应的参数a分别是8、16、32,3种不同码率对应的参数t分别是20、28、44,所有b的公约数之一是u=4,b=ux,生成矩阵G对应码字(s,p),G的前a块列对应的是信息向量s,后c块列对应的是校验向量p,以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa),第i段信息向量si=(si,1,si,2,…,si,b),校验向量p被等分为c段,即p=(p1,p2,…,pc),其特征在于,所述编码方法包括以下步骤:
第1步,输入信息向量s,保存至寄存器R1~Ra,清零寄存器Ra+1~Rt;
第2步,寄存器R1~Ra串行左移u=4位,查找表L1~La分别输入向量h1~ha和输出向量v1~va,bc位二输入异或门B1~Ba-1对向量v1~va求和,得到向量va+1,b位二输入异或门Al将向量va+1的第l段b比特与寄存器Ra+l串行循环左移u=4位的结果相加,和存回寄存器Ra+l,其中,1≤l≤c;
第3步,重复第2步x次,完成后,寄存器R1~Ra存储的是信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt存储的是校验向量p=(p1,p2,…,pc);
第4步,并行输出码字(s,p)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210474354.0A CN102932007B (zh) | 2012-11-21 | 2012-11-21 | 高度并行的深空通信中qc-ldpc编码器和编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210474354.0A CN102932007B (zh) | 2012-11-21 | 2012-11-21 | 高度并行的深空通信中qc-ldpc编码器和编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932007A true CN102932007A (zh) | 2013-02-13 |
CN102932007B CN102932007B (zh) | 2016-06-22 |
Family
ID=47646732
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210474354.0A Expired - Fee Related CN102932007B (zh) | 2012-11-21 | 2012-11-21 | 高度并行的深空通信中qc-ldpc编码器和编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932007B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236850A (zh) * | 2013-04-19 | 2013-08-07 | 荣成市鼎通电子信息科技有限公司 | 基于循环左移的深空通信中准循环矩阵串行乘法器 |
CN103257844A (zh) * | 2013-04-19 | 2013-08-21 | 荣成市鼎通电子信息科技有限公司 | 无乘法运算的深空通信中准循环矩阵串行乘法器 |
CN103268212A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 无需存储器的深空通信中准循环矩阵高速乘法器 |
CN103268213A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 无需存储器的dtmb中准循环矩阵高速乘法器 |
CN103268214A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 基于查找表的深空通信中准循环矩阵高速乘法器 |
CN104518804A (zh) * | 2015-01-30 | 2015-04-15 | 荣成市鼎通电子信息科技有限公司 | 基于三级流水线的高速qc-ldpc编码器 |
CN104980169A (zh) * | 2015-06-20 | 2015-10-14 | 荣成市鼎通电子信息科技有限公司 | 高度并行的wpan中qc-ldpc编码器 |
CN113285724A (zh) * | 2021-05-19 | 2021-08-20 | 西南交通大学 | 一种基于码率自适应的小型化ldpc编码器电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091593A1 (en) * | 2001-05-08 | 2002-11-14 | Ubinetics Limited | Configurable crc-encoder |
CN101192833A (zh) * | 2006-11-28 | 2008-06-04 | 华为技术有限公司 | 一种低密度校验码ldpc并行编码的装置及方法 |
-
2012
- 2012-11-21 CN CN201210474354.0A patent/CN102932007B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091593A1 (en) * | 2001-05-08 | 2002-11-14 | Ubinetics Limited | Configurable crc-encoder |
CN101192833A (zh) * | 2006-11-28 | 2008-06-04 | 华为技术有限公司 | 一种低密度校验码ldpc并行编码的装置及方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236850A (zh) * | 2013-04-19 | 2013-08-07 | 荣成市鼎通电子信息科技有限公司 | 基于循环左移的深空通信中准循环矩阵串行乘法器 |
CN103257844A (zh) * | 2013-04-19 | 2013-08-21 | 荣成市鼎通电子信息科技有限公司 | 无乘法运算的深空通信中准循环矩阵串行乘法器 |
CN103268212A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 无需存储器的深空通信中准循环矩阵高速乘法器 |
CN103268213A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 无需存储器的dtmb中准循环矩阵高速乘法器 |
CN103268214A (zh) * | 2013-04-19 | 2013-08-28 | 荣成市鼎通电子信息科技有限公司 | 基于查找表的深空通信中准循环矩阵高速乘法器 |
CN103268212B (zh) * | 2013-04-19 | 2016-02-10 | 荣成市鼎通电子信息科技有限公司 | 无需存储器的深空通信中准循环矩阵高速乘法器 |
CN104518804A (zh) * | 2015-01-30 | 2015-04-15 | 荣成市鼎通电子信息科技有限公司 | 基于三级流水线的高速qc-ldpc编码器 |
CN104980169A (zh) * | 2015-06-20 | 2015-10-14 | 荣成市鼎通电子信息科技有限公司 | 高度并行的wpan中qc-ldpc编码器 |
CN113285724A (zh) * | 2021-05-19 | 2021-08-20 | 西南交通大学 | 一种基于码率自适应的小型化ldpc编码器电路 |
Also Published As
Publication number | Publication date |
---|---|
CN102932007B (zh) | 2016-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102932009B (zh) | 基于查找表的dtmb中qc-ldpc并行编码方法 | |
CN102932007A (zh) | 高度并行的深空通信中qc-ldpc编码器和编码方法 | |
CN102857324B (zh) | 基于查找表的深空通信中ldpc串行编码器和编码方法 | |
CN102857236B (zh) | 基于求和阵列的cmmb中ldpc编码器和编码方法 | |
CN102857238B (zh) | 基于求和阵列的深空通信中ldpc编码器和编码方法 | |
CN102843150B (zh) | 一种低延时的qc-ldpc并行编码器和编码方法 | |
CN102843151A (zh) | 一种低延时的cmmb中ldpc并行编码器和编码方法 | |
CN102932011A (zh) | 基于查找表的cmmb中qc-ldpc并行编码方法 | |
CN102857239B (zh) | 基于查找表的cmmb中ldpc串行编码器和编码方法 | |
CN102932008B (zh) | 基于查找表的深空通信中qc-ldpc并行编码方法 | |
CN102843146A (zh) | 一种低延时的深空通信中ldpc并行编码器和编码方法 | |
CN102916706B (zh) | 高度并行的cmmb中qc-ldpc编码器和编码方法 | |
CN102857240A (zh) | 循环右移累加基的深空通信中ldpc编码器和编码方法 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
CN102868412B (zh) | 基于并行滤波的深空通信中ldpc编码器和编码方法 | |
CN102970046B (zh) | 高度并行的近地通信中qc-ldpc编码器和编码方法 | |
CN102891687B (zh) | 基于求和阵列的qc-ldpc并行编码器和编码方法 | |
CN102938652B (zh) | 基于查找表的qc-ldpc码的并行编码器和编码方法 | |
CN102932013A (zh) | 基于查找表的近地通信中qc-ldpc并行编码方法 | |
CN102857237B (zh) | 一种低延时的近地通信中ldpc并行编码器和编码方法 | |
CN102882531B (zh) | 基于求和阵列的dtmb中ldpc编码器和编码方法 | |
CN102932010B (zh) | Qc-ldpc码的高度并行编码器和编码方法 | |
CN104993836A (zh) | 基于查找表的wpan中qc-ldpc串行编码器 | |
CN104980165A (zh) | 一种低延时的wpan中qc-ldpc并行编码器 | |
CN104980167A (zh) | 基于求和阵列的cdr中qc-ldpc并行编码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160622 Termination date: 20161121 |
|
CF01 | Termination of patent right due to non-payment of annual fee |