信道编码第二次试验实验报告.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信道编码第二次试验实验报告

信道编码第二次试验实验报告一、实验目的1、实现F2(x)多项式的加法、乘法以及除法运算;求多项式的周期;2、编写同余类域的生成、加法计算、乘法运算、除法运算、幂运算、元素求阶以及求解极小多项式的程序;二、实验原理1、多项式运算:加、乘多项式相加:同次项系数按照二元域中的加法相加;多项式相乘:按普通多项式的乘法相乘,计算系数按二元域上的加法和乘法运算。2、多项式的除法:给定任意两个多项式f(x)、g(x),一定存在唯一的多项式q(x)和r(x),使:f(x)=q(x)g(x)+r(x) ?(r(x))≤?(g(x)) r(x)称为f(x)模g(x)的余式3、多项式的周期:定义:设f(x)为二元域上次数不为0的多项式,且f(0)≠0,则f(x)|(xn+1)的最小正整数n称为多项式f(x)的周期,(n=?(f(x)))实现方法:方法一:长除法求多项式周期用多项式f(x)按升幂排列去除1,当所得余式是单项xn时,f(x)的周期即为n。方法二:利用欧拉-费尔马定理4、GF(2)的扩域GF(2^n)扩域GF(2^n):设p(x)为GF(2)上的n次既约多项式,模p(x)的所有2^n个余式在模p(x)加法和乘法下构成2^n元域,称为GF(2)的扩域(也称为模p(x)的剩余类域),记为GF(2^n)。 5、幂运算:元素累乘6、元素求阶:具有性质a^n=e的最小正整数n称为a的阶7、求解元素的极小多项式:最小多项式:以扩域GF(2m)上的非零元素β为根的最低次多项式称为β的最小多项式,记为M (x)求解方法:待定系数法三、实验结果我在我的函数中规定:代表多项式的向量,从左到右为多项式高次到低次1、多项式的加、乘运算:在进行多项式的加法、乘法运算的编程时,思路来自于老蒋蒋凌云。加法:二元域上的多项式加法遵从模2加的运算规则。在编程时,输入的两个向量必须维度一致,MATLAB才能对其进行处理和运算。因此,先将输入的两个多项式向量维度设定一致,再运用mod函数求出最终结果。function [ zc ] = zsadd( x,y )lx=length(x);ly=length(y);lm=max(lx,ly);x=[zeros(1,lm-lx),x];y=[zeros(1,lm-ly),y];zc=mod(x+y,2);end乘法:乘法运算也存在着与加法运算相同的问题,即向量维度要保持一致。在进行本次试验编程之前,我曾经向教员询问过实验该如何做。教员就拿乘法当做例子为我进行了讲解。我选择了教员提供的方法中较为简单的一种,即对输入向量进行卷积运算,再对其卷积结果进行mod 2运算,得到最终结果。lx=length(x);ly=length(y);lm=max(lx,ly);x=[zeros(1,lm-lx),x];y=[zeros(1,lm-ly),y];zc=conv(x,y);zc=mod(zc,2);但在运用上面的思想编出了乘法函数之后,在实验第二项同余类域的运算中,结果出现了一些问题,仍与向量的维度有关,我不得不考虑,若是输入向量次数低于向量维度即类似【 0 0 1 1 0 1】的这种情况,我后面所进行的编程要求将其前几位的0消去,得到的最终结果也要求最高次为1。于是我添加了a=find(x==1,1,first);b=length(x);x=x(a:b);a1=find(y==1,1,first);b1=length(y);y=y(a1:b1);来消去0.2、多项式的除法:我认为多项式的除法运算是本次试验的最难也是最重要的一项函数,在进行后面编程时除法出现问题又对其重新进行修改,我一共修改了五次。我的编程思想是:选择那些原理并不高深、出现问题我能及时理解情况的方法。因此我选择了两个具体的多项式进行手动计算,将运算一步一步地实现,最终连贯到一起,就得出了除法函数。一开始,我以两个输入向量的次数为标准进行判断,这种方法同样遇到了维度的问题,在进行了第一次修改之后成功了,但在进行周期函数的编程时,出现了问题,即被除数次数小于除数次数的情况,我添加了判断次数大小的语句,分成两种情况来进行判断,但在进行判断输入多项式是否为既约多项式的编程中,又出现了除数次数与被除数次数相同的情况,我在原本的除法程序上添加了第二种判断语句,这样就将除法运算分成了三种情况,但此次修改中除法函数无法再正常地进行运算,各个判断条件无法兼容,后来我听取了老蒋的建议,将除数与被除数进行二进制到十进制转化,以十进制的大小为判断标准,重新编了除法,这样就只分成了两种情况,即大于等于和小于,大于等于进行正常运算,被除数小于除数就输出商为0,余数为被除数。后来又进行了一次适应后续函数的修改,终于将除法函数定型。function [ zc,r ] = zcchu2(

文档评论(0)

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

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

1亿VIP精品文档

相关文档