前向糾錯也叫前向糾錯碼(ForwardErrorCorrection簡稱FEC),是增加數據通訊可信度的方法。在單向通訊信道中,一旦錯誤被發現,其接收器將無權再請求傳輸。
“前向糾錯” ,它被廣泛應用于通信系統中的編碼技術以保證數據的準確性,它的基本思路是在發送端,把要發送的信息重新編碼,加入一定的冗余校驗信息,組成長度較長的codeword,待到達接收端之后,如果錯誤在可糾范圍之內,通過解碼檢查后糾正錯誤,從而降低誤碼率,提高通信系統的可靠性。在光通信系統中,通過FEC的處理,可以以很小的冗余開銷,有效降低系統的誤碼率,延長傳輸距離,實現降低系統成本的目的。
前向糾錯在數字通信領域應用很廣,在無線、接入和傳輸等都有廣泛應用。
FEC的編碼形式有很多種,比如說Hamming code, Golay編碼,BCH 編碼,但光通信領域使用較多的,從規范定義中就可以發現都以Reed Solomon為主,它是一種交織編碼,使用一組糾錯碼,
與低密度校驗碼和turbo碼相比,具有更小的編碼增益。但是它有很高的編碼速率并且復雜度低,所以它適用于許多應用場景。
對于FEC來說,增加多個冗余位之后,編碼的抗干擾能力增強,編碼糾錯,檢錯的能力都變強。當然冗余位的多少需要和有效位開銷之間找到一個平衡點,并不是越多越好。否則也會嚴重影響數據傳輸的效率。
FEC中還會用到interleaving,也可以稱為 “交織處理”,它可以將可能出現的長串誤碼分散到多個RS編碼序列中,使得分散后的誤碼長度落到編碼糾錯能力范圍之內,從而使得交織處理之前超出糾錯能力的長誤碼串也能得到正確的恢復。