线性反馈移位寄存器(Linear Feedback Shift Register, LFSR)

线性反馈移位寄存器

5G NR的主同步序列(PSS)是一个m序列,m序列是一种特殊的LFSR序列。
LFSR序列就是由LFSR产生的序列,m序列就是由LFSR可以产生的最长序列。
LFSR的概念可以由下面这张图直观的展示出来:
在这里插入图片描述
从中可以看到,线性反馈移位寄存器主要由两种器件组成:作为寄存器的D触发器和作为反馈运算的异或门。
下面这张图用来解释LFSR的名字也是够形象,够清晰了,佩服。
在这里插入图片描述
LFSR有几个特性:

  1. 初始状态相同,输出序列相同(也就是说初始状态决定输出序列)
  2. 输出序列看起来是随机序列,但是达到一定位数后会循环
  3. LFSR可以产生的最长的随机序列是2n12^n-1长度(即m序列),其中nn表示寄存器数目
    由于这些特性,LFSR常被用来生成随机码,在密码学中有重要应用。大名鼎鼎的CRC就可以通过LFSR来产生和校验。在很多文章中,尤其是计算机相关的研究中,人们更多的把LFSR用多项式来表示。

那么LFSR的形式如何确定呢?它跟多项式又如何对应呢?
这次不能用sharetechnote的图了,因为我看了他的图之后越发迷惑。我们来看这张图:
在这里插入图片描述
这是一张完整的LFSR表示图,其中gn称为反馈系数,只能取0或者1。如果gn取0表示这个反馈通路不存在,取1表示这个反馈通路存在。那么,把反馈系数用多项式表示就是
gnXn+gn1Xn1+...+g1X1+g0g_nX_n+g_{n-1}X_n-1+...+g_1X_1+g_0,如果我们令y(Xn,Xn1,...,X)=gnXn+gn1Xn1+...+g1X1+g0y(X_n,X_{n-1},...,X)=g_nX_n+g_{n-1}X_n-1+...+g_1X_1+g_0这个多项式,那么y(Xn,Xn1,...,X)y(X_n,X_{n-1},...,X)就称为这个LFSR的反馈函数。
如果y(Xn,Xn1,...,X)y(X_n,X_{n-1},...,X)是线性的,即各个反馈系数之间是++的关系,则称为线性反馈,如果反馈系数之间存在乘除等非线性关系,则称为非线性反馈。
上面这种形式的LFSR称为异或门内接LFSR,因为还有一种叫异或门外接LFSR的电路,大家一看就明白了。
在这里插入图片描述
如果我们把输入和输出序列也表示成多项式的形式,那边LFSR所实现的功能,从数学上来看就是多项式除法。因此,它可以用来实现CRC校验码。

参考资料:
http://www.sharetechnote.com/
https://www.cnblogs.com/Dinging006/p/9564274.html
http://blog.sina.com.cn/s/blog_62d9edac01015lsd.html
https://wenku.baidu.com/view/38a4fb1aff00bed5b9f31d7a.html
https://wenku.baidu.com/view/ce578b72f242336c1eb95e84.html?sxts=1556419273272

发布了17 篇原创文章 · 获赞 26 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览