检查 CRC 多项式的错误检测能力

2023-11-30

我试图找出如何计算任意 CRC 多项式的错误检测能力。

我知道有多种错误检测功能可能(或可能不适用于)任意多项式:

  1. 检测单个比特错误: 所有 CRC 都可以执行此操作,因为这只需要 CRC 宽度 >= 1。

  2. 突发错误检测: 所有 CRC 都可以检测大小等于其宽度的突发错误。

  3. 检测奇数位错误: 具有偶数项多项式(这意味着完整二进制多项式中有偶数个 1 位)的 CRC 可以做到这一点。

  4. 检测随机位错误(取决于帧大小): 我有一个现成的 C 算法,可以计算给定 HD 和多项式的最大帧大小。我不完全理解它,但它有效。

假设 16 位 CRC 多项式 x16+x12+x5+1 = 0x11021。该多项式可以:

  • 检测所有单位错误(与数据大小无关)。
  • 检测高达 16 位宽度的所有突发错误(与数据大小无关)。
  • 检测所有奇数个位错误(因为它有 4 个多项式项;与数据大小无关)。
  • 检测 3 位错误 (HD4),数据大小高达 32571 位。

以上是否正确?

是否有额外的 CRC 错误检测功能?如果是,我如何检查(没有深厚的数学知识)任意 CRC 多项式是否支持它们?


This 库普曼和查克拉瓦蒂的论文研究了 CRC 性能的几种度量,描述了许多多项式的度量和结果。简而言之,“好”多项式的定义取决于它所应用的消息的长度,该长度因应用程序而异。主要衡量指标是汉明距离(为恢复相同 CRC 所需更改的消息中的最小位数)以及规定的低误码率下的性能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检查 CRC 多项式的错误检测能力 的相关文章

  • 是否可以使用 CRC 进行基本的纠错?

    我知道使用 CRC 的全部目的是进行错误检测 但我听到有人说它除了错误检测之外还可以用于进行基本的错误纠正 我很好奇是否是这样 如果是的话 它的威力有多大 我的意思是 我们通常将 CRC 称为能够执行 x 位检测 但我很好奇它是否能够执行
  • Python sympy无法求解多项式函数

    我在用 sympy 求解多项式函数时遇到问题 以下示例显示了一个给出我无法管理的错误消息的情况 如果多项式变得更简单 则求解器可以正常工作 请复制并粘贴代码以检查系统上的错误 import sympy from sympy import I
  • 使用什么算法来计算校验位?

    使用什么算法来计算数字列表的校验位 列表的长度在 8 到 12 位数字之间 也可以看看 如何生成验证码 号码 https stackoverflow com questions 46231 how to generate a verific
  • Android APK 文件的 MD5 校验和不同。为什么?

    我注意到 如果我编译一个 Android 应用程序两次 一次紧接另一次且没有任何更改 则两个 APK 文件具有两个不同的 MD5 校验和 未签名和签名的 APK 文件都会产生相同的结果 您可以将其作为 ZIP 文件打开 其中的内容在两个文件
  • 从一组中找到多个最大不同的二元向量

    考虑集合 S 所有长度的二进制向量n其中每个恰好包含m那些 所以有n m每个向量中的零 我的目标是构建一个数字 k 向量来自S使得这些向量彼此尽可能不同 举个简单的例子 n 4 m 2 and k 2 那么可能的解是 1 1 0 0 和 0
  • tcp 校验和和 tcp 卸载

    我正在使用原始套接字来创建我自己的套接字 我需要设置 tcp checksum 我尝试了很多参考资料 但都不起作用 我正在使用wireshark进行测试 请问你能帮帮我吗 顺便说一句 我在某处读到如果你设置 tcp checksum 0 然
  • 如何在运行时计算代码的校验和?

    我有一个在计算机上运行的 C NET 应用程序 如何在运行时计算整个代码的校验和 Note 我不想计算正在使用的图像的校验和 而是计算实际的代码部分 我从来没有用过这个 但是 使用反射 您可以导航到获取ILAsByteArray http
  • 算法 CRC-12

    我正在尝试对 12 位 CRC 和算法执行 crc table 但总是得到错误的结果 你能帮助我吗 要创建 crc 表 我尝试 void crcInit void unsigned short remainder int dividend
  • 两个十六进制数的相似度

    我试图使用汉明和编辑距离找到类似的哈希值 十六进制哈希值 假设两个哈希值相似 如果它们的汉明距离小于 10 不同位数 Hash 1 ffffff base 16 Hash 2 fffff0 base 16 两个哈希之间的汉明距离是4 它们是
  • Python,字典的校验和

    我正在考虑创建一个字典的校验和来知道它是否被修改 目前我有 gt gt gt import hashlib gt gt gt import pickle gt gt gt d k v k2 v2 gt gt gt z pickle dump
  • 使用反射输入计算 CRC64 的最有效方法

    我需要使用计算 CRC 64这个设置 https i stack imgur com Tdj7Z png进入这个精彩的网站 http www sunshine2k de coding javascript crc crc js html h
  • 是否正在努力开发具有文件自动更改检测功能的面向构建的文件系统?

    我最近开始使用 Git 我发现的有趣功能之一是使用哈希来快速检测更改 另一方面 我看到构建工具 如 make ant javac 等 尝试通过检查文件的时间戳来检测源文件中的更改 这种方法的问题是 如果您从事不止一项工作 机器 你必须确保所
  • 如何在 Ruby on Rails 中计算 32 位 CRC?

    我想计算 Ruby on Rails 中 输入字段值 的 32 位 CRC 值 需要示例代码 请帮助我 您可以使用 Ruby 的 Zlib 模块 require zlib crc32 Zlib crc32 input field value
  • 对阶乘和多项式的组合进行数值计算

    我正在尝试编写一个简短的 C 例程来计算给定整数 j gt i 通常它们位于 0 到 100 之间 和复数 z 以 z 关联拉盖尔多项式 问题是我希望这个函数可以从 CUDA 内核中调用 即使用 device 属性 因此 标准库 Boost
  • 计算实验室信息系统 (LIS) 帧的校验和

    我正在开发一个仪器驱动程序实验室信息系统 https www limswiki org index php Laboratory information system 我想知道如何计算帧的校验和 校验和算法说明 用字符 0 9 和 A F
  • 汉明立方体顶点上的查询点

    我有 N 个点 仅位于 D 维立方体的顶点上 其中 D 约为 3 A vertex may not contain any point So every point has coordinates in 0 1 D I am only in
  • 您能解释一下 md5 和 modulo 的这些令人不安的异常情况吗?

    好吧 标题确实很主观 但这正是我的问题所在 背景是我想将静态 Web 内容的点击均匀地分布在定义数量的缓存服务器上 此外 向客户端的交付应该会加快 因为多个域正在使用中并且请求不会相互阻塞 我也不需要经典的负载均衡器 而是立即在我的 htm
  • 多项式系数列表

    如何从 SymPy 中的系数列表创建多项式 例如 给定一个列表 1 2 1 我想得到Poly x 2 2 x 1 我试着看看docs http docs sympy org dev modules polys reference html但
  • 零填充缓冲区/文件的 CRC32 计算

    如果我想计算大量连续零字节的 CRC32 值 在给定零运行长度的情况下 是否可以使用恒定时间公式 例如 如果我知道我有 1000 个字节全部用零填充 有没有办法避免 1000 次迭代的循环 只是一个例子 对于这个问题 实际的零数量是无限的
  • adler32 校验和的可靠性如何?

    我想知道与例如相比 adler32 校验和有多可靠 md5 校验和 维基百科上说 adler32 比 md5 可靠得多 所以我想知道有多少 以及以何种方式 更具体地说 我想知道它是否足够可靠 作为对大小为 20GB 以上的 tar 文件的长

