1. 程式人生 > >解讀夏農定理、奈奎斯特定理、編碼與調製

解讀夏農定理、奈奎斯特定理、編碼與調製

https://mp.weixin.qq.com/s?__biz=MjM5ODYyODM4Mg==&mid=2655684738&idx=1&sn=70a65dfe4f397d4335476ed8e3d9ddba&chksm=bd79f5f38a0e7ce5fc407b144f163910b0c0b3c494af7edcfe888abe4d1c2c77cabd1fa25400&mpshare=1&scene=23&srcid=1210rn6SrHlo922TSi0kaz9T#rd

工程師都會考慮一個問題:通道上到底可以傳輸多大的資料,或者指定的通道上的極限傳輸率是多少。這就是通道容量的問題。例如,在xDSL系統中,我們使用的傳輸介質是僅有幾兆頻寬的電話線,而上面要傳送幾兆、十幾兆甚至幾十兆頻寬的資料,如此高的速率能保證在幾兆頻寬的雙絞線上可靠傳輸嗎?或者說從另一個角度說,在給定通頻頻寬(Hz)的物理通道上,到底可以有多高的資料速率(b/S)來可靠傳送資訊?

早在1924年,AT&T的工程師奈奎斯特(Henry Nyquist)就認識到在任何通道中,碼元傳輸的速率都是有上限的,並推匯出一個計算公式,用來推算無噪聲的、有限頻寬通道的最大資料傳輸速率,這就是 今天的奈奎斯特定理。由於這個定理只侷限在無噪聲的環境下計算通道最大資料傳輸速率,而在有噪聲的環境下仍然不能有效計算出通道最大資料傳輸速率,因此在 1948年,夏農(Claude Shannon)把奈奎斯特的工作進一步擴充套件到了通道受到隨機噪聲干擾的情況,即在有隨機噪聲干擾的情況計算通道最大資料傳輸速率,這就是今天的夏農定理。下面分別介紹這兩個定理。

一、奈奎斯特定理
奈奎斯特證明,對於一個頻寬為W赫茲的理想通道,其最大碼元(訊號)速率為2W波特。這一限制是由於存在碼間干擾。如果被傳輸的訊號包含了M個狀態值(訊號的狀態數是M),那麼W赫茲通道所能承載的最大資料傳輸速率(通道容量)是:

C =2×W×log2M(bps)

假設頻寬為W赫茲通道中傳輸的訊號是二進位制訊號(即通道中只有兩種物理訊號),那麼該訊號所能承載的最大資料傳輸速率是2Wbps。例如,使用 頻寬為3KHz的話音通道通過調變解調器來傳輸數字資料,根據奈奎斯特定理,傳送端每秒最多隻能傳送2×3000個碼元。如果訊號的狀態數為2,則每個信 號可以攜帶1個位元資訊,那麼話音通道的最大資料傳輸速率是6Kbps;如果訊號的狀態數是4,則每個訊號可以攜帶2個位元資訊,那麼話音通道的最大資料 傳輸速率是12Kbps。

因此對於給定的通道頻寬,可以通過增加不同訊號單元的個數來提高資料傳輸速率。然而這樣會增加接收端的負擔,因為,接收端每接收一個碼元,它不再只是從兩個可能的訊號取值中區分一個,而是必須從M個可能的訊號中區分一個。傳輸介質上的噪聲將會限制M的實際取值。

二、夏農定理
奈奎斯特考慮了無噪聲的理想通道,而且奈奎斯特定理指出,當所有其他條件相同時,通道頻寬加倍則資料傳輸速率也加倍。但是對於有噪聲的通道,情況將會迅速變壞。現在讓我們考慮一下資料傳輸速率、噪聲和誤位元速率之間的關係。噪聲的存在會破壞資料的一個位元或多個位元。假如資料傳輸速率增加了,每位元所佔用 的時間會變短,因而噪聲會影響到更多位元,則誤位元速率會越大。

對於有噪聲通道,我們希望通過提高訊號強度來提高接收端正確接收資料的能力。衡量通道質量好壞的引數是信噪比(Signal-to-Noise Ratio,S/N),信噪比是訊號功率與在通道某一個特定點處所呈現的噪聲功率的比值。通常信噪比在接收端進行測量,因為我們正是在接收端處理訊號並試 圖消除噪聲的。如果用S表示訊號功率,用N表示噪聲功率,則信噪比表示為S/N。為了方便起見,人們一般用10log10(S/N)來表示信噪比,單位是 分貝(dB)。S/N的值越高,表示通道的質量越好。例如,S/N為1000,其信噪比為30dB;S/N為100,其信噪比為20dB;S/N為10, 其信噪比為10dB。

對於通過有噪聲通道傳輸數字資料而言,信噪比非常重要,因為它設定了有噪聲通道一個可達的資料傳輸速率上限,即對於頻寬為W赫茲,信噪比為S/N的通道,其最大資料傳輸速率(通道容量)為:

C = W×log2(1+S/N)(bps)

例如,對於一個頻寬為3KHz,信噪比為30dB(S/N就是1000)的話音通道,無論其使用多少個電平訊號傳送二進位制資料,其資料傳輸速率 不可能超過30Kbps。值得注意的是,夏農定理僅僅給出了一個理論極限,實際應用中能夠達到的速率要低得多。其中一個原因是夏農定理只考慮了熱噪聲(白噪聲),而沒有考慮脈衝噪聲等因素。

夏農定理給出的是無誤碼資料傳輸速率。夏農還證明,假設通道實際資料傳輸速率比無誤碼資料傳輸速率低,那麼使用一個適當的訊號編碼來達到無誤碼資料傳 輸速率在理論上是可能的。遺憾的是,夏農並沒有給出如何找到這種編碼的方法。不可否認的是,夏農定理確實提供了一個用來衡量實際通訊系統效能的標準。

