Claims
- 1. A method for determining one or more signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones; c) generating a refined estimate of the one or more signal parameters of each respective tone of the plurality of tones, wherein said generating includes updating the one or more signal parameter estimates accordingly, and wherein said generating a refined estimate is performed in an iterative fashion; and d) outputting final one or more signal parameter estimates for each of the plurality of tones in response to said generating in (c).
- 2. The method of claim 1, wherein said generating a refined estimate of the one or more signal parameters of each of the respective tones in (c) comprises:
for each respective tone of the plurality of tones,
generating a refined estimate of the one or more signal parameters of the respective tone; updating the one or more signal parameter estimates with the refined estimate; and repeating said generating and said updating for each respective tone one or more times to produce the final one or more signal parameter estimates for each of the plurality of tones.
- 3. The method of claim 1, the method further comprising generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones;
wherein said generating a refined estimate of the one or more signal parameters of the respective tone comprises:
for each respective tone of the plurality of tones, iteratively generating modified frequency response data for the respective tone using the one or more signal parameter estimates of one or more of the other tones, wherein the modified frequency response data for the respective tone includes reduced effects of other tones of the plurality of tones; wherein the final one or more signal parameter estimates are generated based on the modified frequency response data.
- 4. The method of claim 1, wherein said generating a refined estimate of the one or more signal parameters of each respective tone comprises:
for each respective tone of the plurality of tones, iteratively applying a single tone estimation method to the respective tone, thereby generating a refined estimate of the one or more signal parameters of the respective tone, and updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone.
- 5. The method of claim 1, the method further comprising generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones;
wherein said generating a refined estimate of the one or more signal parameters of each respective tone in (c) comprises, for each respective tone of the plurality of tones:
c1) generating modified frequency response data for the respective tone which operates to remove effects of other tones of the plurality of tones from the frequency response data of the respective tone, wherein said generating uses said one or more signal parameter estimates of each of said other tones; c2) applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and c3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; d) performing step c) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 6. The method of claim 5,
wherein said one or more signal parameter estimates characterizing the plurality of tones comprise a knowledge base of said signal parameter estimates, the method further comprising:
storing a copy of said knowledge base, wherein said copy comprises a prior knowledge base; and wherein said updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone comprises:
updating said knowledge base with said refined estimate of the one or more signal parameters of the tone, wherein, after said removing, said applying, and said updating for each tone, the knowledge base is comprised of said refined estimates for each tone.
- 7. The method of claim 6 wherein said performing step c) one or more times comprises performing step c) in an iterative manner until one or more of 1) the number of iterations exceeds a threshold number of iterations, and 2) the difference between values of the one or more signal parameters of said knowledge base and values of the one or more signal parameters of said prior knowledge base is less than a threshold value.
- 8. The method of claim 5, wherein said removing effects of other tones from the frequency response data of the potential local peak of the respective tone comprises:
determining two or more sample values proximate to the potential local peak; and for each of the other tones,
calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone; and subtracting the respective effect values from each of the two or more sample values to generate a corresponding two or more modified sample values, wherein said two or more modified sample values comprise said modified frequency response data; wherein said modified frequency response data are usable in applying said single tone estimation method.
- 9. The method of claim 8, wherein said two or more sample values are consecutive sample values.
- 10. The method of claim 8,
wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT) with window function W(f), wherein f denotes frequency; wherein said estimated signal parameters for the tone comprise an amplitude A1, a frequency f1, and a phase φ1, and wherein said calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone comprises calculating: dF(m)=A1e−jφ1W(fm+f1)+A1e−jφ1W(fm−f1), for each sample m, wherein m denotes an index of the sample, and fm denotes the frequency bin of the sample; and wherein subtracting the respective effect value from each of the two or more sample values comprises subtracting a respective value of dF(m) from each of the two or more sample values.
- 11. A method for determining one or more signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones; c) determining one or more signal parameter estimates characterizing each of the plurality of tones; d) for each respective tone of the plurality of tones, generating modified frequency response data for the respective tone using one or more signal parameter estimates of one or more of the other tones, wherein the modified frequency response data for the respective tone includes reduced effects of other tones of the plurality of tones;
wherein step d) is performed in an iterative fashion; and e) determining final one or more signal parameter estimates for each of the plurality of tones based on the modified frequency response data of the plurality of tones.
- 12. The method of claim 11, further comprising:
determining a plurality of potential local peaks based on the frequency response data for the plurality of tones, wherein each potential local peak corresponds to a tone; wherein said one or more signal parameter estimates are determined based on the plurality of potential local peaks;
- 13. The method of claim 11,
wherein said generating modified frequency response data for the respective tone comprises generating modified frequency response data of the potential local peak of the respective tone.
- 14. The method of claim 13, wherein said generating modified frequency response data of the potential local peak comprises:
determining two or more sample values proximate to the potential local peak; and for each of the other tones,
calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone; and subtracting the respective effect values from each of the two or more sample values to generate a corresponding two or more modified sample values, wherein said two or more modified sample values comprise said modified frequency response data.
- 15. The method of claim 14, wherein said two or more sample values are consecutive sample values.
- 16. The method of claim 14,
wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT) with window function W(f), wherein f denotes frequency; wherein said estimated signal parameters for the tone comprise an amplitude A1, a frequency f1, and a phase φ1, and wherein said calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone comprises calculating: dF(m)=A1e−jφ1W(fm+f1)+A1e−jφ1W(fm−f1), for each sample m, wherein m denotes an index of the sample, and fm denotes the frequency bin of the sample; and wherein subtracting the respective effect value from each of the two or more sample values comprises subtracting a respective value of dF(m) from each of the two or more sample values.
- 17. The method of claim 11, wherein, in each iteration of said generating modified frequency response data, (d) further comprises:
applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein the final one or more signal parameter estimates for each of the plurality of tones are determined based on the refined estimates of the one or more signal parameters of the respective tone.
- 18. The method of claim 11, further comprising:
for each respective tone of the plurality of tones:
applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein said applying and said updating are performed for each of the plurality of tones in an iterative fashion; and wherein the final one or more signal parameter estimates for each of the plurality of tones are determined based on the refined estimates of the one or more signal parameters of the respective tone.
- 19. The method of claim 18, wherein said single tone estimation method comprises:
identifying a frequency location proximate to an amplitude peak in the frequency transform, wherein the amplitude peak corresponds to the tone; selecting two or more frequency bins proximate to the frequency location in the frequency transform; and determining a tone frequency value that minimizes a difference between at least a first expression and a second expression;
wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, wherein the first expression includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, wherein the second expression includes the tone frequency variable; and wherein the tone frequency value comprises a frequency of the tone.
- 20. The method of claim 19, wherein said determining a tone frequency value comprises:
computing a plurality of differences between the first expression and the second expression for different respective tone frequency values of the tone frequency variable; and selecting the tone frequency value that produces a smallest difference; wherein said computing a plurality of differences comprises performing a Newton-Rhapson root finding method.
- 21. A method for determining one or more signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones; c) for each respective tone of the plurality of tones, iteratively applying a single tone estimation method to the respective tone, thereby generating a refined estimate of the one or more signal parameters of the respective tone, and updating the one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; and d) generating final one or more signal parameter estimates for each of the plurality of tones in response to said iteratively applying in (c).
- 22. The method of claim 21, further comprising:
performing a frequency transform on said samples, wherein the frequency transform comprises a frequency transform array for the plurality of tones, and wherein said single tone estimation method comprises:
identifying a frequency location of at least one first magnitude peak in the frequency transform array; selecting two or more frequency bins in a neighborhood of the at least one first magnitude peak in the frequency transform array; and determining a tone frequency value that minimizes a difference between a first expression and a second expression; wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, and wherein the first expression includes a tone frequency variable that represents a correct tone frequency value of the tone; wherein each numerator term and each denominator term corresponds to one of the frequency bins; wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, and wherein the second expression includes a tone frequency variable that represents the correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 23. The method of claim 22,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second expressions.
- 24. The method of claim 22,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 25. The method of claim 22, wherein said single tone estimation method comprises:
identifying two or more frequency bins proximate to a first magnitude peak in the frequency transform; and selecting a tone frequency value that makes a plurality of expressions most nearly equal;
wherein each of the plurality of expressions comprises a sum of one or more numerator terms divided by a sum of one or more denominator terms, wherein each of the plurality of expressions includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin; and wherein the tone frequency value comprises a frequency value of the tone.
- 26. The method of claim 25,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 27. The method of claim 22,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second complex expressions.
- 28. The method of claim 22,
wherein said determining a tone frequency value comprises:
computing a plurality of differences between the first expression and the second expression for different respective tone frequency values of the tone frequency variable; and selecting the tone frequency value that produces a smallest difference.
- 29. The method of claim 22, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein the first expression and the second expression have the form:
- 30. The method of claim 22, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein said generating a frequency transform of the samples comprises generating a power spectrum of the samples;
wherein the first expression and the second expression have the form: 19&LeftBracketingBar;∑k+1k+M(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;=&LeftBracketingBar;∑k+1k+M-1(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M-1&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;wherein:
F(n) is the nth value of the single sided scaled FFT spectrum; and W represents a window function, wherein the window function is shifted by a value of the tone frequency variable fi.
- 31. A method for determining one or more signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones; c) for each respective tone of the plurality of tones:
c1) generating modified frequency response data for the respective tone which operates to remove effects of other tones of the plurality of tones from the frequency response data of the respective tone, wherein said generating uses said one or more signal parameter estimates of each of said other tones; c2) applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and c3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein, after said generating, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined estimates for each tone; and d) performing step c) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 32. The method of claim 31, further comprising:
generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones; determining a plurality of potential local peaks based on the frequency response data, wherein each potential local peak corresponds to a tone; wherein said one or more signal parameter estimates are determined based on the plurality of potential local peaks.
- 33. The method of claim 32, wherein applying said single tone estimation method comprises:
identifying a frequency location of a potential local peak in the frequency response data; selecting two or more frequency bins in a neighborhood of the potential local peak; and determining a tone frequency value that minimizes a difference between a first expression and a second expression; wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, and wherein the first expression includes a tone frequency variable that represents a correct tone frequency value of the tone; wherein each numerator term and each denominator term corresponds to one of the frequency bins; wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, and wherein the second expression includes a tone frequency variable that represents the correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 34. The method of claim 33,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second expressions.
- 35. The method of claim 33, wherein said single tone estimation method comprises:
identifying two or more frequency bins proximate to a first magnitude peak in the frequency transform; and selecting a tone frequency value that makes a plurality of expressions most nearly equal;
wherein each of the plurality of expressions comprises a sum of one or more numerator terms divided by a sum of one or more denominator terms, wherein each of the plurality of expressions includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin; and wherein the tone frequency value comprises a frequency value of the tone.
- 36. The method of claim 33,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 37. The method of claim 33,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second complex expressions.
- 38. The method of claim 33,
wherein said determining a tone frequency value comprises:
computing a plurality of differences between the first expression and the second expression for different respective tone frequency values of the tone frequency variable; and selecting the tone frequency value that produces a smallest difference.
- 39. The method of claim 33, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein the first expression and the second expression have the form:
- 40. The method of claim 33, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein said generating a frequency transform of the samples comprises generating a power spectrum of the samples;
wherein the first expression and the second expression have the form: 21&LeftBracketingBar;∑k+1k+M(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;=&LeftBracketingBar;∑k+1k+M-1(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M-1&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;wherein:
F(n) is the nth value of the single sided scaled FFT spectrum; and W represents a window function, wherein the window function is shifted by a value of the tone frequency variable f1.
- 41. A method for determining one or more signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones; c) determining a plurality of potential local peaks based on the frequency response data, wherein each potential local peak corresponds to a tone; d) determining one or more signal parameter estimates characterizing each of the plurality of tones based on said plurality of potential local peaks; e) storing said one or more signal parameter estimates for each of the plurality of tones; f) for each respective tone characterized by said one or more signal parameter estimates,
f1) removing effects of other tones of the plurality of tones from the frequency response data of the potential local peak of the respective tone using said stored one or more signal parameter estimates of each of said other tones to generate modified frequency response data for the respective tone; f2) applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and f3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein, after said removing, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined estimates for each tone; and g) performing steps e) through f) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 42. The method of claim 41,
wherein said one or more signal parameter estimates characterizing the plurality of tones comprise a knowledge base of said signal parameter estimates; wherein said storing one or more signal parameter estimates comprises:
storing a copy of said knowledge base, wherein said copy comprises a prior knowledge base; and wherein said updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone comprises:
updating said knowledge base with said refined estimate of the one or more signal parameters of the tone, wherein, after said removing, said applying, and said updating for each tone, the knowledge base is comprised of said refined estimates for each tone.
- 43. The method of claim 42, wherein said performing steps e) through f) one or more times comprises performing steps e) through f) in an iterative manner until one or more of 1) the number of iterations exceeds a threshold number of iterations, and 2) the difference between values of the one or more signal parameters of said knowledge base and values of the one or more signal parameters of said prior knowledge base is less than a threshold value.
- 44. The method of claim 41, wherein said one or more signal parameter estimates comprise estimates for one or more of frequency, amplitude, and phase.
- 45. The method of claim 44, wherein said estimate of frequency comprises the frequency value of the determined potential local peak.
- 46. The method of claim 44, wherein said estimate of amplitude is zero.
- 47. The method of claim 44, wherein said estimate of amplitude is the value of the potential local peak.
- 48. The method of claim 44, wherein said estimate of phase is zero.
- 49. The method of claim 41, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT).
- 50. The method of claim 41, further comprising:
storing the final signal parameter estimates for each of the plurality of tones.
- 51. The method of claim 41, further comprising:
outputting the final signal parameter estimates for each of the plurality of tones.
- 52. The method of claim 41, wherein said storing said one or more signal parameter estimates for each of the plurality of tones comprises:
sorting said signal parameter estimates for the plurality of tones by amplitude of said potential local peaks; and wherein said removing effects, said applying a single tone estimation, and said updating said one or more signal parameter estimates are performed for each of said plurality of tones in order of decreasing amplitude.
- 53. The method of claim 41, wherein said removing effects of other tones from the frequency response data of the potential local peak of the respective tone comprises:
determining two or more sample values proximate to the potential local peak; and for each of the other tones,
calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone; and subtracting the respective effect values from each of the two or more sample values to generate a corresponding two or more modified sample values, wherein said two or more modified sample values comprise said modified frequency response data; wherein said modified frequency response data are usable in applying said single tone estimation method.
- 54. The method of claim 53, wherein said two or more sample values are consecutive sample values.
- 55. The method of claim 53,
wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT) with window function W(f), wherein f denotes frequency; wherein said estimated signal parameters for the tone comprise an amplitude A1, a frequency f1, and a phase φ1, and wherein said calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone comprises calculating: dF(m)=A1e−jφ1W(fm+f1)+A1e−jφ1W(fm−f1), for each sample m, wherein m denotes an index of the sample, and fm denotes the frequency bin of the sample; and wherein subtracting the respective effect value from each of the two or more sample values comprises subtracting a respective value of dF(m) from each of the two or more sample values.
- 56. The method of claim 41, wherein said single tone estimation method comprises:
identifying a frequency location proximate to an amplitude peak in the frequency transform, wherein the amplitude peak corresponds to the tone; selecting two or more frequency bins proximate to the frequency location in the frequency transform; and determining a tone frequency value that minimizes a difference between at least a first expression and a second expression;
wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, wherein the first expression includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, wherein the second expression includes the tone frequency variable; wherein the tone frequency value comprises a frequency of the tone.
- 57. The method of claim 56,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 58. The method of claim 57,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second expressions.
- 59. The method of claim 56,
wherein a ratio of each numerator term and its corresponding denominator term represent an amplitude of the tone at a respective bin.
- 60. The method of claim 56,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 61. The method of claim 56,
wherein said determining a tone frequency value comprises:
computing a plurality of differences between the first expression and the second expression for different respective tone frequency values of the tone frequency variable; and selecting the tone frequency value that produces a smallest difference.
- 62. The method of claim 61, wherein said computing a plurality of differences comprises performing a Newton-Rhapson root finding method.
- 63. The method of claim 56,
wherein the first expression and the second expression are each a complex expression.
- 64. The method of claim 63,
wherein said determining a tone frequency value that minimizes a difference between a first complex expression and a second complex expression comprises determining a tone frequency value that minimizes a difference between an amplitude of the first complex expression and an amplitude of the second complex expression
- 65. The method of claim 56, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein the first expression and the second expression have the form:
- 66. The method of claim 56, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein said generating a frequency transform of the samples comprises generating a power spectrum of the samples;
wherein the first expression and the second expression have the form: 23&LeftBracketingBar;∑k+1k+M(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;=&LeftBracketingBar;∑k+1k+M-1(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M-1&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;wherein:
F(n) is the nth value of the single sided scaled FFT spectrum; and W represents a window function, wherein the window function is shifted by a value of the tone frequency variable fi.
- 67. The method of claim 56, further comprising:
computing one or more of the amplitude and phase of the tone using the determined tone frequency value.
- 68. The method of claim 56,
wherein at least one of the two or more frequency bins is on each side of the frequency location.
- 69. The method of claim 56,
wherein said identifying comprises identifying a frequency location of at least one first magnitude peak in the frequency transform; and wherein said selecting comprises selecting two or more frequency bins proximate to the at least one first magnitude peak in the frequency transform;
- 70. The method of claim 41, wherein the frequency transform comprises a frequency transform array for the plurality of tones, and wherein said single tone estimation method comprises:
identifying a frequency location of at least one first magnitude peak in the frequency transform array; selecting two or more frequency bins in a neighborhood of the at least one first magnitude peak in the frequency transform array; and determining a tone frequency value that minimizes a difference between a first expression and a second expression;
wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, wherein the first expression includes a tone frequency variable that represents a correct tone frequency value of the tone; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, wherein the second expression includes a tone frequency variable that represents the correct tone frequency value of the tone; wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 71. The method of claim 70,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second expressions.
- 72. The method of claim 70,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 73. The method of claim 41, wherein said single tone estimation method comprises:
identifying two or more frequency bins proximate to a first magnitude peak in the frequency transform; and selecting a tone frequency value that makes a plurality of expressions most nearly equal;
wherein each of the plurality of expressions comprises a sum of one or more numerator terms divided by a sum of one or more denominator terms, wherein each of the plurality of expressions includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin; and wherein the tone frequency value comprises a frequency value of the tone.
- 74. The method of claim 73,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 75. The method of claim 74,
wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second complex expressions.
- 76. The method of claim 73,
wherein said determining a tone frequency value comprises:
computing a plurality of differences between the first expression and the second expression for different respective tone frequency values of the tone frequency variable; and selecting the tone frequency value that produces a smallest difference.
- 77. The method of claim 73,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 78. The method of claim 73, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein the first expression and the second expression have the form:
- 79. The method of claim 73, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT), and wherein said generating a frequency transform of the samples comprises generating a power spectrum of the samples;
wherein the first expression and the second expression have the form: 25&LeftBracketingBar;∑k+1k+M(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;=&LeftBracketingBar;∑k+1k+M-1(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M-1&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;wherein:
F(n) is the nth value of the single sided scaled FFT spectrum; and W represents a window function, wherein the window function is shifted by a value of the tone frequency variable fi.
- 80. The method of claim 73, further comprising:
storing the determined tone frequency value in a memory.
- 81. The method of claim 73, further comprising:
outputting the determined tone frequency value.
- 82. The method of claim 73, further comprising:
computing one or more of the amplitude and phase of the tone using the determined tone frequency value.
- 83. The method of claim 73, where in the plurality of expressions include:
a first expression comprising a sum of one or more numerator terms divided by a sum of one or more denominator terms; and a second expression comprising a sum of at least two numerator terms divided by a sum of at least two denominator terms.
- 84. The method of claim 73, wherein the plurality of expressions include:
a first expression comprising a sum of two or more numerator terms divided by a sum of two or more denominator terms; and a second expression comprising a sum of three or more numerator terms divided by a sum of three or more denominator terms.
- 85. A method for determining signal parameters for a plurality of tones in an input signal, the method comprising:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) applying a windowed FFT to the signal to generate a frequency transform of the signal, wherein the frequency transform comprises frequency response information; c) determining a plurality of potential local peaks based on the frequency response information, wherein each potential local peak corresponds to a tone; d) building a knowledge base of signal parameters characterizing said plurality of tones by determining initial estimates of signal parameters for each of the plurality of tones; e) storing a copy of said knowledge base of tone parameters, wherein said copy comprises a prior knowledge base; f) for each respective tone characterized in said knowledge base,
f1) removing effects of the others of the plurality of tones from said estimates of the signal parameters using said knowledge base to generate modified frequency response information for the respective tone; f2) applying a single tone estimation method to the modified frequency response information, thereby generating a refined estimate of the signal parameters of the tone; and f3) updating said knowledge base with said refined estimate of the signal parameters of the tone; wherein, after said removing, said applying, and said updating for each tone, the knowledge base is comprised of said refined estimates for each tone; and g) performing steps e) through i) in an iterative manner until 1) the number of iterations exceeds a threshold number of iterations, or 2) the difference between values of the signal parameters of said knowledge base and values of the signal parameters of said prior knowledge base is less than a threshold value.
- 86. A memory medium comprising program instructions for determining one or more signal parameters for a plurality of tones in an input signal, wherein the program instructions are executable by one or more processors to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) estimating one or more signal parameters for each of the plurality of tones, wherein said one or more signal parameters characterize each of the plurality of tones; c) generating a refined estimate of the one or more signal parameters of each respective tone of the plurality of tones, wherein said generating includes updating the one or more signal parameter estimates accordingly, and wherein said generating a refined estimate is performed in an iterative fashion; and d) outputting final one or more signal parameter estimates for each of the plurality of tones in response to said generating in (c).
- 87. A memory medium comprising program instructions for determining one or more signal parameters for a plurality of tones in an input signal, wherein the program instructions are executable by one or more processors to implement:
a) receiving the input signal, wherein the input signal includes a plurality of tones; b) computing a frequency transform of the input signal, wherein the frequency transform comprises frequency response data for the plurality of tones; c) determining one or more signal parameter estimates characterizing each of the plurality of tones based on said frequency response data; d) for each respective tone of the plurality of tones, generating modified frequency response data for the respective tone using the one or more signal parameter estimates of one or more of the other tones, wherein said generating the modified frequency response data for the respective tone removes effects of other tones of the plurality of tones;
wherein step d) is performed in an iterative fashion; and e) determining final one or more signal parameter estimates for each of the plurality of tones based on the modified frequency response data of the plurality of tones.
- 88. A memory medium comprising program instructions for determining one or more signal parameters for a plurality of tones in an input signal, wherein the program instructions are executable by one or more processors to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones using said samples; c) for each respective tone of the plurality of tones, applying a single tone estimation method to the respective tone, thereby generating a refined estimate of the one or more signal parameters of the respective tone, and updating the one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone, wherein said applying and updating for each respective tone are performed in an iterative fashion; and d) generating final one or more signal parameter estimates for each of the plurality of tones in response to said iterative applying and updating in (c).
- 89. A memory medium comprising program instructions for determining one or more signal parameters for a plurality of tones in an input signal, wherein the program instructions are executable by one or more processors to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones based on said received samples; c) for each respective tone of the plurality of tones:
c1) generating modified frequency response data for the respective tone, wherein said generating operates to remove effects of other tones of the plurality of tones from the frequency response data of the respective tone, and wherein said generating uses said one or more signal parameter estimates of each of said other tones; c2) applying a single tone estimation method to the modified frequency response data of the respective tone, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and c3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein, after said generating, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined signal parameter estimates for each tone; and d) performing step c) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 90. A memory medium comprising program instructions for determining one or more signal parameters for a plurality of tones in an input signal, wherein the program instructions are executable by one or more processors to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) computing a frequency transform of the input signal using said samples, wherein the frequency transform comprises frequency response data for the plurality of tones; c) determining a plurality of potential local peaks based on the frequency response data, wherein each potential local peak corresponds to a tone; d) determining one or more signal parameter estimates characterizing each of the plurality of tones based on said plurality of potential local peaks; e) storing said one or more signal parameter estimates for each of the plurality of tones; f) for each respective tone characterized by said one or more signal parameter estimates:
f1) removing effects of other tones of the plurality of tones from the frequency response data of the potential local peak of the respective tone using the stored one or more signal parameter estimates of each of said other tones, thereby generating modified frequency response data for the respective tone; f2) applying a single tone estimation method to the modified frequency response data of the respective tone, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and f3) updating said one or more signal parameter estimates of the respective tone with said refined estimate; wherein, after said removing, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined estimates for each tone; and g) performing step f) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 91. The memory medium of claim 90,
wherein the one or more signal parameter estimates characterizing the plurality of tones comprise a knowledge base of said signal parameter estimates; wherein said storing one or more signal parameter estimates comprises:
storing a copy of said knowledge base, wherein said copy comprises a prior knowledge base; and wherein said updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone comprises:
updating the knowledge base with said refined estimate of the one or more signal parameters of the tone, wherein, after said removing, said applying, and said updating for each tone, the knowledge base is comprised of said refined estimates for each tone.
- 92. The memory medium of claim 91, wherein said performing step f) one or more times comprises performing step f) in an iterative manner until one or more of 1) the number of iterations exceeds a threshold number of iterations, or 2) the difference between values of the one or more signal parameters of said knowledge base and values of the one or more signal parameters of said prior knowledge base is less than a threshold value.
- 93. The memory medium of claim 90, wherein said one or more signal parameter estimates comprise estimates for one or more of frequency, amplitude, and phase.
- 94. The memory medium of claim 93, wherein said estimate of frequency comprises the frequency value of the determined potential local peak.
- 95. The memory medium of claim 93, wherein said estimate of amplitude is zero.
- 96. The memory medium of claim 93, wherein said estimate of amplitude is the value of the potential local peak.
- 97. The memory medium of claim 93, wherein said initial estimate of phase is zero.
- 98. The memory medium of claim 90, wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT).
- 99. The memory medium of claim 90, wherein said storing said one or more signal parameter estimates for each of the plurality of tones comprises:
sorting said signal parameter estimates for the plurality of tones by amplitude of said potential local peaks; wherein said removing effects, said applying a single tone estimation, and said updating said one or more signal parameter estimates are performed for each of said plurality of tones in order of decreasing amplitude of said potential local peaks.
- 100. The memory medium of claim 90, wherein said removing effects of other tones from the frequency response data of the potential local peak of the respective tone comprises:
determining two or more sample values in a neighborhood of the potential local peak; and for each of the other tones,
computing an effect value for each of the two or more sample values using the estimated signal parameters for the tone; and subtracting the respective effect value from each of the two or more sample values to generate a corresponding two or more modified sample values, wherein said two or more modified sample values comprise said modified frequency response data; and wherein said modified frequency response data are usable in applying said single tone estimation method.
- 101. The memory medium of claim 100, wherein said two or more sample values are consecutive sample values.
- 102. The memory medium of claim 100,
wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT) with window function W(f), wherein f denotes frequency; wherein said estimated signal parameters for the tone comprise an amplitude A1, a frequency f1, and a phase φ1, and wherein said computing an effect value for each of the two or more sample values using the estimated signal parameters for the tone comprises computing: dF(m)=A1e−jφ1W(fm+f1)+A1e−jφ1W(fm−f1), for each sample m, wherein m denotes an index of the sample, and fm denotes the frequency bin of the sample; and wherein subtracting the respective effect value from each of the two or more sample values comprises subtracting a respective value of dF(m) from each of the two or more sample values.
- 103. The memory medium of claim 90, wherein said single tone estimation method comprises:
identifying a frequency location proximate to an amplitude peak in the frequency transform, wherein the amplitude peak corresponds to the tone; selecting two or more frequency bins proximate to the frequency location in the frequency transform; determining a tone frequency value that minimizes a difference between at least a first expression and a second expression,
wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, wherein the first expression includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, wherein the second expression includes a tone frequency variable which represents a correct tone frequency value of the tone; and wherein the tone frequency value comprises a frequency of the tone.
- 104. The memory medium of claim 103,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 105. The memory medium of claim 103,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 106. The memory medium of claim 103, wherein the first expression and the second expression have the form:
- 107. The memory medium of claim 103,
wherein said generating a frequency transform of the samples comprises generating a power spectrum of the samples; wherein the first expression and the second expression have the form: 27&LeftBracketingBar;∑k+1k+M(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;=&LeftBracketingBar;∑k+1k+M-1(&LeftBracketingBar;F(n)&RightBracketingBar;×&LeftBracketingBar;W(fn-fi)&RightBracketingBar;)∑k+1k+M-1&LeftBracketingBar;W(fn-fi)&RightBracketingBar;2&RightBracketingBar;wherein:
F(n) is the nth value of the single sided scaled FFT spectrum; and W represents a window function, wherein the window function is shifted by a value of the tone frequency variable f1.
- 108. The memory medium of claim 90, further comprising:
storing the final signal parameter estimates for each of the plurality of tones.
- 109. The memory medium of claim 90, further comprising:
outputting the final signal parameter estimates for each of the plurality of tones.
- 110. The memory medium of claim 90, wherein the frequency transform comprises a frequency transform array for the plurality of tones, and wherein said single tone estimation method comprises:
identifying two or more frequency bins proximate to a first magnitude peak in the frequency transform array; determining a tone frequency value that minimizes a difference between a first expression and a second expression; and selecting a tone frequency value that makes a plurality of expressions most nearly equal;
wherein each of the plurality of expressions comprises a sum of one or more numerator terms divided by a sum of one or more denominator terms, wherein each of the plurality of expressions includes a tone frequency variable; wherein each numerator term and each denominator term corresponds to one of the frequency bins; and wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone.
- 111. A tone detection system, comprising:
an input for receiving samples of an input signal, wherein the input signal includes a plurality of tones; a processor; and a memory medium coupled to the processor, wherein the memory medium stores a tone detection software program for detecting the plurality of tones present in the input signal; wherein the processor is operable to execute the tone detection software program to implement:
a) generating a frequency transform of the samples, wherein the frequency transform comprises frequency response data for the plurality of tones; b) determining a plurality of potential local peaks based on the frequency response data, wherein each potential local peak corresponds to a tone; c) determining one or more signal parameter estimates characterizing each of the plurality of tones based on said plurality of potential local peaks; d) storing said one or more signal parameter estimates for each of the plurality of tones; e) for each respective tone characterized by said one or more signal parameter estimates,
e1) removing effects of other tones of the plurality of tones from the frequency response data of the potential local peak of the respective tone using said stored one or more signal parameter estimates of each of said other tones to generate modified frequency response data for the respective tone; e2) applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and e3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein, after said removing, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined estimates for each tone; and f) performing steps d) through e) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 112. The tone detection system of claim 111, wherein said removing effects of other tones from the frequency response data of the potential local peak of the respective tone comprises:
determining two or more sample values proximate to the potential local peak; for each of the other tones,
calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone; and subtracting the respective effect value from each of the two or more sample values to generate a corresponding two or more modified sample values, wherein said two or more modified sample values comprise said modified frequency response data; and wherein said modified frequency response data are usable in applying said single tone estimation method.
- 113. The tone detection system of claim 112, wherein said two or more sample values are consecutive sample values.
- 114. The tone detection system of claim 112,
wherein said frequency transform comprises a windowed Fast Fourier Transform (FFT) with window function W(f), wherein f denotes frequency; wherein said estimated signal parameters for the tone comprise an amplitude A1, a frequency f1, and a phase φ1, and wherein said calculating an effect value for each of the two or more sample values using the estimated signal parameters for the tone comprises calculating: dF(m)=A1e−jφ1W(fm+f1)+A1e−jφ1W(fm−f1), for each sample m, wherein m denotes an index of the sample, and fm denotes the frequency bin of the sample; and wherein subtracting the respective effect value from each of the two or more sample values comprises subtracting a respective value of dF(m) from each of the two or more sample values.
- 115. The tone detection system of claim 111, wherein said single tone estimation method comprises:
identifying an amplitude peak in the frequency transform, wherein the amplitude peak corresponds to the tone; selecting two or more frequency bins in a neighborhood of the amplitude peak in the frequency transform; and determining a tone frequency value that minimizes a difference between at least a first expression and a second expression;
wherein the first expression comprises a sum of two or more numerator terms divided by a sum of two or more denominator terms, wherein the first expression includes a tone frequency variable; wherein each numerator term and its corresponding denominator term corresponds to one of the frequency bins; and wherein the second expression comprises a sum of one or more of the numerator terms divided by a sum of one or more of the denominator terms, wherein the second expression includes the tone frequency variable; and wherein the first expression is approximately equivalent to the second expression when the correct tone frequency value is used for the tone frequency variable in the first and second expressions; and wherein the tone frequency value comprises a frequency of the tone.
- 116. The tone detection system of claim 115,
wherein the tone frequency variable represents a correct tone frequency value of the tone; and wherein the determined tone frequency value represents an approximation of the correct tone frequency value.
- 117. The tone detection system of claim 115,
wherein a ratio of each numerator term and its corresponding denominator term represent an amplitude of the tone at a respective bin.
- 118. The tone detection system of claim 115,
wherein a ratio of each numerator term and its corresponding denominator term represent a complex amplitude of the tone at a respective bin.
- 119. A tone detection system, comprising:
an input for receiving samples of an input signal, wherein the input signal includes a plurality of tones; a processor; and a memory medium coupled to the processor, wherein the memory medium stores a tone detection software program for detecting the plurality of tones present in the input signal; wherein the processor is operable to execute the tone detection software program to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones; c) generating a refined estimate of the one or more signal parameters of each respective tone of the plurality of tones, wherein said generating includes updating the one or more signal parameter estimates accordingly, and wherein said generating a refined estimate is performed in an iterative fashion; and d) outputting final one or more signal parameter estimates for each of the plurality of tones in response to said generating in (c).
- 120. A tone detection system, comprising:
an input for receiving samples of an input signal, wherein the input signal includes a plurality of tones; a processor; and a memory medium coupled to the processor, wherein the memory medium stores a tone detection software program for detecting the plurality of tones present in the input signal; wherein the processor is operable to execute the tone detection software program to implement:
a) receiving samples of the input signal, wherein the input signal includes a plurality of tones; b) determining one or more signal parameter estimates characterizing each of the plurality of tones; c) for each respective tone of the plurality of tones:
c1) generating modified frequency response data for the respective tone which operates to remove effects of other tones of the plurality of tones from the frequency response data of the respective tone, wherein said generating uses said one or more signal parameter estimates of each of said other tones; c2) applying a single tone estimation method to the modified frequency response data, thereby generating a refined estimate of the one or more signal parameters of the respective tone; and c3) updating said one or more signal parameter estimates with the refined estimate of the one or more signal parameters of the respective tone; wherein, after said generating, said applying, and said updating for each tone, the one or more signal parameter estimates comprise refined estimates for each tone; and d) performing step c) one or more times to generate final one or more signal parameter estimates for each of the plurality of tones.
- 121. A tone detection system, comprising:
means for receiving samples of an input signal, wherein the input signal includes a plurality of tones; means for determining one or more signal parameter estimates characterizing each of the plurality of tones; means for generating a refined estimate of the one or more signal parameters of each respective tone of the plurality of tones, wherein said generating includes updating the one or more signal parameter estimates accordingly, and wherein said generating a refined estimate is performed in an iterative fashion; and means for outputting final one or more signal parameter estimates for each of the plurality of tones in response to said generating.
PRIORITY DATA
[0001] This application is a continuation-in-part of U.S. patent application Ser. No. 09/880,167 titled “System and Method for Estimating One or More Tones in an Input Signal” filed Jun. 12, 2001, whose inventors are Yong Rao and Michael Cerna.
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09880167 |
Jun 2001 |
US |
Child |
10037620 |
Jan 2002 |
US |