Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
138 words
An apparatus for generating a first row of a covariance matrix, the apparatus comprising: a memory containing an array of values representative of a plurality of samples; a circular buffer coupled to the memory, the circular buffer being configured to provide a predetermined number of memory locations; a multiply-accumulator coupled to the memory and the circular buffer; means for transmitting a sequential subset of the array of values from the memory to the multiply-accumulator to generate a first element of the first row of the covariance matrix; and means for simultaneously transmitting to the multiply-accumulator a first series of sequential subsets of the array of values from the memory, and a second series of sequential subsets of the array of values from the circular buffer, to generate the remaining elements of the first row of the covariance matrix.
Claim 2
Independent Claim
138 words
An apparatus for generating a first row of a covariance matrix, the apparatus comprising: a memory containing an array of values representative of a plurality of samples; a circular buffer coupled to the memory, the circular buffer being configured to provide a predetermined number of memory locations; a multiply-accumulator coupled to the memory and the circular buffer; means for transmitting a sequential subset of the array of values from the memory to the multiply-accumulator to generate a first element of the first row of the covariance matrix; and means for simultaneously transmitting to the multiply-accumulator a first series of sequential subsets of the array of values from the memory, and a second series of sequential subsets of the array of values from the circular buffer, to generate the remaining elements of the first row of the covariance matrix.
Claim 3
Dependent Claim
36 words
The apparatus of claim 1 wherein the circular buffer comprises a dual port register file, the register file comprising a read address generator and a write address generator, the address generators being configured to wrap around.
Claim 4
Independent Claim
251 words
An apparatus for generating an upper or lower triangular portion of a covariance matrix, the apparatus comprising: first and second memories, the first memory containing an array of values representative of a plurality of samples; a circular buffer coupled to the first memory, the buffer being initially configured to provide a first predetermined number of memory locations; a multiply-accumulator coupled to the first and second memories and the circular buffer; an arithmetic logic unit coupled to the second memory and the multiply-accumulator; and means for transmitting a sequential subset of the array of values from the first memory to the multiply-accumulator to generate a first element of the first row of the covariance matrix; means for storing the first element of the first row of the covariance matrix in the second memory; means for simultaneously transmitting to the multiply-accumulator a first series of sequential subsets of the array of values from the first memory, and a second series of sequential subsets of the array of values from the circular buffer, to generate in the output of the multiply-accumulator the remaining elements of the first row of the covariance matrix; means for storing the remaining elements of the first row of the covariance matrix in the second memory; means for generating in the arithmetic logic unit the remaining elements of the upper or lower triangular portion of the covariance matrix; and means for storing in the second memory the remaining elements of the upper or lower triangular portion of the covariance matrix.
Claim 5
Independent Claim
251 words
An apparatus for generating an upper or lower triangular portion of a covariance matrix, the apparatus comprising: first and second memories, the first memory containing an array of values representative of a plurality of samples; a circular buffer coupled to the first memory, the buffer being initially configured to provide a first predetermined number of memory locations; a multiply-accumulator coupled to the first and second memories and the circular buffer; an arithmetic logic unit coupled to the second memory and the multiply-accumulator; and means for transmitting a sequential subset of the array of values from the first memory to the multiply-accumulator to generate a first element of the first row of the covariance matrix; means for storing the first element of the first row of the covariance matrix in the second memory; means for simultaneously transmitting to the multiply-accumulator a first series of sequential subsets of the array of values from the first memory, and a second series of sequential subsets of the array of values from the circular buffer, to generate in the output of the multiply-accumulator the remaining elements of the first row of the covariance matrix; means for storing the remaining elements of the first row of the covariance matrix in the second memory; means for generating in the arithmetic logic unit the remaining elements of the upper or lower triangular portion of the covariance matrix; and means for storing in the second memory the remaining elements of the upper or lower triangular portion of the covariance matrix.
Claim 6
Dependent Claim
33 words
The apparatus of claim 3 wherein the circular buffer comprises a dual port register file having a read address generator and a write address generator, the address generators being configured to wrap around.
Claim 7
Dependent Claim
50 words
The apparatus of claim 3 wherein the means for generating in the arithmetic unit comprises means for selectively applying data from the first memory and the circular buffer file to the multiplier-accumulator and means for selectively applying data from the second memory and the multiplier-accumulator to the arithmetic logic unit.
Claim 8
Dependent Claim
63 words
The apparatus of claim 3 wherein the remaining elements of the upper or lower triangular portion of the covariance matrix are generated in the arithmetic logic unit while the first row of the covariance matrix is being generated, and wherein the means for generating in the arithmetic unit comprises means for selectively applying data from the second memory to the arithmetic logic unit.
Claim 9
Independent Claim
126 words
A method of generating a covariance matrix comprising the steps of: providing a memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element of a first row of the covariance matrix in the multiply-accumulator; storing the first element in a second memory; generating the remaining elements of the first row of the covariance matrix; storing the remaining elements of the first row in the second memory; generating, diagonal by diagonal, the remaining elements of the upper or lower triangular portion of the covariance matrix in an arithmetic logic unit; and storing in the second memory the remaining elements of the upper or lower triangular portion of the covariance matrix.
Claim 10
Independent Claim
126 words
A method of generating a covariance matrix comprising the steps of: providing a memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element of a first row of the covariance matrix in the multiply-accumulator; storing the first element in a second memory; generating the remaining elements of the first row of the covariance matrix; storing the remaining elements of the first row in the second memory; generating, diagonal by diagonal, the remaining elements of the upper or lower triangular portion of the covariance matrix in an arithmetic logic unit; and storing in the second memory the remaining elements of the upper or lower triangular portion of the covariance matrix.
Claim 11
Dependent Claim
34 words
The method of claim 7 wherein the step of generating a first element of comprises the step of transmitting a sequential subset of the array of values from the first memory to the multiply-accumulator.
Claim 12
Dependent Claim
61 words
The method of claim 7 wherein the step of generating the remaining elements of the first row comprises the step of transmitting a first series of sequential subsets of the array of values from the first memory to the multiply-accumulator, while simultaneously transmitting a second series of sequential subsets of the array of values from the circular buffer to the multiply-accumulator.
Claim 13
Dependent Claim
46 words
The method of claim 7 wherein the step of generating, diagonal by diagonal, the remaining elements of the upper or lower triangular portion of the covariance matrix, is performed simultaneous with the step of generating the remaining elements of the first row of the covariance matrix.
Claim 14
Independent Claim
151 words
A method of generating a first row of elements of a covariance matrix comprising the steps of: providing a first memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element of the first row of the covariance matrix in the multiply-accumulator by successively inputting a sequential subset of the array of values from the first memory into the multiply-accumulator; storing the first element in a second memory; generating the remaining elements of the first row of the covariance matrix by successively inputting a first series of sequential subsets of the array of values from the first memory into the multiply-accumulator, while simultaneously inputting a second series of sequential subsets of the array of values from the circular buffer into the multiply-accumulator; and storing the remaining elements of the first row in the second memory.
Claim 15
Independent Claim
151 words
A method of generating a first row of elements of a covariance matrix comprising the steps of: providing a first memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element of the first row of the covariance matrix in the multiply-accumulator by successively inputting a sequential subset of the array of values from the first memory into the multiply-accumulator; storing the first element in a second memory; generating the remaining elements of the first row of the covariance matrix by successively inputting a first series of sequential subsets of the array of values from the first memory into the multiply-accumulator, while simultaneously inputting a second series of sequential subsets of the array of values from the circular buffer into the multiply-accumulator; and storing the remaining elements of the first row in the second memory.
Claim 16
Independent Claim
122 words
A method for generating a first row of an upper or lower triangular portion of a covariance matrix comprising the steps of: providing a memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element in the first row by simultaneously applying, to the multiply-accumulator and to the circular buffer, a series of the values from the memory; generating each of the remaining elements of the first row by simultaneously executing the steps of: applying to the multiply-accumulator and the circular buffer a first series of the values from the memory; and applying to the multiply-accumulator a second series of the values from the circular buffer.
Claim 17
Independent Claim
122 words
A method for generating a first row of an upper or lower triangular portion of a covariance matrix comprising the steps of: providing a memory containing an array of values representative of a plurality of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element in the first row by simultaneously applying, to the multiply-accumulator and to the circular buffer, a series of the values from the memory; generating each of the remaining elements of the first row by simultaneously executing the steps of: applying to the multiply-accumulator and the circular buffer a first series of the values from the memory; and applying to the multiply-accumulator a second series of the values from the circular buffer.
Claim 18
Independent Claim
189 words
A method for generating a triangular portion of a covariance matrix, the triangular portion defining a first row of elements and a plurality of diagonal arrays of elements, comprising the steps of: providing a first memory and a second memory, the first memory containing a plurality of values representative of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element in the first row by simultaneously applying, to the multiply-accumulator and to the circular buffer, a series of the values from the first memory; storing in the second memory the first element of the first row; generating each of the remaining elements of the first row by simultaneously applying to the multiply-accumulator a first series of the values from the first memory, and a second series of the values from the circular buffer; storing each of the remaining elements of the first row in the second memory; providing an arithmetic logic unit; generating, diagonal by diagonal, the remaining elements of each diagonal array in the arithmetic logic unit; and storing the remaining elements of each of the diagonal arrays in the second memory.
Claim 19
Independent Claim
189 words
A method for generating a triangular portion of a covariance matrix, the triangular portion defining a first row of elements and a plurality of diagonal arrays of elements, comprising the steps of: providing a first memory and a second memory, the first memory containing a plurality of values representative of samples; providing a multiply-accumulator; providing a circular buffer with a predetermined depth; generating a first element in the first row by simultaneously applying, to the multiply-accumulator and to the circular buffer, a series of the values from the first memory; storing in the second memory the first element of the first row; generating each of the remaining elements of the first row by simultaneously applying to the multiply-accumulator a first series of the values from the first memory, and a second series of the values from the circular buffer; storing each of the remaining elements of the first row in the second memory; providing an arithmetic logic unit; generating, diagonal by diagonal, the remaining elements of each diagonal array in the arithmetic logic unit; and storing the remaining elements of each of the diagonal arrays in the second memory.
Claim 20
Dependent Claim
292 words
A covariance matrix generator, comprising: a multiply-accumulator having two input registers and an output register; a first and a second multiplexer, said first multiplexer being coupled to one input register of said multiply-accumulator, said second multiplexer being coupled to the other input register of said multiply accumulator; a dual port register file having a read address generator and a write address generator, the output of said register file being coupled to said second multiplexer; a third multiplexer coupled to the input of said register file; an arithmetic logic unit having two input registers and an output register; a fourth and a fifth multiplexer, said fourth multiplexer being coupled to one input register of said arithmetic logic unit, said fifth multiplexer being coupled to the other input register of said arithmetic logic unit; a first data bus coupled to said first, second, third, fourth, and fifth multiplexers, said first data bus being further coupled to the output register of said multiply accumulator, the output register of said ALU, and the output of said file register; a second data bus coupled said first, second, and fourth multiplexers, said second data bus being further coupled to the output register of said multiply-accumulator, the output register of said arithmetic logic unit, and the output of said register file; a third data bus coupled to said third multiplexer and said fifth multiplexer, said third data bus being further coupled to the output register of said multiplier accumulator, the output register of said arithmetic logic unit, and the output of said register file; a first memory having an address register, said first memory being coupled to said first data bus; and a second memory having an address register, said second memory being coupled to said second data bus.
Claim 21
Dependent Claim
292 words
A covariance matrix generator, comprising: a multiply-accumulator having two input registers and an output register; a first and a second multiplexer, said first multiplexer being coupled to one input register of said multiply-accumulator, said second multiplexer being coupled to the other input register of said multiply accumulator; a dual port register file having a read address generator and a write address generator, the output of said register file being coupled to said second multiplexer; a third multiplexer coupled to the input of said register file; an arithmetic logic unit having two input registers and an output register; a fourth and a fifth multiplexer, said fourth multiplexer being coupled to one input register of said arithmetic logic unit, said fifth multiplexer being coupled to the other input register of said arithmetic logic unit; a first data bus coupled to said first, second, third, fourth, and fifth multiplexers, said first data bus being further coupled to the output register of said multiply accumulator, the output register of said ALU, and the output of said file register; a second data bus coupled said first, second, and fourth multiplexers, said second data bus being further coupled to the output register of said multiply-accumulator, the output register of said arithmetic logic unit, and the output of said register file; a third data bus coupled to said third multiplexer and said fifth multiplexer, said third data bus being further coupled to the output register of said multiplier accumulator, the output register of said arithmetic logic unit, and the output of said register file; a first memory having an address register, said first memory being coupled to said first data bus; and a second memory having an address register, said second memory being coupled to said second data bus.