Method and apparatus for interleaving for information transmission or storage applications
AssigneeQUALCOMM Incorporated
InventorsJafar Mohseni, Brian Butler, Deepu John, Haitao Zhang
Life of this patent
Estimating the term…
Abstract
Interleavers are used in data transmission and storage applications to introduce diversity into a data stream, thereby making adjacent symbols more independent with respect to a transfer environment of variable quality. Conventional interleavers require storage in whole units of data blocks. This storage requirement complicates implementations for applications where available circuit area is limited and data rates and block sizes are large. A novel interleaver produces an interleaved data block using storage space that is only a fraction of the size of the input data block.
Claims32
An apparatus comprising:
- a scratchpad having a plurality of storage elements;
- and
- an address generation unit coupled to said scratchpad,
- wherein:
- said scratchpad receives a block of symbols;
- the address generation unit divides the block into portions, chooses one of the portions while discarding the portions not chosen by the address generation unit, stores the chosen portion in the scratchpad in a first order, and outputs the stored portion in a second order, the second order being different from the first order, each of said plurality of storage elements storing one of the symbols from the block of symbols;
- wherein the number of symbols in the block is designated as N, the number of said plurality of storage elements is designated as M, and M is less than N.
An apparatus comprising:
- a scratchpad having a plurality of storage elements;
- and
- an address generation unit coupled to said scratchpad,
- wherein said apparatus receives a block of symbols, divides the block into portions, and chooses one of the portions while discarding the portions not chosen by the apparatus, and
- wherein said scratchpad stores the chosen portion, each of said plurality of storage elements storing one of the symbols from the block of symbols at a time, and
- wherein said scratchpad outputs the stored portion of the block of symbols in a second order, the second order being different from the first order,
- wherein the number of symbols in the block is designated as N, the number of said plurality of storage elements is designated as M, and M is less than N.
A method comprising:
- receiving a block of symbols;
- dividing the block into portions;
- choosing one of the portions;
- discarding the portions not chosen;
- storing the chosen portion in a scratchpad in a first order;
- outputting the stored portion in a second order,
- wherein said scratchpad comprises a plurality of storage elements, and wherein the number of symbols in the block is designated as N, the number of said plurality of storage elements is designated as M, and M is less than N.
A data storage medium, said medium bearing machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit, said instructions defining a method comprising:
- receiving a block of symbols;
- dividing the block of symbols into portions;
- choosing one of the portions;
- discarding the portions not chosen;
- storing the chosen portion in a scratchpad in a first order;
- and
- outputting the stored portion in a second order,
- wherein said scratchpad comprises a plurality of storage elements, and wherein the number of symbols in the block is designated as N, the number of said plurality of storage elements is designated as M, and M is less than N.
An integrated circuit, said circuit comprising an array of logic elements, said array being configured to perform a method comprising:
- receiving a block of symbols;
- dividing the block into portions;
- choosing one of the portions;
- discarding the portions not chosen;
- storing the chosen potion in a scratchpad in a first order;
- and
- outputting the stored portion in a second order,
- wherein said scratchpad comprises a plurality of storage elements, and wherein the number of symbols in the block is designated as N, the number of said plurality of storage elements is designated as M, and M is less than N.
An apparatus comprising:
- a plurality of scratchpads, each scratchpad having a plurality of storage elements;
- an address generation unit coupled to each among said plurality of scratchpads;
- a demultiplexer coupled to each among said plurality of scratchpads and receiving a block of symbols and a first select signal, the address generation unit dividing the block into portions, choosing one of the portions, discarding the portions not chosen and storing the chosen portion in one of the scratchpads in a first order;
- and
- a multiplexer coupled to each among said plurality of scratchpads and receiving a second select signal, and outputting the stored portion in a second order, the second order being different from the first order,
- wherein each of said plurality of storage elements is capable of storing one of the symbols from the received block of symbols,
- wherein the number of symbols in the block is designated as N, a maximum number of said plurality of storage elements in each of said scratchpads is M, and M is less than N.
Dependencies are inferred from the claim text.