De-Interleaving using minimal memory
AssigneeHorizon Semiconductors Ltd.
InventorMoshe Ben-Ari
Life of this patent
Estimating the term…
Abstract
A de-interleaver for receiving data blocks including data units in an interleaved order, each data unit having a de-interleaved location within the data block, placing the data units in a memory buffer, and outputting the data units in a de-interleaved order from the memory buffer, the de-interleaver including an output unit configured to output a data unit from a location in the memory buffer of a next data unit in de-interleaved order, thereby to provide the data block in de-interleaved order, and an input unit configured with the output unit to input an incoming data unit, the incoming data unit being in the interleaved order, into the location in the memory buffer vacated by the next, in de-interleaved order, data unit being output. Related apparatus and methods are also described.
Claims45
A de-interleaver for receiving data blocks comprising data units in an interleaved order, each data unit having a de-interleaved location within the data block, placing said data units in a memory buffer, and outputting said data units in a de-interleaved order from said memory buffer, the de-interleaver comprising:
- an output unit configured to output a data unit from a location in the memory buffer of a next data unit in de-interleaved order, thereby to provide the data block in de-interleaved order;
- and
- an input unit configured with the output unit to input an incoming data unit, said incoming data unit being in said interleaved order, into the location in the memory buffer vacated by said next, in de-interleaved order, data unit being output.
A method for receiving data blocks comprising data units in an interleaved order, each data unit having a de-interleaved location within the data block, placing said data units in a memory buffer, and outputting said data units in a de-interleaved order from said memory buffer, the method comprising:
- receiving the data block;
- and
- for each data unit of the data block:
- calculating a location in the memory buffer of a next, in de-interleaved order, data unit of a previous data block;
- outputting said next, in de-interleaved order, data unit of the previous data block from the location in the memory buffer, thereby providing an output of the data unit of the previous data block in de-interleaved order;
- and
- inputting the data unit of the data block, in an order in which the data unit was received, to the location in the memory buffer.
Dependencies are inferred from the claim text.