All About DTMF (Voice) Falsing By Steve Strobel, KC7HXB steve@link-comm.com http://www.link-comm.com/faq/dtmf_voice_falsing.txt Last revised 5-23-01 OVERVIEW This file discusses what DTMF voice falsing is, how to tell if it is happening, what causes it, what can be done to reduce it, and how to minimize its effects when it does happen. This information may be helpful to anyone who uses equipment with DTMF decoders, but has specific information about the Teltone M8870 and M8888 decoders and Link Communications, Inc. repeater controllers (used for radio communications). WHAT IS FALSING? DTMF decoders work by "listening" for a combination of two tones at the same time. When they detect a valid combination of tone frequencies for a long enough time, they signal that a DTMF digit has been detected. For example, a DTMF '1' is indicated by the simultaneous presence of 697Hz and 1209Hz sine waves for a minimum period of time, often 40mS. Sometimes a DTMF decoder will signal that it has detected a DTMF digit when someone is talking and no DTMF digits are being intentionally generated, This happens because the audio reaching the DTMF decoder "sounds like" a DTMF digit to the decoder. If the voice contains 697Hz and 1209Hz tones for a long enough time, the decoder will "think" it is hearing a DTMF '1'. That is called "DTMF falsing" or "voice falsing", because a voice causes the decoder to falsely indicate that a DTMF digit was detected. Voices are more likely to causing falsing when they are loud, distorted, or high-pitched (female voices cause falsing more easily). IS FALSING THE PROBLEM? Repeater controllers often do several things in response to detected DTMF digits that are wanted when DTMF tones are intentionally being entered, but undesirable when they happen as a result of voice falsing. Some of those symptoms can also be caused by other problems, so the existence of one symptom may not necessarily indicate voice falsing. Turning those repeater controller features on and off and observing whether the symptom goes away may help determine whether voice falsing is the cause of the symptom. A controller's DTMF mute feature allows it to mute the repeated audio when a DTMF digit is detected (and for a short time afterward). This makes the repeater output more pleasant to listen to when DTMF tones are being entered (DTMF tones are sometimes used to send commands to the repeater controller) and makes it less likely that the DTMF codes used to execute those commands will be recorded by someone that could later use them without the knowledge of the repeater owner. If a person's voice falses the DTMF decoder and the DTMF mute feature is enabled, it will cause their voice to be muted for a second or two, after which they will be heard normally. The person speaking will probably not know that their audio has been muted. On repeater systems that use a subaudible tone (sometimes called PL, CTCSS, DPL, or DCS) to open the repeater's squelch, a person's voice can be muted when they speak loudly enough to mask the presence of that subaudible tone ("talking off" the subaudible tone). This problem is unrelated to DTMF falsing, but can be confused with it because both problems cause the same symptom (the user's voice being muted). Changing the repeater to carrier access (so it ignores the subaudible tone) for testing will eliminate this as a possibility. Some repeater controllers can send a "cover tone" (just a sequence of beeps) whenever DTMF tones are being detected and muted. This cover tone indicates to anyone monitoring the repeater that DTMF tones are being detected (so they don't wonder why the repeater is transmitting but no audio is being heard). Since cover tones are not sent when someone "talks off" the subaudible tone, enabling this feature at least while troubleshooting can be helpful. If a repeater controller is not set up to mute DTMF tones, there may not be any immediate indication that its DTMF decoder has been falsed, but it may send error messages a few seconds later or when the user unkeys their radio. This can be caused by the repeater controller attempting to match the (falsely) decoded DTMF digits with its list of valid DTMF codes. There is more information about avoiding this in the "HOW TO REDUCE ANNOYANCE WHEN FALSING HAPPENS" section below. WHAT CAUSES FALSING? As mentioned earlier, DTMF decoders work by looking for certain combinations of audio frequencies. Anything that causes those frequencies to be present can contribute to falsing. Some DTMF decoders are more likely to false than others, but all DTMF decoders can be falsed if they "hear" a valid combination of tones. One avoidable problem is distortion. Anything that distorts a user's voice will increase the amount of harmonics, even if it is not "flat topping" or even audibly distorted. Most of the energy in most voices is below the frequencies that DTMF digits use, but any harmonics are likely to be in the right frequency range to cause falsing. If the audio level driving the DTMF decoder is too high, it seems to contribute to falsing problems. I don't know if this is because it causes distortion or if even a clean signal is more likely to false at higher levels. The Teltone M8870 does a good job decoding at low audio levels, so feeding it less signal shouldn't normally be a problem. Some people's voices are much more likely to cause falsing than others, because the audio frequencies (or their harmonics) that are most prominent in their voice are close to the DTMF tone frequencies. Some people think that their voices are the problem when it is actually the radio they usually use (mike gain set to high or otherwise distorted) or how close they hold the mike to their mouth. HOW TO REDUCE FALSING To reduce falsing problems, start by checking the audio levels. With Link Communications, Inc. repeater controllers, there is a test point (see Chapter 1 in the manual) after the first audio buffer amp for this purpose. The audio level at the test point should be 1 volt peak to peak when the receiver is receiving a test signal with a 1KHz audio tone deviated at 3KHz (for narrow band FM systems, 60% of max deviation otherwise). Note that 1Vp-p is 0.35Vrms for a sine wave; don't adjust to 1Vrms!!! As long as nothing is distorting, the audio level out of the receiver into the controller and out of the controller into the repeater transmitter aren't especially important as long as the test point discussed above has the right level and the transmitter is set to repeat signals with the same deviation they are received at (you should hear the same volume listening to the repeater input or output frequency). An oscilloscope may allow you to see distortion that you can't hear. High-level (loud) input signals can cause "flat topping". Even low-level signals can have crossover distortion (jaggies as they cross the center level). Other types of distortion may not be apparent on an oscilloscope even if they exist. If you get flat tops, try reducing the level out of the audio source and increasing the gain in the later stages if necessary to make up for it. If only a small percentage of users have consistent trouble with voice falsing, they are probably transmitting a distorted signal. If possible, try turning down their mike gain so they don't drive their radio's modulator into limiting (which adds distortion). If you can't adjust their radios, encourage those users to hold their mike further from their mouths (the increased clarity will make up for any loss in volume). If you have done the above steps and still have more than occasional voice falsing, you can modify the DTMF decoder circuit to further reduce the chance of flasing. Note, however, that the following modifications come at a price, reducing the performance of the DTMF decoder in some other way. The most common modifications to the DTMF decoder circuit increase the time that the tone frequencies have to be present for the decoder to consider the DTMF tone to be valid. This can be accomplished by increasing the value of either a resistor or a capacitor. Many years ago we used 300K resistors and 0.1uF caps. Several years ago we switched to 470K resistors, which still allow the decoder to work fast enough (42..46mS) to keep up with most autodialers. The resistor size can be further increased to about 680K before the decoder quits working at all, but it will probably not work with autodialers. Instead of replacing the resistor, some people have connected another 0.1uF capacitor in parallel with the existing one (caps in parallel add in value), which similarly increases the decode time. An alternative to increasing the decode time is to shorten the time it takes the decoder to reset itself between digits. This helps avoid falsing because voices typically false DTMF decoders in several short bursts which have a combined effect large enough to make the decoder consider them a single valid digit. Shortening the "tone absent" time makes the decoder reset itself more quickly between these short bursts, making it less likely that their combined effect will cause the decoder to false. The tone absent time can be shortened by connecting a diode (1n4148 or other small-signal diode) and resistor (typically 220K) in series with each other, then connecting that combination in parallel with the existing 470K resistor with the diode's cathode toward pin 16 of the M8870 (pin 18 of the M8888, away from the capacitor). For more infomation, see the instructions for reducing GTA starting on page two of the Teltone M8870 data sheet found at ftp://ftp.teltone.com/pub/8870.pdf. The resistor discussed above is the one between the pins shown below, the capacitor between ground and the pin shown: Resistor Capacitor M8870 16 and 17 17 and ground M8888 18 and 19 19 and ground The resistor and capacitors labels on repeater controllers (some have multiple decoders) are: Resistor Capacitor Notes RLC-1 R6 C30 (through-hole version, rev D,E) RLC-1 R58 C31 (surface mount version, rev F) RLC-2 R58 C81 (serial numbers below 150) RLC-2a R58 C81 (serial numbers 150 and above) RLC-3 R12 C11 (through-hole radio cards) RLC-3 R47 C42 (surface mount radio cards) RLC-4 R1,R3,R5,R7 C1,C3,C5,C9 (four decoders) RLC-5 R5,R6,R7 C5,C6,C7 (three decoders) RLC-Club R14,R15 C7,C9 (main board, repeater and patch) Club Deluxe R19 C7 (RLC-Club deluxe board) RLC-Ang R10 C19 If you don't have good equipment for de-soldering parts, you may want to clip the old parts out as close to the component as possible, then solder the new parts to the old leads. That will minimize the chance of damaging the circuit board. THINGS I HAVEN'T TRIED BUT COULD HELP: Reducing the resistor value between pins 2 and 3 of either the M8870 or M8888 should effectively reduce the audio level feeding the decode circuit (the level can be measured at pin 3). In an extreme case, an audio filter could be installed before the decoder that would reduce the amplitude of audio outside the range of the DTMF tones. The Teltone data book discusses some of the options. I have heard that when voices false DTMF decoders in several short bursts, that the bursts are often not all the same tone combination. In other words, a short burst of DTMF '1' followed by a short burst of DTMF '5' then a short burst of DTMF '3' might be enough to make the decoder think it has a valid digit. In that case, I think it would report that it decoded a '3' (the last valid tone combination). It may not be practical for a hardware DTMF decoder, but a DSP-based decoder could use a separate timing circuit for each DTMF digit, so short bursts of different tone combinations wouldn't combine to appear as a valid digit. It might be possible to do something similar with a typical microprocessor by using the M8870 to look for the valid tone combinations, but either using the early steering signal or setting the decode time to be really short and keeping track of the timing of each digit in software. HOW TO REDUCE ANNOYANCE WHEN FALSING HAPPENS Despite your best efforts, you will probably experience voice falsing once in a while. There are several things you can do to make it less noticeable when it happens. If you have an audio delay module, it can't keep the DTMF decoder from falsing but the delay can make it less noticeable when the decoder does false. Try setting your DTMF mute timer really short, like 50mS (as short as you can without hearing the DTMF digit on the repeater output when you press or release the digit). Then when the decoder does false, it will mute your audio for a really short time, rather than a couple of seconds (the default length of that timer, which is desirable when you don't have an audio delay module). Because of the delay, you shouldn't hear any part of the DTMF digits on the repeater output even with the very short timer value like you would without the delay. If you turn the DTMF cover tone off, the little gap in the audio when the decoder falses will be barely noticeable. For a more details about the audio delay modules, see "http://www.link-comm.com/faq/audio_delay.txt". Even if you don't have an audio delay module, shortening the DTMF mute timer shorter and turning the cover tone off will make falsing less annoying. If you shorten the DTMF mute timer too much, you will hear the beginning of each DTMF digit on the repeater output before the mute kicks in. If you turn the DTMF mute off completely, you don't have to worry about voice falsing at all (except for accidently executing commands, see below). If someone's voice does false the decoder but nothing happens, no one will know. Sometimes a repeater controller will send an error message when it receives DTMF digits that don't match any of its control codes. Usually those error messages can be disabled. Even if you don't get error messages, you may want to make most of your DTMF control codes at least two digits (preferably different digits, like "12" rather than "11") to avoid the possibility of them being executed because of digits decoded by voice falsing. Making most commands inaccessible by using DTMF execution masks, passwords, etc. will eliminate the possibility of them be executed either by accidental falsing or intentional mischief. Some controllers have a "DTMF interdigit timer" that keeps track of how long it has been since the last digit was entered. If the associated "timed execution" feature is turned on, commands can be executed by entering the DTMF tones and waiting until the interdigit timer expires. Since that is not usually needed when executing commands from a radio (because unkeying triggers the command execution), timed execution can be turned off. With timed execution turned off, if DTMF digits are decoded but the user doesn't unkey before the interdigit timer expires, the digits are discarded. This is often the case with voice falsing; a false digit is detected and the user keeps talking for at least a few seconds more, after which that digit could be discarded to prevent any chance of it causing a problem. By keeping the DTMF interdigit timer short (two or three seconds) and timed execution turned off, the chances of falsely decoded digits causing a command to be executed or error message to be generated is minimized. Some repeater controllers have other software features to make falsing less annoying. The RLC-2 has a "DTMF voice falsing timer" that prevents the controller from muting the audio and starting a cover tone for 50mS or so after a DTMF digit (or voice false) is detected. Other possiblities include not starting the cover tone until a second DTMF tone is received within a certain period of time and canceling the mute immediately (rather than waiting for the DTMF interdigit timer) if the first digit decoded is really short (probably caused by falsing). CONCLUSION DTMF falsing cannot be eliminated completely, but it can be minimized by eliminating possible sources of distortion. It can be further minimized by modifying the DTMF decoder circuit, at the expense of other DTMF decoder characteristics such as decode time. Finally, the undesirable results of DTMF falsing can be minimized in a variety of ways.