Searching \ for 'DTMF decoding' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/pots/dtmf.htm?key=dtmf
Search entire site for: 'DTMF decoding'.

Truncated match.
PICList Thread
'DTMF decoding'
1996\05\27@180343 by Mark K Sullivan

flavicon
face
I've always wanted to try DTMF decode in PIC software but never have.

You don't need to detect a combination of ANY two frequencies.  Just one from
the high group and one from the low group.  You can save some filtering if you
will filter the input signal into a low group and a high group and then count
the frequency (or measure the period) of the bandsplit components.  You could
also auto-correlate the bandsplit components for more noise immunity but I
think I'd want one of the PICs with a hardware multiply for that technique.

Before you go to all of this trouble, are you sure an A/D is cheaper than a
dedicated DTMF decoder?  I have used the Mitel/Teltone 8870 successfully in the
past.  It takes a color burst crystal which can also be the PIC clock and only a
pair of resistors.

- Mark Sullivan -

1996\05\28@070355 by nogueira

flavicon
face
Mark K Sullivan wrote:
> Before you go to all of this trouble, are you sure an A/D is cheaper than a
> dedicated DTMF decoder?  I have used the Mitel/Teltone 8870 successfully in
the
> past.  It takes a color burst crystal which can also be the PIC clock and only
a
> pair of resistors.
>
> - Mark Sullivan -

Thank you for your ideas Mark, but I don't want to use a dedicated IC, I just
know that this can be done with
the 16C61 and I want to know how.

Octavio


'DTMF decoding'
1996\06\14@113152 by David Schmidt
flavicon
face
I think the phone spec is at least 50mS tone on time and
a 50mS tone off time.  200mS is too long.
  Dedicated chips for DTMF decoding are usually in the
40mS on/40mS spacing value.
Dave

>>The tone is detected within about 150ms (I don't know the complete
>>spec, but I think tones are supposed to last for at least 200ms).


'DTMF decoding'
1996\10\02@175856 by Walter Banks
picon face
Dmitry Kiryashov wrote:
>
> 1) Does anybody write real-time DTMF
>     decoder's code (algorithm, theoretical principle) for PIC16CXX
> devices ?
>
> 2) The same question about little size real time
>     kernel (mini multitasker) for PIC16CXX ?
>
> Sorry if my questions are offtopic .
>
> Dmitry.

The problem in DTMF is decoding. One way or another you need to determine
the energy in either 7 or 8 frequency bands and then identify which
frequency in each of the two groups is dominate. There are lots of ways
that this has been attempted. (FFT, special hardware filters). The
problem of doing it in a micro like the PIC16cxx in software and meet the
decoding requirements is the need for a significant number of samples and
limited time to process them DTMF tones can be as short as 20ms. The
major software problem is the need to do signed multiplies in most of the
algothrims that I have seen.

Walter Banks
HTTP://http://www.bytecraft.com

1996\10\02@185709 by Chuck McManis

flavicon
face
Walter banks wrote:

> The problem in DTMF is decoding. One way or another you need to determine
> the energy in either 7 or 8 frequency bands and then identify which
> frequency in each of the two groups is dominate.


Here is an idea, maybe you can cheat ....

       Digitize a single bit at exactly
double the highest frequency using the output of a zero crossing detector. The
resulting bit stream is relatively short (for a 20mS sample) and given the
spacing
of the two tones, it should produce unique bit patterns for each tone pair.

--Chuck

If you get this to work I want 10% of the gross :-)

1996\10\02@200254 by Scott Dattalo

face
flavicon
face
Chuck McManis wrote:
>
>         Digitize a single bit at exactly
> double the highest frequency using the output of a zero crossing detector. The
> resulting bit stream is relatively short (for a 20mS sample) and given the
>  spacing
> of the two tones, it should produce unique bit patterns for each tone pair.
>
> --Chuck
>
> If you get this to work I want 10% of the gross :-)

Slow down, Chuck! You're not the only one to have this idea. John Payson
posted
something similar a few months back. Steve Hardy and I also had a
similar
discussion about the same time.

