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

  • 5
  • 0
  • 约7.29千字
  • 约 13页
  • 2019-03-16 发布于湖北
  • 举报
信道编码第二次试验实验报告 一、实验目的 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)

1亿VIP精品文档

相关文档