用于地面数字电视广播的纠错编码方法

文档序号:7621060阅读:316来源:国知局
专利名称:用于地面数字电视广播的纠错编码方法
技术领域
本发明属于数字信息传输技术领域,特别涉及一种用于地面数字多媒体电视广播的纠错编码方法。
背景技术
在经历了机械电视时代、电子黑白电视和彩色电视时代以后,日本广播公司NHK从70年代初期开始研究高清晰度电视,后来有许多国家和国际标准组织也积极开展了这方面的研发。但直到1990年之前,所采用的技术方案还都是全模拟的或者模拟数字混合的方案。在1990年6月1日,美国GI公司向美国高级电视顾问委员会(ACATS)提交了全数字地面HDTV制式,电视从此进入了一个新时代——数字电视时代。
经过多年坚持不懈的研究和发展,许多国家和地区已经制定了地面数字电视广播(Digital Television Terrestrial Broadcasting,DTTB)标准,主要有三个国际地面数字电视标准(美国ATSC、欧洲DVB-T和日本ISDB-T)。在国内,清华大学也提出了自己的地面数字多媒体电视广播(DMB-T)传输方案。这些标准和方案在系统构成、设计参数和目标等许多方面,或多或少地存在着差异,存在着各种各样的不同要求。
不同的地面数字电视广播系统的业务要求。在地面电视广播数字化的过程中,需要为用户提供不同的业务√例如提供包括HDTV在内的多媒体广播和综合数据服务业务;√支持固定、便携、手持等接收设备;√高度灵活的频率规划和广播覆盖区域。
不同的设计参数和环境要求。根据我国地面广播电视的具体情况,地面数字多媒体电视广播传输系统面临的的设计要求有√射频范围小于900兆赫兹√基带频率带宽8兆赫兹√移动接收机的时速小于每小时130公里√单发射机覆盖范围半径小于75公里√适用地区都市、郊区、城镇√适用地貌平原、丘陵、沿海、湖边√使用环境室内、室外、车载、便携能够处理不同的信道模型要求。这些地面数字多媒体电视广播传输系统的信道特征有√频率选择性时延分布(Delay spread)约为50微秒
√时间选择性多普勒分布(Doppler spread)约为100赫兹√信道模型广义平稳并非相关散射(WSSUS)√噪声模型加性高斯白噪声(AWGN)、脉冲式干扰、单频干扰等采用不同的调制和纠错方式,适应多种码率要求√码率5Mb/s~30Mb/s,适应从移动到固定的不同接收情况;√调制方式QPSK、16QAM和64QAM√纠错方式RS码、BCH码、卷积码、TCM码、TPC码、Turbo码、SCCC码、LDPC码等。
要求与TS流结构保持一致。MPEG TS流的每个包有188byte组成,其中1byte的同步字和187byte的净荷信息,这就要求地面数字电视系统的帧结构最好传输整数个TS码块,即有效的帧长度是188byte的整数倍,这样便于与信源编码接口。
要求与OFDM长度保持一致。在多载波调制方式的地面数字电视系统中,采用了不同长度的正交频分复用(OFDM)调制。欧洲DVB-T使用了1705(2k)或6817(8k)个子载波的OFDM调制,而清华DMB-T OFDM使用了3744个有效子载波。
满足移动性能的要求。在移动接收过程中,由于多径反射和其它传播路径的影响,接收信号出现快慢衰落,是一个时变信道。为了便于处理,需要把处理限制在一个OFDM帧内,使之在一个OFDM帧近似为时不变信道。这样对OFDM帧长提出了一定的限制。
由于要满足上述这些要求,并且地面数字电视接收机正常工作的误码率要求在10-11以下,因此,不同的地面数字电视广播系统采用了不同的纠错编码方式、不同的编码长度和不同的级联方式等,以便满足不同的要求。
1948年,香农提出著名的信道理论对于给定的有扰信道,若信道容量为C,只要发送端以低于信道容量C的速率R发送信息,则一定存在一种编码方法,使得误码率随着码长的增加变得任意小。这一理论为实现高可靠的数据传输给出了研究的方向。向香农限无限靠近,成为无数科技人员辛勤工作的强劲动力。
现有的三个国际地面数字电视标准(美国ATSC、欧洲DVB-T和日本ISDB-T)都采用了由内码、交织、外码级联的基本结构。它们的外码都采用了RS缩短码,而内码有较大区别。美国ATSC纠错编码的内码采用了固定码率的格型码(TCM),虽然性能很好,但只适应用于高码率。欧洲DVB-T和日本ISDB采用了多种码率的卷积码作为纠错编码的内码,虽然高码率时(64QAM)性能不如格型码,但同时适用于所有的码率(64QAM、16QAM、QPSK)。
随着纠错编码技术的发展,低密度纠错码(Low Density Parity Check,LDPC)正在称为研究和应用的热点。
欧洲在1994年制定了卫星数字视频广播标准DVB-S(EN 300 421),DVB-S标准规定QPSK调制、卷积和Reed-Solomon级联信道编码,现在它被世界范围内大部分的卫星电视和数据广播服务商所采用。在2004年底,欧洲又制定了第二代卫星数字视频广播标准DVB-S2。DVB-S2系统定义了实现基带数字信号的功能模块,其中前向纠错(FEC)编码模块由BCH外码和内码(LDPC(Low Density Parity Check)级联完成,码率包括1/4、1/3、1/2、3/5、2/3、3/4、4/5、5/6、8/9和9/10。依赖于应用领域,FEC编码分组的长度是nldpc=64800bits或16200bits,如表1所示,从表中可以看到,DVB-S2的BCH码和LDPC码的码长都非常长,其实现复杂。当使用VCM和ACM时,FEC和调制模式可以在不同帧间进行改变,但在一个帧内保持不变。在8PSK、16APSK和32APSK的FEC编码比特中采用了比特交织。调制的符号映射依赖于应用领域,可以采用QPSK、8PSK、16APSK和32APSK星座映射。DVB-S2采用的BCH和LDPC级联码的BER~C/N性能曲线如图1所示。
表1DVB-S2的BCH和LDPC级联码的编码参数

上面阐述了地面数字电视有着多种多样的要求,为了适应这些不同的要求,采用的纠错编码也是各不相同,其中LDPC是目前纠错编码研究和应用的热点。在介绍LDPC码之前,我们首先描述几个与LDPC码相关的纠错编码概念或定义,包括线性分组码(linear blockcode)、系统线性分组码(systematic linear block code)、伴随式(或校正子syndrome)、最小汉明距离、循环码(cyclic code)和准循环码(Quasi-cyclic code)等。
元素个数有限的域称为有限域,或者伽逻华域(Galois Field,GF),域中元素的个数称为域的阶,GF(q)表示q阶有限域。
对于(n,k)二进制分组码,共有2k个码字。若没有结构性特性,则编码器将需要记住2k个消息序列和码字之间映射,当k值很大时,这将是不现实的。但线性特性使得编码器更为简单。当且仅当两个码字的模2和仍然是一个码字时,则二进制分组码是线性的。更正式的定义如下(n,k)分组码是线性分组码的条件是当且仅当它的2k个码字构成GF(q)上的n维线性空间Vn中的一个k维子空间Vn,k。
因为(n,k)线性分组码C可以表示为k个线性独立的码字g0,g1,....,gk-1的线性组合,因此,这k个线性独立的向量可以构成一个k×n矩阵,如下所示
G=g0g1Mgk-1=g00g01Lg0,n-1g10g11Lg1,n-1MMMMgk-1,0gk-1,1Lgk-1,n-1]]>其中,gi=(gi0,gi1,....,gi,n-1),0≤i<k。令u=(u0,u1,....,uk-1)表示要编码的信息,则相应的码字为v=u·G=u0g0+u1g1+....+uk-1gk-1其中矩阵G称为码字C的生成矩阵。
线性分组码一个值得注意的特性是它可以构成一个系统结构(Systematic Structure),所谓的线性系统分组码的系统性就是每个码字可以分成清清楚楚的两部分,一部分是k个没有任何改变的原始信息数据,另一部分是(n-k)个冗余校验数据,它们是信息数据的线性组合。
线性系统分组码(n,k)完全可以用k×n阶的矩阵G表示G=g0g1Mgk-1=10L0p0,0p0,1Lp0,n-k-101L0p1,0p1,1Lp1,n-k-1MMMMMMpi,jM00L1pk-1,0pk-1,1Lpk-1,n-k-1]]>其中,pi,j=0或1。若令Ik表示k×k阶单位方阵,则上式表示为G=[IkP]其中P是G的子矩阵,它由G矩阵的后n-k列组成。
对于(n,k)线性分组码C的k×n阶生成矩阵G,存在一个(n-k)×n阶矩阵H,H由n-k个线性独立的行组成,以便G和H是正交的,即H的任意行与G的行空间是正交的。这表明n阶v是C的一个码字,当且仅当v·HT=0时。矩阵H称为码字的校验矩阵(parity-check matrix)。Vn子空间中与C中的码向量保持正交的每个向量构成了一个(n,n-k)线性分组码Cd,Cd称为C的对偶码。Cd的生成矩阵是C的校验矩阵H。
如果(n,k)线性分组码的生成矩阵是系统形式的,即G=[IkP],则其校验矩阵可以表示为如下形式H=PTIn-k=p0,0p1,0Lpk-1,010L0p0,1p1,1Lpk-1,101L0MMMMMMMMp0,n-k-1p1,n-k-1Lpk-1,n-k-100L1]]>它清楚地表明了G和H之间的正交性,G·HT=0。
在(n,k)线性分组码的码字集合中,挑选前i个信息位数字均为0的所有码字,组成一个新的子集,则分组码(n-i,k-i)为(n,k)码的缩短码或截短码。由于该子集的前i为均取0,故传输时可以不传送它们,仅传后面的k-i位即可。该子集是n-i维线性空间中一个k-i维子群,构成一个(n-i,k-i)分组缩短码。换句话讲,对于(n-i,k-i)线性分组缩短码,可以在k-i位信息前填充i为零信息,使得信息为长度变为k,然后进行(n,k)线性分组编码,最后去掉前i个信息位,即前面填充的i位零信息,就得到了(n-i,k-i)线性分组缩短码。该缩短码的最小距离至少与原码相同。缩短码的G矩阵只是在原[n,k]码的G阵中去掉左边i列和上面i行即可。缩短码或截短码的H矩阵,只要在原码H矩阵中去掉若干列即可得到。缩短码的编码码率R比原码要小。
如果一个(n,k)线性分组码的生成矩阵为G,校验矩阵为H,v=(v0,v1,...,vn-1)表示传输的码字,r=(r0,r1,...,rn-1)表示解调器输出端接收到的硬判决向量。由于信道噪声,r可能不同于v。向量和e=r+v=(e0,e1,....,en-1)称为n阶错误图样(error pattern)。e中的1是信道噪声引起的传输错误。由上式可知r=v+e为了实现错误检测,解码器需要计算下面的(n-k)重向量s=r·HT=(s0,s1,....,sn-k-1)s称为接收向量r的伴随式(或校正子)。那么s=0,当仅当r是正确的码字时。因此,如果s≠0,r就不是码字,表明检测到有错误存在。当错误图样e刚好是一个非零码字时,虽然r中存在错误,但r有可能仍然是一个码字。这种错误图样称为不可检测错误图样。一个码字检测随机错误和校正随机错误的能力取决于码字的最小距离(minimum distance)。首先我们定义二进制n重v中非零码元的个数为它的汉明重量(Hamming Weight),表示为w(v)。两个n重v、u之间对应位取值不同的个数,称为它们之间的汉明距离,用d(v,u)表示。汉明距离满足三角不等性,令v、u、x是三个n重向量,则d(v,u)+d(u,x)≥d(v,x)两个n重v、u之间的汉明距离等于它们和的汉明距离,即d(v,u)=w(v+u)。
对于给定的分组码C,可以计算任意两个码字之间的汉明距离,C的最小汉明距离表示为dmin,其定义如下dmin=min{d(v,u)v,u∈C,v≠u}如果C是一个线性分组码,两个码字之和仍然是一个C中的码字,因此,C中两个码字v、u之间的汉明距离就等于C中另外一个码字(v+u)的汉明重量,即dmin=min{d(v,u):v,u∈C,v≠u}]]>=min{w(v+u):v,u∈C,v≠u}]]>=min{w(x):v,x∈C,x≠0}=Δwmin]]>其中wmin是线性码C的最小重量。因此,在纠错编码中有如下一个重要的定理线性分组码的最小距离等于非零码字的最小重量,反之也成立。
下面的定理表述了线性分组码最小距离和它的校验矩阵之间的关系具有校验矩阵H的线性码C的最小距离等于H中其和为0的列的最小数目。
线性分组码的一个重要子类是循环码(Cyclic Code),其编码和伴随式计算可以通过带反馈的移位寄存器实现。循环码具有严谨的代数结构,其性能易于分析;循环码具有循环特性,编解码电路简单,易于实现。目前已发现的大部分线性码与循环码有密切关系,它们中的大部分都可归结于循环码。
令v=(v0,v1,...,vn-1)是长度为n的向量,如果我们把v的码元循环右移i位,0<i<n,将得到另一个n重v(i)=(vn-i,vn-i+1,....,vn-1,v0,v1,...,vn-i-1)。很明显,v循环右移i位等同于v循环左移n-i位。
(n,k)线性码C是循环码,当且仅当C中码字的每一个循环移位仍然是C中码字时。循环码的码字v=(v0,v1,...,vn-1)可以用多项式表示,其系数是v的组合v(X)=v0+v1X+v2X2...+vn-1Xn-1循环码C中最小度(degreen)的非零码多项式是唯一的。如果令g(X)=g0+g1X+g2X2...+gr-1Xr-1+Xr是(n,k)循环码C中最小度的非零码多项式,那么常数项g0将恒为1。同时,n-1或更小度的二进制多项式是一个码字的多项式,当且仅当它是g(x)的乘积。在(n,k)循环码中,有且只有一个n-k度的码多项式g(X)=1+g1X+g2X2+...+gn-k-1Xn-k-1+Xn-k因为最小度g(X)的非零码多项式是唯一的,因此它称为码C的生成多项式。
g(X)和其循环右移k位的g(k)(X)之间存在着简单的关系Xkg(X)=(Xn+1)+g(k)(X)因为g(k)(X)是码多项式,那么g(X)的乘法意味着g(X)是Xn+1的因式。如果g(x)是n-k度的多项式,并且是Xn+1的因子,则g(x)就可生成一个(n,k)循环码。另一类重要的纠错码是准循环码(Quasi-cyclic code,QC code)。循环码C的每一个码字左移或右移一位后仍然是C的一个码字,即循环码在循环移位下具有不变性。但是,对某些码而言,并不具有这种性质。虽然码字循环移位一位得到的不是该码的码字,但若循环移位n0(≠1)位,得到的仍然是该码的一个码字。因此,一个(mn0,mk0)线性分组码,若它的任意一个码字左或右循环移位n0(≠1)位后,得到的仍是该码的一个码字,则称这类码为准循环码(Quasi-cyclic code,QC code)。
(mn0,mk0)准循环码C的生成多项式具有如下形式G=IP00P1L0Pm-10Pm-1IP0L0Pm-2MMMM0P10P2LIP0]]>其中,I和0分别表示k0×k0阶的单位方阵和零矩阵,Pi是k0×(n0-k0)阶矩阵。所以,准循环码的每一个码字由m段组成,每段前面位k0个信息元,后面n0-k0个为校验元。相应的校验矩阵为H=P0TIPTm-10LP1T0P1T0P0T0LP2T0MMMMPTm-10PTm-20LP0TI]]>其中,I和0分别表示(n0-k0)×(n0-k0)阶的单位方阵和零矩阵。我们可以通过对G矩阵进行列交换而得到准循环码系统码形式的G矩阵和H矩阵。
(mn0,mk0)准循环码生成多项式更一般的表达形式如下G=G0G1LGm-1Gm-1G0LGm-2MMMMG1G0LG0]]>其中每个Gi是一个k0×n0阶子矩阵,可以看到,这种形式的生成矩阵完全由它的前k0行决定。
循环矩阵是一个方阵,每一行是它上面一行的循环移位(右移一位),第一行是最后一行的循环移位。对于这种循环矩阵,每一列是它左面一列向下的循环移位,第一列是最后一列的循环移位。循环矩阵的行、列重量是相等的,即w。简单些,我们就称循环矩阵的重量为w。如果w=1,那么循环矩阵是置换矩阵,称为循环置换矩阵(circulant permutationmatrix)。对于循环矩阵,列集合(从上到下读)与行集合(从右到左读)是相同的。循环矩阵的特性完全可以由它的第一行所体现,因此,第一行称为循环矩阵的生成多项式。我们把准循环码的生成矩阵G表示成循环矩阵形式,如下G=[M0M1......Mm-1],其中,Ml=GlGl-1MG0Gm-1MGl+1for0≤l<m]]>对于0≤j<n0,令Qj为抽取M0,M1,....,Mm-1中第j列而构成的一个mk0×m阶矩阵。因此,G可以表示如下形式G′=[Q0Q1.....Qn0-1]]]>对于0≤i<k0,令Qi,j为抽取Qj中第(1k0+i)列而构成的一个m×m阶矩阵,0≤1<m,。因此,G可以表示成如下循环矩阵形式G′′=Q0,0Q0,1LQ0,n0-1Q1,0Q1,1LQ1,n0-1MMMMQk0-1,0Qk0-1,1LQk0-1,n0-1]]>类似地,准循环码的校验矩阵也可以表示成循环矩阵形式。
如果准循环码的生成矩阵具有如下形式Gqc=G0G1MGk0-1=IOLOQ0,0Q0,1LQ0,n0-k0-1OILOQ1,0Q1,1LQ1,n0-k0-1MMMMMMMMOOLIQk0-1,0Qk0-1,1LQk0-1,n0-k0-1=Ik0P]]>其中,I是b×b单位矩阵,O是b×b阶零阵,Qi,j是b×b阶循环矩阵,0≤i≤k0-1,0≤j≤n0-k0-1。这种形式的生成矩阵Gqc称为系统循环(Systematic Circulant,SC)形式,它由两部分组成,左边是P矩阵,它对应于码字的冗余校验部分,右边是Ik0矩阵。因为P是一个循环矩阵的阵列,因此,我们说Gqc是SC形式。
LDPC(Low Density Parity Check,低密度校验码)码是一种基于稀疏矩阵的奇偶校验码。LDPC码是麻省理工学院罗伯特.哥拉格(Robert Gallagher)在1963年在他的博士论文中提出的一种好码,其性能接近Shannon限。他不但证明了LDPC码的优良性能(1)这些码字的典型最小距离随码长的增加线性增加;(2)BSC信道下译码错误的典型概率随码长指数减小,而且提出了两种迭代算法。但由于其实现,特别是硬件实现复杂(需要大量的乘除运算),当时并不被人所关注。这种码后来被称作古典码型。
随后在很长一段时间内,没有受到人们的重视,早已被人遗忘。1993年法国人Berrou等提出了Turbo迭代译码后,1995年Mackay和Neal发现LDPC码的性能足可以和Turbo码相比,而且在实现上更有优势,于是重新介绍了LDPC,这种沉寂了多年的码字很快成为一种引入瞩目的纠错编码方式,其设计、构造、解码、性能分析和应用等成为了人们研究的热点。1998年,MacKay和Spielman发明了不规则的LDPC。Richardson和Urbanke开创了用译码分析设计码型的方法。
LDPC码是很长的线性分组码,它的校验矩阵H(n-k)×n是一个稀疏矩阵,每个码字满足一定数目的线性约束,而约束的数目通常是非常小的,易于译码。
LDPC码将要发送的信息u={u1,u2,....,um}转换成被传输的码字v={v1,v2,....,vn}=uG,n>m,n表示分组的长度,n的取值范围通常从数千到几十万。与生成矩阵G相对应的是一个校验矩阵H,H满足HvT=0,H是一个几乎全部由0组成的稀疏矩阵,每行和每列中1的数目都很少,例如3、4和5等。
Gallagher定义的(n,p,q)LDPC码是码长为n的码字,在它的校验矩阵H中,每一行和列中1的数目(码重)是固定的,其中每一列1的个数(重量)都是γ,行的个数(重量)都是ρ,γ≥3。任意两行(或两列)之间1的重叠数目小于等于1,这称为行列约束(Row-ColumnConstraint,RC约束)。如果校验矩阵H的每一行是线性独立的,那么码率为(ρ-γ)/ρ,否则码率是(ρ-γ’)/ρ,其中γ’是校验矩阵H中行线性独立的数目。
图2是由Gallagher构造的一个(20,3,4)LDPC码的校验矩阵,它的dmin=6,设计码率为1/4,实际码率为7/20。
这种校验矩阵每行和每列中1的数目(汉明重量)相同的LDPC码称为规则LDPC码(Regular LDPC code),由规则LDPC码的校验矩阵H得到如图3所示的双向图(BipartiteGraph)。在图的下方每一个节点xn代表的是变量节点(Variable Node),上方每一个节点zm代表的是校验节点(Check Node)。把某列xn与该列中非零处的zm相连,例如对于x2列,这列中三个1分别对应于z1、z7和z12行,这样就把x2和z1、z7和z12连接起来。从行的角度考虑,把某一行zm中非零点处的xn相连,得到同一个双向图。在规则LDPC码中,与每个信息节点相连边的数目是相同的,校验节点也具有相同的特点。在译码端,把与某一个校验节点zm相连的xn求和,结果若为0,则无错误发生。
Gallagher对规则LDPC码译码采用的迭代概率译码算法称为信度传播(BeliefPropagation)。
与规则LDPC码相对应的是非规则LDPC码(Irregular LDPC code),其校验矩阵H中每行或列中1的个数(重量)不同,例如3、4和5,列中1的个数也不一样。其编码方法与规则LDPC码基本相同,非规则双向图中信息节点之间、校验节点之间的度由可能不同。因此,对于非规则图构造的LDPC码,它的校验矩阵H的列重量不相同,是一个变化的值,这是非规则码与规则码之间的重要区别。
非规则码的性能要好于规则码。最近几年的研究表明,对于在GF(8)构造的非规则码,它的性能要比Turbo码还好,能够显著提高码字性能,其性能非常接近于Shannon限。非规则的译码可以采用可信传播迭代译码算法,也可以采用序列译码和并行译码算法等。
准循环低密度校验码(Quasi-cyclic LDPC Code,QC-LDPC)的生成矩阵为稀疏循环置换矩阵,QC-LDPC与其它类型的LDPC相比,编码实现简单,采用简单的反馈移位寄存器即可,其复杂度与校验比特的数目呈线性比例。关于QC-LDPC码,请参考(1)Z.W.Li,L.Chen,S.Lin,W.Fong,and P.S.Yeh,“Efficient Encoding of Quasi-Cyclic LDPCCodes.”submitted to IEEE Trans.On Communications,2003。
QC-LDPC码生成矩阵Gqc和校验矩阵是一个稀疏循环置换矩阵,其中校验矩阵Hqc是一个γ×ρ阵列,其构成矩阵Bi,j为(q-1)×(q-1)阶循环置换矩阵,为Hqc(γ,ρ)=B1,1B1,2LB1,ρB2,1B1,2LB2,ρMMMMBγ,1Bγ,2LBγ,ρ]]>其满足RC约束。H(γ,ρ)的零空间给出了QC-LDPC码Cqc,长度为n=(q-1)ρ。
人们提出了许多构造循环置换矩阵的方法。在早期的方法中,主要基于本原域,产生的循环置换矩阵可能满足或不满足RS约束,这类方法有(2)R.J.G.Smith,“Easily Decodable Efficient Self-Orthogonal Block Codes,”ElectronicsLetters,vol.13,no.7,pp.173-174,March 1977。
(3)M.Blaum,P.Farrell,and H.van Tilborg,“Array Codes,”Handbook of Coding Theory,V.S.Pless and W.C.Huffman Eds.,Elsevier 1998。
(4)R.M.Tanner,“Minimum-Distance Bounds by Graph Analysis,”IEEE Trans.on InformTheory,vol 47,no.2,pp.808-821,February,2001。
(5)J.-L.Kim,U.Peled,I.Perepelitsa,and V.Pless,“Explicit Construction of families ofLDPC Codes with Girth at Least Six,”the 40th Annual Allerton Conference on Communications,Control and Computing,Oct.2002。
(6)R.M.Tanner,D.Sridhara,A.Sridharaan,T.E.Fuja,and D.J.Costello,jr,“LDPC Blockand Convolutional Codes based on Circulant Matrices,”submitted to IEEE Trans.on Inform.Theory,2004。
(7)B.Vasic and O.Milenkovic,“Combinatorial Construction of Low Density Parity CheckCodes for Iterative Decoding,”IEEE Trans.On Inform.Theory,vol 50,no.6,pp.1156-1176,June2004。
上述方法基本相同,其构造的矩阵也类似。后来人们又提出了基于矩阵分解的循环置换矩阵构造方法,这类方法的参考文献有(8)L.Chen,J.Xu,L.Djurdjevic,and S.Lin,“Near Shannon Limit Quasi-Cyclic LDPC Codes,”IEEE Trans.on Commun.Theory,vol.52,no.7,July 2004(also in Proc.2003 IEEE GlobeCom.,pp.2030-2035,San Francisco,December 1-5,2003)。
(9)B.Ammar,B.Honary,Y.Kou,J.Xu,and S.Lin,“Construction of Low Density Parity CheckCodes based on Balanced Incomplete Block Designs,”IEEE Trans.Inform.Theory,vol.50,no.6,pp.1257-1268,June,2004。
上述方法中,把循环矩阵H按行和列进行分解,得到递减的γ×ρ阶的循环子矩阵H=B1(1)B2(1)LBρ(1)B1(2)B2(2)LBρ(2)MMMMB1(γ)B2(γ)LBρ(γ)]]>如果Bi(k)的重量为1,则H是循环置换矩阵。基于矩阵分解的构造方法有欧几里德几何法和投影几何法,以及具有两个信息符号的RS码法,其中RS码法的参考文献为(10)Ivana Djurdjevic,Jun Xu,Khaled Abdel-Ghaffa and Shu Lin,“A Class of Low-DensityParity-Check Codes Constructed Based on Reed-Solomon Codes With Two Information Symbols”,IEEE Comm.Letters,vol.7,no.7,pp317-318,July 2003。
RS码是MIT Lincoln Lab的Reed和Solomon在1960年发表的论文“Polynomial Codesover Certain Finite Fields”中提出的。RS码是一种效率很高的分组码,既适用于纠随机误码,也特别适用于纠突发误码。RS码是一类非二进制BCH码,每个符号由m比特组成。去掉RS码的某些信息码元后,分组长度缩短,只要监督码元数不变,码的最小距离就不会减少,即任何一种缩短的RS码仍是一个最大码。RS码的码字内的任何k个位置都可用作信息集合。即任何一个GF(q)上的(n,k)RS码,对任何k个符号位置,将只有一个与这k个位置相对的码字。这便于得到任何RS码的确切权分布。RS码的精确纠错性能是由码的最小距离和权分布决定的,RS码的这两项指标都完全由n和k决定。这非常便于根据指标设计RS码,得到广泛应用。
在(n,k)RS码中,输入信息被分成km比特一组,每组包括k个符号,每个符号由m比特组成。纠正t个符号错误的RS码参数如下码长n=2m-1符号,或m(2m-1)比特信息段k符号,或km比特监督段n-k=2t符号,或m(n-k)比特最小码距d=2t+1符号,或m(2t+1)比特LDPC码的性能与码的结构、生成方式、码长度、最小汉明距离、校验矩阵行列的码重分布、解码算法、双向图的周长、双向图的循环分布、双向图的连接特性、双向图的节点度分布等有关。例如分别以列均匀方式和行列均匀方式生成码率为1/2、帧长为250的规则LDPC码,其Eb/N0~BER性能如图4所示,误码率为10-4时,采用列方式(evencol)需要提供3dB的信噪比,而采用行列方式(evenboth)只需要2.7dB就可以了。在此例中,evenboth方式的效果明显比evencol的效果好。在给定相同的信噪比的情况下,evenboth方式的误码率比evencol的误码率低,并随着信噪比的增大,evenboth的误码率下降的更快。
再如,以行列均匀方式生成的不同帧长的1/2码率规则LDPC码,帧长分别的性能比较250、1000、5000,BER误码率与Eb/N0信噪比的关系如图5所示,从中可以看出,在每一种帧长下,误码率都随着信噪比的增大而快速降低。并且帧长越长,这种下降速度越快,达到相同的误码率所需要的信噪比就越低。
LDPC码从60年代的初露头角,到今天的大放异彩,经历了将近半个世纪。这几十年里,发展并完善了LDPC码的一整套理论和相关技术。LDPC码的广泛应用背景,成为当今世界各国学术界和IT业界高度重视的热点。
任何一项优良的技术,只有在现实中得到实际应用,才能体现出其真正的价值。LDPC码无疑是一种优秀的纠错码型,它与香农限的靠近程度是目前已有的其它任何码型都无法比拟的,但是在有些方面还有待改进,例如实现复杂度、系统时延、编码效率等,或者换句话讲,需要根据实际应用系统的需求,例如前面所述的地面数字电视广播的特殊需求,需要对LDPC码的设计、构造、解码、性能分析和应用等方面的问题进行具体的分析和设计1)LDPC码的设计、构造及优化目前,人们提出了各种LDPC码设计和构造方法。基于构造的方法来分类,LDPC码分为两类随机码(Random Code)和结构码(Structured Code),随机LDPC码的构造采用计算机搜索方式,但需要满足一定的限制条件,或需要的码图结构,例如节点的周长和度分布。这种搜索生成方式需要的计算量呈o(n2),不规则LDPC的性能要在长码下才更好,但计算量会更大。因此,需要寻求减少计算的方法,探求校验矩阵H的结构。虽然目前已有了一些代数方式可以减少计算量,使得对于某些具有特殊结构的H的码型,编码计算量可以随码长的增加而线性增长。但是,这些结构是否为最优结构,度的分布更复杂时这个结论是否依然成立还不得而知。
而结构化的LDPC码是基于代数和组合的方法来构造的。长的随机LDPC码通常比同等的结构化LDPC码更接近于仙农极限,但是它们没有充分的结构化,从而简化编码。相反,结构化LDPC码通常有更好的编码优势,特别是循环或准循环LDPC码(Quasi-CyclicLDPC,QC-LDPC),它们可以采用简单的移位寄存器实现编码,对于串行编码,其复杂度线性正比于校验比特的数目;对于并行编码,其复杂度正比于码长。对于一个实际应用的码字长度,人们已经证明了一个好的设计的结构化的LDPC码性能(误比特率、误块率和误码平台)等同于随机LDPC码。
因此,寻找更好的或更适合于特定应用的LDPC的编码方式和LDPC码结构是必须解决的一个问题之一。
2)LDPC在非标准信道下性能的研究目前已有的文献对LDPC的研究都是在标准信道下,尤其是对称信道下进行。而在地面数字电视广播中,发射塔到移动接收是典型的非标准信道,并且存在着非常严重的多径效应和多普勒效应的影响。LDPC码要在移动接收环境中得以应用,必须要研究它在这种信道下的性能是否依然卓越,并且寻求专用于这种信道下的优化方法。
3)更有效的解码算法目前有各种不同的LDPC译码算法。最简单的是采用硬判决的大数逻辑(Majority-logic,MLG)算法。常用的LDPC解码算法是比特翻转(Bit-flipping,BF)算法、加重比特翻转(Weighted BF)算法和基于信度传递的迭代译码(Iterative Decoding Based onBelief Progagation,IDBP)算法等三种,其中IDBP也就是和积算法(Sum-Product Algorithm,SPA),在上述解码算法和实现中,SPA算法给出了最好的性能。
因此,寻找更有效、性能更好的解码算法也是当前LDPC研究的热点。
4)LDPC的硬件实现由于LDPC的计算量大,因此,采用专用芯片来实现LDPC的编码和解码将大大提高系统效率,研究利用专用的DSP芯片实现LDPC码的编译码功能也是一大热点。
当然还存在一些其它问题,在地面数字电视广播实际应用中,我们都要面对这些问题,只有对这些问题给出一个综合考虑和解决方案,才能得到一个适用的LDPC码发明内容本发明的目的是针对我国地面数字电视广播传输的各种需求,例如不同的调制方式;便于与TS码流接口,携带整数个TS码块;与OFDM调制长度保持一致;为了提供更好的移动性能,时变特性限制在一个OFDM帧中,提出了一种基于BCH码和LDPC码串行级联的多码率纠错编码方法,通过不同的LDPC码构造,得到多种编码码率,以便适用不同的信道情况。本发明采用了较短的码长,实现结构简单,具有较小的时延和良好的纠错性能,更好地适应各种应用。
本发明提出了一种采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每2个分为一组,长度为3008比特,即188×8×2=3008比特,然后再进一步分为4个子组,每一子组的长度为752比特;2)对4个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为4×762=3048比特;3)对4个BCH(762,752)码CBCH输出的3048个比特进行LDPC(7493,3048)编码,即与LDPC(7493,3048)预定的生成矩阵Gqc1相乘,得到QC-LDPC(7493,3048)码Cqc1;4)删除LDPC(7493,3048)码Cqc1输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,3048)码按预定的校验矩阵Hqc1进行解码。
上述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)是BCH(1023,1013)的缩短码,按以下步骤生成1)在752个数据比特前增加261个“0”比特,组成1013比特的信息;2)对这1013个信息比特进行BCH(1023,1013)纠错编码,其生成多项式为x10+x3+1,输出1023个纠错编码比特;3)去掉纠错编码比特的前261个比特,因为BCH码是系统码,去掉的261个比特是“0”比特,最后得到BCH(762,752)码CBCH。
上述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)的校验矩阵Hqc1由循环置换矩阵构成
Hqc1=B0,0B0,1LB0,ρ-1B1,0B1,1LB1,ρ-1MMBi,jMBγ-1,0Bγ-1,1LBγ-1,ρ-1]]>其中,γ=35,ρ=59,Bi,j是一个(q-1)×(q-1)阶循环矩阵,q=128,0≤i≤γ-1和0≤j≤ρ-1。
上述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)校验矩阵Hqc1的构造基于两信息符号的里德-所罗门码,即RS码,步骤如下1)在伽逻华域GF(q)中生成RS(q-1,q-ρ,ρ-1)码CRS,其中码长为q-1,信息符号长度为q-ρ-1,最小汉明距离为ρ-1;2)从CRS中删除前q-ρ-1信息符号得到缩短RS(ρ,2,ρ-1)码Cb;3)构造码字集合Cb(i)c是Cb中一个码重为ρ的码字,Cb中q-1个非零码字构成一维码字的集合Cb(1)={βcβ∈GF(ps)},基于子码Cb(1),通过循环右移一位,把Cb分割为q-1个陪集,即Cb(1),Cb(2),L Cb(q-1),那么任意陪集Cb(i)中两个码字在所有的位置都是不同的;4)由Cb(i)构造符号位置矢量集合Z(Cb(i))z=(z0,z1,L,zq-2)是GF(2)上的(q-1)-重,对应于GF(ps)的q-1个非零的域元素αi,而b=(b0,b1,L,bρ-1)为Cb中的码字,用z(bj)代替b的每个分量bj,则得到GF(2)上的ρ(q-1)-重z(b)=(z(b0),z(b1),.....,z(bρ-1)),那么Cb(1)的第i个陪集Cb(i)中的q-1个码字的符号位置矢量的集合为Z(Cb(i)={z(b)b∈Cb(i)},Z(Cb(i))中任意两个符号位置矢量没有任何“1-分量”是共有的或相同的;5)构造Z(Cb(i))的符号位置矩阵Ai对于0≤i≤q-2,在GF(2)上构造一个(q-1)×ρ(q-1)阶矩阵Ai,它的行是Z(Cb(i))中的q-1个符号位置矢量;6)由符号位置矩阵Ai构造一个规则的基矩阵HGA(γ,ρ)HGA(γ,ρ)=A0MAγ-1=A0,0A0,1LA0,ρ-1A1,0A1,1LA1,ρ-1MMAi,jMAγ-1,0Aγ-1,1LAγ-1,ρ-1]]>其行、列重量各为ρ和γ,它具有其成员矩阵Ai的结构特点;7)通过计算机随机构造一个GF(2)上非规则的γ×ρ阶掩蔽矩阵W(γ,ρ),使其列、行重量分布分别等于(或接近)预先计算确定的变量节点度分布v(X)和校验节点度分布c(X);8)通过下列矩阵乘法获得QC-LDPC的校验矩阵Hqc1Hqc1=w1,1A1,1w1,2A1,2Lw1,ρA1,ρw2,1A2,1w2,2A2,2Lw2,ρA2,ρMMwi,jAi,jMwγ,1Aγ,1wγ,2Aγ,2Lwγ,ρAγ,ρ]]>其中 上述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)生成矩阵Gqc1由循环置换矩阵构成Gqc=IOLOG0,0G0,1LG0,γ-1OILOG1,0G1,1LG1,γ-1MMOMMMGi,jMOOLIGρ-γ-1,0Gρ-γ-1,1LGρ-γ-1,γ-1]]>其中,I是(q-1)×(q-1)阶单位矩阵,O是(q-1)×(q-1)阶零阵,而Gi,j是(q-1)×(q-1)循环矩阵,q=128,γ=35,ρ=59,0≤i≤ρ-γ-1,0≤j≤γ-1;上述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)生成矩阵Gqc1的构造基于所述的校验矩阵Hqc1,步骤如下1)把Hqc的循环矩阵的列重新排列,构造一个γ×ρ阶矩阵DD=B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1]]>D是方阵、满秩、非奇异,即逆矩阵D-1存在,其秩与Hqc的秩相同;2)根据编码理论HqcGqcT=|O|,|O|是γ(q-1)×(ρ-γ)(q-1)阶零阵,得等式MiuT+DziT=0,则ziT=D-1MiuT其中zi=(gi,0gi,1K gi,γ-1)表示Gqc生成矩阵中P矩阵的第i行Mi=[BT0,i........BTγ-1,i]T表示Hqc循环矩阵的第i列;
u=(10K0)表示“1”位于开始的单位(q-1)-重;从而获得Gqc中循环矩阵Gi,j的所有生成多项式gi,j,即得到了矩阵D满秩情况下的QC-LDPC码的生成矩阵Gqc;3)在矩阵D非满秩情况时,对Gqc构造的修正a)把zi中对应于D矩阵中线性相关列的元素设为0,其数量为γ(q-1)-r;b)由ziT=D-1MiuT求得zi中r个线性独立的元素;c)在Gqc中添加γ(q-1)-r个线性独立的行,g0*,g1*........,g*γ(q-1)-r-1,以构成完整的生成矩阵Gqc表达式 而gi*由求解下列矩阵等式获得B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1g*i,(ρ-γ)(q-1)g*i,(ρ-γ)(q-1)+1Mg*i,ρ(q-1)-1=0]]>所述的一种采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每3个分为一组,长度为4512比特,即188×8×3=4512比特,然后再进一步分为6个子组,每一子组的长度为752比特;2)对6个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为6×762=4572比特;3)对6个BCH(762,752)码CBCH输出的4572个比特进行LDPC(7493,4572)编码,即与LDPC(7493,4572)的生成矩阵Gqc2相乘,得到QC-LDPC(7493,4572)码Cqc2;4)删除LDPC(7493,4572)码Cqc2输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,4572)码按预定的校验矩阵Hqc2进行解码。
上述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)生成步骤与权利要求2所述相同。
上述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,4572)的校验矩阵Hqc2的构成步骤和参数代表的意义与权利要求3和权利要求4所述的Hqc1相同,其中γ=23,ρ=59和q=128。
上述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,4572)的生成矩阵Gqc2的构成步骤和参数代表的意义与权利要求5和权利要求6所述的Gqc1相同,其中γ=23,ρ=59和q=128。
所述的一种采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每4个分为一组,长度为6016比特,即188×8×4=6016比特,然后再进一步分为8个子组,每一子组的长度为752比特;2)对8个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为8×762=6096比特;3)对8个BCH(762,752)码CBCH输出的6096个比特进行LDPC(7493,6096)编码,即与LDPC(7493,6096)的生成矩阵Gqc3相乘,得到QC-LDPC(7493,6096)码Cqc3;4)删除LDPC(7493,6096)码Cqc3输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,6096)码按预定的校验矩阵Hqc3进行解码。
上述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)生成步骤与权利要求2所述相同。
上述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,6096)的校验矩阵Hqc3的构成步骤和参数代表的意义与权利要求3和权利要求4所述的Hqc1相同,其中γ=11,ρ=59和q=128。
上述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,6096)的生成矩阵Gqc3的构成步骤和参数代表的意义与权利要求5和权利要求6所述的Gqc1相同,其中γ=11,ρ=59和q=128。
本发明的特点本发明是针对地面数字电视广播中各种特性对信道纠错编码的要求而提出了一种多码率纠错编码方法,此方法采用BCH码和LDPC码串行级联的方式,得到多种编码码率,以便适用不同的信道情况。相比于DVB-S2等系统中采用的很长(64800bit)的LDPC码,本发明提出的LDPC码具较短的码长,编解码实现结构简单,时延小,误码平台(error floor)低,性能优于DVB-S2 LDPC码。
本发明只需要有限次的迭代就能得到很好的纠错性能,提高了系统的抗误码性能,并且适用于多种传输调制方式(QPSK、16QAM和64QAM等),可应用于地面、有线、卫星等数字电视广播,以及数字通信系统中。


