数字基带信号的码型

各位同学,今天我们来聊聊数字基带信号的码型。说实话,这是通信系统里最基础、也最容易踩坑的地方。我刚开始做项目时,就因为码型选错,折腾了整整一周才找到问题。嗯,咱们今天就把这几种码型彻底讲透。

1. 单极性不归零码(NRZ)

先看最简单的。单极性不归零码,说白了就是用高电平表示“1”,低电平表示“0”。整个码元周期内电平保持不变,所以叫“不归零”。

核心特点:

  • 只有两种电平:+V 和 0
  • 一个码元周期内电平不变化
  • 实现简单,但存在直流分量

我在项目中遇到过这种情况:用单极性NRZ传数据,接收端总是误码。后来发现,是因为长串连续的“0”导致接收端时钟同步丢失。你想想看,如果连续几十个“0”,接收端根本不知道什么时候该采样。

避坑指南:我曾经在低速串口通信中用过单极性NRZ,结果发现长距离传输时,直流分量会严重衰减信号。后来改用双极性码,问题就解决了。

2. 双极性不归零码

双极性不归零码,用正电平表示“1”,负电平表示“0”。注意,这里没有零电平。

为什么要有双极性?我个人的习惯是,只要条件允许,优先选双极性。原因很简单:

  • 没有直流分量,适合变压器耦合
  • 抗干扰能力更强
  • 判决门限可以设在0电平,非常稳定

举个例子,我在做以太网接口时,用的就是双极性NRZ。当时测试发现,即使信号衰减到原来的十分之一,依然能正确判决。这就是双极性的优势。

3. 单极性归零码(RZ)

单极性归零码,和NRZ的区别在于:每个码元周期内,高电平只持续一半时间,然后归零。

为什么要归零?说白了,就是为了提取时钟。我记得有一次做光纤通信,接收端时钟恢复特别困难。后来换成RZ码,时钟提取就变得非常容易。

特性 NRZ RZ
带宽 较窄 较宽(约2倍)
时钟提取 困难 容易
直流分量

经验之谈:RZ码虽然带宽大,但时钟提取方便。如果你在做高速系统,时钟同步是瓶颈,不妨试试RZ码。

4. 双极性归零码

双极性归零码,结合了双极性和归零的特点。正电平表示“1”,负电平表示“0”,但每个码元周期内只持续一半时间,然后归零。

这种码型有什么好处?我总结三点:

  1. 无直流分量
  2. 时钟提取方便
  3. 抗干扰能力强

不过要注意,双极性RZ的带宽是NRZ的两倍。我在做低频系统时常用它,但高频系统就得权衡了。

5. 差分码

差分码比较特殊。它不是用电平高低表示“0”和“1”,而是用电平的变化来表示。

规则很简单:

  • 遇到“1”,电平翻转
  • 遇到“0”,电平不变

为什么会有人用差分码?我告诉你一个真实案例。有一次做远程监控系统,信号线经常接反。用普通码型,接反了数据全错。换成差分码后,接反了只是极性反转,数据依然能正确解码。

关键优势:差分码对极性不敏感。不管信号线怎么接,只要保证相对关系,数据就不会错。

知识体系总览

下面这张图,是我自己总结的码型选择逻辑。你仔细看看,就能明白什么时候该用什么码型。

数字基带信号码型选择逻辑 数字基带码型 不归零码 (NRZ) 归零码 (RZ) 差分码 单极性 NRZ 双极性 NRZ 单极性 RZ 双极性 RZ 各码型适用场景 • 单极性NRZ:低速、短距离、对成本敏感的系统 • 双极性NRZ:中高速、变压器耦合、需要抗干扰的系统 • 归零码:需要时钟提取、但带宽充裕的系统 • 差分码:信号极性可能反转、需要鲁棒性的系统

这张图我画了好几次才满意。你仔细看,从根节点往下,先分归零和不归零,再分单极性和双极性。差分码单独一路,因为它本质上是另一种编码思路。

我的建议:刚开始学的时候,先掌握单极性NRZ和双极性NRZ。这两种最常用,也最容易理解。等用熟了,再研究归零码和差分码。

好了,这几种码型就讲到这里。每种码型都有它的脾气,选对了事半功倍,选错了...嗯,你懂的。下次咱们聊聊码间串扰的问题,那个更刺激。


公众号:蓝海资料掘金营,微信deep3321