利用Matlab进行BCH编码、译码仿真..doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沈阳理工大学通信系统课程设计报告 PAGE 10 利用Matlab进行BCH编码、译码仿真 1.课程设计目的 (1)掌握BCH编码、译码。 (2)通过Matlab仿真,加深对BCH编码理解。 (3)锻炼运用所学知识,独立分析问题、解决问题的综合能力。 2.课程设计要求 了解BCH编码是建立在严格的代数数学基础上的,就有限域和扩域进行了介绍;就BCH码相关的基础知识(BCH码定义、码长、生成多项式等等)进行学习,了解BCH码的编码和译码过程;介绍了彼得森译码算法程序框图,了解彼得森译码的过程与原理。最后利用Matlab编程分析BFSK在加性高斯白噪声信道的误码率性能;通过Simulink建立BFSK+信道编码(取BCH码)在加性高斯白噪声信道下的仿真模型,从信源—BCH编码—BPSK调制—高斯信道—BPSK解调—BCH译码—信宿,设置好每个模块的参数,编写好主程序实现BFSK的输入,在程序运行过程中间调用BFSK仿真模型,仿真结果出现没有经过BCH编码的误码率曲线图和经过BCH编码后的误码率曲线图,根据仿真误码率曲线走势进行分析,注意分析不同的纠错能力对误码率性能的影响,不同的纠错能力对译码复杂度的影响(用译码的时间长短作为对其复杂度影响的参数,时间长则说明复杂度大,)通过分析后得出结论进行总结、展望。 3.相关知识 BCH码定义: BCH 码1959 年由Hocquenghem、1960 年由Bose和Chandhari分别独立提出。BCH码是能够纠正多个随机错误的循环码,可以用生成多项式g(x)的根描述。 给定任一有限域GF(q)及其扩域GF(), 其中q是素数或或者某一素数的幂,m为某一正整数。设=GF(),l是任意整数,是GF()的本源元,若V是码元取自GF(2)上码长为n的循环码,他的生成多项式g(x)含有以下2t个根 、、、、, 则由g(x)生成的循环码称为二元BCH码,若、、、、中有一个是本原元,则g(x)生成的码称为本原BCH码。要考虑g(x)能否生成本原BCH码,将要考虑、、、、中是否有一个本源元,实际上只要考虑是本原元,g(x)生成本原BCH码,若不是本原元,则也一定不是本原元,因而生成本原BCH码。 设阶为,i=1,2,3,、、、,2t,则以、、、、为根的BCH码的码长 N=LCM(,,….)。 若、、、、的极小多项式分别为(x),(x),…,(x). 2.生成多项式g(x) 以、、、、为根的BCH码的生成多项式可以写成g(x)=LCM((x),(x),…(x)),由极小多项式的性质可以知道,与的平方,有相同的极小多项式,因此以、、、、为根的BCH码的生成多项式可以简化成 g(x)=LCM((x),(x),…(x)) 这个g(x)=LCM((x),(x),…(x))中多以取最小公倍,是要在(x),(x),…(x)中去掉那些相同的极小多项式,既然g(x)=LCM((x),(x),…(x))中已经把的极小多项式相同的去掉啦,是否可以把g(x)=LCM((x),(x),…(x))中最小公倍符号省略,直接写成(x),(x),…(x)的形式,回答是否定的,这是因为,虽然(x),(x),…(x)中已经去掉了一些相同的极小多项式,但是不一定去掉了所有的与(x)相同的极小多项式, 5.码长n 由g(x)=LCM((x),(x),…(x))可以知道,以、、、、为根的BCH码的码长n=LCM(,,….)。若的阶为,则的阶是的因子,因此码长公式可以简化为n=LCM(,,…,)=. 设是GF()的本原元,=,则的阶 = 即以、、、、为根的BCH码的码长为 n= 课程设计分析 4.1 BCH码的编码 BCH码是循环码的一种,满足循环码的编码方法,令给定的编码方式为(n,k)生成多项式为g(x),信息码多项式为m(x)编码的步骤如下:1、用x(n-k)乘以m(x),这一运算相当于是把信息位码后附加上(n-k)个“0”.2.用g(x)除x(n-k)m(x),得到商Q(x)和余式r(x),即x(n-k)m(x)/ g(x)= Q(x)+ r(x)/g(x)。3.编码后的输出为T(x)= x(n-k)m(x)+ r(x)。 4.2 BCH码的译码 BCH码的译码方法可以有时域译码和频域译码两类。频移译码是把每个码组看成一个数字信号,把接受到的信号进行离散傅氏变换(DFT),然后利用数字信号处理技术在“频域”内译码,最后进行傅氏反变换得到译码后的码组。时域译码则是在时域直接利用码的代数结构进行译码。BCH的时域译码方法有很多,而且纠多个错误的BCH码译码算法十分复杂。常见的时域BCH译码方法有彼得森译码、迭代译码等。事实上,BCH码是一种特殊的循环码,因此它的编码器不但可以象其它循环码那样用除法器来实现,而且原则

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档