前向錯誤更正

前向錯誤更正(英語:forward error correction,縮寫FEC)或頻道編碼(英語:channel coding[1]是一種在單向通訊系統中控制傳輸錯誤的技術,通過連同數據傳送額外的資訊進行錯誤恢復,以降低位元錯誤率。FEC又分為帶內FEC和帶外FEC。FEC的處理往往發生在第一次收到數位訊號的早期階段。也就是說,糾錯電路往往是不可分割的一部分,模擬到數位的轉換過程中,還涉及數位調變解調,或線路編碼和解碼。

FEC採用預先確定的演算法,以添加冗餘的方式進行傳輸。通常每一種FEC方法都直接以該編碼命名,這類編碼被稱為除錯碼。1949年理查德·衛斯里·漢明(Hamming)提出了可糾正單個隨機差錯的漢明碼。1960年Hoopueghem、Bose和Chaudhum發明了BCH碼,Reed與Solomon又提出ReedSolomon(RS)編碼,糾錯能力很強,後來稱之為里德-所羅門碼(Reed-Solomon codes)。ITU-T G.975/G.709規定了「帶外FEC」是在SDH層下面增加一FEC層,專門處理FEC的問題。帶外FEC編碼冗餘度大,糾錯能力較強。FEC有別於ARQ,發現錯誤無須通知傳送方重發。一旦系統遺失了原始的數據封包,FEC機制可以以冗餘封包加以補入。例如有一數據封包為「10」,分成二個封包,分別為「1」和「0」,有一冗餘封包「0」,收到任意兩個封包就能組裝出原始的包。但這些冗餘封包也會產生額外負擔。

參考資料

  1. ^ Charles Wang; Dean Sklar; Diana Johnson. Forward Error-Correction Coding. Crosslink — The Aerospace Corporation magazine of advances in aerospace technology (The Aerospace Corporation). Winter 2001–2002, 3 (1) [2016-08-26]. (原始內容存檔於2006-04-19). How Forward Error-Correcting Codes Work