精华内容
下载资源
问答
  • CRC 生成多项式

    万次阅读 2016-08-01 11:33:50
    在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送...

    是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。

    在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。

    应满足以下条件:

    a、生成多项式的最高位和最低位必须为1。

    b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。

    c、不同位发生错误时,应该使余数不同。

    d、对余数继续做模2除,应使余数循环。

    将这些要求反映为数学关系是比较复杂的。但可以从有关资料查到常用的对应于不同码制的生成多项式如图9所示:

    N

    K

    码距d

    G(x)多项式

    G(x)

    7

    4

    3

    x3+x+1

    1011

    7

    4

    3

    x3+x2+1

    1101

    7

    3

    4

    x4+x3+x2+1

    11101

    7

    3

    4

    x4+x2+x+1

    10111

    15

    11

    3

    x4+x+1

    10011

    15

    7

    5

    x8+x7+x6+x4+1

    111010001

    31

    26

    3

    x5+x2+1

    100101

    31

    21

    5

    x10+x9+x8+x6+x5+x3+1

    11101101001

    63

    57

    3

    x6+x+1

    1000011

    63

    51

    5

    x12+x10+x5+x4+x2+1

    1010000110101

    1041

    1024

     

    x16+x15+x2+1

    11000000000000101

    图9 常用的生成多项式

    例如第一项可以写成:x3+x2+x+1  有幂次就为1 没有幂次就为0 首尾一定要是1   所以  1 0 1 1

     

    一道计算题:

    已知信息位为1100,生成多项式G(x) = x3+x+1,求CRC码。
    M(x) = 1100 M(x)*x3 = 1100000 G(x) = 1011
    M(x)*x3 / G(x) = 1110 + 010 /1011 R(x) = 010
    CRC码为: M(x)*x 3+R(x)=1100000+010 =1100010
    其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:
    (1)将待编码的k位信息表示成多项式 M(x)。
    (2)将 M(x)左移 r 位,得到 M(x)*xr 。
    (3)用r+1位的生成多项式G(x)去除M(x)*xr 得到余数R(x)。
    (4)将M(x)*xr 与R(x)作模2加,得到CRC码。


    原文地址:http://blog.sina.com.cn/s/blog_64c236b10100of4a.html


    展开全文
  • 使用matlab实现BCH码生成多项式和最小多项式的malab生成代码
  • 针对线性反馈移位寄存器(LFSR)序列生成多项式的估计问题,提出了一种基于LFSR序列有限域傅里叶变换(GFFT)的估计方法。首先证明了LFSR序列GFFT的非零点与LFSR序列生成多项式的零点之间的对应关系,进而利用该性质...
  • CRC 算法生成多项式

    万次阅读 2019-09-19 14:00:43
    标准的CRC算法的生成多项式: 标准 生成多项式 16进制表示 CRC12 x^12 + x^11 + x^3 + x^2 + x + 1 0x80F CRC16 x^16 + x^15 + x...

    标准的 CRC 算法的生成多项式:

    标准

    生成多项式

    16 进制表示

    CRC12

    x^12 + x^11 + x^3 + x^2 + x + 1

    0x80F

    CRC16

    x^16 + x^15 + x^2 + 1

    0x8005

    CRC16-CCITT

    x^16 + x^12 + x^5 + 1

    0x1021

    CRC32

    x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11+ x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x + 1

    0x04C11DB7

     

    展开全文
  • 标准多项式不用于使其更灵活。 用户提供数据流和生成多项式
  • 里德所罗门编码,RS生成和生成多项式以及编码和综合症的一切-matlab开发
  • CRC 生成多项式

    千次阅读 2014-03-31 19:12:54
    在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。 应满足以下条件: a、生成多项式的最高位和最低位必须为1。 b、当被传送信息...

    是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。

    在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。

    应满足以下条件:

    a、生成多项式的最高位和最低位必须为1。

    b、当被传送信息(CRC码)任何一位发生错误时,被生成多项式做模2除后应该使余数不为0。

    c、不同位发生错误时,应该使余数不同。

    d、对余数继续做模2除,应使余数循环。

    将这些要求反映为数学关系是比较复杂的。但可以从有关资料查到常用的对应于不同码制的生成多项式如图9所示:

    N

    K

    码距d

    G(x)多项式

    G(x)

    7

    4

    3

    x3+x+1

    1011

    7

    4

    3

    x3+x2+1

    1101

    7

    3

    4

    x4+x3+x2+1

    11101

    7

    3

    4

    x4+x2+x+1

    10111

    15

    11

    3

    x4+x+1

    10011

    15

    7

    5

    x8+x7+x6+x4+1

    111010001

    31

    26

    3

    x5+x2+1

    100101

    31

    21

    5

    x10+x9+x8+x6+x5+x3+1

    11101101001

    63

    57

    3

    x6+x+1

    1000011

    63

    51

    5

    x12+x10+x5+x4+x2+1

    1010000110101

    1041

    1024

     

    x16+x15+x2+1

    11000000000000101

    图9 常用的生成多项式

    例如第一项可以写成:x3+x2+x+1  有幂次就为1 没有幂次就为0 首尾一定要是1   所以  1 0 1 1

     

    一道计算题:

    已知信息位为1100,生成多项式G(x) = x3+x+1,求CRC码。
    M(x) = 1100 M(x)*x3 = 1100000 G(x) = 1011
    M(x)*x3 / G(x) = 1110 + 010 /1011 R(x) = 010
    CRC码为: M(x)*x 3+R(x)=1100000+010 =1100010
    其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:
    (1)将待编码的k位信息表示成多项式 M(x)。
    (2)将 M(x)左移 r 位,得到 M(x)*xr 。
    (3)用r+1位的生成多项式G(x)去除M(x)*xr 得到余数R(x)。
    (4)将M(x)*xr 与R(x)作模2加,得到CRC码。

    展开全文
  • 伽罗瓦域(256) 生成指定纠错码字的生成多项式 (js)

    效果

    在这里插入图片描述

    使用

    复制code 保存为html

    涉及内容

    1、有限域、伽罗瓦域(256)
    2、对数反对数
    3、XOR 异或

    两个因式各项相乘,当系数项相乘时,指数相加并mod(255)
    合并同类项时,相同项的系数合并为 XOR操作;

    伽罗瓦域依旧有些犯懵,,,,,,,,,,,,,,,,,,,,,,,,,,

    代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>生成表达式</title>
    </head>
    <body>
    <input type="text" id="num">
    <div id="powstr"></div>
    <div id="result"></div>
    <script>
    
      //GF(256) 对数反对数表(借用qrCode.js)
      let QRMath = {
        glog: function (n) {
          if (n < 1) {
            throw new Error("glog(" + n + ")");
          }
          return QRMath.LOG_TABLE[n];
        },
        gexp: function (n) {
          while (n < 0) {
            n += 255;
          }
          while (n >= 256) {
            n -= 255;
          }
          return QRMath.EXP_TABLE[n];
        },
        EXP_TABLE: new Array(256),//α 表达式  对数
        LOG_TABLE: new Array(256)//真数
      };
      for (let i = 0; i < 8; i++) {
        QRMath.EXP_TABLE[i] = 1 << i;// 1 2 4 8  16 32 64 128
      }
      for (let i = 8; i < 256; i++) {
        QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];
        //8:  16 ^ 8 ^ 4 ^ 1  29
        //9: 32 ^ 16 ^ 8 ^ 2  58
      }
      for (let i = 0; i < 255; i++) {
        QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;
      }
    
    
      /**
       * 生成多项式 (α^0x-α^0)(α^0x-α^1) => α^0x^2+α^25x^1+α^1x^0  这里的^ 表示指数
       *
       * 常数项指代 alpha 表达式(这个应该叫对数吧,整懵了)
       *
       * @param n 生成多项式最高阶  也就是纠错的码字数
       */
      function polynomial(n) {
        let resultPolynomial;// 表达式结果
        let curr;
        let inputStr = '';
        for (let i = 0; i < n; i++) {
          //自定义表达式表示方式   key 表示x的阶数, value 表示x对应系数的反对数表达式的阶数即 α的指数
          curr = {1: 0, 0: i};
    
          //原乘法表达式字符串
          inputStr +=`(α<sup>${curr[1]}</sup>x<sup></sup>-α<sup>${curr[0]}</sup>)`;
          resultPolynomial = i == 0 ? curr : mergePolynomial(resultPolynomial, curr);
        }
        //多项式结果字符串
        let result = Object.keys(resultPolynomial).sort((a, b) => b - a).map(d => {
          return `α<sup>${resultPolynomial[d]}</sup>x<sup>${d}</sup>`
        }).join('+');
    
        el_powstr.innerHTML = inputStr;
        el_result.innerHTML = result;
      }
    
      //合并两个多项式
      function mergePolynomial(left, right) {
        let leftKeys = Object.keys(left).map(d => +d),
          rightKeys = Object.keys(right).map(d => +d),
          leftLen = leftKeys.length,
          rightLen = rightKeys.length,
          resultObj = {},
          kSum;// 表示各阶x 的常数项和
        for (let i = 0; i < leftLen; i++) {
          for (let j = 0; j < rightLen; j++) {
            kSum = leftKeys[i] + rightKeys[j];
            //判断是否需要合并同类项
            if (resultObj[kSum] != null) {
              //合并同类项需要对常数项进行XOR ; 常数项相乘只相加常数项指数并模255,不过QRMath 中做了取模处理,这里不再处理
              resultObj[kSum] = QRMath.glog(QRMath.gexp(resultObj[kSum]) ^ QRMath.gexp(left[leftKeys[i]] + right[rightKeys[j]]))%255;
            } else {
              resultObj[kSum] = (left[leftKeys[i]] + right[rightKeys[j]])%255
            }
          }
        }
        return resultObj;
      }
    
      let el_num = document.getElementById('num');
      let el_powstr = document.getElementById('powstr');
      let el_result = document.getElementById('result');
    
      el_num.addEventListener('change',function(){
        polynomial(this.value||7);
      })
    
    </script>
    </body>
    </html>
    
    
    
    展开全文
  • 求解rs(255,239)译码生成多项式系数,输入命令: pkg load communications rsgenpoly(255,239,[],0) 结果如下: ans = GF(2^8) array. Primitive Polynomial = D^8+D^4+D^3+D^2+1 (decimal 285) Array ...
  • CRC编码生成多项式对应的代码

    千次阅读 多人点赞 2019-03-21 11:21:38
    如题:代码10110011 对应的多项式为 X7+X5+X4+X+1; 解题思路: 1就是有,0就是没有。倒着开始看从1到x的n次方。比如x2+x,没有1,那么代码就是110;再比如x3+1,没有x2和x,即1001。 找了很多资料都没说到点上, ...
  • 特征构建:生成多项式特征

    千次阅读 2018-01-25 23:44:59
    机器学习,一些比赛竞赛中,通常会给一定的特征...一个简单通用的办法是使用多项式特征,这可以获得特征的更高维度和互相间关系的项。这在 PolynomialFeatures 中实现: >>> import numpy as np >>> from sklea
  • CRC8校验程序 /********************************************************************************************************* ** Function name: CountCrc ** Descriptions: CRC校验...生成多项式:X8 + X2 + X + 1
  • CRC生成多项式应该怎样定

    千次阅读 2015-05-29 17:17:09
    http://wenku.baidu.com/link?url=hZh03ND4ZSj0cSpYwHcbkXga9JbOwhPrcu3QnKnYK5xD8G2NP4qrk47-BApEhtlgeHW7mLozMJMtErYkgorqmHZgWfsxtP5imZDrknGb1e3 ...
  • 用查表法计算CRC码的C程序设计_生成多项式为CRC32报告,非常详细,共享一下,'0'基础都可以看懂,开发中可以直接copy代码进入,共享一下...
  • 使用 scikit-learn提供的PolynomialFeatures 这个类可以进行特征的构造, 例如有两个特征a和b,由...degree:控制多项式的次数; interaction_only:默认为 False,如果指定为 True,那么就不会有特征本身和本身结合...
  • 答:作二进制除法,1101011011 0000除以10011(这是根据P(X)=X^4+X+1得出的)得余数1110 添加的检验序列是1110作二进制除法,两种错误均可发展仅仅采用了CRC检验,缺重传机制,数据链路层的传输还不是可靠的传输。...
  • Rayleigh-Ritz 方法中使用正交多项式来找到自然频率。 在 Rayleigh-Ritz 方法中,多项式通过 Gram-Schmidt 过程的正交化导致数值稳定的过程、更高的收敛率和更高模式的精确解。
  • 采用CRC的生成多项式是P(x)=x^3+1 。试求应添加在数据后面的余数。 答:因为P(x)=x^3+1,x3对应1000,1对应1,所以除数为1001,除数有4位,所以n=4-1=3,所以被除数后面需要补3个0,即被除数为101110000。除法计算...
  • 书上说是求x^n+1的n-k次因式,到底代码怎么写啊,求各位大佬顺手救救孩子吧,谢谢各位了!
  • 本原多项式c语言生成

    2012-05-10 19:08:47
    本原多项式生成以及判断程序 利用c++生成
  • 在网上看了很多CRC校验的资料和程序,但没怎么看明白,希望大神指导下,怎样编写CRC8的C语言程序,生成多项式0xB8,再次多多感谢大家了!
  • 原始报文为 “11001010101”,其生成多项式为:x4+x3+x+1.对其进行CRC编码后的结果为? 首先要先理解生成的多项式 x4+x3+x+1的含义,其中最高的次方代表二进制的位数,在本例中最高次方为4则生成的二进制数则有5位,...
  • 设信息码为1011,采用的生成多项式为G(X)=X4+X3+X+1,求循环冗余码110011011 101100001101111010110110100所以生成的循环冗余码为:101101002.(1)若循环冗余码的信息位为1010111,生成多项式为G(X...
  • 生成随机的多项式

    千次阅读 2013-06-01 18:02:57
    以下程序能生成形如 (0,0) + (15.7,3) + (141.3,4) + (185.26,5) + (97.34,7) + (106.76,8) 的随机多项式,其中(0, 0) 是固定的项,表示多项式的开始,对运算结果不产生影响.括号中的第一项表示底数,第二项表示指数,如...
  • 从系数生成符号多项式示例被写为 m 文件中的注释
  • 对于连续的整数n从0到39,这个二次多项式生成了40个素数。然而,当n = 40时,402 + 40 + 41 = 40(40 + 1) + 41能够被41整除,同时显然当n = 41时,412 + 41 + 41也能被41整除。随后,另一个神奇的多项式n2 − 79n + ...
  • 设信息码为1011,采用的生成多项式为G(X)=X4+X3+X+1,求循环冗余码110011011 101100001101111010110110100所以生成的循环冗余码为:101101002.(1)若循环冗余码的信息位为1010111,生成多项式为G(...
  • - x 是(可选)要对生成的 Hermite 多项式函数进行评估的值。 有两种可能的输出: 1. 如果 x 被省略,则 h 是一个具有 (n+1) 个元素的数组,其中包含每个 Hermite 多项式项的系数。 例如,调用 h = hermite(3) 将...
  • 特征多项式生成M序列

    2013-11-21 18:27:34
    根据特征多项式得到对应的m序列,特征多项式的输入为matlab通用的多项式输入方式。返回一个m序列。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,129
精华内容 14,451
关键字:

于生成多项式