Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

DTMF

Status
Not open for further replies.

musilj

Electrical
Oct 8, 2006
16
AU
Hey all,

I am trying to decode a dtmf signal which according to the time plots in Matlab comprises of 5 digits. My problem is that i can't seem to find a way of detecting the start and end of the individual tones in the wavefile. I don't intend to use a fixed tone length, as this is not pratical when someone presses the key for a longer time. I also do not intend to use a fixed individual tone sample length, although chances are that it might be fixed in the wavefile i have. Could someone please advise on how i can pick up the silent portions between the tones?

hope it all makes sense
 
Replies continue below

Recommended for you

hi IRstuff,

Self-schooling DSP, and have been checking on time and frequency domain analysis techniques like thresholding,segmentation and the like but all seem to apply a fixed tone length and sample length- which can work well sometimes- i have been hitting hard on how i can automatically pick-up the silent portions (samples) of the dtmf signal- of which i admit i got stuck- help appreciated

musilj
 
The simplest solution, which is also what the actual circuitry uses, is some sort of thresholding function, either fixed, variable, or adaptive.

TTFN

FAQ731-376
 
hi IRstuff
I tried to implement thresholding, but the problem is the time magnitude of the dtmf will not be necessarily at zero or near zero when the next number is pressed. in other words the preceding time domain value of the dtmf could be any value, although of course steady (not oscillatory) during the silent period. is there a method of taking advantage of the fact that the dtmf signal will be non-oscillatory during the silent period?

thanks- help appreciated


 
???? I made no mention of time. Thresholding is about amplitude.

TTFN

FAQ731-376
 
settled on block oriented matlab fft - ofcourse you are right thresholding is about amplitude. maybe i failed to put it across clearly, my problem was on knowing/detecting where the silence periods were. nways thats not necessary when i process the wave file in frame by frame.obviously it does affect my frequency resolution.

cheers
 
???? I'm still confused... The "silent" periods are when the signal does not go above the threshold, by definition.

The only trick is determining the threshold in the first place. You can either pick a fixed value, based on some observation of actual signals, or, you could come up with some sort of adaptive threshold, like something that produces a constant false alarm rate (CFAR). You add enough fading memory to ensure that individual tones don't bump up the threshold too fast.

TTFN

FAQ731-376
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top