CN103023515B - 基于块列循环的cmmb中ldpc编码器和编码方法 - Google Patents

基于块列循环的cmmb中ldpc编码器和编码方法 Download PDF

Info

Publication number
CN103023515B
CN103023515B CN201310000323.6A CN201310000323A CN103023515B CN 103023515 B CN103023515 B CN 103023515B CN 201310000323 A CN201310000323 A CN 201310000323A CN 103023515 B CN103023515 B CN 103023515B
Authority
CN
China
Prior art keywords
address
vectorial
row
alt
code word
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
Application number
CN201310000323.6A
Other languages
English (en)
Other versions
CN103023515A (zh
Inventor
张燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rongcheng Dingtong Electronic Information Technology Co., Ltd.
Original Assignee
RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd filed Critical RONGCHENG DINGTONG ELECTRONIC INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310000323.6A priority Critical patent/CN103023515B/zh
Publication of CN103023515A publication Critical patent/CN103023515A/zh
Application granted granted Critical
Publication of CN103023515B publication Critical patent/CN103023515B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了一种CMMB系统中两种码率LDPC码的编码方案,其特征在于,所述系统的LDPC编码器主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加单元和并行累加单元十部分组成。该编码器的编码步骤一致性强,易于实现。本发明充分利用校验矩阵的块列循环特性和列重相同特点,能在不降低编码速度的前提下有效减少存储器和逻辑资源的需求,具有成本低、功耗小等特点。<pb pnum="1" />

Description

基于块列循环的CMMB中LDPC编码器和编码方法
技术领域
本发明涉及移动多媒体广播领域,特别涉及一种CMMB系统中LDPC编码器的高效实现方法。
背景技术
由于在传输信道中存在的各种失真和噪声会对发送信号产生干扰,接收端不可避免地会出现数字信号产生误码的情况。为了降低误码率,需要采用信道编码技术。低密度奇偶校验(Low-Density Parity-Check,LDPC)码以其逼近Shannon限的优异性能和可高速并行译码成为信道编码领域的研究热点。
CMMB标准采用了1/2和3/4两种码率的二进制LDPC规则码。它们都是系统码,但信息向量不是原封不动地集中放置在码字的前半部分或后半部分,而是被打乱散布在码字中。两种码率的校验矩阵H的列重均为3,且都存在一定的循环特性:对于1/2码率,H是由前36列每隔36列循环下移18位得到;对于3/4码率,H是由前36列每隔36列循环下移9位得到。对于两种码率,定义连续36列为1块列,则H有256块列。两种码率的校验矩阵H都具有一定的块列循环特性:对于1/2(或3/4)码率,H的右一块列是左一块列循环下移18(或9)位的结果,而首块列是末块列循环下移18(或9)位的结果。
现有的CMMB LDPC编码器普遍采用的是适用于一般LDPC码的LU分解编码算法或RU编码算法(也称作近似下三角编码算法),将H分割成多个孤立的子矩阵,未能合理利用H的块列循环特性和列重相同特点,导致存储量大、成本高、功耗大。可见,如何充分利用H的块列循环特性和列重相同特点实现高效的LDPC编码器对CMMB激励器的产品化具有很高的实用价值。
发明内容
本发明的主要目的在于,提供一种适合于CMMB标准采用的两种码率LDPC码的高效编码器。
本发明通过初等行列交换,将校验矩阵H变换成近似下三角形式HALT,将码字c变换成cALT=[spALT]=[sp0p1p2],使信息比特和校验比特分别集中位于码字的前半部分s和后半部分pALT=[p0p1p2]。此外,令H的行对应向量qT,HALT的行对应向量鉴于H与HALT之间、c与cALT之间以及q与qALT之间的等价关系,本发明在纵向分割HALT的基础上给出LDPC码的纵向编码算法,具体实现主要是利用H的块列循环特性和列重相同特点来完成。
本发明给出的编码器实现简单,主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加单元和并行累加单元十部分组成。整个编码过程分七步完成:第一步,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量s的各信息比特散布于码字c中,并清零校验向量pALT在码字c中的相应比特;第二步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中;第三步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p0的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中;第四步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中;第五步,使用并行累加单元并行计算高密度矩阵Φ与向量q2的乘积,并将得到的部分校验向量p1的各校验比特散布于码字c中;第六步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中;第七步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中。
综上可见,该编码器的编码步骤一致性强,易于实现。与现有的编码方案相比,本发明充分利用了校验矩阵H的块列循环特性和列重相同特点,能在不降低编码速度的前提下有效减少存储器和逻辑资源的需求,从而达到降低硬件成本和功耗的目的。
关于本发明的优点与精神可通过接下来的发明详述及附图得到进一步的了解。
附图说明
图1是校验矩阵H经初等行列交换后的近似下三角结构示意图;
图2给出了LDPC码纵向编码算法的简化流程图;
图3给出了CMMB标准中1/2码率LDPC码的校验矩阵H首块列每列中“1”所在的行;
图4给出了CMMB标准中3/4码率LDPC码的校验矩阵H首块列每列中“1”所在的行;
图5给出了CMMB标准中兼容两种码率的LDPC编码器的功能框图;
图6是并行累加单元的功能框图;
图7是首块列扩张表的构造示意图;
图8描述了地址发生器通过查询两个映射表计算操作数地址的流程;
图9是纵向累加单元进行后向递推运算时的功能框图;
图10是纵向累加单元计算向量q时的功能框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
规则LDPC码可用参数集(n,ρ,λ)来定义,其中,n是码长,ρ和λ分别是校验矩阵H的行重和列重。LDPC码满足如下关系:
HcT=0                            (1)
其中,上标T表示转置,0是全零向量(或矩阵),c是如下1×n阶码字
c=[ci]                            (2)
其中,0≤i<n。
对于系统形式的LDPC码,通过初等行列交换,H能被变换成图1所示的近似下三角形状HALT。图中,k是信息比特数,r是校验比特数,它们满足k+r=n。从图中能看出,HALT被纵向分割成4部分
HALT=[HsH0H1H2]                    (3)
其中,L和T均为下三角矩阵,它们的对角线右上方全是“0”,对角线上全是“1”。图1标识出了HALT各个子矩阵的尺寸大小以及它们与初等列交换后的码字
cALT=[spALT]=[sp0p1p2]             (4)
和1×r阶向量
qALT=[q0q1q2]                      (5)
各段向量的对应关系。HALT与cALT满足如下关系:
H ALT = c ALT T = 0 - - - ( 6 )
令1×r阶向量
q=[qi]                            (7)
其中,0≤i<r,qALT与q的比特映射关系等同于HALT与H的初等行交换关系。
根据式(3)~(6)和图1中HALT被纵向分割的结构特点,本发明设计一种LDPC码的纵向编码算法,具体如下:
第一步,输入信息向量s,清零校验向量pALT=0,初始化cALT=[s000]。
第二步,计算向量
第三步,利用H0后向递推计算部分校验向量(上标-1表示取逆),更新cALT=[sp000]和qALT
第四步,利用H2后向递推计算部分校验向量更新cALT=[sp00p2]和qALT。注意,此时得到的p2是中间计算结果而不是最终计算结果。
第五步,计算部分校验向量更新cALT=[sp0p1p2]。其中,高密度矩阵Φ=(ET-1B+D)-1
第六步,计算向量
第七步,利用H2后向递推计算部分校验向量更新cALT=[sp0p1p2]和qALT。对cALT重新排序便可得到码字c。
图2是LDPC码纵向编码算法的简化流程图。
CMMB标准采用了η=1/2和η=3/4两种码率的规则LDPC码,它们的参数集分别是(9216,6,3)和(9216,12,3),即码长n=9216,行重ρ各自相同,分别是6和12,列重相同,均为λ=3。对于两种码率,定义连续N=36列为1块列,则H有b=n/N=256块列。定义M=r/b。对于1/2码率,M=18;对于3/4码率,M=9。两种码率的校验矩阵H具有相同的块列循环特性:H的右一块列是左一块列循环下移M位的结果,而首块列是末块列循环下移M位的结果。图3和图4分别给出了1/2和3/4两种码率H的首块列信息表,它由Nλ个单元组成,表中存储的是首块列每列中“1”所在的行,记作Row(0≤Row<r)。CMMB标准采用的两种LDPC码都是系统码,但信息比特不是集中放置在码字的前半部分或后半部分,信息向量s是被打乱散布在码字c中。如图1所示,通过初等行列交换,校验矩阵H能被变换成近似下三角形式HALT,码字c能被变换成式(4)所示的cALT,信息比特和校验比特分别集中位于码字的前半部分s和后半部分pALT=[p0p1p2]。
通过初等行列交换,H和c能被分别变换成HALT和cALT,说明式(1)与式(6)相互等价。前述纵向编码算法主要是利用式(6),本发明根据CMMB标准中两种码率LDPC码校验矩阵H的块列循环特性和列重相同特点,主要利用式(1)实现兼容CMMB标准两种码率的LDPC编码器,如图5所示。该编码器实现简单,主要由控制器、向量存储器、重新排序表、高密度矩阵表、矩阵列映射表、首块列扩张表、地址发生器、重新排序单元、纵向累加单元和并行累加单元十部分组成。控制器控制向量存储器的读写、各个查找表的读取、读写地址的产生、重新排序操作、纵向累加运算和并行累加运算。向量存储器存储向量q和码字c。重新排序表存储向量q2中各比特在向量q中的源地址以及信息向量s和部分校验向量p1中各比特在码字c中的目的地址。高密度矩阵表存储矩阵Φ的所有列向量。地址发生器利用矩阵列映射表和首块列扩张表产生纵向累加单元所需的读写地址。重新排序单元利用重新排序表从向量q中选择恰当比特组成向量q2,并对信息向量s和部分校验向量p1重新排序后放置于码字c中。纵向累加单元完成后向递推运算和向量q的计算。并行累加单元实现高密度矩阵Φ与向量q2的乘积。
本发明设计了如下兼容CMMB标准两种码率LDPC编码器的实现方法:
第一步,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量s的各信息比特散布于码字c中,并清零校验向量pALT在码字c中的相应比特。
第二步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中。地址发生器查询矩阵列映射表的前k个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数(既是源操作数又是目的操作数)的双向地址(既是读地址又是写地址)。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中。
第三步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p0的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中。地址发生器查询矩阵列映射表的第k~k+l-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中。
第四步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中。地址发生器查询矩阵列映射表的第n-t~n-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中。
第五步,使用并行累加单元实现高密度矩阵Φ与向量q2的乘法,并行计算部分校验向量p1。重新排序单元利用重新排序表中的源地址信息从向量q中选择恰当比特组成向量q2,并利用重新排序表中的目的地址信息使向量p1的各校验比特散布于码字c中。
第六步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中。地址发生器查询矩阵列映射表的第k+l~k+l+d-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址。控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中。
第七步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中。该步骤与第四步完全相同。注意,第四步得到的p2是中间计算结果,而这一步得到的p2是最终计算结果。需要指出的是,因为cALT的s、p0、p1和p2四部分已经分别在第一步、第三步、第五步和第七步中散布于码字c中,所以无需再对cALT重新排序即可得到码字c。
在编码过程的第五步中,高密度矩阵Φ与向量q2的乘积由并行累加单元实现,图6是它的功能框图。并行累加器初始化为全零。向量q2的比特q2,i(0≤i<d)乘以矩阵Φ的列向量Φi各信息比特,所得乘积与并行累加器进行模2加,结果存回并行累加器。上述操作重复d次,并行累加器的内容即为部分校验向量p1
在编码过程的第二步、第三步、第四步、第六步和第七步中,两个映射表、地址发生器和纵向累加单元共同完成后向递推运算和向量q的计算。下面,详细说明它们的构造和使用方法。
首块列扩张表是将重复扩展的二维首块列信息表串联成一维得到的。具体方法是,先把首块列信息表的内容复制一份追加到最后一行之后,然后逐列首尾相连拼接成一维表Row[i](0≤i<2Nλ)。后面将看到,这样做能很好地区分后向递推运算涉及的读地址和双向地址。图7给出了首块列扩张表的构造示意图。
矩阵列映射表反映了HALT与H的列号映射关系,并能辅助区分后向递推运算涉及的读地址和双向地址。矩阵列映射表的索引是HALT的列号i(0≤i<n),每个存储单元保存的内容有两项:H的块列号Column[i](0≤Column[i]<b)和首块列扩张表的索引Index[i](0≤Index[i]<2Nλ)。假设HALT的第i列对应H第u(0≤u<b)块列中的第v(0≤v<N)列,那么Column[i]=u。HALT的第i列向量运算涉及1个源操作数和λ个累加操作数,其中一个位于码字c中,其余位于向量q中。由图1和纵向编码算法可知,对于Index[i],分两种情况:一种是HALT的第k~k+l-1列和第n-t~n-1列涉及后向递推运算,每列对应向量q中的1个源操作数和λ-1个累加操作数,需要区分这λ个操作数是源还是累加,另外一个累加操作数位于码字c中;另一种是HALT的前k列和第k+l~k+l+d-1列涉及向量q的计算,每列对应向量q中的λ个累加操作数和码字c中的1个源操作数。对于第一种情况(k≤i<k+l或n-t≤i<n),若源操作数在向量q中的地址下标x(0≤x<r)对应首块列信息表中的第v列、第w(0≤w<λ)行的内容y,即
x=(Mu+y)%r                                       (8)
其中,%表示取余。则
Index[i]=2λv+w                                 (9)
对于第二种情况(0≤i<k或k+l≤i<k+l+d),有
Index[i]=2λv                                  (10)
地址发生器产生与HALT列向量运算相关的操作数地址,它通过查询两个映射表中的数据进而计算得到,如图8所示。与每个列向量运算相关的有1个源操作数和λ个累加操作数,其中一个位于码字c中,其余位于向量q中。操作数地址的计算方法如下:
首先,以HALT的列号i(0≤i<n)为索引查询矩阵列映射表,得到Column[i]和Index[i],计算码字c中1个操作数的地址
Address[i][λ]=N*Column[i]+Index[i]/(2λ)      (11)
其中,/表示取商。对于第一种情况,Address[i][λ]是累加操作数的双向地址;对于第二种情况,它是源操作数的读地址。
然后,以Index[i]为起始索引查询首块列扩张表中的连续λ项内容Row[Index[i]+j](0≤j<λ)。
最后,使用查到的这些数据计算向量q中λ个操作数的地址
Address[i][j]=(M*Column[i]+Row[Index[i]+j])%r         (12)
其中,0≤j<λ。对于第一种情况,第一个地址Address[i][0]是源操作数的读地址,其余地址都是累加操作数的双向地址;对于第二种情况,这λ个地址都是累加操作数的双向地址。
对于第一种情况,HALT的第i(k≤i<k+l或n-t≤i<n)列向量用于实现部分校验向量p0和p2的后向递推运算,并更新向量q,方法如下:
cAddress[i][λ]=cAddress[i][λ]+qAddress[i][0]              (13)
qAddress[i][j]=qAddress[i][j]+qAddress[i][0]               (14)
其中,0<j<λ。式(13)的运算结果可组成p0和p2,具体是
p0=[cAddress[k][λ]cAddress[k+1][λ]…cAddress[k+l-1][λ]]   (15)
p2=[cAddress[n-t][λ]cAddress[n-t+1][λ]…cAddress[n-1][λ]] (16)
将上面两式中的地址下标与式(2)中的地址下标进行对比可知,p0和p2中的各校验比特已经散布于码字c中。
对于第二种情况,HALT的第i(k≤i<k+l或n-t≤i<n)列向量用于计算向量q。q初始化为0,其各比特进行如下累加运算
qAddress[i][j]=qAddress[i][j]+cAddress[i][λ]   (17)
其中,0≤j<λ。
从式(13)~(17)可以看出,作为编码过程中的主要五步,第二步、第三步、第四步、第六步和第七步都是利用H的块列循环特性和列重相同特点来完成的。
纵向累加单元完成式(13)、(14)和(17)的运算,图9和图10分别是它进行后向递推运算和计算向量q时的功能框图。对于CMMB标准中的两种码率LDPC码,均有λ=3。在图9中,并行累加器初始化为累加操作数cAddress[i][3]、qAddress[i][1]和qAddress[i][2],它与输入的源操作数qAddress[i][0]进行模2加,结果存回并行累加器,用于计算或更新码字c和向量q。在图10中,并行累加器初始化为累加操作数qAddress[i][0]、qAddress[i][1]和qAddress[i][2],它与输入的源操作数cAddress[i][3]进行模2加,结果存回并行累加器,用于计算或更新向量q。
综上可见,该编码器充分利用了校验矩阵的块列循环特性和列重相同特点,使用双重映射表计算操作数的地址,节约了大量的存储器资源。编码过程的第二步、第三步、第四步、第六步和第七步一致性强,极大地降低了编程工作量,且易于实现。与现有的编码方案相比,本发明能在不降低编码速度的条件下有效减少存储器和逻辑资源的需求,具有成本低、功耗小等特点。

Claims (7)

1.一种适合于CMMB标准采用的两种不同码率LDPC码的编码器,规则LDPC码用参数集(n,ρ,λ)来定义,校验矩阵H是r×n阶,连续N列为1块列,b=n/N,M=r/b,H的右一块列是左一块列循环下移M位的结果,通过行列交换H变换成近似下三角形状HALT,l、t和d反映了HALT与下三角矩阵的接近程度,其中,n、ρ、λ、r、N、b、M、l、t和d皆为正整数,n=k+r,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有n=9216、λ=3、N=36和b=256,两种不同码率对应的参数ρ分别是6、12,两种不同码率对应的参数r分别是4608、2304,两种不同码率对应的参数k分别是4608、6912,两种不同码率对应的参数M分别是18、9,两种不同码率对应的参数l分别是2544、1776,两种不同码率对应的参数t分别是182、43,两种不同码率对应的参数d分别是1882、485,H对应码字c=[s p],s是信息向量,p是校验向量,HALT对应码字cALT=[s pALT]=[s p0p1p2],pALT=[p0p1p2],其特征在于,所述编码器包括以下部件:
控制器,用于控制向量存储器的读写、各个查找表的读取、读写地址的产生、重新排序操作、横向累加运算和并行累加运算;
向量存储器,用于存储向量q和码字c;
重新排序表,用于存储向量q2中各比特在向量q中的源地址以及信息向量s和部分校验向量p1中各比特在码字c中的目的地址;
高密度矩阵表,用于存储矩阵Φ的所有列向量;
首块列扩张表,是将重复扩展的二维首块列信息表串联成一维得到的,先把首块列信息表的内容复制一份追加到最后一行之后,然后逐列首尾相连拼接成一维表Row[i],其中,0≤i<2Nλ,0≤Row[i]<r;
矩阵列映射表,反映了HALT与H的列号映射关系,并能辅助区分后向递推运算涉及的读地址和双向地址;
地址发生器,利用矩阵列映射表和首块列扩张表产生纵向累加单元所需的读写地址;
重新排序单元,利用重新排序表从向量q中选择恰当比特组成向量q2,并对信息向量s和部分校验向量p1重新排序后放置于码字c中;
纵向累加单元,用于完成后向递推运算,计算部分校验向量p0、p2和向量q;
并行累加单元,用于实现高密度矩阵Φ与向量q2的乘积,计算部分校验向量p1
2.如权利要求1所述的编码器,其特征在于,所述矩阵列映射表的索引是HALT的列号i,其中,0≤i<n,每个存储单元保存的内容包括如下两项:
H的块列号Column[i],假设HALT的第i列对应H第u块列中的第v列,那么Column[i]=u,其中,0≤u<b,0≤v<N,0≤Column[i]<b;
首块列扩张表的索引Index[i],当0≤i<k或k+l≤i<k+l+d时,Index[i]=2λv,当k≤i<k+l或n-t≤i<n时,若源操作数在向量q中的地址下标x对应首块列信息表中的第v列、第w行的内容y,即x=(Mu+y)%r,则Index[i]=2λv+w,其中,0≤x<r,0≤w<λ,%表示取余,0≤Index[i]<2Nλ。
3.如权利要求1所述的编码器,其特征在于,所述地址发生器产生与HALT列向量运算相关的1个源操作数地址和λ个累加操作数地址,它通过查询两个映射表中的数据进而计算得到:
首先,以HALT的列号i为索引查询矩阵列映射表,得到Column[i]和Index[i],计算码字c中1个操作数的地址Address[i][λ]=N*Column[i]+Index[i]/(2λ),当k≤i<k+l或n-t≤i<n时,Address[i][λ]是累加操作数的双向地址,当0≤i<k或k+l≤i<k+l+d时,它是源操作数的读地址,其中,0≤i<n,/表示取商;
然后,以Index[i]为起始索引查询首块列扩张表中的连续λ项内容Row[Index[i]+j],其中,0≤j<λ;
最后,计算λ个操作数的地址Address[i][j]=(M*Column[i]+Row[Index[i]+j])%r,当k≤i<k+l或n-t≤i<n时,第一个地址Address[i][0]是源操作数的读地址,其余地址都是累加操作数的双向地址,当0≤i<k或k+l≤i<k+l+d时,这λ个地址都是累加操作数的双向地址。
4.如权利要求1所述的编码器,其特征在于,所述并行累加单元用于计算部分校验向量p1
并行累加器初始化为全零;
向量q2的比特q2,i乘以矩阵Φ的列向量Φi各信息比特,所得乘积与并行累加器进行模2加,结果存回并行累加器,其中,0≤i<d;
上述操作重复d次,并行累加器的内容即为部分校验向量p1
5.如权利要求1所述的编码器,其特征在于,所述纵向累加单元用于完成后向递推运算的过程如下:并行累加器初始化为累加操作数cAddress[i][3]、qAddress[i][1]和qAddress[i][2],它与输入的源操作数qAddress[i][0]进行模2加,结果存回并行累加器,用于计算或更新码字c和向量q。
6.如权利要求1所述的编码器,其特征在于,所述纵向累加单元用于计算向量q的过程如下:并行累加器初始化为累加操作数qAddress[i][0]、qAddress[i][1]和qAddress[i][2],它与输入的源操作数cAddress[i][3]进行模2加,结果存回并行累加器,用于计算或更新向量q。
7.一种适合于CMMB标准采用的两种不同码率QC-LDPC码的编码方法,规则LDPC码用参数集(n,ρ,λ)来定义,校验矩阵H是r×n阶,连续N列为1块列,b=n/N,M=r/b,H的右一块列是左一块列循环下移M位的结果,通过行列交换H变换成近似下三角形状HALT,l、t和d反映了HALT与下三角矩阵的接近程度,其中,n、ρ、λ、r、N、b、M、l、t和d皆为正整数,n=k+r,两种不同码率η分别是1/2、3/4,对于这两种不同码率QC-LDPC码,均有n=9216、λ=3、N=36和b=256,两种不同码率对应的参数ρ分别是6、12,两种不同码率对应的参数r分别是4608、2304,两种不同码率对应的参数k分别是4608、6912,两种不同码率对应的参数M分别是18、9,两种不同码率对应的参数l分别是2544、1776,两种不同码率对应的参数t分别是182、43,两种不同码率对应的参数d分别是1882、485,H对应码字c=[s p],s是信息向量,p是校验向量,HALT对应码字cALT=[s pALT]=[s p0p1p2],pALT=[p0p1p2],其特征在于,所述编码方法包括以下步骤:
第一步,利用重新排序表中的目的地址信息,使用重新排序单元将信息向量s的各信息比特散布于码字c中,并清零校验向量pALT在码字c中的相应比特;
第二步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中,地址发生器查询矩阵列映射表的前k个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中;
第三步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p0的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中,地址发生器查询矩阵列映射表的第k~k+l-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中;
第四步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中,地址发生器查询矩阵列映射表的第n-t~n-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入码字c和向量q中;
第五步,使用并行累加单元实现高密度矩阵Φ与向量q2的乘法,并行计算部分校验向量p1,重新排序单元利用重新排序表中的源地址信息从向量q中选择恰当比特组成向量q2,并利用重新排序表中的目的地址信息使向量p1的各校验比特散布于码字c中;
第六步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元计算向量qALT的各比特,并将它们散布于向量q中,地址发生器查询矩阵列映射表的第k+l~k+l+d-1个单元和整个首块列扩张表,进而计算源操作数的读地址和累加操作数的双向地址,控制器按照源地址从码字c和向量q中读取源操作数,经纵向累加单元运算后,按照目的地址将累加结果写入向量q中;
第七步,根据HALT的列排列顺序及其与H的列号映射关系,使用纵向累加单元后向递推计算部分校验向量p2的各校验比特,更新向量qALT的各比特,并将它们分别散布于码字c和向量q中,该步骤与第四步完全相同,注意,第四步得到的p2是中间计算结果,而这一步得到的p2是最终计算结果,需要指出的是,因为cALT的s、p0、p1和p2四部分已经分别在第一步、第三步、第五步和第七步中散布于码字c中,所以无需再对cALT重新排序即可得到码字c。
CN201310000323.6A 2013-01-01 2013-01-01 基于块列循环的cmmb中ldpc编码器和编码方法 Expired - Fee Related CN103023515B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310000323.6A CN103023515B (zh) 2013-01-01 2013-01-01 基于块列循环的cmmb中ldpc编码器和编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310000323.6A CN103023515B (zh) 2013-01-01 2013-01-01 基于块列循环的cmmb中ldpc编码器和编码方法

Publications (2)

Publication Number Publication Date
CN103023515A CN103023515A (zh) 2013-04-03
CN103023515B true CN103023515B (zh) 2015-10-28

Family

ID=47971693

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310000323.6A Expired - Fee Related CN103023515B (zh) 2013-01-01 2013-01-01 基于块列循环的cmmb中ldpc编码器和编码方法

Country Status (1)

Country Link
CN (1) CN103023515B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103259543A (zh) * 2013-04-16 2013-08-21 荣成市鼎通电子信息科技有限公司 深空通信中准循环ldpc码生成多项式的并行产生装置
CN103236851A (zh) * 2013-04-19 2013-08-07 荣成市鼎通电子信息科技有限公司 基于查找表的cmmb中准循环矩阵高速乘法器
CN103236853A (zh) * 2013-04-19 2013-08-07 荣成市鼎通电子信息科技有限公司 无乘法运算的cmmb中准循环矩阵串行乘法器
CN105703783B (zh) * 2016-03-30 2019-10-18 成都凯腾四方数字广播电视设备有限公司 一种准并行结构的ldpc编码器
CN113655966B (zh) * 2021-08-23 2022-03-25 海飞科(南京)信息技术有限公司 供并行计算用的交叉存储器伪随机映射方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119118A (zh) * 2007-09-06 2008-02-06 上海交通大学 分层准循环扩展构造的ldpc码的编码器
CN102843151A (zh) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 一种低延时的cmmb中ldpc并行编码器和编码方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101119118A (zh) * 2007-09-06 2008-02-06 上海交通大学 分层准循环扩展构造的ldpc码的编码器
CN102843151A (zh) * 2012-09-27 2012-12-26 苏州威士达信息科技有限公司 一种低延时的cmmb中ldpc并行编码器和编码方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DTMB标准实时LDPC编码器设计;彭海云等;《电视技术》;20100117;全文 *
基于FPGA的不可分层LDPC码译码器;江涛等;《无线电通信技术》;20120218;全文 *
基于改进LU分解的CMMB标准中LDPC编码器设计;张鹏等;《电视技术》;20100417;全文 *
应用循环移位矩阵设计LDPC码译码器;管武等;《应用科学学报》;20090331;第27卷(第2期);全文 *

Also Published As

Publication number Publication date
CN103023515A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103067025B (zh) 基于块行循环的cmmb中ldpc编码器和编码方法
CN103023515B (zh) 基于块列循环的cmmb中ldpc编码器和编码方法
CN102122963B (zh) 一种dtmb系统中qc-ldpc码的编码器和编码方法
CN102356554B (zh) Turbo码数据交织处理方法和用于交织Turbo码数据的交织器
CN102843152B (zh) 基于并行滤波的cmmb中ldpc编码器和编码方法
Etzion Problems on q-analogs in coding theory
CN102932007A (zh) 高度并行的深空通信中qc-ldpc编码器和编码方法
CN102857236A (zh) 基于求和阵列的cmmb中ldpc编码器和编码方法
CN102857238B (zh) 基于求和阵列的深空通信中ldpc编码器和编码方法
CN102843150A (zh) 一种低延时的qc-ldpc并行编码器和编码方法
CN102882532A (zh) 循环右移累加基的cmmb中ldpc编码器和编码方法
Almeida et al. Systematic maximum sum rank codes
CN102843146A (zh) 一种低延时的深空通信中ldpc并行编码器和编码方法
CN104579366B (zh) Wpan中基于三级流水线的高速qc-ldpc编码器
CN102916706A (zh) 高度并行的cmmb中qc-ldpc编码器和编码方法
CN100557983C (zh) 一种准循环低密度奇偶校验码编码器和校验位生成方法
CN100586029C (zh) 一种结构化奇偶校验码的编码方法及其编码器
CN102891687A (zh) 基于求和阵列的qc-ldpc并行编码器和编码方法
CN103269228B (zh) 共享存储机制的cmmb中准循环ldpc串行编码器
CN102932013A (zh) 基于查找表的近地通信中qc-ldpc并行编码方法
CN102882531A (zh) 基于求和阵列的dtmb中ldpc编码器和编码方法
CN106972864A (zh) 深空通信中基于校验矩阵的准循环ldpc编码器
CN106982063A (zh) Wpan中基于校验矩阵的准循环ldpc编码器
CN103905157B (zh) 深空通信中部分并行输入的累加左移qc-ldpc编码器
CN104518803B (zh) Cmmb中基于四级流水线的高速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
ASS Succession or assignment of patent right

Owner name: ZHANG YAN

Free format text: FORMER OWNER: SUZHOU VESTAX INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20150811

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Zhang Yan

Inventor before: Zhang Peng

Inventor before: Cai Chaoshi

Inventor before: Yang Gang

Inventor before: Liu Lei

Inventor before: Lin Ziliang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: ZHANG PENG CAI CHAOSHI YANG GANG LIU LEI LIN ZILIANG TO: ZHANG YAN

TA01 Transfer of patent application right

Effective date of registration: 20150811

Address after: 264300 Rongcheng experimental middle school, Shandong, Weihai

Applicant after: Zhang Yan

Address before: Kolding road high tech Zone of Suzhou City, Jiangsu province 215163 No. 78 Su Gaoxin Software Park Building No. 7 102

Applicant before: Suzhou Weishida Information Technology Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150916

Address after: Rongcheng City, Weihai City, Shandong province 264300 Jianye Street No. 228

Applicant after: Rongcheng Dingtong Electronic Information Technology Co., Ltd.

Address before: 264300 Rongcheng experimental middle school, Shandong, Weihai

Applicant before: Zhang Yan

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: 20151028

Termination date: 20160101

EXPY Termination of patent right or utility model