数据编码技术
编码是将数据或给定的字符、符号、字母等序列转换为指定格式的过程,以便安全地传输数据。解码是编码的逆过程,即从转换后的格式中提取信息。
数据编码
编码是使用各种电压或电流电平模式来表示传输链路上数字信号的1和0的过程。
常见的线路编码类型有单极性、极性、双极性和曼彻斯特。
编码技术
根据数据转换的类型,数据编码技术分为以下类型。
模拟数据到模拟信号 −模拟信号的幅度调制、频率调制和相位调制等调制技术属于此类别。
模拟数据到数字信号 − 此过程可称为数字化,由脉冲编码调制 (PCM) 完成。因此,它只不过是数字调制。正如我们已经讨论过的,采样和量化是其中的重要因素。增量调制比 PCM 提供更好的输出。
数字数据到模拟信号 − 幅度键控 (ASK)、频移键控 (FSK)、相移键控 (PSK) 等调制技术属于此类别。这些将在后续章节中讨论。
数字数据到数字信号 − 这些都在本节中。有几种方法可以将数字数据映射到数字信号。其中一些是 −
不归零 (NRZ)
NRZ 代码的高电压电平为 1,低电压电平为 0。NRZ 代码的主要行为是电压电平在位间隔期间保持不变。如果前一位的值和当前位的值相同,则不会指示位的结束或开始,并且它将保持相同的电压状态。
下图解释了 NRZ 编码的概念。
如果考虑上述示例,由于存在一长串恒定电压电平,并且由于没有位间隔,时钟同步可能会丢失,因此接收器很难区分 0 和 1。
NRZ 有两种变体,即 −
NRZ - L(NRZ - LEVEL)
只有当输入信号从 1 变为 0 或从 0 变为 1 时,信号的极性才会发生变化。它与 NRZ 相同,但是,输入信号的第一位应该具有极性改变。
NRZ - I (NRZ – 反转)
如果在输入信号中出现 1,则在位间隔开始时会发生转换。对于在输入信号中出现 0,则在位间隔开始时不会发生转换。
NRZ 代码有一个 缺点,即当存在 1 和 0 串时,发送器时钟与接收器时钟的同步会完全受到干扰。因此,需要提供单独的时钟线。
双相编码
每个位时间都会检查两次信号电平,包括开始和中间两次。因此,时钟速率是数据传输速率的两倍,因此调制速率也加倍。时钟取自信号本身。这种编码所需的带宽更大。
双相编码有两种类型。
- 双相曼彻斯特编码
- 差分曼彻斯特编码
双相曼彻斯特编码
在这种类型的编码中,转换是在位间隔的中间进行的。对于输入位 1,结果脉冲的转换是在间隔中间从高到低。而对于输入位 0,转换是从低到高。
差分曼彻斯特编码
在这种类型的编码中,转换总是发生在位间隔的中间。如果在位间隔的开始处发生转换,则输入位为 0。如果在位间隔开始时没有发生转换,则输入位为1。
下图说明了不同数字输入的 NRZ-L、NRZ-I、双相曼彻斯特和差分曼彻斯特编码的波形。
块编码
在块编码类型中,著名的有 4B/5B 编码和 8B/6T 编码。在这两种过程中,位数的处理方式不同。
4B/5B 编码
在曼彻斯特编码中,要发送数据,需要双倍速度的时钟,而不是 NRZ 编码。在这里,顾名思义,4 位代码被映射到 5 位,组中的 1 位最少。
通过在每个 4 个连续位块的位置分配一个 5 位等效字,可以避免 NRZ-I 编码中的时钟同步问题。这些 5 位字是在字典中预先确定的。
选择 5 位代码的基本思想是,它应该有一个前导 0,并且应该有不超过两个尾随 0。因此,选择这些字是为了使每个位块发生两次交易。
8B/6T 编码
我们使用了两个电压电平通过单个信号发送单个位。但是如果我们使用超过 3 个电压电平,我们可以在每个信号中发送更多位。
例如,如果使用 6 个电压电平来表示单个信号上的 8 位,则这种编码称为 8B/6T 编码。因此,在这种方法中,我们有多达 729 (3^6) 个信号组合和 256 (2^8) 个位组合。
这些技术主要用于通过压缩或编码将数字数据转换为数字信号,以实现可靠的数据传输。