主要内容
数字到数字转换
·线路编码
·线路编码方案
·块编码
·扰动
模拟到数字转换
·脉冲码调制(PCM)
·Delta调制(DM)
传输模式
·并行传输
·串行传输
一、数字到数字转换
将数字数据转换为数字信号涉及三种技术: 线路编码(line coding)、块编码(block coding)、 扰动(scrambling)。线路编码总是需要的,块编码和扰动可按需提供。
线路编码是将数字数据转换为数字信号的过程——数据在计算机中以位序列形式存放,在发送端,数字数据被编码成数字信号,在接收端解码数字信号重新生成原数字数据。
图4.1 线路编码与解码
线路编码
数据元素和信号元素
数据元素(data element):表示一块信息的最小实体,即位(bit),是我们需要发送的,被承载的。
信号元素(signal element):是数字信号的最小单元,承载数据单元,是我们能发送的,是传输载体。
定义r为每个信号元素承载的数据元素的数量,如果一个数据元素被一个信号元素承载,则r = 1,如果一个信号元素承载两个数据元素,则r = 2,如果两个信号元素承载一个数据元素,则r = 1/2,如果三个信号元素承载四个数据元素,则r = 4/3。
图4.2 信号元素和数据元素
信号元素与数据元素的关系就是如何用信号表示传输的数据,即如何表示0,1 。
数据速率与信号速率
数据速率:每秒钟发送的数据元素(位)的数量,单位是bps(bits per second),也叫比特率; 信号速率:每秒钟发送的信号元素的数量(准确说法:信号电平发生改变或被调制的速率),单位是波特率(baud),或者叫做脉冲速率(pulse rate)、调制速率(modulation rate)或波特率(baud rate)
数据通信的一个目标:增加数据速率(增加了传输速度)而降低信号速率(降低了带宽要求)。
数据速率与信号速率的关系
注:N:数据速率,单位bps c:情形因子(case factor),会根据情形(不同数据模式),改变 S:是信号速率 r:比率。
例4.1:
一个信号携带数据,一个数据元素编码成一个信号元素(r=1)。如果比特率是100kbps,c在0和1之间,那么波特率的平均值是多少?
解: 假定c的平均值是1/2,那么波特率是:
例4.2:
通道的最大数据速率是Nmax = 2 × B × log2 L (由奈奎斯特公式定义),这与前面定义的Nmax公式一致吗?
解: 有L个电平信号,每个电平可以携带log2L个比特。如果每个电平与一个信号元素对应,假定一般情形(c=1/2),则
基线、基线偏移和直流分量
基线(Baseline):解码数字信号时,接收方计算收到信号功率的运行平均值。输入信号的功率会与基线比较来确定数据元素的值。
基线偏移(Baseline Wandering):指基线随时间定向的缓慢变化。0或者1的长字串通常(但不绝对)会引起基线偏移,使得接收方不能正确地进行解码,好的线路编码方案需要防止基线偏移。
直流成分(DC Components):接近于零频率的成分称为直流成分(即常量),这会给不允许通过低频率的系统或者使用电子耦合的系统(如变压器)带来问题。
自同步
为了正确解释发送方的信号,接收方的位间隔与发送方的位间隔必须严格对应与匹配(图4.3), 自同步数字信号在传输的数据中包含有定时信息, 通常使用信号中包含有提示接收方起始、中间和结束位置的脉冲的跳变(transition)完成自同步。
图4.3 缺乏同步的结果(接收方间隔变短)
例4.3:
在数字传输中,接收方时钟比发送方时钟快0.1%, 如果数据速率是1kbps,则接收方每秒钟可以接收到多少额外的位?如果数据速率是 1Mbps呢?
解: 在1kbps时,接收方接收的速率是1001而不是1000bps。
在1Mbps时,接收方接收的速率是1,001,000 而不是 1,000,000 bps。
线路编码方案
单极NRZ方案
·单极:所有电平都在时间轴的一边。
·单极NRZ:不归零,在位的中间信号不会回到0,不用于数据通信中。
图4.5 单极NRZ方案
极性NRZ-L方案和极性NRZ-I方案
·极性:电平在时间轴的两边
·极性NRZ:信号振幅使用两个电平,有NRZ-L(NRZ电平编码,电平决定位值)和NRZ-I(NRZ反相编码,电平是否跳转决定位值)两种形式。
图4.6 极性NRZ-L方案和极性NRZ-I方案
NRZ-L(全0和全1)和NRZ-I(全0)都有基线偏移问题。 |
NRZ-L(全0和全1)和NRZ-I(全0)都有同步问题。 |
NRZ-L和NRZ-I都有N/2 Bd的平均信号速率 |
NRZ-L和NRZ-I都有DC问题(当频率接近于0时) |
例4.4:
系统使用NRZ-I传输10Mbps的数据,试问平均信号速率和最小带宽是多少?
解: 平均信号速率是S=N/2=5Mbaud,平均波特率的最小带宽是Bmin=S=5MHz。
极性RZ(归零)编码方案
NRZ在发送方和接收方时钟不同步时有问题,不知位何时结束,下一位何时开始,RZ编码在每个位中间信号变为0,解决同步问题,信号有三个值:正值,负值和零。 缺点:两个信号变化编码一个位,占用的带宽大,三个电平的生成和辨别更加困难,已不再使用。
图4.7 极性RZ(归零)编码方案
极性-双相(biphase)编码
位中间跳变思想:曼彻斯特编码和差分曼彻斯特编码
曼彻斯特编码:RZ的位中间跳变 + NRZ-L 位的持续时间被二等分,前半部分电平保持一个水平,后半部分变成另外一个水平 位中间的跳变提供了同步 0:由高到低,1:由低到高。
差分曼彻斯特编码:RZ + NRZ-I 中间总有跳变,值在位起始位置确定 1:起始没有跳变; 0:起始有跳变。
图4.8 极性双相:曼彻斯特编码和差分曼彻斯特编码
在曼彻斯特编码和差分曼彻斯特编码中,位中间的跳变用于同步,值要么在位中间,要么在位起始位置。没有基线偏移,而且由于每个位是正负电平值,没有DC成分; 但最小带宽(信号速率)是NRZ的两倍。
双极性方案
也称为多电平二进制(multilevel binary)编码, 一个数据元素的电平是0,另一个数据元素的电平在正值和负值间交替, 包括交替信号反转AMI(alternate mark inversion)和伪三元编码等。
AMI:交替的1的翻转替换,0电平表示0,交替正负电平表示1。
伪三元编码:是AMI的一个变形,1编码成0电平,0编码成正负交替电平。
信号速率与NRZ一样,但没有DC成分;有同步问题(扰动技术解决)。
图4.9 双极性方案:AMI和伪三元码
多电平方案
通过把m个数据元素的模式编码成n个信号元素的模式,增加每波特的位数。若只有两种数据元素(0,1),表示m个数据元素组可以产生2^m个数据模式组合,不同信号元素可以用不同的电平表示,L个不同的电平可以产生L^n个信号模式组合。
若2^m= L^n,每个数据模式编成一个信号模式
若2^m<L^n,数据模式只能占据一个信号模式的子集
若2^m>L^n,无法数据编码
使用mBnL来表示
m表示二进制模式的长度
B表示二进制数据 n是信号模式的长度
L是信号的电平数,若L=2,用B替换
若L=3,则用T替换
若L=4,则用Q替换
在mBnL 方案中, m个数据元素模式编码成n信号元素模式, 2^m ≤ L^n。
图4.10 多电平2B1Q:2位数据模式编码成一个4电平信号元素
图4.11 多电平:8B6T编码
8位数据模式编码成6个信号元素模式,每个信号有3种电平。
平均信号速度理论值:
最小带宽接近:
图4.12 多电平:4D-PAM5方案
4维5级脉冲振幅调制(four dimensional five-level pulse amplitude) 4D: 数据同时通过4条线路发送 5个电平:-2、-1、0、1、2 0只用于发送差错检测 若编码是一维的,4个电平产生类似于8B4Q 信号速率可以降低到N/8 G比特LAN使用这个技术来通过4条铜线(能处理125MBd)发送1Gbps的数据。
图4.13 多传输:MLT-3方案
MLT-3:三电平多线路传输(multiline transmission, three level) 是一种多于两个跳变规则的差分编码(相对于NRZ-I和差分曼彻斯特编码) 使用三个电平和三个跳变规则在电平间跳动 三个电平是:+V、0、-V(100Base-TX) 规则: 如果下一位是0,没有跳变(全0没有自同步) 如果下一位是1且当前电平不是0,下一个电平是0 如果下一位是1且当前电平是0,下一个电平是最后一个非零电平的相反值。
块编码(block coding)
为了确保同步,我们需要一些冗余,并由此提供一些内在差错检测,块编码把m位的块变成n位的块,n>m,块编码通常称为mB/nB 编码技术,用n位组替换m位组(注意:块编码中的斜线,与多电平方案区分)。 块编码主要包含三个步骤:分组、置换和组合。
图4.14 块编码概念
上文提到,NRZ-I有很好的信号速率,是双相编码的一半,但有同步问题(连续的0时,无反相)。 一种解决方法是在使用NRZ-I编码前改变位流,4B/5B可以实现此目的,100Base-FX:4B/5B+NRZ-I。
图4.15 使用块编码 4B/5B和线路编码NRZ-I的组合方案
表4.2 4B/5B映射码
4B/5B编码方案解决了NRZ-I的同步问题,但是它增加了NRZ-I的信号速率,冗余位比原来增加25%的波特,也没有解决NRZ-I的DC成分问题。
图4.16 4B/5B块编码进行置换的例子
例4.5:
我们需要以1Mbps的数据速率发送数据,使用4B/5B和NRZ-I的组合,或曼彻斯特编码,最小的带宽是多少?
解: 首先4B/5B块编码增加比特率到1.25Mbps. 使用NRZ-I的最小带宽是N/2或625kHz。曼彻斯特编码需要的最小带宽1MHz。第一个选择需要更低的带宽,但有DC分量;第二个选择需要更高的带宽,但没有DC分量。
图4.17 8B/10B块编码
8B/10B编码类似于4B/5B编码,8位数据组被置换成10位编码,提供了更高的差错控制能力 实际上是5B/6B编码和3B/4B编码的组合(简化映射表) 为了防止连续0或者1的长串,使用不均等性控制器 编码有210-28=768个冗余组,可用于不均等性校验和差错检测。
扰动(scrambling)或扰码
双相编码适用于LAN中间站的专用链路,不适用于长距离通信(带宽需求高),块编码和NRZ编码的组合有DC分量,也不适合于长距离通信 双极性AMI有窄带宽且没有DC分量,但当连续0的长序列会失去同步。
解决:修改部分AMI规则引入扰动(或扰码),不增加位数将长0替换。
图4.18 使用扰动的AMI
B8ZS:8零替换的双极编码方案
8个连续0电平会被替换成000VB0VB V表示违反(Violation),是个非零电平,与前一个非零脉冲极性相同的极性,违反AMI编码规则(为什么要违反?),B表示双极,表示与AMI相一致的非零电平,即与前一个非零脉冲极性相反的极性 两正两负,维持了DC平衡。
图4.19 B8ZS:8零替换的双极编码方案
HDB3:高密度双极3零方案
4个连续0电平被置换成000V或B00V 两个不同的置换的原因是为了维持每次置换后非零脉冲为偶数,如果最后一次置换后的非零脉冲数是奇数,置换为000V,使得非零脉冲总数为偶数 如果最后一次置换后的非零脉冲数是偶数,置换为B00V,使得非零脉冲总数为偶数。
HDB3替换规则:
连续的两个违规码之间是正负极交替的,不会产生直流成分。
二、模拟到数字的转换
数字信号安全性、保密性好,抗干扰性好,随着大规模集成电路和超大规模集成电路体积与价格上的降低,今天的趋势是把模拟信号转换成数字信号。
两种转换(数字化)方案——脉冲码调制PCM(pulse code modulation)、Delta调制(delta modulation)或增量调制。
图4.21 PCM编码器:采样(脉冲振幅调制PAM)、量化和编码
采样
三种采样方法
理想采样:对来自模拟信号的脉冲进行采样,不容易实现。
自然采样:采样发生时高速开关开启很短的时间,由此样本序列保持了模拟信号的形状。
方顶采样:通过适用电路产生方顶样本,最常用。
图4.22 PCM的三种不同采样方法
采样速率:根据Nyquist定理,为了再生原始模拟信号,采样速率必须至少是信号所含最高频率的2倍。
图4.23 低通和带通信号的Nyquist采样速率
例4.6:
对于Nyquist定理的一个直观实例,让我们以三种采样率对简单正弦波进行采样:fs=4f(2倍奈奎斯特速率),fs=2f(奈奎斯特速率),和 fs=f(一半奈奎斯特速率),图4.24给出了采样后和后续的信号恢复。
可以看到,以奈奎斯特速率进行采样可以得到与原始正弦波较好近似的信号(图4.24a),图4.24b部分过采样得到相同的近似,但它是冗余的,没必要。低于奈奎斯特速率的采样(图4.24c)不能产生与原始正弦波相似的信号.。
图4.24 不同采样率下采样正弦波的恢复
例4.7:
一个有趣的例子,如果我们对诸如时钟指针旋转的周期性事件进行采样,我们会看到什么?时钟的分针周期为60秒。根据奈奎斯特定理,我们需要每隔30秒(Ts=1/2T或fs=2f)对分针进行采样(拍照并发送)。在图4.25a中, 样本点依次为12, 6, 12, 6, 12和6。样本的接收方无法知道时钟是向前走还是向后走。在图4.25b部分,我们以两倍奈奎斯特(每隔15s)进行采样,样本点依次是12, 3, 6, 9和12,时钟在向前走。在图4.25c中,我们低于奈奎斯特速率的采样率(Ts=3/4T或fs=4/3f)进行采样,样本点依次是12, 9, 6, 3和12,虽然时钟在向前走,但接收方认为时钟在往后走。
图4.25 对时钟分针进行采样
例4.8:
与例子4.7相似的一个例子是电影中向前移动的汽车看起来车轮向后转,这可以用欠采样解释。电影以每秒24帧的速度拍摄,如果车轮以高于每秒12次的速度旋转,欠采样就会产生向后旋转的印象。
例4.9:
电话公司假定语音的最高频率为4000Hz对语音进行采样,因此采样率是每秒8000个样本。
例4.10:
一个复杂的低通信号带宽为200kHz,那么这个信号的最小采样率是多少?
解:
低通信号的带宽在0和f之间,f是信号的最大频率。因此,我们以两倍这个最高频率(200kHz)对这个信号进行采样,因此采样速率是每秒400,000个样本。
例4.11:
一个复杂的带通信号带宽为200kHz,那么这个信号的最小采样率是什么 ?
解:
因为我们不知道带宽从何开始到何结束,所以我们无法找到这个例子中的最小采样率,我们不知道这个信号中的最大频率。
量化
采样后的结果是一系列振幅值介于信号最大振幅和最小振幅间的脉冲,为了更好描述,我们需要进行量化。
量化等级L:取决于模拟信号振幅范围以及需要准确恢复信号的程度(如果振幅变化很大而L值较低,就会增加量化误差)
量化误差(Quantization errors):量化是一个近似过程 输出值与实际输入值之间的差值 量化误差改变了信号的信噪比,可以证明量化误差对信号SNRdB的影响取决于量化级别L或每个样本位数nb。
图4.26 采样信号的量化和编码
例4.12:
图4.26例子中的 SNRdB 是多少?
解: 我们可以使用公式来解决这个量化值,有8个级别,每个样本有3位,所以 SNRdB = 6.02×3 + 1.76 = 19.82dB
结论:增加级别数就会增加SNR。
例4.13:
电话用户线路必须有高于40的SNRdB,那么每个样本的最小位数是多少?
解: 我们可以计算位数如下:
电话公司一般每个样本分配7 或 8 个位.。
对于很多应用,模拟信号中瞬时振幅的贡献是不均匀的。
均匀量化:△的高度是固定的。
非均匀量化:也就是△的高度不是固定的,低振幅时△较大,而接近高振幅时△较小。
编码:采样后的数据用多少位比特表示,每个样本可以转换成nb个位的码字
比特率:
例4.14:
要数字化人的语音,假定每个样本有8个位,那么比特率是多少?
解: 人的语音通常包含0到4000Hz的频率,因此采样率和比特率可以计算如下:
原始信号恢复
图4.27 PCM解码器的组成
PCM带宽(给定低通模拟信号带宽Banalog)
例4.15:
有一个4kHz的低通信号,如果发送这个模拟信号,需要最小带宽是4kHz的通道。如果数字化这个信号并且每个样本发送8个位,需要最小带宽是8×4kHz=32kHz的通道。
Delta调制(DM)或增量调制
PCM技术十分复杂,开发其他技术来减少PCM的复杂性,最简单的一种是Delta调制。
PCM得到每个样本的信号振幅值,DM从前一个样本中得到变化(寻找当前样本与前一个样本的改变值)。
在每个采样区间,调制器将模拟信号的值与梯形信号的最后一个值比较,如果模拟信号的振幅大,数字数据中的下一个位就是1,否则为0; 如果下一位是1,梯形信号生成器把梯形信号的最后一个点向上移delta,否则下移delta; 注意:比较时需要一个延迟单元
图4.29 Delta调制器组成
图4.30 Delta解调器组成
三、传输模式
通过链路传输二进制数据可以采用并行模式或者串行模式:
在并行模式中,每个时钟脉冲发送多位
在串行模式中,每个时钟脉冲发送1位
并行传输只有一种方式,串行传输则分为三类:异步、同步和等时。
图4.31 数据传输模式
并行传输
图4.32 并行传输
每次使用n条线路传送n位 并行传输的优点是速度 缺点是成本高,需要n条线路,通常只用于短距离通信。
图4.33 串行传输
位是一个一个依次传输的 两个通信设备之间只需要一条通道 串行传输的优点是只要一条通信信道,成本只有并行的1/n 接口处需要并/串和串/并转换设备(设备内部是并行的)。
异步传输
在传输中信号的时序并不重要,信息的接收和转换通过约定的模式进行(不管信息发送的节奏) 约定模式基于将位流组成字节的方式建立,作为一个单位沿着链路传输(一次一个字符) 没有同步时钟,增加起始位和停止位。
在异步传输过程中,需要在每个字节开始时发送1个起始位(通常是0),结束时发送1个或者多个停止位(通常是1)。在每个字节之间会有一个时间间隔。
另外注意,异步在这里是指在字节级上的异步,但是每位仍然要同步,它们的持续时间是相同的。
图4.34 异步传输
有额外开销(起始位、停止位、位流中插入间隙),比没有附加控制信息的传输运行要慢 既便宜又有效,对于低速通信很有吸引力,例如键盘到计算机的连接。
同步传输
位流被组合成更长的“帧”,一帧包含多个字节; 引入帧内的各字节之间没有间隙; 在同步传输模式中,依次发送位流而不含起始位、停止位和间隙,接收方负责将位流进行分组。
发送器和接收器之间时钟同步: 发送器和接收器间提供一条独立的时钟线路,短距离可以,长距离时同步脉冲会受到损伤,产生时序上的误差 将时钟信号嵌入到数据信号中,比如数字信号中的曼彻斯特编码或差分曼彻斯特编码,另一个级别的同步:接收器能够判断数据块的开始和结束 加上前同步码和后同步码(再加上控制信息和实际数据组成帧)。
图4.35 同步传输
同步传输的优点是速度快 同步传输通常多用于传输大块二进制数据。
等时传输
保证数据以固定速率到达,在实时音频和视频中,帧间的不等延迟是不可接受的,整个流必须同步。