A shift register, generally consisting of several cells, in which the first cell has its input supplied by a combinational logic function of the parallel outputs of several cells and of a possible external input. An important case is the linear feedback register in which linear logic is employed for the feedback function.
The linear feedback register has the effect of deconvolving the external serial input with the sequence of combinational coefficients (see convolution). If the external input is regarded as a polynomial in which powers of the indeterminate denote succession in time, and if the combinational coefficients are regarded likewise as a second polynomial, then the linear feedback register has the effect of dividing the former polynomial by the latter. When used in coding or in digital signal processing, feedback shift registers may be binary or q-ary and may be implemented in hardware or software.
When there is no external serial input, the linear feedback register can be used on its own to generate m-sequences or, with parallel loading of the shift register with a source word, as an encoder for simplex codes; either of these applications requires that the feedback logic coefficients represent a polynomial that is primitive. See also Good—de Bruijn diagram.