Truncated match.
PICList
Thread
'DTMF Decoding with a PIC (sigma-delta)'
2000\05\23@174944
by
Walter Banks
|
This may have some merit. A few years ago we looked at software
based DTMF decoders that would meet CCITT spec's. What we found was
that using a FFT to get a power spectrum we needed a A/D converter
between 10 and 12 bits, a processor with 10 MIPs and a hardware multiply.
DTMF generation in the same system was accomplished by synthesizing
the sigma-delta signal in software and sending it out a single bit with
a RC low pass filter. The sample rate on the sigma-delta transmitter
was 7200 Hz.
The whole application was written in C of course.
Walter Banks
> From: Peter L. Peres <spam_OUTplpTakeThisOuT
ACTCOM.CO.IL>
>
> Just a thought: How complicated would it be to implement a sigma-delta
> converter using the PIC itself, an analog switch and the preamp
comparator
> ? I think that the 2 component frequencies can be detected easier from
the
> differential of the signal envelope (which is the output of the
> sigma-delta) than from zero crossings. Perhaps without Fourier. If there
> would be enough time, then the PIC could manipulate the switch to cancel
> out one of the frequencies and detect the other by period measurement. I
> mean, a sigma-delta whose sample & zero frequency would be varied in
> suitable ways. Maybe using the differential AND the zero crossings would
> yield a better starting data set.
2000\05\23@212847
by
Scott Dattalo
|
On Tue, 23 May 2000, Walter Banks wrote:
> This may have some merit. A few years ago we looked at software
> based DTMF decoders that would meet CCITT spec's. What we found was
> that using a FFT to get a power spectrum we needed a A/D converter
> between 10 and 12 bits, a processor with 10 MIPs and a hardware multiply.
>
> DTMF generation in the same system was accomplished by synthesizing
> the sigma-delta signal in software and sending it out a single bit with
> a RC low pass filter. The sample rate on the sigma-delta transmitter
> was 7200 Hz.
FFT's and A/D converters certainly require this power. One of the beauties of
the zero-crossing / 1-bit A/D converter approach is that you don't have to worry
"too" much about the dynamic range of the signal. You are after all, looking at
zero crossings and those occur whether the signal swings +/-1 Volt or +/- 10mV.
But I'd being lying if I said that you didn't have to worry about it at all. The
simple analog circuit to which I alluded the other day addresses this issue.
Essentially what's needed is an AGC stage.
> The whole application was written in C of course.
Then thrown in the sea afterwards? :)
{Quote hidden}> Walter Banks
>
>
> > From: Peter L. Peres <
.....plpKILLspam
@spam@ACTCOM.CO.IL>
> >
> > Just a thought: How complicated would it be to implement a sigma-delta
> > converter using the PIC itself, an analog switch and the preamp
> comparator
> > ? I think that the 2 component frequencies can be detected easier from
> the
> > differential of the signal envelope (which is the output of the
> > sigma-delta) than from zero crossings. Perhaps without Fourier. If there
> > would be enough time, then the PIC could manipulate the switch to cancel
> > out one of the frequencies and detect the other by period measurement. I
> > mean, a sigma-delta whose sample & zero frequency would be varied in
> > suitable ways. Maybe using the differential AND the zero crossings would
> > yield a better starting data set.
I've got a 'sigma-delta' A/D converter on my web page (which coincidently, was
introduced to me by Walter). The problem is that it's SLOW.
http://www.dattalo.com/technical/software/software.html
What could be done though, is to generate a low frequency analog signal to
cancel much of the "noise" below the DTMF band. For example, a pwm'd low pass
filtered analog signal could be subtracted from the DTMF such that the low
frequencies are suppressed somewhat. But this is not as easy as it sounds.
Basically, this is a sort of 'echo-cancellation' technique that requires a fair
amount of signal processing in it's on right. Furthermore you'd need a technique
for detecting 'low frequencies' present among the DTMF tones using only the zero
crossing info.
Another sigma-delta approach would be to try to generate a signal that cancels
the DTMF tone and then measure the signal that was generated. For example, a
simple method would be to generate a pwm wave form that is the opposite polarity
of the DTMF zero-crossing signal. In other words, every time the DTMF signal is
measured low, make the pwm output high and vice versa. Sum these two signals
through two resistors and perhaps a capacitor to ground (at the junction). The
frequencies of the PWM signal that's generated by this algorithm should be
proportional to the frequencies of the DTMF signal - more or less. I haven't
tried this, but it seems doable.
Scott
2000\05\23@214303
by
Bob Ammerman
Just a quick note:
Somewhere I recently found a reference to a paper (PHd thesis?) on the web
that describes decoding DTMF using a relatively low power microcontroller. I
think, in fact, that the reference might be buried on our very own PICLIST
archive. I seen to remember that they used some pretty sophisticated
adaptive signal processing algorithms, but that their raw CPU requirements
were very modest.
Good luck,
Bob Ammerman
RAm Systems
2000\05\23@224611
by
Plunkett, Dennis
|
{Quote hidden}> -----Original Message-----
> From: Bob Ammerman [SMTP:
RAMMERMAN
KILLspamPRODIGY.NET]
> Sent: Wednesday, 24 May 2000 11:32
> To:
.....PICLISTKILLspam
.....MITVMA.MIT.EDU
> Subject: Re: DTMF Decoding with a PIC (sigma-delta)
>
> Just a quick note:
>
> Somewhere I recently found a reference to a paper (PHd thesis?) on the web
> that describes decoding DTMF using a relatively low power microcontroller.
> I
> think, in fact, that the reference might be buried on our very own PICLIST
> archive. I seen to remember that they used some pretty sophisticated
> adaptive signal processing algorithms, but that their raw CPU requirements
> were very modest.
>
> Good luck,
>
> Bob Ammerman
> RAm Systems
>
>
Yes the amount of processing power to decide the DTMF tone is
"smallish", however, the external ADC is excessive, and on top of that we
have only a 20mS period in which to decide what DTMF tone it is! (Worst
case), with levels down to -26dBmO
An FFT may seem to be the solution, but IIR filters are even faster,
the problem here is the quantisation noise.
To remove the noise at the input and improve the detection quality
(50/60Hz is a big problem) we can inject a random noise into the summing
junction of a 2nd order adaptive filter to control the coefficent adjustment
(The same can be done with the 50Hz), this will also let us provide a step
function for the received data (Gain / AGC). But unless that the PIC is free
for other tasks, it is often better to use a DTMF chip. TI have an app note
on implementing a 30 channel DTMF detector on a 320, take a look at it, you
will see that the filtering side is not excessive.
Dennis
2000\05\24@094657
by
Walter Banks
|
> > This may have some merit.
> > A few years ago we looked at software based DTMF decoders
> > that would meet CCITT spec's.
> >
> FFT's and A/D converters certainly require this power. One of the
> beauties of the zero-crossing you don't have to worry"too" much
> about the dynamic range of the signal.
> Essentially what's needed is an AGC stage.
>
> I've got a 'sigma-delta' A/D converter on my web page (which
> coincidently, was introduced to me by Walter).
> The problem is that it's SLOW.
Sigma-delta is slow for a single conversion but after that it
is a continuos conversion on each update Sigma-delta has
a large dynamic range which is why we used it. It is quite
easy to get about 12 bits of conversion. The frequency
response of continuos SD is a function of sample frequency..
What you have is a fast converter whose results are time shifted.
Testing a single bit on one of the accumulation registers
gives zero crossing detection. Then use the zero crossing
algothrim to decode the DTMF tones.
As several PICster's have pointed out software DTMF decoding
that meets CCITT spec's is mostly the ability to deal with large
dynamic ranges in the incoming signal.
> Then thrown in the sea afterwards? :)
No far too useful to discard. Portable on any processor with the required
spec's It was actually developed and used in commercial modem
software by our sister company.. :))
Walter Banks
2000\05\24@113234
by
David VanHorn
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
> Yes the amount of processing power to decide the DTMF tone is
>"smallish", however, the external ADC is excessive, and on top of that we
>have only a 20mS period in which to decide what DTMF tone it is! (Worst
>case), with levels down to -26dBmO
??? DTMF dialing is speced at 10 dps, which is usually implemented as 50mS
on, 50mS off. I've not seen any decoders that work reliably with less than
40mS
- --
Are you an ISP? Tired of spam?
http://www.spamwhack.com A pre-emptive strike against spam!
Where's Dave? http://www.findu.com/cgi-bin/find.cgi?kc6ete-9
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 6.5.2 for non-commercial use <http://www.pgp.com>
iQA/AwUBOSwP3IFlGDz1l6VWEQIk8ACgomeiZlYVRHVQPyBnuwLjuC4zOOAAn05q
zzWVxCSkmJ+s9RfTw7ZRV8IW
=lT5U
-----END PGP SIGNATURE-----
2000\05\24@143841
by
Peter L. Peres
|
Hi Scott, Walter,
Scott, your intro on DFT is excellent ! I have thought of a slightly
different scheme for the hardware (using a comparator between the C and
the PIC, comparing with 1/2 Vcc).
I am going to make an application that uses a PIC to communicate to
another PIC over a phone line, to talk FM to each other. It would be nice
to make it possible to have the receiver be a modem using perhaps the old
Bell 202 (?) standard for Rx only (300 or 600 Bps). I do not think that
there will be enough 'room' in the PIC for a receiver for the same
standard. I hope to rely on the phone line/central for filtering
square wave FM beyond my line transformer and a simple RC low-pass <g>. I
have no room for magic sine waves or other such things.
Now, how does one dial DTMF with a PIC ? Sine wave lookup table, the
algorythm on your page, Microchip's application note wrt DTMF
dialing or something else ?
Am I grossly mistaken if I say that one can make a DTMF dial tone set that
is pretty far from standard wrt. harmonics 9but accurate in frequency and
amplitude ratio) and still get away with it ? In other words, if I send
two plain square waves out through two RC lowpasses and sum them then
might a receiver see what I want it to see or is this too far off the
standard ? I think that it will see what I want it to see if I supply even
a minimum of low-pass. Has anyone tried this ?
thanks,
Peter
2000\05\24@154042
by
rleggitt
> Am I grossly mistaken if I say that one can make a DTMF dial tone set that
> is pretty far from standard wrt. harmonics 9but accurate in frequency and
> amplitude ratio) and still get away with it ? In other words, if I send
> two plain square waves out through two RC lowpasses and sum them then
> might a receiver see what I want it to see or is this too far off the
> standard ? I think that it will see what I want it to see if I supply even
> a minimum of low-pass. Has anyone tried this ?
Only in every pre-DSP modem ever made. Also every alarm system. :)
2000\05\24@190654
by
Plunkett, Dennis
No it is not, the nominal tone length is 40mS, with some telecomunication
Auhs asking for 20mS. Note that the longer the line and the more the noise
the shorter the detection period required. Talk to Alcatel and AT&T about
this, also see Austell TS003/3/7 and 26? (Not sure about that one)
Dennis
> {Original Message removed}
2000\05\24@211725
by
David Huisman
The idea of using 2 square waves that are low pass filtered and then summed
is used often. You just need to adjust the gain of each signal relative to
each other to get the required 2dB pre-emphasis on the high group tones, and
the absolute level at the line less than maximum allowable (-5dBm I think
???) You need to check the levels according to the local telecom approval
authority.
Regards
David Huisman
Orbit Communications
http://www.orbitcoms.com
NSW
Australia
2000\05\25@080143
by
Scott Dattalo
On Thu, 25 May 2000, David Huisman wrote:
> The idea of using 2 square waves that are low pass filtered and then summed
> is used often. You just need to adjust the gain of each signal relative to
> each other to get the required 2dB pre-emphasis on the high group tones, and
> the absolute level at the line less than maximum allowable (-5dBm I think
> ???) You need to check the levels according to the local telecom approval
> authority.
Check out Eric Smith's DTMF dialer:
http://www.brouhaha.com/~eric/pic/dtmf.html
Scott
2000\05\26@123823
by
Dan Mulally
|
----- Original Message -----
From: "Peter L. Peres" <EraseMEplpspam_OUT
TakeThisOuTACTCOM.CO.IL>
To: <PICLIST
spam_OUTMITVMA.MIT.EDU>
Sent: Wednesday, May 24, 2000 12:42 PM
Subject: Re: DTMF decoding with a PIC (sigma-delta)
{Quote hidden}> Hi Scott, Walter,
>
> Scott, your intro on DFT is excellent ! I have thought of a slightly
> different scheme for the hardware (using a comparator between the C and
> the PIC, comparing with 1/2 Vcc).
>
> I am going to make an application that uses a PIC to communicate to
> another PIC over a phone line, to talk FM to each other. It would be nice
> to make it possible to have the receiver be a modem using perhaps the old
> Bell 202 (?) standard for Rx only (300 or 600 Bps). I do not think that
> there will be enough 'room' in the PIC for a receiver for the same
> standard. I hope to rely on the phone line/central for filtering
> square wave FM beyond my line transformer and a simple RC low-pass <g>. I
> have no room for magic sine waves or other such things.
>
> Now, how does one dial DTMF with a PIC ? Sine wave lookup table, the
> algorythm on your page, Microchip's application note wrt DTMF
> dialing or something else ?
>
> Am I grossly mistaken if I say that one can make a DTMF dial tone set that
> is pretty far from standard wrt. harmonics 9but accurate in frequency and
> amplitude ratio) and still get away with it ? In other words, if I send
> two plain square waves out through two RC lowpasses and sum them then
> might a receiver see what I want it to see or is this too far off the
> standard ? I think that it will see what I want it to see if I supply even
> a minimum of low-pass. Has anyone tried this ?
>
> thanks,
>
> Peter
DTMF tones were intentionally selected to minimize interference due to
harmonics and intermod products so you may be fine. There is a method to
generate single tones from digital functions using Walsh functions. I'm not
sure how easy it is to use for multiple tones.
Dan
2000\05\26@124444
by
Dan Mulally
|
----- Original Message -----
From: "Peter L. Peres" <@spam@plpKILLspam
ACTCOM.CO.IL>
To: <KILLspamPICLISTKILLspam
MITVMA.MIT.EDU>
Sent: Wednesday, May 24, 2000 12:42 PM
Subject: Re: DTMF decoding with a PIC (sigma-delta)
{Quote hidden}> Hi Scott, Walter,
>
> Scott, your intro on DFT is excellent ! I have thought of a slightly
> different scheme for the hardware (using a comparator between the C and
> the PIC, comparing with 1/2 Vcc).
>
> I am going to make an application that uses a PIC to communicate to
> another PIC over a phone line, to talk FM to each other. It would be nice
> to make it possible to have the receiver be a modem using perhaps the old
> Bell 202 (?) standard for Rx only (300 or 600 Bps). I do not think that
> there will be enough 'room' in the PIC for a receiver for the same
> standard. I hope to rely on the phone line/central for filtering
> square wave FM beyond my line transformer and a simple RC low-pass <g>. I
> have no room for magic sine waves or other such things.
>
> Now, how does one dial DTMF with a PIC ? Sine wave lookup table, the
> algorythm on your page, Microchip's application note wrt DTMF
> dialing or something else ?
>
> Am I grossly mistaken if I say that one can make a DTMF dial tone set that
> is pretty far from standard wrt. harmonics 9but accurate in frequency and
> amplitude ratio) and still get away with it ? In other words, if I send
> two plain square waves out through two RC lowpasses and sum them then
> might a receiver see what I want it to see or is this too far off the
> standard ? I think that it will see what I want it to see if I supply even
> a minimum of low-pass. Has anyone tried this ?
>
> thanks,
>
> Peter
DTMF tones were intentionally selected to minimize interference due to
harmonics and intermod products so you may be fine. There is a method to
generate single tones from digital functions using Walsh functions. I'm not
sure how easy it is to use for multiple tones.
Dan
More... (looser matching)
- Last day of these posts
- In 2000
, 2001 only
- Today
- New search...