7、数字系统中的编码与错误处理

数字系统中的编码与错误处理

1. 格雷码(Gray Code)

1.1 机电应用中的问题

在数字系统的机电应用,如机床、汽车制动系统和复印机中,输入传感器有时需要产生表示机械位置的数字值。以一个使用3位二进制编码的机械编码盘为例,当圆盘位于某些区域边界时会出现问题。比如在001和010区域的边界,编码的两位发生变化。由于机械装配并非完美,此时编码器可能给出错误读数,如011或000。一般来说,只要有多位发生变化,这种问题就可能出现,当三位都变化时问题最为严重,如000 - 111和011 - 100边界。

1.2 格雷码的解决方案

为解决编码盘问题,可设计一种数字代码,使得每对连续代码字之间只有一位发生变化,这种代码称为格雷码。以下是3位二进制代码和格雷码的对比:
| 十进制数 | 二进制代码 | 格雷码 |
| ---- | ---- | ---- |
| 0 | 000 | 000 |
| 1 | 001 | 001 |
| 2 | 010 | 011 |
| 3 | 011 | 010 |
| 4 | 100 | 110 |
| 5 | 101 | 111 |
| 6 | 110 | 101 |
| 7 | 111 | 100 |

使用格雷码重新设计编码盘后,每个边界只有一位变化,边缘读数会是边界某一侧的值。

1.3 格雷码的构造方法

1.3.1 递归构造法
  • 1位格雷码有两个代码字,0和1。
  • n + 1位格雷码的前2ⁿ个代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值