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;化简一下就可以得到。

最新文章

  1. Clank – 快速构建移动 APP 原型的 HTML/CSS 框架
  2. 46-df 显示磁盘空间的使用情况
  3. EF-Linq将查询结果转换为List<string>
  4. php课程---练习(发布新闻)
  5. JS学习笔记12_优化
  6. Android---用Wi-Fi来建立对等连接
  7. jquery之bind(),live(),delegate()
  8. WF编译报错
  9. Java 面试知识点解析(二)——高并发编程篇
  10. 二、Python-运算符、控制及循环语句
  11. DML&&DQL
  12. django中的null=true,blank=true,这个讲得清楚点
  13. C++ 成员函数赋值给C 的函数指针的采坑录
  14. arc 093 C – Traveling Plan
  15. [LeetCode] 95. Unique Binary Search Trees II(给定一个数字n,返回所有二叉搜索树) ☆☆☆
  16. git 常用操作总结
  17. 修改的select
  18. jpa-入门测试
  19. Node.js系列——(2)发起get/post请求
  20. MySQL 和 Oracle 主键自增长

热门文章

  1. web项目整合Shiro框架
  2. vue-cli Uncaught SyntaxError: Use of const in strict mode解决办法
  3. 安装fcitx
  4. bind、delegate、on的区别
  5. 【Error】local variable 'xxx' referenced before assignment
  6. leetcode 720. Longest Word in Dictionary
  7. ReadWriteLock读写锁
  8. Linux下的ASLR(PIE)内存保护机制
  9. L159
  10. 疑问:@Autowired的作用?[待解答]