Interleaver, deinterleaver, interleaving method, and deinterleaving method for OFDM data
AssigneeCisco Systems Wireless Networking (Australia) Pty Limited
InventorsThangadurai Arivoli, John D. O'Sullivan
Life of this patent
Estimating the term…
Abstract
An interleaver and interleaving method each includes two stages, and is useful in coded orthogonal frequency division multiplexed (COFDM) wireless local area networks. A first stage performs a first block permutation and a second stage performs bit order permutation to effectuate a second group permutation. A corresponding de-interleaver does just the opposite at the receiver. A double-buffer version includes writing data into one memory block in a first order while reading data from the second block in a second order, with the first and second orders selected to effectuate the first block permutation.
Claims29
An interleaver for performing a first block permutation and, for one or more particular modulation schemes, a second group permutation, the interleaver comprising:
- a first stage for accepting the coded symbol bits of data for transmission by an OFDM modulator, the first stage including a memory accepting the coded symbols and arranged to write the coded symbols in a first order and read the written-to memory in a second order to effectuate an interleaving operation;
- and
- a bit order permuter accepting the data read out of the first stage and permuting bits assignment to produce subcarrier data for input to an OFDM modulator, the permuter effectuating the second group permutation for the particular modulation schemes,
- such that the first stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the first order of writing and the second order of reading the memory further perform re-ordering of the data such that a discrete Fourier transform operation on the data output by the interleaver and modulated produces transformed data in natural order, and
- wherein the re-ordering to produce interleaver output data in a natural order includes a bit-reversal operation.
An interleaver for performing a first block permutation and, for one or more particular modulation schemes, a second group permutation, the interleaver comprising:
- a first stage for accepting the coded symbol bits of data for transmission by an OFDM modulator, the first stage including a memory accepting the coded symbols and arranged to write the coded symbols in a first order and read the written-to memory in a second order to effectuate an interleaving operation;
- and
- a bit order permuter accepting the data read out of the first stage and permuting bits assignment to produce subcarrier data for input to an OFDM modulator, the permuter effectuating the second group permutation for the particular modulation schemes,
- such that the first stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the memory in the first stage includes a pair of memory blocks accepting the coded symbols and arranged as a double-buffer, the memory blocks arranged to alternately write the coded symbols in the first order in one block and simultaneously read the written-to memory of the second block in the second order to effectuate the interleaving operation.
An interleaver for performing a first block permutation, and for one or more particular modulation schemes, a second group permutation, the interleaver comprising:
- a first stage for accepting the coded symbol bits of data for transmission by an OFDM modulator, the first stage including a memory accepting the coded symbols and arranged to write the coded symbols in a first order and read the written-to memory in a second order to effectuate an interleaving operation;
- and
- a bit order permuter accepting the data read out of the first stage and permuting bits assignment to produce subcarrier data for input to an OFDM modulator, the permuter effectuating the second group permutation for the particular modulation schemes,
- such that the first stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the memory includes at least one block of data, each block corresponding to a coded input data symbol, the data in each block arrangeable as an array, such that data bits are written column by column of the array and are read out row by row, and
- wherein each row of the array contains the bits of three subcarrier groups independent of the type of modulation.
A de-interleaver for performing a group permutation for one or more particular modulation schemes and a block permutation for all modulation schemes, the de-interleaver comprising:
- a bit order permuter accepting received subcarrier data from an OFDM de-modulator and permuting bits assignment to produce permuted subcarrier data, the permuter effectuating the group permutation for the particular modulation schemes;
- a second stage for accepting the permuted subcarrier data, the second stage including a memory accepting the permuted subcarrier data and arranged to write the permuted subcarrier data in a first order and read the written-to memory in a second order to effectuate an interleaving operation, the read out data providing input data for a decoder,
- such that the second stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the first order of writing and the second order of reading the memory further perform re-ordering of the data order such that the ordering of the subcarrier data resulting from a discrete Fourier transform operation used to produce the subcarrier data is modified such the data output by the de-interleaver produces data in natural order, and
- wherein the re-ordering to produce de-interleaver output data in a natural order includes a bit-reversal operation.
A de-interleaver for performing a group permutation for one or more particular modulation schemes and a block permutation for all modulation schemes, the de-interleaver comprising:
- a bit order permuter accepting received subcarrier data from an OFDM de-modulator and permuting bits assignment to produce permuted subcarrier data, the permuter effectuating the group permutation for the particular modulation schemes;
- a second stage for accepting the permuted subcarrier data, the second stage including a memory accepting the permuted subcarrier data and arranged to write the permuted subcarrier data in a first order and read the written-to memory in a second order to effectuate an interleaving operation, the read out data providing input data for a decoder,
- such that the second stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the memory in the second stage includes a pair of memory blocks accepting the coded symbols and arranged as a double-buffer, the memory blocks arranged to alternately write the permuted subcarrier data in the first order in one block and simultaneously read the written-to memory of the second block in the second order to effectuate the interleaving operation.
A de-interleaver for performing a group permutation for one or more particular modulation schemes and a block permutation for all modulation schemes, the de-interleaver comprising:
- a bit order permuter accepting received subcarrier data from an OFDM de-modulator and permuting bits assignment to produce permuted subcarrier data, the permuter effectuating the group permutation for the particular modulation schemes;
- a second stage for accepting the permuted subcarrier data, the second stage including a memory accepting the permuted subcarrier data and arranged to write the permuted subcarrier data in a first order and read the written-to memory in a second order to effectuate an interleaving operation, the read out data providing input data for a decoder,
- such that the second stage performs the block permutation and the bit order mapper performs any required group permutation,
- wherein the memory includes at least one block of data, each block corresponding to a data symbol, the data in each block arrangeable as an array, such that data bits are written row-by-row of the array and are read out column by column.
An interleaving method comprising the steps of:
- accepting a block of coded data;
- writing the block of coded data into a memory in a first order;
- and
- reading the block of coded data from the memory in a second order to provide data in subcarrier form,
- wherein the first read order and the second write order effectuate a first block permutation, and
- wherein the memory includes a pair of memory blocks accepting the coded symbols and arranged as a double-buffer, and wherein the writing and the reading alternately write the coded symbols in the first order in one block and simultaneously read the written-to memory of the second block in the second order to effectuate the first block permutation.
An interleaving method comprising the steps of:
- accepting a block of coded data;
- writing the block of coded data into a memory in a first order;
- and
- reading the block of coded data from the memory in a second order to provide data in subcarrier form,
- wherein the first read order and the second write order effectuate a first block permutation,
- wherein the memory includes at least one block of data, each block corresponding to a coded input data symbol, the data in each block arrangeable as an array, such that data bits are written column by column of the array and are read out row by row, and
- wherein each row of the array contains the bits of three subcarrier groups independent of the type of modulation.
An interleaver comprising:
- means for accepting a block of coded data;
- means for writing the block of coded data into a memory in a first order;
- means for reading the block of coded data from the memory in a second order to provide data in subcarrier form;
- and
- means for bit order permuting the data read out of the memory,
- wherein the first read order and the second write order effectuating a first block permutation, and wherein the bit order permuting effectuates a second group permutation for particular modulation schemes, and
- wherein the memory includes a pair of memory blocks accepting the coded symbols and arranged as a double-buffer, and wherein the writing means and the reading means alternately write the coded symbols in the first order in one block and simultaneously read the written-to memory of the second block in the second order to effectuate the first block permutation.
An interleaver comprising:
- means for accepting a block of coded data;
- means for writing the block of coded data into a memory in a first order;
- means for reading the block of coded data from the memory in a second order to provide data in subcarrier form;
- and
- means for bit order permuting the data read out of the memory,
- wherein the first read order and the second write order effectuating a first block permutation and wherein the bit order permuting effectuates a second group permutation for particular modulation schemes,
- wherein the memory includes at least one block of data, each block corresponding to a coded input data symbol, the data in each block arrangeable as an array, such that data bits are written column by column of the array and are read out row by row, and
- wherein each row of the array contains the bits of three subcarrier groups independent of the type of modulation.
A de-interleaving method comprising the steps of:
- accepting a block of subcarrier data;
- bit order permuting the data to effectuate a first group permutation of the de-interleaving method for particular modulation schemes;
- writing the block of permuted data into a memory in a first order;
- and
- reading the block of coded data from the memory in a second order to provide coded bits,
- wherein the first read order and the second write order effectuate a second block permutation of the de-interleaving method, and
- wherein the memory includes a pair of memory blocks accepting the permuted data and arranged as a double-buffer, and wherein the writing and the reading alternately write the permuted data of a first block in the first order in one memory block and simultaneously read the written-to memory of a second block in the second order to effectuate the second block permutation.
Dependencies are inferred from the claim text.