DVB-S2 的纠错编码技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DVB-S2的纠错编码技术

李娟 门爱东

本文作者李娟女士,中国东方通信卫星有限责任公司工程师;门爱东先生,北京邮电大学电信学院多媒体通信中心教授。

关键词:DVB-S2编码 BCH LDPC双向图 迭代译码

DVB-S2编码方案概述

随着数字通信技术和大功率卫星技术的

发展,欧洲DVB组织在第一代DVB-S的基

础上,又制定了第二代卫星数字视频广播系统

标准,即DVB-S2。为了在恶劣的卫星信道中

可靠地传输信息,如同DVB-S标准,DVB-S2

的信道纠错编码也采用了内码和外码的级联

纠错编码,但具体的编码算法不同。DVB-S2

的编码模块由外码BCH、内码LDPC(Low

Density Parity Check)和比特交织三部分组成,

如图1所示。

DVB-S2的纠错编码部分的数据帧结构如图2所示,输入为Kbch bit的基带帧(BBFrame),输出为nldpc bit的纠错编码帧(FECFrame)。外码BCH的校验位(BCHFEC)附加在BBFrame 后面,而内码LDPC的校验位(LDPCFEC)将附加在BCHFEC域后面。

为了适应不同的应

用情况,DVB-S2标准

设置了两种纠错编码

帧的长度:64800比特

和16200比特,分别称

为正常FECFrame和短

小FECFrame,代表

LDPC纠错编码后的码

字长度。不同码长的BCH和LDPC码组合,得到了各种编码码率,分别为1/4、1/3、2/5、1/2、3/5、2/3、3/4、4/5、5/6、8/9、9/10等。DVB-S2系统具体的纠错编码参数见表1和表2。

外码BCH

BCH码是1959年B.C. Bose、D.K. Ray-Chandhari和A. Hocquenghem发明的一类能纠多个随机错误的循环码,有严格的代数结构,在短、中等码长下其性能接近理论值。BCH

码是用一个域GF(2m)中的n级元素α

的d-1个连续幂次为根的多项式生

成的循环码。一个纠t个符号错误的

BCH码有如下参数:

n=2m-1

d min=2t+1

n-k≤mt

为了适应传输帧结构的长度,在

实际系统中可以采取缩短的BCH

码。

BCH码纠错能力强,构造方便,

编/译码方法简单,在许多领域得到

了应用,比如在目前国际数字电视标

准中广泛使用的RS码就是一类多进

制BCH码。

BCH码在DVB-S2中用作外码。

纠t个错误的BCH编码器的生成多

项式是通过把表3中前t个多项式相

乘而得到的。BCH编码参数如表3

和表4所示。

内码LDPC

LDPC编码原理

1963年Robert Gallager在其博

士论文中提出了规则LDPC码,但因当时未能有效地实现而一度沉寂,在90年代Turbo码热潮中获得了新生,1995年Mackyay DJ和Neal RM重新介绍了LDPC而使之成为热点。

LDPC码是很长的线性分组码,其校验矩阵H是稀疏矩阵,即H由大量的0和小量的1组成。每个码字满足一定数目的线性约束,而约束的数目非常小,易于译码。

(1)规则LDPC码

Robert Gallagher定义的(n, p, q)LDPC码是码长为n的码字。在它的校验矩阵H中,每行和每列中1的数目(码重)是固定的,每一列中1的个数(重量)都是γ,每一行的个数(重量)

都是ρ,γ≥3。任意两行(或两列)之间1的重叠数目≤1,称之为行列约束(Row-Column Constraint)。如果校验矩阵H的每一行是线性独立的,那么码率r=(ρ-γ)/r,否则码率r=(ρ-γ')/ρ,其中γ'是校验矩阵H中行线性独立的数目。

图3是由Robert Gallagher构造的一个(20,3,4)LDPC码的校验矩阵,它的d min=6,设计码率为1/4,实际码率为7/20。这种校验矩阵中,每行和每列中1的数目(汉明重量)相同的LDPC 码被称为规则LDPC码(Regular LDPC Code)。由规则LDPC码的校验矩阵H得到如图4所示的双向图(Bipartite Graph)。图4下方每一个节点x n代表的是变量节点(Variable Node),上方每一个节点z m代表的是校验节点(Check Node)。把某列x n与该列中非零处的z m相连,例如对于x2列,这列中3个1分别对应于z1、z7和z12行,这样就把x2和z1、z7和z12连接起来。从行的角度考虑,把某一行z m中非零点处的x n相连,得到同一个双向图。

在规则LDPC码中,与每个变量节点相连边的数目是相同的,校验节点也具有相同的特点。在译码端,把与某一个校验节点z m相连的x n求和,结果若为0,则无错误发生。

(2)非规则LDPC码

非规则LDPC码,其校验矩阵H中每行中1的个数不同,每列中1的个数也不一样。其编码方法与规则LDPC码基本相同,而非规则双向图中信息节点之间、校验节点之间的度有可能不同。因此,对于非规则图构造的LDPC码,它的校验矩阵H的列重量不相同,是一个变化的值,这是非规则码与规则码的重要区别。非规则码的性能要好于规则码。最近几年的研究表明,对于在GF(8)构造的非规则码,它的性能要比Turbo码还好,其性能非常接近Shannon限。

LDPC译码原理

LDPC较通用的一种译码算法是置信传播算法(Belief Propagation Algorithm)。在BP算法中,各个节点之间传递的信息是概率或置信信息。BP算法是与双向图紧密结合的,各边上传递的消息叫做Message,分Check to Variable和Variable to Check两种Message。

(1)Message的含义

如图4所示,假设bit‘0’映射为+1,则x=+1;bit‘1’映射为-1,则=-1。

Check to Variable:R a mn(a=+1或a= -1)是校验节点z m向变量节点x n传递的校验信息,表示z m根据除x n外其他相邻变量节点{x k:k≠n,k∈N(m)}当前状态向x n宣称的“x n=a使z m满足”的可信度。

Variable to Check:Q a mn(a=+1或a=-1)是变量节点x n向校验节点z m传递的变量信息,表示x n根据除z m外其他相邻校验节点{z l:l≠m,l∈M(n)}和初始概率消息P a n向z m宣称的“x n=a”的可信度。

(2)置信传播算法迭代过程

初始化:计算初始消息{P a n}和初始化{R a mn}。

迭代消息传递和更新:阶段1,各个P n和z m节点向其所有相邻变量节点x n分别传递消息P a n和R a mn,而各个x n节点根据接收消息更新Q a mn;阶段2:各个节点x n向其所有相邻校验节点z m传递已更新的消息Q a mn,而各个z m节点根据接收消息更新R a mn。

迭代终止:x n节点根据所有接收消息计算最终消息Q a n。

(3)LDPC译码一般采取的迭代终止策略

每轮迭代结束时,计算最终消息并判决

^

X,计算伴随式

^

X·H T。如果伴随式为零向量,

则宣告成功,终止迭代;否则取前一次计算得出的值,转到第二个步骤继续迭代。若迭代次数达到预先设定的最大次数I max仍未成功,则根据最终消息判决得x,终止迭代,译码不成功。

相关文档
最新文档