TOPICS
Search

Shift Register


A shift register is a finite-state sequence generator that shifts the symbols in its state and appends a new symbol. In a feedback shift register, the appended symbol is determined by a feedback function of the current state. For a finite alphabet A and a state of length n>=1, the update is

 T(x_1,...,x_n)=(x_2,...,x_n,f(x_1,...,x_n)),
(1)

where f:A^n->A. Every trajectory is eventually periodic because the state space is finite (Wolfram 2002, pp. 974 and 1088).

A binary linear feedback shift register uses the finite field GF(2) and a feedback function of the form

 f(x_1,...,x_n)=sum_(i=1)^nc_ix_i,
(2)

where the coefficients c_i belong to GF(2) and addition is modulo 2. A nonlinear feedback shift register instead uses a nonlinear Boolean function.

The binary linear update fixes the all-zero state, so a cycle of nonzero states has length at most 2^n-1. With the left-shift convention above, its characteristic polynomial is

 P(t)=t^n+sum_(i=1)^nc_it^(i-1).
(3)

If P is a primitive polynomial over GF(2), then all 2^n-1 nonzero states form a single cycle (Wolfram 2002, p. 974). For example, the rule f(x_1,x_2,x_3)=x_1+x_2 has characteristic polynomial t^3+t+1 and produces the seven-state cycle

 100->001->010->101->011->111->110->100.
(4)

Suitable nonlinear feedback can generate a binary de Bruijn sequence, whose cycle includes all 2^n states, in contrast to the 2^n-1 nonzero states of a maximal binary linear register (Wolfram 2002, p. 1088).


See also

de Bruijn Sequence, Primitive Polynomial

Explore with Wolfram|Alpha

References

Golomb, S. W. Shift Register Sequences. San Francisco, CA: Holden-Day, 1967.Wolfram, S. A New Kind of Science. Champaign, IL: Wolfram Media, pp. 974 and 1088, 2002.

Cite this as:

Weisstein, Eric W. "Shift Register." From MathWorld--A Wolfram Resource. https://mathworld.wolfram.com/ShiftRegister.html

Subject classifications