随机推荐

  • 方法名称必须以 findBy 或 findOneBy 开头。 Symfony 未定义方法?

    我正在努力通过Symfony2 的第 4 部分 在更新控制器和帮助程序类代码时 我收到以下错误消息 Undefined method getLatestBlogs The method name must start with either
  • 编译时在浮点型和双精度型之间切换

    如果我想在编译时在浮点精度和双精度之间切换 我应该在哪里查看 就像 如果用户想要所有内容都是浮点数而不是双精度 我如何保持这种灵活性 换句话说 我应该如何定义一个可以有条件地浮点或双精度的变量 如果可以在编译时进行切换 一个简单的方法typ
  • 为什么内联 div 的行为与内联 span 不同

    我尝试过内联 div 但它不起作用 很难解释 请看下面的链接 http jsfiddle net CsS5v 1 p style background red SDFDSDSFDSSFDAFASasf br span style backg
  • PHP:如何重命名方法?

    PHP 5 2 中是否可以在运行时重命名类方法 是否可以使用反射来做到这一点 Given class Test public function myMethod echo in my method 我希望能够重命名myMethod to o
  • ng-include 和 ngRoute:如何让它们一起工作? (即路由到 ng-include 中的视图)

    EDITED 我的应用程序具有以下结构 索引 html
  • 如何在 C 中进行 Base64 编码(解码)?

    我在 unsigned char 变量中有二进制数据 我需要在 c 中将它们转换为 PEM base64 我查看了 openssl 库 但找不到任何函数 有谁有任何想法吗 这是我正在使用的 include
  • 静态局部变量什么时候出现?

    这本书Robert Lafore 的 C 面向对象编程 says 静态局部变量具有自动局部变量的可见性 变量 即在包含它的函数内部 然而 其 生命周期与全局变量的生命周期相同 只是它 直到第一次调用该函数时才存在 包含它 此后它在人的一生中
  • 将 ItemsControl ItemSource 绑定到 UserControl 依赖属性

    这是我第一次尝试创建具有依赖属性的用户控件 所以请原谅我对这个主题缺乏了解 我在其中一个页面上创建了一个总体设计 我想将其转换为可重用的用户控件 页面上的原始控件 这就是我试图移植到可重用 UserControl 的控件
  • 比较 2 个对象 PHP

    我需要比较 2 个对象以删除重复项 查找新条目 这些对象不相同 但它们包含相同的用户名密钥 这是布局 数据库对象 array 0 db gt username 0 db gt something 1 db gt username 1 db
  • 如何将多个 LineString 行组合成一个单行集合

    我正在使用 SQL Server 2008 和Geometry数据类型来存储英国道路列表 我从地形测量战略数据集 每条路被分成多行 每行包含一行 A Linestring由一段组成 例如A369由18条独立的线路组成 如下图所示 我想要做的
  • Angular 9 路线给出空白页面,没有错误

    我刚刚升级到 Angular 9 并使用延迟加载创建了一些子路由 在这些更改之前 我的项目和我的路线运行得很好 但在这两个更改之后 我的项目和路线工作得很好 HomeComponent路线 路径 工作正常 但如果我尝试单击其他路线的链接 使
  • 批处理:在我的代码循环期间,它停止设置变量。欢迎大家帮忙

    goto time time set tm time set hh tm 0 2 set mm tm 3 2 set ss tm 6 2 set ms tm 7 2 goto date date set dt date set wd dt
  • 如何使用C#获取Win7的SSID和RSSI

    我对Win7和WMI很陌生 请告诉我在哪里可以看到 WiFi 的活动接入点以及如何获取每个接入点的 ssid rssi 我有使用 ManagementClass mc new ManagementClass root WMI MSNdis
  • java声音淡出

    使用 javax sound sampled 我想淡出我开始无限循环的声音 这就是我开始发出声音的方式 Clip clip AudioSystem getClip AudioInputStream inputStream AudioSyst
  • facebook-unity-sdk 6.2.1 Unity5 iOS 编译错误的解决方法

    当我尝试在 iOS 上编译时 出现以下错误 在 iOS 上 FBLinkShareParams dialogParams FBLinkShareParams alloc init autorelease Users Daniel Repos
  • 将Android ArrayList的内容发送到PHP

    我是一名 PHP 开发人员 中级 在家练习一些 Android 的东西 我已经创建了一个数组列表 它将提取到我的 Android 应用程序内的 sqlite 数据库中并填充 ListView 现在我正试图将这一水平更进一步 我想将该数组列表
  • 如何使用 C# 检测包含尾随逗号的无效 JSON?

    是的 是的 我知道有无数关于检测无效 Json 的帖子 他们都说同样的事情 尝试解析或反序列化对象 你猜怎么了 在这种情况下 Json NET 很乐意解析我格式错误的 JSON 并且不会抱怨 我认为我需要澄清一下 我的 JSON 唯一的问题
  • 在 React JSX 中使用 if 语句

    你能像这样在 JSX 中使用 if 语句吗 var chartGraphContent div if this state modalityGraph nca gt 0 div div div
  • r 分组依据和计数

    我正在处理一个数据集 如下所示 Id Date Color 10 2008 11 17 Red 10 2008 11 17 Red 10 2008 11 17 Blue 10 2010 01 26 Red 10 2010 01 26 Gre
  • 检查 CRC 多项式的错误检测能力

    我试图找出如何计算任意 CRC 多项式的错误检测能力 我知道有多种错误检测功能可能 或可能不适用于 任意多项式 检测单个比特错误 所有 CRC 都可以执行此操作 因为这只需要 CRC 宽度 gt 1 突发错误检测 所有 CRC 都可以检测大