三、編碼與調製
說完上面這兩個定理,在說說對編碼和調製的解說。

信源與信宿
信源與信宿是網路中的兩個專業名詞,其實,信源與信宿可簡單地理解為資訊的傳送者和資訊的接收者。資訊傳播的過程一般可描述為:信源→通道→信 宿。在傳統的資訊傳播過程中,對信源的資格有嚴格的限制,通常是指廣播電臺、電視臺等機構,採用的是有中心的結構。而在計算機網路中,對信源的資格並無特 殊限制,任何一個網路中的計算機都可以成為信源,當然任何一個網路中計算機也可以成為信宿。

由於傳輸介質及其格式的限制,通訊雙方的訊號不能直接進行傳送,必須通過一定的方式處理之後,使之能夠適合傳輸媒體特性,才能夠正確無誤地傳送到目的地。

調製是指用模擬訊號承載數字或模擬資料;而編碼則是指用數字訊號承載數字或模擬資料。

目前存在的傳輸通道主要有模擬通道和數字通道兩種,其中模擬通道一般只用於傳輸模擬訊號,而數字通道一般只用於傳輸數字訊號。有時為了需要,也可能需 要用數字通道傳輸模擬訊號,或用模擬通道傳輸數字訊號,此時,我們就需要先對傳輸的資料進行轉換,轉換為通道能傳送的資料型別,即模擬訊號與數字訊號的轉 換,這是編碼與調製的主要內容。當然模擬資料、數字資料如何通過通道傳送的問題也是編碼與調製的重要內容。下面我們分別從模擬訊號使用模擬通道傳送、模擬 訊號使用數字通道傳送、數字訊號使用模擬通道傳送和數字訊號使用數字通道傳送四個方面來介紹資料的調製與編碼。

1.模擬訊號使用模擬通道傳送
有時候模擬資料可以在模擬通道上直接傳送,但在網路資料傳送中這並不常用,人們仍然會將模擬資料調製出來,然後再通過模擬通道傳送。調製的目的是將模 擬訊號調製到高頻載波訊號上以便於遠距離傳輸。目前,存在的調製方式主要有調幅(Amplitude Modulation,AM)、調頻(Frequency Modulation,FM)及調相(Phase Modulation,PM)。

2.模擬訊號使用數字通道傳送
使模擬訊號在數字通道上傳送,首先要將模擬訊號轉換為數字訊號,這個轉換的過程就是數字化的過程,數字化的過程主要包括採用和量化兩步。常見的將模擬 訊號編碼到數字通道傳送的方法主要有:脈衝幅度調製(Pulse Amplitude Modulation,PAM)、脈衝編碼調製(Pulse Code Modulation,PCM)、差分脈衝編碼調製(Differential PCM,DPCM)和增量脈碼調製方式(Delta Modulation,DM)。

3.數字訊號使用模擬通道傳送
將數字訊號使用模擬通道傳送的過程是一個調製的過程,它是一個將數字訊號(二進位制0或1)表示的數字資料來改變模擬訊號特徵的過程,即將二進位制資料調製到模擬訊號上來的過程。

一個正弦波可以通過3個特性進行定義:振幅、頻率和相位。當我們改變其中任何一個特性時,就有了波的另一個形式。如果用原來的波表示二進位制1,那麼波 的變形就可以表示二進位制0;反之亦然。波的3個特性中的任意一個都可以用這種方式改變,從而使我們至少有3種將數字資料調製到模擬訊號的機制:幅移鍵控法 (Amplitude-Shift Keying,ASK)、頻移鍵控法(Frequency-Shift Keying,FSK)以及相移鍵控法(Phase-Shift Keying,PSK)。另外,還有一種將振幅和相位變化結合起來的機制叫正交調幅(Quadrature Amplitude Modulation,QAM)。其中正交調幅的效率最高,也是現在所有的調變解調器中經常採用的技術。

4.數字訊號使用數字通道傳送
要是數字訊號在數字通道上傳送,需要對數字訊號先進行編碼。例如,當資料從計算機傳輸到印表機時,一般是採用這種方式。在這種方式下,首先須進行對數 字訊號編碼,即由計算機產生的二進位制0和1數字訊號被轉換成一串可以在導線上傳輸的電壓脈衝。對信源進行編碼可以降低資料率,提高資訊量效率,對通道進行 編碼可以提高系統的抗干擾能力。

目前,常見的資料編碼方式主要有不歸零碼、曼徹斯特編碼和差分曼徹斯特編碼三種。

(1)不歸零碼(NRZ,Non-Return to Zero):二進位制數字0、1分別用兩種電平來表示,常用-5V表示1,+5V表示0。缺點是存在直流分量,傳輸中不能使用變壓器;不具備自同步機制,傳輸時必須使用外同步。

(2)曼徹斯特編碼(Manchester Code):用電壓的變化表示0和1,規定在每個碼元的中間發生跳變。高→低的跳變代表0,低→高的跳變代表1(注意:某種教程中關於此部分內容有相反的 描述,也是正確的)。每個碼元中間都要發生跳變,接收端可將此變化提取出來,作為同步訊號。這種編碼也稱為自同步碼(Self- Synchronizing Code)。其缺點是需要雙倍的傳輸頻寬(即訊號速率是資料速率的2倍)。

(3)差分曼徹斯特編碼:每個碼元的中間仍要發生跳變,用碼元開始處有無跳變來表示0和1。有跳變代表0,無跳變代表1(注意:某種教程中關於此部分內容有相反的描述,也是正確的)。