本原多项式产生m序列的原理

今天下午花了半下午时间搞m序列产生的方法,遂趁热打火记录一下。

参考文献:

1.谢刚,GPS原理与接收机设计

以一个五级的m序列反馈器为例

假设初始寄存器的值都为1,如图可以看出特征多项式是F(x)=1+x^3+x^5,这个寄存器是一个右溢出寄存器,

第一个循环,把最高位第五位给到输出,同时也给到异或加法器的输入端,异或加法器的另外一个输入端接收的是第三位的数值,输出接到第一位寄存器,第五位和第三位数值异或输出给第一位。然后第一个循环中的第一位、第二位、第三位、第四位右移,进入第二个循环。

这是硬件上m序列产生的原理。

哪怎么和特征多项式对应起来呢?

我们和matlab中的primpoly函数对照起来看。

primpoly可以产生本原多项式的函数,我们还是让他产生5阶m序列,

然后把41化成二进制数值,

ans =

'101001'

这个数值就正好对应着我们举例的五级反馈移位寄存器的系数

相关推荐
qq_334903151 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
阿贵---12 分钟前
C++代码规范化工具
开发语言·c++·算法
暮冬-  Gentle°20 分钟前
自定义内存检测工具
开发语言·c++·算法
ccLianLian31 分钟前
数论·欧拉函数
数据结构·算法
2501_9454248038 分钟前
C++编译期矩阵运算
开发语言·c++·算法
2301_8154829344 分钟前
C++中的类型标签分发
开发语言·c++·算法
xushichao19891 小时前
代码生成优化技术
开发语言·c++·算法
炽烈小老头1 小时前
【每天学习一点算法 2026/03/22】前 K 个高频元素
学习·算法
2401_873204651 小时前
模板编译期循环展开
开发语言·c++·算法
木心月转码ing1 小时前
Hot100-Day51-TT70爬楼梯
算法