本篇文章給大家談談BCH碼,以及bch碼的研究對應的知識點,希望對各位有所幫助,不要忘了收藏本站!
BCH碼是循環碼的一個重要子類,它具有糾多個錯誤的能力,BCH碼有嚴密的代數理論,是目前研究最透徹的一類碼。它的生成多項式與最小碼距之間有密切的關係,人們可以根據所要求的糾錯能力t很容易構造出BCH碼,它們的譯碼器也容易實現,是線性分組...
它是一類重要的循環碼,能糾正多個錯誤。假設m是滿足模n(modn)的最小正整數,寧GF(2)的n次單位原根,作循環碼的生成多項式g(x),以d0-1個接續的元素為根,其中m0,d0均為正整數,且d0≥2。於是
其中mj(x)代表的最小多項式。由這個g(x)所生成的,分組長為n的循環碼稱為BCH碼。它由R.C.Bose,D.K.Ray-Chaudhuri及A.Hocquenghem三人研究而得名。BCH碼的主要數量指標是:碼長n,首元指數m0,設計距離d0,信息位數(表示多項式g(x)的次數)。BCH碼的重要特性在於:設計距離為d0的BCH碼,其最小距離至少為d0,從而可至少糾正(d0-1)/2個獨立錯誤。BCH碼譯碼的第一步是計算伴隨式。假設 為發送碼矢量,為接收矢量,而E=(E0,E1,…,En-1)為錯誤矢量,或記為錯誤多項式。於是伴隨矢量之諸S=(S1,S2,…,S2t)分量S𑀀
決定(1,2,…2t;為簡便計,設m0=1,d0=2t+1)。假設有e個錯誤出現(1≤e≤t),則對應於e個錯誤的Ei厵0。如果E的第j個(從左至右)非零分量是Ei,則稱Xj=個錯誤Ei的錯位,而稱Yj=Ei為這個錯誤的錯值。稱 為錯位多項式。BCH碼譯碼的關鍵是由諸s1,2,…,2t)求出(z)。這可用著名的伯利坎普-梅西迭代算法來完成。這種算法相當於線性移位寄存器(LFDR寄存器)的綜合問題。最後一步是求出(z)的全部根,可用錢天聞搜索算法完成,從而可以定出接收矢量r的全部錯位。
BCH碼是一類重要的糾錯碼,它把信源待發的信息序列按固定的𝍤𘀧分成消息組,再將每一消息組獨立變換成長為n(n>的二進製數字組,稱為碼字。如果消息組的數目為M(顯然M>=2),由此所獲得的M個碼字的全體便稱為碼長為n、信息數目為M的分組碼,記為n,M。把消息組變換成碼字的過程稱為編碼,其逆過程稱為譯碼。
BCH的本質就是線性循環碼,就是糾正一個錯誤循環碼,編碼也是和循環碼一樣采用生成多項式來編碼的,解碼的方法很多種,常用的硬件解碼電路就是用移位寄存器等主成,軟件解碼有錢搜索等方法,所以一般把BCH碼放在循環碼裏麵或者緊挨著循環碼後麵講,BCH碼講完了就是講RS碼,因為RS碼就是多進製的BCH碼,他們都是線性碼,應用範圍主要是短距離對碼率要求不高的地方,通信上很少用,但是LDPC和TURBO都不是線性碼,他們和線性循環等碼有本質的區別,無論編碼解碼都有自己的方法,而且這兩種碼都是最近幾年才出來的,LDPC1996年才開始大規模的研究,主要用於遠程移動通信上麵,4G裏麵用了很多LDPC,這兩種碼也是性能很高的碼,可以接近香農極限,當然,學習這兩種碼也是比較難的,當年我學的差點吐血。
至於哪種碼更好,我覺得不存在這樣一個問題,每個人每種碼都有自己的用處,比如要是用於光盤糾錯,非得BCH來,用於遠程通信,LDPC或者TURBO碼更勝任,沒有比較的意義,總之存在就是合理的,要是有一種碼是萬能的,其他碼就會消失了,你也聽不到那些名字了,所以你所了解到的東西,說明他們都是有用處的。
用Vn表示GF(2)域的n維線性空間,V的𖭥퐧麩,表示一個(n,線性分組碼。Ei=(vi1,vi2…,vin)是代表V一組基底(i=1,2,…,。以這組基底構成的矩陣
稱為該(n,線性碼的生成矩陣。對於給定的消息組m=(m1,m2,…,m,按生成矩陣G,m被編為mG=m1E1+m2E2+…+m
這就是線性分組碼的編碼規則。若
之秩為n-𘦤𘔦H=0,僅當=(v1,v2,…,vn)∈n滿足H=0時,才為𘭧碼字。稱H為(n,線性分組碼均等校驗矩陣,稱H為矢量的伴隨式。假設v是發送的碼矢量,在接收端獲得一個失真的矢量r=v+E,式中E=(e1,e2,…,en)稱為錯誤型。由此rH=(v+e)H=eH
線性碼的譯碼原則便以此為基礎。
BCH碼是循環碼的一個重要子類,它具有糾多個錯誤的能力,BCH碼有嚴密的代數理論,是目前研究最透徹的一類碼。它的生成多項式與最小碼距之間有密切的關係,人們可以根據所要求的糾錯能力t很容易構造出BCH碼,它們的譯碼器也容易實現,是線性分組碼中應用最普遍的一類碼。
關於BCH碼和bch碼的研究的介紹到此就結束了,不知道你從中找到你需要的信息了嗎?如果你還想了解更多這方麵的信息,記得收藏關注本站。
查看更多關於BCH碼的詳細內容...