Communications Toolbox | ![]() ![]() |
Convert shift to mask vector for a shift register configuration
Syntax
Description
mask = shift2mask(prpoly,shift)
returns the mask that is equivalent to the shift (or offset) specified by shift
, for a linear feedback shift register whose connections are specified by the primitive polynomial prpoly
. The prpoly
input can have one of these formats:
The shift
input is an integer scalar.
Note
To save time, shift2mask does not check that prpoly is primitive. If it is not primitive, then the output is not meaningful. To find primitive polynomials, use primpoly or see [2].
|
Definition of Equivalent Mask
The equivalent mask for the shift s is the remainder after dividing the polynomial xs by the primitive polynomial. The vector mask
represents the remainder polynomial by listing the coefficients in order of descending powers.
Shifts, Masks, and Pseudonoise Sequence Generators
Linear feedback shift registers are part of an implementation of a pseudonoise sequence generator. Below is a schematic diagram of a pseudonoise sequence generator. All adders perform addition modulo 2.
The primitive polynomial determines the state of each switch labeled gk, while the mask determines the state of each switch labeled mk. The lower half of the diagram shows the implementation of the shift, which delays the starting point of the output sequence. If the shift is zero, then the m0 switch is closed while all other mk switches are open. The table below indicates how the shift affects the shift register's output.
T = 0 |
T = 1 |
T = 2 |
![]() |
T = s |
T = s+1 |
|
Shift = 0 |
x0 |
x1 |
x2 |
![]() |
xs |
xs+1 |
Shift = s > 0 |
xs |
xs+1 |
xs+2 |
![]() |
x2s |
x2s+1 |
If you have the Communications Blockset and want to generate a pseudonoise sequence in a Simulink model, see the reference page for the PN Sequence Generator block in the blockset's documentation set.
Examples
The command below converts a shift of 5 into the equivalent mask x3 +x + 1, for the linear feedback shift register whose connections are specified by the primitive polynomial x4 + x3 + 1.
See Also
mask2shift
, deconv
, isprimitive
, primpoly
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.
![]() | scatterplot | symerr | ![]() |