资源描述:
《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为接收到收到的可能