版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、三级项目报告课程名称:信息论与编码课程设计题目:循环码的编码和译码程序设计合作者完成时间:2012年5月18日至5月21日成绩:评阅人:摘要循环码是线性分组码中一个重要的子类,具有检错纠错能力强,实现方便等特点。它具有严密的代数学理论,封闭性与循环性。(n,k)循环码表示信息位为k位,监督位为(n-k)位。本次设计实验首先分析了(7,4)循环码的编码与译码原理,然后,用C语言实现其编码与译码功能。通过C语言平台运行所编写的程序,观察了在输入信息码情况下输出对应的编码结果以及相反的译码功能。通过多组的对比验证了该(7,4)循环码的编译码程序的正确性。最后,在程序运行的过程中进一步分析循环码的编译
2、码原理,并通过比较仿真模型与理论计算的性能,证明了仿真模型的可行性。关键词:循环码,编码与译码,C程序。循环码的原理与特点循环码是线性分组码的一种,所以它具有线性分组码的一般特性,此外还具有循环性。循环码的编码和解码设备都不太复杂,且检(纠)错能力强。它不但可以检测随机的错误,还可以检错突发的错误。(Qk)循环码可以检测长为n-k或更短的任何突发错误,包括首尾相接突发错误。循环码是一种无权码,循环码编排的特点是相邻两个数码之间符合卡诺图中的邻接条件,即相邻两个数码之间只有一位码元不同,码元就是组成数码的单元。符合这个特点的有多种方案,但循环码只能是表中的那种。循环码的优点是没有瞬时错误,因为在
3、数码变换过程中,在速度上会有快有慢,中间经过其它一些数码形式,称它们为瞬时错误。这在某些数字系统中是不允许的,为此希望相邻两个数码之间仅有一位码元不同,即满足邻接条件,这样就不会产生瞬时错误。循环码就是这样一种编码,它可以在卡诺图中依次循环得到。循环码又称格雷码(GreyCode)。循环码最大的特点就是码字的循环特性,所谓循环特性是指:循环码中任一许用码组经过循环移位后,所得到的码组仍然是许用码组。若(。皆1AM.2呦如)为一循环码组,则(理弋亚Y知叫7)、(叫色”)还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。循环码编码原理(1)k-1;n_k(2)m(x
4、),得到的X过程相当于把信息吗(nik4,k d二有信息码构成信息多项式m (x) =mk4x+ + m。其中高幕次为用x乘以信息多项式m(x)最图幕次为n-1,该m2, ,m,m。)移位到了码字德前k个信息位,其后是r个全为零的监督位;(3)用g(x)除Xm(x)得到余式r(x),其次数必小于g(x)的次数,即小神于(n.k),将此r(x)加于信息位后做监督位,即将r(x)TXm(x)相加,得到的多项式必为一码多项式。根据上面的讨论,可得到在(7,4)循环码编码的程序框图如图1所下图/初始化'图2编码程序框图循环码的译码原理纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比
5、编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。通常,将接收到的循环码组进行除法运算,如果除尽,贝U说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。
6、CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODE传输文件的协议如ZMODEMXMODE协议中均用至(J了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。在SystemView中没有提供专用的CRC循环冗余校验码编码器,读者可根据有关参考书设计一个相应的仿真电路。如果不想亲自动手设计,可以在CDMAB(IS95)中找到一个现成的专用的CRC编码器和译码器。该图符(FrameQ)是的接入信道的数据帧品质指示编码器,其中使用了多种不同比特率的数据模型,通过CRC校验来判断接入信道的质量好坏。其中规定每一帧的长度为20ms的数据。一个典型IS-95-A标准规
7、定的9600信道的CRC测试码的长度为192比特,其中信息位172位、校验位12比特、尾部全零8比特。感兴趣的读者可以加入一个速率为860bps(192bit/0.2ms=860)的PN数据,然后观察经过CRC编码后的波形。并可用对应的译码器译码观察输出波形是否与输入的PN码一致。当码字c通过噪声信道传送时,会受到干扰而产生错误。如果信道产生的错误图样是e,译码器收到的n重接受矢量是y,则表示为:y=c+e(13)上式也可以写成多项式形式:y(x)=c(x)+e(x)(14)译码器的任务就是从y(x)中得到e(x),然后求的估值码字AAc(x)=y(x)+e(x)(15)A并从中得到信息组m(
8、x)。循环码译码可按以下三个步骤进行:有接收到的y(x)计算伴随式s(x);根据伴随式S(x)找出对应的估值错误图样e(x);计算c(x)=y(x)+e(x),得到估计码字c(x)。若c(x)=c(x)则译码正确,否则,若C(x)=c(x),则译码错误。由于g(x)的次数为n-k次,g(x)除E(x)后得余式(即伴随式)的最高次数为n-k-1次,故S(x)共有2田个可能的表达式,每一个表达式对应一个错误格式。可以知道(7,4)循环码的S(x)共有2(7-G=8个可能的表达式,可根据错误图样表来纠正(7,4)循环码中的一位错误,其伴随式如表1所示。BCH(7,4)循环码错误图样表:错误图样错误图
9、样码字伴随式S(x)伴随式E6(x)=x61000000x2100E5(x)=x50100000x2+x110E4(x)=x40010000x2+x+1111E3(x)=x30001000x+1011E2(x)=x20000100x2+1101E1(x)=x10000010X010EO(x)=xO00000011001E(x)=O00000000000表1BCH(7,4)循环码错误图样表上式指出了系统循环码的译码方法:将收到的码字R(x)用g(x)去除,如果除尽则无错;否则有错。如果有错,可由余式S(x)找出对应图样,然后将错误图样E(x)与R(x)模2和,即为所求码字C(x),从而实现纠错目
10、的。根据前面的讨论,可得(7,4)循环码译码的程序框图如图2所示山S(x)确定错误图悍E(x)纠错C(x)=E(x)+R(x)存储C(x)图2译码程序框图基于C语言程序编写就74循环码的编码与译码程序如附录所示:运行及分析运行结果理论分析由循环码性质我们可以知道,对于(7,4)循环码来说,最小码距&=4,可以检测出3位错误,纠正1位错误,编码效率为47X100%=57.1%o设传输信道的误码率为P,据此设定信道模型存在如下关系:传输正确概率为(1-PL,信息帧传输错误概率为Pe=1-(1-p),每帧仅发生1位错误的概率为Pe=CriP(1-p)向=np(1-p)I则1位错误帧在总的错误
11、帧中的概率为R=(更)100%四一曲100%Pe1-(1-P)r表2为其PeR,R的模拟结果pPe艮1R/%10-10.5217030.37200971.3010-20.06793470.065903697.0110-30.006979030.006958199.7010-40.000699790.0006995899.9710-50.0000699790.0006995899.97表2PeR,R的模拟结果(仁7)综合表2的模拟结果和理论分析可知,通信系统的帧传输具有下列性质:(1) 在r一定的条件下,信息帧错误概率随着比特误码率P的增加而增加,最坏条件下帧错误概率几乎为100%此时系统失去通
12、信能力。(2) 在典型的通信环境下(p为10-310-55,帧长r=1281024,rp<1),当p-0时,RJ,表明当比特误码率p足够小的情况下,绝大多数信息帧错误是每帧1位错误,因此纠正每帧1位错误有实际应用价值。程序运行结果1初始化界面This soffunctlAniscarrieronthecodeaodthedecoding!te(7A4>c其input #c* toonthecodeinput*d*tocarryonthedecodingcode*©*toexitpleaseto2.正确编码界面hissoftwarenainFunctiohiscAirrif
13、tsonthecodeandthedecodingto<r勺cAc,1ccode- input*c*tocftj*vonthecade一input*dJt«carryonthedecodingcode- input*e*toexitpleAAeto- r»armrwbb>arw«!1»'tnwmcPlenseInputthtInfornAtioncode>0101ThelnfoirnAcioncadeoutputis:9101110t 11 u u u ppp n n n1c1tocarryonthecodeJdJtocarry
14、onthedecodingcode一*eJtoexitple«&eto3.正确译码界面inputtheinfoirnationcodeofhit?:S<X>-800TJiedecndlnAbit4is:0101TheDecodingbit?is:01S1110input*c1tocarryonthecode一input1d*tocarryonthedecodingcodeinput*a*taAMitpleasetointinttheinfDFRAtioncadeofbit7:11011IQS<K>M110Thedecadingbit4is:0i01Th
15、eDecodingbit?is:01B1110inputfg1tocftrrvonthecodeinputtacarfAanfbedscodingcodfeinput*b*toexitpleaseto4信息位有一位错误时的译码界面inputtlwinfornat;ionendsafbit7:S10111B3土网00hedecodingbit4is:fl1Q1heDecodingbit?if:9101119input*c*tocnthecodeinput<Ttocarrvonthedecatlinsfcodeinput*e*toexitpleasetoini>uttJKInfornd
16、tioncadeofbit7i/1(1111;<K>,f110Jiedecodingbit4is:010lieDecodingbit?is:0101110input*K*tocarryonthecodeinput”Qcarryonthedacodingcodeinput*C*toetcltpleAseCo5信息位有二位错误时的译码界面ThisrtAihfunction(盅c机护护i亡布onthecode氨ndt屁dlccvdinAtov?,4>cj/t1iccode.injHit*cJtoearrjronthecodeinput*d*tacArr$Fonth«dAc
17、odCOHBiftpat*eJtoexitpl«AAetoinputth«inf»lotioncodeofbit?:011011BA<x>-OleJibedacodinghit<isi01197heDecodingbit7is:0110100input*C*tocarrsfonthecodeinput*d*toCArrontliedecadingcodsinput1e*toexitpleaseta图76信息位有三位错误时的译码界面ThissoftwaremainFunttidniscarriesarttliecedeAndtlwdecodingt
18、o(7,4>eyeliecoderind51itlln(a(hinpulIocarryIhedccodmcodeinputtoexitto_code decoding code toinput*e*tocarryontheinputtocarryontheinputtoexitpleaseIMinp八xttjwinfcFRatiQnGudeofbit7tl(11111fls<«>-a10Thedecodingbdt4ds*1VV11TheDccodinvhit?is:1011100RS码在现代通信系统中的应用几乎所有的现代化通信系统都把纠错编码作为一个基本组成部分,
19、RS码由于具有强有力的纠错功能,已经被NASA、ESA、CCSDS等空间组织接受,用于空间信道纠错。RS循环码在车载无线通信、M元扩频通信系统中的应用以及QAM系统等方面都有很广泛的应用,可以说它已经成为无线通信系统中不可或缺的一部分。实验过程遇到的问题及解决方法本次实验让我感觉非常棘手,一方面的原因是自己对信道编码的不熟悉,之前做的实验都是对信源进行编码,现在是对信道进行编码;另一方面是书本对于此部分的介绍内容相对较少,要自己在网上找资料学习,网上知识点太泛滥而且很多都是太学术化,不容易理解,因此要自己编程那是难上加难。此次实验的C程序我也是参考网上其中的一份并在其基础上根据自己的需要加上了
20、自己的部分代码,网上对于这方面的资源真的蛮少,也许是自己找的还不够彻底吧,总的来说,这次实验收获不多,对于这方面还没掌握,我会继续努力。参考文献1潘新民主编.计算机通信技术(第2版).北京.电子工业出版社.20062孙丽华谢仲华陈荣伶编信息论与纠错编码,北京.电子工业出版社.20053樊昌信著.通信原理M.国防工业出版社.1999.104宋祖顺著。现代通信原理M.电子工业出版社.2001.25黄新亚米央编著信息编码技术及其应运大全M电子工业出版社1994.8附录/*(7,4)循环码的编译及纠检错实现*/#include<stdio.h>#include<math.h>#
21、include<stdlib.h>/*函数声明*/voidBegin();voidCode();voidDecoding();/*主函数/main()(printf(nnThissoftwaremainfunctioniscarriesonthecodeandthedecodingto(7,3)cycliccodeAn");Begin();/*进行编码*/voidCode()(intlnput4;intOutput7;intreg3=0,0,0;intprintf(nPleaseinputtheinformationcodefor(i=0;i<4;i+)scanf(
22、H%d",&lnputi);/*输入4位信息码*/for(i=0;i<4;i+)/*进行除法操作*/temp=reg2+lnputi;/*生成多项式为g(x)=xA3+xA2+17if(temp=2)temp=0;reg2=reg1+temp;if(reg2=2)reg2=0;reg1=reg0;regO=temp;for(i=0;i<4;i+)Outputi=lnputi;/*进行编码操作*/for(i=4;i<7;i+)(temp=reg2;for(j=2;j>0;j-)regj=regj-1;regO=O;Outputi=temp;)printf
23、("”);printf("nn);printf("Theinformationcodeoutputis:nH);for(i=0;i<7;i+)printf("%d”,Output);/*输出编码结果*/printf(MnH);printf("”);printf("n");Begin();)/译码并进行纠检错*/voidDecoding()intlnput7,Output7;intreg3=0,0,0);inttemp,i,d,x5p;printf(nninputtheinformationcodeofbit7:H);f
24、or(i=0;i<7;i+)进入除法电路/计算scanf("%dH,&lnputi);/*for(i=0;i<7;i+)/*temp=reg2;输入接受码组*/伴随式S(x)*/reg2=reg1+temp;if(reg2=2)reg2=0;reg1=reg0;regO=temp+lnputi;if(reg0=2)reg0=0;p=reg2+2*reg1+4*reg0;if(p!=1&&p!=2&&p!=3&&p!=7&&p!=8&&p!=13&&p!=14&&p!=0)/输入错误位数大于2位*/printf("VTheerror>=2VnH);getchar();exit(O);)printf(MnH);printf(',s(x)=n);for(i=2;i>=0;i-)printf("%dH,regi);printf(”n");for(i=0;i<7;i+)/*纠正一位错误*/d=reg2*reg1*(!reg0);Outputi=d+lnputi;if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 齐齐哈尔市梅里斯达斡尔族区2025年数学三年级下学期期末达标测试试题(含答案)
- 黔南布依族苗族自治州惠水县2025-2026学年数学四年级第二学期期末联考模拟试题含解析
- 《可怕的科学》触电惊魂 阅读检测测试卷及答案
- 2025广东江门台山大湾控股发展集团有限公司工作人员聘用笔试历年备考题库附带答案详解
- 2025广东广州花都城投铁工建设工程有限公司招聘项目用工人员笔试人选及安排笔试历年典型考点题库附带答案详解
- 2025年滨州市交通投资发展集团有限公司权属公司公开招聘工作人员(10人)笔试历年典型考点题库附带答案详解
- 2025年淮南寿县联合村镇银行春季招聘笔试历年典型考题及考点剖析附带答案详解
- 2025年河北石家庄辛集市农业投资有限公司笔试历年难易错考点试卷带答案解析
- 英语国测测试卷及答案
- 2026电影欣赏考试题目及答案
- 2026年梅州市梅江区五年级数学第二学期期末学业水平测试试题含答案含解析
- 2026年单招园林技术试题及答案
- 四川绵阳市2026年从‘五方面人员’中选拔乡镇领导班子成员考试试题及答案
- 2026贵州航天医院助理全科医生(西医)培训招录25人备考题库及答案详解(基础+提升)
- 码头防汛防台工作制度
- 高空作业车安全检查表、维护保养表
- 门诊手术室全套工作制度
- 部编版语文四年级上学期《期中检测卷》含答案
- 2026年九州职业技术学院单招职业适应性测试题库有答案详细解析
- 受限空间监护人培训课件
- 布老虎介绍教学课件
评论
0/150
提交评论