Claims
- 1. An apparatus for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein said apparatus comprises a coefficient generator which incorporates the data from each sample into the coefficients in natural order as each sample is received thus removing the need to store the samples for processing.
- 2. An apparatus according to claim 1, wherein said coefficient generator receives each of the samples one at a time and updates the coefficients of the function based on each sample as the sample is received without awaiting receipt of all samples to thereby decrease the latency of the time required to determine the coefficients of the function.
- 3. An apparatus according to claim 2, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a mathematical function, wherein said coefficient generator determines a respective term of each coefficient by combining each sample upon receipt with the mathematical function associated with the sample and the coefficient, and wherein, for each coefficient, said coefficient generator updates the coefficient by adding the respective term to a previous value of the coefficient.
- 4. An apparatus according to claim 3, wherein each sample only contributes to one term of each coefficient, and wherein said coefficient generator updates each of the coefficients based on each sample upon receipt without requiring the sample to thereafter be stored.
- 5. An apparatus according to claim 3, wherein said coefficient generator updates each of the coefficients with each of the plurality of samples as each sample is received, and wherein as each coefficient is updated with the last of the plurality of samples, said coefficient generator outputs the coefficient.
- 6. An apparatus according to claim 3, wherein said coefficient generator simultaneously updates each of the coefficients based on each of the plurality of samples as each sample is received, and wherein when the coefficients are updated based on the last of the plurality of samples, said coefficient generator outputs the coefficients.
- 7. An apparatus according to claim 3, wherein said coefficient generator includes a memory device for storing a value representing the mathematical function associated with each sample and coefficient, and wherein for each sample and coefficient, said coefficient generator accesses said memory device and multiplies the sample by the value representing the mathematical function associated with the sample and coefficient to thereby define a term, and thereafter updates the coefficient by adding the term to the previous value of the coefficient.
- 8. An apparatus according to claim 7, wherein said memory device includes an array having a plurality of cells, wherein each cell of the array stores a value representing the mathematical function associated with a respective sample and coefficient, wherein each cell of said array has a unique address, which is designated by the respective coefficient and sample, and wherein, for each sample and coefficient, said coefficient generator accesses the cell of said memory device using the address associated with the sample and coefficient, multiplies the sample by the stored value to thereby define a term, and thereafter updates the coefficient by adding the term to the previous value of the coefficient.
- 9. An apparatus according to claim 3, wherein said coefficient generator further comprises a memory device, and wherein said coefficient generator further stores each of the samples as they are received in said memory device.
- 10. An apparatus according to claim 9, wherein after said coefficient generator has received and processed the predetermined plurality of samples, said coefficient generator outputs the coefficients, and wherein when a new sample of the input signal is received after the predetermined plurality of samples has already been received, said coefficient generator subtracts the term based upon a first sample of the predetermined plurality of samples that was previously stored in said memory device from the term based upon the new sample, and wherein said coefficient generator updates the coefficients by the difference between the terms based upon the new sample and the first sample of the predetermined plurality of samples.
- 11. An apparatus according to claim 9, wherein after said coefficient generator has received and processed the predetermined plurality of samples, said coefficient generator outputs the coefficients, and wherein when a new sample of the input signal is received after the predetermined plurality of samples have already been received, said coefficient generator subtracts the term based upon a first sample of the predetermined plurality of samples that was previously stored in said memory device from each of the coefficients, and wherein said coefficient generator adds the term based upon the new sample to each of the coefficients.
- 12. An apparatus according to claim 1, wherein the function of the input signal is a Fourier transform, and wherein the mathematical function associated with each coefficient and signal is a trigonometric function.
- 13. An apparatus according to claim 2, wherein there is at one preselected coefficient of interest, and wherein said coefficient generator receives each of the samples one at a time and updates the preselected coefficient of the function based on each sample as the sample is received, such that the preselected coefficient may be evaluated independent of the other coefficients.
- 14. An apparatus according to claim 13, wherein said coefficient generator outputs the preselected coefficient each time the coefficient is updated.
- 15. An apparatus according to claim 13, wherein there are at least one first and second preselected coefficients of interest, and wherein said coefficient generator updates the first preselected coefficient of interest with a different number of samples than the second preselected coefficient of interest, such that the resolution of each preselected coefficient is different.
- 16. An apparatus according to claim 2, wherein said coefficient generator receives samples one at a time from a plurality of signals each present on a separate channel, wherein said coefficient generator receives each of the samples one at a time for each of the signals and updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 17. An apparatus according to claim 16, wherein said coefficient generator simultaneously receives samples one at a time from a plurality of signals each present on a separate channel, wherein said coefficient generator receives each of the samples one at a time for each of the signals and simultaneously updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 18. A method for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein said method comprises the steps of:
receiving samples of the signal; and incorporating the data into the coefficients in natural order as each sample is received to thereby remove the need to store the samples for processing.
- 19. A method according to claim 18, wherein said receiving step comprises receiving each of the samples one at a time, and wherein said updating step comprises updating the coefficients of the function based on each sample as the sample is received without awaiting receipt of all samples to thereby decrease the latency of the time required to determine the coefficients of the function.
- 20. A method according to claim 19, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a mathematical function, wherein said method further comprises the step of determining a respective term of each coefficient by combining each sample upon receipt with the mathematical function associated with the sample and the coefficient, and wherein, for each coefficient, said updating step updates the coefficient by adding the respective term to a previous value of the coefficient.
- 21. A method according to claim 20, wherein each sample only contributes to one term of each coefficient, and wherein said updating step updates each of the coefficients based on each sample upon receipt without requiring the sample to thereafter be stored.
- 22. A method according to claim 20, wherein said updating step updates each of the coefficients with each of the plurality of samples as each sample is received, and wherein as each coefficient is updated with the last of the plurality of samples, said updating step outputs the coefficient.
- 23. A method according to claim 20, wherein said updating step simultaneously updates each of the coefficients based on each of the plurality of samples as each sample is received, and wherein when the coefficients are updated based on the last of the plurality of samples, said updating step outputs the coefficients.
- 24. A method according to claim 20 further comprising the step of initially storing a value representing the mathematical function associated with each sample and coefficient in a memory device, and wherein for each sample and coefficient, said determining step accesses the memory device and multiplies the sample by the value representing the mathematical function associated with the sample and coefficient to thereby define a term, and wherein said updating step updates the coefficient by adding the term to the previous value of the coefficient.
- 25. A method according to claim 24, wherein the memory device includes an array having a plurality of cells, wherein said storing step comprises storing in each cell of the array a value representing the mathematical function associated with a respective sample and coefficient, wherein each cell of the array has a unique address, which is designated by the respective coefficient and sample, and wherein, for each sample and coefficient, said determining step accesses the cell of the memory device using the address associated with the sample and coefficient, multiplies the sample by the stored value to thereby define a term, and thereafter said updating step updates the coefficient by adding the term to the previous value of the coefficient.
- 26. A method according to claim 20 further comprising the step of storing each of the samples as they are received in a memory device.
- 27. A method according to claim 26, wherein after said receiving step has received and said updating step has processed the predetermined plurality of samples, said updating step outputs the coefficients, and wherein when a new sample of the input signal is received by said receiving step after the predetermined plurality of samples has already been received, said method further comprises the step of subtracting the term based upon a first sample of the predetermined plurality of samples that was previously stored in said storing step from the term based upon the new sample, and wherein said updating step updates the coefficients by the difference between the terms based upon the new sample and the first sample of the predetermined plurality of samples.
- 28. A method according to claim 26, wherein after said receiving step has received and said updating step has processed the predetermined plurality of samples, said updating step outputs the coefficients, and wherein when a new sample of the input signal is received by said receiving step after the predetermined plurality of samples have already been received, said method further comprises the step of subtracting the term based upon a first sample of the predetermined plurality of samples that was previously stored in said storing step from each of the coefficients, and wherein said updating step adds the term based upon the new sample to each of the coefficients.
- 29. A method according to claim 18, wherein the function of the input signal is a Fourier transform, and wherein the mathematical function associated with each coefficient and signal is a trigonometric function.
- 30. A method according to claim 19, wherein there is at one preselected coefficient of interest, and wherein said receiving step receives each of the samples one at a time and said updating step updates the preselected coefficient of the function based on each sample as the sample is received, such that the preselected coefficient may be evaluated independent of the other coefficients.
- 31. A method according to claim 30, wherein said updating step outputs the preselected coefficient each time the coefficient is updated.
- 32. A method according to claim 31, wherein there are at least one first and second preselected coefficients of interest, and wherein said updating step updates the first preselected coefficient of interest with a different number of samples than the second preselected coefficient of interest, such that the resolution of each preselected coefficient is different.
- 33. A method according to claim 19, wherein said receiving step receives samples one at a time from a plurality of signals each present on a separate channel, wherein said updating step receives each of the samples one at a time for each of the signals and updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 34. A method according to claim 33, wherein said receiving step simultaneously receives samples one at a time from a plurality of signals each present on a separate channel, wherein said updating step receives each of the samples one at a time for each of the signals and simultaneously updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 35. An apparatus for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein each coefficient is at least partially based upon a combination of the sample and a mathematical function, wherein said apparatus comprises:
a first memory device for storing a value representing the mathematical function associated with the sample and each coefficient; and a coefficient generator in electrical communication with said memory device, wherein said coefficient generator receives the sample of the input signal and for each coefficient accesses said first memory device and combines the stored value with the sample and the coefficient to produce an updated coefficient value.
- 36. An apparatus according to claim 35, wherein said first memory device includes an array having a plurality of cells, wherein each cell of the array stores a value representing the mathematical function associated with the respective sample and each coefficient, wherein each cell of said array has a unique address, which is designated by the respective coefficient and sample, and wherein, for the sample and each coefficient, said coefficient generator accesses the cell of said first memory device using the address associated with the sample and coefficient, multiplies the sample by the stored value to thereby define a term, and thereafter updates the coefficient by adding the term to the previous value of the coefficient.
- 37. A method for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein each coefficient is at least partially based upon a combination of the sample and a mathematical function, wherein said method comprises:
storing a value representing the mathematical function associated with the sample and each coefficient in a first memory device; receiving the sample of the input signal; determining a respective value by accessing the necessary stored value; and combining the stored value with the sample and the incomplete coefficient to produce an updated coefficient value.
- 38. A method according to claim 37, wherein the first memory device includes an array having a plurality of cells, wherein said storing step stores a value representing the mathematical function associated with the sample and a respective coefficient in each cell of the array, wherein each cell of the array has a unique address, which is designated by the respective coefficient and sample, and wherein, for the sample and each coefficient, said determining step accesses the cell of the first memory device using the address associated with the sample and coefficient and multiplies the sample by the stored value to thereby define a term, and thereafter said updating step updates the coefficient by adding the term to the previous value of the coefficient.
- 39. A computer program product for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein the computer program product comprises:
a computer readable storage medium having computer readable program code means embodied in said medium, said computer-readable program code means comprising:
first computer instruction means for receiving samples of the signal; and second computer instruction means for incorporating the data from each sample into the coefficients in natural order as each sample is received thus removing the need to store the samples for processing.
- 40. A computer program product according to claim 39, wherein said first computer instruction means receives each of the samples one at a time, and wherein said second computer instruction means updates the coefficients of the function based on each sample as the sample is received without awaiting receipt of all samples to thereby decrease the latency of the time required to determine the coefficients of the function.
- 41. A computer program product according to claim 40, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a mathematical function, said computer-readable program code means further comprising third computer instruction means for determining a respective term of each coefficient by combining each sample upon receipt with the mathematical function associated with the sample and the coefficient, and wherein, for each coefficient, said second computer instruction means updates the coefficient by adding the respective term to a previous value of the coefficient.
- 42. A computer program product according to claim 41, wherein each sample only contributes to one term of each coefficient, and wherein said second computer instruction means updates each of the coefficients based on each sample upon receipt without requiring the sample to thereafter be stored.
- 43. A computer program product according to claim 41, wherein said second computer instruction means updates each of the coefficients with each of the plurality of samples as each sample is received, and wherein as each coefficient is updated with the last of the plurality of samples, second computer instruction means outputs the coefficient.
- 44. A computer program product according to claim 41 further comprising fourth computer instruction means for storing a value representing the mathematical function associated with each sample and coefficient in a memory device, and wherein for each sample and coefficient, said third computer instruction means accesses the memory device and multiplies the sample by the value representing the mathematical function associated with the sample and coefficient to thereby define a term, and wherein said second computer instruction means updates the coefficient by adding the term to the previous value of the coefficient.
- 45. A computer program product according to claim 44, wherein the memory device includes an array having a plurality of cells, wherein said fourth computer instruction means stores in each cell of the array a value representing the mathematical function associated with a respective sample and coefficient, wherein each cell of the array has a unique address, which is designated by the respective coefficient and sample, and wherein, for each sample and coefficient, said third computer instruction means accesses the cell of the memory device using the address associated with the sample and coefficient, multiplies the sample by the stored value to thereby define a term, and thereafter said second computer instruction means updates the coefficient by adding the term to the previous value of the coefficient.
- 46. A computer program product according to claim 41, wherein each sample of the signal has a value that is one of a finite number of possible values, wherein said computer-readable program code means further comprises fourth computer instruction means for storing in a first memory device having an array of cells a pre-calculated value corresponding to the combination of one of the finite number of possible values of the sample and the mathematical function associated with each coefficient and sample such that each cell is associated with a respective sample, coefficient, and finite value of the sample, and wherein each sell is represented by a token address.
- 47. A computer program product according to claim 46, wherein said computer-readable program code means further comprises fifth computer instruction means for storing in a second memory device having an array of cells tokens that each represent a respective coefficient and sample, wherein for each sample said third computer instruction means accesses the second memory device and for each coefficient, retrieves the token associated with the coefficient, and the sample and supplies the token to the first memory device, and thereafter retrieves the pre-calculated value stored in the cell of the first memory device that has an address comprised of the token and the value of the sample, and wherein said second computer instruction means updates the coefficient by adding the pre-calculated value from the first memory device to the previous value of the coefficient.
- 48. A computer program product according to claim 41, wherein said computer-readable program code means further comprises fourth computer instruction means for storing each of the samples as they are received in a memory device.
- 49. A computer program product according to claim 48, wherein after said first computer instruction means has received and said second computer instruction means has processed the predetermined plurality of samples, said second computer instruction means outputs the coefficients, and wherein when a new sample of the input signal is received after the predetermined plurality of samples has already been received, said computer-readable program code means further comprises fifth computer instruction means for subtracting the term based upon a first sample of the predetermined plurality of samples from the term based upon the new sample, and wherein said second computer instruction means updates the coefficients by the difference between the terms based upon the new sample and the first sample of the predetermined plurality of samples.
- 50. A computer program product according to claim 48, wherein after said first computer instruction means has received and said second computer instruction means has processed the predetermined plurality of samples, said second computer instruction means outputs the coefficients, and wherein when a new sample of the input signal is received after the predetermined plurality of samples have already been received, said computer-readable program code means further comprises fifth computer instruction means for subtracting the term based upon a first sample of the predetermined plurality of samples from each of the coefficients, and wherein said second computer instruction means adds the term based upon the new sample to each of the coefficients.
- 51. A computer program product according to claim 41, wherein there is at one preselected coefficient of interest, and wherein said first computer instruction means receives each of the samples one at a time and said second computer instruction means updates the preselected coefficient of the function based on each sample as the sample is received, such that the preselected coefficient may be evaluated independent of the other coefficients.
- 52. A computer program product according to claim 51, wherein said second computer instruction means outputs the preselected coefficient each time the coefficient is updated.
- 53. A computer program product according to claim 51, wherein there are at least one first and second preselected coefficients of interest, and wherein said second computer instruction means updates the first preselected coefficient of interest with a different number of samples than the second preselected coefficient of interest, such that the resolution of each preselected coefficient is different.
- 54. A computer program product according to claim 41, wherein said first computer instruction means receives samples one at a time from a plurality of signals each present on a separate channel, wherein said second instruction means receives each of the samples one at a time for each of the signals and updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 55. A computer program product according to claim 54, wherein said first computer instruction means simultaneously receives samples one at a time from a plurality of signals each present on a separate channel, wherein said second computer instruction means receives each of the samples one at a time for each of the signals and simultaneously updates the coefficients of the function associated with each sample based on each sample associated with the signal as the sample is received.
- 56. A computer program product for determining the coefficients of a function for a given input signal based on a sample of the input signal, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of the sample and a mathematical function, wherein the computer program product comprises:
a computer readable storage medium having computer readable program code means embodied in said medium, said computer-readable program code means comprising:
first computer instruction means for storing a value representing the mathematical function associated with the sample and each coefficient in a first memory device; second computer instruction means for receiving the sample of the input signal; third computer instruction means for determining a respective term of each coefficient by accessing the first memory device, multiplying the sample by the value representing the mathematical function associated with the sample and coefficient to thereby define a term; and fourth computer instruction means for updating each coefficient by adding the respective term to the previous value of the coefficient.
- 57. A computer program product according to claim 56, wherein the first memory device includes an array having a plurality of cells, wherein said first computer instruction means stores a value representing the mathematical function associated with the sample and a respective coefficient in each cell of the array, wherein each cell of the array has a unique address, which is designated by the respective coefficient and sample, and wherein, for the sample and each coefficient, said third computer instruction means accesses the cell of the first memory device using the address associated with the sample and coefficient and multiplies the sample by the stored value to thereby define a term, and thereafter said fourth computer instruction means updates the coefficient by adding the term to the previous value of the coefficient.
- 58. An apparatus for generating coefficients of a function representative of an input set of data, said apparatus comprising a processing element that:
receives clock signals, receives samples at certain clock times, generates coefficients calculated using the sample values based on a sample number associated with the sample and a coefficient number associated with the coefficient, wherein each coefficient contains components of each sample value, and provides each coefficient.
- 59. An apparatus according to claim 58, wherein said processing element is a digital processor.
- 60. An apparatus according to claim 59 further comprising interface logic in communication with said processing element, said interface logic allowing selection of different modes of operation.
- 61. An apparatus according to claim 58, wherein said processor is a digital analyzer.
- 62. An apparatus according to claim 61 further comprising interface logic in communication with said processing element, said interface logic allowing selection of different modes of operation.
- 63. An apparatus according to claim 58 further comprising interface logic in communication with said processing element, said interface logic allowing selection of different modes of operation.
- 64. An apparatus according to claim 63, wherein said interface logic allows selection of at least one of the following modes: reset, forward/inverse function, multiple channels and data registers.
- 65. A method of generating coefficients of a function representative of an input set of data, the method comprising the steps of:
receiving clock signals; receiving samples at certain clock times; generating coefficients calculated using the sample values based on a sample number associated with the sample and a coefficient number associated with the coefficient, wherein each coefficient contains components of each sample value; and providing each coefficient.
- 66. An apparatus for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein said apparatus comprises a coefficient generator which updates at least one of the coefficients with at least one of the samples prior to receipt of the last sample of the plurality of samples to thereby decrease the latency of the time required to determine the coefficients of the function, wherein for said coefficient, said coefficient generator determines a coefficient number associated with the coefficient and a sample number associated with the at least one sample and updates the coefficient using the coefficient number and the sample number.
- 67. An apparatus according to claim 66, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a mathematical function, wherein said coefficient generator determines a respective term of each coefficient by combining each sample upon receipt with the mathematical function associated with the sample number of the sample and the coefficient number of the coefficient, and wherein, for each coefficient, said coefficient generator updates the coefficient by adding the respective term to a previous value of the coefficient.
- 68. A method for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein said method comprises the steps of:
receiving samples of the signal; and updating at least one of the coefficients with at least one of the samples prior to receipt of the last sample of the plurality samples to thereby decrease the latency of the time required to determine the coefficients of the function, wherein for said coefficient, said updating step determines a coefficient number associated with the coefficient and a sample number associated with the at least one sample and updates the coefficient using the coefficient number and the sample number.
- 69. A method according to claim 68, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a mathematical function, wherein said method further comprises the step of determining a respective term of each coefficient by combining each sample upon receipt with the mathematical function associated with the sample number associated with the sample and the coefficient number associated with the coefficient, and wherein, for each coefficient, said updating step updates the coefficient by adding the respective term to a previous value of the coefficient.
- 70. An apparatus for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein said apparatus comprises a coefficient generator which updates at least one of the coefficients with at least one of the samples prior to receipt of the last sample of the plurality of samples to thereby decrease the latency of the time required to determine the coefficients of the function, wherein said coefficient generator receives each of the samples one at a time and updates the coefficients of the function based on each sample as the sample is received, wherein for each sample and each coefficient, said coefficient generator determines a coefficient number associated with the coefficient and a sample number associated with the sample and updates the coefficient using the coefficient number and the sample number.
- 71. HDL code that when compiles is a computer program product for determining the coefficients of a function representative of an input signal based on a predetermined plurality of samples of the input signal, wherein the HDL code when compiled comprises:
a computer readable storage medium having computer readable program code means embodied in said medium, said computer-readable program code means comprising:
first computer instruction means for receiving samples of the signal; and second computer instruction means for incorporating the data from each sample into the coefficients in natural order as each sample is received thus removing the need to store the samples for processing.
- 72. A data processing apparatus adapted and arranged for determining the coefficients of a function, which is representative of an input signal and which is expressed as a sequence of values, said apparatus comprising:
an input for receiving a plurality of sample values of the input signal and a coefficient generator for generating the coefficients of the function, wherein said coefficient generator comprises: a first device in communication with the input for generating a signal representing the contribution of a sample value to a coefficient of the function to be calculated preparatory to said coefficient generator receiving the last sample, and a second device in communication with said first device for generating a function portion based on a sample number and coefficient number received at said second device, wherein for a given sample and coefficient number said coefficient generator is arranged such that said second device communicates the function portion associated with the sample and coefficient number to said first device and said first device multiplies the sample value by the corresponding function portion to thereby determine the contribution of the sample value to the coefficient preparatory to said coefficient generator receiving the last sample.
- 73. An apparatus according to claim 72, wherein the samples are provided to said input based on an external clock, and said first and second device use the external clock to update the coefficients.
- 74. An apparatus according to claim 72, wherein as each sample is received said second device generates a function portion based on the sample number and coefficient number for each coefficient and said first device generates a signal representing the contribution of the sample value to each coefficient.
- 75. An apparatus according to claim 74, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a function portion, wherein said first device of said coefficient generator determines a respective term of each coefficient by combining each sample upon receipt with the function portion associated with the sample and the coefficient provided by said second device, and wherein, for each coefficient, said first device of said coefficient generator updates the coefficient by adding the respective term to a previous value of the coefficient.
- 76. An apparatus according to claim 75, wherein each sample only contributes to one term of each coefficient, and wherein said first device of said coefficient generator updates each of the coefficients based on each sample upon receipt without requiring the sample to thereafter be stored.
- 77. An apparatus according to claim 75, wherein said first device of said coefficient generator updates each of the coefficients with each of the plurality of samples as each sample is received based on the function portions provided by said second device, and wherein as the first device updates each coefficient with the last of the plurality of samples, said first device of said coefficient generator outputs the coefficient.
- 78. A method for determining the coefficients of a function, which is representative of an input signal and which is expressed as a sequence of values, comprising the steps of:
providing an input for receiving a plurality of sample values of the input signal and a coefficient generator for generating the coefficients of the function, said method comprising: providing a coefficient generator that comprises:
a first device in communication with the input; and a second device in communication with said first device for receiving samples of the signal at the input; generating a function factor in the second device based on a sample number and coefficient number received at the second device; communicating the function factor to said first device; generating a signal in the first device representing the contribution of a sample value to the coefficient by multiplying the sample value by the corresponding function factor preparatory to the coefficient generator receiving the last sample.
- 79. A method according to claim 78, further comprising updating at least one of the coefficients at the first device prior to receipt of the last sample of the plurality samples to thereby decrease the latency of the time required to determine the coefficients of the function.
- 80. A method according to claim 78, wherein said receiving step receives the samples at the input based on an external clock, and said first and second device use the external clock to update the coefficients.
- 81. A method according to claim 78, wherein said receiving step comprises receiving each of the samples one at a time, and wherein said updating step comprises updating the coefficients of the function based on each sample as the sample is received without awaiting receipt of all samples to thereby decrease the latency of the time required to determine the coefficients of the function.
- 82. A method according to claim 81, wherein each coefficient is comprised of at least one term that is at least partially based upon a combination of a sample and a function factor, wherein said method further comprises the step of determining a respective term of each coefficient at the first device by combining each sample upon receipt with the function factor associated with the sample and the coefficient, and wherein, for each coefficient, said updating step updates the coefficient by adding the respective term to a previous value of the coefficient.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser. No. 09/560,221, filed Apr. 28, 2000, which is hereby incorporated herein in its entirety by reference, and which claims priority from the following U.S. provisional patent applications, the contents of each of which are incorporated herein by reference: U.S. provisional patent applications S/No. 60/131,656 entitled EXPLOITING REDUNDANT VALUES TO PERMIT USE OF PRE-CALCULATIONS; S/No. 60/131,661 entitled: NOVEL PARADIGM FOR EVALUATING FOURIER COEFFICIENTS; S/No. 60/131,667 entitled SECOND NOVEL PROCESSING CIRCUIT; S/No. 60/131,825 entitled FIRST NOVEL PROCESSING CIRCUIT, S/No. 60/131,858 entitled: USING GATING WITH THE VALUE SORTING METHOD, all filed on Apr. 29, 1999, and U.S. provisional patent application S/No. 60/185,346 entitled: METHODS AND APPARATUS FOR PROCESSING AND ANALYZING INFORMATION, filed on Feb. 26, 2000.
Provisional Applications (6)
|
Number |
Date |
Country |
|
60131656 |
Apr 1999 |
US |
|
60131661 |
Apr 1999 |
US |
|
60131667 |
Apr 1999 |
US |
|
60131825 |
Apr 1999 |
US |
|
60131858 |
Apr 1999 |
US |
|
60185346 |
Feb 2000 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
09560221 |
Apr 2000 |
US |
Child |
10822314 |
Apr 2004 |
US |