利用Matlab进行BCH编码、译码仿真讲解.docx

上传人:牧羊曲112 文档编号:5044244 上传时间:2023-05-31 格式:DOCX 页数:15 大小:400.75KB
返回 下载 相关 举报
利用Matlab进行BCH编码、译码仿真讲解.docx_第1页
第1页 / 共15页
利用Matlab进行BCH编码、译码仿真讲解.docx_第2页
第2页 / 共15页
利用Matlab进行BCH编码、译码仿真讲解.docx_第3页
第3页 / 共15页
利用Matlab进行BCH编码、译码仿真讲解.docx_第4页
第4页 / 共15页
利用Matlab进行BCH编码、译码仿真讲解.docx_第5页
第5页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《利用Matlab进行BCH编码、译码仿真讲解.docx》由会员分享,可在线阅读,更多相关《利用Matlab进行BCH编码、译码仿真讲解.docx(15页珍藏版)》请在三一办公上搜索。

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

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

3、 Chandhari 分别独立提出。BCH码是能够纠正多个随机错误的循环码,可以用生 成多项式g(x)的根描述。给定任一有限域GF(q)及其扩域GF(qm), 其中q是素数或或者某一素数的幕,m为某一正整数。设 p=a G GF(2m),l是任意整数,a是GF(2m)的本源元,若V是码元取 自GF(2)上码长为n的循环码,他的生成多项式g (x)含有以下2t 个根P、P 2、p 2t,则由g(X)生成的循环码称为二元既日码,若p、p 2、p 2t中有一 个是本原元,则g(X)生成的码称为本原BCH码。要考虑g(X)能 否生成本原BCH码,将要考虑p、p2、p2t中是否有一个本源元, 实际上只要

