已将所有英文缩写在首次出现处补充“英文全称+中文含义”,并在文末增加缩写速查表。下面可直接复制到 DokuWiki。
====== 数据编码 ======
===== 1. 数据编码概述 =====
数据编码是把二进制数字信息转换为适合在传输介质中传送的电信号。不同编码方案在以下方面存在差异:
* 抗噪声能力;
* 时钟同步能力;
* 占用带宽;
* 差错检测能力;
* 实现复杂度与成本。
**选型原则:**实际应用中应综合考虑数据传输速率、信道带宽、线路质量、同步要求、抗干扰能力和实现成本。
===== 2. 常用数据编码方案 =====
^ 编码方式 ^ 英文名称或缩写 ^ 判定规则 ^ 自同步 ^ 主要特点 ^
| 单极性码 | Unipolar Code(单极性编码) | 用一种极性电压和零电平表示 0、1 | 否 | 简单、成本低,抗干扰能力弱 |
| 极性码 | Polar Code(极性编码) | 用正、负电压分别表示 0、1 | 否 | 电平差较大,抗干扰能力较好 |
| 双极性码 | Bipolar Code(双极性编码) | 使用正、负、零三个电平 | 较弱 | 可减少直流分量,具有一定检错能力 |
| 归零码 | RZ(Return to Zero,归零码) | 每个码元内部信号都返回零电平 | 是 | 同步能力好,但占用带宽较大 |
| 双相码 | Biphase Code(双相编码) | 每个码元中间都发生电平跳变 | 是 | 同步与检错能力强 |
| 不归零码 | NRZ(Non-Return-to-Zero,不归零码) | 码元期间不强制返回零电平 | 否 | 实现简单、带宽利用率较高 |
| 曼彻斯特码 | Manchester Encoding(曼彻斯特编码) | 位中间跳变的方向表示数据 | 是 | 广泛用于传统以太网 |
| 差分曼彻斯特码 | Differential Manchester Encoding(差分曼彻斯特编码) | 位开始处是否跳变表示数据 | 是 | 抗极性反转能力强 |
| 多电平编码 | Multi-Level Encoding(多电平编码) | 一个码元可取多个电平 | 视方案而定 | 单码元可携带多个比特 |
| MLT-3 | Multi-Level Transmit-3(三级多电平传输编码) | 0 不改变电平,1 引起电平状态变化 | 否 | 降低信号变化频率 |
| 4B/5B | 4 Binary/5 Binary(4比特/5比特编码) | 将4位数据映射为5位代码 | 配合线路码实现 | 避免过长连续0,提高同步能力 |
| 8B/6T | 8 Binary/6 Ternary(8比特/6个三元符号编码) | 8位二进制映射为6个三电平符号 | 是 | 提高传输效率并控制直流分量 |
| 4D-PAM5 | 4-Dimensional 5-Level Pulse Amplitude Modulation(四维五电平脉冲幅度调制) | 在4对双绞线上并行使用5个电平 | 是 | 用于1000BASE-T千兆以太网 |
===== 3. 基础线路编码 =====
==== 3.1 单极性码 ====
单极性码只使用一种极性的电压和零电平表示二进制数据。例如:
* 二进制 **0**:+3 V;
* 二进制 **1**:0 V。
其特点如下:
* 实现简单,设备成本低;
* 存在明显的直流分量;
* 连续出现多个相同比特时缺少电平变化;
* 需要额外的时钟信号完成同步;
* 抗噪声和抗干扰能力较差。
==== 3.2 极性码 ====
极性码使用正、负两种电压表示二进制数据。例如:
* 二进制 **0**:+3 V;
* 二进制 **1**:-3 V。
与单极性码相比,极性码的电平差更大,因而抗干扰能力更好。但是,连续传输相同比特时仍然不会产生电平变化,因此通常需要额外的时钟信号。
==== 3.3 双极性码与AMI ====
双极性码使用正、负、零三个电平。典型代表是:
**AMI(Alternate Mark Inversion,信号交替反转编码)**
其编码规则为:
* 二进制 **0**:使用零电平;
* 二进制 **1**:交替使用正电平和负电平。
例如:
数据: 1 0 1 1 0 1
AMI: +V 0 -V +V 0 -V
AMI的主要特点:
* 没有明显的直流分量;
* 抗噪声能力优于普通二进制线路码;
* 正负脉冲交替出现,可提供一定的检错能力;
* 如果两个相邻的非零脉冲极性相同,则称为 **AMI违例**;
* 连续出现多个0时没有电平变化,可能丢失同步信息。
=== B6ZS改进方案 ===
**B6ZS(Bipolar with 6-Zero Substitution,六零替代双极性编码)**用于解决AMI中连续6个0造成的同步问题。
其基本思想是:
* 当数据中连续出现6个0时,用预先规定的特殊码组进行替换;
* 替代码组故意包含AMI违例;
* 接收端检测到该违例后,将特殊码组恢复为连续6个0。
AMI违例并不一定代表传输错误。在B6ZS等编码中,违例可以被有意加入,用于携带同步信息。
==== 3.4 归零码RZ ====
**RZ(Return to Zero,归零码)**要求信号在每个码元的内部返回零电平。因此,相邻码元之间通常被零电平隔开。
教材图示中的双极性归零码可理解为:
* 从正电平返回零电平的跳变表示一种二进制值;
* 从负电平返回零电平的跳变表示另一种二进制值;
* 每个码元中间都有电平变化。
主要特点:
* 具有较好的时钟同步能力;
* 接收端可利用码元内部的跳变提取时钟;
* 抗噪声能力较好;
* 每个码元包含更多电平变化,占用带宽较大。
==== 3.5 双相码 ====
双相码要求每个码元中间都出现一次电平跳变。
其主要优势是:
* 码元中间的跳变可以提供同步时钟;
* 具有自同步能力;
* 如果某个码元中间缺少规定的跳变,可判断出现编码违例;
* 能够提供一定的错误检测能力。
===== 4. 不归零编码 =====
==== 4.1 NRZ基本概念 ====
**NRZ(Non-Return-to-Zero,不归零编码)**是指信号在一个码元持续期间不强制回到零电平。
其优点是:
* 编码方式简单;
* 信号变化次数较少;
* 对信道带宽的要求相对较低;
* 实现成本较低。
其缺点是:
* 连续出现相同比特时缺少电平变化;
* 不具备稳定的自同步能力;
* 容易产生时钟漂移。
==== 4.2 NRZ-I ====
**NRZ-I(Non-Return-to-Zero Inverted,不归零反相编码)**使用电平是否发生翻转表示数据:
* 遇到二进制 **1**:电平翻转;
* 遇到二进制 **0**:电平保持不变。
0:保持前一个电平
1:切换到另一个电平
NRZ-I也称为差分码。它不依赖固定的高、低电平,而是根据电平是否发生变化识别数据,因此能够降低线路极性接反造成的影响。
但是,连续出现多个0时没有电平变化,仍可能造成同步信息丢失。
===== 5. 曼彻斯特编码 =====
==== 5.1 曼彻斯特码 ====
**Manchester Encoding(曼彻斯特编码)**是一种双相编码,每个码元的中间都必须出现一次电平跳变。
一种常见约定是:
* 高电平到低电平的跳变表示 **0**;
* 低电平到高电平的跳变表示 **1**。
也可以采用相反约定,具体取决于协议标准。
码元中间的跳变同时承担两种作用:
* 表示二进制数据;
* 提供时钟同步信号。
主要特点:
* 具有良好的自同步能力;
* 没有长时间保持固定电平的问题;
* 可通过缺少中间跳变检测部分传输错误;
* 调制速率通常是数据速率的2倍;
* 对信道带宽要求较高。
曼彻斯特编码曾用于传统 **Ethernet(以太网)**,例如10 Mb/s以太网。
==== 5.2 差分曼彻斯特码 ====
**Differential Manchester Encoding(差分曼彻斯特编码)**同样要求每个码元中间必须发生电平跳变,但中间跳变只用于同步,数据由码元开始处是否发生跳变表示。
按照教材采用的规则:
* 码元开始处发生跳变:表示 **0**;
* 码元开始处不发生跳变:表示 **1**;
* 码元中间始终发生跳变:用于提供同步时钟。
主要特点:
* 具有自同步能力;
* 不依赖绝对电平,而依赖相邻信号的变化关系;
* 抗极性反转能力较强;
* 带宽需求较大;
* 曾用于 **Token Ring(令牌环网)**。
^ 比较项目 ^ 曼彻斯特码 ^ 差分曼彻斯特码 ^
| 数据判定依据 | 位中间跳变的方向 | 位开始处是否发生跳变 |
| 位中间跳变 | 表示数据并提供同步 | 只提供同步 |
| 是否自同步 | 是 | 是 |
| 抗极性反转能力 | 一般 | 较强 |
| 典型应用 | 传统以太网 | 令牌环网 |
===== 6. 多电平编码 =====
多电平编码允许一个码元使用多个离散电平。
若码元可取的电平或状态数为 \(M\),一个码元理论上可表示的信息量为:
n = log₂M
其中:
* \(M\):码元可取的状态数;
* \(n\):每个码元能够表示的二进制位数。
例如,当 \(M=4\) 时:
n = log₂4 = 2 bit
即一个码元可以表示2个二进制位。
多电平编码的优点:
* 数据传输速率可高于码元速率;
* 提高信道带宽利用率;
* 在相同码元速率下传输更多数据。
多电平编码的缺点:
* 电平之间的距离变小;
* 抗噪声能力下降;
* 接收端判决电路更加复杂;
* 线路衰减或噪声可能导致相邻电平混淆。
===== 7. MLT-3编码 =====
**MLT-3(Multi-Level Transmit-3,三级多电平传输编码)**使用三个电平:
* 正电平(+V);
* 零电平(0);
* 负电平(-V)。
MLT-3中的“3”表示共有三种电平状态,而不是一个码元携带3个比特。
==== 7.1 编码规则 ====
- 输入比特为 **0**:保持当前电平不变。
- 输入比特为 **1**:切换到循环序列中的下一个电平。
典型状态循环为:
0 → +V → 0 → -V → 0 → +V → ……
也可以从相反方向开始,但正、零、负三个状态的循环规律不变。
例如:
输入数据:1 1 0 1 0 1
输出状态:+V 0 0 -V -V 0
==== 7.2 特点与应用 ====
* 连续的0不会引起电平变化;
* 每出现一个1,电平状态才变化一次;
* 降低了信号的最高变化频率;
* 可减少对线路高频传输能力的要求;
* 本身不能完全解决连续0导致的同步问题;
* 通常与其他块编码方式配合使用。
快速以太网 **100BASE-TX** 使用 **4B/5B+NRZ-I+MLT-3** 等组合机制完成数据编码与线路传输。
===== 8. 4B/5B编码 =====
==== 8.1 缩写与原理 ====
**4B/5B(4 Binary/5 Binary,4比特映射5比特编码)**把每组4位二进制数据转换为5位代码。
其处理过程如下:
4位原始数据 → 4B/5B编码器 → 5位代码组 → NRZ-I等线路编码 → 传输介质
4位数据共有:
2⁴ = 16种组合
5位代码共有:
2⁵ = 32种组合
因此,可以从32个5位代码中选出16个具有足够跳变次数的代码表示原始数据,其余代码可用于控制或保留。
==== 8.2 4B/5B映射表 ====
^ 十六进制 ^ 4位二进制 ^ 5位代码 ^ 十六进制 ^ 4位二进制 ^ 5位代码 ^
| 0 | 0000 | 11110 | 8 | 1000 | 10010 |
| 1 | 0001 | 01001 | 9 | 1001 | 10011 |
| 2 | 0010 | 10100 | A | 1010 | 10110 |
| 3 | 0011 | 10101 | B | 1011 | 10111 |
| 4 | 0100 | 01010 | C | 1100 | 11010 |
| 5 | 0101 | 01011 | D | 1101 | 11011 |
| 6 | 0110 | 01110 | E | 1110 | 11100 |
| 7 | 0111 | 01111 | F | 1111 | 11101 |
==== 8.3 特点 ====
* 所选5位代码中1的数量不少于2个;
* 可避免产生过长的连续0;
* 配合NRZ-I使用时能够产生足够的电平跳变;
* 提高了接收端提取时钟的能力;
* 具备一定的非法代码检测能力;
* 编码后数据量增加25%。
编码效率为:
η = 4/5 = 80%
即传输100 bit有效数据,需要在线路上发送125 bit编码数据。
**记忆要点:**4B/5B本身主要解决“长串0导致缺少跳变”的问题,真正转换为电信号还需要配合NRZ-I、MLT-3等线路编码。
==== 8.4 相关应用 ====
教材指出:
* **100BASE-FX**采用4B/5B和NRZ-I编码;
* **100BASE-TX**也使用4B/5B,并配合NRZ-I及MLT-3等编码机制;
* **8B/10B(8 Binary/10 Binary,8比特/10比特编码)**与4B/5B原理类似,通过增加冗余位保证同步和直流平衡。
===== 9. 8B/6T编码 =====
==== 9.1 缩写与基本原理 ====
**8B/6T(8 Binary/6 Ternary,8比特映射6个三元符号编码)**把8位二进制数据映射成6个三元符号。
其中:
* **8B**:8个二进制位;
* **6T**:6个三元符号;
* 每个三元符号可取 +、0、- 三种电平。
6个三元符号共有:
3⁶ = 729种组合
8位二进制数据共有:
2⁸ = 256种组合
因此,729种三元码组足以表示全部256种8位二进制组合,并可选择直流平衡和同步性能较好的码组。
==== 9.2 编码效率与速率 ====
每8个数据位被编码为6个三元符号,若每条线路的码元速率为25 MBaud:
单线等效数据速率 = 25 MBaud × 8/6 ≈ 33.3 Mb/s
若在3对线路上轮流发送:
总数据速率 ≈ 33.3 Mb/s × 3 ≈ 100 Mb/s
**Baud(波特)**表示每秒传送的码元数;**b/s(bit per second,比特每秒)**表示每秒传送的二进制位数。二者只有在每个码元携带1 bit时才数值相等。
==== 9.3 应用 ====
快速以太网 **100BASE-T4** 使用8B/6T编码机制。
其中:
* **100**:数据速率为100 Mb/s;
* **BASE**:Baseband(基带传输);
* **T4**:使用4对双绞线,其中3对用于数据发送,1对用于冲突检测等功能。
===== 10. 4D-PAM5编码 =====
==== 10.1 缩写解释 ====
**4D-PAM5(4-Dimensional 5-Level Pulse Amplitude Modulation,四维五电平脉冲幅度调制)**应用于 **1000BASE-T(双绞线千兆以太网)**。
缩写含义:
* **4D(4-Dimensional,四维)**:4对双绞线同时参与信号传输;
* **PAM(Pulse Amplitude Modulation,脉冲幅度调制)**:通过不同的脉冲幅度表示数据;
* **5**:每对线路使用5个电平。
PAM5的5个电平通常表示为:
{-2,-1,0,+1,+2}
其中4个电平承担数据编码,额外的一个电平可用于控制和:
**FEC(Forward Error Correction,前向纠错)**
==== 10.2 四维符号 ====
4D符号可以表示为:
(An,Bn,Cn,Dn)
其中:
* An:第1对双绞线上的符号;
* Bn:第2对双绞线上的符号;
* Cn:第3对双绞线上的符号;
* Dn:第4对双绞线上的符号。
4对线路在同一时刻共同组成一个四维信号。
==== 10.3 1000BASE-T中的速率关系 ====
1000BASE-T使用:
* 5类或更高等级双绞线;
* 共8根导线,即4对双绞线;
* 全双工基带传输;
* 4对线同时发送和接收数据;
* 每对线的码元速率为125 MBaud;
* 每个码元携带约2 bit有效信息。
每对线路的数据速率为:
125 MBaud × 2 bit/码元 = 250 Mb/s
4对线路合计:
250 Mb/s × 4 = 1000 Mb/s = 1 Gb/s
==== 10.4 特点 ====
* 使用多电平信号提高单个码元的信息承载量;
* 4对双绞线并行传输;
* 能够在普通双绞线上实现1 Gb/s传输;
* 对信号处理、回波抵消和串扰消除要求较高;
* 实际系统还需结合编码、均衡和纠错机制。
===== 11. 编码方案重点比较 =====
^ 编码方式 ^ 使用电平 ^ 数据判定方式 ^ 自同步能力 ^ 带宽需求 ^ 典型应用 ^
| 单极性码 | 0、单一极性 | 绝对电平 | 差 | 较低 | TTY兼容接口 |
| 极性码 | 正、负 | 绝对电平 | 差 | 较低 | 基础数字传输 |
| AMI | 正、零、负 | 1交替正负,0为零 | 连续0时较差 | 较低 | 数字通信线路 |
| RZ | 正、零、负 | 码元内回零 | 较好 | 较高 | 需要同步的线路 |
| NRZ-I | 两个电平 | 1翻转,0不翻转 | 连续0时较差 | 较低 | 与4B/5B配合 |
| 曼彻斯特 | 两个电平 | 位中间跳变方向 | 强 | 高 | 传统以太网 |
| 差分曼彻斯特 | 两个电平 | 位开始处是否跳变 | 强 | 高 | 令牌环网 |
| MLT-3 | 正、零、负 | 1改变状态,0保持 | 较弱 | 较低 | 100BASE-TX |
| 4B/5B | 二进制代码组 | 4位映射5位 | 增强同步 | 增加25%编码量 | 100BASE-TX、100BASE-FX |
| 8B/6T | 三个电平 | 8位映射6个三元符号 | 较好 | 较低 | 100BASE-T4 |
| 4D-PAM5 | 每线5个电平 | 4对线路联合编码 | 较好 | 利用率高 | 1000BASE-T |
===== 12. 典型以太网编码关系 =====
^ 以太网标准 ^ 英文含义 ^ 主要编码技术 ^ 传输介质 ^
| 10BASE-T | 10 Mb/s Baseband over Twisted Pair(10 Mb/s双绞线基带以太网) | Manchester(曼彻斯特码) | 双绞线 |
| 100BASE-TX | 100 Mb/s Baseband over Twisted Pair(100 Mb/s双绞线基带以太网) | 4B/5B、NRZ-I、MLT-3 | 两对双绞线 |
| 100BASE-FX | 100 Mb/s Baseband over Fiber(100 Mb/s光纤基带以太网) | 4B/5B、NRZ-I | 光纤 |
| 100BASE-T4 | 100 Mb/s Baseband over 4 Twisted Pairs(100 Mb/s四对双绞线基带以太网) | 8B/6T | 四对双绞线 |
| 1000BASE-T | 1000 Mb/s Baseband over Twisted Pair(双绞线千兆以太网) | 4D-PAM5 | 四对双绞线 |
===== 13. 考试重点 =====
**必须掌握的编码规则**
- AMI:1交替使用正、负脉冲,0使用零电平。
- NRZ-I:1翻转,0保持不变。
- 曼彻斯特:每一位中间必须跳变,跳变方向表示数据。
- 差分曼彻斯特:位中间跳变用于同步,位开始处是否跳变表示数据。
- MLT-3:0保持电平,1按顺序切换电平状态。
- 4B/5B:4位数据变为5位代码,编码效率为80%。
- 8B/6T:8位数据变为6个三元符号。
- 4D-PAM5:4对线路、每对5电平,用于1000BASE-T。
**常见易错点**
* MLT-3的“3”表示3种电平状态,不是每个码元携带3 bit。
* 4B/5B不是直接产生电信号的完整线路编码,通常还要配合NRZ-I或MLT-3。
* 曼彻斯特码和差分曼彻斯特码都有自同步能力,但数据判定方法不同。
* NRZ-I中的数据由“是否翻转”表示,而不是由绝对高低电平表示。
* Baud是码元速率,b/s是数据传输速率,两者不能直接等同。
* 多电平编码可以提高带宽利用率,但会降低相邻电平的抗噪声裕量。
===== 14. 英文缩写速查表 =====
^ 缩写 ^ 英文全称 ^ 中文含义 ^
| AMI | Alternate Mark Inversion | 信号交替反转编码 |
| B6ZS | Bipolar with 6-Zero Substitution | 六零替代双极性编码 |
| RZ | Return to Zero | 归零码 |
| NRZ | Non-Return-to-Zero | 不归零码 |
| NRZ-I | Non-Return-to-Zero Inverted | 不归零反相编码 |
| MLT-3 | Multi-Level Transmit-3 | 三级多电平传输编码 |
| 4B/5B | 4 Binary/5 Binary | 4比特映射5比特编码 |
| 8B/10B | 8 Binary/10 Binary | 8比特映射10比特编码 |
| 8B/6T | 8 Binary/6 Ternary | 8比特映射6个三元符号编码 |
| 4D-PAM5 | 4-Dimensional 5-Level Pulse Amplitude Modulation | 四维五电平脉冲幅度调制 |
| PAM | Pulse Amplitude Modulation | 脉冲幅度调制 |
| FEC | Forward Error Correction | 前向纠错 |
| TTY | Teletypewriter | 电传打字机 |
| PC | Personal Computer | 个人计算机 |
| BASE | Baseband | 基带传输 |
| TX | Twisted Pair,实际标准名称中的介质变体标识 | 双绞线传输变体 |
| FX | Fiber,实际标准名称中的光纤变体标识 | 光纤传输变体 |
| Ethernet | Ethernet | 以太网 |
| Token Ring | Token Ring | 令牌环网 |
| Baud / Bd | Baud | 波特,即每秒传输的码元数 |
| b/s | bit per second | 比特每秒 |
| Mb/s | Megabit per second | 兆比特每秒 |
| MBaud / MBd | MegaBaud | 兆波特,每秒一百万个码元 |
| Gb/s | Gigabit per second | 吉比特每秒 |
===== 15. 相关条目 =====
* [[network_planner:chapter_01:01_03_01_basic_concepts|1.3.1 数据通信的基本概念]]
* [[network_planner:chapter_01:01_03_03_digital_modulation|1.3.3 数字调制技术]]
* [[network_planner:chapter_01:01_02_network_architecture|1.2 计算机网络体系结构]]
* [[network_planner:chapter_01:start|返回第1章首页]]
{{tag>软考 网络规划设计师 计算机网络 数据通信 数据编码 线路编码 AMI NRZ Manchester MLT-3 4B5B 8B6T PAM5}}