跳轉到內容

資料編碼理論/傳輸碼

來自華夏公益教科書,自由的教科書

基本編碼

[編輯 | 編輯原始碼]

事實證明,我們實際上可以透過更改系統中的位來提高系統的效能。我們可以更改位的順序,或者更改傳送的位數,以幫助降低錯誤率。本章將討論可以幫助提高系統性能的傳輸碼。

格雷碼

[編輯 | 編輯原始碼]

讓我們看一下一個基本的 QASK 系統

  1. "00" = +5V
  2. "01" = +1.66V
  3. "10" = -1.66V
  4. "11" = -5V

我們將這些稱為“符號 1”(對於 00)、“符號 2”(對於 01)、“符號 3”(對於 10)和“符號 4”(對於 11)。

現在,讓我們做一個基本假設,即我們得到的唯一錯誤是相鄰符號之間的錯誤。例如,符號 1 可能被誤認為符號 2,但符號 1 絕不會被誤認為符號 3。實際上,這種情況總是存在著非常小的可能性,但為了我們的目的,我們將簡單地忽略它。

現在,我們有 6 種錯誤情況

  1. 符號 1 看起來像符號 2
  2. 符號 2 看起來像符號 1
  3. 符號 2 看起來像符號 3
  4. 符號 3 看起來像符號 2
  5. 符號 3 看起來像符號 4
  6. 符號 4 看起來像符號 3

我們還可以看到,在錯誤情況 1、2、5 和 6 中,符號錯誤只會產生 1 位錯誤。實際上,另一個位沒有錯誤傳輸。只有在符號 2 和 3 混合時,我們才會看到 2 位錯誤傳輸。我們可以這樣計算我們的位錯誤機率

Pone bit error 是符號中 1 位出現錯誤的機率。Ptwo bits error 是兩個符號都收到錯誤的機率。

為了緩解這個問題,我們可以重新排序我們的符號,並以以下方式對映它們

  1. "00" = +5V
  2. "01" = +1.66V
  3. "11" = -1.66V
  4. "10" = -5V

現在,當任何符號接收錯誤時,只有一個位錯誤。這個小技巧叫做“格雷碼”,是一種在淨位錯誤方面提高系統性能的有用(但簡單)的方法。

使用格雷碼

[編輯 | 編輯原始碼]

格雷碼是一個簡單的例子,說明在通訊系統中使用編碼/解碼機制如何影響系統的錯誤率。在後面的章節中,我們將討論可以用來查詢和修復訊號中單位元錯誤的糾錯碼 (ECC)。如果我們使用格雷碼來確保大多數錯誤都是單位元錯誤,那麼我們就可以使用更高階的 ECC 碼來解決這些錯誤。

格雷碼通常不會單獨使用,而是與更強大的編碼方法結合使用,如上所述。

進一步閱讀

[編輯 | 編輯原始碼]
華夏公益教科書