public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Fritz <wolfgang.fritz@gmx.net>
To: linux-kernel@vger.kernel.org
Subject: Re: [Asterisk] DTMF noise
Date: Thu, 09 Jan 2003 14:31:55 +0100	[thread overview]
Message-ID: <3E1D79CB.5010503@gmx.net> (raw)
In-Reply-To: 3E1D705E.1030203@sktc.net

David D. Hagood wrote:
 > Wolfgang Fritz wrote:
 >
 >> Maybe it would be better to reenable harmonic checks but comparing
 >> harmonic levels to the level of the fundamental instead of using
 >> absolute values as in the present implementation.
 >
 >
 > You mean the code DOESN'T normalize the signal to the total energy
 > first?!?!? YEEP!

No. The original code used _absolute_ thresholds for the DTMF tones and
the harmonics. That did not work very well.

My simple patch added a relative energy comparision of the DTMF tones
and a simple plausibiltity check (DTMF is only accepted if there is
exactly one DTNF pair and no/low signal level on the other DTMF
frequencies. That worked with my (very limited) tests.

 >
 > The very FIRST thing you do is compute the total signal energy in the
 > sample period, trivially reject if Etotal < MinETotal, then normalize
 > all other signal energies to Etotal - that is a basic tenant of DSP.
 >

My patch did a first step in that direction, but took only the energy
on the DTMF frequencies. That does not seem to be sufficient.

Another thing which may improve resistance against false DTMF detection
would be to require more than one consecutive samples to contain a valid
DTMF tone. See the link in one of my posts on lkml.

 >
 >> standard test procedure with a lot of test cases which are not
 >> available to mortal humans (audio tapes from Bellcore IIRC)
 >
 >
 > I think we may have the test cases as WAVs at work, and I think they are
 > freely distributable - I'll kick a reminder to my work account off to
 > check later today.
 >

That would be nice. But that must be a rather big chunk of data - the
Mitel tape alone contains 30 minutes of speech, the Bellcore tapes even
more. Too much for my dialup line, I'm afraid.

Wolfgang





  reply	other threads:[~2003-01-09 13:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20030107140012$1b66@gated-at.bofh.it>
     [not found] ` <20030107150006$4896@gated-at.bofh.it>
2003-01-07 19:08   ` [Asterisk] DTMF noise Thomas Tonino
2003-01-07 22:46     ` Roy Sigurd Karlsbakk
2003-01-08  7:51       ` Thomas Tonino
2003-01-08 12:43         ` David D. Hagood
2003-01-08 13:04           ` Matti Aarnio
2003-01-08 15:49           ` Wolfgang Fritz
2003-01-08 16:30             ` Wolfgang Fritz
2003-01-08 19:48             ` Andrew McGregor
2003-01-08 22:19             ` Jamie Lokier
2003-01-09 12:51             ` David D. Hagood
2003-01-09 13:31               ` Wolfgang Fritz [this message]
2003-01-09 23:32                 ` David D. Hagood
2003-01-10  6:52                   ` Matti Aarnio
2003-01-10 12:42                     ` David D. Hagood
2003-01-10 12:03                 ` Roy Sigurd Karlsbakk
2003-01-08 20:22           ` Thomas Tonino
2003-01-09 12:42             ` David D. Hagood
2003-01-07 13:55 Roy Sigurd Karlsbakk
2003-01-07 14:49 ` [Asterisk] " Mark Spencer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3E1D79CB.5010503@gmx.net \
    --to=wolfgang.fritz@gmx.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox