簡介
在電信中, 傳號反轉碼(英語: coded mark inversion,CMI)是一種不歸零(NRZ)的線路碼。它將 0比特編碼為半比特時間的零,隨後是半比特時間的一;而 1比特編碼為一整個比特時間的恆定電平。 1比特的電平在每次編碼1的時候都交替。
這隱約讓人聯想到米勒編碼,但與之十分不同,該編碼也使用半位和滿位脈衝,但還使用了一半1/一半0的組合,並把它們排列得使得再次轉換前信號在特定水平總是持續至少一整個比特時間。
與簡單的不歸零碼相比, CMI加倍了比特流 頻率,但可以容易、可靠地恢復時鐘。
線路碼
線路碼(英語:Line code),有時也稱傳輸碼。為了便於數位訊號傳輸,將原始的數據碼進行一定的修改就得到了線路碼。舉例來說,當原始數據中存在長時間連續的1或0時,接收方便很難得知每一位信號的時長,也可能誤以為信號傳輸終結而中斷通信。線路碼還可增加糾錯功能,適應信道的特性。常見的線路碼包括AMI碼、HDB3碼等。
不歸零
在電信學中, 不歸零編碼( non-return-to-zeroline code, NRZ) 指的是一種二進制的信號代碼,在這種傳輸方式中,1 和 0 都分別由不同的電子顯著狀態來表現,除此之外,沒有中性狀態、亦沒有其他種狀態。這種脈衝的能量比歸零代碼要來得密集,但它傳輸時是不停歇的,這代表同步信號必須在此代碼之外獨自傳輸。
在給定一個信號頻率的情況下(比如說位元率),NRZ 代碼只需要曼徹斯特碼(Manchester code) 的一半頻寬。
當用於異步傳輸時,由於缺少中性狀態,必須依靠其他種機制,來達成在同步傳輸中使用時鐘偵測錯誤的資料回復工作。
NRZ-Level 本身並非一種同步系統,而更是一種編碼方式,因為它可用於同步環境、或異步環境中,也就是不管有沒有明確的時鐘信號,都可以運作。所以,討論 NRZ-Level 編碼是否在時鐘“跳動 (clock-edge)”或“跳動之間 (between clock-edge)”並非必要的,因為每一個信號一定都是以給定的時脈來傳輸的,這就暗示了信號內在的時脈。真正的問題是,能否在接收端以當初取樣時的同樣頻率重繪該信號。
然而,由於 NRZ 信號的脈衝與時鐘是一致的,這就很容易看出 NRZ-Level 和其他編碼方式的不同,例如前面提到的曼徹斯特碼,它需要明確的時脈信息(即 NRZ 和時鐘的 XOR 值),還能看出與 NRZ-Mark 和 NRZ-Inverted 等編碼的不同。
參見
•曼徹斯特編碼