RS码简介与编译码算法综述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Sh e jk ( jk ) h ,1 h 2t
k 1 l
Forney算法
——算法原理
S ( x) Sh x e jk ( x )
h h 0 h 0 k 1
l
jk h
令x jk 代入上式,得 N (
l jk
= e jk ( ) x
S3 S1 S2 S S3 S4 2 Sl 1 Sl Sl 1 Sl Sl 1 Sl 2
Sl 1 Sl
S2l 3 S2l 2
Sl l -Sl 1 -S Sl 1 l 1 l 2 = S2l 2 2 -S2l 1 S2l 1 1 -S2l
PPT到此结束,谢谢各位
所以有:
N ( - jk ) e jk (1 jh - jk )
h 1 h k - jk
l
e jk
N (
l h 1 h k
)
(1 jh - jk )
Forney算法就是通过上式求解错误多项式的系数
所以通过Forney算法 求得的错误多项式 E(x)=α8x2+α2x5+αx10, 实际发送序列为全0 序列。 —例毕
RS编码
——编码器设计
1、基于乘法形式的编码器 公式: c(x)=m(x)g(x)
原理图:
RS编码
——编码器设计
RS码
——编码器设计
RS译码
——译码算法
根据生成多项式,可以构造出快速的硬件编码器, 而对RS码的译码,由于它是循环码的一个子类,任 何对循环码的标准译码过程都适用于RS码。 下面我们讨论专门针对RS码的译码算法: PGZ算法 BM算法 Forney算法
E(x)
计算S2t
计算βi
PGZ译码算法
——算法总结
PGZ译码算法
——算法总结wenku.baidu.com
BM译码算法
——引入
1965年E.R.Berlekamp提出了由伴随式求σ(x)的 迭代译码算法,极大地加快了求σ(x)的速度, 实现时比较简单,且易于用计算机完成译码, 因而从工程上解决了BCH码的译码问题。1969 年J.L.Massey指出,迭代译码算法与序列的最 短线性移位寄存器的综合之间的关系,并进 行了简化,自此以后把这种算法成为BM迭代 译码算法。
k 1 l h 0
l
) {e jk (1 jh jk )}
k 1 h 1 hk
l
l
jk h h
1 e jk 1 jk x k 1 N ( x) ( x) S ( x) mod xl 1 {e jk (1 x) mod xl 1}
BM译码算法
——算法基础
BM译码算法
——算法原理
BM译码算法
——迭代的具体实现
j -1 0 1 2 3a 4 5 6 1 1 1+αx 1+α11x 1+α8x+α8x2 1+α6x+αx2 1+α6x+αx2 1+α6x+αx2 0 1 1 1+α6x 1+α10x 1+α11x+α5x2 1+α11x+α5x2 1+α11x+α5x2 0 0 1 1 2 2 2
RS编码
——编码器设计
最小距离为d的本原RS码的生成多项式为 g(x)=(x-α)(x-α2)(x-α3)…(x-αd-2) 信息元多项式为 m(x)=m0+m1x+m2x2+…+mk-1xk-1 编码器主要有三种类型: 1.基于乘法形式的编码器 2.基于除法形式的编码器 3.基于校验多项式形式的编码器
D(j) -1 0 0 1 1 1 2 3
j-D(j) 1 S1=α
dj
α7(取i=-1) α14(取i=0) α13(取i=1) 1(取i=0) 0 0
3b 1+α11x+α13x2
1+α6x+α13x2 2
Forney算法
——算法原理
N ( x) 1 ( S1 1 ) x ( S2 1S 2 ) x 2 (Sl 1S-1 2 Sl -2 l ) xl
RS码简介
熊竹林
背景知识
RS码是一种BCH码 BCH码是一种循环码 循环码是一种线性分组码 线性分组码是一种信道编码
背景知识
——信道编码
信道的非理想性 传输差错 香农告诉我们要纠错必须增加冗余 信道编码就是一门增加冗余的学问 亡羊补牢:反馈重传 未雨绸缪:前向纠错 线性分组码就是前向纠错码的一种
BCH码
——定义
BCH码
——有限域
BCH码
——设计准则
RS码
——引入 RS编码起源于1960年MIT Lincoln实验室的S. Reed和G. Solomon在Journal of the Society for Industrial and Applied Mathematics上发表的 一篇论文:Polynomial Codes over Certain Finite Fields(某些有限域上的多项式码)。经历 了数十年的发展,RS码成为了研究最详尽, 分析最透彻,应用最广泛,研究成果最多的 码类之一。
PGZ译码算法
——第三步,定位错误位置
PGZ译码算法
——第三步,定位错误位置
PGZ译码算法
——第四步,求出错误多项式的系数
PGZ译码算法
——流程图
R(x) C(x)输出
N级移位寄存器
输入R(x)
计算S1 计算S2
计算错 误位置 多项式 ������(������)
用钱搜 索法求 ������(������)的 根
RS译码
——PGZ译码算法
PGZ算法的名字来源于三位作者Peterson、 Gorenstein和Zierler。该算法是解决BCH译码 问题的通用算法,它的出现奠定了BCH译码算 法的理论基础。该方法实现简单,易于理解, 对于较短的BCH码非常有效。
PGZ译码算法
PGZ译码算法
——第一步,计算校正子Sj
背景知识
——线性分组码
分组:将码字分为许用码字和禁用码字 两组
线性:许用码字的线性组合还是许用码 字
BCH码
——引入
BCH码是一类最重要的循环码,能纠正多个随 机错误,它是1959年由Bose、Chaudhuri及 Hocquenghem各自独立发现的线性循环码, 人们以他们的名字字头命名为BCH码。 BCH码打破了一般线性分组码先编码再验证性 能的模式,能够根据实际纠错需求进行编码。
jk k 1 h 1 hk l l def
(1 jh jk )中,若h k,其中有一项
h 1 hk
jh jk,jh jk 0, jh jk 0 1+ 故
(1
h 1 hk
l
jh jk
)=0, h k
Forney算法
——算法原理
RS码
——定义与特点
RS码
——定义与特点
RS码的编码系统是建立在比特组基础上的, 即字节,而不是单个的0和1,因此它是非二 进制BCH码,这使得它处理突发错误的能力特 别强。
RS码
——编码参数
例子:试构造一个能纠3个错误符号,码长 n=15,m=4的RS码。 解:已知t=3,n=15,m=4,所以有 码距:d=2t+1=7个符号(28bit) 监督段:2t=6个符号(24bit) 信息段:n-6=9个符号(36bit) 码长:n=15个符号(60bit) 因此该码是(15,9)RS码,同时也可以看作是 (60,36)二进制码。 生成多项式g(x)=(x+α)(x+α2)…(x+α6) =x6+α10x5+α14x4+α4x3+α6x2+α9x+α6
k 1 l
Forney算法
——算法原理
S ( x) Sh x e jk ( x )
h h 0 h 0 k 1
l
jk h
令x jk 代入上式,得 N (
l jk
= e jk ( ) x
S3 S1 S2 S S3 S4 2 Sl 1 Sl Sl 1 Sl Sl 1 Sl 2
Sl 1 Sl
S2l 3 S2l 2
Sl l -Sl 1 -S Sl 1 l 1 l 2 = S2l 2 2 -S2l 1 S2l 1 1 -S2l
PPT到此结束,谢谢各位
所以有:
N ( - jk ) e jk (1 jh - jk )
h 1 h k - jk
l
e jk
N (
l h 1 h k
)
(1 jh - jk )
Forney算法就是通过上式求解错误多项式的系数
所以通过Forney算法 求得的错误多项式 E(x)=α8x2+α2x5+αx10, 实际发送序列为全0 序列。 —例毕
RS编码
——编码器设计
1、基于乘法形式的编码器 公式: c(x)=m(x)g(x)
原理图:
RS编码
——编码器设计
RS码
——编码器设计
RS译码
——译码算法
根据生成多项式,可以构造出快速的硬件编码器, 而对RS码的译码,由于它是循环码的一个子类,任 何对循环码的标准译码过程都适用于RS码。 下面我们讨论专门针对RS码的译码算法: PGZ算法 BM算法 Forney算法
E(x)
计算S2t
计算βi
PGZ译码算法
——算法总结
PGZ译码算法
——算法总结wenku.baidu.com
BM译码算法
——引入
1965年E.R.Berlekamp提出了由伴随式求σ(x)的 迭代译码算法,极大地加快了求σ(x)的速度, 实现时比较简单,且易于用计算机完成译码, 因而从工程上解决了BCH码的译码问题。1969 年J.L.Massey指出,迭代译码算法与序列的最 短线性移位寄存器的综合之间的关系,并进 行了简化,自此以后把这种算法成为BM迭代 译码算法。
k 1 l h 0
l
) {e jk (1 jh jk )}
k 1 h 1 hk
l
l
jk h h
1 e jk 1 jk x k 1 N ( x) ( x) S ( x) mod xl 1 {e jk (1 x) mod xl 1}
BM译码算法
——算法基础
BM译码算法
——算法原理
BM译码算法
——迭代的具体实现
j -1 0 1 2 3a 4 5 6 1 1 1+αx 1+α11x 1+α8x+α8x2 1+α6x+αx2 1+α6x+αx2 1+α6x+αx2 0 1 1 1+α6x 1+α10x 1+α11x+α5x2 1+α11x+α5x2 1+α11x+α5x2 0 0 1 1 2 2 2
RS编码
——编码器设计
最小距离为d的本原RS码的生成多项式为 g(x)=(x-α)(x-α2)(x-α3)…(x-αd-2) 信息元多项式为 m(x)=m0+m1x+m2x2+…+mk-1xk-1 编码器主要有三种类型: 1.基于乘法形式的编码器 2.基于除法形式的编码器 3.基于校验多项式形式的编码器
D(j) -1 0 0 1 1 1 2 3
j-D(j) 1 S1=α
dj
α7(取i=-1) α14(取i=0) α13(取i=1) 1(取i=0) 0 0
3b 1+α11x+α13x2
1+α6x+α13x2 2
Forney算法
——算法原理
N ( x) 1 ( S1 1 ) x ( S2 1S 2 ) x 2 (Sl 1S-1 2 Sl -2 l ) xl
RS码简介
熊竹林
背景知识
RS码是一种BCH码 BCH码是一种循环码 循环码是一种线性分组码 线性分组码是一种信道编码
背景知识
——信道编码
信道的非理想性 传输差错 香农告诉我们要纠错必须增加冗余 信道编码就是一门增加冗余的学问 亡羊补牢:反馈重传 未雨绸缪:前向纠错 线性分组码就是前向纠错码的一种
BCH码
——定义
BCH码
——有限域
BCH码
——设计准则
RS码
——引入 RS编码起源于1960年MIT Lincoln实验室的S. Reed和G. Solomon在Journal of the Society for Industrial and Applied Mathematics上发表的 一篇论文:Polynomial Codes over Certain Finite Fields(某些有限域上的多项式码)。经历 了数十年的发展,RS码成为了研究最详尽, 分析最透彻,应用最广泛,研究成果最多的 码类之一。
PGZ译码算法
——第三步,定位错误位置
PGZ译码算法
——第三步,定位错误位置
PGZ译码算法
——第四步,求出错误多项式的系数
PGZ译码算法
——流程图
R(x) C(x)输出
N级移位寄存器
输入R(x)
计算S1 计算S2
计算错 误位置 多项式 ������(������)
用钱搜 索法求 ������(������)的 根
RS译码
——PGZ译码算法
PGZ算法的名字来源于三位作者Peterson、 Gorenstein和Zierler。该算法是解决BCH译码 问题的通用算法,它的出现奠定了BCH译码算 法的理论基础。该方法实现简单,易于理解, 对于较短的BCH码非常有效。
PGZ译码算法
PGZ译码算法
——第一步,计算校正子Sj
背景知识
——线性分组码
分组:将码字分为许用码字和禁用码字 两组
线性:许用码字的线性组合还是许用码 字
BCH码
——引入
BCH码是一类最重要的循环码,能纠正多个随 机错误,它是1959年由Bose、Chaudhuri及 Hocquenghem各自独立发现的线性循环码, 人们以他们的名字字头命名为BCH码。 BCH码打破了一般线性分组码先编码再验证性 能的模式,能够根据实际纠错需求进行编码。
jk k 1 h 1 hk l l def
(1 jh jk )中,若h k,其中有一项
h 1 hk
jh jk,jh jk 0, jh jk 0 1+ 故
(1
h 1 hk
l
jh jk
)=0, h k
Forney算法
——算法原理
RS码
——定义与特点
RS码
——定义与特点
RS码的编码系统是建立在比特组基础上的, 即字节,而不是单个的0和1,因此它是非二 进制BCH码,这使得它处理突发错误的能力特 别强。
RS码
——编码参数
例子:试构造一个能纠3个错误符号,码长 n=15,m=4的RS码。 解:已知t=3,n=15,m=4,所以有 码距:d=2t+1=7个符号(28bit) 监督段:2t=6个符号(24bit) 信息段:n-6=9个符号(36bit) 码长:n=15个符号(60bit) 因此该码是(15,9)RS码,同时也可以看作是 (60,36)二进制码。 生成多项式g(x)=(x+α)(x+α2)…(x+α6) =x6+α10x5+α14x4+α4x3+α6x2+α9x+α6