题解校验码—CRC循环校验码与海明校验码

news2024/11/24 20:07:29

码距

一个编码系统的码距是任意两个码字的最小距离。

例如个编码系统采用三位长度的二进制编码,若该系统有四种编码分别为:000,011,100,111,此编码系统中000与111的码距为3;011与000的码距为2;011与111的码距为1,则该编码系统的码距为1。

码距计算方法:两个编码按位异或后1的个数。101异或100 = 001,1的个数为1,所以码距为1。

为了检测e个误码,最小码距d满足:d>=e+1;为了纠正t个误码,最小码距d满足:d>=2t+1

循环校验码

数据发送、接受方约定一个“除数”,在K个信息位后拼接R个校验位作为“被除数”,添加校验位后需保证除法的余数为0。收到数据后,进行除法检查余数是否为0,若余数非0说明出错,则进行重传或纠错。

例如:原始报文为"1100101",其生成多项式为"x4+x3+x+1",求CRC编码结果?

  1. K=原始报文长度=7,R=生成多项式最高次幂=4,“除数”为生成多项式对应二进制码11011
  2. 原始报文左移R位,低位补0,求得“被除数”(11001010000
  3. 做模2除法产生余数:1001
    请添加图片描述
  4. 求得CRC编码为:11001011001

海明校验码

海明校验码是一种多重奇偶检错系统,求海明码时的一项基本考虑是确定所需最少的校验位数k。考虑长度为m位的信息,若附加了k 个校验位,则所发送的总长度为m+k。在接收器中要进行k个奇偶检查,每个检查结果或是真或是伪,k位的校验码可以用来确定误码的位置。m与k的关系:2k≥m+k+1

求信息1011的海明码?

  1. 根据公式2k≥4+k+1,有k=3,3位校验码从低到高需要放在20=1,21=2,22=4三个位置上,则信息位需要放在第3,5,6,7四个位置,记为M1,M2,M3,M4,如下表。
7654321位数
M4=1M3=0M2=1M1=1信息位
k3k2k1校验位
k1+k2+k3k2+k3k1+k3k1+k3校验位组
  1. 计算校验位组。7=20+21+22=1+2+4,表示第7位置的M4需要用1位置的k1、2位置的k2和4位置的k3进行校验,同理计算k1、k2、k3也与M4有关。依次计算M1到M4对应的校验位组,如上表。
  2. 求校验位的值,如下图所示:
    请添加图片描述
  3. 将1-7位拼接为海明码:1010101

在接收方,也可以根据校验位对接收到的信息进行测试,例如收到1011101,如何校验?

  1. 根据前述流程提取出‘1011101’的信息位1011,校验位101
  2. 由信息位1011按步骤计算出校验位001
  3. 101异或001得出结果100(只有得出结果000说明传输无误)二进制100表示第4位置出错

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

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

相关文章

POE:性价比最高的 AI 整合网站

创作不易,如果本文对你有帮助,胖友记得一键三连 😭。更多 AI 优质内容推荐请关注主页 “AI” 专栏,笔者会不定期更新觉得自己用下来还不错的 AI 相关产品。 1.介绍 Poe 是一款同时整合了 ChatGPT、Sage、GPT-4、Claude、Claude-in…

经典神经网络(2)AlexNet及其在Fashion-MNIST数据集上的应用

2、深度卷积神经网络AlexNet ImageNet 数据集:一个开源的图片数据集,包含超过 1400万张图片和图片对应的标签,包含2万多个类别。 自从2010 年以来,ImageNet 每年举办一次比赛,即:ImageNet 大规模视觉识别挑…

数组排序算法

数组排序算法 一、冒泡排序算法二、直接选择排序三、插入排序四、反转排序 一、冒泡排序算法 冒泡排序算法: 类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断向前移动。 基本思想: 冒泡排序的基本思想是对比相邻的两个元素值&…

并发编程(二) — 内存可见性问题

目录 前言 内存可见性问题 synchronized volatile CAS算法 CAS算法原理 CAS算法应用场景 CAS算法代码实现 参考目录 前言 在谈共享变量的内存可见性问题之前,先谈谈线程安全问题 ,线程安全问题是指当多个线程同时读写一个共享资源并且没有任何同…

c高级day4作业

有m1.txt m2.txt m3.txt m4.txt,分别创建出对应的目录,m1 m2 m3 m4 并把文件移动到对应的目录下使用break关键字打印九九乘法表,提示:printf "%d * %d %d" $i $j $((i*j)) #!/bin/bash for i in m1 m2 m3 m4 do#文件夹…

只限今日免费,Midjourney 5.1震撼更新!逼真到给跪,中国情侣细节惊艳,3D视频大片马上来

来源 | 新智元 微信号:AI-era 【导读】全新升级的Midjourney让全网又疯狂了,创造力解禁,出图更逼真。重要的是,限时免费到今天,要玩的抓紧了。 一个月前,Midjourney V5画的一对中国完美情侣在网上爆火&am…

涅槃重生,BitKeep如何闯出千万用户新起点

在全球,BitKeep钱包现在已经有超过千万用户在使用。 当我得知这个数据的时候,有些惊讶,也有点意料之中。关注BitKeep这几年,真心看得出这家公司的发展之迅速。还记得2018年他们推出第一个版本时,小而美,简洁…

python和pycharm的安装(安装包免费下载共享)

说明: 本文内容包括Python和Pycharm安装。 一、python安装: python是一门编程语言,安装python是为了能在电脑上使用这门语言。 1、python下载 下载链接:https://pan.baidu.com/s/1mWsJjO8HngNQtINCzu0bBA 提取码:9…

又又又发现了一个 AI 插件神器 TeamSmart

简介 TeamSmart AI 是最近比较火的 Chrome 插件,它是基于 ChatGPT 集成的 AI 助手团队工具 对,没错,是一个团队。这个团队里面有许多不同角色的成员,每隔成员都有自己的专业领域,比如商业、市场营销、灵魂写手、程序…

批量查看域名历史软件-网站老域名批量查询注册

未注册备案域名批量扫描软件 未注册备案域名批量扫描软件是专门用于批量扫描未备案的域名的一种工具。它可以快速识别未备案的域名,并帮助用户抓住还未被注册的值得备案的域名,以便用户及时注册备案并使用。 该软件主要具有以下几个优点: 高…

【小程序】输入框检验姓名、身份证(正则表达式)并提交

目标 输入绑定姓名、身份证号并进行校验若未填或校验不通过则显示绑定失败的轻提示若通过校验并提交则显示绑定成功 使用Vant Weapp (gitee.io)库。 思路与代码 html: wx:model绑定输入框输入的值data-key是一个属性,在js中的e.currentTarget.datase…

【新星计划-2023】ARP“攻击”与“欺骗”的原理讲解

网络管理员在网络维护阶段需要处理各种各样的故障,出现最多的就是网络通信问题。除物理原因外,这种现象一般是ARP攻击或ARP欺骗导致的。无论是ARP攻击还是ARP欺骗,它们都是通过伪造ARP应答来实现的。 一、ARP攻击原理 一般情况下&#xff0…

TypeScript语言编译命令

1. 安装 npm install -g typescript2. 编译 tsc工具是TypeScript编译器的控制台接口,它可以将TypeScript文件编译成JavaScript文件; 编译文件: tsc [options] [file ...]查看编译命令的帮助信息: tsc --help或者 tsc -h或者 tsc…

微服架构基础设施环境平台搭建 -(一)基础环境准备

微服架构基础设施环境平台搭建 -(一)基础环境准备 通过采用微服相关架构构建一套以KubernetesDocker为自动化运维基础平台,以微服务为服务中心,在此基础之上构建业务中台,并通过Jekins自动构建、编译、测试、发布的自动…

【Java AWT 图形界面编程】IntelliJ IDEA 乱码问题最佳配置方案 ( 配置文件编码 | 配置编译器编码参数 | 配置运行时编码参数 )

文章目录 一、IntelliJ IDEA 乱码问题二、IntelliJ IDEA 乱码问题最佳配置方案1、文件编码设置成 UTF-82、编译器编码参数设置成 UTF-83、 配置运行时编码参数为 GBK 一、IntelliJ IDEA 乱码问题 在 IntelliJ IDEA 中开发 AWT / Swing 图形界面程序 , 经常遇到乱码问题 ; 文件…

博文的跑路笔记

HTML CSS Flex布局 使用flex布局 容器 .box {display: flex; }行内元素 .box {display: inline-flex; }flex布局后,float、vertical-align、clear失效。 容器属性 flex-direction:主轴方向 属性值 row:子元素起点在左,左到右。…

初级面试问到rabbitMQ,看这一篇文章就够了!

一、rabbitMQ的基础要点回顾 1.使用场景 1)解耦:使用消息队列避免模块间的直接调用。将所需共享的数据放在消息队列中,对于新增的业务模块,只要对该类消息感兴趣就可以订阅该消息,对原有系统无影响,降低了…

防范化解灾害风险,科技筑牢安全城墙

气象灾害:大气圈变异活动会对人类生命财产和国民经济及国防建设等造成的直接或间接损害。我国气象灾害种类繁多,不仅包括台风、暴雨、冰雹、大风、雷暴、暴风雪等天气灾害,还包括干旱、洪涝、持续高温、雪灾等气候灾害。此外,与气…

Docker中部署监控

Docker概念 一、部署Prometheus+grafana环境 1.1 、部署Prometheus+grafana环境 docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/lhrprometheus:1.0 lhrbest/lhrprometheus:1.01.2 、创建镜…

【分布式事务】Seata 之 @GlobalTransactional 在TM侧的核心逻辑

文章目录 一、概述二、GlobalTransactional核心逻辑三、GlobalTransactional核心源码解读四、事务能力的启停运行期的开关变更 一、概述 Seata 依赖 Spring 的注解机制,实现声明式事务,即开发者给 Bean 使用GlobalTransactional注解 ,Seata …