Convert mask vector to shift for shift register configuration
shift = mask2shift(prpoly,mask)
shift = mask2shift(prpoly,mask) returns
the shift that is equivalent to a mask, for a linear feedback shift
register whose connections are specified by the primitive polynomial
prpoly input can have one of these formats:
A binary vector that lists the coefficients of the primitive polynomial in order of descending powers
An integer scalar whose binary representation gives the coefficients of the primitive polynomial, where the least significant bit is the constant term
mask input is a binary vector whose length
is the degree of the primitive polynomial.
For more information about how masks and shifts are related
to pseudonoise sequence generators, see
Definition of Equivalent Shift
If A is a root of the primitive polynomial and m(A) is the mask
polynomial evaluated at A, the equivalent shift s solves the equation
As = m(A). To interpret the vector
a polynomial, treat
mask as a list of coefficients
in order of descending powers.
Convert Mask to Shift
Convert masks into shifts for a linear feedback shift register.
Convert a mask of into an equivalent shift for the linear feedback shift register whose connections are specified by the primitive polynomial .
s1 = mask2shift([1 1 0 0 1],[1 0 0 1])
s1 = 4
Convert a mask of
1 to a shift. The mask is equivalent to a shift of
s2 = mask2shift([1 1 0 0 1],[0 0 0 1])
s2 = 0
Convert a mask of into an equivalent shift for the primitive polynomial .
s3 = mask2shift('x3+x+1','x2')
s3 = 2
 Lee, J. S., and L. E. Miller, CDMA Systems Engineering Handbook, Boston, Artech House, 1998.
 Simon, Marvin K., Jim K. Omura, et al., Spread Spectrum Communications Handbook, New York, McGraw-Hill, 1994.