If you (or anyone else) want a copy of a MATLAB program plus some theory
on
this subject, then drop me a line. (I wouldn't think of wasting valuable
PIC-List bandwidth for something not related to PICs...)


Scott

PS: I will be 300 +/- 10 miles away from my computer between Friday and
Monday, PST.

1996\10\10@180456 by Dmitry Kiryashov

flavicon
face
Scott Dattalo wrote:
>
> Chuck McManis wrote:
> >         Digitize a single bit at exactly double the highest frequency using
the
output of a zero crossing detector. The resulting bit stream is
relatively short (for
a 20mS sample) and given the spacing of the two tones, it should produce
unique bit
patterns for each tone pair.
> > --Chuck

>
> Slow down, Chuck! You're not the only one to have this idea. John Payson
posted
> something similar a few months back. Steve Hardy and I also had a similar
> discussion about the same time.
> If you (or anyone else) want a copy of a MATLAB program plus some theory
                                          ^^^^^^^^^^^^^^

> on this subject, then drop me a line. (I wouldn't think of wasting valuable
> PIC-List bandwidth for something not related to PICs...)
> Scott

Good morning\day\evening Scott ;)

Would you be so kind to send me MATLAB program talking above ?
I'm still trying to go throw enormous difficulties with detecting DTMF
and another like DTMF signals from one bit comparator's output ;)
I think you program example will be so helpful.

WBW Dmitry.

1996\10\10@183452 by Chuck McManis

flavicon
face
There is an interesting twist to the DTMF decoding puzzle that makes my
original idea unsound. Basically I hadn't included the phase of the waves in
my analysis.

In a nutshell, my idea was to sample the zero crossings of the combined
sine waves to extract a relatively unique bit pattern sequence for each tone.
This appeared clever at first but in doing the analysis it became clear that
if the phases of the two waves were allowed to move relative to one another,
there are infact quite a few bit pattern combinations that appear legally.

To make the zero crossing detector solution somewhat easier, the system
needs to first split the tones using a highpass and a lowpass filter, then the
low tones and high tones are sampled independently through a zero crossing
detector, and then *those* bit patterns are unique, caveat noise in the
system.

--Chuck

1996\10\10@191852 by Scott Dattalo

face
flavicon
face
Dmitry Kiryashov wrote:
>
>
> Good morning\day\evening Scott ;)
>
> Would you be so kind to send me MATLAB program talking above ?
> I'm still trying to go throw enormous difficulties with detecting DTMF
> and another like DTMF signals from one bit comparator's output ;)
> I think you program example will be so helpful.
>

The recent discussion of DTMF has rekindled my interest. In my spare
time, I've been working on a MATLAB program that does:

1) Plots all 16 DTMF signals
2) Superimposes the "digitized wave form" (A square wave that is high
if the dtmf signal is positive and low when its negative).
3) Measure the time between zero-crossings.


I plan to add to this program:

1) The ability to vary the phase of the DTMF signals
2) The ability to vary the relative amplitude of the DTMF signals
3) The ability to add noise
4) And the biggy, decode the DTMF signal

Perhaps Monday (notice I didn't specify which Monday) I'll have the
results.



and also,
Chuck McManis wrote:
{Quote hidden}

Actually Chuck, I think this is problem that can be solved without
resorting
to analog filters. It is true that the phase between the sine waves will
vary and this will likewise cause the zero crossing points to wiggle
around.
However IMO I think you can look at say 10 or 20 milliseconds worth of
zero crossing information and still extract the high and low tones. Stay
tuned.


Scott


PS. PIC.

1996\10\10@204743 by Walter Banks

picon face
Scott Dattalo wrote:
I've seen a lot of DTMF decoding  scheme's over the last 10 years or so
it basically boils down to measuring energy at a 12 or 16 frequencies and
picking out the most likely pairs. Every other scheme that I have seen
has a fatal flaw.

Walter Banks
http://www.bytecraft.com

1996\10\10@233943 by Jeff Otterson/N1KDO

picon face
At 08:26 PM 10/10/96 -0700, Walter Banks  wrote:
>I've seen a lot of DTMF decoding  scheme's over the last 10 years or so
>it basically boils down to measuring energy at a 12 or 16 frequencies and
>picking out the most likely pairs. Every other scheme that I have seen
>has a fatal flaw.
>
 Some DTMF decoder parts (hardware, not software) separate the "high" and
"low" groups, often with switched capacitor filters, then count cycles to
decode the DTMF.  This is how some of the more "modern" parts, such as the
Mitel/Teltone M8870 work.  Older parts used 8 single-frequency bandpass filters.

 For whatever application somebody wanted to make a PIC decode touch-tone,
let me suggest investigating the Motorola 68HC05F5, which has an on-chip
DTMF decoder, in a 40 pin DIP.  Thie big problem with this device is that it
has ROM as opposed to PROM, making programming hobbiest quantities a bit of
a problem.

 I have had good results interfacing the M8870 into a PIC.  You can even
slave the PIC clock off of the 3.58 MHz oscillator in the M8870.  use about
30pf from the osc out of the m8870 right into the osc in of the pic.

Jeff
Jeff Otterson
-------------
spam_OUTottersonTakeThisOuTspammindspring.com
Maker and user of tools
PGP key available at http://www.mindspring.com/~otterson/pgp.htm


'DTMF decoding'
1997\09\09@230243 by Alex Melven
picon face
Hello all!

There is so much examples of DTMF encoding! Could enybody give me an
example of DTMF decoding. I need it very much. I will decode it using
ADC of 16c73.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

1997\09\10@105130 by Pierce Nichols

flavicon
face
On Tue, 9 Sep 1997, Alex Melven wrote:

>  Hello all!
>
>  There is so much examples of DTMF encoding! Could enybody give me an
> example of DTMF decoding. I need it very much. I will decode it using
> ADC of 16c73.

       Well, it's just a pair of tones, so you should just be able to do
a FFT to get those tones out of the incoming signal.

       Pierce Nichols

1997\09\10@124516 by mikesmith_oz

flavicon
face
On 10 Sep 97 at 10:31, Pierce Nichols wrote:

> On Tue, 9 Sep 1997, Alex Melven wrote:
>
> >  Hello all!
> >
> >  There is so much examples of DTMF encoding! Could enybody give me an
> > example of DTMF decoding. I need it very much. I will decode it using
> > ADC of 16c73.
>
>         Well, it's just a pair of tones, so you should just be able
>         to do
> a FFT to get those tones out of the incoming signal.
>

Somewhat difficult on the average PIC, these FFT's!
MikeS
<mikesmith_oz@nosp*m.relaymail.net>
(remove the you know what before replying)

1997\09\10@125605 by sdattalo

face
flavicon
face
Pierce Nichols wrote:
>
> On Tue, 9 Sep 1997, Alex Melven wrote:
>
> >  Hello all!
> >
> >  There is so much examples of DTMF encoding! Could enybody give me an
> > example of DTMF decoding. I need it very much. I will decode it using
> > ADC of 16c73.
>
>         Well, it's just a pair of tones, so you should just be able to do
> a FFT to get those tones out of the incoming signal.

An FFT generates too much information, requires too much RAM, and
cannot efficiently decode all of the non-harmonically related DTMF
tones. 8 simultaneously running Goertzel algorithms centered over
the 8 DTMF tones is much better. Isn't this how Steve Hardy implemented
his DTMF decoder?

The ADC will make decoding easier. However, if you are concerned
with cost then check out some theory on a 1-bit A/D converter
DTMF decoder:

http://www.interstice.com/~sdattalo/technical/theory/dtmf.html

If you are not concerned with cost, then any one of the many
DTMF decoding IC's will make your job much easier.

Scott

1997\09\10@140822 by Pierce Nichols

flavicon
face
On Thu, 11 Sep 1997, Mike Smith wrote:
>
> Somewhat difficult on the average PIC, these FFT's!

       Well, there's always the ever-popular look-up table. I also
thought of another one that is a little less processor intensive. It is
still a raw idea, but bear with me:

       The DTMF tones are on the scale of one kHz -- no problem for the
average PIC to sample accurately. You put a filter with its passband
straddling the DTMF range right in front of the ADC input. You then count
the period between maximum peaks (i.e., when the two tones are in phase)
to bring out the beat frequency, which should tell you which tone-pair is
on the line, because the tones were selected by bell labs so that their
beat frequencies are all different. You stick that into a lookup table and
read off the hex digit. As I said, it's off the cuff, but it ought to
work. OTH, a DTMF decoder chip is very cheap, and they generally have a
4-bit parallel interface.

       Pierce

1997\09\10@142704 by Martin R. Green

picon face
Actually, I thought the frequencies were chosen so no two DTMF frequencies
are harmonically related.  Are you sure the beat frequencies are always
different?  If so, it should be relatively easy to LPF your input (not BPF
around the DTMF frequencies) so you get ONLY the beat, and check the
frequency of that instead, as you suggest.  Of course, by using only one
frequency, you run the risk of noise artificially triggering your decoder.


CIAO - Martin R. green
.....elimarKILLspamspam@spam@bigfoot.com

----------
From:   Pierce Nichols[SMTP:pn30spamKILLspamCOLUMBIA.EDU]
Sent:   Wednesday, September 10, 1997 2:04 PM
To:     .....PICLISTKILLspamspam.....mitvma.mit.edu
Subject:        Re: DTMF decoding

On Thu, 11 Sep 1997, Mike Smith wrote:
>
> Somewhat difficult on the average PIC, these FFT's!

       Well, there's always the ever-popular look-up table. I also
thought of another one that is a little less processor intensive. It is
still a raw idea, but bear with me:

       The DTMF tones are on the scale of one kHz -- no problem for the
average PIC to sample accurately. You put a filter with its passband
straddling the DTMF range right in front of the ADC input. You then count
the period between maximum peaks (i.e., when the two tones are in phase)
to bring out the beat frequency, which should tell you which tone-pair is
on the line, because the tones were selected by bell labs so that their
beat frequencies are all different. You stick that into a lookup table and
read off the hex digit. As I said, it's off the cuff, but it ought to
work. OTH, a DTMF decoder chip is very cheap, and they generally have a
4-bit parallel interface.

       Pierce

1997\09\10@142710 by Pierce Nichols

flavicon
face
On Thu, 11 Sep 1997, Mike Smith wrote:

> Dids't you mean this to go to PICLIST  it went direct to me.  (seems
> to happen to me when I don't want it to sometimes...)

       Yup, I meant it for the list, so I am sending the whole kit and
kaboodle to the list -- my original, your reply, and my reply to that.

{Quote hidden}

       In this case, I don't think it would matter because a PIC is
*light years* faster than DTMF tones, which max out at about 10 tones/sec.
You are right in general of course.

{Quote hidden}

       DTMF decoders are cheaper than most PICs, I think, but I am not
sure. Doing it with a PIC is awfully klugey, but it might be a fun thing
to try...

       Pierce

1997\09\10@160638 by Harold Hallikainen

picon face
On Wed, 10 Sep 1997 14:18:36 -0400 "Martin R. Green" <EraseMEelimarspam_OUTspamTakeThisOuTBIGFOOT.COM>
writes:
>Actually, I thought the frequencies were chosen so no two DTMF
>frequencies
>are harmonically related.  Are you sure the beat frequencies are
>always
>different?  If so, it should be relatively easy to LPF your input (not
>BPF
>around the DTMF frequencies) so you get ONLY the beat, and check the
>frequency of that instead, as you suggest.  Of course, by using only
>one
>frequency, you run the risk of noise artificially triggering your
>decoder.
>


       But the beat isn't present unless there is some nonlinearity to
cause intermod distortion.  If I take, for example, 1 KHz and 900 Hz,
linearly combine them and run them into an ideal LPF with a cutoff of 500
Hz, nothing will come out.
       Of course, we HEAR a "beat" because the waveform LOOKS very
similar to a 950 Hz carrier with double sideband suppressed carrier
modulation of 50 Hz, throwing sidebands out +/- 50 Hz (of course these
uncorrelated signals don't have the proper phase relationship to be
DSBSC, but our ear doesn't seem to know).  Looking at the envelope of a
DSBSC signal, we have what appears to be a full-wave rectified copy of
the modulation (with a carrier phase reversal at the zero crossing).
This "full wave rectified" envelope has a lot of second harmonic content,
and no fundamental (the original 50 Hz), so, we hear 950 Hz that seems to
be varying in amplitude by 100 Hz (severly distorted 50 Hz).  If we look
at it on a spectrum analyzer, however, only 900 Hz and 1 KHz are really
present, unless we introduce some nonlinearity.  Once we introduce
nonlinearity, lots of frequencies are present! (due to intermod and
harmonic generation).

Harold

1997\09\10@163629 by Tim Kerby

picon face
Take a look at this page.  I know it is for semi-illegal use but the
circuitry looks great.

http://www.geocities.com/ResearchTriangle/8277/


Tim


------------------------------------------------------------------
Personal Web Pages: http://web.ukonline.co.uk/members/tim.kerby/
Email: tim.kerbyspamspam_OUTukonline.co.uk
------------------------------------------------------------------

1997\09\10@163636 by Pierce Nichols

flavicon
face
On Wed, 10 Sep 1997, Martin R. Green wrote:

> Actually, I thought the frequencies were chosen so no two DTMF frequencies
> are harmonically related.  Are you sure the beat frequencies are always
> different?  If so, it should be relatively easy to LPF your input (not BPF

       The first statement (I believe) implies the second. At any rate,
the beat frequencies are always different (the math to demonstrate that is
relatively simple -- anyone here should be able to do it).

> around the DTMF frequencies) so you get ONLY the beat, and check the
> frequency of that instead, as you suggest.  Of course, by using only one
> frequency, you run the risk of noise artificially triggering your decoder.

       You can deal with the noise problem by measuring the beat
frequency over several cycles -- the DTMF spec also supplies a minimum
pulse length, and it's long enough so that the code is extremely robust.

       Pierce Nichols

1997\09\10@171127 by Mike Keitz

picon face
On Wed, 10 Sep 1997 14:26:21 -0400 Pierce Nichols <@spam@pn30KILLspamspamCOLUMBIA.EDU>
writes:

>        DTMF decoders are cheaper than most PICs, I think, but I am
>not
>sure. Doing it with a PIC is awfully klugey, but it might be a fun
>thing
>to try...
>

I've tried the method outlined by Scott Dattalo on his web page.  It does
work, but it requires nearly all the processing power of a 20 MHz PIC in
order to detect any of the 8 tones arbitrarily.  Since I was hoping to
use a 16F84, I abandoned the project.  I could push a 16F84 to 16 MHz but
it definitely wouldn't do 20.  My implementation also needed about 50
bytes of RAM.

It is feasible and may be good for some applications.  Overall I'd
recommend using a decoder chip, especially if the tone input is not going
to be perfectly clean.  Though I only tested the PIC decoder with a
direct connection to a tone telephone, I wouldn't expect it to work very
well with noisy tones.

The method is as follows.  All of the processing can be done in a timer
interrupt at about 15 KHz, so the tone decoder can operate independent of
the main program other than taking a lot of its CPU cycles away.  Each of
the processing steps below is serviced once per interrupt.

Create a local tone at each of the 8 frequencies (4 rows and 4 columns).
I used DDS with 16-bit phase accumulators.  Every interrupt, add a
constant (tone frq * 65536 / interrupt frq) to the accumulator.  The MSB
of the accumulator will be a square wave at the tone frequency.  The MSB
xor the second most-significant bit will be a square wave at the tone
frequency, but quadrature in phase to the MSB (the usefullness of this is
in Scott's description)

Sample the input (1 bit).  I used 3 gates of a 4069 with the first one
biased for linear operation and capacitively coupled to the phone.  This
processes the tone into a square wave suitable for a PIC input.

Exclusive-or the input sample with all the tones, and the quadrature of
all the tones.  If the input contains a signal near the tone frequency,
some of these exclusive-or results will contain a predominance of ones
(or a predominance of zeros if out of phase)

Filter the exclusive-or results.  I used a simple filter which was an 8
bit variable which increased by 1 if the xor was a match, and decreased
by 2 if it didn't.  Half of the filters consider a result of 1 to be a
match, the other half use the same results but call 0 a match.  There are
a total of 32 filters, 4 for each tone.

The main program looks at the filter results, and if any one of the 4
filters for a particular tone is higher than a threshold (I used 32 IIRC)
that tone is present in the input signal.  The filtering needs to be
improved.  Sometimes the tone would drop out periodically.  Lowering the
threshold some to prevent that caused other tones to be falsely detected.

If your application doesn't need to detect all 8 tones simultaneously
then it can be optimized to use a lot less PIC resources by only looking
for one tone at a time.  An example of this would be an answering machine
which listens for it's owner to press 1-2-3-4 to replay any messages
remotely.  The program would look only for the two tones that represent
button #1 at first, if those are detected it would retune for tone 2,
etc.  If no tone in the sequence is detected within a timeout time it
would go back to listening for the first one.  This could be done easily
by running 2 tone generators and 8 filters and changing the DDS constants
depending on which tone is expected.

1997\09\10@172805 by Martin R. Green

picon face
Actually, I don't believe that just because three or more frequencies are
not harmonically related that their beat frequencies will all be different.
At first glance this may _seem_ intuitive, but even a little deeper
consideration hints that there is actually no such relationship.

In fact, I just threw the DTMF frequencies into a simple spreadsheet, and
now I _know_ that the latter doesn't follow from the former

Consider, the DTMF matrix, with beat freqs.:



As you can see, the beat frequency 780 shows up twice, so there goes that
theory.

CIAO - Martin R. Green
KILLspamelimarKILLspamspambigfoot.com

----------
From:   Pierce Nichols[SMTP:RemoveMEpn30TakeThisOuTspamCOLUMBIA.EDU]
Sent:   Wednesday, September 10, 1997 4:21 PM
To:     spamBeGonePICLISTspamBeGonespammitvma.mit.edu
Subject:        Re: DTMF decoding

On Wed, 10 Sep 1997, Martin R. Green wrote:

> Actually, I thought the frequencies were chosen so no two DTMF
frequencies
> are harmonically related.  Are you sure the beat frequencies are always
> different?  If so, it should be relatively easy to LPF your input (not
BPF

       The first statement (I believe) implies the second. At any rate,
the beat frequencies are always different (the math to demonstrate that is
relatively simple -- anyone here should be able to do it).

> around the DTMF frequencies) so you get ONLY the beat, and check the
> frequency of that instead, as you suggest.  Of course, by using only one
> frequency, you run the risk of noise artificially triggering your
decoder.

       You can deal with the noise problem by measuring the beat
frequency over several cycles -- the DTMF spec also supplies a minimum
pulse length, and it's long enough so that the code is extremely robust.

       Pierce Nichols

1997\09\10@174059 by William Chops Westfield

face picon face
Hmm.  How tiny can you make a SW touchtone decoder if you only want to
decode four "buttons" (ie one row or one column of the matrix...)

BillW

1997\09\10@185708 by Alex Melven

picon face
Hello Bill!
>
>Hmm.  How tiny can you make a SW touchtone decoder if you only want to
>decode four "buttons" (ie one row or one column of the matrix...)
>
>BillW
>
Why do you think I want to  decode only four? I need algorythm (I do
not know how to do it) of analysing for sum of two frequencies - not
exactly DTMF, but in my project is also sum of two (table 2  of 6) non
stop frequencies (it is not like DTMF, where after tone going pause).
                  Bye. Alex Melven.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

1997\09\10@191844 by Alex Melven

picon face
Hello Pierce!
>
>        Well, it's just a pair of tones, so you should just be able to
do
>a FFT to get those tones out of the incoming signal.
>
>        Pierce Nichols
>
>
I'm not able yet to do FFT, can't you teach me please?
                  Alex Melven.

______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com

1997\09\10@191850 by William Chops Westfield

face picon face
   >Hmm.  How tiny can you make a SW touchtone decoder if you only want to
   >decode four "buttons" (ie one row or one column of the matrix...)

    Why do you think I want to  decode only four?

I can think of any number of applications for fewer than all 12 (or 16)
separate functions triggerable over a phone line (ie, how many functions
does a typical answering machine really have?)  Traditionally, the approach
is to use an external decoder ("expensive" and does all 16 codes), or to do
a relatively complex SW algorithm (which we just heard can use a substantial
fraction of the available cycles on a PIC.)  A SW function to decode only
four buttons seems like a tradeoff of the sort that might be useful.

BillW

1997\09\10@195400 by sdattalo

face
flavicon
face
William Chops Westfield wrote:
>
> Hmm.  How tiny can you make a SW touchtone decoder if you only want to
> decode four "buttons" (ie one row or one column of the matrix...)
>
> BillW

The smallest versions I could create had these specs:

Single frequency decoder that resolves both quadrants: 7 cycles/sample

Dual tone decoder sampling one of the dual tones (e.g. simultaneously
sample one row and one column) : 27 cycles/sample

DTMF decoder that simultaneously decodes all 8 tones: 84 cycles/sample

Each of these cases includes the over head for the appropriate phase
accumulators too.

Now for 4 buttons in a 2 X 2 matrix, 4 frequencies must be resolved.
My guess is that about 40 to 50 cycles/sample would be needed.

Scott
--
                                __o
 I buy pizza instead of gas.    \<
                             (*)/(*)

1997\09\10@213225 by sdattalo

face
flavicon
face
Pierce Nichols wrote:

>         You can deal with the noise problem by measuring the beat
> frequency over several cycles -- the DTMF spec also supplies a minimum
> pulse length, and it's long enough so that the code is extremely robust.

And in a personal message to William Chops Westfield, I wrote:

As far as the idea of the beat frequencies... some one clearly pointed
out that this will NOT work because the 780Hz beat frequency shows
up for two tone combinations. However, one could possibly do a beat
frequency detection and perhaps the lower half of the DTMF tones.
But even that sucks. Another problem with beat frequency detection
idea is that some of the beat frequencies are higher than some the
DTMF frequencies: e.g. the 697 1633 beat frequency is 934hz. Yet
another problem is that the number of beat frequencies is 4*4 =16
(excluding the redundancies of course) as opposed to the simpler 4 + 4
DTMF tones.

The whole idea of beat frequencies is useful for the error analysis
of the 1-bit A/D converter algorithm though. But it's unfortunately
beyond the scope of this thread, and not to mention beyond the
availability of my time, to describe here. However, one of these
days it will get added to my web page......

Scott

1997\09\11@022843 by : Cassie Carstens

flavicon
face
Hi
I found a piece of software to do DTMF decoding with a PIC.
It was writen by Stephen J Harding from down-under. However he did
confirm that it was never tested but offered his notes concerning
this. Maybe someone can inspire him !!

His addr :               TakeThisOuThardyEraseMEspamspam_OUTsweng.stortek.com

Oh yes. I remember him mentioning that the PIC isn't realy up to it.
Maybe someone can offer him a MX.

Regards
Cassie Carstens

1997\09\12@055909 by Marc 'Nepomuk' Heuler

flavicon
face
Hi Mike (Mike Keitz), in <RemoveME19970910.170134.5150.10.mkeitzspamTakeThisOuTjuno.com> on Sep 10 you
wrote:

> If your application doesn't need to detect all 8 tones simultaneously
> then it can be optimized to use a lot less PIC resources by only looking
> for one tone at a time.  An example of this would be an answering machine
> which listens for it's owner to press 1-2-3-4 to replay any messages
> remotely.

Isn't it possible to hack such an answering machine by generating a
pseudo-DTMF tone with _all_ 8 frequencies at once, and repeat that tone 4
times with pause?


'DTMF decoding'
1999\05\19@032937 by Norman Gillaspie
flavicon
face
A while back there was some interest in DTMF decoding

I found the following URL

http://www.interstice.com/~sdattalo/technical/theory/dtmf.html

This may be of interest.

Norman


PCS Engineering
Norman Gillaspie
325M Sharon Park Dr. #210
Menlo park, Ca. 94025
Tel 650-854-5263
Fax 650-854-5445
Email normanEraseMEspam.....pcseng.com


'DTMF decoding'
2000\05\17@005127 by vrf.craig
flavicon
face
Who has a circuit for a simple DTMF decoder?
I need to decode what the user types on a normal telephone pad in touch tone mode.  Also, for good measure, anybody got a pulse decoder as well?

Thanks!
 {Original Message removed}

2000\05\17@011226 by David Huisman

flavicon
face
Teltone produce a range of DTMF decoders that give the 4 data bits and a
"Valid Transmission output". You simply poll VT till it goes low (or hook it
into interrupt pin), then read the 4 bits for that digit. Just one thing to
watch, "0" is read as "1010" (10).

The chip is MV8870. The site is http://www.teltone.com

Regards
David Huisman
http://www.orbitcoms.com

2000\05\17@013121 by vrf.craig

flavicon
face
Man that was fast!  I've checked them out... How about the M-957 ?

Also, can you throw at me a circuit that has off hook, on hook detection, and DTMF decoding?  Simple stuff, just don't want to reinvent the wheel.

Thanks!
Craig
 {Original Message removed}

2000\05\17@025854 by David Huisman

flavicon
face
Craig,

I assume you are not connecting to Telecom network as you need to build your
circuit to meet their approvals. We have commercial products that connect to
the phone network that are approved but cannot give you circuit details of
these.

If you simply wish to use a touch-tone phone as a DTMF source then the
simple circuit described below should suffice.

1) Put a 330R resistor in series with a 12V power supply to one input of the
phone terminals(pin 5 or 2 on the BT plug).

2) Put another 330R resistor from the remaining phone terminal to ground.

3) Put a capacitor between each terminal (5,2) to your 8870 device.

