CRC编码

循环冗余校验(Cyclic Redundancy Check, CRC)

原理:先在要发送的帧后面附加一个二进制数,(用来校验的校验码);生成一个新帧发送给接收端
附加的二进制数要求:使所生成的新帧能与发送端和接收端共同选定的某个特定数整除
运算:这里的除是指“模2除法”
过程:到达接收端后,把接收到的新帧除以选定的除数
因为在发送端发送数据帧之前加了一个数,做了“去余”处理,所以结果应该没有余数
如果有余数,代表出现错误

模2加法:1+1=(1)0 ;0+1=1;0+0=0 —— 满2进1,保留当前位
模2减法:0-1=1;1-1=0;1-0=1;0-0=0 —— 借1当2,保留当前位
约等于异或
模2乘法:不进位
例子:
模2乘法
模2除法:在求余数时用模2减
例子:
模2除法
步骤
• 选择除数,即一个二进制比特串或者多项式
• 得到CRC校验码,即FCS(帧校验序列)
• 组装新帧,发送给接受端;接收端 模2除,没有余数则无差错
• 图示:
过程
多项式除数转换:
多项式例子
注意:余数的位数只能比除数得位数少一位,否则前面补零;FSC规定最高位最低位必须为1

计算题:

1.(搜狗百科例题) 被校验的数据M(x)=1000,选择生成多项式为G(x)=x3+x+1,问,循环冗余校验码时多少?
答:G(x)=x3+x+1对应二进制数为1011;四位
得余数:1000000 B 除 1011B–>余数得101B,即校验码为101B;
(B代表二进制)
所以循环冗余校验码为:1000101B
(验证:1000101B 除 1011B–> 余数 = 0)
2. 假设CRC生成多项式为G(X)=X4+X3+1,求二进制序列10110011得CRC校验码?
答:G(X)=X4+X3+1对应二进制数为11001
101100110000B 除 11001B 得余数 0100B
所以:101100110100B
3. (牛客网)要发送的数据为11001001,采用CRC的生成多项式是P(X)=X3+X+1,则应添加在数据后面的余数为?
答:1011;11001001000B除1011B余数得001B

参考文档:
1、通俗易懂的CRC校验
2、[搜狗百科]模2除法

如有错误,欢迎指正!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350986.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

CLR简介

CLR简介 什么是CLR CLR英文全称Common Language Runtime,即公共语言运行时。 乍一看到这个概念确实不明白,什么是语言运行时? 简单来说,就是一个程序运行所需要的环境,包括各种资源、各种操作等等。 通常来说&…

CRF概述

主要参考 1.李航统计学习方法 2.一个声音好听的小姐姐的讲解视频https://www.bilibili.com/video/av752902225/ 3. 白板推导系列视频 https://www.bilibili.com/video/BV19t411R7QU?p1 一、背景介绍 1、背景算法介绍 HMM,隐马尔可夫模型,是生成模…

CRC-16

文章目录 A.1 CRC16 算法A.1.1 CRC16 算法参数设置A.1.2 LengthA.1.3 CounterA.1.4 Data IDA.1.5 CRCA.1.6 CRC16 算法示例A.1.7 CRC16 算法推荐(查表法)A.1.8 CRC16 实例(查表法) A.1 CRC16 算法 A.1.1 CRC16 算法参数设置 CRC16 算法中要求了 Counter、Data ID、CRC 等参数…

CRF

随机场:由若干个子集组成的一个整体,而每个子集都按照某个分布随机赋予一个值,这个场就叫随机场。 马尔科夫随机场:随机场中某一位置的赋值仅与其相邻位置的赋值有关,和与其不相邻位置的赋值无关。 CRF是马尔科夫随机…

crc(crc是什么职业)

CRC的特点是什么? 在诸多检错手段中,CRC是最著名的一种,其特点是:检错能力极强,开销小,易于用编码器及检测电路实现 CRC的特点有哪些呢? CRC的全称是循环冗余校验,其特点是:检错能力极强&#x…

CRC16

