-
1 # 使用者3299528828649
-
2 # 勇往直前的香瓜40
BCH(26,16)是一種縮短迴圈校驗碼,它的資料位為16位,校驗位是10位,碼字的長度為26位。BCH(26,16)碼取(31,21)迴圈碼中的前5位資訊位為0的碼字作為碼字,構成(21-5)維的線性子空間,它最多能夠糾正t=2位錯誤(n-k\equiv mt,其中m是GF(p^m)中的m,這裡的m=5,n=31,k=21)。對於鐵路在800M頻段上的資料業務,它採用的生成多項式為G(X)=X^10+X^8+X^7+X^5+X^4+X^3+1。
它的通訊原理是:用BCH的生成多項式校驗資料是否正確,即使用接收到的26位碼M(X)= C(X)X^10+R(X)除以生成多項式G(X)。如果餘數為0,那麼校驗正確,否則校驗錯誤,需要糾錯。
-
3 # 獨自等待1615
bch解碼通訊原理:
bch解碼通訊的解碼校驗原理是在時域上直接利用碼的代數結構進行解碼。bch解碼通訊首先,由於BCH(15,7)碼的糾錯能力t=2,所以根據接收序列計算伴隨式sk=r(αk),其在伽羅華域GF(24)上的規定連續根為α、α2、α3、α4。bch解碼通訊與其對應的伴隨式分別為: s1=r(α),s2=r(α2),s3=r(α3),s4=r(α4)。
bch解碼通訊由伴隨式計算差錯定位多項式的係數,在二元BCH碼中,對於任何值都有s2k=s2k。bch解碼通訊同理可推,s4=s24=s41,s6=s23 等。所以在求差錯定位多項式的係數時,僅須用到奇數下標的伴隨式值。bch解碼通訊就BCH(15,7)碼而言,根據s1和s3這兩個伴隨式值便可計算出差錯定位多項式的2個係數, σ1=s1和σ2=s3+s31 s1。
bch解碼通訊依據Chien氏搜尋演算法對碼的每個位置逐位檢索,以確定其錯誤位置。若s1=s3=0,則可判定無差錯發生,若s31+s3=0,則有1個差錯發生,錯碼位置就是s1,若有2個或2個以上的差錯發生,則可按σ1αi+σ2α2i=1(i=0,1,2,…,14)進行搜尋。
bch解碼通訊若在搜尋中找到的根少於2個,則說明該多項式有的根在定位域之外,這表明發生的差錯已超過2個。bch解碼通訊若找到的根恰好等於2個,則表示剛好有2個差錯發生,可根據差錯位置予以糾正。經差錯定位找到差錯位置後,便可進行糾錯了。bch解碼通訊糾錯的原理相對來說比較簡單,因為微控制器處理的是二進位制數,而二進位制數只有2個狀態,即不是“0”就是 “1”,因此糾錯只須將對應差錯位取反。
bch解碼通訊具體的解碼程式採用微控制器的組合語言實現,包括1個主程式和6個子程式。主程式的工作流程是整個程式的主線,決定著解碼的效率。bch解碼通訊而子程式則是為了提高主程式在伽羅華域上代數運算的效率,最佳化主程式的程式結構。
回覆列表
CRC,是Cyclic Redundancy Check的縮寫,是通訊系統中最普遍也是最強大的錯誤檢測碼。它根據資訊欄位的長度而設計,而校驗欄位的長度可以隨意選擇。
利用CRC進行的錯誤檢測的過程可以簡單的描述為:傳送端產生一段k位元的二進位制碼序列,之後根據特定的規則得出CRC碼並附在原始碼字後面。這個具有(k+r)位元的二進位制碼序列就可以被髮送了。傳輸過程之後,接收端根據原始碼與CRC碼之間的規則檢測到其中是否有錯誤。
CRC在網際網路及其他領域的應用非常廣泛,因為它具有很強的錯誤檢測能力,低成本並且易於實現。CRC不能檢測到錯誤的機率僅為0.0047%或更少。對於效能和成本來講,CRC要比奇偶校驗和算術檢測要好的多。但是,CRC也很有可能會對於不同的資訊產生相同的CRC碼,尤其是當大量資訊同時出現的時候。在這種情況下,CRC將會出現錯誤並且對於接收方重建原始資訊增加了困難。例如,接收方必須要逐個位元進行檢查來避免錯誤,這樣會增加很多處理時間,所以,我們需要高效能的傳送端和接收端。還有,CRC顯然並不適合只具有低端CPU的裝置。