This now gives you a balanced output , 600 Ohm impedance and 12V supply for
the phone. You should hear the tones in the hand piece if it is working, if
not... try reversing connections to pins 5 and 2. (Usually these are RED and
White)

Regards
David Huisman
Orbit Communications
http://www.orbitcoms.com
NSW
Australia

2000\05\17@032616 by vrf.craig

flavicon
face
Thanks!  Do you do custom work for a fee?

 ----- Original Message -----
 From: David Huisman
 To: EraseMEPICLISTspamMITVMA.MIT.EDU
 Sent: Tuesday, May 16, 2000 11:44 PM
 Subject: Re: DTMF decoding


 Craig,

 I assume you are not connecting to Telecom network as you need to build your
 circuit to meet their approvals. We have commercial products that connect to
 the phone network that are approved but cannot give you circuit details of
 these.

 If you simply wish to use a touch-tone phone as a DTMF source then the
 simple circuit described below should suffice.

 1) Put a 330R resistor in series with a 12V power supply to one input of the
 phone terminals(pin 5 or 2 on the BT plug).

 2) Put another 330R resistor from the remaining phone terminal to ground.

 3) Put a capacitor between each terminal (5,2) to your 8870 device.

 This now gives you a balanced output , 600 Ohm impedance and 12V supply for
 the phone. You should hear the tones in the hand piece if it is working, if
 not... try reversing connections to pins 5 and 2. (Usually these are RED and
 White)

 Regards
 David Huisman
 Orbit Communications
 http://www.orbitcoms.com
 NSW
 Australia

2000\05\17@190014 by David Huisman

flavicon
face
Craig,
If we did custom work for free, we would not have a business.

Regards
David Huisman
Orbit Communications
http://www.orbitcoms.com
NSW
Australia

More... (looser matching)
- Last day of these posts
- In 2000 , 2001 only
- Today
- New search...