CRC选择 当数据帧长度在8bits-128bits范围内时,推荐CRC-8(CRC-8能够减少额外比特的开销,且有更好的性能表现) 当数据帧长度在128bits-2048bits范围内时,推荐CRC-12,CRC-16,CRC-CCITT(CRC-12额外比特的开销更小&#x…

linux中ls -l出的crw brw lrw代表什么?

原文链接:https://www.cnblogs.com/victorywr/p/15725170.html 每次使用ls -al 查看文件信息,都只看rw-rw-rw- (权限为666),忽略最前面的c/b/l,今天了解一下: linux中c表示字符设备文件&#xf…

一款红队批量脆弱点搜集工具

功能 指纹识别:调用“三米前有香蕉皮“前辈工具,他的工具比finger好用 寻找资产中404,403,以及网页中存在的其他薄弱点,以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 使用 第一次使用脚本请运行p…

【机器学习】正则化详解和过拟合的解决

https://blog.csdn.net/weixin_45434953/article/details/130970273 上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题 而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾…

改进YOLOv8 | 主干网络篇 | YOLOv8 更换骨干网络之 GhostNet | 从廉价操作中获取更多特征

论文地址:https://arxiv.org/abs/1911.11907 代码地址:https://github.com/huawei-noah/ghostnet 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络(CNN)很困难。特征图中的冗余是那些成功的神经网络的重要特征,但在神经架构设计中很少研究。本文提出了一种新的G…

【测试入门】测试用例经典设计方法 —— 因果图法

01、因果图设计测试用例的步骤 1、分析需求 阅读需求文档,如果User Case很复杂,尽量将它分解成若干个简单的部分。这样做的好处是,不必在一次处理过程中考虑所有的原因。没有固定的流程说明究竟分解到何种程度才算简单,需要测试…

妙啊!真实模拟面试 — 面试官究竟会怎么问 数据库索引呢?

什么是索引? 面试官:我看你项目中有做过 SQL 优化,那我们今天就来聊聊索引吧。 (索引能问些啥,无非是索引的概念、索引的使用规则、索引的分类、索引的原理。嘻嘻~我早有准备) 我:数据库中的…

一道面试题:餐馆模拟

前阵子遇到一个面试题,当时没有做出来,后来断断续续的用了一周的时间做了出来,但感觉也不完全对,先来看看题目,稍后再讨论。 问题 模拟一个餐馆,三个厨师,二个服务员,厨师单独做菜…

AI模拟面试官项目实战 | 项目概述

🎯摘要 看完本文,你可能有如下收获: 了解该项目的预览效果、了解技术栈、系统设计以及教程食用指南 ⭐️⭐️该收获仅供参考,真实收获以实物为准😇😇 ☀️系统概述 【AI模拟面试官】是一个模拟线上面试的…

软件测试面试题【2021模拟面试整理版(含答案)】

点击上方蓝色“程序员一凡”,选择“设为星标” 主页点击“领取资料”获取整理好的学习资源 一、问题预测 \1. 让简单介绍下自己(每次面试开场) \2. 让说下自己会的内容 \3. 看了哪些书籍(有问到) \4. 了解过哪些技…

Java程序员模拟面试,解析面试困扰和建议

模拟面试,相信大多数程序员都没有经历过,甚至还有从来没听说针对面试的辅导或者模拟面试啥的,所有的面试经验都来源于网上写的一些文章,然后再在面试的时候通过各种碰壁去揣测面试官在想啥。 前言 前几天组织了一次模拟面试直播&…

模拟面试题一

一、选择题 1、python不支持的数据类型有 A、charB、intC、floatD、list 1 参考答案:A 参考答案 2、打印输出结果:x "foo"y 2print(x y)A.foo B.foofoo C.foo2 D.2 E.An exception is thrown 1 D :一个是字符串&#…

前端面试题总结:模拟面试

1,问:请先自我介绍? 答:略 二,技术知识题 1,问:看你简历有项目经历,那在你之前的项目中,用到的技术栈有哪些? 答:主要使用过vue和微信小程序&…

模拟面试题回顾

模拟面试题回顾 1.servlet里面有哪些关键的方法? 讲到它的方法,就不可避免地去了解servlet的运行过程(也可以说是生命周期),如下图所示: 它的四个过程: ​ (1).当客户端第一次发送请求后,由容器&#xf…

java-模拟面试

讲一下快速排序算法 通过一次排序将数列分为两部分,一部分比另一部分数字都小 时间复杂度O(nlogn) 空间复杂度O(1) 先确定一个中间比较值,确定一个左指针(从头开始),右指针(从尾部开始) while循…