CN102857239B - 基于查找表的cmmb中ldpc串行编码器和编码方法 - Google Patents
基于查找表的cmmb中ldpc串行编码器和编码方法 Download PDFInfo
- Publication number
- CN102857239B CN102857239B CN201210371904.6A CN201210371904A CN102857239B CN 102857239 B CN102857239 B CN 102857239B CN 201210371904 A CN201210371904 A CN 201210371904A CN 102857239 B CN102857239 B CN 102857239B
- Authority
- CN
- China
- Prior art keywords
- register
- look
- ldpc
- kinds
- serial
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种解决CMMB系统中两种不同码率QC-LDPC码串行编码的方案,其特征在于,所述系统的QC-LDPC码的串行编码器主要由寄存器、索引编码器、查找表和b位二输入异或门四部分组成。本发明提供的QC-LDPC串行编码器兼容多码率,能在保持编码速度不变的条件下有效减少资源需求,具有控制简单、资源消耗少、功耗小、成本低等优点。
Description
技术领域
本发明涉及移动多媒体广播领域,特别涉及一种CMMB系统中QC-LDPC码编码器的串行实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。
低密度奇偶校验(Low-Density Parity-Check,LDPC)码以其逼近Shannon限的优异性能成为信道编码领域的研究热点。准循环LDPC码(Quasic-LDPC,QC-LDPC)码是一种特殊的LDPC码,其编码可采用移位寄存器加累加器(Shift-Register-Adder-Accumulator,SRAA)加以实现。
SRAA法是利用生成矩阵GQC进行编码。QC-LDPC码的生成矩阵GQC是由a×t个b×b阶循环矩阵Gi,j(1≤i≤a,1≤j≤t)构成的阵列,t=a+c。与信息向量对应的一部分生成矩阵是单位矩阵,与校验向量对应的其余部分生成矩阵是高密度矩阵。串行SRAA法完成一次编码需要ab+t个时钟周期,需要(t+c)b个寄存器、cb个二输入与门和cb个二输入异或门。此外,还需要acb比特ROM存储循环矩阵的首行。
CMMB标准采用了1/2和3/4两种不同码率η的LDPC码,通过行列交换,校验矩阵H可被变换为准循环形式HQC,HQC对应准循环生成矩阵GQC。对于这两种QC-LDPC码,均有t=36和b=256。图1给出了不同码率η下的参数a和c。
CMMB标准中QC-LDPC低速编码的现有解决方案是采用串行SRAA法,两种码率所需的编码时间分别是4644和6948个时钟周期。逻辑资源需要13824个寄存器、4608个二输入与门和4608个二输入异或门,这是由码率η=1/2对应的参数决定的。此外,两种码率共需145,152比特ROM存储循环矩阵的首行。当采用硬件实现时,需要较多的存储器和寄存器,势必会造成设备成本高,功耗大。
发明内容
针对CMMB系统多码率QC-LDPC码低速编码的现有实现方案中存在的资源需求量大缺点,本发明提供了一种基于查找表的串行编码方法,能在保持编码速度不变的前提下,减少资源需求。
如图2所示,基于查找表的CMMB标准中多码率QC-LDPC码的串行编码器主要由4部分组成:寄存器、索引编码器、查找表和b位二输入异或门。整个编码过程分4步完成:第1步,清零寄存器Ra+1~Rt;第2步,输入信息比特ek(0≤k<ab),寄存器R1~Ra串行左移1次,缓冲信息向量s,为索引编码器配置恰当的码率η,块行号控制端输入ρ=[K/b]+1(符号[K/b]表示不大于k/b的最大整数),查找表根据索引τ选择输出,b位二输入异或门Al(1≤l≤c)将查找表的第l个b位输出端与寄存器Ra+l串行循环左移1次的结果相加,和存回寄存器Ra+l;第3步,以1为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕;第4步,并行输出码字v=(s,p)。
本发明提供的QC-LDPC串行编码器兼容多码率,能在保持编码速度不变的前提下有效减少资源需求,从而达到降低硬件成本和功耗的目的。
关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。
附图说明
图1给出了不同码率η下的参数a和c;
图2是CMMB标准中兼容两种码率的QC-LDPC码串行编码器整体结构;
图3给出了索引编码器的输出τ与信息比特、码率η和生成矩阵GQC的块行号ρ之间的关系;
图4比较了传统的串行SRAA法与本发明的资源消耗。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
QC-LDPC码是一类特殊的LDPC码,它的生成矩阵GQC和校验矩阵HQC都是由循环矩阵构成的阵列,具有分段循环特点,故被称为准循环LDPC码。从行的角度看,循环矩阵的每一行都是上一行(首行是末行)循环右移一位的结果;从列的角度看,循环矩阵的每一列都是前一列(首列是末列)循环下移一位的结果。循环矩阵的行向量构成的集合与列向量构成的集合完全相同,因此,循环矩阵完全可由它的首行或首列来表征。QC-LDPC码的生成矩阵GQC是由a×t个b×b阶循环矩阵Gi,j(1≤i≤a,1≤j≤t)构成的阵列:
GQC(或HQC)的连续b行和b列分别被称为块行和块列。
CMMB标准采用了1/2和3/4两种不同码率η的LDPC码,通过行列交换,校验矩阵H可被变换为准循环形式HQC,HQC对应准循环生成矩阵GQC。生成矩阵GQC对应码字v=(s,p),GQC的前a块列对应的是信息向量s=(e0,e1,…,eab-1),后c块列对应的是校验向量p。以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa);校验向量p被等分为c段,即p=(p1,p2,…,pc)。CMMB标准采用了两种不同码率的QC-LDPC码,均有t=36和b=256,图1给出了不同码率η下的参数a和c。
由式(1)和循环矩阵的特点,图2给出了适用于CMMB标准中两种码率QC-LDPC码的串行编码器,它主要由寄存器、索引编码器、查找表和b位二输入异或门四种功能模块组成。寄存器R1~Ra用于缓存信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt用于计算和存储校验向量p=(p1,p2,…,pc)。索引编码器形成查找表的索引τ,以简化查找表的使用。b位二输入异或门A1~Ac将查找表的第1~c个b位输出值分别累加到寄存器Ra+1~Rt中。
索引编码器的输出τ取决于三个输入:信息比特、码率η和生成矩阵GQC的块行号ρ(1≤ρ≤a)。如果当前输入的信息比特是0,那么τ=0;否则,根据码率η和块行号ρ计算τ。当η=1/2时,τ=ρ;当η=3/4时,τ=18+ρ。码率η有两种,故可用1比特来表示;块行号ρ的最大值是27,故可用5比特来表示;τ的最大值是45,故可用6比特来表示。图3给出了索引编码器的输出τ与三个控制量之间的关系。
查找表根据索引τ进行输出。如果τ=0,那么查找表输出全零;如果1≤τ≤18,那么查找表输出η=1/2的生成矩阵GQC第τ块行、第a+1~t块列中所有循环矩阵的首行;否则,查找表输出η=3/4的生成矩阵GQC第τ-18块行、第a+1~t块列中所有循环矩阵的首行。
本发明提供了一种可变码率QC-LDPC码的串行编码方法,结合CMMB标准中多码率QC-LDPC码的串行编码器(如图2所示),其编码步骤描述如下:
第1步,清零寄存器Ra+1~Rt;
第2步,输入信息比特ek(0≤k<ab),寄存器R1~Ra串行左移1次,缓冲信息向量s,为索引编码器配置恰当的码率η,块行号控制端输入ρ=[K/b]+1(符号[K/b]表示不大于k/b的最大整数),查找表根据索引τ选择输出,b位二输入异或门Al(1≤l≤c)将查找表的第l个b位输出端与寄存器Ra+l串行循环左移1次的结果相加,和存回寄存器Ra+l;
第3步,以1为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕,此时,寄存器R1~Ra存储的是信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt存储的是校验向量p=(p1,p2,…,pc);
第4步,并行输出码字v=(s,p)。
从以上步骤不难看出,整个编码过程共需ab+t个时钟周期,这与传统的串行SRAA法完全相同。
图4比较了传统的串行SRAA法与本发明的资源消耗。注意,这里将查找表的基本查找单元视为一个二输入与门。从图4可清楚看到,本发明使用的异或门和与门数量与串行SRAA法完全相同,本发明的优势是无需存储器,使用了较少的寄存器,耗费量是串行SRAA法的67%。综上可见,与传统的串行SRAA法相比,本发明保持了编码速度,具有控制简单、资源消耗少、功耗小、成本低等优点。
以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (4)
1.一种适合于CMMB标准中两种不同码率QC-LDPC码的串行编码器,CMMB是中国移动多媒体广播行业标准的英文简称,英文全称是China Mobile Multimedia Broadcasting,QC-LDPC码的生成矩阵GQC是由a×t个b×b阶循环矩阵Gi,j构成的阵列,其中,a、t和b皆为正整数,t=a+c,1≤i≤a,1≤j≤t,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有t=36和b=256,两种不同码率对应的参数a分别是18、27,两种不同码率对应的参数c分别是18、9,生成矩阵GQC对应码字v=(s,p),GQC的前a块列对应的是信息向量s=(e0,e1,…,eab-1),后c块列对应的是校验向量p,以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa),校验向量p被等分为c段,即p=(p1,p2,…,pc),其特征在于,所述编码器包括以下部件:
寄存器R1~Rt,寄存器R1~Ra用于缓存信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt用于计算和存储校验向量p=(p1,p2,…,pc);
索引编码器,形成查找表的索引τ,以简化查找表的使用,其中,0≤τ≤45;
查找表,根据索引τ输出某一码率QC-LDPC码生成矩阵GQC的第ρ块行、第a+1~t块列中所有循环矩阵的首行,其中,1≤ρ≤a;
b位二输入异或门A1~Ac,将查找表的第1~c个b位输出值分别累加到寄存器Ra+1~Rt中。
2.如权利要求1所述的串行编码器,其特征在于,所述索引编码器的输出τ取决于信息比特、码率η和生成矩阵GQC的块行号ρ三个输入:如果当前输入的信息比特是0,那么τ=0;否则,根据码率η和块行号ρ计算τ,当η=1/2、3/4时,τ分别等于ρ、18+ρ。
3.如权利要求1所述的串行编码器,其特征在于,所述查找表根据索引τ进行输出:如果τ=0,那么查找表输出全零;如果1≤τ≤18,那么查找表输出η=1/2的生成矩阵GQC第τ块行、第a+1~t块列中所有循环矩阵的首行;否则,查找表输出η=3/4的生成矩阵GQC第τ-18块行、第a+1~t块列中所有循环矩阵的首行。
4.一种适合于CMMB标准中两种不同码率QC-LDPC码的串行编码方法,CMMB是中国移动多媒体广播行业标准的英文简称,英文全称是China Mobile Multimedia Broadcasting,QC-LDPC码的生成矩阵GQC是由a×t个b×b阶循环矩阵Gi,j构成的阵列,其中,a、t和b皆为正整数,t=a+c,1≤i≤a,1≤j≤t,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有t=36和b=256,两种不同码率对应的参数a分别是18、27,两种不同码率对应的参数c分别是18、9,生成矩阵GQC对应码字v=(s,p),GQC的前a块列对应的是信息向量s=(e0,e1,…,eab-1),后c块列对应的是校验向量p,以b比特为一段,信息向量s被等分为a段,即s=(s1,s2,…,sa),校验向量p被等分为c段,即p=(p1,p2,…,pc),其特征在于,所述编码方法包括以下步骤:
第1步,清零寄存器Ra+1~Rt;
第2步,输入信息比特ek,寄存器R1~Ra串行左移1次,缓冲信息向量s,为索引编码器配置恰当的码率η,块行号控制端输入ρ=[k/b]+1,查找表根据索引τ选择输出,b位二输入异或门Al将查找表的第l个b位输出端与寄存器Ra+l串行循环左移1次的结果相加,和存回寄存器Ra+l,其中,0≤k<ab,1≤l≤c,符号[k/b]表示不大于k/b的最大整数;
第3步,以1为步长递增改变k的取值,重复第2步ab次,直到整个信息向量s输入完毕,此时,寄存器R1~Ra存储的是信息向量s=(s1,s2,…,sa),寄存器Ra+1~Rt存储的是校验向量p=(p1,p2,…,pc);
第4步,并行输出码字v=(s,p)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371904.6A CN102857239B (zh) | 2012-09-27 | 2012-09-27 | 基于查找表的cmmb中ldpc串行编码器和编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210371904.6A CN102857239B (zh) | 2012-09-27 | 2012-09-27 | 基于查找表的cmmb中ldpc串行编码器和编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102857239A CN102857239A (zh) | 2013-01-02 |
CN102857239B true CN102857239B (zh) | 2015-03-25 |
Family
ID=47403484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210371904.6A Expired - Fee Related CN102857239B (zh) | 2012-09-27 | 2012-09-27 | 基于查找表的cmmb中ldpc串行编码器和编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102857239B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103236858A (zh) * | 2013-04-19 | 2013-08-07 | 荣成市鼎通电子信息科技有限公司 | 基于循环左移的cmmb中准循环ldpc串行编码器 |
CN103236851A (zh) * | 2013-04-19 | 2013-08-07 | 荣成市鼎通电子信息科技有限公司 | 基于查找表的cmmb中准循环矩阵高速乘法器 |
CN103236854A (zh) * | 2013-04-19 | 2013-08-07 | 荣成市鼎通电子信息科技有限公司 | 基于共享存储机制的深空通信中准循环矩阵串行乘法器 |
CN104579364B (zh) * | 2015-01-30 | 2018-05-08 | 荣成市鼎通电子信息科技有限公司 | Cdr中基于四级流水线的高速qc-ldpc编码器 |
CN108304658B (zh) * | 2018-02-02 | 2020-05-19 | 中国计量大学 | 一种基于fpga的极化码编码器硬件实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
-
2012
- 2012-09-27 CN CN201210371904.6A patent/CN102857239B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
Also Published As
Publication number | Publication date |
---|---|
CN102857239A (zh) | 2013-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102882533B (zh) | 基于查找表的dtmb中ldpc串行编码器和编码方法 | |
CN102932009B (zh) | 基于查找表的dtmb中qc-ldpc并行编码方法 | |
CN102857324B (zh) | 基于查找表的深空通信中ldpc串行编码器和编码方法 | |
CN102857235B (zh) | 基于共享寄存器的dtmb中ldpc编码器和编码方法 | |
CN102857236B (zh) | 基于求和阵列的cmmb中ldpc编码器和编码方法 | |
CN102932007B (zh) | 高度并行的深空通信中qc-ldpc编码器和编码方法 | |
CN102843152B (zh) | 基于并行滤波的cmmb中ldpc编码器和编码方法 | |
CN102857239B (zh) | 基于查找表的cmmb中ldpc串行编码器和编码方法 | |
CN102857238B (zh) | 基于求和阵列的深空通信中ldpc编码器和编码方法 | |
CN102843151A (zh) | 一种低延时的cmmb中ldpc并行编码器和编码方法 | |
CN102843150A (zh) | 一种低延时的qc-ldpc并行编码器和编码方法 | |
CN102932011B (zh) | 基于查找表的cmmb中qc-ldpc并行编码方法 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
CN102916706B (zh) | 高度并行的cmmb中qc-ldpc编码器和编码方法 | |
CN102932008B (zh) | 基于查找表的深空通信中qc-ldpc并行编码方法 | |
CN102970046B (zh) | 高度并行的近地通信中qc-ldpc编码器和编码方法 | |
CN102891687B (zh) | 基于求和阵列的qc-ldpc并行编码器和编码方法 | |
CN102882531B (zh) | 基于求和阵列的dtmb中ldpc编码器和编码方法 | |
CN102938652B (zh) | 基于查找表的qc-ldpc码的并行编码器和编码方法 | |
CN102843148B (zh) | 基于查找表的qc-ldpc串行编码器和编码方法 | |
CN102857237B (zh) | 一种低延时的近地通信中ldpc并行编码器和编码方法 | |
CN102932013B (zh) | 基于查找表的近地通信中qc-ldpc并行编码方法 | |
CN104993836A (zh) | 基于查找表的wpan中qc-ldpc串行编码器 | |
CN104980167A (zh) | 基于求和阵列的cdr中qc-ldpc并行编码器 | |
CN104993835A (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: 20150325 Termination date: 20150927 |
|
EXPY | Termination of patent right or utility model |