本文地址:https://www.cnblogs.com/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)定義為\(\text{SNR}=\frac{\text{average signal power}}{\text{average noise power}}\),常常將其轉換為分貝單位,轉換公式為\(\text{SNR}_{\text{dB}}=10\log_{10}\text{SNR}\)
1.4.2 速率限制 Rate Limits
總的來說,速率受限於下面三個因素:
- 可用頻寬
- 所使用訊號的電平級數
- 通道的質量(訊雜比等損傷因素的大小)
1.4.2.1 無噪聲通道的Nyquist位元速率 Noiseless Channel: Nyquist Bit Rate
上式中\(L\)為所有的可能的訊號狀態,比如當採用四級電平時,訊號有四種狀態,因此\(L=4\)。所以\(\log_2L\)表示一次能等價傳輸的位元數(當\(L=4\)時該數值為\(2\))。位元速率單位為位元每秒。
1.4.2.2 有噪聲通道的Shannon容量 Noisy Channel: Shannon Capacity
上面的式子給出了一個通道的理論最大容量,單位為位元每秒。
1.4.2.3 兩個定理的分析 Using Nyquist Bit Rate and Shannon Capacity
例 A channel has \(\text{B}=1\text{MHz}\) and \(\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 容量得到\(\text{Capacity}=\text{bandwidth}\times\log_2(1+\text{SNB})\sim8\text{MHz}\),然後為了確定電平級數,從 Nyquist 公式得到\(\log_2L=\frac12\frac{\text{BitRate}}{\text{bandwidth}}=\frac12\frac{\text{Capacity}}{\text{bandwidth}}=4\),因此電平級數為\(16\)。
從上面的例子其實可以看出,一般來說,Shannon 公式和 Nyquist 公式不是用於不同情況的兩個平行關係的公式,而是一個用於理論分析、另一個根據理論值確定出電平級數,它們是理論與實際的關係,而一般不是一種情況和另一種情況的關係。
1.5 效能 Performance
現在來介紹幾個網路物理層的效能指標:
- 頻寬(bandwidth):分為以赫茲為單位的頻寬(bandwidth in Hertz)和以每秒位元數為單位的頻寬(bandwidth in bits per seconds),它們的關係和區別見 1.3.2 節。
- 吞吐量(throughput):網路容量的度量,表示單位時間內網路可以傳送的資料位數(以位元每秒為單位),衡量了網路資料傳送速度
- 負載(load):表示單位時間內注入(進入)網路的資料位數(以位元每秒為單位),衡量了資料湧入網路的速度
- 延遲(latency or delay):延遲有四個組成部分:
- 傳送時延(transmission delay):裝置傳送一個資料塊所需的時間,值為\(\frac{\text{資料庫長度}}{\text{通道bps頻寬}}\)
- 傳播時延(propagation delay):訊號通過傳輸介質的時間,值為\(\frac{\text{傳輸長度}}{\text{傳播速度}}\),電訊號傳播速度為\(2\times10^8\text{m/s}\),為真空光速\(3\times10^8\text{m/s}\)的\(\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 節中,我們已經說明了:對於模擬訊號而言,每個正弦型函式的頻率實際上可以分佈在任意一個位置(只要保證彼此之間的頻率差不變,到達目的地後可以還原),因此基帶和通帶均可傳輸。而對於數字訊號而言,它必須傳輸在基帶、低通、且有無限或極寬的頻寬,這是模擬數字訊號中純豎直段和純水平段的訊號所帶來的要求。如果只能用通帶形式來傳輸數字訊號,則我們不能直接將數字訊號輸入通帶通道,在輸入通帶通道之前必須進行從數字訊號到模擬訊號的轉換。
可以定義\(r\)來表示一個訊號元素所承載的資料元素。例如,如果一個訊號元素可以代表一個位元位,則\(r=1\),如果代表兩個位元位則\(r=2\)。需要注意的是,\(r\)不一定為整數,這取決於數字資料到數字訊號的轉換方式。
在 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?
首先計算出\(c\)的平均值為\(\frac12\),那麼\(S_{\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):接收端對數字訊號解碼時,連續的\(0\)和\(1\)會導致訊號平均值向下或向上偏移,因此理想情況的編碼不應該出現連續過多的\(0\)或\(1\)
- 直流分量(DC components):連續多個\(0\)或\(1\)還可能導致訊號的直流分量過多(這由傅立葉分析推出),因此訊號在通過諸如帶有變壓器的同軸線纜或者線路時會有嚴重的衰減。另外,如果能夠解決直流分量問題,就相當於同時解決了基線徘徊問題
- 自同步(self-synchronization):由於傳送端和接收端時鐘可能不同步,導致訊號含義發生變化
下面將結合這三點來討論具體的編碼方案。
2.1.1.1 單極方案 Unipolar Scheme
- NRZ:電平\(1\)表示邏輯\(1\),電平\(0\)表示邏輯\(0\)
2.1.1.2 極性方案 Polar Schemes
- NRZ-Level:電平\(1\)表示二進位制\(1\),電平\(-1\)表示二進位制\(0\)
- NRZ-Invert:基於電平\(1\)和電平\(-1\),如果跳變則為二進位制\(1\),不跳變則為二進位制\(0\)
這兩個方案的平均符號速率都為\(\frac{N}{2}\)(其中\(N\)為資料速率),因此頻寬要求為\(\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~\text{kbaud}\),滿足這個符號速率的最小頻寬為\(B_{\text{min}}=S=500~\text{kHz}\)。
- RZ:如果當前為二進位制\(0\),則跳變到電平\(0\),如果當前為二進位制\(1\),則跳變到電平\(1\)和電平\(-1\)(交替進行保證均值為\(0\))
該方案平均符號速率為\(N\),因此頻寬需求增加到了\(N\),但克服了直流分量問題。
- Manchester:給定時鐘訊號(傳輸速度為\(2N\)),將二進位制數值和此時鐘訊號做同或運算(這是真實協議使用的定義,但 Tanenbaum 將其定義為做異或運算,考試時指明用哪種運算即可)
- Differential Manchester:給定時鐘訊號,若跳變則為二進位制\(1\),若不跳變則為二進位制\(0\)
這兩個方案平均符號速率為\(N\),因此頻寬需求為\(N\),且都解決了自同步問題,第二種編碼方式還解決了直流分量問題。下圖給出了 Tanenbaum 定義下 Manchester 編碼的生成原理:
2.1.1.3 雙極方案 Bipolar Schemes
- AMI:若為二進位制\(0\)則到達電平\(0\)或保持電平\(0\)不變,若為二進位制\(1\)則到達電平\(1\)或電平\(-1\)(交替進行)
- Pseudoternary:和 AMI 相反
這兩個方案的平均符號速率為\(\frac{N}{2}\),因此頻寬要求為\(\frac{N}{2}\),克服了直流分量問題但沒有解決自同步問題。
2.1.1.4 多電平方案 Multilevel Schemes
多電平方案的思路是引入多個電平級數,從而使一個訊號元素承載更多的資料元素。
- 2B1Q:引入四級電平,並規定如圖所示的對映法則
該方案的符號速率僅為\(\frac{N}{4}\),因此頻寬要求下降至\(\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/2\) | 無自同步,有直流分量 |
Polar | NRZ-L | \(N/2\) | 無自同步,有直流分量 |
Polar | NRZ-I | \(N/2\) | 無自同步,有直流分量 |
Polar | RZ | \(N\) | 無自同步,無直流分量 |
Polar | Manchester | \(N\) | 有自同步,無直流分量,高頻寬 |
Polar | Differential Manchester | \(N\) | 有自同步,無直流分量,高頻寬 |
Bipolar | AMI | \(N/2\) | 無自同步,有直流分量 |
Multilevel | 2B1Q | \(N/4\) | 無自同步 |
Multilevel | 8B6T | \(3N/4\) | 有自同步,無直流分量 |
Multilevel | 4D-PAM5 | \(N/8\) | 有自同步,無直流分量 |
Multitransition | MLT-3 | \(N/3\) | 無自同步 |
2.1.2 塊編碼 Block Coding
塊編碼技術將\(m\)個位元編碼為\(n\)個位元,該技術的目的一般為糾錯、檢錯和保持訊號的準確程度。現將所有\(m\)位的位元串構成的集合記為\(B^m\),為了達到校驗以及糾錯的目的,我們必須對已有字串附加資訊,即將\(B^m\)對映到\(B^n\)(其中\(n>m\)),實現這個對映的函式\(e\)稱為編碼函式(encoding function)。經過通道傳輸之後,可能會有噪聲,理性情況下我們能夠從\(B^n\)準確還原出\(B^m\)中的資訊,完成這個功能的函式\(d\)稱為解碼函式(decoding function)。編碼函式的最簡單的例子就是奇偶校驗編碼,奇偶校驗位的定義為
奇偶校驗可以檢驗出奇數個錯誤,無法檢測出偶數個錯誤。
對於\(B^n\)中的\(x\)和\(y\),\(x\oplus y\)中\(1\)的個數稱為\(x\)和\(y\)的海明距離(Hamming distance),記為\(\delta(x,y)\),海明距離衡量了\(x\)和\(y\)中有多少位不同。下面不加證明地給出兩個重要的定理(證明過程參見參考資料最後一項):
- \(B^m\rightarrow B^n\)的編碼函式\(e\)能夠檢測出\(k\)個錯誤當且僅當\(B^n\)中的最小海明距離為\(k+1\)(如果最小海明距離為\(1\),編碼函式\(e\)能檢測出\(0\)個錯誤)
- \(B^n\rightarrow B^m\)的解碼函式\(d\)能夠糾正\(k\)個錯誤當且僅當\(B^n\)中的最小海明距離為\(2k+1\)(如果最小海明距離為\(4\),則\(k=(4-1)\div2=1\))
其中,解碼函式糾錯的具體過程是最大似然法(maximum likelihood technique),詳見參考資料 Kolman 著作。
現在來看兩個簡單的例子:
-
4B/5B:將四位位元位編碼為五位位元位,編碼原則為:
Data Sequence Encoded Sequence Control Sequence Encoded Sequence \(0000\) \(11110\) Q (Quiet) \(00000\) \(0001\) \(01001\) I (Idle) \(11111\) \(0010\) \(10100\) H (Halt) \(00100\) \(0011\) \(10101\) J (Start delimiter) \(11000\) \(0100\) \(01010\) K (Start delimiter) \(10001\) \(0101\) \(01011\) T (End delimiter) \(01101\) \(0110\) \(01110\) S (Set) \(11001\) \(0111\) \(01111\) R (Reset) \(00111\) \(1000\) \(10010\) \(1001\) \(10011\) \(1010\) \(10110\) \(1011\) \(10111\) \(1100\) \(11010\) \(1101\) \(11011\) \(1110\) \(11100\) \(1111\) \(11101\) 例 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?
要以\(1\text{MHz}\)的速度傳輸資料(原始位元位),就需要以\(1.25\text{MHz}\)的速度傳輸編碼後的位元位,如果進一步用NRZ-I對編碼後的位元位進行傳輸,頻寬最小為\(N/2=625~\text{kHz}\)。如果用 Manchester 編碼方式對原始位元位進行傳輸,所需頻寬為\(1\text{MHz}\)。
-
8B/10B:實際上為 5B/6B 和 3B/4B 的結合,詳見參考資料 Forouzan 著作
-
加擾(scrambling):對 AMI 編碼規則進行修改,使其不含過多的連續零,常見方式有兩種:
- B8ZS:\(8\)個連續的\(0\)對映為\(000\text{VB}0\text{VB}\),如果上一次將\(8\)個連續\(0\)對映為\(0001(-1)01(-1)\),則下一次將\(8\)個連續\(0\)對映為\(000(-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 曾經證明,一個最高頻率為\(B\)的訊號,如果取樣頻率至少為\(2B\),則可以完整地復原出這個訊號。需要注意的是,對於基帶而言,最高頻率就是頻寬\(B\),而對於通帶而言,最高頻率並不是頻寬\(B\),而是頻寬所在頻率區間的最大值。
例 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
取樣的結果為一系列這樣的資料:某個時間點對應某個振幅。現在根據振幅進行量化,假設最大振幅和最小振幅分別為\(V_{\text{max}}\)和\(V_{\text{min}}\),且目的為劃分成\(L\)個區域,則每個區域的高度\(\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 技術就是尋找上一次取樣的增量,如果這次取樣比上一次取樣所得的振幅要大,則記為\(1\),如果要低則記為\(0\),例如:
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):有振幅表示二進位制\(1\),無振幅表示二進位制\(0\)
該方案的符號速率為\(N\),但頻寬要求為\((1+d)S\),其中\(d\)介於\(0\)和\(1\),該值的引入是因為此時的訊號是非週期性的,而在 1.1 節中我們提到過,應該使用週期性的模擬訊號才能具有較好的效能。最優情況下,只需要\(S\)的頻寬,此時訊號具有周期性;而最差情況下,頻寬需要達到\(2S\)。
- 多級幅移鍵控(multilevel amplitude shift keying, Multiple ASK):引入多級振幅(而不僅僅是 BASK 中的二級振幅)實現 ASK 技術
3.1.2 頻移鍵控 Frequency Shift Keying
頻移鍵控(frequency shift keying, FSK)技術使用不同頻率的正弦型訊號表示不同的二進位制位。常見的實現方案也有兩種:
- 二級頻移鍵控(binary frequency shift keying, BFSK)
該方案的符號速率為\(N\),在上面的例子中我們同時傳輸兩個符號(顯然是通過通帶技術實現的),頻寬要求為\((1+d)S+2Df\),其中\(Df\)為通帶技術中兩個區域的頻率差。
- 多級頻移鍵控(multilevel frequency shift keying, Multiple FSK):引入多級頻率(而不僅僅是 BFSK 中的二級頻率)實現 FSK 技術
3.1.3 相移鍵控 Phase Shift Keying
相移鍵控(phase shift keying, PSK)技術使用不同相位的正弦型函式表示不同的二進位制位,常見的實現方式有兩種:
- 二級相移鍵控(binary phase shift keying, BPSK):使用\(0^{\circ}\)相位表示二進位制\(1\),使用\(180^{\circ}\)相位表示二進位制\(0\)
該方案的符號速率為\(N\),所需頻寬為\((1+d)S\)。
- 正交相移鍵控(quadrature phase shift keying, PSK):使用\(0^{\circ}\)、\(90^{\circ}\)、\(180^{\circ}\)和\(270^{\circ}\)四個相位實現PSK技術
3.1.4 正交幅度調製 Quadrature Amplitude Modulation
正交幅度調製(quadrature amplitude modulation, QAM)結合使用相位和振幅來表示二進位制位,常見的實現方式有多種,其中最具代表性(也是最簡單的)方案之一常常單獨稱為正交相移鍵控(quadrature phase shift keying, QPSK),其他方案往往命名為\(\text{QAM}-L\),其中\(L\)為所有組合方案的數量,如下圖
(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\sim3400~\text{Hz}\),所以分配給每個說話者的頻寬為\(4~\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.544\) \(24\) DS-2 T2 \(6.132\) \(96\) DS-3 T3 \(44.736\) \(672\) DS-4 T4 \(274.176\) \(4032\) 分配給每路話音的頻寬為\(4~\text{kHz}\),根據 Nyquist 的估計,取樣速率為每秒\(8000\)次的時候能夠復原出(話音)訊號。在北美和日本定義的 T1 線路中,一個資料元素為\(8\)個位元,有\(24\)路話音,且有一個位元位用於同步,故 T1 線路總頻寬為\((8~\text{bits}\times24~\text{channels}+1)\times8~\text{kHz}=1.544~\text{Mbps}\)。在歐洲和中國定義的 E1 線路中,一個資料元素為\(8\)個位元,且有\(32\)路話音,故 E1 線路總頻寬為\((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 中,每個位元時間被再細分成\(m\)個更短的時間間隔,這更短的時間間隔就稱為碼片(chip)。通常情況下,每個位元被分成\(64\)或者\(128\)個碼片。但在下面給出的例子中,為了簡便起見,我們將使用\(8\)個碼片來說明 CDMA 的工作原理。每個站被分配得到唯一的\(m\)位碼,稱為碼片序列(chip sequence)。為了教學目的,我們採用雙極符號把碼片序列寫成一系列的\(-1\)和\(1\)。下面就用括號表示碼片序列。若要傳送位元\(1\),站就傳送分配給它的碼片序列;若要傳送位元\(0\),它就傳送其碼片序列的反碼。除此之外,不允許傳送任何其他模式。因此,對於\(m=8\),如果站\(A\)分配得到的碼片序列是\((-1,-1,-1,+1,+1,-1,+1,+1)\),那麼它傳送該序列就表示發出的是位元\(1\),而傳送\((+1,+1,+1,-1,-1,+1,-1,-1)\)則表示發出的是位元\(0\)。實際上真正發出的是這些電壓值的 訊號,但己足夠令我們依據事先得到的碼片序列來思考傳來的是什麼位元。按照這種編碼方式,本來每秒傳送\(b\)個位元,現在變成每秒要傳送\(mb\)個碼片,這意味著採用 CDMA 的站比不使用 CDMA 的站所需的頻寬增加了\(m\)倍(假設調製解調或編碼解碼技術沒有任何變化)。如果我們有\(1~\text{MHz}\)的頻段被\(100\)個站使用,那麼採用 FDM,每個站將得到\(10~\text{kHz}\)頻段,它可以\(10~\text{kbps}\)的速率傳送資訊(假設每個\(\text{Hz}\)傳送\(1\)個位元)。 採用 CDMA,每個站可使用全部的\(1~\text{MHz}\)頻段,所以每個位元的碼片速率為\(100\),並且被擴充套件到通道上站的\(10~\text{kbps}\)位元率中。下圖展示了一個例子:
(a) 表示四個站的碼片序列,(b) 表示序列代表的訊號,(c) 為\(6\)個傳輸的例子,(d) 為\(C\)站訊號的恢復。
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~\text{Mbps}\)
- UTP-2:常用於T1線,資料速率為\(2~\text{Mbps}\)
- UTP-3:在LAN中使用改進的CAT-2,資料速率為\(10~\text{Mbps}\)
- UTP-4:在令牌環網(token ring networks)(LAN的一種)中使用改進的CAT-3,資料速率為\(20~\text{Mbps}\)
- UTP-5:常用於LAN,資料速率為\(100~\text{Mbps}\)
- UTP-5E:常用於LAN,資料速率為\(125~\text{Mbps}\)
- UTP-6:常用於LAN,資料速率為\(200~\text{Mbps}\)
- UTP-7:常用於LAN,資料速率為\(600~\text{Mbps}\)
5.1.2 同軸線纜 Coaxial Cable
同軸線纜(coaxial cable)的結構如上所示,可以分為三種規格:
- RG-59:\(75\Omega\),用於有線電視
- RG-58:\(50\Omega\),用於較簡單乙太網(thin Ethernet)
- RG-11:\(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~\text{kHz}\) | Ground | Long-range radio navigation |
low frequency (LF) | \(30-300~\text{kHz}\) | Ground | Radio beacons and navigational locators |
middle frequency (MF) | \(3~\text{kHz}-3~\text{MHz}\) | Ground or Sky | AM radio |
high frequency (HF) | \(3-30~\text{MHz}\) | Sky | Citizens band (CB), ship/aircraft |
very high frequency (VHF) | \(30-300~\text{kHz}\) | Sky and line-of-sight | VHF TV, FM radio |
ultrahigh frequency (UHF) | \(300~\text{MHz}-3~\text{GHz}\) | Line-of-sight | UHF TV, cellular phones, paging, satellite |
superhigh frequency (SF) | \(3-30~\text{GHz}\) | Line-of-sight | Satellite |
extremely high frequency (EHF) | \(30-300~\text{GHz}\) | Line-of-sight | Radar, satellite |
5.2.1 無線電波 Radio Waves
頻率在\(3~\text{kHz}\)和\(1~\text{GHz}\)之間的波段稱為無線電波(radio waves),它的傳送常常是沒有方向的(即為廣播的),通過天線(antenna)向各個方向傳播(可以很好地穿透建築物),也可以被任意天線接收到。常見的應用是 AM 收音機。
5.2.2 微波 Microwaves
頻率在\(1~\text{GHz}\)和\(300~\text{GHz}\)之間的波段稱為微波(microwaves),它的傳送往往是由方向的(即為單播的)(但不能很好地穿透建築物),因此傳送天線和接收天線必須對齊且中間沒有明顯的干擾。常見的應用是蜂窩移動網、衛星網和無線區域網。
5.2.3 紅外波 Infrared Waves
頻率在\(300~\text{GHz}\)和\(400~\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 技術進行復用(劃分為\(n\)個通道)。終端(比如電腦或電話)直接連線在交換機上,在交換的時候,有下面幾個階段:
- 建立階段(setup phase):傳送端\(A\)向接收端\(M\)傳送連線申請,一旦連線建立(接收端\(A\)受到確認幀之後),就相當於一條真實的物理通路建立了,從此時開始只有這兩個裝置可以使用該通路
- 資料傳輸階段(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)