




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#bk—1,n—k—1bk—2,n—k—1b0,n—k—1100_H=b・b・b0•.10⑹tk—1,1brk—2,1b…,八,1b0••s•0■1-k—1,0k—2,00,0-已知(7,4)循环码的生成多项式和校验多项式分别为:g(x)=x3+x+1,h(x)=X4+x2+x+1。写得其生成矩阵和校验矩阵分别为:…(7)(8)循环码的编译码过程如下:编码过程第一步:将信息码字表示为m(x),其最高次幕为k-1;第二步:将xn-km(x)与g(x)求模得出相应的余式r(x);第三步:编码结果为c(x)=xn-km(x)+r(x)。译码过程第一步:由接收码字R(x)与监督矩阵相乘得出错误图样S;第二步:判断S是否为零。若不为零,则出错。在假定至多只有一位错的情况下,可以有效地译了相应的信息码字。第三步:在出错的情况下,将S与标准监督矩阵对比,得出错误的比特位并进行更正得出前四位为信息码字。4、仿真结果1)编译码程序说明编译码程序由三个子函数及界面函数组成。三个子函数分别完成编码、译码及字符提取的工作,以下为三个函数的源码:%%%%%%%%cyle_code.mfunction[msg_en]=cycle_code(m,msg)%循环码编码函数%输入参数%m:监督位的位数;%msg:信息码字%输出参数%msg_en:编码结果%inputparameters%码长与信息码字n=2"m-l;k=n-m;%产生生成矩阵parmat和校验矩阵genmatpol=cyclpoly(n,k);[parmat,genmat,k]=cyclgen(7,pol);%调整生成矩阵与监督矩阵gen_temp=eye(k);par_temp=eye(m);parmat=[par_tempgenmat(:,1:m)'];genmat=[gen_tempgenmat(:,1:m)];%产生编码后的码字空间Cmsg_en=rem(msg*genmat,2);%%%%%%%%cyle_decode.m%循环码译码函数functioncode=cycle_decode(m,msg)%循环码译码函数%输入参数%m:监督位的位数;%msg:信息码字%输出参数%code:译码结果%码长与信息码字n=2"m-l;k=n-m;%产生生成矩阵parmat和校验矩阵genmatpol=cyclpoly(n,k);[parmat,genmat,k]=cyclgen(7,pol);%调整生成矩阵与监督矩阵gen_temp=eye(k);par_temp=eye(m);parmat=[par_tempgenmat(:,1:m)'];genmat=[gen_tempgenmat(:,1:m)];%计算伴随式S=rem(msg*parmat',2)';count=0;%比较译码if(sum(S)~=0)for(ii=1:1:n)for(jj=1:1:m)if(S(jj)==parmat(jj,ii))count=count+1;end;end;if(count==3)mis=ii;elsecount=0;end;end;elsemis=0;end;if(mis)msg(mis)=rem(msg(mis)+1,2);end;%译码结果code=msg(1:k);%%%%%%%%extracts_bits.mfunctionmsg=extract_bits(inf_msg)%比特提取函数%输入参数%inf_msg:信息码字%输出参数%msg:提取结果warningofflen=length(inf_msg);msg=zeros(1,len);forii=1:lenmsg(1,ii)=str2num(inf_msg(ii));%将字符转换成数字end;%msg%%%%%%%cycle.mfunctionvarargout=cycle(varargin)%CYCLEMATLABcodeforcycle.fig%CYCLE,byitself,createsanewCYCLEorraisestheexisting%singleton*.%%H=CYCLEreturnsthehandletoanewCYCLEorthehandleto%theexistingsingleton*.%%CYCLE('CALLBACK',hObject,eventData,handles,...)callsthelocal%functionnamedCALLBACKinCYCLE.Mwiththegiveninputarguments.%%CYCLE('Property','Value',...)createsanewCYCLEorraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepairsare%appliedtotheGUIbeforecycle_OpeningFcngetscalled.An%unrecognizedpropertynameorinvalidvaluemakespropertyapplication%stop.Allinputsarepassedtocycle_OpeningFcnviavarargin.%%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone%instancetorun(singleton)".%%Seealso:GUIDE,GUIDATA,GUIHANDLES%Edittheabovetexttomodifytheresponsetohelpcycle%LastModifiedbyGUIDEv2.530-Nov-201321:58:46%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@cycle_OpeningFcn,...'gui_OutputFcn',@cycle_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDIT%Executesjustbeforecycleismadevisible.functioncycle_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstocycle(seeVARARGIN)handles.output_code=hObject;handles.m=3;handles.n=2“(handles.m)-l;handles.k=handles.n-handles.m;handles.input_msg=[0000];handles.output_msg=[0000];handles.output_encode=[0000000];handles.output_decode=[0000000];put_decode=[0000000];handles.flag=0;guidata(hObject,handles);%Choosedefaultcommandlineoutputforcyclehandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakescyclewaitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);%Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=cycle_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%Executesonbuttonpressinencode.functionencode_Callback(hObject,eventdata,handles)%hObjecthandletoencode(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handles.code=extract_bits(handles.codes);%guidata(hObject,handles);handles.encode=cycle_code(handles.m,handles.code)handles.flag=0;str=num2str(handles.encode);set(handles.outcode,'string',str);guidata(hObject,handles);%Executesonbuttonpressindecode.functiondecode_Callback(hObject,eventdata,handles)%hObjecthandletodecode(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handles.input_decode=extract_bits(handles.codes);guidata(hObject,handles);handles.decode=cycle_decode(handles.m,handles.input_decode);handles.flag=1;str=num2str(handles.decode);set(handles.outcode,'string',str);guidata(hObject,handles);functioninputcode_Callback(hObject,eventdata,handles)%hObjecthandletoinputcode(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)handles.codes=get(hObject,'String');guidata(hObject,handles);%Hints:get(hObject,'String')returnscontentsofinputcodeastext%str2double(get(hObject,'String'))returnscontentsofinputcodeasadouble%Executesduringobjectcreation,aftersettingallproperties.functioninputcode_CreateFcn(hObject,eventdata,handles)%hObjecthandletoinputcode(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hOb
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人学习经验总结
- 企业代培训合同范本
- 公司外包车合同范本
- 主播学徒合同范本
- 南昌全款购车合同范本
- 化妆师题库(含参考答案)
- 七年级第二学期体育教学计划
- 七年级国旗下保护环境讲话稿
- 医院骨科采购合同范本
- 区别真假租房合同范本
- DB34T∕ 2452-2015 旅行社小包团服务指南
- 队列研究评估预后标志物的外部验证
- 2024全国各地区英语中考真题汇编《第一期》
- 电梯应急救援与事故处理考核试卷
- 第1章 跨境电商概述
- 2024-2030年中国长管拖车行业市场发展趋势与前景展望战略分析报告
- 《高等教育学》近年考试真题题库(含答案)
- 2024福建省厦门市总工会拟录用人员笔试历年典型考题及考点剖析附答案带详解
- 供热管道施工组织设计
- 浙江省中小学心理健康教育教师上岗资格证书管理办法(修订)
- 2024年青岛港湾职业技术学院单招职业适应性测试题库审定版
评论
0/150
提交评论