UA MATH636 信息论9 Reed-Solomon Code
UA MATH636 信息论9 Reed-Solomon Code
- Reed-Solomon Code的构造
- 一个例子
先介绍一类code,maximum distance separable code (MDS code)。考虑一个(n,k,d)(n,k,d)(n,k,d)-code,之前我们讨论的都是ddd最小能是多少,下面来讨论一下给定(n,k)(n,k)(n,k)最大的distance能有多少?之所以想要最大的ddd是因为ddd越大能correct的error就越多。
Singleton Bound给出了线性码的ddd的上界:d≤n−k+1d \le n-k+1d≤n−k+1
证明
假设codebook的alphabet size为qqq,则一共有qkq^kqk中不同的code。删除每一个code的前d−1d-1d−1个符号,则剩下的code长度为n−(d−1)n-(d-1)n−(d−1),根据ddd的含义,剩下的这个codebook每两个code至少也有一个符号不同,而长度为n−(d−1)n-(d-1)n−(d−1)的code最多有qn−(d−1)q^{n-(d-1)}qn−(d−1)种,因此
qk≤qn−(d−1)q^k \le q^{n-(d-1)}qk≤qn−(d−1)
根据这个关系可以得到Singleton Bound。
MDS code就是d=n−k+1d=n-k+1d=n−k+1的code system。
Reed-Solomon Code的构造
考虑MDS code (n,k,n−k+1)(n,k,n-k+1)(n,k,n−k+1),满足k≤n≤pk \le n \le pk≤n≤p。则message vector为
m=[x1,⋯,xk],xi∈GF(p),i=1,⋯,km = [x_1,\cdots,x_k],x_i \in GF(p),i=1,\cdots,km=[x1,⋯,xk],xi∈GF(p),i=1,⋯,k
我们可以用定义在Galois域上的多项式来表示这个message:
P(t)=∑i=1kxiti−1P(t) = \sum_{i=1}^k x_i t^{i-1}P(t)=i=1∑kxiti−1
然后我们用这个多项式来编码:
c=[c1,⋯,cn]=[P(0),P(1),⋯,P(n−1)]c = [c_1,\cdots,c_n] = [P(0),P(1),\cdots,P(n-1)]c=[c1,⋯,cn]=[P(0),P(1),⋯,P(n−1)]
其实更一般的,只需要选择nnn个不同的数值就可以了,比如α0,⋯,αn−1∈GF(p)\alpha_0,\cdots,\alpha_{n-1} \in GF(p)α0,⋯,αn−1∈GF(p)
c=[c1,⋯,cn]=[P(α0),P(α1),⋯,P(αn−1)]c = [c_1,\cdots,c_n] = [P(\alpha_0),P(\alpha_1),\cdots,P(\alpha_{n-1})]c=[c1,⋯,cn]=[P(α0),P(α1),⋯,P(αn−1)]
性质1 RS code是线性码
[P(0),P(1),⋯,P(n−1)][P(0),P(1),\cdots,P(n-1)][P(0),P(1),⋯,P(n−1)]可以用message vector乘以Vandermonde矩阵来表示,定义生成矩阵为
G=V(0,1,2,⋯,n)TG = V(0,1,2,\cdots,n)^TG=V(0,1,2,⋯,n)T
则
c=mGc = mGc=mG
性质2 RS code是MDS code
假设aaa是P(t)P(t)P(t)的一个根,则t−at-at−a是P(t)P(t)P(t)的一个因式。如果P(t)P(t)P(t)有k−1k-1k−1个根,则P(t)P(t)P(t)的阶至少为k−1k-1k−1。现在考虑ddd,它是所有code的Hamming weight的最小值。所以我们要考虑的是c=[P(α0),P(α1),⋯,P(αn−1)]c=[P(\alpha_0),P(\alpha_1),\cdots,P(\alpha_{n-1})]c=[P(α0),P(α1),⋯,P(αn−1)]中能有几个数字不为0。因为P(t)P(t)P(t)的阶数是k−1k-1k−1,也就是说ccc中最多有k−1k-1k−1个零,也就是说最小的Hamming weight是n−(k−1)n-(k-1)n−(k−1)。
一个例子
考虑GF(7)GF(7)GF(7)上的(4,2)-RS code,这种code一共有72=497^2 = 4972=49种,它们的生成矩阵是
G=[11110123]G = \left[ \begin{matrix} 1 & 1 & 1 & 1 \\ 0& 1 & 2 & 3 \\ \end{matrix} \right] G=[10111213]
假设message vector是[1,2][1,2][1,2](信源编码器的输出),它的RS-code就是
mG=[1350]mG=[1\ 3\ 5\ 0]mG=[1 3 5 0](噪声信道的输入)。假设噪声信道的输出为R=[2,3,4,0]R=[2,3,4,0]R=[2,3,4,0],因为d=n−k+1=3d=n-k+1=3d=n−k+1=3,所以这个RS-code最多可以改掉(d−1)/2=1(d-1)/2=1(d−1)/2=1个error,经过噪声信道传输后正好出现了一个error,所以在解码的时候这个error可以被改掉。
UA MATH636 信息论9 Reed-Solomon Code相关推荐
- UA MATH636 信息论9 Berlekamp-Welch算法
UA MATH636 信息论9 Berlekamp-Welch算法 Naive RS decoder Berlekamp-Welch算法 一个例子 上一讲介绍了RS code,这一讲介绍RS code ...
- UA MATH636 信息论9 有限域简介
UA MATH636 信息论9 有限域简介 域.有限域 有限域上的多项式的四则运算 有限域是研究Reed-Solomon code (RS code)的基础,RS code是一种非常常用的error- ...
- UA MATH636 信息论8 线性纠错码的解码算法
UA MATH636 信息论8 线性纠错码的解码算法 standard array decoding syndrome decoding 考虑BSC,上一讲提到了ML decoder与MAP deco ...
- UA MATH636 信息论8 线性纠错码
UA MATH636 信息论8 线性纠错码 线性码的性质 Decode Linear Code 更细致地定义下记号,记 kkk bits信号为向量 m=[m0,⋯,mk−1]m=[m_0,\cdots ...
- UA MATH636 信息论8 纠错码简介
UA MATH636 信息论8 纠错码简介 Hamming Distance Property of Error Correction 这一讲开始介绍纠错码,error correction code ...
- UA MATH636 信息论5 信道编码定理的证明
UA MATH636 信息论5 信道编码定理的证明 Random Coding Scheme 平均错误率 最大错误率 逆命题的证明 信道编码定理说的是所有小于 CCC的传输率是可实现的.这里的 CCC ...
- UA MATH636 信息论5 信道编码定理
UA MATH636 信息论5 信道编码定理 信道编码问题 信道容量的正式定义 信道编码定理 Joint Typical Set Joint AEP 上一篇简介里面介绍了通讯的过程,并用下面的流程图来 ...
- UA MATH636 信息论1 熵
UA MATH636 信息论1 熵 基本概念 熵.条件熵.交叉熵 K-L Divergence 互信息 基本性质 链式法则 Jensen不等式与Gibbs不等式 熵的有界性 Conditioning ...
- UA MATH636 信息论2 数据压缩
UA MATH636 信息论2 数据压缩 AEP Most Likely Sequence Properties of Typical Set Limit of Data Compression So ...
最新文章
- 架构设计之分布式文件系统
- Linux运行脚手架vue,【Vue】Vue-cli 搭建 脚手架
- 安装中文和英文man(c函数)
- Web模板引擎—Mustache
- 参数迁移表达的第三种形态相互作用
- Docker入门(运行.net core asp项目)
- matlab imcrop 对应python函数_Python精讲Numpy基础,大牛笔记详细解释
- 华为新系统鸿蒙能互通吗,「连接」万物的鸿蒙,能拯救华为手机吗?
- 7-5 统计大写辅音字母 (15 分)
- 一万个“无序”数查找两个重复数,在O(N)的基础上再快一点
- c语言max函数是什么,什么是C语言函数
- html中如何出现三重阴影,探索 CSS3 中的 box-shadow 属性
- 大数据Hive数据查询语言DQL
- 17.10.21B组题解
- 哈工大软件构造期末知识点总结
- 数组连接中的vstack()函数与hstack()函数
- base64模块的b64encode函数
- java导出excel
- 智能眼镜技术特点与挑战
- 解决xxx.exe-无法找到入口,无法定位程序输入点......于动态链接库
热门文章
- 人类无法抗拒的10种心理(转)
- TI CC2530的BasicRF与Zstack的同与异(重点讲了MAC层)
- amd的处理器能兼容idea么_250元就能买到16GB内存 这背后究竟是道德的沦丧还是人性的扭曲?...
- nodeValue以及其与value的区别以及JS nodeName、nodeValue、nodeType返回类型
- PHP 知识点笔记-常用数据类型
- C# 学习笔记(14)自己的串口助手----多行发送
- 模拟电路技术之基础知识(一)
- 找不到或无法加载主类的原因之一
- Django学习 -- 第一个项目(Hello World)
- C++多线程简单入门(Windows版本)