Can you summarize the following document?
        
  BCH 碼使用有限域上的域論與多項式。為了檢測錯誤可以構建一個檢測多項式,這樣接收端就可以檢測是否有錯誤發生。  要構建一個能夠檢測、校正兩個錯誤的 BCH 碼,我們要使用有限域 GF(16) 或者 Z["x"]/<"x" + "x" + 1>。如果 α 是 "m"("x") = "x" + "x" + 1 的一個根,那麼 "m" 就是 α 的極小多項式,這是因為  如果要構建一個能夠糾正一個錯誤的 BCH 碼,那麼就使用 "m"("x"),這個程式碼就是所有滿足

  構建碼字為 這樣多項式為 我們將它稱為 "C"。  然後就要找出 "C" 滿足 "C"="C" (mod "m"("x"))="c"+"c"+...+"c"  這樣就得到待發的碼字 "C"("x") = "C"+"C" (mod "m"("x")) = 0  例如,如果我們要對 (1,1,0,0,1,1,0) 進行編碼 然後用 "m"("x") 除以(這裡的除法是多項式除法)"C",得到結果為 "C"("x"),在Z域中,我們可以算出 "C"為 這樣,待發的碼字為

  BCH 的解碼過程可以分為以下四步  假設我們收到一個碼字向量 r,即多項式 "R"("x"))。  如果沒有錯誤,那麼 R(α)=R(α)=0  如果有一個錯誤,例如 r=c+e,其中 e 表示 R 的第 "i"個基向量 於是 這樣就可以糾正錯誤。α 的指數顯示的資料位變化可以幫助我們校正錯誤。  如果有兩個錯誤 那麼 這與 "S" 不同,所以我們認為有兩個錯誤。更進一步的代數方法可以幫助校正著兩個錯誤。  "開頭兩段內容出自 Federal Standard 1037C"  上面的文字摘自:http://bch-code.foosquare.com/

  流行的解碼演算法有,

  

  Peterson 演算法是普通 BCH 解碼過程的第二步,在這裡使用 Peterson 演算法計算多項式 formula_1 的錯誤定位多項式係數 formula_2  這樣給定 BCH 碼 formula_3,可以校正 formula_4 個錯誤的 Peterson Gorenstein Zierler 演算法就是  formula_6

  的矩陣 formula_7  formula_8 的矩陣 formula_9 formula_11 表示 formula_12  if formula_16

  在得到 formula_19 多項式之後,用 "Chiens search" 演算法就可以得到它的解 formula_20。根據素元 formula_21 的指數冪就能得到接收到的碼字中錯誤的位置,這也就是誤差定位多項式名稱的由來。

  對於二進位制的BCH碼,可以直接根據錯誤定位多項式因數素元指數的位置校正接收到的向量。最後,對這些位置接收到的數值取反,就可以得到正確的BCH解碼碼字。  另外也可以使用Berlekamp-Massey 演算法確定錯誤定位多項式,從而解決BCH解碼的問題。
BCH碼(BCH codes、Bose–Chaudhuri–Hocquenghem codes)為取自Bose、Ray-Chaudhuri與Hocquenghem的縮寫,是編碼理論尤其是糾錯碼中研究得比較多的一種編碼方法。用術語來說,BCH碼是用於校正多個隨機錯誤模式的多級、迴圈、錯誤校正、變長數字編碼。BCH碼也可以用於質數級或者質數的冪級的多級相移鍵控。11級的BCH碼已經用於表示10進位制數外加一個符號位。