US20040174987A1 - Accumulator with variable limits - Google Patents
Accumulator with variable limits Download PDFInfo
- Publication number
- US20040174987A1 US20040174987A1 US10/804,010 US80401004A US2004174987A1 US 20040174987 A1 US20040174987 A1 US 20040174987A1 US 80401004 A US80401004 A US 80401004A US 2004174987 A1 US2004174987 A1 US 2004174987A1
- Authority
- US
- United States
- Prior art keywords
- output
- accumulator
- counter
- multiplexer
- count
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 239000003990 capacitor Substances 0.000 description 7
- 230000002265 prevention Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010205 computational analysis Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
Definitions
- This invention relates to a circuit for comparing the relative power of two signals and providing an indication of the greater of two signals and, in particular, to an accumulator that provides a stable indication of magnitude.
- U.S. Pat. No. 4,796,287 discloses a speaker phone in which a decremented counter provides a delay to channel switching by the remainder of the circuit. The magnitudes of the line signal and the microphone signal are used in determining whether or not to switch channels.
- U.S. Pat. No. 4,879,745 discloses a half-duplex speaker phone that controls the selection of either a transmit or a receive audio path based upon a present state of the speaker phone and the magnitudes of three variables associated with each path.
- the three variables for each path include signal power, noise power, and worst-case echo.
- U.S. Pat. No. 5,418,848 discloses a double talk detector wherein an evaluation circuit monitors voice signals upstream and downstream of echo canceling apparatus for detecting double talk. An up-down counter is incremented and decremented at different rates and a predetermined count is required before further signal processing takes place.
- U.S. Pat. No. 5,598,466 discloses a voice activity detector including an algorithm for distinguishing voice from background noise based upon an analysis of average peak value of a voice signal compared to the current sample of the audio signal.
- U.S. Pat. No. 5,692,042 discloses a speaker phone including non-linear amplifiers to compress transmitted and received signals, and level detectors to determine the levels of the compressed transmitted and received signals. The compressed signals are compared in a comparator having hysteresis to enable either transmit mode or receive mode.
- U.S. Pat. No. 5,764,753 discloses a double talk detector that compares the send and receive signals to determine “Return Echo (Loss Enhancement,” which is stored as a digital value in a register. The digital value is adjusted over time and is used to provide a variable, rather than fixed, parameter to which new data is compared in determining whether to send or receive.
- U.S. Pat. No. 5,867,574 discloses a voice activity detection system that uses a voice energy term defined as the sum of the differences between consecutive values of a speech signal. Comparison of the voice energy term with threshold values and comparing the voice energy terms of the transmit and receive channels determines which channel will be active.
- U.S. Pat. No. 6,138,040 discloses comparing the energy in each “frame” (thirty millisecond interval) of speech with background energy to determine whether or not speech is present in a channel.
- a timer is disclosed for bridging gaps between voiced portions of speech.
- capacitors for sampling a signal, for coupling a signal between stages, or for other purposes.
- a problem with capacitors is that the capacitance changes with age.
- Another problem is that capacitors are hard to match, requiring calibration of the system.
- capacitors are expensive and, except for very small values of capacitance, cannot be implemented in integrated circuit form.
- Another object of the invention is to provide a circuit for arbitrating between competing signals without extensive or high level computations.
- a further object of the invention is to provide a circuit for comparing signal levels digitally without the use of capacitors.
- Another object of the invention is to provide a transmit/receive arbitrator that can be fully incorporated into an integrated circuit.
- a further object of the invention is to provide an arbitration circuit that condenses sample data for arbitration.
- Another object of the invention is to provide an arbitration circuit that includes condensed historical data in the arbitration.
- FIG. 1 is a diagram representing the operation of an arbitration circuit constructed in accordance with the invention
- FIG. 2 is a schematic diagram of a circuit for converting analog signals into three bits of sample data
- FIG. 3 is a schematic of a circuit for distilling data from a series of samples in a window
- FIG. 4 is a schematic of a circuit for distilling the data in a plurality of windows.
- FIG. 5 is a schematic of the logic circuitry for determining receive or transmit.
- register 10 has a capacity of on and starts at a count of zero in the middle of the register.
- Register 10 counts either up or down away from zero in accordance with the data coupled to the register. If data is consistently positive then the count increases toward region 11 , which lies between threshold 13 and threshold 14 , both of which are adjustable. Similarly, if data is consistently negative then the count increases in a negative direction toward region 16 , which lies between threshold 17 and threshold 18 , both of which are adjustable.
- the starting point is arbitrary. One could as easily say that register 10 had a capacity of m and started counting at m / 2 .
- threshold 14 or threshold 18 If new data causes the count to exceed (i.e. be numerically greater than) threshold 14 or threshold 18 , additional data of the same sign is ignored. This is known as preventing roll-over or roll-under and is known per se in the art.
- register 10 is incremented or decremented depending upon a three bit word representing the states of the signals on the microphone input and the line input to a telephone (not shown in FIG. 1).
- the direction of the count is determined by whether or not the signal on the microphone input is larger than the signal on the line input.
- entering region 11 implies a relatively consistent signal on the microphone input
- entering region 16 implies a relatively consistent signal on the line input.
- the size of a region defines how much variation is tolerated before one exits the region. The regions need not be symmetrical about zero.
- moving threshold 13 further away from zero than threshold 17 biases the system to favor the line input.
- making region 11 smaller than region 16 biases the system to favor the line input.
- Register 10 accumulates data for a period of time defined as a window. Data in a window and in successive windows contribute to the decision on whether to receive or transmit.
- FIG. 2 is a schematic of a circuit for processing individual samples of input signal.
- Input 21 is coupled to the microphone input to a speakerphone (not shown).
- Input 22 is the line input from the telephone network.
- Amplifiers 23 and 24 full wave rectify the signal on the line.
- Comparator 25 is coupled to the outputs of amplifiers 23 and 24 and provides an indication of which signal is the larger.
- Comparator 26 compares the rectified line input signal to a threshold value and provides a signal indicating which is larger.
- Comparator 27 compares the rectified microphone input signal to another threshold value and provides a signal indicating which is larger.
- the outputs of comparators 25 , 26 , and 27 are coupled to D-flip-flops 31 , 32 , and 33 , which latch the data on each clock pulse, e.g. on line 34 to D-flip-flop 33 .
- the input signals are sampled at 44.1 kHz. Other sampling rates could be used instead.
- FIG. 3 is a schematic of an accumulator used, with slight variations, at several places in FIG. 4.
- Accumulator 40 includes adder 41 having two data inputs and an output giving the sum of the inputs.
- adder 41 adds an offset to its previous output to produce a new output.
- Input 42 provides the offset, which can be positive or negative, and accumulator output 43 is coupled to the second input of adder 41 .
- the add operation is synchronized with the remainder of the system by clock pulses on clock input 45 of D-flip-flop 46 , which latches the data on output 43 .
- Comparator 51 , AND gate 52 , and multiplexer 53 prevent roll-over. Comparator 54 , AND gate 55 , and multiplexer 56 prevent roll-under.
- the comparators check the output of D-flip-flop 46 against data defining thresholds 14 and 18 .
- Multiplexer 58 provides a data reset under the control of a signal on input 59 . The data reset occurs after a predetermined number of samples, e.g. 127, to define a window.
- multiplexer 53 switches inputs and applies data representing threshold 14 (FIG. 1) to output 43 , assuming that multiplexers 56 and 58 are unchanged. This prevents roll-over.
- multiplexer 56 switches inputs and applies data representing threshold 18 (FIG. 1) to output 43 , assuming that multiplexer 58 is unchanged.
- a data reset causes multiplexer 58 to change inputs and apply reset data, e.g. zero, to output 43 .
- multiplexer 58 overrides all others, multiplexer 56 overrides multiplexer 53 , and so on.
- This construction of accumulator 40 differs from other roll-over/roll-under protection schemes in at least two ways. Referring to FIG. 1, thresholds 14 and 18 are not at the limits of the counter. Fixed data is forced on the output, which protects the system regardless (within reason) of the size of delta ( ⁇ ), the counting increment. That is, from within region 11 or region 16 , a single delta ( ⁇ ) is insufficient to cause roll-over or roll-under.
- the output from accumulator 40 is a number, represented by eight bits in one embodiment of the invention. Fewer bits or more bits could be used. The number can be anywhere between thresholds 14 and 18 . This number, in turn, is converted into an incremental change in another accumulator. Thus, successive samples are reduced to a single number (one window) and successive windows are converted (and reduced) to four counts. These counts are analyzed to determine whether to receive or send.
- FIG. 4 is a schematic of a signal analyzer constructed in accordance with a preferred embodiment of the invention.
- Input 61 is coupled to the output of D-flip-flop 31 (FIG. 2)
- input 62 is coupled to the output of D-flip-flop 32 (FIG. 2)
- input 63 is coupled to the output of D-flip-flop 33 (FIG. 2).
- Inputs 61 and 62 are coupled to AND gate 65 , which produces a logic “1” when the received signal (line input) is greater than the microphone signal and is greater than a predetermined threshold.
- the output of AND gate 65 is coupled to the “down” input of accumulator 40 .
- Inverted input 62 and input 63 are coupled to AND gate 66 , which produces a logic “1” when the received signal (line input) is less than a predetermined threshold and the microphone signal is greater than a predetermined threshold.
- the thresholds need not be the same value.
- the output of AND gate 66 is coupled to the “up” input of accumulator 40 .
- the outputs of AND gates 65 and 66 also form a two bit data bus that controls multiplexer 68 , selecting one of three inputs for coupling to the data input of accumulator 40 .
- the three inputs were +1, 0, and ⁇ 1.
- Other values can be used to suit circumstances, e.g. counting up by twos, counting down by threes, and not counting by zero if the inputs do not exceed their respective thresholds.
- accumulator 40 is reset to an initial value, preferably its mid-point, represented by zero in FIG. 1.
- the data from accumulator 40 is applied to comparators 71 and 72 , which compare the data with thresholds and produce a logic true output if the threshold is exceeded.
- the information in accumulator 40 is distilled or condensed into two bits for the remainder of the circuit, which analyzes how these bits change over time to provide an indication of attack and decay in the input signals.
- the window defined by accumulator 40 is preferably from 2 6 (127) to 2 10 (2,047) counts of the clock signal. At a clock signal of 44.1 kHz., this corresponds to a period of 2.9 to 46.4 milliseconds.
- the remaining accumulators in FIG. 4 analyze a plurality of windows. Accumulators 73 and 74 look for a programmable number of “attacks” in a row; e.g. four consecutive logic trues from comparator 71 or comparator 72 . The delta or count input to these accumulators is a single value, 1. If accumulator 73 counts to four on four consecutive windows, the output of comparator 76 goes true.
- Accumulators 81 and 82 analyze the data from accumulator 40 differently from accumulators 73 and 74 in that the delta is either +m or ⁇ n, depending upon the outputs from multiplexers 83 and 84 .
- a signal that is generally, but not consistently, present will increment the accumulator more often than the signal decrements the accumulator, slowly increasing the count.
- a signal that is generally, but not consistently, absent will decrement the accumulator more often than the signal increments the accumulator, slowly decreasing the count.
- Digital comparators are provided to prevent roll-over and roll-under.
- Accumulator 81 (and accumulator 73 ) monitor line input and accumulator 82 (and accumulator 74 ) monitor microphone input.
- Comparator 91 is part of the under-flow prevention circuitry, in addition to providing the output from accumulator 81 .
- Comparator 92 is part of the over-flow prevention circuitry.
- Comparators 93 and 94 provide a two way comparison of the outputs of accumulators 81 and 82 .
- Comparator 96 is part of the under-flow prevention circuitry, in addition to providing the output from accumulator 82 .
- Comparator 95 is part of the over-flow prevention circuitry.
- FIG. 4 Several outputs in FIG. 4 are marked with numbered circles, corresponding to the numbered circles adjacent the inputs in FIG. 5.
- the data in accumulators 73 and 74 represent whether or not the signal was relatively uniform for the last four windows. (The number of windows is programmable).
- the data in accumulators 81 and 82 represent attack or decay data from several windows. In effect, accumulators 81 and 82 distill a large amount of historical data into one byte of data, which is then further distilled by being compared with thresholds to produce binary (single bit) data. The bits are then combined by the circuit in FIG. 5 to make a decision on whether to transmit or receive.
- the inputs to OR gate 101 are coupled comparators 91 and 94 (FIG. 4) and the output is coupled to AND gate 102 .
- the other input to NAND gate 102 is coupled to comparator 74 (FIG. 4).
- the inputs to OR gate 103 are coupled comparators 76 and 93 (FIG. 4) and the output is coupled to NAND gate 104 .
- the other input to NAND gate 104 is coupled to comparator 96 (FIG. 4).
- the output of NAND gate 102 is coupled to one input of NAND gate 105 and the other input to NAND gate 105 is coupled to the output of D-flip-flop 106 .
- the outputs of NAND gate 105 and NAND gate 104 are coupled to the inputs of NAND gate 107 .
- the output of NAND gate 107 is coupled to the data input of D-flip-flop 106 .
- NAND gate 105 produces a logic “1” output, enabling NAND gate 107 , and the data on inputs (1), (4), and (5) does not matter.
- NAND gate 107 acts like an inverter and gates 104 and 107 together act like an AND gate.
- a logic “1” is produced at the output if both inputs to gate 104 are high. That is, a logic “1” output is produced if the output of either comparator 76 or comparator 93 (FIG. 4) is high and if the output from comparator 96 (FIG. 4) is high.
- NAND gate 105 inverts the output of NAND gate 102 and the two act as an AND gate.
- the output of NAND gate 107 will go low only if both inputs are high, which means that both inputs to gate 102 must be high and one input to gate 104 must be low.
- the invention does not measure power and compare measurements to decide which signal is stronger. Rather, the invention creates a kind of weighted histogram of the signals and compares the histograms. The histograms are weighted in that newer data affects outcome more than older data.
- the invention thus provides an improved circuit for providing an indication of the greater of two signals and, in particular, to a circuit that provides a stable indication suitable for use in half-duplex communication.
- the circuit does not use extensive or high level computations and, because capacitors are not used, the circuit can be fully incorporated into an integrated circuit.
- the circuit condenses sample data for arbitration and uses historical data in the arbitration.
- a circuit constructed in accordance with the invention can analyze a signal having a “power tail” of up to 1,500 milliseconds, a feat impossible with the prior art because of the enormous amount of data that would have to be available to make a decision.
- a circuit constructed in accordance with the invention is very fast, particularly when one recalls that data processing is taking place on a 44.1 kHz. clock, in one embodiment of the invention, which is orders of magnitude slower than the clocks needed in the prior art for complex power calculations.
- the invention provides programmable hysteresis depending upon the power tail of the previous signal. On can change the duration of the power tail with a modest increase in the size of the accumulators.
- adding two bits to the accumulators changes the maximum power tail from 1.5 seconds to six seconds.
- the count in accumulator 40 can be set at some value between threshold 14 and +n or between threshold 18 and ⁇ n to prevent roll-over or roll-under, although this will decrease the maximum delta ( ⁇ ) that can be used.
- the sizes of the windows can be different from the ones disclosed. In one embodiment of the invention, the registers used for data storage and for setting the sizes of windows were all programmable.
- circuit can be modified to suit particular needs, office vs. car for example. If the acoustics of a particular enclosure introduce unwanted bias of either power signal, the invention can compensate for the bias.
- Another advantage is that the circuit is easily tested, e.g. by forcing certain data into the system, unlike devices of the prior art.
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Analogue/Digital Conversion (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Telephone Function (AREA)
Abstract
The amplitudes of a signal on the microphone input of a telephone and a signal on the line input of the telephone are compared with each other and with two thresholds. The comparisons are sampled and the samples control an accumulator including an up-down counter and logic to provide adjustable thresholds. The count in the counter is compared with two other thresholds and the results of the comparisons are used to apply either variable data or fixed data to the counter.
Description
- This application is a division of application Ser. No. 09/803,551, filed Mar. 9, 2001, assigned to the assignee of this application, now U.S. Pat. No. ______.
- This invention relates to a circuit for comparing the relative power of two signals and providing an indication of the greater of two signals and, in particular, to an accumulator that provides a stable indication of magnitude.
- Anyone who has used current models of speaker phones is well aware of the cut off speech and the silent periods during a conversation caused by echo canceling circuitry within the speaker phone. Such phones operate in what is known as half-duplex mode, which means that only one person can speak at a time. While such silent periods assure that the sound from the speaker is not coupled directly into the microphone within a speaker phone, the quality of the call is poor.
- Whether or not to receive (listen) or transmit (talk) is not easily resolved in the particular application of telephone communication. Voices may overlap, so-called “double talk,” particularly if there are more than two parties to a call or more than one person at a speaker phone. Background noise may cause problems if the noise level is a significant percentage of the voice level. Pauses in a conversation do not necessarily mean that a person is finished speaking and that it is time for someone else to speak. A voice signal is a complex wave that is discontinuous because not all speech sounds use the vocal chords. Analyzing a voice signal in real time and deciding whether or not a person has finished speaking is a complex problem despite the ordinary human experience of doing it unconsciously or subconsciously. A variety of electronic systems have been proposed in the prior art for arbitrating send or receive but the problem remains.
- U.S. Pat. No. 4,796,287 (Reesor et al.) discloses a speaker phone in which a decremented counter provides a delay to channel switching by the remainder of the circuit. The magnitudes of the line signal and the microphone signal are used in determining whether or not to switch channels.
- U.S. Pat. No. 4,879,745 (Arbel) discloses a half-duplex speaker phone that controls the selection of either a transmit or a receive audio path based upon a present state of the speaker phone and the magnitudes of three variables associated with each path. The three variables for each path include signal power, noise power, and worst-case echo.
- U.S. Pat. No. 5,418,848 (Armbrüster) discloses a double talk detector wherein an evaluation circuit monitors voice signals upstream and downstream of echo canceling apparatus for detecting double talk. An up-down counter is incremented and decremented at different rates and a predetermined count is required before further signal processing takes place.
- U.S. Pat. No. 5,598,466 (Graumann) discloses a voice activity detector including an algorithm for distinguishing voice from background noise based upon an analysis of average peak value of a voice signal compared to the current sample of the audio signal.
- U.S. Pat. No. 5,692,042 (Sacca) discloses a speaker phone including non-linear amplifiers to compress transmitted and received signals, and level detectors to determine the levels of the compressed transmitted and received signals. The compressed signals are compared in a comparator having hysteresis to enable either transmit mode or receive mode.
- U.S. Pat. No. 5,764,753 (McCaslin et al.) discloses a double talk detector that compares the send and receive signals to determine “Return Echo (Loss Enhancement,” which is stored as a digital value in a register. The digital value is adjusted over time and is used to provide a variable, rather than fixed, parameter to which new data is compared in determining whether to send or receive.
- U.S. Pat. No. 5,867,574 (Eryilmaz) discloses a voice activity detection system that uses a voice energy term defined as the sum of the differences between consecutive values of a speech signal. Comparison of the voice energy term with threshold values and comparing the voice energy terms of the transmit and receive channels determines which channel will be active.
- U.S. Pat. No. 6,138,040 (Nicholls et al.) discloses comparing the energy in each “frame” (thirty millisecond interval) of speech with background energy to determine whether or not speech is present in a channel. A timer is disclosed for bridging gaps between voiced portions of speech.
- Typically, these systems are implemented in digital form and manipulate large amounts of data in analyzing the input signals. The Sacca patent discloses an analog system using an amplifier with hysteresis to avoid dithering, which, to a large extent, is unavoidable with a simple amplitude comparison. On the other hand, an extensive computational analysis to determine relative power takes too long. The Eryilmaz patent attempts to simplify the amount of computation but still requires manipulation of significant amounts of data. All these systems manipulate amplitude data, or data derived from amplitude, up to the point of making a binary value signal indicating receive or transmit.
- Some of the prior art systems use historical data, e.g. three occurrences of what is interpreted as a voice signal. Such systems require large amounts of memory to handle the historical data and the current data.
- Although implementation details are generally not discussed in the foregoing patents, the prior art typically uses capacitors for sampling a signal, for coupling a signal between stages, or for other purposes. A problem with capacitors is that the capacitance changes with age. Another problem is that capacitors are hard to match, requiring calibration of the system. Finally, capacitors are expensive and, except for very small values of capacitance, cannot be implemented in integrated circuit form.
- In view of the foregoing, it is therefore an object of the invention to provide an improved circuit for providing an indication of the greater of two signals and, in particular, to a circuit that provides a stable indication suitable for use in half-duplex communication.
- Another object of the invention is to provide a circuit for arbitrating between competing signals without extensive or high level computations.
- A further object of the invention is to provide a circuit for comparing signal levels digitally without the use of capacitors.
- Another object of the invention is to provide a transmit/receive arbitrator that can be fully incorporated into an integrated circuit.
- A further object of the invention is to provide an arbitration circuit that condenses sample data for arbitration.
- Another object of the invention is to provide an arbitration circuit that includes condensed historical data in the arbitration.
- The foregoing objects are achieved in this invention in which the amplitudes of a signal on the microphone input of a telephone and a signal on the line input of the telephone are compared with each other and with two thresholds. The comparisons are sampled and the samples control an accumulator including an up-down counter and logic to provide adjustable thresholds. The count in the counter is compared with two other thresholds and the results of the comparisons are used to apply either variable data or fixed data to the counter.
- A more complete understanding of the invention can be obtained by considering the following detailed description in conjunction with the accompanying drawings, in which:
- FIG. 1 is a diagram representing the operation of an arbitration circuit constructed in accordance with the invention;
- FIG. 2 is a schematic diagram of a circuit for converting analog signals into three bits of sample data;
- FIG. 3 is a schematic of a circuit for distilling data from a series of samples in a window;
- FIG. 4 is a schematic of a circuit for distilling the data in a plurality of windows; and
- FIG. 5 is a schematic of the logic circuitry for determining receive or transmit.
- In FIG. 1
register 10 has a capacity of on and starts at a count of zero in the middle of the register.Register 10 counts either up or down away from zero in accordance with the data coupled to the register. If data is consistently positive then the count increases towardregion 11, which lies betweenthreshold 13 andthreshold 14, both of which are adjustable. Similarly, if data is consistently negative then the count increases in a negative direction towardregion 16, which lies betweenthreshold 17 andthreshold 18, both of which are adjustable. The starting point is arbitrary. One could as easily say thatregister 10 had a capacity of m and started counting at m/2. - If new data causes the count to exceed (i.e. be numerically greater than)
threshold 14 orthreshold 18, additional data of the same sign is ignored. This is known as preventing roll-over or roll-under and is known per se in the art. - In accordance with the invention, register10 is incremented or decremented depending upon a three bit word representing the states of the signals on the microphone input and the line input to a telephone (not shown in FIG. 1). The direction of the count is determined by whether or not the signal on the microphone input is larger than the signal on the line input. Thus, entering
region 11 implies a relatively consistent signal on the microphone input and enteringregion 16 implies a relatively consistent signal on the line input. The size of a region defines how much variation is tolerated before one exits the region. The regions need not be symmetrical about zero. Thus, movingthreshold 13 further away from zero thanthreshold 17 biases the system to favor the line input. Similarly, makingregion 11 smaller thanregion 16 biases the system to favor the line input.Register 10 accumulates data for a period of time defined as a window. Data in a window and in successive windows contribute to the decision on whether to receive or transmit. - FIG. 2 is a schematic of a circuit for processing individual samples of input signal.
Input 21 is coupled to the microphone input to a speakerphone (not shown).Input 22 is the line input from the telephone network.Amplifiers -
Comparator 25 is coupled to the outputs ofamplifiers Comparator 26 compares the rectified line input signal to a threshold value and provides a signal indicating which is larger.Comparator 27 compares the rectified microphone input signal to another threshold value and provides a signal indicating which is larger. The outputs ofcomparators flops line 34 to D-flip-flop 33. In one embodiment of the invention, the input signals are sampled at 44.1 kHz. Other sampling rates could be used instead. - Note that a sample of the signal is not stored on a capacitor. The amplitudes of the input signals are not actually measured, except for exceeding a threshold. The states of
comparators - FIG. 3 is a schematic of an accumulator used, with slight variations, at several places in FIG. 4.
Accumulator 40 includesadder 41 having two data inputs and an output giving the sum of the inputs. In its simplest form,adder 41 adds an offset to its previous output to produce a new output.Input 42 provides the offset, which can be positive or negative, andaccumulator output 43 is coupled to the second input ofadder 41. The add operation is synchronized with the remainder of the system by clock pulses onclock input 45 of D-flip-flop 46, which latches the data onoutput 43. -
Comparator 51, ANDgate 52, andmultiplexer 53 prevent roll-over.Comparator 54, ANDgate 55, andmultiplexer 56 prevent roll-under. The comparators check the output of D-flip-flop 46 againstdata defining thresholds Multiplexer 58 provides a data reset under the control of a signal oninput 59. The data reset occurs after a predetermined number of samples, e.g. 127, to define a window. - If the output of AND
gate 52 is true, then multiplexer 53 switches inputs and applies data representing threshold 14 (FIG. 1) tooutput 43, assuming thatmultiplexers gate 55 is true, then multiplexer 56 switches inputs and applies data representing threshold 18 (FIG. 1) tooutput 43, assuming thatmultiplexer 58 is unchanged. A data reset causesmultiplexer 58 to change inputs and apply reset data, e.g. zero, tooutput 43. - Note that there is a hierarchy.
Multiplexer 58 overrides all others,multiplexer 56overrides multiplexer 53, and so on. This construction ofaccumulator 40 differs from other roll-over/roll-under protection schemes in at least two ways. Referring to FIG. 1,thresholds region 11 orregion 16, a single delta (Δ) is insufficient to cause roll-over or roll-under. - The output from
accumulator 40 is a number, represented by eight bits in one embodiment of the invention. Fewer bits or more bits could be used. The number can be anywhere betweenthresholds - FIG. 4 is a schematic of a signal analyzer constructed in accordance with a preferred embodiment of the invention.
Input 61 is coupled to the output of D-flip-flop 31 (FIG. 2),input 62 is coupled to the output of D-flip-flop 32 (FIG. 2), andinput 63 is coupled to the output of D-flip-flop 33 (FIG. 2).Inputs gate 65, which produces a logic “1” when the received signal (line input) is greater than the microphone signal and is greater than a predetermined threshold. The output of ANDgate 65 is coupled to the “down” input ofaccumulator 40.Inverted input 62 andinput 63 are coupled to ANDgate 66, which produces a logic “1” when the received signal (line input) is less than a predetermined threshold and the microphone signal is greater than a predetermined threshold. The thresholds need not be the same value. The output of ANDgate 66 is coupled to the “up” input ofaccumulator 40. - The outputs of AND
gates multiplexer 68, selecting one of three inputs for coupling to the data input ofaccumulator 40. In one embodiment of the invention, the three inputs were +1, 0, and −1. Other values can be used to suit circumstances, e.g. counting up by twos, counting down by threes, and not counting by zero if the inputs do not exceed their respective thresholds. After a predetermined number of counts,accumulator 40 is reset to an initial value, preferably its mid-point, represented by zero in FIG. 1. - The data from
accumulator 40 is applied tocomparators accumulator 40 is distilled or condensed into two bits for the remainder of the circuit, which analyzes how these bits change over time to provide an indication of attack and decay in the input signals. - The window defined by
accumulator 40 is preferably from 26 (127) to 210 (2,047) counts of the clock signal. At a clock signal of 44.1 kHz., this corresponds to a period of 2.9 to 46.4 milliseconds. The remaining accumulators in FIG. 4 analyze a plurality of windows.Accumulators comparator 71 orcomparator 72. The delta or count input to these accumulators is a single value, 1. Ifaccumulator 73 counts to four on four consecutive windows, the output ofcomparator 76 goes true. Similarly, ifaccumulator 74 counts to four on four consecutive windows, the output ofcomparator 77 goes true. The outputs stay true for as long as consecutive attacks are detected.Accumulators -
Accumulators accumulator 40 differently fromaccumulators multiplexers -
Comparator 91 is part of the under-flow prevention circuitry, in addition to providing the output fromaccumulator 81.Comparator 92 is part of the over-flow prevention circuitry.Comparators accumulators Comparator 96 is part of the under-flow prevention circuitry, in addition to providing the output fromaccumulator 82.Comparator 95 is part of the over-flow prevention circuitry. - Several outputs in FIG. 4 are marked with numbered circles, corresponding to the numbered circles adjacent the inputs in FIG. 5. The data in
accumulators accumulators accumulators - In FIG. 5, the inputs to OR
gate 101 are coupledcomparators 91 and 94 (FIG. 4) and the output is coupled to ANDgate 102. The other input toNAND gate 102 is coupled to comparator 74 (FIG. 4). The inputs to ORgate 103 are coupledcomparators 76 and 93 (FIG. 4) and the output is coupled toNAND gate 104. The other input toNAND gate 104 is coupled to comparator 96 (FIG. 4). The output ofNAND gate 102 is coupled to one input ofNAND gate 105 and the other input toNAND gate 105 is coupled to the output of D-flip-flop 106. The outputs ofNAND gate 105 andNAND gate 104 are coupled to the inputs ofNAND gate 107. The output ofNAND gate 107 is coupled to the data input of D-flip-flop 106. - Several combinations of signals will produce a logic true or “1” output, is indicating a receive enable. If the output from D-flip-
flop 106 is “0”, thenNAND gate 105 produces a logic “1” output, enablingNAND gate 107, and the data on inputs (1), (4), and (5) does not matter. When enabled,NAND gate 107 acts like an inverter andgates gate 104 are high. That is, a logic “1” output is produced if the output of eithercomparator 76 or comparator 93 (FIG. 4) is high and if the output from comparator 96 (FIG. 4) is high. - If the output of
NAND gate 107 is high and latched by D-flip-flop 106, thenNAND gate 105 inverts the output ofNAND gate 102 and the two act as an AND gate. The output ofNAND gate 107 will go low only if both inputs are high, which means that both inputs togate 102 must be high and one input togate 104 must be low. - Unlike the prior art, the invention does not measure power and compare measurements to decide which signal is stronger. Rather, the invention creates a kind of weighted histogram of the signals and compares the histograms. The histograms are weighted in that newer data affects outcome more than older data.
- The invention thus provides an improved circuit for providing an indication of the greater of two signals and, in particular, to a circuit that provides a stable indication suitable for use in half-duplex communication. The circuit does not use extensive or high level computations and, because capacitors are not used, the circuit can be fully incorporated into an integrated circuit. In operation, the circuit condenses sample data for arbitration and uses historical data in the arbitration.
- A circuit constructed in accordance with the invention can analyze a signal having a “power tail” of up to 1,500 milliseconds, a feat impossible with the prior art because of the enormous amount of data that would have to be available to make a decision. A circuit constructed in accordance with the invention is very fast, particularly when one recalls that data processing is taking place on a 44.1 kHz. clock, in one embodiment of the invention, which is orders of magnitude slower than the clocks needed in the prior art for complex power calculations. The invention provides programmable hysteresis depending upon the power tail of the previous signal. On can change the duration of the power tail with a modest increase in the size of the accumulators. For example, adding two bits to the accumulators changes the maximum power tail from 1.5 seconds to six seconds. One can also increase the power tail by reducing the sampling rate at the front end. For example, taking every fourth sample will similarly increase the duration of the power tail by a factor of four.
- Having thus described the invention, it will be apparent to those of skill in the art that various modifications can be made within the scope of the invention. For example, the count in
accumulator 40 can be set at some value betweenthreshold 14 and +n or betweenthreshold 18 and −n to prevent roll-over or roll-under, although this will decrease the maximum delta (Δ) that can be used. The particular logic shown is preferred but not the only logic that can be used to implement the invention. This is meant in all senses of the word “logic,” including the arrangement of the various gates and the levels chosen, e.g. true=1=high. The sizes of the windows can be different from the ones disclosed. In one embodiment of the invention, the registers used for data storage and for setting the sizes of windows were all programmable. This provided at least two advantages. One is that the circuit can be modified to suit particular needs, office vs. car for example. If the acoustics of a particular enclosure introduce unwanted bias of either power signal, the invention can compensate for the bias. Another advantage is that the circuit is easily tested, e.g. by forcing certain data into the system, unlike devices of the prior art.
Claims (12)
1. In an accumulator including an up-down counter and logic for preventing roll-over, the improvement comprising:
a first boundary for roll-over, wherein said boundary is less than the capacity of said up-down counter; and
a first multiplexer coupled to said logic for preventing roll-over for supplying a first predetermined count to said up-down counter when the count in said counter is incremented past said first boundary.
2. The accumulator as set forth in claim 1 , wherein said accumulator includes logic for preventing roll-under, said improvement further comprising:
a second boundary for roll-under, wherein said boundary is greater than the minimum count of said up-down counter; and
a second multiplexer coupled to said logic for preventing roll-under for supplying a second predetermined count to said up-down counter when said counter is decremented past said second boundary.
3. The accumulator as set forth in claim 2 , said improvement further comprising:
a third multiplexer coupled to said logic for providing reset data to said updown counter.
4. The accumulator as set forth in claim 1 , said improvement further comprising:
a second multiplexer coupled to said logic for providing reset data to said updown counter.
5. The accumulator as set forth in claim 1 , wherein said up-down counter counts in a range of less than −n to +n, wherein n is the capacity of the counter in either direction.
6. The accumulator as set forth in claim 1 , wherein said up-down counter counts up in increments of Δ, where Δ is an integer.
7. The accumulator as set forth in claim 6 , wherein said up-down counter counts down in increments of Δ, where Δ is an integer.
8. The accumulator as set forth in claim 1 , wherein said up-down counter counts down in increments of Δ, where Δ is an integer.
9. In an accumulator including an up-down counter and logic for preventing roll-over, the improvement comprising:
a first multiplexer coupled to said counter and to a first count for supplying either the output from said counter or the first count to an output;
a first comparator coupled to said output for comparing the data on said output with a first threshold and producing a first logical output indicative of the comparison;
first logic means coupled to the first comparator and the first multiplexer for causing the first multiplexer to supply either the output from said counter or the first count to said output depending upon the state of said logical output
10. The accumulator as set forth in claim 9 , wherein said improvement further includes:
a second multiplexer coupled to said counter and to a second count for supplying either the output from said counter or the second count to said output;
a second comparator coupled to said output for comparing the data on said output with a second threshold and producing a second logical output indicative of the second comparison;
second logic means coupled to the second comparator and the second multiplexer for causing the second multiplexer to supply either the output from said counter or the second count to said output depending upon the state of said second logical output
11. The accumulator as set forth in claim 10 , wherein said improvement further includes:
a third multiplexer coupled to said counter and to a third count for supplying either the output from said counter or the third count to said output;
12. The accumulator as set forth in claim 11 , wherein said multiplexers are connected in cascade to produce a hierarchy of outputs wherein the third multiplexer overrides the second multiplexer and the second multiplexer overrides the first multiplexer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/804,010 US20040174987A1 (en) | 2001-03-09 | 2004-03-19 | Accumulator with variable limits |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/803,551 US7046792B2 (en) | 2001-03-09 | 2001-03-09 | Transmit/receive arbitrator |
US10/804,010 US20040174987A1 (en) | 2001-03-09 | 2004-03-19 | Accumulator with variable limits |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/803,551 Division US7046792B2 (en) | 2001-03-09 | 2001-03-09 | Transmit/receive arbitrator |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040174987A1 true US20040174987A1 (en) | 2004-09-09 |
Family
ID=25186824
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/803,551 Expired - Lifetime US7046792B2 (en) | 2001-03-09 | 2001-03-09 | Transmit/receive arbitrator |
US10/804,010 Abandoned US20040174987A1 (en) | 2001-03-09 | 2004-03-19 | Accumulator with variable limits |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/803,551 Expired - Lifetime US7046792B2 (en) | 2001-03-09 | 2001-03-09 | Transmit/receive arbitrator |
Country Status (3)
Country | Link |
---|---|
US (2) | US7046792B2 (en) |
EP (1) | EP1366615A4 (en) |
WO (1) | WO2002073814A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6987918B1 (en) | 2004-06-24 | 2006-01-17 | Corning Incorporated | Large kappa dispersion compensating fiber and transmission system |
US9780870B1 (en) * | 2014-09-30 | 2017-10-03 | National Technology & Engineering Solutions Of Sandia, Llc | Integrated unaligned resonant modulator tuning |
US9806603B2 (en) | 2013-04-30 | 2017-10-31 | Phoenix Contact Gmbh & Co Kg | Circuit with comparison of input voltage to upper and lower thresholds |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7433462B2 (en) * | 2002-10-31 | 2008-10-07 | Plantronics, Inc | Techniques for improving telephone audio quality |
US7460499B2 (en) * | 2003-01-17 | 2008-12-02 | Texas Instruments Incorporated | Modulation noise estimation mechanism |
US8994587B2 (en) * | 2010-05-14 | 2015-03-31 | Qualcomm Incorporated | Compressed sensing for navigation data |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3557308A (en) * | 1968-03-01 | 1971-01-19 | Gen Dynamics Corp | Data synchronizing system |
US3652838A (en) * | 1970-03-02 | 1972-03-28 | Edac Co | Demand automated computer |
US3984663A (en) * | 1974-12-18 | 1976-10-05 | General Motors Corporation | Signal maximum or minimum seeking circuit |
US4808988A (en) * | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US5325341A (en) * | 1992-08-31 | 1994-06-28 | Motorola, Inc. | Digital timer apparatus and method |
US6359466B1 (en) * | 1997-09-16 | 2002-03-19 | Vantis Corporation | Circuitry to provide fast carry |
US6424925B1 (en) * | 1999-08-31 | 2002-07-23 | Integrated Telecom Express, Inc. | Circuit and method for detecting a tone signal |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4501003A (en) * | 1982-07-16 | 1985-02-19 | At&T Bell Laboratories | Dial pulse measurement circuitry |
CA1233925A (en) | 1985-05-10 | 1988-03-08 | Gordon J. Reesor | Digital loudspeaking telephone |
US4879745A (en) * | 1988-10-12 | 1989-11-07 | Ibm Corporation | Half-duplex speakerphone |
JPH04363918A (en) * | 1991-06-11 | 1992-12-16 | Toshiba Corp | Telephone system |
AU659842B2 (en) * | 1991-06-13 | 1995-06-01 | Nec Corporation | Method and arrangement of echo elimination in digital telecommunications system |
DE4119963A1 (en) | 1991-06-18 | 1992-12-24 | Philips Patentverwaltung | Echo compensator |
US5307198A (en) * | 1993-05-25 | 1994-04-26 | Polaroid Corp. | Scanner with combined predictive and diffractive feedback control of beam position |
US5692042A (en) | 1995-05-31 | 1997-11-25 | Casio Phonemate, Inc. | Speakerphone controlled by a comparator with hysteresis |
US5598466A (en) | 1995-08-28 | 1997-01-28 | Intel Corporation | Voice activity detector for half-duplex audio communication system |
US5668794A (en) * | 1995-09-29 | 1997-09-16 | Crystal Semiconductor | Variable gain echo suppressor |
US5764753A (en) * | 1995-09-29 | 1998-06-09 | Crystal Semiconductor Corp. | Half-duplex controller |
US5684861A (en) * | 1995-12-04 | 1997-11-04 | Lewis; Walter F. | Apparatus and method for monitoring cellular telephone usage |
US6098109A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Programmable arbitration system for determining priority of the ports of a network switch |
US5867574A (en) | 1997-05-19 | 1999-02-02 | Lucent Technologies Inc. | Voice activity detection system and method |
US6138040A (en) | 1998-07-31 | 2000-10-24 | Motorola, Inc. | Method for suppressing speaker activation in a portable communication device operated in a speakerphone mode |
-
2001
- 2001-03-09 US US09/803,551 patent/US7046792B2/en not_active Expired - Lifetime
-
2002
- 2002-03-06 WO PCT/US2002/006927 patent/WO2002073814A2/en not_active Application Discontinuation
- 2002-03-06 EP EP02723351A patent/EP1366615A4/en not_active Withdrawn
-
2004
- 2004-03-19 US US10/804,010 patent/US20040174987A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3557308A (en) * | 1968-03-01 | 1971-01-19 | Gen Dynamics Corp | Data synchronizing system |
US3652838A (en) * | 1970-03-02 | 1972-03-28 | Edac Co | Demand automated computer |
US3984663A (en) * | 1974-12-18 | 1976-10-05 | General Motors Corporation | Signal maximum or minimum seeking circuit |
US4808988A (en) * | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US5325341A (en) * | 1992-08-31 | 1994-06-28 | Motorola, Inc. | Digital timer apparatus and method |
US6359466B1 (en) * | 1997-09-16 | 2002-03-19 | Vantis Corporation | Circuitry to provide fast carry |
US6424925B1 (en) * | 1999-08-31 | 2002-07-23 | Integrated Telecom Express, Inc. | Circuit and method for detecting a tone signal |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6987918B1 (en) | 2004-06-24 | 2006-01-17 | Corning Incorporated | Large kappa dispersion compensating fiber and transmission system |
US9806603B2 (en) | 2013-04-30 | 2017-10-31 | Phoenix Contact Gmbh & Co Kg | Circuit with comparison of input voltage to upper and lower thresholds |
US9780870B1 (en) * | 2014-09-30 | 2017-10-03 | National Technology & Engineering Solutions Of Sandia, Llc | Integrated unaligned resonant modulator tuning |
Also Published As
Publication number | Publication date |
---|---|
WO2002073814A3 (en) | 2003-02-27 |
EP1366615A4 (en) | 2006-10-11 |
US20020126836A1 (en) | 2002-09-12 |
US7046792B2 (en) | 2006-05-16 |
EP1366615A2 (en) | 2003-12-03 |
WO2002073814A2 (en) | 2002-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4052568A (en) | Digital voice switch | |
US4696041A (en) | Apparatus for detecting an utterance boundary | |
US6807525B1 (en) | SID frame detection with human auditory perception compensation | |
JP4307557B2 (en) | Voice activity detector | |
JPH0243384B2 (en) | ||
CN105118522B (en) | Noise detection method and device | |
WO1996034382A1 (en) | Methods and apparatus for distinguishing speech intervals from noise intervals in audio signals | |
US5103481A (en) | Voice detection apparatus | |
US20180025732A1 (en) | Audio classifier that includes a first processor and a second processor | |
JP2006189907A (en) | A method for detecting speech activity of a signal and a speech signal coder including an apparatus for performing the method | |
US7046792B2 (en) | Transmit/receive arbitrator | |
US5970447A (en) | Detection of tonal signals | |
GB2347252A (en) | Voice recognition system | |
US6535844B1 (en) | Method of detecting silence in a packetized voice stream | |
EP1229517B1 (en) | Method for recognizing speech with noise-dependent variance normalization | |
US6754337B2 (en) | Telephone having four VAD circuits | |
US6847930B2 (en) | Analog voice activity detector for telephone | |
JP4551817B2 (en) | Noise level estimation method and apparatus | |
JP2002198918A (en) | Adaptive noise level adaptor | |
JP2001166783A (en) | Voice section detecting method | |
JP3244252B2 (en) | Background noise average level prediction method and apparatus | |
JP3255077B2 (en) | Phone | |
JPH01502779A (en) | Adaptive multivariate estimator | |
US20030142831A1 (en) | Voice activity detector for telephone | |
JPH03241400A (en) | voice detector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: EXPRESSLY ABANDONED -- DURING EXAMINATION |