Combining signals with a shuffled-hadamard function
First Claim
1. A computer-implemented method, comprising:
- receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs;
for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns, wherein the matrix of data bits comprises a first matrix that corresponds to a Hadamard matrix whose rows have been randomly or pseudo-randomly shuffled;
(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver.
2 Assignments
0 Petitions
Accused Products
Abstract
A method can include receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs. During each chip time, the method can include (a) indexing a different row of a matrix of data bits; (b) decoding one channel input using a first subset of one or more columns of the indexed row; (c) determining a code value for the decoded one channel from a second subset of one or more columns of the indexed row; and (d) providing the coded data value to a transmission circuit for transmission to a receiver. Actions (a) to (d) can be performed for each of the plurality of chip times in the symbol time. In some implementations, the matrix of data bits is a Hadamard matrix with randomly shuffled rows.
-
Citations
17 Claims
-
1. A computer-implemented method, comprising:
-
receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs; for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns, wherein the matrix of data bits comprises a first matrix that corresponds to a Hadamard matrix whose rows have been randomly or pseudo-randomly shuffled;
(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver. - View Dependent Claims (2, 3, 4, 7)
-
-
5. A computer-implemented method, comprising:
-
receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs; for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns;
(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver; andat the receiver; for each chip time in the symbol time;
(e) receiving a bit from a medium that couples the receiver to the transmission circuit, (f) indexing a different row of the matrix of data bits, (g) decoding one channel from a plurality of distinct data channel outputs, which correspond to the plurality of distinct channel inputs at the transmitter, using the first subset of one or more columns of the indexed row, and (h) comparing the received bit to each of the plurality of possible code values that are derived from the second subset; andoutputting, for the symbol time and based on performing (h) for a plurality of bits for each decoded channel, a data value for each of the distinct data channel outputs. - View Dependent Claims (6)
-
-
8. A computer-implemented method, comprising:
-
receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs; for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns;
(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row, wherein determining the code value comprises selecting a different portion of one of two columns of the matrix of data bits for each chip time, the one of two columns being selected based on the data value; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver.
-
-
9. A computer-implemented method, comprising:
-
receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs, wherein the data value has one of m possible predetermined values; for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns;(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row, wherein determining the code value comprises selecting a different portion of one of m columns of the matrix of data bits for each chip time, the one of m columns being selected based on the data value; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver.
-
-
10. A computer-implemented method, comprising:
-
receiving, at a transmitter, during a symbol time that comprises a plurality of chip times, a data value for each of a plurality of distinct data channel inputs; for each of the plurality of chip times in the symbol time;
(a) indexing a different row of a matrix of data bits, the matrix of data bits having a plurality of rows and a plurality of columns;(b) decoding one channel from the plurality of distinct data channel inputs using a first subset of one or more columns of the indexed row;
(c) determining a code value for the decoded one channel from a plurality of possible code values that are derived from a second subset that is different than the first subset, the second subset comprising of one or more columns of the indexed row, wherein determining the code value comprises applying a logical function to bits in two or more columns having power-of-two indices in the matrix of data bits; and
(d) providing the coded data value to a transmission circuit for transmission to a receiver.
-
-
11. A system comprising:
-
a transmitter comprising; a plurality of data channel inputs that receive corresponding data channel input values during each symbol time, wherein each symbol time comprises a plurality of chip times; a coder that codes each data channel input value with a corresponding data channel code value; a multiplexer that selects a data channel code value for one of the data channel inputs during each chip time; and transmit circuitry that transmits the selected data channel code value during each chip time to a receiver; a receiver comprising; receive circuitry that receives data during each chip time, a demultiplexer that associates the received data with a particular data channel, a decoder that decodes data received during multiple chip times for each data channel, and a plurality of data channel outputs that each provide decoded data for each data channel during a symbol time; and a controller that controls both the coder and the multiplexer based on values in a different row of a matrix of data bits during each chip time. - View Dependent Claims (12, 14, 15)
-
-
13. A system comprising:
-
a transmitter comprising; a plurality of data channel inputs that receive corresponding data channel input values during each symbol time, wherein each symbol time comprises a plurality of chip times; a coder that codes each data channel input value with a corresponding data channel code value; a multiplexer that selects a data channel code value for one of the data channel inputs during each chip time; and transmit circuitry that transmits the selected data channel code value during each chip time to a receiver; and a receiver comprising; receive circuitry that receives data during each chip time, a demultiplexer that associates the received data with a particular data channel, a decoder that decodes data received during multiple chip times for each data channel, and a plurality of data channel outputs that each provide decoded data for each data channel during a symbol time, wherein the first matrix comprises only columns having power-of-two indices from a Hadamard matrix whose rows have been randomly or pseudo-randomly shuffled.
-
-
16. A system comprising:
-
a transmitter comprising; a plurality of data channel inputs that receive corresponding data channel input values during each symbol time, wherein each symbol time comprises a plurality of chip times; a coder that codes each data channel input value with a corresponding data channel code value; a multiplexer that selects a data channel code value for one of the data channel inputs during each chip time; and transmit circuitry that transmits the selected data channel code value during each chip time to a receiver; a receiver comprising; receive circuitry that receives data during each chip time, a demultiplexer that associates the received data with a particular data channel, a decoder that decodes data received during multiple chip times for each data channel, and a plurality of data channel outputs that each provide decoded data for each data channel during a symbol time; and a transmitter counter and a receiver counter that are synchronized and incremented during each chip time, wherein the transmitter counter indexes a row in the matrix of bits, and during each chip time, a first portion of the indexed row controls the coder and a second portion of the indexed row controls the multiplexer.
-
-
17. A system comprising:
-
a transmitter comprising; a plurality of data channel inputs that receive corresponding data channel input values during each symbol time, wherein each symbol time comprises a plurality of chip times; a coder that codes each data channel input value with a corresponding data channel code value; a multiplexer that selects a data channel code value for one of the data channel inputs during each chip time; and transmit circuitry that transmits the selected data channel code value during each chip time to a receiver; and a receiver comprising; receive circuitry that receives data during each chip time, a demultiplexer that associates the received data with a particular data channel, a decoder that decodes data received during multiple chip times for each data channel, and a plurality of data channel outputs that each provide decoded data for each data channel during a symbol time; and a transmitter counter and a receiver counter that are synchronized and incremented during each chip time, wherein the receiver counter indexes a row in the matrix of bits, and during each chip time, a first portion of the indexed row controls the demultiplexer.
-
Specification