利用Matlab进行BCH编码、译码仿真_第1页
利用Matlab进行BCH编码、译码仿真_第2页
利用Matlab进行BCH编码、译码仿真_第3页
利用Matlab进行BCH编码、译码仿真_第4页
利用Matlab进行BCH编码、译码仿真_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.1利用Matlab进展BCH编码、译码仿真1.课程设计目的1掌握BCH编码、译码。2通过Matlab仿真,加深对BCH编码理解。3锻炼运用所学知识,独立分析问题、解决问题的综合能力。2.课程设计要求了解BCH编码是建立在严格的代数数学根底上的,就有限域和扩域进展了介绍;就BCH码相关的根底知识BCH码定义、码长、生成多项式等等进展学习,了解BCH码的编码和译码过程;介绍了彼得森译码算法程序框图,了解彼得森译码的过程与原理。最后利用Matlab编程分析BFSK在加性高斯白噪声信道的误码率性能;通过Simulink建立BFSK+信道编码取BCH码在加性高斯白噪声信道下的仿真模型,从信源BCH编码

2、BPSK调制高斯信道BPSK解调BCH译码信宿,设置好每个模块的参数,编写好主程序实现BFSK的输入,在程序运行过程中间调用BFSK仿真模型,仿真结果出现没有经过BCH编码的误码率曲线图和经过BCH编码后的误码率曲线图,根据仿真误码率曲线走势进展分析,注意分析不同的纠错能力对误码率性能的影响,不同的纠错能力对译码复杂度的影响用译码的时间长短作为对其复杂度影响的参数,时间长则说明复杂度大,通过分析后得出结论进展总结、展望。3.相关知识BCH码定义:BCH 码1959 年由Hocquenghem、1960 年由Bose和Chandhari分别独立提出。BCH码是能够纠正多个随机错误的循环码,可以用

3、生成多项式g(*)的根描述。 给定任一有限域GF(q)及其扩域GF(), 其中q是素数或或者*一素数的幂,m为*一正整数。设=GF(),l是任意整数,是GF()的根源元,假设V是码元取自GF(2)上码长为n的循环码,他的生成多项式g*含有以下2t个根、,则由g*生成的循环码称为二元BCH码,假设、中有一个是本原元,则g*生成的码称为本原BCH码。要考虑g*能否生本钱原BCH码,将要考虑、中是否有一个根源元,实际上只要考虑是本原元,g*生本钱原BCH码,假设不是本原元,则也一定不是本原元,因而生本钱原BCH码。设阶为,i=1,2,3,、,2t,则以、为根的BCH码的码长N=LCM(,.)。假设、

4、的极小多项式分别为*,*,,*.2.生成多项式g*以、为根的BCH码的生成多项式可以写成g*=LCM*,*,*,由极小多项式的性质可以知道,与的平方,有一样的极小多项式,因此以、为根的BCH码的生成多项式可以简化成g*=LCM*,*,*这个g*=LCM*,*,*中多以取最小公倍,是要在*,*,*中去掉那些一样的极小多项式,既然g*=LCM*,*,*中已经把的极小多项式一样的去掉啦,是否可以把g*=LCM*,*,*中最小公倍符号省略,直接写成*,*,*的形式,答复是否认的,这是因为,虽然*,*,*中已经去掉了一些一样的极小多项式,但是不一定去掉了所有的与*一样的极小多项式,5.码长n由g*=LC

5、M*,*,*可以知道,以、为根的BCH码的码长n=LCM(,.)。假设的阶为,则的阶是的因子,因此码长公式可以简化为n=LCM(,,)=.设是GF的本原元,=,则的阶=即以、为根的BCH码的码长为n=课程设计分析4.1 BCH码的编码 BCH码是循环码的一种,满足循环码的编码方法,令给定的编码方式为n,k生成多项式为g*,信息码多项式为m*编码的步骤如下:1、用*n-k乘以m*,这一运算相当于是把信息位码后附加上n-k个“0”.2.用g*除*n-km*,得到商Q*和余式r*,即*n-km*/ g*= Q*+ r*/g*。3.编码后的输出为T*= *n-km*+ r*。4.2 BCH码的译码BC

6、H码的译码方法可以有时域译码和频域译码两类。频移译码是把每个码组看成一个数字信号,把承受到的信号进展离散傅氏变换(DFT),然后利用数字信号处理技术在“频域译码,最后进展傅氏反变换得到译码后的码组。时域译码则是在时域直接利用码的代数构造进展译码。BCH的时域译码方法有很多,而且纠多个错误的BCH码译码算法十分复杂。常见的时域BCH译码方法有彼得森译码、迭代译码等。事实上,BCH码是一种特殊的循环码,因此它的编码器不但可以象其它循环码那样用除法器来实现,而且原则上所有适合循环码译码的方法也可以用于BCH码的译码。BCH译码的一般原理将求解错误位置转化为解线性方程组的问题,但是当设计纠错能力t比较

7、大时,要不断对系数矩阵进展降阶处理,直到求到一个满秩的e*e阶方阵为止,还是比较复杂的运算,Berlekamp的发现从根本上解决了BCH码译码的算法复杂度,得到了广泛的应用。5.仿真5.1 仿真实现的思想方法 先用Simulink建立BFSK+信道编码取BCH码在加性高斯白噪声信道下的仿真模型,设置好每个模块的参数,编写好主程序实现BFSK的输入,在程序运行过程中间调用BFSK仿真模型,将不同纠错能力的误码率曲线在一个仿真结果图里展现;分析随着信噪比的增加,误码率曲线的走势,在不同的纠错能力t下,分析15.5.3的误比特率随信噪比的走势,记录仿真所用的不同的时间,用时间作为译码复杂度的参数。根

8、据仿真结果分析不同的纠错能力对编码性能的影响,不同的纠错能力对译码复杂度的影响。5.2 仿真实现的功能说明通过调用已建立的BFSK+信道编码取BCH码在加性高斯白噪声信道有突发干扰下的仿真模型,利用Matlab编程分析BFSK在加性高斯白噪声信道的误码率性能;分析不同纠错能力对误码率性能的影响和不同的纠错能力对译码复杂度的影响,根据仿真图的结果得出进展分析得出结论。5.3 程序源代码与界面图clear all;clc;SNR=0.1:0.1:10;Errorrate=zeros(1,100);Errorrate_1=zeros(1,100);for i=1:100 sim BCH; Error

9、rate(i)=ErrorVec(1); Errorrate_1(i)=ErrorVec_1(1);endsemilogy(SNR,Errorrate,r);grid;*label(SNR);ylabel(Errorrate);hold on;semilogy(SNR,Errorrate_1,b);(4)Simulink框图及参数设置BCH信道编码仿真模型6.结果分析通过理论与编程实践,我完成了这次设计的任务,其运行结果如下列图:nkt曲线颜色仿真所用时间仿真次数译码复杂度正影响大小红色11min10000小绿色5min10000大实验结果分析误比特率随着信噪比的增加在逐渐下降。通过BCH编码以后的误比特率比未经过BCH编码的误比特率在一样的信噪比参数下,其误比特率有明显的下降,编码性能得到改善。随着信噪比的增加误比特率在逐渐下降,当增大到一定值的时候,误比特率趋向于零。理论上在信噪比比较小的情况下,编码后的误码性能没有未编码的无码性能好,也就是在信噪比比较低的情况下,未编码和经过编码后的误比特率曲线会有交点。15.7的误比特率低于15.5,说明15.7的编码性能好。7.设计总结:这次通过对BCH编码解码课设,学会了BCH码的原理。而且通过此次实验更是加深了

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论