Patent ID: 8924829

Claim:
A method for turbo-encoding a block of data, the method comprising: receiving data bits of the block of data, masking irrelevant data bits by a masking unit, wherein: the masking unit includes one or more masks, including a mask per each segment of the block of data, a mask per each tap of an interleaved convolutional encoder of a turbo encoder, a mask per each predefined state of a non-interleaved convolutional encoder, a mask per each size of blocks of data input to the turbo-encoding, or a combination thereof; and irrelevant data bits comprise data bits that, regardless of their value, do not affect a final state of the interleaved convolutional encoder of the turbo encoder and irrelevant data bits are determinable by representing a portion of the turbo-encoding as a Boolean algebra expression and selecting data bits whose omission does not affect the Boolean algebra expression as irrelevant data bits; calculating a last state of the interleaved convolutional encoder based on relevant data bits provided by the masking unit, wherein the calculating of the last state of the interleaved convolutional encoder is initialized before a completion of a reception of the entire block of data; finding an initial state of the interleaved convolutional encoder based on the last state of the interleaved convolutional encoder, wherein the initial state of the interleaved convolutional encoder equals a final state of the interleaved convolutional encoder; initializing the interleaved convolutional encoder to the initial state; and turbo-encoding interleaved data bits by the interleaved convolutional encoder.