Hi FranckThank you so much for your response. I will appreciate if you send me some part of your code about following topics, if it is possible for you, and also answer me: 1. It is used multiplying factor (1/8) while the number of sample is 16, x(n),...x(n+15). Which of them is correct, 8 or 16 sample ? 2. Is the specified length of buffer (8 or 16 after clarification item 1) sufficient for preventation of overflow without preventation of overflow in energy(Zero delay autocorelation) in N2 (processing length of input) samples in input ? 3. Althogh it is a much more expectation from you, but if you can, please explain me how can I measure and calculate GAIN_THR o input and following thresholds, as well. (I am a speech coding specialist and this the first time I am trying on DTMF algorithm). THR_SIG1 Threshold for possible tone THR_SIG2 Threshold for definite tone THR_PA Threshold for pause energy THR_STDTWI Threshold for standard twist THR_REVTWI Threshold for reverse twist THR_ROWREL Threshold for row's relative peak ratio THR_ROW2nd Threshold for row's 2nd harmonic ratio THR_COLREL Threshold for col's relative peak ratio THR_COL2nd Threshold for col's 2nd harmonic ratio With the best regards shahram --- Hocquet Franck <> wrote: > Hi Shahram, > > As I experienced implementation of very well working > DTMF > in TI C54x, you can try the following algorithm, > which is > a part of my decoder. I have it in assembler if you > are interested : > > ;The accumulation of each filter output is > endangered by a possible > overflow. > ;An early overflow is prevented with an additional > gain control, which > protects > ;the Goertzel filters from strong signal inputs. > This gain control operates > on a > ;buffer of input samples and estimates the peak > amplitude of upcoming > samples. > ;If the estimation exceeds a desired peak amplitude, > the input samples are > attenuated, > ;i.e. multiplied by a factor inverse proportional to > the peak amplitude > estimation. > ; > ; Description: > ; ------------ > ; Control gain of the input sample x(n) > ; On a 8 samples length buffer of input samples, the > average peak > ; amplitude GAIN_amp is computed using the last 8 > samples. The current > ; input samples are then attenuated using the foll > formulas: > ; > ; GAIN_const = (1/2)SQRT(2) > ; GAIN_amp = > GAIN_const*(1/8)*[abs(x(n))+abs(x(n+1))+...+abs(x(n+15))] > ; > ; if( GAIN_AMP > GAIN_THR ) > ; y(n) = (GAIN_THR/GAIN_AMP) * x(n) > ; else > ; y(n) = x(n) > ; > ; The only thing you have to do then is to set > correctly GAIN_THR (depending > ; of your input signal caracteristic that you should > know) > > Hope that helps. > Regards, > > Franck HOCQUET > Field Application Engineer > EBV Elektronik > Paris, FRANCE > -----Original Message----- > From: shahram heidari > [mailto:] > Sent: mardi 12 mars 2002 02:11 > To: > Subject: [speechcoding] DTMF Decoder > Dear Friends > > I am working to simulation and implementation of > multichannel dtmf encoder/decoder on ADSPs. I have > found many documents and codes, which among them, > TI's > application notes is more completed. But in DTMF > decoding stage before Goertzel Block the design > should > have a gain and amplitude control of input for > preventation of variable in Goertzel algorithm. I > converted this part of the TI's TMSC54x code to c++ > but it is not sufficient and some overflow will > happen. If each of you have any experince or idea, I > will appreciate to propose me. > > shahram heidari > Field Application Engineer > BBS Electronics Pte Ltd > Singapore > > ------------------------ Yahoo! Groups Sponsor > > _____________________________________ > Note: If you do a simple "reply" with your email > client, only the author of > this message will receive your answer. You need to > do a "reply all" if you > want your answer to be distributed to the entire > group. > > _____________________________________ > About this discussion group: > > To Join: > > To Post: > > To Leave: > > Archives: > http://www.yahoogroups.com/group/speechcoding > > Other DSP-Related Groups: http://www.dsprelated.com > ">http://docs.yahoo.com/info/terms/ > __________________________________________________ |

# RE: DTMF Decoder

Started by ●March 20, 2002