Python微信订餐小程序课程视频
https://edu.csdn.net/course/detail/36074
Python实战量化交易理财系统
https://edu.csdn.net/course/detail/35475
本文地址:https://blog.csdn.net/faranten/p/16053852.html
转载请注明作者与出处
1 基础知识 Introduction to Physical Layer
from Data Communications and Networking:
One of the major functions of the physical layer is to move data in the form of electromagnetic signals across a transmission medium. Whether you are collecting numerical statistics from another computer, sending animated pictures from a design workstation, or causing a bell to ring at a distant control center, you are working with the transmission of data across network connections.
Generally, the data usable to a person or application are not in a form that can be transmitted over a network. For example, a photograph must first be changed to a form that transmission media can accept. Transmission media work by conducting energy along a physical path. For transmission, data needs to be changed to signals.
1.1 基本概念 Basic Terminology
在计算机网络领域,有四个最基本的概念:数据与信号,模拟和数字,它们排列组合,得到下面的四种组合:
- 模拟数据(analog data):连续的、直接体现信息的、不直接在通信介质上传播的
- 数字数据(digital data):离散的、直接体现信息的、不直接在通信介质上传播的
- 模拟信号(analog signals):连续的、不直接体现信息的、直接在通信介质上传播的
- 数字信号(digital signals):离散的、不直接体现信息的、直接在通信介质上传播的
这四者之间的转换可以通过一定的设备实现,常见的例子有:
- 电话(telephone):话音(属于模拟数据)和模拟信号之间的转换
- 调制解调器(modem):数字数据和模拟信号之间的转换
- 解编码器(codec):模拟信号和数字信号之间的转换
- 数字收发器(digital transceiver):数字数据和数字信号之间的转换
除此之外,周期(periodic)和非周期(nonperiodic)也是重要的概念,在实际的数据通信中,我们通常使用周期模拟信号(periodic analog signals)和非周期数字信号(nonperiodic digital signals)。
1.2 模拟信号 Analog Signals
模拟信号通过电压、电流等物理值来确定出信息的含义。我们通常使用傅里叶分析(Fourier analysis)将复杂的信号分解成若干个正弦型函数,由于正弦型函数具有周期性,因此对于具有周期性的模拟信号,我们很容易处理,但对于不具有显著周期性的模拟信号,对它进行傅里叶分析就会异常困难。
1.2.1 复合信号 Composite Signals
在数据通信中,我们常常用有限个已知的函数叠加起来去近似一个信号的传输方式,傅里叶分析保证了这一点。如果复合信号是具有周期性的,那么我们可以用有限个具有不同离散频率的信号去近似,这是离散的情况。如果复合信号是非周期性的,那么我们需要将(可能是无穷多个)具有不同连续频率的信号去近似。下面两幅图从 Time-Amplitude 坐标转换到 Frequency-Amplitude 坐标的角度说明了这一点:
1.2.2 带宽 Bandwidth
带宽(bandwidth)是一个十分重要的概念,它从根本上衡量和决定了传输的容量。回到 Frequency-Amplitude 坐标图,用来近似信号的一系列已知频率的信号分布在一个频率区间,能有效传输这些信号的频率区间称为带宽,带宽与最低频率或最高频率无关,仅与区间长度有关,如下图所示:
1.2.3 基带和通带 Baseband and Bandpass
基带通信(baseband transmission)指的是:我们用来近似信号而选定的正弦型函数的频率分布在一个从零开始的区间上。与此相反,通带通信(bandpass transmission)指的是:我们用来近似信号而选定的正弦型函数的频率分布在一个不从零开始的区间上。低通(low-pass)指的是在较低频率通过,它常和基带概念结合使用。
1.3 数字信号 Digital Signals
数字信号通过高低电平、跳变方向等逻辑值来确定出信息的含义。由于我们用离散的逻辑值而非连续的正弦型函数去近似信号,因此数字信号可以很好地处理那些周期性不显著的信号,从这里可以看出,数字信号相当于分布在无限带宽上的模拟信号。
1.3.1 比特速率和波特速率 Bit Rate and Baud Rate
比特速率(bit rate)指的是真实的比特位传输速度,单位是比特每秒(bps)。在实际传输过程中,如果数字信号的高低电平只有两级(即高电平和低电平),那么此时比特速率就是真正在物理介质上传输的速度。但是,高低电平可能存在多级方案,比如,当我们取四级电平的时候,在真实物理介质上的一个单元就可以代表两个比特位,这种单元传输的速度就称为波特速率(baud rate),单位为波特(baud)。
比特速率也称为数据速率(data rate)。波特速率也称为符号速率(signal rate)或调制速率(modulation rate)。
1.3.2 带宽 Bandwidth
对于模拟信号而言,带宽指的是一个频率区间,理想情况下我们可以用这个频率区间内的若干正弦型函数近似出一个信号。对于数字信号而言也有带宽的概念,它指的是每秒传输的比特数。这两种标准的带宽之间具有相互约束的关系,即一方的大小确定之后,另一方的大小也可以在一定条件下确定。
下面来看基带和通带对传输信号的要求。对于模拟信号而言,每个正弦型函数的频率实际上可以分布在任意一个位置(只要保证彼此之间的频率差不变,到达目的地后可以还原),因此基带和通带均可传输。而对于数字信号而言,它必须传输在基带、低通、且有无限或极宽的带宽,这是模拟数字信号中纯竖直段和纯水平段的信号所带来的要求。如果只能用通带形式来传输数字信号,则我们不能直接将数字信号输入通带信道,在输入通带信道之前必须进行从数字信号到模拟信号的转换。
1.4 传输 Transmission
1.4.1 损伤 Impairment
- 衰减(attenuation):能量在传输中减少,信号波形振幅减小,补偿方法为使信号通过放大器(amplifier)
- 失真(distortion):每个正弦型函数传播速度不一致,相位错开导致信号波形变形,没有显著有效补偿方法
- 噪声(noise):包括热噪声(thermal noise)、感应噪声(induced noise)、串扰(crosstalk)、脉冲噪声(impulse noise)等,表现方式也是信号波形变形。信噪比(Signal-to-Noise Ratio, SNR)定义为SNR=average signal poweraverage noise powerSNR=average signal poweraverage noise power\text{SNR}=\frac{\text{average signal power}}{\text{average noise power}},常常将其转换为分贝单位,转换公式为SNRdB=10log10SNRSNRdB=10log10SNR\text{SNR}_{\text{dB}}=10\log_{10}\text{SNR}
1.4.2 速率限制 Rate Limits
总的来说,速率受限于下面三个因素:
- 可用带宽
- 所使用信号的电平级数
- 信道的质量(信噪比等损伤因素的大小)
1.4.2.1 无噪声信道的Nyquist比特速率 Noiseless Channel: Nyquist Bit Rate
BitRate=2×bandwidth×log2LBitRate=2×bandwidth×log2L\text{BitRate}=2\times\text{bandwidth}\times\log_2L
上式中LLL为所有的可能的信号状态,比如当采用四级电平时,信号有四种状态,因此L=4L=4L=4。所以log2Llog2L\log_2L表示一次能等价传输的比特数(当L=4L=4L=4时该数值为222)。比特速率单位为比特每秒。
1.4.2.2 有噪声信道的Shannon容量 Noisy Channel: Shannon Capacity
Capacity=bandwidth×log2(1+SNR)Capacity=bandwidth×log2(1+SNR)\text{Capacity}=\text{bandwidth}\times\log_2(1+\text{SNR})
上面的式子给出了一个信道的理论最大容量,单位为比特每秒。
1.4.2.3 两个定理的分析 Using Nyquist Bit Rate and Shannon Capacity
例 A channel has B=1MHzB=1MHz\text{B}=1\text{MHz} and SNRdB=24dBSNRdB=24dB\text{SNR}_{\text{dB}}=24\text{dB}
(1) what is the channel capacity limit?
(2) Assume we can achieve the theatrical C, how many signal levels are required?
对于第一问,计算 Shannon 容量得到Capacity=bandwidth×log2(1+SNB)∼8MHzCapacity=bandwidth×log2(1+SNB)∼8MHz\text{Capacity}=\text{bandwidth}\times\log_2(1+\text{SNB})\sim8\text{MHz},然后为了确定电平级数,从 Nyquist 公式得到log2L=12BitRatebandwidth=12Capacitybandwidth=4log2L=12BitRatebandwidth=12Capacitybandwidth=4\log_2L=\frac12\frac{\text{BitRate}}{\text{bandwidth}}=\frac12\frac{\text{Capacity}}{\text{bandwidth}}=4,因此电平级数为161616。
从上面的例子其实可以看出,一般来说,Shannon 公式和 Nyquist 公式不是用于不同情况的两个平行关系的公式,而是一个用于理论分析、另一个根据理论值确定出电平级数,它们是理论与实际的关系,而一般不是一种情况和另一种情况的关系。
1.5 性能 Performance
现在来介绍几个网络物理层的性能指标:
- 带宽(bandwidth):分为以赫兹为单位的带宽(bandwidth in Hertz)和以每秒比特数为单位的带宽(bandwidth in bits per seconds),它们的关系和区别见 1.3.2 节。
- 吞吐量(throughput):网络容量的度量,表示单位时间内网络可以传送的数据位数(以比特每秒为单位),衡量了网络数据传送速度
- 负载(load):表示单位时间内注入(进入)网络的数据位数(以比特每秒为单位),衡量了数据涌入网络的速度
- 延迟(latency or delay):延迟有四个组成部分:
- 发送时延(transmission delay):设备发送一个数据块所需的时间,值为数据库长度信道bps带宽数据库长度信道bps带宽\frac{\text{数据库长度}}{\text{信道bps带宽}}
- 传播时延(propagation delay):信号通过传输介质的时间,值为传输长度传播速度传输长度传播速度\frac{\text{传输长度}}{\text{传播速度}},电信号传播速度为2×108m/s2×108m/s2\times10^8\text{m/s},为真空光速3×108m/s3×108m/s3\times10^8\text{m/s}的2323\frac23
- 节点处理时延(nodal processing delay):交换机、路由器等检查数据、选路的时间
- 排队时延(queuing delay):在交换机、路由器中排队等待的时间
- 抖动(jitter):在我们以相同时间间隔发送一系列连续的数据包时,如果每个数据包有不同的延迟,那么收到数据包的时间间隔就会有差异,比如在语音通话中这会导致很差的体验
2 数字信号 Digital Signals
from Data Communications and Networking:
A computer network is designed to send information from one point to another. This information needs to be converted to either a digital signal or an analog signal for transmission. In this chapter, we discuss the first choice, conversion to digital signals; in next Chapter, we discuss the second choice, conversion to analog signals.
We discussed the advantages and disadvantages of digital transmission over analog transmission in pervious Chapter 3. In this chapter, we show the schemes and techniques that we use to transmit data digitally. First, we discuss digital-to-digital conversion techniques, methods which convert digital data to digital signals. Second, we discuss analogto-digital conversion techniques, methods which change an analog signal to a digital signal. Finally, we discuss transmission modes.
只有信号才能直接在物理介质上传播,因此数据(不论是模拟数据还是数字数据)都必须先转换成信号(不论是模拟信号还是数字信号)。本章先讨论数字信号。
2.1 数字数据到数字信号 Digital-to-Digital Conversion
2.1.1 线路编码 Line Coding
线路编码(line coding)技术将数字数据转换为数字信号,也就是将一串真正表示数据的比特位(比如计算机内部存储数据的二进制比特位)转换为数字信号。在数据传输(data communications)领域,我们的目的是将数据元素(data element)传输到目的地,数据元素是表示数据的最小单位,比如比特位。但是受限于物理介质,直接传输数据元素往往比较低效,传输信号元素(signal element)比较高效。信号元素可以直接在物理介质上传输、是承载数据元素的最小单位、是数字信号的最小单元。总的来说,数据元素是我们需要传输的,而信号元素是我们能传输的;数据元素是被承载的,而信号元素是承载者。
在 1.3.2 节中,我们已经说明了:对于模拟信号而言,每个正弦型函数的频率实际上可以分布在任意一个位置(只要保证彼此之间的频率差不变,到达目的地后可以还原),因此基带和通带均可传输。而对于数字信号而言,它必须传输在基带、低通、且有无限或极宽的带宽,这是模拟数字信号中纯竖直段和纯水平段的信号所带来的要求。如果只能用通带形式来传输数字信号,则我们不能直接将数字信号输入通带信道,在输入通带信道之前必须进行从数字信号到模拟信号的转换。
可以定义rrr来表示一个信号元素所承载的数据元素。例如,如果一个信号元素可以代表一个比特位,则r=1r=1r=1,如果代表两个比特位则r=2r=2r=2。需要注意的是,rrr不一定为整数,这取决于数字数据到数字信号的转换方式。
在 1.3.1 节我们介绍过比特速率和波特速率,现在再来看,其实比特速率就是数据的传输速率,而波特速率就是信号的传输速率。下面的例子展示了如何计算信号传输速度的平均值:
例 A signal is carrying data in which one data element is encoded as one signal element (r = 1). If the bit rate is 100 kbps, what is the average value of the baud rate if c is between 0 and 1?
首先计算出ccc的平均值为1212\frac12,那么Save=c×N×(1/r)=12×100×103×(1/1)=50 kbaudSave=c×N×(1/r)=12×100×103×(1/1)=50 kbaudS_{\text{ave}}=c\times N\times(1/r)=\frac12\times100\times10^3\times(1/1)=50~\text{kbaud}。
现在我们可以说,在真实的传输环境中,是波特速率(而非比特速率)决定了所需带宽的大小。在之前的讨论中,我们已经说明了带宽可以指以赫兹为单位的带宽(bandwidth in Hertz)和以每秒比特数为单位的带宽(bandwidth in bits per seconds),所以严格来说,我们现在还需要定义以波特速率为单位的带宽,但我们不会这么做,事实上,带宽是一个复杂的概念,在今后的讨论中,我们将模糊地使用这个概念。
在具体讨论编码方案之前,先指出该领域的三个主要问题,分别为:
- 基线徘徊(baseline wandering):接收端对数字信号解码时,连续的000和111会导致信号平均值向下或向上偏移,因此理想情况的编码不应该出现连续过多的000或111
- 直流分量(DC components):连续多个000或111还可能导致信号的直流分量过多(这由傅里叶分析推出),因此信号在通过诸如带有变压器的同轴线缆或者线路时会有严重的衰减。另外,如果能够解决直流分量问题,就相当于同时解决了基线徘徊问题
- 自同步(self-synchronization):由于发送端和接收端时钟可能不同步,导致信号含义发生变化
下面将结合这三点来讨论具体的编码方案。
2.1.1.1 单极方案 Unipolar Scheme
- NRZ:电平111表示逻辑111,电平000表示逻辑000
2.1.1.2 极性方案 Polar Schemes
- NRZ-Level:电平111表示二进制111,电平−1−1-1表示二进制000
- NRZ-Invert:基于电平111和电平−1−1-1,如果跳变则为二进制111,不跳变则为二进制000
这两个方案的平均符号速率都为N2N2\frac{N}{2}(其中NNN为数据速率),因此带宽要求为N2N2\frac{N}{2},且都有直流分量。下面的例子展示了计算:
例 A system is using NRZ-I to transfer 10-Mbps data. What are the average signal rate and minimum bandwidth?
平均符号速率为S=N/2=500 kbaudS=N/2=500 kbaudS=N/2=500~\text{kbaud},满足这个符号速率的最小带宽为Bmin=S=500 kHzBmin=S=500 kHzB_{\text{min}}=S=500~\text{kHz}。
- RZ:如果当前为二进制000,则跳变到电平000,如果当前为二进制111,则跳变到电平111和电平−1−1-1(交替进行保证均值为000)
该方案平均符号速率为NNN,因此带宽需求增加到了NNN,但克服了直流分量问题。
- Manchester:给定时钟信号(传输速度为2N2N2N),将二进制数值和此时钟信号做同或运算(这是真实协议使用的定义,但 Tanenbaum 将其定义为做异或运算,考试时指明用哪种运算即可)
- Differential Manchester:给定时钟信号,若跳变则为二进制111,若不跳变则为二进制000
这两个方案平均符号速率为NNN,因此带宽需求为NNN,且都解决了自同步问题,第二种编码方式还解决了直流分量问题。下图给出了 Tanenbaum 定义下 Manchester 编码的生成原理:
2.1.1.3 双极方案 Bipolar Schemes
- AMI:若为二进制000则到达电平000或保持电平000不变,若为二进制111则到达电平111或电平−1−1-1(交替进行)
- Pseudoternary:和 AMI 相反
这两个方案的平均符号速率为N2N2\frac{N}{2},因此带宽要求为N2N2\frac{N}{2},克服了直流分量问题但没有解决自同步问题。
2.1.1.4 多电平方案 Multilevel Schemes
多电平方案的思路是引入多个电平级数,从而使一个信号元素承载更多的数据元素。
- 2B1Q:引入四级电平,并规定如图所示的映射法则
该方案的符号速率仅为N4N4\frac{N}{4},因此带宽要求下降至N4N4\frac{N}{4},通常有直流分量问题,且不能解决自同步问题。
多电平方案常见的还有:
- 8B6T
- 4D-PAM5
此处不再介绍,详见参考资料 Forouzan 著作。
2.1.1.5 多重转换方案 Multitransition Scheme
- MLT-3
此处不再介绍,详见参考资料 Forouzan 著作。
2.1.1.6 线路编码方案总结 Summary of Line Coding
Category | Scheme | Bandwidth | Characteriatic |
---|---|---|---|
Unipolar | NRZ | N/2N/2N/2 | 无自同步,有直流分量 |
Polar | NRZ-L | N/2N/2N/2 | 无自同步,有直流分量 |
Polar | NRZ-I | N/2N/2N/2 | 无自同步,有直流分量 |
Polar | RZ | NNN | 无自同步,无直流分量 |
Polar | Manchester | NNN | 有自同步,无直流分量,高带宽 |
Polar | Differential Manchester | NNN | 有自同步,无直流分量,高带宽 |
Bipolar | AMI | N/2N/2N/2 | 无自同步,有直流分量 |
Multilevel | 2B1Q | N/4N/4N/4 | 无自同步 |
Multilevel | 8B6T | 3N/43N/43N/4 | 有自同步,无直流分量 |
Multilevel | 4D-PAM5 | N/8N/8N/8 | 有自同步,无直流分量 |
Multitransition | MLT-3 | N/3N/3N/3 | 无自同步 |
2.1.2 块编码 Block Coding
块编码技术将mmm个比特编码为nnn个比特,该技术的目的一般为纠错、检错和保持信号的准确程度。现将所有mmm位的比特串构成的集合记为BmBmB^m,为了达到校验以及纠错的目的,我们必须对已有字符串附加信息,即将BmBmB^m映射到BnBnB^n(其中n>mn>mn>m),实现这个映射的函数eee称为编码函数(encoding function)。经过通道传输之后,可能会有噪声,理性情况下我们能够从BnBnB^n准确还原出BmBmB^m中的信息,完成这个功能的函数ddd称为解码函数(decoding function)。编码函数的最简单的例子就是奇偶校验编码,奇偶校验位的定义为
奇校验位偶校验位x¯n=x0⊕x1⊕⋯⊕xn−1xn=x0⊕x1⊕⋯⊕xn−1奇校验位x¯n=x0⊕x1⊕⋯⊕xn−1偶校验位xn=x0⊕x1⊕⋯⊕xn−1\begin{aligned}
\text{奇校验位}&\quad\bar{x}_n=x_0\oplus x_1\oplus\cdots\oplus x_{n-1}\
\text{偶校验位}&\quad x_n=x_0\oplus x_1\oplus\cdots\oplus x_{n-1}
\end{aligned}
奇偶校验可以检验出奇数个错误,无法检测出偶数个错误。
对于BnBnB^n中的xxx和yyy,x⊕yx⊕yx\oplus y中111的个数称为xxx和yyy的海明距离(Hamming distance),记为δ(x,y)δ(x,y)\delta(x,y),海明距离衡量了xxx和yyy中有多少位不同。下面不加证明地给出两个重要的定理(证明过程参见参考资料最后一项):
- Bm→BnBm→BnB^m\rightarrow B^n的编码函数eee能够检测出kkk个错误当且仅当BnBnB^n中的最小海明距离为k+1k+1k+1(如果最小海明距离为111,编码函数eee能检测出000个错误)
- Bn→BmBn→BmB^n\rightarrow B^m的解码函数ddd能够纠正kkk个错误当且仅当BnBnB^n中的最小海明距离为2k+12k+12k+1(如果最小海明距离为444,则k=(4−1)÷2=1k=(4−1)÷2=1k=(4-1)\div2=1)
其中,解码函数纠错的具体过程是最大似然法(maximum likelihood technique),详见参考资料 Kolman 著作。
现在来看两个简单的例子:
- 4B/5B:将四位比特位编码为五位比特位,编码原则为:
Data Sequence | Encoded Sequence | Control Sequence | Encoded Sequence |
---|---|---|---|
000000000000 | 111101111011110 | Q (Quiet) | 000000000000000 |
000100010001 | 010010100101001 | I (Idle) | 111111111111111 |
001000100010 | 101001010010100 | H (Halt) | 001000010000100 |
001100110011 | 101011010110101 | J (Start delimiter) | 110001100011000 |
010001000100 | 010100101001010 | K (Start delimiter) | 100011000110001 |
010101010101 | 010110101101011 | T (End delimiter) | 011010110101101 |
011001100110 | 011100111001110 | S (Set) | 110011100111001 |
011101110111 | 011110111101111 | R (Reset) | 001110011100111 |
100010001000 | 100101001010010 | ||
100110011001 | 100111001110011 | ||
101010101010 | 101101011010110 | ||
101110111011 | 101111011110111 | ||
110011001100 | 110101101011010 | ||
110111011101 | 110111101111011 | ||
111011101110 | 111001110011100 | ||
111111111111 | 111011110111101 |
例 We need to send data at a 1-Mbps rate. What is the minimum required bandwidth, using a combination of 4B/5B and NRZ-I or Manchester coding?
要以1MHz1MHz1\text{MHz}的速度传输数据(原始比特位),就需要以1.25MHz1.25MHz1.25\text{MHz}的速度传输编码后的比特位,如果进一步用NRZ-I对编码后的比特位进行传输,带宽最小为N/2=625 kHzN/2=625 kHzN/2=625~\text{kHz}。如果用 Manchester 编码方式对原始比特位进行传输,所需带宽为1MHz1MHz1\text{MHz}。
- 8B/10B:实际上为 5B/6B 和 3B/4B 的结合,详见参考资料 Forouzan 著作
-
加扰(scrambling):对 AMI 编码规则进行修改,使其不含过多的连续零,常见方式有两种:
- B8ZS:888个连续的000映射为000VB0VB000VB0VB000\text{VB}0\text{VB},如果上一次将888个连续000映射为0001(−1)01(−1)0001(−1)01(−1)0001(-1)01(-1),则下一次将888个连续000映射为000(−1)10(−1)1000(−1)10(−1)1000(-1)10(-1)1
- HDB3:详见参考资料 Forouzan 著作
2.2 模拟数据到数字信号 Analog-to-Digital Conversion
2.2.1 脉冲编码调制 Pulse Code Modulation
脉冲编码调制(pulse code modulation, PCM)技术将模拟数据转换为数字信号,也就是将一个连续波形转换为数字信号。该技术主要有三个操作阶段:
- 对模拟信号采样(sampling)
- 对采样后的信号进行量化(quantizing)
- 对量化后的信号进行编码(encoding)
2.2.1.1 采样 Sampling
Nyquist 曾经证明,一个最高频率为BBB的信号,如果采样频率至少为2B2B2B,则可以完整地复原出这个信号。需要注意的是,对于基带而言,最高频率就是带宽BBB,而对于通带而言,最高频率并不是带宽BBB,而是带宽所在频率区间的最大值。
例 A complex bandpass signal has a bandwidth of 200 kHz. What is the minimum sampling rate for this signal?
无法确定出答案,因为不知道该通带信号所在的频率区间的具体位置。
2.2.1.2 量化和编码 Quantizing and Encoding
采样的结果为一系列这样的数据:某个时间点对应某个振幅。现在根据振幅进行量化,假设最大振幅和最小振幅分别为VmaxVmaxV_{\text{max}}和VminVminV_{\text{min}},且目的为划分成LLL个区域,则每个区域的高度Δ=Vmax−VminLΔ=Vmax−VminL\Delta=\frac{V_{\text{max}}-V_{\text{min}}}{L},然后给每个区域不同的编码,这样就可以将采样结果对应为不同的编码
2.2.1.3 使用PCM技术的例子 Example in PCM
2.2.2 增量调制 Delta Modulation
增量调制(delta modulation, DM)技术可以视为 PCM 技术的简化替代方案。一句话来讲,DM 技术就是寻找上一次采样的增量,如果这次采样比上一次采样所得的振幅要大,则记为111,如果要低则记为000,例如:
2.3 传输模式 Transmission Modes
- 并行传输(parallel transmission)
- 串行传输(serial transmission):
- 异步传输(asynchronous transmission):对于一个数据单元来说,有start bit和stop bit
- 同步传输(synchronous transmission):一个连续数据流,根据时钟判断每个数据单元的开始和结束
- 等时传输(isochronous transmission):保证数据以固定速率到达接收端
3 模拟信号 Analog Signals
from Data Communications and Networking:
We have already discussed the advantages and disadvantages of digital and analog transmission. We saw that while digital transmission is very desirable, a low-pass channel is needed. We also saw that analog transmission is the only choice if we have a bandpass channel. Digital transmission was discussed in pervious Chapter; we discuss analog transmission in this chapter.
Converting digital data to a bandpass analog signal is traditionally called digitalto-analog conversion. Converting a low-pass analog signal to a bandpass analog signal is traditionally called analog-to-analog conversion.
3.1 数字数据与模拟信号 Digital-to-Analog Conversion
我们有一系列的技术将数字数据转换为模拟信号,从而在物理介质上直接传输,该类技术统称为调制解调技术(modulation and demodulation),调制器(modulator)将数字数据转换为模拟信号,解调器(demodulator)将模拟信号转换为数字数据,这两个设备统称为调制解调器(modem)。
再次回顾,在 1.3.2 节中,我们已经说明了:对于模拟信号而言,每个正弦型函数的频率实际上可以分布在任意一个位置(只要保证彼此之间的频率差不变,到达目的地后可以还原),因此基带和通带均可传输。而对于数字信号而言,它必须传输在基带、低通、且有无限或极宽的带宽,这是模拟数字信号中纯竖直段和纯水平段的信号所带来的要求。如果只能用通带形式来传输数字信号,则我们不能直接将数字信号输入通带信道,在输入通带信道之前必须进行从数字信号到模拟信号的转换。
3.1.1 幅移键控 Amplitude Shift Keying
幅移键控(amplitude shift keying, ASK)技术使用不同振幅的正弦型信号表示不同的二进制位。常见的幅移键控技术有两个具体的实现方案:
- 二级幅移键控(binary amplitude shift keying, BASK or on-off keying, OOK):有振幅表示二进制111,无振幅表示二进制000
该方案的符号速率为NNN,但带宽要求为(1+d)S(1+d)S(1+d)S,其中ddd介于000和111,该值的引入是因为此时的信号是非周期性的,而在 1.1 节中我们提到过,应该使用周期性的模拟信号才能具有较好的性能。最优情况下,只需要SSS的带宽,此时信号具有周期性;而最差情况下,带宽需要达到2S2S2S。
- 多级幅移键控(multilevel amplitude shift keying, Multiple ASK):引入多级振幅(而不仅仅是 BASK 中的二级振幅)实现 ASK 技术
3.1.2 频移键控 Frequency Shift Keying
频移键控(frequency shift keying, FSK)技术使用不同频率的正弦型信号表示不同的二进制位。常见的实现方案也有两种:
- 二级频移键控(binary frequency shift keying, BFSK)
该方案的符号速率为NNN,在上面的例子中我们同时传输两个符号(显然是通过通带技术实现的),带宽要求为(1+d)S+2Df(1+d)S+2Df(1+d)S+2Df,其中DfDfDf为通带技术中两个区域的频率差。
- 多级频移键控(multilevel frequency shift keying, Multiple FSK):引入多级频率(而不仅仅是 BFSK 中的二级频率)实现 FSK 技术
3.1.3 相移键控 Phase Shift Keying
相移键控(phase shift keying, PSK)技术使用不同相位的正弦型函数表示不同的二进制位,常见的实现方式有两种:
- 二级相移键控(binary phase shift keying, BPSK):使用0∘0∘0^{\circ}相位表示二进制111,使用180∘180∘180^{\circ}相位表示二进制000
该方案的符号速率为NNN,所需带宽为(1+d)S(1+d)S(1+d)S。
- 正交相移键控(quadrature phase shift keying, PSK):使用0∘0∘0^{\circ}、90∘90∘90^{\circ}、180∘180∘180^{\circ}和270∘270∘270^{\circ}四个相位实现PSK技术
3.1.4 正交幅度调制 Quadrature Amplitude Modulation
正交幅度调制(quadrature amplitude modulation, QAM)结合使用相位和振幅来表示二进制位,常见的实现方式有多种,其中最具代表性(也是最简单的)方案之一常常单独称为正交相移键控(quadrature phase shift keying, QPSK),其他方案往往命名为QAM−LQAM−L\text{QAM}-L,其中LLL为所有组合方案的数量,如下图
(a) 图为QPSK,(b) 图为QAM-16,(c) 图为QAM-64,这三者相当于极坐标系,角度表示相移键控、极径表示幅移键控。
3.2 模拟数据到模拟信号 Analog-to-Analog Conversion
将模拟数据转换到模拟信号的技术也称为调制(modulation)。有三个技术可以实现这一目的:
- 调幅(amplitude modulation, AM)
- 调频(frequency modulation, FM):一个常见的例子是调频广播,不同的广播节目,通过调制之后,用不同频率广播出去,在接收端选择解调某一固定频率就可以收听到该节目
- 调相(phase modulation, PM)
调幅、调频、调相这三种技术和幅移键控、频移键控、相移键控这三种技术很相像,具体实现细节也多有相似之处,详见参考资料 Forouzan 著作。
4 复用与频谱扩展 Multiplexing and Spectrum Spreading
from Data Communications and Networking:
In real life, we have links with limited bandwidths. The wise use of these bandwidths has been, and will be, one of the main challenges of electronic communications. However, the meaning of wise may depend on the application. Sometimes we need to combine several low-bandwidth channels to make use of one channel with a larger bandwidth. Sometimes we need to expand the bandwidth of a channel to achieve goals such as privacy and antijamming. In this chapter, we explore these two broad categories of bandwidth utilization: multiplexing and spectrum spreading. In multiplexing, our goal is efficiency; we combine several channels into one. In spectrum spreading, our goals are privacy and antijamming; we expand the bandwidth of a channel to insert redundancy, which is necessary to achieve these goals.
4.1 复用 Multiplexing
复用(multiplexing)解决了在有限带宽的前提下如何高效利用带宽的问题,在发送端,传输流通过复用器(multiplexer)进行必要的处理,然后进入物理介质传输,到达接收端时,先经过解复用器(demultiplexer)得到输出流。
4.1.1 频分复用 Frequency-Division Multiplexing
频分复用(frequency-division multiplexing, FDM)技术是一个用在模拟领域(而非数字领域)的技术,它通过将不同的(基带)模拟信号复合到不同的(通带)承载信号上达到(通带通信)传输多个信号的目的:
在解复用的时候,只要知道各个承载信号的频率,就可以解出各个(模拟)信号。在话音信号传输时常常用到这个技术:
因为人的话音频率在300∼3400 Hz300∼3400 Hz300\sim3400~\text{Hz},所以分配给每个说话者的带宽为4 kHz4 kHz4~\text{kHz}。
最后指出,在我们进行频分复用之后,得到的模拟信号还可以再次进行更深层次的频分复用。
4.1.2 波分复用 Wavelength-Division Multiplexing
波分复用(wavelength-division multiplexing, WDM)技术常常用在光纤传输中,将不同波长的光注入到一个多模光纤中,如下图所示:
4.1.3 时分复用 Time-Division Multiplexing
时分复用(time-division multiplexing, TDM)技术将时间进行分组,每一组传输来自不同来源的信号元素,具体的实现方式有两种:
- 同步时分复用(synchronous time-division multiplexing, Synchronous TDM):每一组时间分配给每个来源固定的容量,没有竞争机制,即使该来源没有发送数据,也不会将属于该来源的容量给别的来源。该思路是电话线的实现原理,见下面的表格
Service | Line | Rate (Mbps) | Voice Channels |
---|---|---|---|
DS-1 | T1 | 1.5441.5441.544 | 242424 |
DS-2 | T2 | 6.1326.1326.132 | 969696 |
DS-3 | T3 | 44.73644.73644.736 | 672672672 |
DS-4 | T4 | 274.176274.176274.176 | 403240324032 |
分配给每路话音的带宽为4 kHz4 kHz4~\text{kHz},根据 Nyquist 的估计,采样速率为每秒800080008000次的时候能够复原出(话音)信号。在北美和日本定义的 T1 线路中,一个数据元素为888个比特,有242424路话音,且有一个比特位用于同步,故 T1 线路总带宽为(8 bits×24 channels+1)×8 kHz=1.544 Mbps(8 bits×24 channels+1)×8 kHz=1.544 Mbps(8~\text{bits}\times24~\text{channels}+1)\times8~\text{kHz}=1.544~\text{Mbps}。在欧洲和中国定义的 E1 线路中,一个数据元素为888个比特,且有323232路话音,故 E1 线路总带宽为(8 bits×32 channels)×8 kHz=2.048 Mbps(8 bits×32 channels)×8 kHz=2.048 Mbps(8~\text{bits}\times32~\text{channels})\times8~\text{kHz}=2.048~\text{Mbps}。T1 线的实现原理为:
- 统计时分复用(statistical time-division multiplexing, Statistical TDM):将时间切片,引入竞争机制,谁发送数据则谁使用该时间片
4.1.4 码分复用 Code-Division Multiplexing
码分复用(code-division multiplexing, CDM)是靠不同的编码来区分各路原始信号的一种复用方式。一个典型的实现是码分多址(code division multiple access, CDMA)技术,该技术是扩展频谱(spectrum spreading)通信的一个例子。
在 CDMA 中,每个比特时间被再细分成mmm个更短的时间间隔,这更短的时间间隔就称为码片(chip)。通常情况下,每个比特被分成646464或者128128128个码片。但在下面给出的例子中,为了简便起见,我们将使用888个码片来说明 CDMA 的工作原理。每个站被分配得到唯一的mmm位码,称为码片序列(chip sequence)。为了教学目的,我们采用双极符号把码片序列写成一系列的−1−1-1和111。下面就用括号表示码片序列。若要发送比特111,站就发送分配给它的码片序列;若要发送比特000,它就发送其码片序列的反码。除此之外,不允许发送任何其他模式。因此,对于m=8m=8m=8,如果站AAA分配得到的码片序列是(−1,−1,−1,+1,+1,−1,+1,+1)(−1,−1,−1,+1,+1,−1,+1,+1)(-1,-1,-1,+1,+1,-1,+1,+1),那么它发送该序列就表示发出的是比特111,而发送(+1,+1,+1,−1,−1,+1,−1,−1)(+1,+1,+1,−1,−1,+1,−1,−1)(+1,+1,+1,-1,-1,+1,-1,-1)则表示发出的是比特000。实际上真正发出的是这些电压值的 信号,但己足够令我们依据事先得到的码片序列来思考传来的是什么比特。按照这种编码方式,本来每秒发送bbb个比特,现在变成每秒要发送mbmbmb个码片,这意味着采用 CDMA 的站比不使用 CDMA 的站所需的带宽增加了mmm倍(假设调制解调或编码解码技术没有任何变化)。如果我们有1 MHz1 MHz1~\text{MHz}的频段被100100100个站使用,那么采用 FDM,每个站将得到10 kHz10 kHz10~\text{kHz}频段,它可以10 kbps10 kbps10~\text{kbps}的速率发送信息(假设每个HzHz\text{Hz}发送111个比特)。 采用 CDMA,每个站可使用全部的1 MHz1 MHz1~\text{MHz}频段,所以每个比特的码片速率为100100100,并且被扩展到信道上站的10 kbps10 kbps10~\text{kbps}比特率中。下图展示了一个例子:
(a) 表示四个站的码片序列,(b) 表示序列代表的信号,(c) 为666个传输的例子,(d) 为CCC站信号的恢复。
4.2 频谱扩展 Spectrum Spreading
频谱扩展(spectrum spreading)也可以认为是实现了某种程度上的复用,可以结合后面的 5.2 节来看,常见的手段有三种:
- 调频扩频(frequency hopping spread spectrum, FHSS)
- 直接序列扩频(direct sequence spread spectrum, DSSS):比如码分多址(CDMA)
- 超宽带(ultra-wideband, UWB)通信
5 传输手段
from Data Communications and Networking:
We have discussed many issues related to the physical layer. In this chapter, we discuss transmission media. We definitely need transmission media to conduct signals from the source to the destination. However, the media can be wired or wireless.
5.1 引导介质 Guided Media
引导介质(Guided Media)是指那些有具体物理连接形式的传输介质,包括双绞线(twisted-pair cable)、同轴线缆(coaxial cable)和光纤线缆(fiber-optic cable)。
我们先来介绍三个术语:
- 全双工链路(full-deplex):可以在两个方向上同时传输
- 半双工链路(half-deplex):可以在两个方向上传输,但一次只能在一个方向上传输
- 单工链路(simplex):只能在一个方向上传输
5.1.1 双绞线 Twisted-Pair Cable
双绞线(twisted-pair cable)结构如上图所示,信号往往由两条线的电压差来承载,它可以进一步分为:
- 无屏蔽双绞线(unshielded twisted-pair, UTP)
- 有屏蔽双绞线(shielded twisted-pair, STP)
并且根据绕线的紧密程度,UTP可以进一步分为:
- UTP-1:常用于电话线,数据速率为<0.1 Mbps<0.1 Mbps<0.1~\text{Mbps}
- UTP-2:常用于T1线,数据速率为2 Mbps2 Mbps2~\text{Mbps}
- UTP-3:在LAN中使用改进的CAT-2,数据速率为10 Mbps10 Mbps10~\text{Mbps}
- UTP-4:在令牌环网(token ring networks)(LAN的一种)中使用改进的CAT-3,数据速率为20 Mbps20 Mbps20~\text{Mbps}
- UTP-5:常用于LAN,数据速率为100 Mbps100 Mbps100~\text{Mbps}
- UTP-5E:常用于LAN,数据速率为125 Mbps125 Mbps125~\text{Mbps}
- UTP-6:常用于LAN,数据速率为200 Mbps200 Mbps200~\text{Mbps}
- UTP-7:常用于LAN,数据速率为600 Mbps600 Mbps600~\text{Mbps}
5.1.2 同轴线缆 Coaxial Cable
同轴线缆(coaxial cable)的结构如上所示,可以分为三种规格:
- RG-59:75Ω75Ω75\Omega,用于有线电视
- RG-58:50Ω50Ω50\Omega,用于较简单以太网(thin Ethernet)
- RG-11:50Ω50Ω50\Omega,用于较复杂以太网(thick Ethernet)
5.1.3 电力线 Power Lines
电力线(power lines)具有显而易见的便利性,但电力线是为了传输电力而特别设计的,因此在传输数据的时候会有一些局限性。
5.1.4 光纤线缆 Fiber-Optic Cable
光纤线缆(fiber-optic cable)的结构如上图所示,常常将三根光纤线缆包装到一起(形成光缆)。现在光纤常常用在网络骨干的长途传输、高速局域网和高速互联网接入等情景。光纤可以分为:
- 单模(single-mode)光纤:此时光只能沿固定方向传播
- 多模、梯度型(multi-mode, graded-index):折射率于芯的外围最小而逐渐向中心点增加,从而减少讯号的模式色散
- 多模、阶跃型(multi-mode, step-index):折射率基本平均不变,只是在接近包层(cladding)表面才会突然降低
5.2 无引导介质 Unguided Media
就是所谓的无线通信(wireless communication),通过向外传输不同频率的波段来传输信息,如下图所示:
下表展示了不同波段信号的传输方式:
Band | Range | Propagation | Application |
---|---|---|---|
very low frequency (VLF) | 3−30 kHz3−30 kHz3-30~\text{kHz} | Ground | Long-range radio navigation |
low frequency (LF) | 30−300 kHz30−300 kHz30-300~\text{kHz} | Ground | Radio beacons and navigational locators |
middle frequency (MF) | 3 kHz−3 MHz3 kHz−3 MHz3~\text{kHz}-3~\text{MHz} | Ground or Sky | AM radio |
high frequency (HF) | 3−30 MHz3−30 MHz3-30~\text{MHz} | Sky | Citizens band (CB), ship/aircraft |
very high frequency (VHF) | 30−300 kHz30−300 kHz30-300~\text{kHz} | Sky and line-of-sight | VHF TV, FM radio |
ultrahigh frequency (UHF) | 300 MHz−3 GHz300 MHz−3 GHz300~\text{MHz}-3~\text{GHz} | Line-of-sight | UHF TV, cellular phones, paging, satellite |
superhigh frequency (SF) | 3−30 GHz3−30 GHz3-30~\text{GHz} | Line-of-sight | Satellite |
extremely high frequency (EHF) | 30−300 GHz30−300 GHz30-300~\text{GHz} | Line-of-sight | Radar, satellite |
5.2.1 无线电波 Radio Waves
频率在3 kHz3 kHz3~\text{kHz}和1 GHz1 GHz1~\text{GHz}之间的波段称为无线电波(radio waves),它的发送常常是没有方向的(即为广播的),通过天线(antenna)向各个方向传播(可以很好地穿透建筑物),也可以被任意天线接收到。常见的应用是 AM 收音机。
5.2.2 微波 Microwaves
频率在1 GHz1 GHz1~\text{GHz}和300 GHz300 GHz300~\text{GHz}之间的波段称为微波(microwaves),它的发送往往是由方向的(即为单播的)(但不能很好地穿透建筑物),因此发送天线和接收天线必须对齐且中间没有明显的干扰。常见的应用是蜂窝移动网、卫星网和无线局域网。
5.2.3 红外波 Infrared Waves
频率在300 GHz300 GHz300~\text{GHz}和400 THz400 THz400~\text{THz}之间的波段称为红外波(infrared waves),它不能穿透墙体、且会受到太阳光的影响,因此只能用于室内短距离无线通信,常见的应用是电视遥控器。
5.2.4 光通信 Light Transmission
光通信(light transmission)本质上是单向的,所以通信的每一端都必须有自己的激光发生器和光探测器,它的优点是不涉及到电磁波段使用,因此不需要异常严格的审批,它最大的缺点是纷扰气流会导致激光束产生偏差。
5.3 通信卫星 Communivation Satellites
通信卫星(communivation satellites)本质上是一个位于天空的大型微波中继器(microwave repeater),它包含几个转发器(transponder),每个转发器侦听频谱中的一部分,对接收到的信号进行放大,然后在另一个频率上将放大后的信号发射出去,这种操作模式被称为弯管(bent pipe)。
通信卫星的下行波束(beam)根据覆盖区域的大小,分为宽(broad)窄(narrow)两种。
通信卫星根据所在位置可以大致分为三种:
- 地球同步卫星(Geostationary Satellites)
- 中地球轨道卫星(Medium-Earth Orbit Satellites):主要用于导航系统,比如GPS
- 低地球轨道卫星(Low-Earth Orbit Satellites):铱计划(Iridium project)和全球星(Globalstar)计划
6 交换 Switching
from Data Communications and Networking:
Switching is a topic that can be discussed at several layers. We have switching at the physical layer, at the data-link layer, at the network layer, and even logically at the application layer (message switching). We have decided to discuss the general idea behind switching in this chapter, the last chapter related to the physical layer. We particularly discuss circuit-switching, which occurs at the physical layer. We introduce the idea of packet-switching, which occurs at the data-link and network layers, but we postpone the details of these topics until the appropriate chapters.
6.1 集线器,交换机和路由器 Hub, Switch and Router
6.1.1 集线器 Hub
集线器(hub)的目的是在其内部将所有的网络连通,它是一个具有多个端口的设备,用于网络设备的互连。集线器不过滤任何数据,也不知道数据要发送到什么地方,集线器唯一知道的:当数据到达一个端口时,集线器会复制数据包到它所有端口,这样,连接到该集线器上的所有设备都可以收到数据包。当数据包进入集线器的某个端口时,它将被集线器重新广播到其他所有端口。如果这台计算机与另外某台计算机通信,内部网络中的其他计算机也会收到这些数据,即使这些数据不是要发给它们的。集线器可能会在网络上造成不必要的流量,浪费带宽。
6.1.2 交换机 Switch
交换机(switch)和集线器非常相似,它也是一个具有多个端口、用于网络设备互联的设备,但是交换机可以学习连接到目标的物理地址,交换机将这些称为 MAC 地址的物理地址存储在自己的地址表中。当数据包发送到交换机时,数据包会被直接发送到预期的目的端口,而不是像集线器那样,只是将数据包重新广播到每个端口。
举个例子,如果这台计算机想要和另外一台计算机通信,数据包到达交换机后,交换机在自己的地址表中查看与数据包携带的目的 MAC 地址匹配的端口,然后将数据包传送到该端口,数据包就只会发送到想要与之通信的那台计算机。交换机可以减少网络上不必要的流量。
通过集线器,我们仅仅知道哪些设备被物理地连接在一起,通过交换机我们可以知道哪些特定的设备通过 MAC 地址连接到一起。集线器和交换机用于在本地区域内(例如家庭网络中)交换数据,它们不能在外部网络上(例如互联网上)交换数据。
要将数据在自己网络之外交换到另一个网络(例如互联网),设备需要能够读取 IP address,而集线器和交换机不能读取 IP address,这就需要用到路由器。
6.1.3 路由器 Router
路由器(router)是根据 IP address,将一个数据包从一个网络路由(转发)到另一个网络的设备。当路由器接受到数据包时,路由器会检查数据包的 IP address,并确定该数据包是要发送给自己所在的网络,还是要发送给其他网络。如果路由器确定数据包是发送给自己所在的网络,就接受它;如果数据包不是发送给自己所在的网络,路由器就将这些数据包转发给其他网络。
路由器本质上是一个网络的网关。总的来说,集线器和交换机创建了网络,路由器连接了网络。
6.2 交换的两种方法 Three Methods of Switching
6.2.1 电路交换网络 Circuit-Switched Network
电路交换网络(circuit-switched network)由一组物理连接的交换机组成,且它们之间的连接信道使用 FDM 或 TDM 技术进行复用(划分为nnn个信道)。终端(比如电脑或电话)直接连接在交换机上,在交换的时候,有下面几个阶段:
- 建立阶段(setup phase):发送端AAA向接收端MMM发送连接申请,一旦连接建立(接收端AAA受到确认帧之后),就相当于一条真实的物理通路建立了,从此时开始只有这两个设备可以使用该通路
- 数据传输阶段(data-transfer phase):两个设备之间的数据未打包(信号直接在物理层上传输),此时数据为从发送端到接收端的连续流
- 解连接阶段(teardown phase):断开两个设备之间的直接物理连接
6.2.2 分组交换网络 Packet-Switched Network
将数据切分为固定或不固定大小的packet,然后进行传输,这种思路称为分组交换(packet-switching),packet 的大小由网络及其协议决定。在这种方法中,不存在两个终端独享某一物理通路的情况,所有设备共享整个网络,依据需求动态分配资源,因此效率高于电路交换网络。在实际实现的时候有两种思路:
- 数据报网络(datagram network):有时也称为无连接网络(connectionless network),其中“无连接”指的是没有电路交换网络中的 setup 阶段。该网络中信息传输的最小单位 packet 可称为数据报(datagram),传输依据是路由表(routing table),传输目标地址在 packet 的 header 部分,每个 packet 单独寻址和传输,并且在每个结点处,需要先存储才能转发(电路交换网络中不需要,因为那时是真实的物理通路上的连续流),即“存储-转发”机制。
- 虚电路网络(virtualcircuit networks):介于电路交换网络和数据报网络之间,详见参考资料 Forouzan 著作
6.2.3 比较 Comparison
Item | Circuit-Switched | Packet-Switched |
---|---|---|
Call setup | Required | Not needed |
Dedicated physical path | Yes | No |
Each packet follows the same route | Yes | No |
Packets arrive in order | Yes | No |
Is a switch crash fatal | Yes | No |
Bandwidth available | Fixed | Dynamic |
When can congestion occur | At setup time | On every packet |
Potentially wasted bandwidth | Yes | No |
Store-and-forward transmission | No | Yes |
Transparency | Yes | No |
Charging | Per minute | Per packet |
7 参考资料
- Behrouz A. Forouzan, Data Communications and Networking 5 Edi, McGraw-Hill, 2012
- Andrew S. Tanenbaum, David J. Wetherall, Computer Networks 5 Edi, Prentice Hall, 2011
- B. Kolman, R. Busby, S. Ross, Discrete Mathematical Structures 6 Edi (Pearson New International Edition), Pearson, 2014
- 计算机网络 北京邮电大学 程莉
- 集线器Hub,交换机Switch,路由器Router区别 - 知乎 (zhihu.com)