【电子技术】什么是LFSR?

【电子技术】什么是LFSR?0 前言线性反馈移位寄存器 LinearFeedba LFSR 和循环冗余码 CyclicRedund CRC 是微控制器中常用的底层原理

大家好,欢迎来到IT知识分享网。

目录

0 前言

1 数学基础

1.1 逻辑异或

1.2 模2乘法 和 模2除法

 2 线性反馈移位寄存器LFSR

3  抽头和特征多项式

 4  阶线性反馈移位寄存器实例


0 前言

线性反馈移位寄存器: (Linear Feedback Shift Register,LFSR)和循环冗余码(Cyclic Redundancy Check,CRC)是微控制器中常用的底层原理。LFSR用于生成伪随机数,后者用于生成检错码。他们的数学原理都是一样的。

1 数学基础

1.1 逻辑异或

1 相同得0,不同得1

2 二进制加法,只留模2的余数,抛弃进位(模2加法)

1.2 模2乘法 和 模2除法

两个二进制数的模2乘法是指在乘法竖式运算中需要做加法的地方都使用异或运算。

模2乘法1010 * 101=,下图红框中,1⊕0⊕1=0,没有进位:

【电子技术】什么是LFSR?

两个二进制数的模2除法是指在除法竖式运算中需要做减法的地方都使用异或运算。

模2除法10000 / 101=1011,下图红框中,0⊕1=1,没有借位:

在这里插入图片描述

 2 线性反馈移位寄存器LFSR

以斐波那契(外部LFSR)为例,有n个二进制寄存器R0-Rn-1,每个寄存器值为01。

在这里插入图片描述

【电子技术】什么是LFSR?

3  抽头和特征多项式

f(Rn-1, … R1, R0) = (Rn-1*gn)⊕(Rn-2*gn-1)⊕…⊕(R0*g1)*g0 可以用多项式表示为:

G(x)=gnxn+gn-1xn-1+…+g1x+g0

G(x)称为LFSR的特征多项式。

影响线性反馈寄存器下一个状态的 gi = 0 或1叫做抽头,抽头的设定会决定线性反馈寄存器存储的结果 (Rn-1, … R1, R0) 的变化规律。

通常N位的线性反馈寄存器最多有 2’N 个不同的状态。但是如果出现初值为N个0的情况,线性反馈寄存器陷入死循环,要排除掉。所以N位线性反馈寄存器能产生最长的不重复序列为 2’N-1。

使最大输出序列长度为2N-1的不可约多项式称为LFSR的本原多项式,本原多项式产生的寄存器序列为M序列。

 在这里插入图片描述

 4  阶线性反馈移位寄存器实例

在这里插入图片描述

通过设定seed和抽头,LFSR最多可产生2N-1个序列,这些序列之间看似是随机产生的之所以称之为伪随机,是因为这些数是通过具体的关系式产生,最终会实现循环。 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/121064.html

(0)
上一篇 2025-10-25 19:33
下一篇 2025-10-25 19:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信