2.6 数据编码技术
2.6.1 数据编码的类型
前面已经讲到,数据是信息的载体,计算机中的数据是以离散的“0”“1”二进制比特序列方式表示的。为了正确地传输数据,就必须对原始数据进行编码,而数据编码类型取决于通信子网的信道所支持的数据通信类型。
根据数据通信类型的不同,通信信道可分为模拟信道和数字信道两类。相应地,数据编码的方法也分为模拟数据编码和数字数据编码两类。
网络中基本的数据编码方式归纳如图2-35所示。
图2-35 网络中基本的数据编码方式
2.6.2 数字数据的模拟信号编码
公共电话线是为了传输模拟信号而设计的,为了利用廉价的公共电话交换网实现计算机之间的远程数据传输,就必须首先将发送端的数字信号调制成能够在公共电话网上传输的模拟信号,经传输后再在接收端将模拟信号解调成对应的数字信号。实现数字信号与模拟信号转换的设备是调制解调器。数据传输过程如图2-36所示。
图2-36 远程系统中的调制解调器
模拟信号传输的基础是载波,载波可以表示为
u(t)=Vsin(ωt+φ)
由上式可以看出,载波具有3大要素:幅度V、频率ω和相位φ。可以通过变化载波的3个要素来进行编码。这样就出现了3种基本的编码方式:振幅键控法(Amplitude Shift Keying,ASK)、移频键控法(Frequency-Shift Keying,FSK)和移相键控法(Phase Shift Keying,PSK)。
(1)振幅键控法。ASK方式就是通过改变载波的振幅V来表示数字“1”和“0”。例如,保持频率ω和相位φ不变,V不等于0时表示“1”,V等于0时表示“0”,如图2-37(a)所示。
图2-37 数字数据的模拟信号编码示意图
(2)移频键控法。FSK方式就是通过改变载波的角频率ω来表示数字“1”和“0”。例如,保持振幅V和相位φ不变,ω等于某值时表示“1”,ω等于另一个值时表示“0”,如图2-37(b)所示。
(3)移相键控法。PSK方式就是通过改变载波的相位φ来表示数字“1”和“0”。如果用相位的绝对值表示数字“1”和“0”,则称为绝对调相,如图2-37(c)所示;如果用相位的相对偏移值表示数字“1”和“0”,则称为相对调相,如图2-37(d)所示。PSK可以使用多于二相的相移,利用这种技术,可以对传输速率起到加倍的作用。
2.6.3 数字数据的数字信号编码
数字信号可以利用数字通信信道来直接传输(即基带传输),此时需要解决的问题是数字数据的数字信号表示以及收发两端之间的信号同步两个方面。
在基带传输中,数字数据的数字信号编码主要有以下3种方式。
(1)非归零码(Non-Return to Zero,NRZ)。非归零码可以用低电平表示“0”,用高电平表示“1”。必须在发送NRZ码的同时,用另一个信号同时传送同步时钟信号,如图2-38(a)所示。
(2)曼彻斯特编码(Manchester)。其编码规则是:每比特的周期T分为前T/2与后T/2。前T/2传送该比特的反码,后T/2传送该比特的原码,如图2-38(b)所示。
(3)差分曼彻斯特编码(Difference Manchester)。其编码规则是:每比特的值根据开始边界是否发生电平跳变来决定。一个比特开始处出现电平跳变表示“0”,不出现跳变表示“1”,每比特中间的跳变仅用来作为同步信号,如图2-38(c)所示。
差分曼彻斯特编码和曼彻斯特编码都属于“自含时钟编码”,发送时不需要另外发送同步信号。
图2-38 数字数据的数字信号编码示意图
2.6.4 脉冲编码调制
脉冲编码调制(Pulse Code Modulation,PCM)是将模拟数据数字化的主要方法,其最大的特点是把连续输入的模拟数据变换为在时域和振幅上都离散的量,然后将其转化为代码形式传输。PCM一般通过采样、量化和编码3个步骤将连续变化的模拟数据转换为数字数据。
1.采样
每隔固定的时间间隔,采集模拟数据的瞬时值作为样本,这一系列连续的样本可用来代表模拟数据在某一区间随时间变化的值。采样频率以采样定理为依据,即当以高过两倍有效信号频率对模拟信号进行采样时,所得到的采样值就包含了原始信号的所有信息。采样过程如图2-39(a)所示。
2.量化
量化是将采样样本幅度按量化级决定取值的过程。经过量化后的样本幅度为离散值,而不是连续值。量化之前,要规定将信号分为若干量化级,如可分为8级、16级以及更多的量化级,这要根据精度来决定。精度高的可分为更多的级别。为便于用数字电路实现,其量化电平数一般为2的整数次幂,这样有利于采用二进制编码表示。量化过程如图2-39(b)所示。
图2-39 脉冲编码调制原理
3.编码
编码是用相应位数的二进制码来表示已经量化的采样样本的级别,如量化级是64,则需要8位编码。经过编码后,每个样本就由相应的编码脉冲表示。编码过程如图2-39(c)所示。