關於rs編碼的理解


1,rs編碼首先是線性循環編碼,所謂線性循環編碼就是說編碼后的碼組T(x)左移或右移都必然還是有限組碼組中的一組,並且T(X)碼組能夠被g(x)整除,g(x)為生成多項式。

2,由信息碼m(x)得到T(x)的原理:

3,關於域

 

所指的域為伽羅華域,簡寫為GF(2^m)域中的每個元素都可以用a^0,a^1,a^2...a^(m-1) 的和表示。

運算法則可以參考模2運算,不過乘法運算有區別,是模N算法,N不一定是2。

4,生成多項式g(x)=(x-a)(x-a^2)(x-a^3).....(x-a^(n-k))或者減號變為加號,因為模二加法和模二減法效果相同,展開之后再結合域的元素之間的關系,得到各項系數g0,g1,g2.......

5,fpga實現原理圖

至於m是在最高位輸入還是在最低位輸入根據原理可以知道,要算的是x^(n-k)*m(x)/g(x),那么就是在最高位輸入,如果是m(x)/g(x),那么就是在低位輸入。其他部分按照除數的表達式去抽頭。輸入順序為由高到低。

6,上圖中關鍵部分在於域乘法的實現,實現原理如下所示

其中m*g0=q;化簡一下就可以得到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM