BCH编译码和卷积编译码

BCH编译码和卷积编译码

ID:46579501

大小:718.69 KB

页数:14页

时间:2019-11-25

BCH编译码和卷积编译码_第1页
BCH编译码和卷积编译码_第2页
BCH编译码和卷积编译码_第3页
BCH编译码和卷积编译码_第4页
BCH编译码和卷积编译码_第5页
资源描述:

《BCH编译码和卷积编译码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、西安电子科技大学项目主体探讨报告题目:编号6Error-ControlCoding差错控制编码bchdecBCHdecoderbchencBCHencoderconvencConvolutionallyencodebinarydata学院电子工程学院专业电子信息工程班级021191学生姓名刘飞涛02119014导师姓名苏涛一、BCH码及其编码1、BCH码概念:BCH码1959年有Hocquenghem、1960年由Bose和Chandhari分别独立提出。是编码理论尤其是纠错码中研究得比较多的一种编码方法。用术语来说,BCH码是用于校正多个随机错误模式的多级、循环、错误校正、变长数字编

2、码。2、BCH码的构建BCH码使用有限域上的域论与多项式。BCH码是循环码子类,对于任何正整数m和t(m>=3,t<2m-1),存在着能纠正t个以内错误的BCH码,其参数为:码m长:n=2m-1。最小码距:d>=2t+1。其生成多项式g(x)为GF(2)域上最小多项式?1x,?2x,,,,,?2tx的最小公倍式,即gx=LCM(?1x,?2x,,,,,?2tx)或者,考虑到?2x的根包括在?1x内,也就是一般来说,偶数小标项可一律取消,可进一步简化为gx=LCM(?1x,?3x,,,,,?2t−1x)。3、BCH码的编码BCH码是循环码的一种,满足循环码的编码方法,令给定的编码方式为(

3、n,k),生成多项式为g(x),其中n为编码长度,即码长,k为信息字的长度,信息码多项式为m(x),编码的步骤如下:1.用x(n−k)乘以m(x),这一运算相当于是把信息位码后附加上(n-k)个“0”。n−k2.用g(x)除xm(x),得到商Q(x)和余式r(x),即n−kxmx=Qxgx+r(x)。n−k3.编码后的输出为Cx=xmx+r(x)。4、用c语言实现BCH编码在MATLAB中实现信道编码BCH编码的函数为bchenc(msg,n,k),其中msg为伽罗华域的信息矩阵,大小为(N,k),即k个信息字,每个信息字二进制编码长度为N,经过bchenc函数编码后输出BCH码矩阵(

4、N,n),n为编码长度。在c语言中实现相同的编码功能,根据上述的BCH码编码原理进行编写代码,实现bch编码子函数:intbchenc(int*msg,intn,intk,int*output)。其中信息字矩阵msg用二维数组表示,msg的每一行即为一个信息码多项式m(x),对msg的每一行做相同的编码处理,可得到最终要求的BCH码。为简单起见此报告程序中的信息字N=1,即msg为一位数组。例如:[1010101]————————m(x)=x6+x4+x2+1,当n=15,k=7时,生成多项式g(x)的系数(八进制)为721,即g(x)=x8+x7+x6+x4+1根据上述编码步骤:1.

5、x(n−k)乘以m(x),即x8mx=x14+x12+x10+x8————[101010100000000],gx=x8+x7+x6+x4+1—————[111010001],n−k2.用g(x)除xm(x),得到商Q(x)和余式r(x)x8mxx14+x12+x10+x8=g(x)x8+x7+x6+x4+1=x6+x5+x4+x2+1…x7+x6+x5+x2+1rx=x7+x6+x5+x2+13.Cx=xn−kmx+rx=x14+x12+x10+x8+x7+x6+x5+x2+1即BCH码————————————[101010111100101]4.多项式除法求余式的算法多项式除法在其

6、系数中表示为按位异或,如:x8mx101010100000000010000101000000=∧⇒∧g(x)111010001000000011101000100000001101101100000000011001110000⇒∧⇒∧001110100010000000011101000100000000100110100⇒∧⇒000000011100101000000111010001————————————————————x7+x6+x5+x2+1故可将多项式除法求余式用异或运算来实现其功能。至此,BCH编码的过程以基本完成。5、C语言BCH程序与matlab中的bchenc函

7、数进行比较让两种编码语言函数编码相同的信息字,因matlab中噪音的产生是随机的,故先在matlab中实验,得到其噪声矩阵,在C程序中使得其产生相同的噪声,即错误位,比较其编码结果,并得到两种编程语言函数运行的时间差异。因编码与译码函数是在同一程序中调用,故C语言编译码结果与matlab的编译码结果将在同一图片中展示,稍后再介绍BCH译码相关内容。说明:msg为待编码的信息;code_data为bch码;receivedata为接收到收到的可能

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。