Appearance
数字信号编码方式
考情分析
数字信号编码方式是物理层的常考选择题内容。典型考法:给出一段比特序列和对应的波形图,要求判断使用了哪种编码方式;或者反过来,给定编码方式和比特序列,画出波形。曼彻斯特编码和差分曼彻斯特编码是重点中的重点。
考频:★★☆
为什么要编码
计算机内部的数据是数字信号(0 和 1),但直接传输方波信号在实际信道上会遇到问题:
- 时钟同步:收发双方的时钟频率不可能完全一致,长时间传输连续的 0 或 1 后,接收方会"数错"比特数
- 直流分量:某些编码方式产生的信号有直流分量,而有些传输介质(如变压器耦合)无法传输直流分量
- 带宽效率:不同编码方式占用的频带宽度不同
所以需要选择合适的编码方式,在信号特性和实用性之间取得平衡。
四种主要编码方式
非归零编码(NRZ)
规则: 高电平表示 1,低电平表示 0(或反过来)。整个码元期间电平保持不变。
数据: 1 0 1 1 0 0 1 0
NRZ: ┌──┐ ┌──┬──┐ ┌──┐
│ │ │ │ │ │ │
─────┘ └──┘──┘ │ └──┘──┘──┘ └──┘──特点:
- 实现简单
- 没有自同步能力——连续多个相同比特时,电平不变化,接收方无法从信号中提取时钟信息
- 有直流分量(如果 0 和 1 数量不均匀)
因为没有自同步能力,NRZ 在实际中很少单独使用,通常需要额外的时钟线。
非归零反转编码(NRZI)
规则: 遇到 1 时电平发生跳变,遇到 0 时电平不变。
数据: 1 0 1 1 0 0 1 0
NRZI: ┌──┐ ┌──┐ ┌──┬──┐
│ │ │ │ │ │ │
─────┘ └──┘──┘ └──┘──┘──┘ │ └──┘──特点:
- 对连续的 1 有一定的同步能力(每个 1 都有跳变)
- 对连续的 0 仍然没有同步能力
- USB 使用的就是 NRZI 编码
曼彻斯特编码(Manchester)
规则: 每个码元周期的中间都有一次电平跳变。
- 1 -> 前半周期高电平,后半周期低电平(即中间从高到低跳变)
- 0 -> 前半周期低电平,后半周期高电平(即中间从低到高跳变)
(注意:也有教材定义相反,408 以谢希仁教材为准,1 对应高->低。遇到题目先看是否有特别说明。)
数据: 1 0 1 1 0 0
曼彻斯特:
┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐
│ │ │ │ │ │ │ │ │ │ │ │
─────┘ └──┘ └──┘ └──┘ └──┘ └──┘ └──
高→低 低→高 高→低 高→低 低→高 低→高
=1 =0 =1 =1 =0 =0特点:
- 自同步:每个码元中间必定有跳变,接收方可以从中提取时钟信号
- 没有直流分量(每个码元内高低电平各占一半)
- 缺点:每个码元中间有一次跳变,码元边界可能还有一次跳变,导致所需带宽是 NRZ 的两倍。换句话说,占用带宽是原始信号的两倍
- 以太网(10BASE-T) 使用曼彻斯特编码
差分曼彻斯特编码(Differential Manchester)
规则: 每个码元中间同样有跳变(用于同步),但信息靠码元开始处是否跳变来表示:
- 0 -> 码元开始处有跳变
- 1 -> 码元开始处无跳变
(也有教材定义 0 无跳变、1 有跳变,408 按谢希仁教材为准。做题时看题目说明。)
数据: 1 0 1 1 0 0
差分曼彻斯特:
┌──┐ ┌──┐ ┌──┐ ┌──┐ ┌──┐
│ │ │ │ │ │ │ │ │ │
─────┘ └──┘──┘ └──┘ └──┘──┘ └──┘ └──
无跳变 有跳变 无跳变 无跳变 有跳变 有跳变
=1 =0 =1 =1 =0 =0特点:
- 自同步:码元中间必有跳变
- 抗干扰能力比曼彻斯特编码更强:信息由"是否跳变"而非"跳变方向"决定,所以即使信号极性反转也不影响解码
- 令牌环网(Token Ring) 使用差分曼彻斯特编码
四种编码对比
| 编码方式 | 自同步 | 编码规则 | 带宽效率 | 直流分量 | 典型应用 |
|---|---|---|---|---|---|
| NRZ | 无 | 高=1, 低=0 | 1 bit/码元 | 可能有 | 很少单独使用 |
| NRZI | 部分(对1) | 遇1跳变, 遇0不变 | 1 bit/码元 | 可能有 | USB |
| 曼彻斯特 | 有 | 中间跳变方向表示0/1 | 0.5 bit/码元 | 无 | 以太网 |
| 差分曼彻斯特 | 有 | 开始处是否跳变表示0/1 | 0.5 bit/码元 | 无 | 令牌环 |
带宽效率:NRZ/NRZI 的码元速率 = 比特速率,而曼彻斯特编码的码元速率 = 2 x 比特速率(因为每个比特周期内有 2 个信号单元)。所以曼彻斯特编码的带宽效率只有 NRZ 的一半。
交互可视化
下面的可视化工具可以输入一段比特序列,同时展示四种编码方式的波形对比。
解题方法
根据波形判断编码方式
看码元中间是否总有跳变
- 如果每个码元中间都有跳变 -> 曼彻斯特或差分曼彻斯特
- 如果不是 -> NRZ 或 NRZI
区分曼彻斯特和差分曼彻斯特
- 曼彻斯特:中间跳变方向直接对应 0/1
- 差分曼彻斯特:看码元开始处是否有跳变来判断 0/1
区分 NRZ 和 NRZI
- NRZ:电平值直接对应 0/1
- NRZI:电平变化(跳变)对应 1,不变对应 0
给定编码画波形
- 确定初始电平(题目一般会给,或者用"假设初始为低电平")
- 按规则逐个码元画出波形
- 对于曼彻斯特编码,先确定每个码元中间的跳变方向,再补全前半和后半的电平
- 对于差分曼彻斯特编码,先确定每个码元开始处是否跳变,再画出中间的必有跳变
易错点
1. 曼彻斯特编码中 1 和 0 的跳变方向
不同教材定义可能相反。谢希仁教材:1 = 高->低,0 = 低->高。做题时第一步先确认题目用的是哪种定义。
2. 差分曼彻斯特的"有跳变"对应 0 还是 1
同样存在教材差异。谢希仁教材:开始处有跳变 = 0,无跳变 = 1。关键是理解"差分"的含义——差分编码关注的是变化与否,而不是绝对电平值。
3. 曼彻斯特编码的带宽
曼彻斯特编码的信号变化速率是数据速率的两倍,所以所需带宽也是 NRZ 的两倍。这一点在选择题中经常以"10 Mbps 的以太网使用曼彻斯特编码,实际需要多大带宽"的形式出现。答案是 20 MHz。
4. 码元边界的跳变不是信息
在曼彻斯特编码中,码元边界处可能有跳变也可能没有(取决于相邻比特的值)。只有码元中间的跳变才携带信息。而差分曼彻斯特中,码元中间的跳变是用于同步的,码元开始处的跳变才携带信息。
高频考点清单
- 曼彻斯特编码的规则和波形画法
- 差分曼彻斯特编码的规则和波形画法
- 给定波形判断编码方式
- 曼彻斯特编码的带宽效率(是 NRZ 的一半)
- 自同步能力的对比(NRZ 无,曼彻斯特有,差分曼彻斯特有)
- 以太网用曼彻斯特编码,令牌环用差分曼彻斯特编码