2-4 编码与调制
# 240.2-4:编码与调制
本节课我们介绍编码与调制,在计算机网络中计算机需要处理和传输用户的文字、图片、音频和视频,他们可以统称为消息。
数据是运送消息的实体,我们人类比较熟悉的是十进制数据,而计算机只能处理二进制数据,也就是比特 0 和比特 1,计算机中的网卡将比特 0 和比特 1变换成相应的电信号,发送到网线,也就是说信号是数据的电磁表现,由信源发出的原始电信号称为基带信号。此时的信号还没经过编码与调制。
基带信号又可分为两类:
- 一类是数字基带信号,例如计算机内部 CPU 与内存之间传输的信号
- 另一类是模拟基带信号,例如麦克风收到声音后产生的音频信号
信号需要在信道中进行传输,信道可分为数字信道和模拟信道两种。对于数字基带信号在两种信道上传输:
- 在不改变信号性质的前提下,仅对数字基带信号的波形进行变换,称为编码。编码后产生的信号仍为数字信号,可以在数字信道中传输,例如以太网使用曼彻斯特编码,4B/5B、8B/10B 等编码
- 把数字基带信号的频率范围搬移到较高的频段,并转换为模拟信号,称为调制。调制后产生的信号是模拟信号,可以在模拟信道中传输。例如 WiFi 使用补码键控,直接序列扩频,正交评分复用等调制方法
对于模拟基带信号在两种信道上传输:对于模拟基带信号的处理,也有编码和调制两种方法:
- 对模拟基带信号进行编码的典型应用是:对音频信号进行编码的脉码调制 PCM。也就是将模拟音频信号通过采样,量化,编码这三个步骤进行数字化
- 对模拟信号进行调制的典型应用是将语音数据加载到模拟的载波信号中传输,例如传统的电话,另一个是频分复用 FDM 技术,可以充分利用带宽资源
- 调制方法有:例如 WIFI,采用补码键控 CCK/直接序列扩频 DSSS/正交频分服用 OFDM 等
接下来我们介绍码元的概念:在使用时间域的波形表示数字信号时,代表不同离散数值的基本波形成为码元。简单来说码元就是构成信号的一段波形,例如这是一个调频信号,这一段波形是构成该信号的一个基本波形,我们可称其为码元,它可以表示比特 0,当然也可以表示比特 1,这一段波形是构成该信号的另一个基本模型,也称为码元,它可以表示比特 1,可见该信号由两种码元构成。
顺便提一下传输媒体与信道的关系:严格来说,传输媒体和信道不能直接划等号,对于单工传输,传输媒体中只包含一个信道,要么是发送信道,要么是接收信道。而对于半双工和全双工传输,传输媒体中要包含两个信道,一个是发送信道,另一个是接收信道。如果使用信道复用技术,一条传输媒体还可以包含多个信道,在计算机网络中常见的是将数字基带信号通过编码或调制的方法在相应信道进行传输。
# 常用编码
# 不归零编码
下面我们介绍几种常用编码,这是待传输的比特流,这是采用不归零编码产生的该比特流的相应信号。
正电平表示比特 1,负电平表示比特 0,这是 0 电平,所谓不归零就是指在整个码元时间内电瓶不会出现零电平,例如该码元在其时间内全部是正电平,而该码元在其时间内全部是负点平。
请大家思考一下接收端如何判断出这是两个码元,而这是三个码元?
这需要发送方的发送与接收方的接收做到严格的同步,这就需要额外一根传输线来传输时钟信号,接收方按时钟信号的节拍来逐个接收码元。然而对于计算机网络宁愿利用传输线来传输数据信号,而不是要传输时钟信号!
# 归零编码
因此由于不归零编码存在同步问题,计算机网络中的数据传输不采用这类编码,这是归零编码,这是正电平,这是零电平,这是负电平。
很明显,每个码元传输结束后信号都要归零,所以接收方只要在信号归 0 后进行采样即可,不需要单独的时钟信号。实际上归零编码相当于把时钟信号用归零方式编码在了数据之内,这称为自同步信号,但是归零编码中大部分的数据带宽都用来传输归零而浪费掉了。
也就是说归零编码的优点是自同步,但缺点是编码效率低。
# 曼彻斯特编码
这是曼彻斯特编码。如图所示,在每个马原时间的中间时刻,信号都会发生跳变,比如负跳变表示比特 1,正跳变表示比特 0,码元中间时刻的跳变,既表示时钟,要表示数据,传统以太网使用的就是曼彻斯特编码:
# 差分曼彻斯特编码
这是差分曼彻斯特编码,如图所示在每个马原时间的中间时刻,信号都会发生跳变,与曼彻斯特编码不同,跳变仅表示时钟,而用马原开始处电瓶是否发生变化来表示数据。
如图所示,这是每个码元的开始处,这是每个码元的结束处:
依据码元开始处电平是否发生变化来表示比特 0 或比特 1。
差分曼彻斯特编码比曼彻斯特编码变化少,更适合较高的传输速率。
接下来我们做一个有关编码的练习题,这是计算机专业考研全国统考计算机网络部分,2013 年的题 34,我们一起来解题:
10BaseT 中的 10 表示带宽为 10 兆比特每秒,base 表示基带传输,T 表示双脚线,这种以太网使用曼彻斯特编码,根据曼彻斯特编码的特点,也就是每个码元在其中间时刻发生跳变,可以划分出所给信号中的各码元。至于正跳变表示 1 还是 0,负跳变表示 0 还是 1,没有具体规定,可以自行假设。
我们假设正跳变表示 1,负跳变表示 0,那么该码元表示 1,该码元表示一,该码元表示 0,该码元表示 0,该码元表示 1,至此可以发现没有一个答案是符合的,那说明我们的假设有错误:
那么应该是正跳变表示 0,负跳变表示 1,写出各码元所表示的比特,现在可以看出正确答案是 A。
# 基本调制
下面我们介绍基本调制方法,这是待传输的数字基带信号,也就是来自信源的原始数字信号,我们要使用模拟信道来传输,因此需要将数字基带信号通过调制方法,调制成可以在模拟信道中传输的模拟信号:
- 这是调幅所产生的模拟信号,无载波输出表示比特 0,有载波输出表示比特 1
- 这是调频所产生的模拟信号,频率 F1 的波形表示比特 0,频率 F2 的波形表示比特 1
- 这是调相所产生的模拟信号,初向位 0 度的波形表示比特 0,初向位 180 度的波形表示比特 1
# 混合调制
很明显使用基本调制方法,一个码元只能表示或者说包含一个比特信息,那么如何能使一个码元包含更多的比特?
可以采用混合调制的方法?因为频率和相位是相关的,也就是说频率是相位随时间的变化率,所以一次只能调至频率和相位两个中的一个。
通常情况下,相位和振幅可以结合起来一起调制,称为正交振幅调制 QAM。
我们来看属于正交振幅调制的 QAM16,这种调制方法所调制出的波形可以有 12 种相位,每种相位有一或两种振幅可选。我们可在星座图中画出该调制方法所产生的码元,该点就要表示其中的一个码元,它与圆心连线的距离可看作是振幅,连线与横坐标的夹角,可看作是相位:
这是 QAM16可调制出的 16 种码元。请大家思考一下,每个码元可以包含几个比特?由于 QAM 16 可以调制出 16 种码元,也就是 16 种波形,则每种码元可以对应表示 4 个比特:
那么每个码元与 4 个比特的对应关系可以随便定义吗?如图所示,这是我们随便定义的,每个码元所对应的 4 个比特:
假设 ABCD是接收端接收到的 5 个码元,这 5 个码元原本都是表示 4 个比特 0 的,由于传输过程中产生失真,导致他们在星座图中并未落在理想的位置,接收端会将码元 ABC 解调为 0000,这是正确的。
将码元 D 调为 0001 有一个错位,将码元 E 写条为 1111,4 位全错,这就说明每个码元与 4 个比特的对应关系不能随便定义。
每个码元与 4 个比特的对应关系应该采用格雷玛,也就是任意两个相邻码源,只有一个比特不同,如图所示;
# 总结
本节课到这里就结束了。在本节课中我们介绍了数据通信中有关编码、调制以及码源的概念,不归零编码,归零编码、曼彻斯特编码、差分、曼彻斯特编码等常用编码,条幅、调频调向这三种基本调制方法以及混合调制。
对于没有学习过通信原理这门课程的同学,本节课的内容稍有难度,但还是请大家认真搞懂本节课的内容,因为物理层的主要任务就是解决比特 0 和 1在线路上传输的问题,而本节课的内容就是其相关的理论基础。