对于一个n级m序列移位寄存器来说,它在每一时刻的内部状态都可以看做有限域GF(2)上的一个n维向量,而反馈函数就是刻划了从每一时刻的状态到下一时刻状态的转移规律,或者说反馈函数定义了n维向量空间上的一个线性变换。
通常可以用Vn(F)代表域GF(2)上全体n元数组构成的n维向量空间,a=(a0a1a2…an-1…)代表n级移位寄存器产生的m序列。n级m序列移位寄存器的状态可以看做Vn(F)中的向量。设f(λ)=λn+Cn-1λn-1+…+C0是多项式环F[λ]中的一次n多项式,那么,对于G(f)中的线性移位寄存器序列,从状态(akak+1…ak+n-1)到下一个状态(ak+1ak+2…ak+n)的转移就可以看成是Vn(F)的一个线性变换。由于ak+n=cn-1ak+n-1+cn-2ak+n-2+…+coak,于是,状态转移变换用矩阵写出来就是:
称为线性移位寄存器的状态转移矩阵,显然,状态转移矩阵T和初始状态完全刻画了线性移位寄存器所产生的序列。它在此建立起了反馈
=GF(2)之间的关系,这样就可以直接从m序列本原多项式出发,在FPGA中实现m序列移位寄存器结构并产生m序列。
若本原多项式的m序列移位寄存器反馈逻辑为,则本原多项式的m序列的VHDL语言实现代码如下: