天天看點

資料通信03-雙相碼、曼徹斯特碼與差分曼徹斯特碼詳解

作者:plmh2018

在學習曼徹斯特碼或者差分曼徹斯特碼之前,我們要搞清楚啥是雙相碼,因為曼徹斯特碼、差分曼徹斯特碼就是雙相碼的一種。

1、雙相碼

雙相碼是一種雙向間隔的編碼,編碼原理是将一個碼元劃分成兩個等寬的間隔,用相位觀點來描述,就是對每個二進制代碼“0”和“1”分别用兩個具有不同相位的二進制碼去取代。

-----------------------分割線----------------------

看見上面這種嚴肅的說法就有了那種口吐白沫,小書一扔,小短腿一蹬就歸西了的感覺……

弄個通俗易懂,符合我們三歲半智商的,請往下看。

雙相碼,就是把一個碼元從中間劈成兩半,而且是要相等的兩半,一半為高電平,一半為低電平。表示二進制數“0”的正負電平是怎麼變化的,表示二進制數“1”的高低電平是怎麼變化的,下面我們通過圖形結合分析來學習。

資料通信03-雙相碼、曼徹斯特碼與差分曼徹斯特碼詳解

圖:雙相碼編碼圖

按照慣例,我們繼續分析:

第一個二進制數“0”,由負電平變為正電平;

第二個二進制數“1”,由正電平變為負電平;

第三個二進制數“1”,由正電平變為負電平;

第四個二進制數“0”,由負電平變為正電平;

第五個二進制數“1”,由正電平變為負電平;

第六個二進制數“0”,由負電平變為正電平;

第七個二進制數“0”,由負電平變為正電平;

第八個二進制數“1”,由正電平變為負電平;

第九個二進制數“1”,由正電平變為負電平;

通過以上九個數進行分析,我們可以看出,每一個數都進行了電平的變化,其中二進制數“0”,由負電平向正電平轉換;二進制數“1”,由正電平向負電平轉換。

雙相碼要求每一位都需要有電平轉換。自定時時,同時具備錯誤檢測,如果某一位中間缺少電平翻轉,則會被認為是違例代碼。

總結:從負電平→正電平表示“0”;從正電平→負電平表示“1”。

雙相編碼以其便于同步提取,頻譜帶寬較窄、實作電路簡單而在短距離通信中得到了廣泛的應用。

2、曼徹斯特碼

曼徹斯特編碼是雙相碼。同樣的我們也需要操着5米長的大砍刀把碼元從中間看成2個等寬,但相位有不同的電平。如下圖所示。

資料通信03-雙相碼、曼徹斯特碼與差分曼徹斯特碼詳解

圖:碼元分成兩個相位不同的電平

正電平到負電平的轉換表示“0”,用低電平到高電平的轉換表示“1”;反之亦然。位于中間的電平轉換即表示了資料代碼,同時也作為定時信号使用。一般多用于以太網中。

示例:一段二進制“011010011”用曼徹斯特碼編碼如下圖所示。

資料通信03-雙相碼、曼徹斯特碼與差分曼徹斯特碼詳解

圖:曼徹斯特編碼

總結:高→低 表示“0”,低到高表示“1”;或者,低到高表示“0”,高到低表示“1”。

用曼徹斯特編碼的信号流中包含了時鐘和資料信号。在傳輸代碼資訊的同時,也将時鐘同步信号一起傳輸到對方。為啥呢,曼徹斯特的編碼的每一個碼元都被調制成了兩個等寬的電平,兩次電平的跳變時間間隔可以是T或者T/2。因為電平跳變的時間間隔都不會變化,要不是T,要不是T/2,是以這不就是很好的同步信号嗎,在曼徹斯特編碼中,每一位的中間有一跳變,該跳變即可以作為時鐘信号,又可以作為資料信号。(我們用曼徹斯特編碼來進行資料傳送的,沒想到同步信号竟然隐藏在資料波形中)。是以,發送曼徹斯特編碼信号時,就不需要另外再發送同步信号了。曼徹斯特編碼的每一個碼元都被調制成兩個電平,是以資料傳輸速率隻有調制速率的1/2。

3、差分曼徹斯特碼

差分曼徹斯特也是雙相碼的其中一個兒子,因為兒子是以繼承了老子一些特性,它也是把碼元從中間劈開了。

與兄弟曼徹斯特碼不同之處是碼元中間劈開的電平轉換隻作為定時信号,不表示資料。資料的表示在于每一位開始處是否有電平值轉換;有電平轉換表示“0”,無電平轉換表示“1”。

資料通信03-雙相碼、曼徹斯特碼與差分曼徹斯特碼詳解

圖:差分曼徹斯特編碼

總結:有電平變0,無電平變1

從不同中看出,這兩種雙相碼的每一個碼元都要調制為兩個不同的電平,因而調制獨立是碼元速率的2倍。對信道的要求就很高,是以實作起來更困難也更昂貴,但它具有良好的抗噪和自定時特性,是以多用于區域網路。

-------------------------------------------------

寫得累死了,轉載請标明出處。

繼續閱讀