4、考虑p是本原元,g(X)生成本原BCH码,若p不是本原 元,则p,也一定不是本原元,因而生成本原BCH码。设p/ 阶为e,i二1,2, 3,、,2t,则以p、02、p2t为根的 BCH 码的码长N=LCM( e , e,.e )。1 22t若p、p2、p 2t的极小多项式分别为m (X),m(X),,m (X). 2.生成多项式g(X)以p、p2、p2t为根的BCH码的生成多项式可以写成g(X) =LCM( m(X),m(X),m(X),由极小多项式的性质可以知道, p,与(p /)的平方,有相同的极小多项式,因此以p、p 2、p 2t为根的 BCH码的生成多项式可以简化成g (X)=LCM(

5、m (X), m(X),m(X)这个g(X)=LCM( m (X),m(X),m (X)中多以取最小公倍, 是要在mi(X),m2(X),m2(X)中去掉那些相同的极小多项式, 既然 g(X)=LCM( mi(X),m3(X),m2i(X)中已经把 pi 的极小多项式相同的去掉啦,是否可以把g(x)=LCM( m (x), m (x),m (x)中最小公倍符号省略,直接写成m (x),m(X),m(x)的形式,回答是否定的,这是因为,虽然m1 (x),m3 (x),J (x) 中已经去掉了一些相同的极小多项式,但是不一定去掉了所有的与m 1 (x)相同的极小多项式,5.码长n由 g (x)=L

6、CM (m (x),m (x),m(x)可以知道,以&、p 2、8 2为根的BCH码的码长n=LCM( e , e , . e )。若P的阶为e,22t-1则p i的阶是ei的因子,因此码长公式可以简化为n=LCM(匕, e ,e )=e-设a是GF ( 2m)的本原元,P=a l,则P的阶 2m 1e =1 (l,2 m 1)即以p、p2、p2t为根的BCH码的码长为2m 1n=(l ,2 m 1)4. 课程设计分析4.1 BCH码的编码BCH码是循环码的一种,满足循环码的编码方法,令给定的编 码方式为(n,k)生成多项式为g (x),信息码多项式为m (x)编码 的步骤如下:1、用x (n

7、-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),然后利用数字信号处理技术在“频域”内译码,最后进行傅 氏反变换得到译码后的码组。时域译码则是在时域直接利用码的代数 结构进

8、行译码。BCH的时域译码方法有很多,而且纠多个错误的BCH 码译码算法十分复杂。常见的时域BCH译码方法有彼得森译码、迭代 译码等。事实上,BCH码是一种特殊的循环码,因此它的编码器不但 可以象其它循环码那样用除法器来实现,而且原则上所有适合循环码 译码的方法也可以用于BCH码的译码。BCH译码的一般原理将求解错 误位置转化为解线性方程组的问题,但是当设计纠错能力t比较大 时,要不断对系数矩阵进行降阶处理,直到求到一个满秩的exe阶方 阵为止,还是比较复杂的运算,Berlekamp的发现从根本上解决了 BCH 码译码的算法复杂度,得到了广泛的应用。5. 仿真5.1仿真实现的思想方法先用Simu

9、link建立BFSK+信道编码(取BCH码)在加性高斯白 噪声信道下的仿真模型,设置好每个模块的参数,编写好主程序实现 BFSK的输入,在程序运行过程中间调用BFSK仿真模型,将不同纠错 能力的误码率曲线在一个仿真结果图里展现;分析随着信噪比的增 加,误码率曲线的走势,在不同的纠错能力t下,分析(15.7.2) (15.5.3)的误比特率随信噪比的走势,记录仿真所用的不同的时间, 用时间作为译码复杂度的参数。根据仿真结果分析不同的纠错能力对 编码性能的影响,不同的纠错能力对译码复杂度的影响。5.2仿真实现的功能说明通过调用已建立的BFSK+信道编码(取BCH码)在加性高斯白 噪声信道(有突发干

10、扰)下的仿真模型,利用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:100sim BCH;Errorrate(i)=ErrorVec(1);Errorrate_1(i)=ErrorVec_1(1);endsemilogy(SNR,Errorrate,r);grid;xlabe

11、l(SNR);ylabel(Errorrate);hold on;semilogy(SNR,Errorrate_1,b);(4)Simulink框图及参数设置BCH信道编码仿真模型丽 BCH*File Edit View Simulation Format Tools HelpD I Qi IS唇 X昭IS J 7廿5.| ,10.0 -同篇i3,图邕国洛回园寒Error Rate CalculationlE Block Parameters: Bernoulli Binary Generator移 lBernoulli Einazy Cenexatsr (zsask: (liirik)=Ge

12、nex at e a Bernoulli x andc-ZD binary numb ex Td gen ex ate- a vec tor Dutputj specify the pxct ability as a vectoxPar azDe t ex sPratability of a zero:Initial seed:1Sszsple- t izse:F际 FT3ZDe-taEed outputs5 aznpl es per fx ame:IInterpret ve-Dtor parazieteze as 1DOIl I C:=LTLcelHelpAjiply际 Block Para

13、meters: BCH Encoder际 Block Parameters: BPSK Modulator Baseband邸1C:=LXLcelHelp |Apply际 Block Parameters: AWGN ChannelA.KGN Channel(link)Add Khite Gaussian noise to the input signal. The input and output eignale can be real cz oozaplez. This block supporte rniltichannel input and output eignale as wel

14、l as fxazae-based pTC-ce-EEin.When usin eithei of the varianoe nodes with coziplez inputEj the varianoe values are- equally divided aztHng the real and iziaginary oc-ZDponente of the input signal.ParazieteTEInitial seed:FWnde: | SiEnal to rolhs ratio (Eb/Nc |Eb/Nc (d:snkTZ)XuzDbei of bits per syzitl

15、:RInput signal gg:r (watts):RSymbol peri-s-d (s):OK I C :=ltli: elHelpAfiplyFT际 Block Parameters: BPSK Demodulator BasebandEPSE Denodulator Baseband (zsask) (linkDezD-cdulate the input signal usinthe binary phase shift keying ziethcd.Fdt sazDple-tased inputj input ziust be a CDlunnthe- input vector.

16、nust be a e c al ar. For fxazD_taEed inputjtheIn ofinput the-width of the input frazie xepreEentE the-dhes- of fraziebasedthe rLioter of Eyzsb-Dls and the Saziples pex ETZstol value.pxsduEtpericdcase of sazDpletased inputj the sazDple tizae of the input is the STZsbol divided by the SazDples pex ETZ

17、ibal value.i ParanetexE际 Block Parameters: IB CH Decoder邸1C:=ltlc elHelp蛔1邸C:=LXLcelHelp蛔ly际 Block Parameters: Error Rate Calculation邸1C:=ltli: elHelpApplyEeset pc-xtBlock Parameters: Error Rate Calculation!Ettdt Rate CalDulation zsask (linkCo-ZDpute the- sttdi rate of the received data by coziparin

18、 it tc a delayed vexeion of the txanszDitted data. The- block output is a three_elezient vectox conEiEtin the- error xatSj follced by the- nuzibar of sttote detected and the- total nimter EFHshls CQ3pared. This vector can be sent to either the wDxkspaoe ox an -s-utput D-qt t.The delays are Epecified

19、 in nunbex of sanplesj rea:rdleEE of Khethex the input a Ecalar dt a vector. The inputE to the J TzJ andRz i?srtE ziust be sanplebased soalars st frarietaEed ecLuzm vectoxs.The- Step Eizsulation opt ion stops the Eizaulation up-o-n detecting a t ar get nuzDber of e-TTOTe or a ziaziznuzn nlotez of ET

20、Hsholsj whichever D-ozDeE fizst.i Par a3E t er eStop siziulatic-nTarget rLuzaber of errore :MaziziLO nuzaber of syzibDls:len邸1C:=ltli: elHelpApply6. 结果分析通过理论与编程实践,我完成了这次设计的任务,其运行结果如图所 示:File Edit View Insert Tools Desktop Window Help 渗口昌宾 B h I =回蕴(n k. t)曲线颜色仿真所用时 间仿真次数译码复杂度正影响大小(15.5.3)红色11min1000

21、0小(15.7.2)绿色5min10000大实验结果分析1. 误比特率随着信噪比的增加在逐渐下降。2. 通过BCH编码以后的误比特率比未经过BCH编码的误比特率在相 同的信噪比参数下,其误比特率有明显的下降,编码性能得到改 善。3. 随着信噪比的增加误比特率在逐渐下降,当增大到一定值的时候, 误比特率趋向于零。4. 理论上在信噪比比较小的情况下,编码后的误码性能没有未编码 的无码性能好,也就是在信噪比比较低的情况下,未编码和经过编 码后的误比特率曲线会有交点。5. (15.7)的误比特率低于(15.5),说明(15.7)的编码性能好。7. 设计总结:这次通过对BCH编码解码课设,学会了 BCH码的原理。而且通过 此次实验更是加深了 MATLAB在通信领域的应用,及通过matlab对信 号仿真的重要性,并且提高自己的动手能力和编程能力。在此过程中,感谢老师的指导和同学们的帮助,使我能够顺利完成实验。8. 参考文献:1 樊昌信,曹丽娜.通信原理.国防工业出版社,20102 徐明远,邵玉斌.MATLAB仿真在通信系统与电子工程中的应用.西安电子科技出版社,2009

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号