图1为DVB-S2纠错编码性能曲线图2为Gallagher构造的一个(20,3,4)LDPC码的校验矩阵图3为LDPC码的双向图表示图4为相同码长,但不同编码方式时LDPC码性能的比较图5为相同编码方式,但不同码长时LDPC码性能的比较图6为TDS-OFDM系统的帧结构图7为本发明提出的纠错编码方法编码框8为LDPC码和积译码算法信号流程9为采用本发明的地面数字多媒体电视广播系统的发射端框10为采用本发明的地面数字多媒体电视广播系统的接收端框图。
图11为采用本发明的地面数字多媒体电视广播系统的测试性能具体实施方式
下面将结合附图对本发明的具体实施例进行详细描述。
清华DMB-T中采用的时域同步正交频分复用(TDS-OFDM)调制属多载波技术,但与欧洲DVB-T采用的编码的正交频分复用(COFDM)不同,在TDS-OFDM中没有插入频域导频信号,而是在OFDM的保护间隔中以时域的方式插入了伪随机(PN)序列,用于帧同步、频率同步、定时同步、信道传输特性估计和跟踪相位噪声等。
为了实现快速和稳定的同步,清华TDS-OFDM传输系统采用了分级帧结构。帧结构的基本单元称为信号帧,如图6所示。200/225个信号帧定义为一个帧群,512个帧群定义为一个超帧。帧结构的顶层称为目帧,由超帧组成。帧群中的每一个信号帧有唯一的帧号,它被编码在帧头的PN序列中。
TDS-OFDM传输系统的信号帧使用时域同步的正交频分复用调制,或者称为以PN序列为保护间隔的正交频分复用调制。一个信号帧由帧同步和帧体两部分组成,它们具有相同的基带符号率7.56MS/s(1/T)。一个信号帧可以作为一个正交频分复用(OFDM)块。一个OFDM块进一步分成一个保护间隔和一个离散傅里叶逆变换(IDFT)块。对于TDS-OFDM来说,帧同步PN序列作为OFDM的保护间隔,而帧体作为IDFT块,长度为3780点,其中有36点用于PN长度、纠错方式、调制方式等系统参数,真正用于传输用户数据的净荷长度为3744点。因此,为了处理方便,纠错编码方法的长度与3744有密切关系,最好是它的整数倍,但同时还要满足纠错性能要求,在本发明中,我们所提出的纠错编码方法的长度为3744的2倍,为7488。
关于DMB-T、TDS-OFDM的相关情况详见授权号为00123597.4名为“地面数字多媒体电视广播系统”、授权号为01115520.5名为“时域同步正交频分复用调制方法”、授权号为ZL01130659.9名为“地面数字多媒体电视广播系统中的帧同步产生方法”,以及授权号为01124144.6名为“正交频分复用调制系统中保护间隔的填充方法”等清华大学申请的中国发明专利。
下面我们就解释本发明提出的LDPC码的编码和解码的原理和步骤,它包括三种码率的FEC前向纠错编码码率为0.4的FEC(7488,3008)、码率为0.6的FEC(7488,4512)和码率为0.8的FEC(7488,6016)。
在本实施例中,FEC前向纠错编码采用了BCH(762,752)和LDPC码的串行级联码,其中LDPC码采用了准循环低密度校验码(Quasi-cyclic LDPC Code,QC-LDPC),准循环纠错编码的概念如同前面技术背景中所述。本发明提出的QC-LDPC有三种LDPC(7493,3048)、LDPC(7493,4752)和LDPC(7493,6096)。删除这三种QC-LDPC级联码的前5个校验比特后,使得所提LDPC的码长由7493变为7488。本发明所提出的完整的BCH和LDPC级联码的构造过程如下所示1)编码码率为0.4的FEC数据码流→BCH(762,752)→LDPC(7493,3048)→删除前5个校验比特→LDPC(7488,3048);2)编码码率为0.6的FEC数据码流→BCH(762,752)→LDPC(7493,4572)→删除前5个校验比特→LDPC(7488,4512);3)编码码率为0.8的FEC
数据码流→BCH(762,752)→LDPC(7493,6096)→删除前5个校验比特→LDPC(7488,6096)。
从前面关于纠错编码的描述中可知,生成矩阵G或校验矩阵H是决定LDPC性能的关键因素之一,不同的生成矩阵G得到的纠错性能就不同,因此,寻找或设计LDPC码的生成矩阵G或校验矩阵H就成为LDPC码的重要问题。QC-LDPC同样如此,一个好的设计的QC-LDPC误码性能可与随机的规则或非规则LDPC码相比。因此,下面我们首先描述本发明所提出的三个QC-LDPC码的校验矩阵H和生成矩阵G,然后再描述本实施例中三种级联纠错码的实施步骤。
如前所述,循环矩阵是一个方阵,它的每一行和每一列都具有循环移位特性,并且它的行重量等于列重量,为w。若w=1,那么就得到循环置换矩阵(circulant permutationmatrix)。
QC-LDPC码的校验矩阵Hqc是一个稀疏的循环置换矩阵,在本实施例中,Hqc的构造采用了基于两信息符号的RS码方法,其过程如下所述第一步生成RS(q-1,q-ρ,ρ-1)码CRS在一个伽逻华域GF(ps)中,其中p为素数,s是正整数,令q=ps,α表示GF(ps)一个本原元素,则α∞=0,α0=1,α1,α2,α3,.....,αq-2构成了GF(ps)的所有元素。令ρ为一个正整数,且2≤ρ<q,那么循环RS(q-1,q-ρ,ρ-1)码CRS的长度为q-1,信息符号长度为q-ρ-1,最小汉明距离为ρ-1,其生成多项式为g(X)=(X-α)(X-α2)L(X-αρ-2)=g0+g1X+g2X2+L+Xρ-2其中gi∈GF(ps)第二步从C中删除前q-ρ-1信息符号得到缩短RS(ρ,2,ρ-1)码,构造基码Cb把每个码字CRS中的前q-ρ-1个信息符号删除,把码字CRS长度缩短,得到缩短RS(ρ,2,ρ-1)码Cb,它只有2个信息符号,其生成矩阵为Gb=g0g1g2L100g0g1g2L1]]>那么Cb非零码字具有两个不同的码重,ρ-1和ρ。我们称Cb为基码(Base Code)。
第三步构造码字集合Cb(i)因为Cb的最小汉明距离为ρ-1,所以Cb中任意两个码字至多在一个位置具有相同的码符号。我们需要利用Cb的一些结构特性,以便构造一类规则LDPC码,使得LDPC的双向图避免了长度为4的循环,这是规则LDPC码校验矩阵H设计的基本原则。
令c是Cb中的一个码字,其码重为ρ,则Cb中q-1个非零码字集合Cb(1)={βcβ∈GF(ps)}构成了Cb的一维子码,Cb(1)中的每个非零码字具有码重ρ。Cb(1)中的两个码字在每个位置都是不同的。基于子码Cb(1),通过循环右移一位,把Cb分割为q-1个陪集(coset),Cb(1),Cb(2),L Cb(q-1),那么任意陪集Cb(i)中两个码字在所有的位置都是不同的。
如果把陪集Cb(i)中的q-1个非零码字表示为(q-1)×ρ阶矩阵,则矩阵中任意列的所有q-1个元素都是不相同的。
第四步由Cb(i)构造符号位置矢量集合Z(Cb(i))令z=(z0,z1,L,zq-2)是GF(2)上的(q-1)-重(数组),它的分量成分对应于GF(ps)的q-1个非零的元素,即zi对应于非零的域元素αi。我们称αi为zi的位置号码(LocationNumber)。对于i=0,1,L,q-2,我们定义αi的位置矢量(Location Vector)为GF(2)上的(q-1)-重,其中第i个分量zi等于1,其它所有的q-2个分量等于0。
令b=(b0,b1,L,bρ-1)为Cb中的码字,对于0≤j≤ρ-1,用它的位置矢量z(bj)代替b的每个分量bj,则得到GF(2)上的ρ(q-1)-重z(b)=(z(b0),z(b1),.....,z(bρ-1))其码重为ρ,称为b的符号位置矢量。因为Cb中的任意两个码字至多在一个位置具有相同的码符号,因而它们的符号位置矢量z(b)至多有1个“1-分量”是共有的。
令Z(Cb(i))={z(b)b∈Cb(i)}是Cb(1)的第i个陪集Cb(i)中的q-1个码字的符号位置矢量的集合,根据前面Cb(1)的陪集Cb(i)的结构特性可知,Z(Cb(i))中任意两个符号位置矢量没有任何“1-分量”是共有的或相同的。
第五步构造Z(Cb(i))的符号位置矩阵Ai对于0≤i≤q-2,在GF(2)上构造一个(q-1)×ρ(q-1)阶矩阵Ai,它的行是Z(Cb(i))中的q-1个符号位置矢量。
因为Z(Cb(i))中每个矢量的重量为ρ,所以Ai中“1-条目(entries)”的总数为ρ(q-1)。因为Z(Cb(i))中两个符号位置矢量没有任何“1-分量”是相同的,所以Ai每列的重量为1。因此,Ai是一个(1,ρ)-规则矩阵,其行、列重量各为ρ和1。根据Cb中码字的符号位置矢量的定义,以及每个陪集Cb(i)中码字的结构特点,Ai是一个(q-1)×ρ(q-1)阶置换矩阵,矩阵Ai称为符号位置矩阵(Symbol Loacation Matrix)。
符号位置矩阵Ai构成的类(class),A={A0,A1,.....,Aq-2},具有如下结构特性(1)相同的矩阵Ai中没有两行具有共有的“1-分量”;(2)来自两个不同的矩阵Ai和Aj的两行共有的“1-分量”不会超过1。
第六步构造一个LDPC码校验矩阵的基矩阵HGA(γ,ρ)令γ是正整数,且1≤γ≤(q-1),构造下述GF(2)的γ(q-1)×ρ(q-1)阶的基矩阵(BaseMatrix)HGA(γ,ρ)=A0MAγ-1=A0,0A0,1LA0,ρ-1A1,0A1,1LA1,ρ-1MMAi,jMAγ-1,0Aγ-1,1LAγ-1,ρ-1]]>这个矩阵是一个(γ,ρ)-规则矩阵,其行、列重量各为ρ和γ,它具有其成员矩阵Ai的结构特点,即HGA(γ,ρ)任意两行(或两列)至多有1个“1-分量”是共有的。这表示HGA(γ,ρ)中矩形四个角上不可能有4各“1”,这将避免HGA(γ,ρ)的双向图具有长度为4的循环,并且它的周长至少为6。
这个HGA(γ,ρ)矩阵是规则Gallager LDPC生成矩阵的典型形式,其生成的LDPC码长为n=ρ(q-1),码率至少为(ρ-γ)/ρ。
因为HGA(γ,ρ)两行中“1-分量”的共有数量不超过1,矩阵每列的重量为γ,因此HGA(γ,ρ)的最小码距dmin(γ)至少为γ+1。如果考虑校验矩阵HGA(γ,ρ)的结构,最小码距下限dmin(γ)可能那改变 第七步构造一个掩蔽矩阵W(γ,ρ)上述生成的基矩阵是一个(γ,ρ)-规则QC-LDPC码的校验矩阵,通过掩蔽所选择的HGA(γ,ρ)循环置换矩阵的集合,可以得到各种QC-LDPC码的校验矩阵Hqc(γ,ρ)。掩蔽操作可以通过掩蔽矩阵W(γ,ρ)与HGA(γ,ρ)矩阵相乘获得。
如果掩蔽矩阵W(γ,ρ)是规则矩阵,行和/或列具有相同的码重,则Hqc(γ,ρ)是规则矩阵,获得的码字是规则QC-LDPC码;如果W(γ,ρ)具有可变的列重量和/或可变的行重量,则Hqc(γ,ρ)是非规则矩阵,得到的码字是非规则QC-LDPC码。
掩蔽矩阵W(γ,ρ)是GF(2)上的γ×ρ阶矩阵,γ,ρ通常较小,一般小于500。
具有很大周长的掩蔽矩阵可以通过计算机搜索来构造,参加下列文献(11)X.-Y Hu,E.Eleftheriou,and D.-M.Arnold,“Progressive edge-growth Tanner graphs,”Proc.2001 GlobeCom,pp.995-1001,Nov.25-29,2002.
(12)L.Lan,Y.Y.Tai,L.Chen,S.Lin and K.Abdel-Ghaffar,“A trellis-based method forremoving cycles from bipartite graphs and construction of LDPC codes,”IEEE Communicat ionLetters,vol.8,no.7,July 2004.
规则的掩蔽矩阵W(γ,ρ)可以通过代数法构造,例如循环矩阵分解、几何分解、平衡非完备块设计、叠加、乘积图、汉明码的最小码重码字等。
而本实施例采用了非规则的掩蔽矩阵W(γ,ρ),非规则掩蔽矩阵W(γ,ρ)的行、列分别具有不等的重量。因而,它的双向图具有变化的变量节点度和/或变化的校验节点度。这两类节点的度分布表示为两个多项式形式v(X)=Σi=1dvviXi-1]]>c(X)=Σi=1dcciXi-1]]>其中vi和ci分别表示度为i的双向图中变量节点和校验节点的小数,dv和dc分别表示变量节点和校验节点的最大度。
因为双向图的变量节点和校验节点对应于校验矩阵H的列和行,因此,v(X)和c(X)也就给出了校验矩阵H的列和行重量分布。人们已经证明非规则LDPC码的误码性能依赖于它的双向图中变量节点和校验节点的度分布,通过仿真BP算法中这两类节点之间消息传递的概率密度分布,优化这两个度分布v(X)和c(X),可以设计逼近仙农限的LDPC码。
根据所要求的码字长度n和编码码率R,选择合适的γ、ρ和q。
在码构造中,一旦设计了度分布v(X)和c(X),就可以根据度分布通过计算机以随机方式确定W(γ,ρ),使得W(γ,ρ)的列和行的重量分布等于(或接近)度分布v(X)和c(X)。
第八步生成QC-LDPC的校验矩阵Hqc=W×HGA上述构造的掩蔽矩阵W(γ,ρ)=[wi,j]是一个GF(2)上的γ×ρ阶矩阵,QC-LDPC码的校验矩阵Hqc(γ,ρ)通过下列矩阵乘法获得Hqc(γ,ρ)=W(γ,ρ)×HGA(γ,ρ)]]>=w1,1A1,1w1,2A1,2Lw1,ρA1,ρw2,1A2,1w2,2A2,2Lw2,ρA2,ρMMwi,jAi,jMwγ,1Aγ,1wγ,2Aγ,2Lwγ,ρAγ,ρ]]>=B0,0B0,1LB0,ρ-1B1,0B1,1LB1,ρ-1MMBi,jMBγ-1,0Bγ-1,1LBγ-1,ρ-1]]>
其中 即通过与W(γ,ρ)“0”项的相乘,简单地掩盖掉HGA(γ,ρ)的某些置换矩阵集合Ai,j。Hqc(γ,ρ)中置换矩阵Ai,j的分布等同于W(γ,ρ)中“1”项的分布。因为掩蔽减少了HGA(γ,ρ)中“1”的密度,即掩蔽操作保持了RC行列约束,因而Hqc(γ,ρ)也满足行列约束,而且Hqc(γ,ρ)的双向图短循环的数目要少于HGA(γ,ρ)的。如果W(γ,ρ)双向图的周长大于等于6,则Hqc(γ,ρ)的周长至少为6。
在本实施例中,基于2信息符号的RS码生成的QC-LDPC校验矩阵HGA(γ,ρ)是规则,但掩蔽矩阵W(γ,ρ)是非规则矩阵。所以,两者矩阵相乘后得到的QC-LDPC最终的校验矩阵是非规则的,即本实施例中采用的QC-LDPC码是非规则的。
综合上述步骤,QC-LDPC码最终的校验矩阵Hqc(γ,ρ)具有形式如下Hqc(γ,ρ)=B0,0B0,1LB0,ρ-1B1,0B1,1LB1,ρ-1MMBi,jMBγ-1,0Bγ-1,1LBγ-1,ρ-1---(1)]]>其中,Bi,j是一个(q-1)×(q-1)阶矩阵,0≤i≤γ-1和0≤j≤ρ-1。相比于它的大小q-1,重量w是非常小的。对于QC-LDPC码,本发明中采用了w=1。如同上述定义,Bi,j是循环置换矩阵。
令对于矩阵(1)中的Bi,j=k,0≤k≤q-2,它意味着这个循环置换矩阵的第0行中,从左到右各列标识为0到q-1,其中只有第k列为“1”,其它q-2列都为“0”。其余行(第1行到第q-2行)中,每一行是其上一行的循环移位(向右移一位),第0行实际上是第q-2行的循环移位。因此,这种循环置换矩阵Bi,j的构造完全可由“k”值来描述。例如,如果k=3,q=8,则Bi,j=3循环置换矩阵如下所示Bij=0001000000010000000100000001100000001000000010000]]>本实施例中提出的三种QC-LDPC码的校验矩阵的参数分别为1)LDPC(7493,3048)码的校验矩阵Hqc1的格式如上式(1)所示,其中γ=35,ρ=59和q=ps=27=128,码长n=ρ×(q-1)=59×127=7493,信息比特长度k=(ρ-γ)×(q-1)=24×127=3048。
2)LDPC(7493,4572)码的校验矩阵Hqc2的格式如上式(1)所示,其中γ=23,ρ=59和q=128,码长n=ρ×(q-1)=59×127=7493,信息比特长度k=(ρ-γ)×(q-1)=4572。
3)LDPC(7493,6096)码的校验矩阵Hqc3的格式如上式(1)所示,其中γ=11,ρ=59和q=128,码长n=ρ×(q-1)=59×127=7493,信息比特长度k=(ρ-γ)×(q-1)=6096。
上面描述了本实施例所提出的QC-LDPC码收端解码所需要的校验矩阵Hqc的生成过程,但在发送端,QC-LDPC码编码需要一个生成矩阵Gqc,下面就描述如何有循环形式的校验矩阵Hqc获得系统循环形式的生成矩阵Gqc。
由校验矩阵Hqc给出的QC-LDPC码表示为Cqc,假设Hqc的秩r等于Hqc矩阵的行数,即r=γ(q-1),并且Hqc的前(ρ-γ)×(q-1)比特对应着信息比特。我们把Hqc的循环矩阵的列重新排列,使得下列Hqc的γ×ρ阶子矩阵的秩为满秩γ(q-1),与Hqc的秩r相同D=B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1---(2)]]>要求的QC-LDPC码Cqc的生成矩阵Gqc具有如下的系统循环置换矩阵形式Gqc=G0G1MGρ-γ-1]]>=IOLOG0,0G0,1LG0,γ-1OILOG1,0G1,1LG1,γ-1MMOMMMGi,jMOOLIGρ-γ-1,0Gρ-γ-1,1LGρ-γ-1,γ-1]]>=[I(ρ-γ)(q-1)P]]]>其中,I是(q-1)×(q-1)阶单位矩阵,O是(q-1)×(q-1)阶零阵,而Gi,j是(q-1)×(q-1)阶循环矩阵,0≤i≤ρ-γ-1,0≤j≤γ-1。
上式形式的生成矩阵Gqc是所谓的系统循环(Systematic Circulant,SC)形式,它由两部分组成,左边部分I是主对角线为(ρ-γ)(q-1)×(q-1)阶单位矩阵,右边部分P是(q-1)×(q-1)阶循环矩阵构成的(ρ-γ)×γ阶阵列。由编码理论可知,Gqc是系统码形式,其左边部分P称为P矩阵,对应于系统码的校验位。P矩阵是循环矩阵的阵列,具有SC形式。Gqc是Cqc生成矩阵的充要条件是HqcGqcT=|O|,这里|O|是γ(q-1)×(ρ-γ)(q-1)阶零阵。对于0≤i≤ρ-γ-1和0≤j≤γ-1,令gi,j表示循环矩阵Gi,j的生成多项式。我们一旦知道了这些gi,j,就可以构造Gqc的所有循环矩阵Gi,j。因此,Gqc的特性完全可以由γ×(ρ-γ)阶循环矩阵生成式的集合所表征,称为QC-LDPC码Cqc的生成矩阵。
令u=(10K0)表示“1”位于开始的单位(q-1)-重,而0=(00K0)表示全零(q-1)-重。对于0≤i≤ρ-γ-1,Gi的子矩阵的第i行是gi=(0K0u0K0gi,0gi,1K gi,γ-1)其中,单位(q-1)-重u位于gi的第i位。
若Gqc是Cqc的生成矩阵,则必然有HqcgiT=0。令zi=(gi,0gi,1K gi,γ-1)表示Gqc生成矩阵中P矩阵的第i行,Mi=[BT0,i........BTγ-1,i]T表示Hqc循环矩阵的第i列。那么HqcgiT=0变为下列等式MiuT+DziT=0因为上式中D是前面定义的方阵,它是满秩的、非奇异的,并且逆矩阵D-1存在。
因此,由上式得ziT=D-1MiuT(3)此式中D、M和u都是已知量,求解此方程,得到z0,z1,......,zγ-1。因为zi=(gi,0gi,1K gi,γ-1),因此,从z0,z1,......,zγ-1可以获得Gqc中循环矩阵Gi,j的所有的生成多项式gi,j,即得到了QC-LDPC码的生成矩阵Gqc。
在上面描述的由Hqc求解Gqc的过程中,我们假设Hqc的秩r等于Hqc矩阵的行数,即r=γ(q-1),但也可能存在r<γ(q-1)的情况,我们也需要处理这种情况下如何求解Gqc。
在这种情况下,仍然使γ×γ阶D矩阵的秩等于Hqc的秩r,但r<γ(q-1),这表明D不是满秩的,某些列之间存在线性相关性。为了使上述的式(3)ziT=D-1MiuT有唯一的解,我们把zi中γ(q-1)-r个线性相关的元素设为0,这些元素对应于D矩阵中线性相关的列。那么我们就可以由上式获得zi中r个线性独立的元素。
由此,我们得到了γ(ρ-γ)个循环矩阵Gi,j的γ(ρ-γ)个生成多项式gi,j。由这些生成式出发,可以构造一个系统循环结构的生成矩阵G,此矩阵生成Cqc的子码,维数为(ρ-γ)(q-1)。为了生成全部码字Cqc,必须在G添加γ(q-1)-r个线性独立的行,以构成Cqc完整的生成矩阵Gqc。令g0*,g1*........,g*γ(q-1)-r-1表示添加的那些行。对于0≤i<γ(q-1),第i个添加行的构成形式为gi*=(0K0K0g*i,(ρ-γ)(q-1)g*i,(ρ-γ)(q-1)+1K g*i,ρ(q-1)-1)它具有下列结构特性(1)前(ρ-γ)(q-1)比特为0;(2)zi=(g*i,(ρ-γ)(q-1)g*i,(ρ-γ)(q-1)+1K g*i,ρ(q-1)-1)的γ(q-1)-r个比特对应于D中线性相关的列,称为相关比特(Dependent bit),相关比特具有(0,.....,0,1,0,......,0)的形式,“1”表示第i个相关比特的位置。
同上面一样,G中添加的行gi*也必须满足等式Hqcgi*T=0,]]>0≤i<γ(q-1)-r-1,从而得到下列矩阵B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1g*i,(ρ-γ)(q-1)g*i,(ρ-γ)(q-1)+1Mg*i,ρ(q-1)-1=0---(4)]]>解此矩阵,得到所有的gi*。
在G中添加g*0,g*1K g*γ(q-1)-r-1行,得到此种情况下QC-LDPC码Cqc的生成矩阵 G*qc所有的行都是线性独立的,因而其秩为ρ(q-1)-r。
令V表示要编码的信息比特,则相应的QC-LDPC码字Cqc为Cqc=v·Gqc或Cqc=v·G*qc综上所述,在本实施例中所提出的QC-LDPC码Cqc的生成矩阵Gqc的构造步骤为
第一步由Hqc构造矩阵D,D是方阵、满秩、非奇异,即逆矩阵D-1存在,其秩与Hqc的秩相同;第二步根据编码理论,由等式MiuT+DziT=0得式(3)ziT=D-1MiuT其中zi=(gi,0gi,1K gi,γ-1)Mi=[BT0,i.......BTγ-1,i]Tu=(10K0)从而获得Gqc中循环矩阵Gi,j的所有的生成多项式gi,j,即得到了矩阵D满秩情况下的QC-LDPC码的生成矩阵Gqc。
第三步在矩阵D非满秩情况时,对Gqc构造的修正1)把zi中对应于D矩阵中线性相关列的元素设为0,线性相关列的数量为γ(q-1)-r;2)由ziT=D-1MiuT求得zi中r个线性独立的元素;3)在Gqc中添加γ(q-1)-r个线性独立的行,g0*,g1*........,g*γ(q-1)-r-1,以构成完整的生成矩阵Gqc表达式(5),而gi*由矩阵等式(4)获得。
经过上述步骤,最后得到QC-LDPC码Cq,c的生成矩阵Gqc如下矩阵所示Gqc=IOLOG0,0G0,1LG0,γ-1OILOG1,0G1,1LG1,γ-1MMOMMMGi,jMOOLIGρ-γ-1,0Gρ-γ-1,1LGρ-γ-1,γ-1---(6)]]>其中,I是(q-1)×(q-1)阶单位矩阵,O是(q-1)×(q-1)阶零阵,而Gi,j是(q-1)×(q-1)循环矩阵,令m=ρ-γ,0≤i≤m-l,0≤j≤γ-l。
本实施例中提出的三种QC-LDPC码的生成矩阵Gqc的参数分别为1)LDPC(7493,3048)码的生成矩阵Gqc1具有上述式(6)所示的矩阵形式,其中参数m=24,γ=35和q=128。
2)LDPC(7493,4572)码的生成矩阵Gqc2具有上述式(6)所示的矩阵形式,其中参数m=36,γ=23和q=128。
3)LDPC(7493,6096)码的生成矩阵Gqc3具有上述式(6)所示的矩阵形式,其中参数m=48,γ=11和q=128。
在上面描述的校验矩阵Hqc和生成矩阵Gqc构造方法的基础上,下面描述本实施例中提出的三种前向级联纠错码(BCH+QC-LDPC)的完整实施步骤。
本发明的纠错编码方法用于地面数字电视广播发端的实施例一中,FEC前向纠错编码采用了BCH(762,752)码和LDPC(7488,3048)码的串行级联,如图7所示,其实现步骤如下1)将输入的信息流每2个TS传递码流包分为一组,长度为3008比特,即188byte×2=3008bit,然后再进一步分为4个子组,每一子组的长度为752比特;2)对4个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的输出长度为4×762=3048比特,其中BCH(762,752)是BCH(1023,1013)的缩短码,其生成多项式为x10+x3+1,缩短码按以下步骤生成a)在752个数据比特前增加261个“0”比特,组成1013比特的信息;b)对这1013个信息比特进行BCH(1023,1013)纠错编码,得到1023个纠错编码比特;c)去掉纠错编码比特的前261个比特,因为BCH码是系统码,去掉的261个比特是“0”比特,最后得到BCH(762,752)码CBCH;3)对4个BCH(762,752)码CBCH输出的3048个比特进行LDPC(7493,3048)编码,即与LDPC(7493,3048)的生成矩阵Gqc1相乘,得到QC-LDPC(7493,3048)码Cqc1;4)删除LDPC(7493,3048)码Cqc1输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用(TDS-OFDM)调制,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输。
本发明的纠错编码方法用于地面数字电视广播发端的实施例二中,FEC前向纠错编码采用了BCH(762,752)码和LDPC(7488,4572)码的串行级联,其框图类似于图7,具体参数有差异,其实现步骤如下1)将输入的信息流每3个TS传递码流包分为一组,长度为4512比特,即188byte×3=4512bit,然后再进一步分为6个子组,每一子组的长度为752比特;2)对6个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的输出长度为6×762=4572比特,其中BCH(762,752)是BCH(1023,1013)的缩短码,其生成多项式为x10+x3+1,缩短码按以下步骤生成a)在752个数据比特前增加261个“0”比特,组成1013比特的信息;b)对这1013个信息比特进行BCH(1023,1013)纠错编码,得到1023个纠错编码比特;c)去掉纠错编码比特的前261个比特,因为BCH码是系统码,去掉的261个比特是“0”比特,最后得到BCH(762,752)码CBCH;
3)对6个BCH(762,752)码CBCH输出的4572个比特进行LDPC(7493,4572)编码,即与LDPC(7493,4572)的生成矩阵Gqc2相乘,得到QC-LDPC(7493,4572)码Cqc2;4)删除LDPC(7493,4572)码Cqc2输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用(TDS-OFDM)调制,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输。
除了上述两个实施例外,本发明的纠错编码方法用于地面数字电视广播发端的实施例三中,FEC前向纠错编码采用了BCH(762,752)码和LDPC(7488,6096)码的串行级联,其框图类似于图7,具体参数有差异,其实现步骤如下1)将输入的信息流每4个TS传递码流包分为一组,长度为6016比特,即188byte×4=6016bit,然后再进一步分为8个子组,每一子组的长度为752比特;2)对6个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的输出长度为8×762=6096比特,其中BCH(762,752)是BCH(1023,1013)的缩短码,其生成多项式为x10+x3+1,缩短码按以下步骤生成a)在752个数据比特前增加261个“0”比特,组成1013比特的信息;b)对这1013个信息比特进行BCH(1023,1013)纠错编码,得到1023个纠错编码比特;c)去掉纠错编码比特的前261个比特,因为BCH码是系统码,去掉的261个比特是“0”比特,最后得到BCH(762,752)码CBCH;3)对8个BCH(762,752)码CBCH输出的6096个比特进行LDPC(7493,6096)编码,即与LDPC(7493,6096)的生成矩阵Gqc3相乘,得到QC-LDPC(7493,6096)码Cqc3;4)删除LDPC(7493,6096)码Cqc3输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用(TDS-OFDM)调制,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输。
在接收端,接收到的信号经过解调后,首先进行LDPC码译码,然后送给BCH(762,752)译码,得到纠错后的发送码流。其中BCH译码非常成熟,本实施例中没有采用特殊的算法,因此,在此就不再赘述了。
目前有各种不同的LDPC译码算法。常用的LDPC解码算法是比特翻转(Bit-flipping,BF)算法、加重比特翻转(Weighted BF)算法和基于信度传递的迭代译码(Iterative DecodingBased on Belief Progagation,IDBP)算法等三种,其中IDBP也就是和积算法(Sum-ProductAlgorithm,SPA)。
对于本发明提出的LDPC码,根据不同的要求,可以采用不同的LDPC解码算法。在上述三个实施例中,我们采用了基于信度传递的迭代译码算法,即和积算法。
BP(belief-propagation,信度传播)算法,是与双向图紧密结合的,如图3所示,各边上传递的消息分为check to variable和variable to check两种。假设比特’0’映射为+1,比特’1’映射为-1。这两种消息的定义如下√check to variableRmna(a=+1或a=-1)是校验节点zm向变量节点xn传递的校验信息,表示zm根据除xn外其他相邻变量节点{xkk≠n,k∈N(m)}当前状态向xn宣称的“xn=a使zm满足”的可信度;√variable to checkQmna(a=+1或a=-1)是变量节点xn向校验节点zm传递的变量信息,表示xn根据除zm外其他相邻校验节点{zll≠m,l∈M(n)}和初始概率消息Pna向zm宣称的“xn=a”的可信度。
基于“信度传播”的迭代算法的过程如下①初始化计算初始消息{Pna}和初始化{Rmna}值;②消息传递迭代和更新阶段1各个Pn和zm节点向其所有相邻变量节点xn分别传递消息Pna和Rmna,而各个xn节点根据接收消息更新Qmna;阶段2各个xn节点向其所有相邻校验节点zm传递已更新的消息Qmna,而各个zm节点根据接收消息更新Rmna。
③迭代终止xn节点根据所有接收消息计算最终消息Qna。采取的迭代终止策略为√每轮迭代结束时,计算最终消息并根据不同的消息量度判决 计算伴随式 √如果伴随式为零向量,则宣告成功,终止迭代;否则取前一次计算得出的值,转到上述第二个步骤继续迭代。若迭代次数达到预先设定的最大次数Imax仍未成功,则根据最终消息判决得x,终止迭代,译码不成功。
本实施例中的LDPC译码使用了基于上述“信度传播”迭代原理的和积算法。LDPC与和积算法有一种天然的对应,译码的每次迭代都是一次“求和”与“乘积”运算的实现。
根据上述信度传播算法中队消息传递和更新过程的描述,在概率测度下,变量消息定义为Qmna=P(xn=a|zm,{zl:l∈M(n)\m})]]>定义校验消息为Rmna=P(zm|xn=a),]]>设码字先验等概,则初始概率消息Pna表示xn=a的先验消息,Rmna初始化为1,a∈{+1,-1}。
和积算法的具体步骤如图8所示①初始化将xn的似然值赋给Pna。例如,在加性白色高斯噪声信道AWGN下,似然值为Pna=11+exp(-2aynσ2)]]>②check to variable(从校验节点到变量节点)信息Rmna=P(zm|xn=a)]]>=Σx:xn=aP(zm,x|xn-a)]]>=Σx:xn=aP(zm|xn=a,x)P(x|xn=a)]]>=Σx:xn=aP(zm|x)P(x|xn=a)]]>=Σx:xn=aP(zm|x)Πk∈N(m)\nP(xk)]]>=Σx:xn=aP(zm|x)Πk∈N(m)\nQmkxk]]>例如假设第m个校验方程为x2×x3×x5=+1。计算x2=+1时满足这个校验方程的概率Rm20Rm2+1=P{x2×x3×x5=+1|x2=+1,x3=+1,x5=+1}·Q+1m3·Q+1m5]]>+P{x2×x3×x5=+1|x2=+1,x3=+1,x5=-1}·Q+1m3·Q-1m5]]>+P{x2×x3×x5=+1|x2=+1,x3=-1,x5=+1}·Q-1m3·Q+1m5]]>+P{x2×x3×x5=+1|x2=+1,x3=-1,x5=-1}·Q-1m3·Q-1m5]]>其中的条件概率P{},如果满足校验方程则为1,不满足为0。同理,也可以计算Rm2-1。
③variable to check(从变量节点到校验节点)信息Qmna=P(xn=a|yn,{zl:l∈M(n)\m})]]>=P(xn=a,yn,{zl:l∈M(n)\m})P(yn,{zl:l∈M(n)\m})]]>=P(xn=a|yn)P({zl:l∈M(n)\m}|yn,xn=a)P({zl:l∈M(n)\m|yn)]]>=P(xn=a|yn)Πl∈M(n)\mP(zl|xn=a)P({zl:l∈M(n)\m})]]>=αmnPnaΠl∈M(n)\mRlna]]>其中,αmn为归一化参数,使Qmn+1+Qmn-1=1.]]>
最后得到后验概率Qna=αmnPnaΠl∈M(n)\mRlna]]>④判决如果Qn+1<Qn-1,]]>判定xn=+1,则Xn=0,判断发送端传送了‘0’;如果Qn+1>Qn-1,]]>判定xn=-1,则Xn=1,判断发送端传送了‘1’。
直到X·HT=0,否则转到上述第二个步骤。
根据需要,可以设定迭代次数,若经过了设定的迭代次数仍未译码成功,则终止迭代,译码失败。
需要指出的是不同的译码算法和实现,将得到不同的纠错编码性能,本实施例中采用的LDPC和积译码算法只是目前普遍采用的算法之一。
本发明所提出的用于地面数字电视广播的纠错编码方法经过计算机仿真后,已经用现场可编程器件(FPGA)得到了硬件实现。一个采用本发明所述方法的地面数字多媒体电视广播发射系统组成如图9所示。输入的MPEG TS码流可以是视频、音频、图形、数据等多媒体信息,为了抵抗传输过程中产生的误码,TS流经过本发明所述方法的BCH和三种LDPC之一的级联纠错编码后,送给调制器成为数字QPSK/mQAM调制信号,再送给OFDM正交频分复用多载波调制,最后与时域同步PN序列复接后,构成一个时域同步正交频分复用(TDS-OFDM)信号,经数模转换模块,转换为合适的模拟信号,射频RF模块接收此模拟信号,处理后的结果送给发射天线或其它信号发射机。
一个采用本发明所述方法的地面数字多媒体电视广播接收系统组成如图10所示。天线或其它信号接收机接收调制信号,送给下变频模块进行频率变换后,送给模数转换变为数字信号,同时恢复载波、时钟等同步,然后经过OFDM多载波解调。OFDM解调后的数字信号经过本发明所提出的LDPC码BP迭代译码后,送给后面BCH解码器,最后恢复MPEG TS码流。
对于一个传输系统,传输信息的可靠性指标是BER~SNR,采用本发明所述方法的地面数字多媒体电视广播系统在64QAM调制、1/9保护间隔、0.6编码码率和迭代4次情况小,实际测试所获得的BER~SNR性能如图11所示。从图中可以看到,在视频广播通常要求的BER=10-11性能时,系统所需要的SNR为14.5dB,性能良好,并且由于采用的LDPC码长度只有7488个比特,相比于欧洲DVB-S2所采用的64800比特的LDPC码,本发明所提出的LDPC码时延小,实现简单,性能优异,满足地面数字电视广播对高码率的性能需求。
上面结合附图对本发明的具体实施例进行了详细说明,但本发明并不限制于上述实施例,在不脱离本申请的权利要求的精神和范围情况下,本领域的技术人员可作出各种修改或改型。
权利要求
1.一种采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每2个分为一组,长度为3008比特,即188×8×2=3008比特,然后再进一步分为4个子组,每一子组的长度为752比特;2)对4个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为4×762=3048比特;3)对4个BCH(762,752)码CBCH输出的3048个比特进行LDPC(7493,3048)编码,即与LDPC(7493,3048)预定的生成矩阵Gqc1相乘,得到QC-LDPC(7493,3048)码Cqc1;4)删除LDPC(7493,3048)码Cqc1输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,3048)码按预定的校验矩阵Hqc1进行解码。
2.如权利要求1所述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)是BCH(1023,1013)的缩短码,按以下步骤生成1)在752个数据比特前增加261个“0”比特,组成1013比特的信息;2)对这1013个信息比特进行BCH(1023,1013)纠错编码,其生成多项式为x10+x3+1,输出1023个纠错编码比特;3)去掉纠错编码比特的前261个比特,因为BCH码是系统码,去掉的261个比特是“0”比特,最后得到BCH(762,752)码CBCH。
3.如权利要求1所述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)的校验矩阵Hqc1由循环置换矩阵构成Hqc1=B0,0B0,1LB0,ρ-1B1,0B1,1LB1,ρ-1MMBi,jMBγ-1,0Bγ-1,1LBγ-1,ρ-1]]>其中,γ=35,ρ=59,Bi,j是一个(q-1)×(q-1)阶循环矩阵,q=128,0≤i≤γ-1和0≤j≤ρ-1。
4.如权利要求1所述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)校验矩阵Hqc1的构造基于两信息符号的里德-所罗门码,即RS码,步骤如下1)在伽逻华域GF(q)中生成RS(q-1,q-ρ,ρ-1)码CRS,其中码长为q-1,信息符号长度为q-ρ-1,最小汉明距离为ρ-1;2)从CRS中删除前q-ρ-1信息符号得到缩短RS(ρ,2,ρ-1)码Cb;3)构造码字集合Cb(i)c是Cb中一个码重为ρ的码字,Cb中q-1个非零码字构成一维码字的集合Cb(1)={βcβ∈GF(ps)},基于子码Cb(1),通过循环右移一位,把Cb分割为q-1个陪集,即Cb(1),Cb(2),L Cb(q-1),那么任意陪集Cb(i)中两个码字在所有的位置都是不同的;4)由Cb(i)构造符号位置矢量集合Z(Cb(i))z=(z0,z1,L,zq-2)是GF(2)上的(q-1)-重,对应于GF(ps)的q-1个非零的域元素αi,而b=(b0,b1,L,bρ-1)为Cb中的码字,用z(bj)代替b的每个分量bj,则得到GF(2)上的ρ(q-1)-重z(b)=(z(b0),z(b1),......,z(bρ-1)),那么Cb(1)的第i个陪集Cb(i)中的q-1个码字的符号位置矢量的集合为Z(Cb(i))={z(b)b∈Cb(i)},Z(Cb(i))中任意两个符号位置矢量没有任何“1-分量”是共有的或相同的;5)构造Z(Cb(i))的符号位置矩阵Ai对于0≤i≤q-2,在GF(2)上构造一个(q-1)×ρ(q-1)阶矩阵Ai,它的行是Z(Cb(i))中的q-1个符号位置矢量;6)由符号位置矩阵Ai构造一个规则的基矩阵HGA(γ,ρ)HGA(γ,ρ)=A0MAγ-1=A0,0A0,1LA0,ρ-1A1,0A1,1LA1,ρ-1MMAi,jMAγ-1,0Aγ-1,1LAγ-1,ρ-1]]>其行、列重量各为ρ和γ,它具有其成员矩阵Ai的结构特点;7)通过计算机随机构造一个GF(2)上非规则的γ×ρ阶掩蔽矩阵W(γ,ρ),使其列、行重量分布分别等于(或接近)预先计算确定的变量节点度分布v(X)和校验节点度分布c(X);8)通过下列矩阵乘法获得QC-LDPC的校验矩阵Hqc1Hqc1=w1,1A1,1w1,2A1,2Lw1,ρA1,ρw2,1A2,1w2,2A2,2Lw2,ρA2,ρMMwi,jAi,jMwγ,1Aγ,1wγ,2Aγ,2Lwγ,ρAγ,ρ]]>其中
5.如权利要求1所述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)生成矩阵Gqc1由循环置换矩阵构成Gqc=IOLOG0,0G0,1LG0,γ-1OILOG1,0G1,1LG1,γ-1MMOMMMGi,jMOOLIGρ-γ-1,0Gρ-γ-1,1LGρ-γ-1,γ-1]]>其中,I是(q-1)×(q-1)阶单位矩阵,O是(q-1)×(q-1)阶零阵,而Gi,j是(q-1)×(q-1)循环矩阵,q=128,γ=35,ρ=59,0≤i≤ρ-γ-1,0≤j≤γ-1;
6.如权利要求1所述的采用BCH(762,752)和LDPC(7488,3048)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,3048)生成矩阵Gqc1的构造基于所述的校验矩阵Hqc1,步骤如下1)把Hqc的循环矩阵的列重新排列,构造一个γ×ρ阶矩阵DD=B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1]]>D是方阵、满秩、非奇异,即逆矩阵D-1存在,其秩与Hqc的秩相同;2)根据编码理论HqcGqcT=|O|,|O|是γ(q-1)×(ρ-γ)(q-1)阶零阵,得等式MiuT+DziT=0,则ziT=D-1MiuT其中zi=gi,0gi,1K gi,γ-1)表示Gqc生成矩阵中P矩阵的第i行Mi=[BT0,i......BTγ-1,i]T表示Hqc循环矩阵的第i列;u=(1 0 K 0)表示“1”位于开始的单位(q-1)-重;从而获得Gqc中循环矩阵Gi,j的所有生成多项式gi,j,即得到了矩阵D满秩情况下的QC-LDPC码的生成矩阵Gqc;3)在矩阵D非满秩情况时,对Gqc构造的修正a)把zi中对应于D矩阵中线性相关列的元素设为0,其数量为γ(q-1)-r;b)由ziT=D-1MiuT,求得zi中r个线性独立的元素;c)在Gqc中添加γ(q-1)-r个线性独立的行,g0*,g1*......,g*γ(q-1)-r-1,以构成完整的生成矩阵Gqc表达式 而gi*由求解下列矩阵等式获得B0,ρ-γB0,ρ-γ+1LB0,ρ-1B1,ρ-γB1,ρ-γ+1LB1,ρ-1MMLMBγ-1,ρ-γBγ-1,ρ-γ+1LBγ-1,ρ-1g*i,(ρ-γ)(q-1)g*i,(ρ-γ)(q-1)+1Mg*i,ρ(q-1)-1=0]]>
7.一种采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每3个分为一组,长度为4512比特,即188×8×3=4512比特,然后再进一步分为6个子组,每一子组的长度为752比特;2)对6个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为6×762=4572比特;3)对6个BCH(762,752)码CBCH输出的4572个比特进行LDPC(7493,4572)编码,即与LDPC(7493,4572)的生成矩阵Gqc2相乘,得到QC-LDPC(7493,4572)码Cqc2;4)删除LDPC(7493,4572)码Cqc2输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,4572)码按预定的校验矩阵Hqc2进行解码。
8.如权利要求7所述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)生成步骤与权利要求2所述相同。
9.如权利要求7所述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,4572)的校验矩阵Hqc2的构成步骤和参数代表的意义与权利要求3和权利要求4所述的Hqc1相同,其中γ=23,ρ=59和q=128。
10.如权利要求7所述的采用BCH(762,752)和LDPC(7488,4572)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,4572)的生成矩阵Gqc2的构成步骤和参数代表的意义与权利要求5和权利要求6所述的Gqc1相同,其中γ=23,ρ=59和q=128。
11.一种采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,包括以下步骤1)将输入的TS传递流包每4个分为一组,长度为6016比特,即188×8×4=6016比特,然后再进一步分为8个子组,每一子组的长度为752比特;2)对8个子组的752个信息比特分别进行二进制BCH(762,752)纠错编码,得到纠错编码后的总的输出长度为8×762=6096比特;3)对8个BCH(762,752)码CBCH输出的6096个比特进行LDPC(7493,6096)编码,即与LDPC(7493,6096)的生成矩阵Gqc3相乘,得到QC-LDPC(7493,6096)码Cqc3;4)删除LDPC(7493,6096)码Cqc3输出的7493个比特的前5个校验比特,得到7488个输出比特;5)对得到的7488个纠错编码比特进行相应的QPSK或mQAM符号映射;6)进行时域同步正交频分复用调制,即TDS-OFDM,然后再经过成形滤波、基带信号帧上变换等处理后送给信道传输,在接收端,LDPC(7493,6096)码按预定的校验矩阵Hqc3进行解码。
12.如权利要求11所述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的BCH(762,752)生成步骤与权利要求2所述相同。
13.如权利要求11所述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,6096)的校验矩阵Hqc3的构成步骤和参数代表的意义与权利要求3和权利要求4所述的Hqc1相同,其中γ=11,ρ=59和q=128。
14.如权利要求11所述的采用BCH(762,752)和LDPC(7488,6096)级联码的纠错编码方法,其特征在于,所述的LDPC(7493,6096)的生成矩阵Gqc3的构成步骤和参数代表的意义与权利要求5和权利要求6所述的Gqc1相同,其中γ=11,ρ=59和q=128。
全文摘要
本发明涉及地面数字电视广播错编码方法,属于数字信息传输技术领域。本发明方法包括将输入传递流分为752比特子组,在每子组前加261个“0”,得1013比特,进行BCH(1023,1013)编码,去掉编码后的前261个比特得BCH(762,752);将一定数目的BCH(762,752)构成一组,按给定的生成矩阵进行LDPC(7493,3048)、LDPC(7493,4572)或LDPC(7493,6096)编码,删除输出的7493个比特的前5个校验比特,得到最后的7488个输出比特。本发明采用了较短的码长,实现简单,具有较小的时延和良好的纠错性能,更好地适应各种应用。
文档编号H04N7/26GK1925615SQ20051008633
公开日2007年3月7日 申请日期2005年9月2日 优先权日2005年9月2日
发明者杨林, 杨知行, 张晓林, 门爱东 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1