【问题标题】:MATLAB's gfdeconv vs. polynomial binary divisionMATLAB deconv 与多项式二进制除法
【发布时间】:2018-07-05 15:38:38
【问题描述】:

我读过 Ross N. Williams 的 A Painless Guide to CRC Error Detection Algorithms,他使用二进制除法得到原始消息 1101011011 和 poly 10011 的余数。他到达1110 的剩余部分。

我一直在尝试将 MATLAB 的 gfdeconv 与上述示例一起使用。 documentation 中的描述说函数“在伽罗瓦域上划分多项式”。我在 MATLAB 中输入了以下内容:

[~, remd] = gfdeconv([1 1 0 1 0 1 1 0 1 1], [1 0 0 1 1]) 

但是,我得到了 [0 0 1] 的剩余部分。

我在这里遗漏了什么吗?为什么 MATLAB 的 gfdeconv 不产生与 Williams 示例中的示例相同的余数?我知道我可能想翻转和/或转置多边形和/或原始消息,但我不确定该方法。

谢谢。

【问题讨论】:

    标签: matlab binary bit-manipulation checksum crc32


    【解决方案1】:

    您需要按其他顺序提供系数,即 1 (x0) 首先。然后您需要先提供附加的零,因此正确的用法是:

    [q, r] = gfdeconv([0 0 0 0 1 1 0 1 1 0 1 0 1 1], [1 1 0 0 1])
    

    结果是:

    q =
    
         0     1     0     1     0     0     0     0     1     1
    
    
    r =
    
         0     1     1     1
    

    其中r 是预期结果,也是最低有效位在前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 2011-11-16
      • 2012-06-17
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 2015-01-26
      相关资源
      最近更新 更多