Claims
- 1. An integrated tone detection processor for discriminating between tone and voice signals and determining the tones, the integrated tone detection processor comprising:
a semiconductor integrated circuit including,
at least one signal processing unit to perform tone detection; and a processor readable storage means to store signal processing instructions for execution by the at least one signal processing unit to:
perform automatic gain control (AGC) to normalize the power of the tone or voice signal; determine the energy of the tone or voice signals at specific frequencies utilizing a Goertzel Filter process which implements a plurality of Goertzel filters; determine whether or not a tone is present; and
if a tone exists, determine what type of tone.
- 2. The integrated tone detection processor of claim 1, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, or a fax tone.
- 3. The integrated tone detection processor of claim 1, wherein, Goertzel filters compute the energy levels of tone or voice signals at 16 specific frequencies.
- 4. The integrated tone detection processor of claim 3, wherein four signal processing units execute Goertzel filters, simultaneously.
- 5. The integrated tone detection processor of claim 1, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, determine two maximum energy levels of the tone or voice signal and their associated frequencies, respectively, utilizing Goertzel filters.
- 6. The integrated tone detection processor of claim 5, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, based upon the two maximum energy levels of the tone signal and the associated frequencies of the tone signal, discriminate whether the tone is a single tone, a dual tone, silence, or another type of tone.
- 7. The integrated tone detection processor of claim 6, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, if the tone was discriminated as a single tone or dual tone, determine the tone by identifying the tone in a user defined dictionary of tones.
- 8. The integrated tone detection processor of claim 7, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, update a state to TONE ON.
- 9. The integrated tone detection processor of claim 7, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, determine if a next tone is the same as the tone identified in the user defined dictionary and, if so, increment a TONE ON counter.
- 10. The integrated tone detection processor of claim 9, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, when the next tone is not the same as the tone identified in the user defined dictionary,
determine if an OFF cadence value is defined; and
if so, set a state to TONE ON/OFF.
- 11. The integrated tone detection processor of claim 9, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, when the next tone is not the same as the tone identified in the user defined dictionary,
determine if an OFF cadence value is defined; and
if not, determine whether the tone identified in the user defined dictionary satisfies an ON cadence value; and if so, declare the tone.
- 12. The integrated tone detection processor of claim 10, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, increment a TONE OFF counter if a subsequent tone or voice signal includes silence.
- 13. The integrated tone detection processor of claim 10, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, if a subsequent tone or voice signal does not include silence,
determine if the tone identified in the dictionary satisfies an ON cadence value and an OFF cadence value; and
if so, declare a tone.
- 14. A method for discriminating between tone and voice signals and determining the tones, the method comprising:
performing automatic gain control (AGC) to normalize the power of the tone or voice signal;
determining the energy of the tone or voice signals at specific frequencies utilizing a Goertzel Filter process which implements a plurality of Goertzel filters; determining whether or not a tone is present; and
if a tone exists, determining what type of tone.
- 15. The method of claim 14, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, or a fax tone.
- 16. The method of claim 14, wherein, Goertzel filters compute the energy levels of tone or voice signals at 16 specific frequencies.
- 17. The method of claim 16, wherein four signal processing units execute Goertzel filters, simultaneously.
- 18. The method of claim 14, further comprising, determining two maximum energy levels of the tone or voice signal and their associated frequencies, respectively, utilizing Goertzel filters.
- 19. The method of claim 18, wherein based upon the two maximum energy levels of the tone signal and the associated frequencies of the tone signal, further comprising, discriminating whether the tone is a single tone, a dual tone, silence, or another type of tone.
- 20. The method of claim 19, wherein if the tone was discriminated as a single tone or dual tone, further comprising, determining the tone by identifying the tone in a user defined dictionary of tones.
- 21. The method of claim 20, further comprising, updating a state to TONE ON.
- 22. The method of claim 20, further comprising, determining if a next tone is the same as the tone identified in the user defined dictionary and, if so, incrementing a TONE ON counter.
- 23. The method of claim 22, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if so, setting a state to TONE ON/OFF.
- 24. The method of claim 22, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if not, determining whether the tone identified in the user defined dictionary satisfies an ON cadence value; and if so, declaring the tone.
- 25. The method of claim 23, further comprising, incrementing a TONE OFF counter if a subsequent tone or voice signal includes silence.
- 26. The method of claim 23, further comprising, if a subsequent tone or voice signal does not include silence,
determining if the tone identified in the dictionary satisfies an ON cadence value and an OFF cadence value; and
if so, declaring a tone.
- 27. An integrated tone detection processor for discriminating between tone and voice signals and determining the tones, the integrated tone detection processor comprising:
a semiconductor integrated circuit including,
at least one signal processing unit to perform tone detection; and a processor readable storage means to store signal processing instructions for execution by the at least one signal processing unit to:
perform automatic gain control (AGC) to normalize the power of the tone or voice signal; filter the tone or voice signal utilizing an elliptical Infinite Impulse Response (IIR) Filter to obtain a filtered tone or voice signal; determine the energy of the tone or voice signal and the energy of the filtered tone or voice signal; decide whether a tone is present based upon comparing the energy of the filtered tone or voice signal to the energy of the unfiltered tone or voice signal;
if a tone exists, determine what type of tone; and if the tone is a modem tone or an echo cancellation (EC) disable tone, provide further modem tone processing.
- 28. The integrated tone detection processor of claim 27, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, a fax tone, or a modem tone.
- 29. The integrated tone detection processor of claim 27, wherein four signal processing units execute the elliptical IIR filter, simultaneously.
- 30. The integrated tone detection processor of claim 27, wherein if a fax tone is detected, voice processing is disabled and a data by-pass for fax processing is provided.
- 31. The integrated tone detection processor of claim 27, wherein the modem tone or an echo cancellation (EC) disable tone to be detected includes a tone operating at 2100 Hz.
- 32. The integrated tone detection processor of claim 27, wherein the signal processing instructions further for execution by the at least one signal processing unit to provide further modem tone processing, distinguish modem tones and echo cancellation disable tones from other tones.
- 33. The integrated tone detection processor of claim 32, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish modem tones and echo cancellation disable tones from other tones, determine phase reversals that are characteristic of modem tones and echo cancellation disable tones.
- 34. The integrated tone detection processor of claim 33, wherein the signal processing instructions further for execution by the at least one signal processing unit to determine phase reversals, locate a negative spike followed by positive spike in a difference function of the filtered tone signal from the unfiltered tone signal.
- 35. The integrated tone detection processor of claim 34, wherein the signal processing instructions further for execution by the at least one signal processing unit to, declare a modem or echo cancellation disable tone if the phase reversal occurs and disable echo cancellation.
- 36. The integrated tone detection processor of claim 32, further comprising a further fax tone processing module, and wherein the signal processing instructions further for execution by the at least one signal processing unit to, distinguish Fax V.21 tones from other tones.
- 37. The integrated tone detection processor of claim 36, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, mix a digitized input tone corresponding to a tone to be detected as a Fax V.21 tone with a stored copy of a carrier frequency of a Fax V.21 tone to demodulate the input tone.
- 38. The integrated tone detection processor of claim 37, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, pass the demodulated input tone through a lowpass filter to remove high frequency noise content.
- 39. The integrated tone detection processor of claim 37, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, perform phase detection to recover an original modulated input tone.
- 40. The integrated tone detection processor of claim 39, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, pass the original modulated input tone through a lowpass filter to prevent aliasing.
- 41. The integrated tone detection processor of claim 39, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, reduce a sample rate of the original modulated input tone.
- 42. The integrated tone detection processor of claim 41, wherein the signal processing instructions further for execution by the at least one signal processing unit to distinguish Fax V.21 tones, count codewords of the original modulated input tone and if a pattern ‘7E’ is seen three consecutive times, then a Fax V.21 tone is declared as present.
- 43. A method for discriminating between tone and voice signals and determining the tones, the method comprising:
performing automatic gain control (AGC) to normalize the power of the tone or voice signal; filtering the tone or voice signal utilizing an elliptical Infinite Impulse Response (IIR) Filter to obtain a filtered tone or voice signal; determining the energy of the tone or voice signal and the energy of the filtered tone or voice signal; deciding whether a tone is present based upon comparing the energy of the filtered tone or voice signal to the energy of the unfiltered tone or voice signal;
if a tone exists, determining what type of tone; and if the tone is a modem tone or an echo cancellation (EC) disable tone, providing further modem tone processing.
- 44. The method of claim 43, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, a fax tone, or a modem tone.
- 45. The method of claim 43, wherein four signal processing units execute the elliptical IIR filter, simultaneously.
- 46. The method of claim 43, wherein if a fax tone is detected, voice processing is disabled and a data by-pass for fax processing is provided.
- 47. The method of claim 43, wherein the modem tone or an echo cancellation (EC) disable tone to be detected includes a tone operating at 2100 Hz.
- 48. The method of claim 43, wherein providing further modem tone processing includes distinguishing modem tones and echo cancellation disable tones from other tones.
- 49. The method of claim 48, wherein distinguishing modem tones and echo cancellation disable tones from other tones includes determining phase reversals that are characteristic of modem tones and echo cancellation disable tones.
- 50. The method of claim 49, wherein determining phase reversals includes locating a negative spike followed by positive spike in a difference function of the filtered tone signal from the unfiltered tone signal.
- 51. The method of claim 50, further comprising, declaring a modem or echo cancellation disable tone if the phase reversal occurs and disabling echo cancellation.
- 52. The method of claim 48, further comprising, distinguishing Fax V.21 tones from other tones.
- 53. The method of claim 52, wherein distinguishing Fax V.21 tones includes mixing a digitized input tone corresponding to a tone to be detected as a Fax V.21 tone with a stored copy of a carrier frequency of a Fax V.21 tone to demodulate the input tone.
- 54. The method of claim 53, further comprising, passing the demodulated input tone through a lowpass filter to remove high frequency noise content.
- 55. The method of claim 53, wherein distinguishing Fax V.21 tones includes performing phase detection to recover an original modulated input tone.
- 56. The method of claim 55, further comprising, passing the original modulated input tone through a lowpass filter to prevent aliasing.
- 57. The method of claim 55, wherein distinguishing Fax V.21 tones includes reducing a sample rate of the original modulated input tone.
- 58. The method of claim 57, wherein distinguishing Fax V.21 tones includes counting the codewords of the original modulated input tone and if a pattern ‘7E’ is seen three consecutive times, then a Fax V.21 tone is declared as present.
- 59. An apparatus comprising:
a tone detection processor including at least one signal processing unit to perform tone detection; and a storage device to store signal processing instructions for execution by the at least one signal processing unit to:
perform automatic gain control (AGC) to normalize the power of a tone or voice signal; determine the energy of the tone or voice signals at specific frequencies utilizing a Goertzel Filter process which implements a plurality of Goertzel filters; determine whether or not a tone is present; and
if a tone exists, determine what type of tone.
- 60. The apparatus of claim 59, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, or a fax tone.
- 61. The apparatus of claim 59, wherein, Goertzel filters compute the energy levels of tone or voice signals at 16 specific frequencies.
- 62. The apparatus of claim 61, wherein four signal processing units execute Goertzel filters, simultaneously.
- 63. The apparatus of claim 59, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, determine two maximum energy levels of the tone or voice signal and their associated frequencies, respectively, utilizing Goertzel filters.
- 64. The apparatus of claim 63, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, based upon the two maximum energy levels of the tone signal and the associated frequencies of the tone signal, discriminate whether the tone is a single tone, a dual tone, silence, or another type of tone.
- 65. The apparatus of claim 64, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, if the tone was discriminated as a single tone or dual tone, determine the tone by identifying the tone in a user defined dictionary of tones.
- 66. The apparatus of claim 65, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, update a state to TONE ON.
- 67. The apparatus of claim 65, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, determine if a next tone is the same as the tone identified in the user defined dictionary and, if so, increment a TONE ON counter.
- 68. The apparatus of claim 67, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, when the next tone is not the same as the tone identified in the user defined dictionary,
determine if an OFF cadence value is defined; and
if so, set a state to TONE ON/OFF.
- 69. The apparatus of claim 67, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, when the next tone is not the same as the tone identified in the user defined dictionary,
determine if an OFF cadence value is defined; and
if not, determine whether the tone identified in the user defined dictionary satisfies an ON cadence value; and if so, declare the tone.
- 70. The apparatus of claim 68, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, increment a TONE OFF counter if a subsequent tone or voice signal includes silence.
- 71. The integrated tone detection processor of claim 68, wherein the signal processing instructions further for execution by the at least one signal processing unit to further, if a subsequent tone or voice signal does not include silence,
determine if the tone identified in the dictionary satisfies an ON cadence value and an OFF cadence value; and
if so, declare a tone.
- 72. A method comprising:
performing automatic gain control (AGC) to normalize the power of the tone or voice signal; determining the energy of tone or voice signals at specific frequencies utilizing a Goertzel Filter process which implements a plurality of Goertzel filters wherein at least four signal processing units execute the Goertzel filters, simultaneously; determining whether or not a tone is present; and
if a tone exists, determining what type of tone.
- 73. The method of claim 72, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, or a fax tone.
- 74. The method of claim 72, wherein, Goertzel filters compute the energy levels of tone or voice signals at 16 specific frequencies.
- 75. The method of claim 72, further comprising, determining two maximum energy levels of the tone or voice signal and their associated frequencies, respectively, utilizing Goertzel filters.
- 76. The method of claim 75, wherein based upon the two maximum energy levels of the tone signal and the associated frequencies of the tone signal, further comprising, discriminating whether the tone is a single tone, a dual tone, silence, or another type of tone.
- 77. The method of claim 76, wherein if the tone was discriminated as a single tone or dual tone, further comprising, determining the tone by identifying the tone in a user defined dictionary of tones.
- 78. The method of claim 76, further comprising, updating a state to TONE ON.
- 79. The method of claim 76, further comprising, determining if a next tone is the same as the tone identified in the user defined dictionary and, if so, incrementing a TONE ON counter.
- 80. The method of claim 79, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if so, setting a state to TONE ON/OFF.
- 81. The method of claim 79, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if not, determining whether the tone identified in the user defined dictionary satisfies an ON cadence value; and if so, declaring the tone.
- 82. The method of claim 80, further comprising, incrementing a TONE OFF counter if a subsequent tone or voice signal includes silence.
- 83. The method of claim 80, further comprising, if a subsequent tone or voice signal does not include silence,
determining if the tone identified in the dictionary satisfies an ON cadence value and an OFF cadence value; and
if so, declaring a tone.
- 84. A machine-readable medium having stored thereon instructions, which when executed by a machine, causes the machine to perform operations comprising:
performing automatic gain control (AGC) to normalize the power of the tone or voice signal; determining the energy of tone or voice signals at specific frequencies utilizing a Goertzel Filter process which implements a plurality of Goertzel filters; determining whether or not a tone is present; and
if a tone exists, determining what type of tone.
- 85. The machine-readable medium of claim 84, wherein determining what type of tone includes determining whether the tone is one of a dial tone, a busy tone, a fast busy tone, a ringing tone, or a fax tone.
- 86. The machine-readable medium of claim 84, wherein, Goertzel filters compute the energy levels of tone or voice signals at 16 specific frequencies.
- 87. The machine-readable medium of claim 86, wherein four signal processing units execute Goertzel filters, simultaneously.
- 88. The machine-readable medium of claim 84, further comprising, determining two maximum energy levels of the tone or voice signal and their associated frequencies, respectively, utilizing Goertzel filters.
- 89. The machine-readable medium of claim 88, wherein based upon the two maximum energy levels of the tone signal and the associated frequencies of the tone signal, further comprising, discriminating whether the tone is a single tone, a dual tone, silence, or another type of tone.
- 90. The machine-readable medium of claim 89, wherein if the tone was discriminated as a single tone or dual tone, further comprising, determining the tone by identifying the tone in a user defined dictionary of tones.
- 91. The machine-readable medium of claim 90, further comprising, updating a state to TONE ON.
- 92. The machine-readable medium of claim 90, further comprising, determining if a next tone is the same as the tone identified in the user defined dictionary and, if so, incrementing a TONE ON counter.
- 93. The machine-readable medium of claim 92, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if so, setting a state to TONE ON/OFF.
- 94. The machine-readable medium of claim 92, further comprising, when the next tone is not the same as the tone identified in the user defined dictionary,
determining if an OFF cadence value is defined; and
if not, determining whether the tone identified in the user defined dictionary satisfies an ON cadence value; and if so, declaring the tone.
- 95. The machine-readable medium of claim 93, further comprising, incrementing a TONE OFF counter if a subsequent tone or voice signal includes silence.
- 96. The machine-readable medium of claim 93, further comprising, if a subsequent tone or voice signal does not include silence,
determining if the tone identified in the dictionary satisfies an ON cadence value and an OFF cadence value; and
if so, declaring a tone.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/231,090 filed on Sep. 8, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60231090 |
Sep 2000 |
US |