Convert mask vector to shift for shift register configuration

## Syntax

```shift = mask2shift(prpoly,mask) ```

## Description

`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`. The `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

The `mask` input is a binary vector whose length is the degree of the primitive polynomial.

Note

To save time, `mask2shift` does not check that `prpoly` is primitive. If it is not primitive, the output is not meaningful. To find primitive polynomials, use `primpoly` or see [2].

For more information about how masks and shifts are related to pseudonoise sequence generators, see `shift2mask`.

### 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 `mask` as a polynomial, treat `mask` as a list of coefficients in order of descending powers.

## Examples

collapse all

Convert masks into shifts for a linear feedback shift register.

Convert a mask of ${x}^{3}+1$ into an equivalent shift for the linear feedback shift register whose connections are specified by the primitive polynomial ${x}^{4}+{x}^{3}+1$.

`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 `0`.

`s2 = mask2shift([1 1 0 0 1],[0 0 0 1])`
```s2 = 0 ```

Convert a mask of ${x}^{2}$ into an equivalent shift for the primitive polynomial ${x}^{3}+x+1$.

`s3 = mask2shift('x3+x+1','x2')`
```s3 = 2 ```

## References

[1] Lee, J. S., and L. E. Miller, CDMA Systems Engineering Handbook, Boston, Artech House, 1998.

[2] Simon, Marvin K., Jim K. Omura, et al., Spread Spectrum Communications Handbook, New York, McGraw-Hill, 1994.

## Version History

Introduced before R2006a