PatentDe  


Dokumentenidentifikation DE69724408T2 05.08.2004
EP-Veröffentlichungsnummer 0000872122
Titel ZWEITONMEHRFREQUENZDETEKTIONSSYSTEM UND -VERFAHREN MIT STATISCHER UND DYNAMISCHER SCHWELLWERTBESTIMMUNG
Anmelder Legerity ,Inc.(n.d.Ges.d.Staates Delaware), Austin, Tex., US
Erfinder XIE, Zheng-yi, Austin, US
Vertreter Patentanwälte von Kreisler, Selting, Werner et col., 50667 Köln
DE-Aktenzeichen 69724408
Vertragsstaaten BE, DE, GB
Sprache des Dokument EN
EP-Anmeldetag 10.01.1997
EP-Aktenzeichen 979014438
WO-Anmeldetag 10.01.1997
PCT-Aktenzeichen PCT/US97/00505
WO-Veröffentlichungsnummer 0097025822
WO-Veröffentlichungsdatum 17.07.1997
EP-Offenlegungsdatum 21.10.1998
EP date of grant 27.08.2003
Veröffentlichungstag im Patentblatt 05.08.2004
IPC-Hauptklasse H04Q 1/457
IPC-Nebenklasse H04Q 1/453   

Beschreibung[de]
Gebiet der Erfindung

Die vorliegende Erfindung betrifft die Erkennung von codierten Zweitonmultifrequenzsignalen und insbesondere einen Zweitonmultifrequenzdetektor (DTMF), der eine statische Schwellenwertbildung unter Verwendung von Signalpegelvergleichen mit einem festen Schwellenwert und eine dynamische Schwellenwertbildung unter Verwendung von Signalrauschverhältnisvergleichen für einen verbesserten funktionalen Bereich und eine bessere Sprach/Rausch-Unempfindlichkeit.

Beschreibung des Standes der Technik

EP-A-0 570 097 offenbart eine Vorrichtung und ein Verfahren zum Erkennen eines oder mehrerer Töne, die auf einem Kommunikationskanal empfangen werden.

Das IBM Technical Disclosure Bulletin, Band 38, Nr. 7, Juli 1995, mit dem Titel "Tone Detection Process" offenbart ein Verfahren zum Erkennen eines Tons in einem Signal, beispielsweise einen Wählton, einen Besetztton, eine DTMF Ton, etc. in der Telefonkommunikation.

Zweitonmultifrequenz-Codierung (DTMF) ist eine generische Bezeichnung für Tastentelefonsignalgebung, die in nordamerikanischen Telefonsystemen verwendet wird. Ein DTMF Signal dient der Übertragung einer Telefonnummer oder dergleichen von einer Tastentelefonzentralstelle. Die DTMF-Signalgebung ersetzt schnell weltweit die Wählimpulssignalgebung in Telefonnetzwerken. Neben der Telefonanrufsignalgebung nimmt die Beliebtheit der DTMF Codierung auch in interaktiven Steueranwendungen zu, wie beispielsweise Telefon-Banking, elektronische Mail-Systeme und Anrufbeantworter, wobei der Benutzer Optionen aus einem Menü durch Senden von DTMF Signalen von einem Telefon wählen kann.

Ein Zweitonsignal ist durch zwei sinusförmige Signale wiedergegeben, deren Frequenzen in der Bandbreite getrennt sind und die nicht korreliert sind, um falsche Tonerkennungen zu vermeiden. Allgemein erzeugen normale Sprachmuster oder Rauschsignale ein Signal mit Energie, die durch das gesamte Frequenzband verteilt ist. In einigen Fällen kann Sprache ausreichend Energie auf beiden DTMF Frequenzen haben, um eine falsche Erkennung zu verursachen.

Wie zuvor erwähnt erzeugt ein DTMF Signalcodierer ein DTMF Signal durch Addieren zweier sinusförmiger Signale. Ein DTMF Signal umfasst einen von vier Tönen, von denen jeder eine Frequenz in einem Niederfrequenzband aufweist, und einen von vier Tönen, von denen jeder eine Frequenz in einem Hochfrequenzband aufweist. In gängigen DTMF Systemen sind die folgenden Frequenzen den vier Tönen im Niederfrequenzband zugewiesen: FA = 697 Hz, FD = 770 Hz, FC = 852 Hz und FD = 941 Hz; und die folgenden Frequenzen sind den vier Tönen im Hochfrequenzband zugewiesen: FE = 1209 Hz, FF = 1336 Hz, FG = 1447 Hz und FH = 1633 Hz. Die für die DTMF Codierung und Erkennung verwendeten Frequenzen sind durch CCITT definiert und sind weltweit akzeptiert, wodurch eine Wählkompatibilität in der gesamten Welt möglich ist.

Wenn DTMF Signale sich einer Leitung entlang bewegen, beispielsweise einer Telefonleitung, können die Signale durch Dämpfung oder eine Vielzahl anderer Einwirkungen wie Kanalrauschen, Strahlung etc. verzerrt werden. Darüber hinaus können in einigen Fällen Sprech- oder Sprachsignale gleichzeitig mit DTMF Signalen in der selben Frequenzbandbreite auf einer Leitung laufen. Durch Rauschen oder Sprache kann ein DTMF Signal vom Detektor übersehen werden, was als "Talk-down" bezeichnet wird. Ferner kann Sprache einen Frequenzbereichsinhalt ähnlich einem DTMF Signal haben und eine fehlerhafte Erkennung verursachen, was als "Talk-off" bezeichnet wird. Anderes Rauschen kann ferner nachteilige Effekte bewirken und der Empfänger ist manchmal nicht in der Lage. Festzustellen, welches DTMF Signal erkannt wurde.

CCITT und AT&T haben verschiedene Standards für DTMF Detektoren entwickelt. Diese Standards umfassen verschiedene Kriterien, beispielsweise Frequenzverzerrungstoleranz, Verdrehtoleranz, Rauschunempfindlichkeit, Schutzzeit, Talk-down, Talk-off, zulässiges Signalrauschverhältnis, und dynamischer Bereich, etc. Das Verzerrtoleranzkriterium spezifiziert, daß ein DTMF Detektor ein übertragenes Signal erkennen muß, daß eine Frequenzverzerrung von weniger als 1,5% hat, und daß er kein DTMF Signal erkennen sollte, das eine Frequenzverzerrung von mehr als 3,5% hat. "Verdrehung" bezeichnet die Differenz in Dezibel zwischen der Amplitude des stärksten Tastenfeldspaltentons und der Amplitude des stärksten Tastenfeldreihentons. Beispielsweise erfordert der AT&T Standard eine Verdrehung zwischen –8 und +4 Dezibel. Das Rauschimmunitätskriterium erfordert, daß, wenn das Signal ein Signalrauschverhältnis (SNR) von mehr als eine bestimmte Zahl von Dezibel hat, der DTMF Detektor das Signal nicht übersehen darf, d. h. das Signal erkennen muss. Verschiedene Standards haben verschiedene SNR Anforderungen, die üblicherweise zwischen 12 und 14 Dezibel liegen. Das Schutzzeitprüfkriterium erfordert, daß, wenn ein Ton eine Dauer von mehr als 40 Millisekunden hat, der DTMF Detektor den Ton nicht erkennen soll. Die Sprachunempfindlichkeit bezieht sich auf die Fähigkeit des DTMF Detektors DTMF Tonsignale genau von tatsächlicher Sprache zu unterscheiden. Wie zuvor beschrieben sind "Talk-down" und "Talk-off" Kriterien für die Bewertung der Sprachunempfindlichkeit eines DTMF Detektors.

Ursprünglich verwendeten DTMF Signalgeneratoren und -detektoren analoge Schaltungen zum Erzeugen und Decodieren von DTMF Signalen. Mit dem schnellen Fortschritt der VLSI Technologie und der Digitalsignalverarbeitungstechnologie (DSP) verwenden jedoch viele DTMF Systeme nun digitale Signalprozessoren für eine erhöhte Genauigkeit und Kosteneffizienz. Die Vorteile eines digitalen DTMF Erzeugungs- und Erkennungssystems sind eine höhere Genauigkeit, Präzision, Stabilität, Vielseitigkeit und Wiederprogrammierbarkeit sowie eine geringere Chipzahl. Die Vorteile einer DSP Verwendung eines DTMF Systems gelten insbesondere für eine Telefongesellschaftszentrale, in der die DTMF Erkennung gleichzeitig auf mehreren Telefonkanälen erfolgen kann.

Im allgemeinen untersucht ein DTMF Detektor die Leitung oder den Kommunikationskanal auf das Vorhandensein zweier Sinuskurven unter Verwendung gewidmeter Frequenzdomänenalgorithmen, einschließlich modifizierter Goertzel-Algorithmen, DFT/FFT, Autokorrelation, Nuöödurchgangszählung und Verfahren auf Schmalbandfilterbasis. Sobald der DTMF Detektor zwei Töne erkannt hat, führt der DTMF Detektor verschiedene Tests aus, um sicherzustellen, daß die erkannten Töne die genannten Kriterien erfüllen.

Beispielsweise haben bekannte Detektoren nur statische Schwellenwertbildung durchgeführt, wobei die erkannten Töne mit einem festen Schwellensignalpegel verglichen werden, um eine gültige Erkennung zu erreichen. Die statische Schwellenwertbildung stellt sicher, daß die erkannten Töne ausreichend Energie haben, um eine Erkennung zu garantieren. Ein Problem der nur statischen Schwellenwertbildung ist jedoch, daß der Schwellenwert auf einen hohen Wert gesetzt werden muss, um einen bedeutungsvollen Test zu bewirken, wodurch der dynamische Vereich des Detektors eingeschränkt wird. Ein hoher fester Schwellenwert beeinflusst den funktionalen dynamischen Bereich eiens DTMF Detektors und erschwert es dem Detektor, das geforderte SNR zu erreichen. Andere bekannte Detektoren führen lediglich eine Form der dynamischen Schwellenwertbildung durch, um sicherzustellen, daß die erkannten Töne ausreichend Energie haben, um eine Erkennung zu gewährleisten. Detektoren, die jedoch nur eine dynamische Schwellenwertbildung ausführen, sind unter Umständen nicht in der Lage, ein schwaches DTMF Signal von inaktivem Kanalrauschen zu unterscheiden.

Daher erreichen Detektoren, die nur eine Art von Schwellenwertbildung durchführen keine ausreichende Genauigkeit beim Filtern von Nicht-DTMF Signalen. Ein Typ der Schwellenwertbildung bietet nicht die Flexibilität zum Erfüllen unterschiedlicher SNR Anforderungen. Infolgedessen haben herkömmliche DTMF Detektoren, die eine einzelne Art der Schwellenwertbildung verwenden im allgemeinen den Nachteil eines schlechten dynamischen Bereichs und/oder einer geringen Sprachunempfindlichkeit. Ein verbesserter DTMF Signaldetektor ist erwünscht, der einen größere funktionalen dynamischen Bereich und eine verbesserte Sprachunempfindlichkeit gegenüber bekannten Ausbildungen hat.

Überblick über die Erfindung

Die vorliegende Erfindung umfaßt einen verbesserten Zweitonmultifrequenz- (DTMF) oder einen Mehrtonsignaldetektor, der effizienter und zuverlässiger DTMF Signale erkennt. Die vorliegende Erfindung verwendet sowohl statische, als auch dynamische Schwellenwertbildungsverfahren, um einen vergrößerten funktionalen dynamischen Bereich und eine verbesserte Sprachunempfindlichkeit für eine verbesserte Erkennung und einen geringeren Fehler zu erreichen.

Der endungsgemäße DTMF Detektor weist vorzugsweise einen Codierer/Decodierer-Empfänger (Codec) auf, der Signale der Übertragungsmedien empfängt. Der Codec tastet die empfangenen analogen Signale ab und erzeugt digitale Signale, d. h. digitale Abtastungen. Der DTMF Detektor weist ferner einen Digitalsignalprozessor (DSP) auf, der mit dem Codec verbunden ist. Der DSP empfängt die digitalen Abtastungen und wendet vorzugsweise den Goertzel-DFT-Algorithmus oder andere Frequenzdomänenverfahren an. Die vorliegende Erfindung weist ferner einen mit dem DSP verbundenen Speicher auf, der vom DSP zum temporären Speichern von Daten während des Verarbeitens (RAM) und zum Auffinden von Daten wie Filterkoeffizienten (ROM) verwendet wird.

Erfindungsgemäß empfängt der DTMF Detektor mehrere digitale Abtastungen eines empfangenen Signals, wobei das empfangene Signal mehrere Töne enthalten kann, beispielsweise ein DTMF oder MTMF (Mehrfachtonmultifrequenz) Signal. Die empfangenen Signale können DTMF oder MTMF Tonsignale enthalten und können ferner ein oder mehrere Sprachsignale und/oder Rauschen enthalten. Die mehreren Töne weisen zwei oder mehr Töne aus einer Vielzahl unterschiedlicher unkorrelierter Frequenzen auf. Bei einem Ausführungsbeispiel umfassen die mehreren verschiedenen unkorrelierten Frequenzen zwei oder mehr Frequenzgruppen.

Nach dem Empfang der digitalen Abtastungen berechnet der DTMF Detektor ein Frequenzspektrum der mehreren digitalen Abtastungen für jede der mehreren verschiedenen nicht korrelierten Frequenzen. Die Berechnung erzeugt einen Energiewert für jede der verschiedenen nicht korrelierten Frequenzen. Nach der Frequenzdomänenberechnung, d. h. nachdem die Energiewerte für jede der unterschiedlichen nicht korrelierten Frequenzen berechnet sind, und nach einer gewünschten Verstärkungsanpassung, bestimmt der DSP Höchstwerte der Energiewerte für jede der beiden oder mehr Frequenzgruppe, die als M(1) und M(2) bezeichnet werden, um die mehreren Töne im empfangenen Signal zu erkennen.

Der DTMF Detektor führt sodann sowohl eine erfindungsgemäße statische, als auch eine dynamische Schwellenbildung durch, um eine gültige Tonerkennung zu gewährleisten. Die statische Schwellenbildung vergleicht jeder der Werte M(1) und M(2) mit einem statischen Schwellenwert, um sicherzustellen, daß die maximalen Energiewerte eine minimale Energie aufweisen, um eine Erkennung zu garantieren. Da die statische und die dynamische Schwellenwertbildung erfindungsgemäß ausgeführt werden, ist der statische Schwellenwert vorzugsweise niedrig eingestellt, wodurch ein vergrößerter funktioneller dynamischer Bereich erreicht wird. Nachdem die statische Schwellenwertbildung durchgeführt ist, wird die dynamische Schwellenwertbildung ausgeführt.

Die dynamische Schwellenwertbildung berechnet das Verhältnis in jeder Untergruppe zu jedem anderen Wert in der jeweiligen Untergruppe, wobei die verbleibenden Werte in der Untergruppe als Rauschen angenommen werden. Das Verhältnis des maximalen Werts in der Untergruppe zu jedem der anderen Werte in der Untergruppe berechnet im wesentlichen das Signal/Rauschverhältnis (SNR) der empfangenen Signale. Insbesondere berechnet die dynamische Schwellenwertbildung das Verhältnis des maximalen Werts M(1) in der ersten Untergruppe zu jedem der anderen Werte in der ersten Untergruppe. Gleichermaßen berechnet die dynamische Schwellenbildung das Verhältnis des maximalen Werts M(2) in der zweiten Untergruppe mit jedem der anderen Werte in der zweiten Untergruppe. Die dynamische Schwellenwertbildung bestimmt sodann, ob die berechneten Verhältnisse größer als der Schwellenwert sind. Wenn eines der Verhältnisse nicht größer als der Schwellenwert ist, wird ein SNR Fehler eingestellt. Das Setzen des SNR Fehlers bedeutet, daß die Spalten- und/oder die Reihenfrequenzwerte nicht das erforderliche SNR erfüllen. Wenn der SNR Fehler gesetzt ist, wird keine Erkennung angezeigt.

Die vorliegende Erfindung unfasst somit ein Verfahren zum Verbessern des funktionalen dynamischen Bereichs des DTMF Detektors und der Rauschunempfindlichkeit durch statische Schwellenbildung gefolgt von dynamischer Schwellenbildung. Das Verfahren vergrößert den funktionalen dynamischen Eingangssignalbereich und hat eine höhere Sprach/Rauschunempfindlichkeit, d. h. ist eher in der Lage, eine durch Sprache oder Rauschen ausgelöste Erkennung zu vermeiden. Die Schritte der statischen und dynamischen Schwellenwertbildung eliminieren ungültige DTMF Töne basierend auf Signalpegel und Signal/Rauschverhältnis. Die Verwendung der statischen und dynamischen Schwellenwertbildung ermöglicht die Wahl eines niedrigen statischen Schwellenwerts, wodurch der DTMF Detektor mit einem breiteren dynamischen Bereich versehen wird. Die dynamische Schwellenwertbildung führt im wesentlichen eine Signal/Rauschverhältnisschätzung durch, vorzugsweise unter Verwendung des Verhältnisses zwischen dem maximalen Wert in der Gruppe und den anderen Werten in der Untergruppe. Der dynamische Schwellenwertvergleich bestimmt ein akzeptables Signal/Rauschverhältnis, das effizient die Rausch- oder Sprachsignalerkennung Eliminiert, d. h. eine bessere Sprachunempfindlichkeit bietet.

Die vorliegende Erfindung testet somit die maximalen Energiewerte jeder Frequenzgruppe unter Verwendung statischer und dynamischer Schwellenwertbildung. Im bevorzugten Ausführungsbeispiel wird der statische Schwellenwert relativ niedrig eingestellt, um einen großen funktionalen dynamischen Bereich einzustellen, und der dynamische Schwellenwert wird entsprechend den SNR Anforderungen eingestellt. Beispielsweise erfordert ein Standard ein SNR von 12 Dezibel, so daß die dynamische Schwellenwertbildung derart eingestellt wird, daß sichergestellt ist, daß M(1) wenigstens 4 mal so groß ist wie andere Werte in der Untergruppe. Dies ermöglicht das Erkennen sehr kleiner DTMF Signale (breiter dynamischer Bereich), so lange die Signale ein akzeptables Signal/Rauschverhältnis haben. Dies eliminiert ferner effektiv den größten Teil des inaktiven Kanalrauschens und des weißen Rauschens.

Kurzbeschreibung der Figuren

Ein besseres Verständnis der vorliegenden Erfindung ergibt sich aus der Betrachtung der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels in Verbindung mit den folgenden Figuren, welche zeigen:

1 ein Blockdiagramm des erfindungsgemäßen DTFM Detektors.

2 ein Ablaufdiagramm des Betriebs des erfindungsgemäßen DTFM Detektors.

3 mehrere Filter im DTFM Detektor von 1, welche den Goertzel-Algorithmus unter Verwendung einer erfindungsgemäßen variablen Blocklänge anwenden.

4 die Operation des Goertzel-Algorithmus.

5 ein Blockdiagramm der Logik, welche eine Logik zeigen, welche die maximale Verstärkung in jeder Gruppe erkannter Töne findet.

6 die Operation der statischen Schwellenwertbildung im Ablaufdiagramm der 2.

7 die Operation der dynamischen Schwellenwertbildung im Ablaufdiagramm der 2.

8 die Operation der zweiten harmonischen Energieschwellenwertprüfung des Ablaufdiagramms in 2.

9 die Operation der Schutzzeitprüffunktionen gemäß dem Ablaufdiagramm der 2, und

10 die Operation der Verdrehungsprüffunktionen in dem Ablaufdiagramm der 2.

Detaillierte Beschreibung des bevorzugten Ausführungsbeispiels DTMF Detektor

Die vorliegende Erfindung umfasst einen erfindungsgemäßen DTMF Detektor, der sowohl statische, als auch dynamische Schwellenwertbildung durchführt. Der DTMF Detektor ist in einem Telefonanrufbeantworter im gegenwärtigen Ausführungsbeispiel enthalten. Es sei jedoch darauf hingewiesen, daß die vorliegende Erfindung in verschiedenen anderen Anwendungen einschließlich Telefonschaltung und interaktiven Steueranwendungen, Telefonbanking, Fax-auf-Abruf, etc. verwendet werden kann. Der erfindungsgemäße DTMF Detektor kann ebenfalls als der DTMF Detektor in einer Telefongesellschaftszentralstelle genutzt werden.

Die vorliegende Erfindung ist derart ausgebildet, daß sie die CCITT und AT&T Standards erfüllt, obwohl die Erfindung neu programmiert werden kann oder geringfügige Modifizierungen vorgenommen werden können, um andere Telekommunikationsstandards zu erfüllen. Das bevorzugte Ausführungsbeispiel wurde entwickelt, um DTMF Erkennungsfunktionen durchzuführen und weist vorzugsweise einen Zweitondetektor auf, der zwei Töne erkennt, wobei jeder Ton einer von mehreren vorbestimmten Tönen aus zwei jeweiligen Frequenzgruppen ist. Die vorliegende Erfindung kann jedoch einen Mehrfachtonmultifrequenzdetektor (MTMF) zum Erkennen einer größeren Zahl von Tönen, i. e. zwei oder mehr Töne, in einem empfangenen Signal aufweisen. Die zwei oder mehr Töne können von zwei oder mehr verschiedenen Frequenzgruppen oder von einer einzelnen Frequenzgruppe kommen. Das System und das Verfahren gemäß der vorliegenden Erfindung können somit zum Erkennen einer beliebigen Zahl von Tönen in einem empfangenen Signal verwendet werden.

1: Blockdiagramm

1 zeigt ein Blockdiagramm des erfindungsgemäßen DTMF Detektors 102. Der DTMF Detektor 102 weist vorzugsweise ein Port oder einen Verbinder oder eine andere Einrichtung 103 zum Empfangen von analogen oder digitalen Signalen auf. Der Port 103 ist geeignet, an ein Kommunikationsmedium angeschlossen zu werden, beispielsweise eine Telefonleitung, ein Kabel oder eine andere Übertragungsleitung. Es sei darauf hingewiesen, daß der Port 103 eine von mehreren Einrichtungen oder Verbinder zum Koppeln mit einer Kommunikationsleitung aufweisen.

Der DTMF Detektor 102 weist ferner vorzugsweise einen Codierer/Decodierer-Empfänger (Codec) 104 auf, der mit dem Port verbunden ist, welcher ein analoges Signal empfängt, und wandelt das analoge Signal in Digitalform um. Der Codec-Empfänger 104 tastet vorzugsweise das analoge Signal bei 8 kHz ab und verwendet Impulscodemodulation (PCM) oder andere geeignete Verfahren, um entsprechende digitale Daten zu erzeugen. Der Codec-Chip 104 weist vorzugsweise lineare Analog-Digital-Wandler (A/D) und Digital/Analog-Wandler (D/A) auf. Der Codec-Empfänger 104 umfaßt vorzugsweise sämtlich erforderlichen A/D, D/A, Abtast- und Filterschaltungen für bidirektionales Analog/Digital-Interfacing auf. Sobald die Analog/Digitalumwandlung erfolgt ist, werden digitale Daten oder digitale Abtastungen basierend auf dem analogen Signal erzeugt.

Es sei darauf hingewiesen, daß das empfangene Signal komprimiert oder erweitert werden kann, und somit können digitale Daten, die der A/D-Wandler im Codec 104 erzeugt hat, erweitert werden, d. h. sie können logarithmisch komprimierte digitale Daten umfassen. Wie bekannt betrifft das Erweitern das logarithmische Komprimieren eines Signals an der Quelle und das Erweitern des Signals am Ziel, um einen großen dynamischen Bereich zwischen den Enden zu erzielen, während die Anforderungen an den dynamischen Bereich im Kommunikationskanal verringert werden. In diesem Fall expandiert der Codec-Empfänger 104 die Daten logarithmisch auf ein lineares Format, vorzugsweise ein 16 Bit Linear-Format.

In einem Ausführungsbeispiel empfängt der Port 103 im DTMF Detektor 102 Digitalsignale (d. h. lineare oder logarithmische PCM) direkt vom Kommunikationskanal oder dem Transmissionsmedium, und somit ist ein Codec 104 im DTMF Detektor 102 für die Analog-Digital-Umwandlung nicht erforderlich.

Der DTMF Detektor 102 weist ferner vorzugsweise einen Digitalsignalprozessor (DSP) 106 auf, der mit dem Codec 104 verbunden ist. Der DSP 106 stammt vorzugsweise aus der ADSP-2100 Familie von Analog Devices, Inc.. Andere äquivalente DSP sind zulässig, obwohl ein DSP, der 16 × 16 Bit Hardware Multiplikation ausführen kann aus Gründen der Genauigkeit bevorzugt wird. Es sei darauf hingewiesen, daß ein Softwaremultiplizierer verwendet werden kann, obwohl die Betriebsgeschwindigkeit erheblich verringert wird. Bei dem bevorzugten Ausführungsbeispiel sind der DSP 106 und der Codec 104 auf einem einzelnen Siliziumchip vorgesehen.

Der DSP 106 empfängt die digitalen Abtastungen und verwendet vorzugsweise erfindungsgemäß Frequenzdomänenverfahren an, vorzugsweise den Goertzel-DFT-Algorithmus, unter Verwendung variabler oder differierender Blocklängen. Der Goertzel-DFT-Algorithmus teilt das abgetastete Zeitdomänensignal in mehrere einzelne Blöcke oder Datenblöcke und wendet sodann Fourier-Verfahren auf jeden Block an, um Energiewerte in der Frequenzdomäne für jeden der möglichen Töne zu erhalten. Im bevorzugten Ausführungsbeispiel verwendet der DTMF Detektor 102 verschiedene Blockbreiten für verschiedene der möglichen Tonfrequenzen. Anders ausgedrückt: der DTMF Detektor 102 verwendet unterschiedliche Blockbreiten für zumindest mehrere der möglichen Tonfrequenzen.

Der DTMF Detektor 102 weist ferner einen Speicher 108 auf, der mit dem DSP gekoppelt ist und von dem DSP 106 zum Speichern und Auffinden von Daten verwendet wird. Vorzugsweise umfasst der Speicher einen RAM (Direktzugriffsspeicher) zum Speichern von festen Werten, beispielsweise Filterkoeffizienten und andere Parameter, die vom Programm verwendet werden. Das Programm wird ferner vorzugsweise im ROM gespeichert, bevor es in den RAM geladen wird. Die Speicheranforderung für den DTMF Detektor allein beträgt ungefähr 2,0 KBytes ROM und 200 Bytes RAM. Die Speicheranforderung hängt von der Architektur und auch von der Anwendung ab. Es sei darauf hingewiesen, daß der Speicher 108 einer von verschiedenen Typen oder Größen sein kann.

Es sei darauf hingewiesen, daß die vorliegende Erfindung einen Allzweckmikroprozessor anstelle des DSP 106 aufweisen kann. Die vorliegende Erfindung kann ferner gewidmete digitale und/oder analoge Hardware anstelle oder zusätzlich zu dem DSP 106 aufweisen. Obwohl die folgende Beschreibung den DSP 106 als die vorliegende Erfindung ausführend beschreibt, sei darauf hingewiesen, daß die vorliegende Erfindung durch einen Allzweckmikroprozessor ausgeführt werden kann, oder daß die Erfindung zumindest teilweise oder vollständig in digitaler oder analoger Logik ausgebildet sein kann. Die Verwendung eines programmierbaren DSP 106 ist das bevorzugte Ausführungsbeispiel der Erfindung.

2 – Ablaufdiagramm

2 zeigt ein Ablaufdiagramm der Operation des DTMF Detektors 102 nach einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung. Der DTMF Detektor 102 ist mit einem Transmissionsmedium verbunden. Wie dargestellt empfängt der DTMF Detektor 102 ein analoges Signal und stellt fest, ob Zweitonmehrfrequenzsignale (DTMF) im empfangenen Signal enthalten sind. Wie dargestellt kann das empfangene Analogsignal eines oder mehrere DTMF Signale, ein Sprach- oder Stimmensignal oder Rauschen umfassen. Im Schritt 122 empfängt der Codec 104 im DTMF Detektor 102 das analoge Signal und wandelt das analoge Signal in Digitalformat um. Im Schritt 122 tastet der Codec-Empfänger 104 vorzugsweise das analoge Signal mit 8 kHz ab und führt eine Pulscodemodulation (PCM) oder eine andere geeignete Maßnahme aus, um entsprechende digitale Daten zu erzeugen. Wie dargestellt erzeugt der Codec-Empfänger 104 ein digitales Signal, das als x(n) bezeichnet wird und mit 8 kHz abgetastet wird.

Es sei ferner darauf hingewiesen, daß das empfangene Signal logarithmisch komprimiert oder erweitert werden kann, und somit kann der Schritt 122 ferner das logarithmische Erweitern der komprimierten Daten zum Erzeugen linearer Daten umfassen.

Im folgenden werden die Schritte 124140 kurz beschrieben und anschließend folgt eine detailliertere Beschreibung jedes Schritts. Im Schritt 124 empfängt der DSP 106 das Digitalsignal x(n) vom Codec 104 und führt die Goertzel-DFT unter Verwendung unterschiedlicher Blocklängen durch. Im Schritt 124 erzeugt der DSP 106 mehrere Energiewerte A(m), wobei m = 1–16. Die mehreren Energiewerte A(m) weisen Energiewerte an jeder der beiden Gruppen von vier Frequenztönen für die erste und die zweite Harmonische der Frequenzen auf. Im Schritt 126 stellt der DSP 106 die Verstärkung für jeden der Energiewerte A(m) ein, um unterschiedliche Energiegehalte aufgrund unterschiedlicher Blocklängen zu kompensieren. Der DSP 106 im Schritt 126 erzeugt mehrere eingestellte Energiewerte A'(m). Im Schritt 128 bestimmt der DSP 106 den maximalen Pegel der Energiewerte A'(m) in jeder Frequenzgruppe.

In den folgenden Schritten 130138 führt der DSP 106 verschiedene Tests aus, um eine gültige Tonerkennung sicherzustellen. In den Schritten 130 und 132 führt der DSP 106 erfindungsgemäß statische und dynamische Schwellenwertbildung durch, um sicherzustellen, daß die Energiewerte A'(m) bestimmte Grundkriterien erfüllen. Die statische und die dynamische Schwellenwertbildung der Schritte 130 und 132 eliminieren ungültige DTMF Töne basierend auf dem Signalpegel und dem Signal/Rauschverhältnis.

Nachdem die statische und dynamische Schwellenwertbildung in den Schritten 130 und 132 durchgeführt wurden, führt der DSP 106 im Schritt 134 die zweite harmonische Schwellenwertbildung durch, um eine durch Sprache ausgelöste Erkennung zu verhindern. Der erfindungsgemäße DTMF Detektor prüft die zweite Harmonische der fundamentalen DTMF Frequenzen unter Verwendung eines neuartigen Vergleichsverfahrens, das Sprachsignale weiter von DTMF Signalen unterscheidet.

Im Schritt 136 führt der DSP eine Schutzzeitprüfung durch, um die Frequenzdomänenergebnisse auszuwerten und sicherzustellen, daß das Signal wenigstens eine bestimmte Zeitdauer hat. Die Schutzzeitprüfung wertet die maximalen Energiewerte in bezug auf vorherige oder nachfolgende Blöcke für eine verbesserte Erkennung aus. Im Schritt 138 führt der DSP 106 einen Verdrehungsvergleich und Schwellenwertbildung aus. Die vorliegende Erfindung verwendet ein neuartiges Verdrehungsvergleichsverfahren, das den Verdrehungsvergleich nur durchführt, wenn das empfangene Signal stabil ist, wodurch die Genauigkeit erhöht wird. Nachdem die Verdrehungsberechnung im Schritt 138 durchgeführt wurde, decodiert der DSP im Schritt 140 die Ziffer, welche die Spalten- und Reihenindizes benutzt, und gibt die gedrückte DTMF Ziffer unter den empfangenen DTMF Signalen aus. Wie in 2 dargestellt, wird, wenn einer der Schritte 130140 versagt, keine Erkennung angezeigt.

Schritt 124 – Goertzel DFT mit variablen Blocklängen

Im Schritt 124 der 2 empfängt der DSP 106 das digitale Signal x(n) von dem Codec 104 und führt vorzugsweise die Goertzel DFT für jede der möglichen Tonfrequenzen unter Verwendung variierender oder differierender Blocklängen durch. Wie im Abschnitt zum Stand der Technik erörtert umfasst das Decodieren eines DTMF Signals das Erkennen von zwei Tönen im empfangenen Signal und das anschließende Bestimmen der vom Bediener am Senderende gedrückten Nummer basierend auf den Werten der erkannten Töne. Allgemein beinhaltet ein MTFM Signal das Erkennen mehrerer Töne im empfangenen Signal. Im bevorzugten Ausführungsbeispiel führen das System und das Verfahren die Goertzel DFT für jede der möglichen Tonfrequenzen unter Verwendung variierender oder differierender Blocklängen durch. Es sei jedoch darauf hingewiesen, daß ein beliebiges von verschiedenen Arten von Frequenzdomänenverfahren, mit oder ohne differierende Blockbreiten, nach Belieben verwendet werden kann.

Die CCITT Empfehlungen Q.23 und Q.24 im "Red Book", Band Vi, definieren zwei Gruppen von Frequenzen, die für die In-Band-Signalgebung verwendet werden. Die Gruppe 1 umfasst die Frequenzen 697 Hz, 770 Hz, 852 Hz und 941 Hz, und diese Frequenzen identifizieren die Reihen der Telefontatstatur, und die Gruppe 2 umfasst die Frequenzen 1209 Hz, 1336 Hz, 1477 Hz und 1633 Hz und diese Frequenzen definieren die Spalten der Telefontastatur. Die DTMF Signale weisen jeweils eine Reihen- und eine Spaltenfrequenz auf, und diese Signale werden unter Verwendung der folgenden Tabelle zugewiesen.

Tabelle 1: DTMF Frequenzzuweisungen

Die Erkennung der Zweitöne erfolgt durch mathematisches Transformieren des Eingangszeitdomänensignals in die Frequenzdomäne unter Verwendung verschiedener Fourier-Transformationsverfahren. Wie bekannt wird die diskrete Fourier-Transformation (DFT) allgemein verwendet, um diskrete Zeitdomänensignale in deren diskrete Frequenzdomänenkomponenten zu transformieren. Wie zuvor ebenfalls erwähnt, ist der Goertzel-Algorithmus ein beliebtes Verfahren zur Durchführung der DFT-Berechnung. Der Goertzel-Algorithmus bietet die Genauigkeit einer DFT-basierten Berechnung und weist gleichzeitig eine erhöhte rechnerische Effizienz auf, die mit Schmalbandfilter-Algorithmen vergleichbar sind.

Im allgemeinen ist die herkömmliche Verwendung des Goertzel-Algorithmus ähnlich dem DFT Verfahren und wird durch Berechnen von Frequenzdomänenwerten an den gewünschten diskreten Punkten durchgeführt. Infolgedessen hat der Goertzel-Algorithmus auch den Nachteil der DFT, wodurch die berechneten Ergebnisse möglicherweise nicht ausreichend nahe den gewünschten zu erkennenden Frequenzen sind, wodurch die Genauigkeit erheblich verringert wird. Dies wird als der Leck-Effekt bezeichnet. Anders ausgedrückt: der DTMF Detektor 102 erkennt Zweitöne, die an spezifizierten vordefinierten Frequenzen auftreten. Bei dem bevorzugten Ausführungsbeispiel sind diese Frequenzen 697 Hz, 770 Hz, 852 Hz, 941 Hz, 1209 Hz, 1336 Hz, 1477 Hz und 1633 Hz. Die Frequenzen im DTMF Standard sind nicht mit gleichen Inkrementen beabstandet, sondern vielmehr willkürlich unkorreliert gewählt, um eine genauere Erkennung zu erreichen.

Infolgedessen sind, wenn das herkömmliche Verfahren mit einer festen Zahl N (Blockgröße) im Goertzel-Algorithmus verwendet wird, die Frequenzen nicht ursprünglich an den Frequenzstellen ausgerichtet. Der Effekt ist, daß die gewünschten sich nicht exakt an den Frequenzstellen (Mehrfache von Fs/N) befinden. Dies bewirkt eine Verteilung der Energie auf benachbarte Frequenzstellen, das als Lecken bezeichnet wird. Das Lecken kann die Genauigkeit des Frequenzdomänenausgangs erheblich verringern. Die folgende Tabelle zeigt den Effekt des Leckens unter Verwendung eines Beispiels des Goertzel-Algorithmus für die DTMF Frequenz 852 Hz (N = 205).

Tabelle 2: Effekt des Leckens K = N*f/fs

Allgemein hat sich gezeigt, daß eine feste Blockgröße von 205 Punkten den geringsten Fehler in einer Goertzel/DFT-Berechnung erzeugt. Die inhärente Eigenschaft der DFT erfordert eine FNT gleich 1, wobei F die Frequenzdomänenauflösung, N die Blockgröße die Zahl der Abtastungen und auch die berechnete Anzahl der Ausgänge in der Frequenzdomäne, und T die kleinste Periode bezeichnet und gleich 1/Fs ist, wobei Fs die Abtastfrequenz ist. Bei Telefonieanwendungen ist die Periode T gleich 1/Fs = 1/8000. um eine ausreichende Auflösung zu erreichen, muß die Blockgröße sehr groß sein. Infolgedessen ist die Erkennung von Sprache allgemein langsam und der Rechenaufwand ist für jedes Ergebnis größer. Schlimmer noch: ein große Blockgröße kann dazu führen, daß die Erkennungsgeschwindigkeit Telekommunikationsstandards nicht erfüllt.

Daher berechnen bekannte DTMF Detektoren, welche den Goertzel-Algorithmus und/oder DFT verwenden, und welche eine feste Blockgröße N einsetzen, nur Frequenzdomänenwerte in Mehrfachen von Fs/N, wobei Fs die Abtastfrequenz, üblicherweise 8000 Hz für Telefonieanwendungen ist. Wenn beispielsweise Fs = 8000 Hz und N = 100 Abtastpunkte, berechnet der Goertzel-Algorithmus nur Ergebnisse bei 80 Hz, 160 Hz, 240 Hz, etc.. Zusammenfassend kann, da die DTMF Standardfrequenzwerte als nicht korreliert ausgelegt sind, allgemein kein einzelner Blockgrößenwert gewählt werden, der zu sämtlichen gewünschten Frequenzen an den Stellen führt.

Daher führt das System des bevorzugten Ausführungsbeispiels den Goertzel-Algorithmus unter Verwendung einer variierenden oder differierenden Blockgröße N für mehrere der DTMF Frequenzen aus, um eine bessere Genauigkeit und Effizienz zu erreichen. Der erfindungsgemäße DTMF Detektor 102 verwendet vorzugsweise eine andere Blockgröße für verschiedene DTMF Tonfrequenzen und passt sodann die Verstärkung an, nachdem die Frequenzdomänenwerte berechnet wurden. Dies schafft eine verbesserte Genauigkeit und Geschwindigkeit gegenüber bekannten Verfahren. Der erfindungsgemäße DTMF Detektor 102 schafft eine bessere Frequenzverzerrungstoleranz und eine bessere Verdrehungstoleranz.

Im Schritt 124 der 2 wendet der DSP 106 das Goertzel-DFT-Verfahren unter Verwendung verschiedener Blocklängen an. Wie gezeigt, empfängt der DSP 106 ein als x(n) bezeichnetes digitales Signal, wobei das digitale Signal x(n) mehrere Abtastungen eines empfangenen Signals umfasst. Nach 3 berechnet der DSP effektiv 16 Goertzel-DFT mit unterschiedlichen Blocklängen N(1)–N(16). Die unterschiedlichen Blocklängen für jede der Goertzel-DFT sind:

N(1), N(9) = 172;

N(2), N(10) = 177;

N(3), N(11) = 178;

N(4), N(12) = 178;

N(5), N(13) = 172;

N(6), N(14) = 168

N(7), N(15) = 168

N(8), N(16) = l76

Wie in 3 dargestellt ist die Operation des DSP als 16 Goertzel-DFT-Blöcke dargestellt, die mit GDFT(1)–GDFT(16) bezeichnet sind. Jeder der Goertzel-GDFT-Blöcke GDFT(1)–GDFT(16) erzeugt einen jeweiligen Wert A(1)–A(16). Die Werte A(1)–A(16) bestehen aus vier kleineren Untergruppen. Der Ausgang jedes Goertzel-DFT-Blocks ist proportional zur Quadratwurzel der Energie bei jeweiligen Frequenzen. Die Goertzel-DFT-Ausgänge umfassen Frequenzdomänenwerte. Bei dem bevorzugten Ausführungsbeispiel berechnet das System das Quadrat des Frequenzdomänenwerte, um Energiewerte zu erzeugen, und die Energiewerte werden sodann in nachfolgenden Berechnungen verwendet.

Die Werte A(1)–A(16) werden jeweils an jeweilige Multiplizierer geliefert, welche den jeweiligen A(n) Wert mit einer entsprechenden Verstärkung multiplizieren. Diese Multiplizierer entsprechen der Verstärkungseinstellung im Schritt (126) der 2.

4 zeigt ein Diagramm der Operation des Goertzel-Algorithmus. Wie zuvor erwähnt bewertet der Goertzel-Algorithmus die DFT der Eingangsdaten mit reduziertem Rechenaufwand und erhöhter Effizienz. Die Operation des Goertzel-Algorithmus ist ähnlich einer Filterimplementierung, bei der der Goertzel-Algorithmus keinen Puffer von Eingangsdatenelementen vor der Operation benötigt, sondern vielmehr ein neues Ausgangsergebnis bei jedem Auftreten einer neuen Eingangsabtastung berechnet. Wie in 4 dargestellt führt der Goertzel-Algorithmus eine rekursive Berechnung zweiter Ordnung der DFT aus, indem er einen neuen Yk(n) Ausgang für jede neue Eingangsabtastung x(n) berechnet. Das DFT Ergebnis, das als X(k) bezeichnet wird, ist äquivalent zu YK(n), wenn n = N, d. h. X(k) = Yk(N). wie in 4 dargestellt kann die Operation des Goertzel-Algorithmus in zwei Phasen unterteilt werden. Die erste Phase umfaßt das Berechnen der Rückkopplungen in 4. die zweite Phase berechnet die Mitkopplung wenn n = N und wertet somit den Wert X(k) aus. Wie zuvor erörtert führt im bevorzugten Ausführungsbeispiel der DSP 106 den in 4 dargestellten Goertzel-Algorithmus unter Verwendung einer unterschiedlichen Blocklänge für unterschiedliche DTMF Frequenzwerte durch.

Nachdem die Goertzel-DFT auf das empfangene digitale Signal unter Verwendung variabler Blocklängen im Schritt 124 angewendet wurde, ergibt sich eine Vielzahl von Frequenzspektrenwerten A(m), die den 8 Standardfrequenzen oder Tönen für die erste und die zweite Harmonische entsprechen.

Die folgenden beiden Tabellen vergleichen die Goertzel-Algorithmusanwendung unter Verwendung einer festen Blockgröße und einer variablen Blockgröße. Die erste Tabelle zeigt ein Beispiel, das N = 205 als die feste Blockgröße verwendet, und zeigt die K Fehler. Es sei darauf hingewiesen, daß eine feste Blockgröße von N = 205 die bestmögliche Wahl ist und die geringsten Fehler für sämtliche K Werte erzeugt. K = N*f/fs = 205*f/8000 = 0,025625 f

Die Transfertunktion für die Goertzel-Algorithmus-Rückkopplungsphase ist

wobei
was mit jeder Abtastung im Block operiert. Am Ende des Blocks wird eine Mitkopplungsphase berechnet, wobei verwendet wird:

Daher ist die Gesamttransferfunktion für den Goertzel-Algorithmus:

Dies ist ein Schmalbandpassfilter und hat einen sehr abrupten Übergang. Basierend auf den genannten Informationen ist es sehr wichtig, den Fehler der K Werte zu verringern.

Wie zuvor erörtert verwenden das erfindungsgemäße System und das erfindungsgemäße Verfahren verschiedene N Werte für verschiedene Frequenzen. Die folgende Tabelle beschreibt die verschiedenen N Werte oder Blockgrößen entsprechend dem bevorzugten Ausführungsbeispiel der Erfindung für die verschiedenen DTMF Tonfrequenzen. Die Tabelle zeigt ferner die zugehörigen K Fehler.

Unter Verwendung dieses Verfahrens verringert die vorliegende Erfindung den K Fehler auf weniger als 0,3% im Vergleich zu bis zu 1,35% für bekannte Verfahren, die feste N verwenden. Darüber hinaus werden die N Werte oder Blockgrößen von 205 auf 187 oder weniger verringert, wodurch eine um 15% oder mehr frühere Erkennung möglich ist. Daher verwendet der DSP 106 vorzugsweise bis zu 178 digitale Sprachabtastungen, die in den Goertzel-Algorithmus eingegeben werden. Eine andere Zahl dieser Abtastungen wird für die verschiedenen Tonfrequenzen verwendet. Das Anwenden des Goertzel-Algorithmus erzeugt eine Gruppe von 16 Frequenzdomänenwerten, wobei die Ausgänge im Grunde diskrete Fourier-Transformationsergebnisse sind. Acht dieser Werte sind für die fundamentalen Frequenzen und acht für die zweite Harmonische vorgesehen. Dies ist in den 3 und 4 dargestellt.

Die meisten DFT/Goertzel-basierten Algorithmen erfüllen die erforderlichen Frequenzverzerrungstoleranzen nur mit Mühe. Die Frequenzverzerrungstoleranz erfordert, daß sämtliche DTMF Signale mit einem bestimmten Prozentsatz an Frequenzverzerrung als gültige DTMF Töne erkannt werden müssen. Wenn jedoch die Verzerrung einen bestimmten höheren Prozentsatz übersteigt, muss die Erkennung verweigert werden. Die Frequenzverzerrungstoleranzkriterien sind im folgenden beschrieben.

Fdtmf sei eine Standardfrequenz und F sei die tatsächliche Frequenz. Es gilt

wenn Fdtmf*(1 – 1,5/%) < F < Fdtmf*(1 + 1,5%), dann ist es ein gültiger Ton

wenn F > Fdtmf*(1 + 3,5%) oder F < Fdtmf*(1 – 3,5%), dann ist es kein gültiger Ton

Ein Vorteil der Verwendung variabler oder unterschiedlicher Blockgrößen ist, daß der DTFM Detektor 102 leichter die erforderliche Frequenzverzerrungstoleranz erfüllt. Wenn die gewünschte Frequenz exakt an der Erkennungsfrequenz des Goertzel-Algorithmus liegt, verringern +2,5% Fehler in der Eingangsfrequenz den Ausgang um den selben Betrag als einen –2,5% Fehler im Signal. Der Grund ist, daß beide Fehler gleich weit von der Stelle entfernt sind. Dies ist nicht der Fall, wenn die gewünschte Frequenz einen Fehler bezüglich der Stelle aufweist, wobei darauf hingewiesen sei, daß ein Fehler unvermeidbar ist, wenn eine feste Blockgröße verwendet wird. Es sei beispielsweise angenommen, daß die gewünschte Frequenz 2,0% größer als die Frequenzstelle ist. In diesem Beispiel bringt ein –2%-iger Fehler des Eingangssignals die Frequenz näher an die Stelle und erzeugt das größte Ausgangsergebnis. Andererseits bewegt ein +2,5%-iger Fehler die Frequenz weiter von der Stelle weg und erzeugt einen sehr geringen Ausgang. Der asymmetrische Effekt erschwert das Festsetzen einer Schwelle für die Frequenzverzerrungstoleranzprüfung, weshalb die sehr stringenten Telekommunikationsstandards verfehlt werden. Erhebliche Rechenressourcen sind erforderlich, um festzustellen, ob ein Energiewert sich auf der rechten oder der linken Seite der Frequenzstelle befindet. Das Setzen von verschiedenen Schwellenwerten für die linke und die rechte Verzerrung, d. h. eine tatsächliche Frequenz, die größer oder kleiner als die gewünschte Frequenz ist, ist keine adäquate Lösung.

Schritt 126 – Verstärkungseinstellung

Im Schritt 126 führt der DSP 106 vorzugsweise eine Verstärkungseinstellung durch, wie in 3 dargestellt. Das Berechnen des Frequenzspektrums unter Verwendung von verschiedenen Blocklängen N erzeugt unterschiedliche Energiegehalte in mehreren der Energiewerte. Der DTMF Detektor 102 multipliziert vorzugsweise einen Verstärkungswert mit jedem der Energiewerte, um die Verstärkung jedes der Energiewerte einzustellen. Es sei darauf hingewiesen, daß die Verwendung unterschiedlicher Blockbreiten bessere Ergebnisse selbst ohne Verstärkungseinstellung. Jedoch ist die Verstärkungseinstellung erwünscht, da verschiedene Blocklängen auf verschiedene Frequenzen angewendet wurden und auch da verschiedene Goertzel-Algorithmustransfertunktionen verschiedene Verstärkungen im Schmalpassband aufweisen. Das erfindungsgemäße System und das Verfahren gemäß dem bevorzugten Ausführungsbeispiel stellt somit vorzugsweise die Verstärkung ein, um die Ergebnisse in der Gruppe A(1 ... 16) korrekter zu bewerten. Nach der Verstärkungseinstellung im Schritt 126 ist das Ergebnis ein modifizierter Frequenzspektrenwert A'(m).

Die Verstärkungen wurden unter Verwendung mathematischer Verfahren berechnet und unter Laborverfahren verifiziert. Die Verstärkungseinstellungen in den bevorzugten Ausführungsbeispielen sind im folgenden aufgelistet: Freq. (Hz): Verstärkungsfaktor: 697 1.00000000 770 0.98902064 852 0.97439963 941 0.97849229 1209 1.00475907 1336 1.03484721 1477 1.02940728 1633 0.99550578

Bei dem bevorzugten Ausführungsbeispiel verwendet der DTMF Detektor 102 nicht die zweiten harmonischen Ausgänge zum Berechnen der Verdrehung. Daher ist die Verstärkungseinstellung für die zweite Harmonische weniger wichtig. Daher wird im bevorzugten Ausführungsbeispiel die Verstärkungseinstellung für die zweite Harmonische nicht ausgeführt, um Rechenressourcen zu sparen. Angenommen, der Verstärkungsfaktor für die Frequenz F1 sei G1, so wird die Verstärkungseinstellung berechnet durch: A'(1) = G1*A(1)

Dies wird an den ersten acht Elementen in der Goertzel-Ausgangsgruppe A(1 ... 8), d. h. der ersten Harmonischen, ausgeführt und die neue Gruppe A'(1 ... 16) wird erzeugt. Die neue Gruppe weist den verstärkungseingestellten Goertzel-DFT-Ausgang auf. Es sei darauf hingewiesen, daß die Gruppenelemente A(9 ... 16) nicht eingestellt sind und diese Werte somit gleich bleiben, d. h. A'(9 ... 16) = A(9 ... 16).

Schritt 128 – Bestimmen der maximalen Verstärkung in jeder Frequenzgruppe

Wie zuvor erwähnt erzeugt die Verstärkungseinstellung im Schritt 126 vier Untergruppen der ersten und der zweiten Harmonischen der Reihen- und Spaltenfrequenzen der DTMF Standardfrequenzen. Anders ausgedrückt besteht die Gruppe A(1 ... 16) aus vier kleineren Gruppen. Die Untergruppe A'(1 ... 4) umfasst die Werte für die fundamentalen Reihenfrequenzen und bestimmt die Reihe, zu der die gedrückte Taste gehört. Die Untergruppe A'(5 ... 8) umfaßt die Werte für die fundamentalen Spaltenfrequenzen und bestimmt die Spalte, zu der die gedrückte Taste gehört. Die Untergruppe A'(9 ... 12) umfasst die DFT Werte für die zweite Harmonische der Reihenfrequenzen und die Untergruppe A'(13 ... 16) umfasst die Werte für die zweite Harmonische für die Spaltenfrequenzen.

5 zeigt ein Blockdiagramm zur Darstellung der Operation des Schritts 128 in 2. Wie in 5 dargestellt ist die Operation des DSP 106 als vier Blöcke 151, 152, 153 und 154 dargestellt, wobei jeder der Blöcke den Wert in der jeweiligen Untergruppe bestimmt, der den maximalen Wert oder die maximale Verstärkung aufweist. Die Blöcke 151 und 152 der zwei ersten harmonischen Untergruppen erhalten ferner den jeweiligen Index des maximalen Verstärkungswerts. Die Blöcke 151 und 152 der Untergruppen A'(1 ... 4) und A'(5 ... 8) liefern jeweils Ausgänge, die den maximalen Wert in der Untergruppe und den jeweiligen Index enthalten. Die Blöcke 153 und 154 für die Untergruppen A'(9 ... 12) und A'(13 ... 16) liefern Ausgänge, welche den jeweiligen maximalen Wert in jeder der Untergruppen enthalten.

Im Schritt 128 bestimmt der DSP 106 den maximalen Wert in den beiden ersten Untergruppen und die jeweiligen Indizes in der Unteranordnung. Dieser Schritt kann unter Verwendung von Pseudocode beschrieben werden:

Somit erhält im Schritt 128 der DSP 106 die maximalen Werte der Reihen- und Spaltenfrequenzgruppe (M(1), M(2)) und deren jeweiligen Index (I(1), I(2)) für die ersten harmonischen Untergruppen. Im bevorzugten Ausführungsbeispiel bestimmt der DSP 106 nicht die Indizes für die zweite Harmonische. Vielmehr erhält der DSP 106 den maximalen Frequenzausgang der zweiten Harmonischen der Reihenfrequenz, M(3), und den maximalen Frequenzausgang für die zweite Harmonische der Spaltenfrequenz, M(4), wie in 5 dargestellt.

Schritte 130 und 132 – Statische und dynamische Schwellenwertbildung

Das erfindungsgemäße System und Verfahren führt sowohl eine statische und dynamische Schwellenwertbildung aus. Die erfindungsgemäße statische und dynamische Schwellenwertbildung verbessert den funktionalen dynamischen Vereich und die Rauschunempfindlichkeit des DTMF Detektors. Die vorliegende Erfindung erweitert somit den funktionalen dynamischen Eingangssignalbereich und hat eine größere Sprach/Rauschunempfindlichkeit, d. h. sie ist eher in der Lage, eine Erkennung zu vermeiden, die durch Sprache oder Rauschen ausgelöst wird. Die in den Schritten 130 und 132 ausgeführte statische und dynamische Schwellenwertbildung eliminiert ungültige DTMF Töne basierend auf dem Signalpegel und dem Signal/Rauschverhältnis. Die Verwendung statischer und dynamischer Schwellenwertbildung ermöglicht das Einstellen eines niedrigen Schwellenwerts, wodurch der DTMF Detektor mit einem weiteren dynamischen Bereich versehen wird. Die dynamische Schwellenwertbildung im Schritt 132 führt im wesentlichen eine Signal/Rauschschätzung durch, wobei vorzugsweise das Verhältnis zwischen dem maximalen Wert in der Gruppe und den anderen Werten in der Untergruppe verwendet wird. Die im Schritt 132 durchgeführte dynamische Schwellenwertbildung führt einen Schwellenwertvergleich mit dem berechneten Signal/Rauschverhältnis durch, welches effektiv durch Rauschen oder Sprache ausgelöste Erkennung verhindert, d. h. eine bessere Sprachunempfindlichkeit bietet.

6 zeigt ein Ablaufdiagramm zur Darstellung der Operation der statischen Schwellenwertbildung des Schritts 130. Die maximalen Werte der ersten beiden Untergruppen, welche den ersten harmonischen Reihen- und Spaltenfrequenzwerten entsprechen, werden in dem statischen Schwellenwertschritt 130 empfangen. Im Schritt 242 stellt der DSP 106 fest, ob M(1) > Ts, d. h. ob der maximale Wert der ersten Untergruppe größer als Ts ist. Wenn nicht, erfolgt keine Erkennung und die Operation ist abgeschlossen. Wenn M(1) > Ts im Schritt 242, so stellt der DSP 106 im Schritt 244 fest, ob der Wert M(2) größer als Ts ist. Wenn nicht, wird wiederum keine Erkennung festgestellt. Wenn M(1) und M(2) größer als der Schwellenwert Ts sind, wird eine dynamische Schwellenwertbildung mit diesen Werten im Schritt 132 der 2 ausgeführt.

7 zeigt die dynamische Schwellenwertbildung im Schritt 132. Wie dargestellt berechnet der dynamische Schwellenwertbildungsschritt Signal/Rauschverhältnisse unter Verwendung der Verhältnisse der maximalen Energiewerte M(1) und M(2) zu den anderen Energiewerten in jeder jeweiligen Gruppe.

Wie dargestellt berechet der DSP 106 das Verhältnis des maximalen Werts M(1) in der ersten Untergruppe zu jedem der anderen Werte in der ersten Untergruppe, bezeichnet als A'(u), A'(v) und A'(w). diese anderen Werte in der Untergruppe umfassen die Werte in der ersten Untergruppe, die von den maximalen oder M(1) Werten verschieden sind. Der dynamische Schwellenwertbildungsschritt berechnet das Verhältnis des maximalen Werts m(1) in der ersten Untergruppe zu den anderen drei Werten in der Untergruppe, d. h. drei der Werte von A'(1), A'(2), A'(3) und A'(4), ausschließlich des Maximums dieser Werte, das als M(1) bezeichnet wird. Diese anderen drei Werte werden als A'(u), A'(v) und A'(w) in 7 bezeichnet.

Der dynamische Schwellenwertbildungsschritt vergleicht die genannten berechneten Verhältnisse mit einem Schwellenwert Td. Das Verhältnis des maximalen Werts in der ersten Untergruppe zu jedem der anderen Werte in der ersten Untergruppe berechnet im wesentlichen das Signal/Rauschverhältnis (SNR) der empfangenen Signale. Die dynamische Schwellenwertbildung stellt sicher, daß das Verhältnis des maximalen Werts M(1) in der ersten Untergruppe zu jedem der anderen Werte in der ersten Untergruppe, d. h. das Signal/Rauschverhältnis, größer als der Schwellenwert Td ist. Wenn das Verhältnis des maximalen Werts M(1) in der ersten Untergruppe zu einem der anderen Werte in der ersten Untergruppe nicht größer als der Schwellenwert Td ist, setzt der DSP 106 einen Signal/Rauschverhältnisfehler, und es wird keine Erkennung angezeigt.

Ähnlich berechnet der DSP 106 im Schritt 132 das Verhältnis des maximalen Werts M(2) in der zweiten Untergruppe zu jedem der anderen Werte in der zweiten Untergruppe, bezeichnet als A'(x), A'(y) und A'(z). Diese anderen Werte in der Untergruppe umfassen die Werte in der zweiten Untergruppe, die von dem maximalen oder M(2) Wert verschieden sind. Der dynamische Schwellenwertschritt berechnet somit das Verhältnis des maximalen Werts M(3) in der zweiten Untergruppe zu den anderen drei Werten der Untergruppe, d. h. drei der Werte A'(5), A'(6), A'(7) und A'(8), ausschließlich des Maximums dieser Werte, das als M(2) bezeichnet wird. Diese anderen drei Werte werden in 7 als A'(x), A'(y) und A'(z).

Der dynamische Schwellenwertbildungsschritt vergleicht die zuvor berechneten Verhältnisse mit dem Schwellenwert Td. Wie zuvor erwähnt berechnet das Verhältnis des maximalen Werts in der zweiten Untergruppe zu den anderen drei Werten der Untergruppe im wesentlichen das Signal/Rauschverhältnis (SNR) der empfangenen Signale. Die dynamische Schwellenwertbildung stellt sicher, daß das Verhältnis des maximalen Werts M(2) in der zweiten Untergruppe zu jedem der anderen Werte in der zweiten Untergruppe, d. h. das Signal/Rauschverhältnis, größer als der Schwellenwert Td ist. Wenn das Verhältnis des maximalen Werts M(2) in der zweiten Untergruppe zu einem der anderen Werte in der zweiten Untergruppe nicht größer als der Schwellenwert Td ist, setzt der DSP 106 einen Signal/Rauschverhältnisfehler, und es wird keine Erkennung angezeigt.

In 7 vergleicht der DSP 106 das Verhältnis des maximalen Werts M(1) zu jedem der anderen Werte in der Untergruppe mit einem Wert Td und setzt einen SNR Fehler, wenn eines der Verhältnisse kleiner als Td ist. Der DSP 106 vergleicht gleichermaßen das Verhältnis des maximalen Werts M(2) zu jedem der anderen Werte in der Untergruppe mit dem Wert Td und setzt den SNR Fehler, wenn eines der Verhältnisse kleiner als Td ist. Da Td = 10(erforderliches SNR, in dB), bedeutet der SNR Fehler, daß der Spalten- und/oder der Reihenfrequenzwert nicht dem erforderlichen SNR entspricht. Wenn der SNR Fehler gesetzt ist, wird keine Erkennung angezeigt. Bei einem Ausführungsbeispiel, bei dem der Standard ein SNR von 12 dB erfordert, ist der dynamische Schwellenwert Td vorzugsweise gesetzt, um sicherzustellen, daß M(1) wenigstens vier mal so groß wie andere Werte in der jeweiligen Untergruppe ist, und daß M(2) wenigstens viermal so groß wie andere Werte in der jeweiligen zweiten Untergruppe ist.

Die durch den Gortzel-Algorithmus und die Verstärkungsanpassung erhaltenen Frequenzdomänenwerte (A'(1 ... 16)) werden mit Schwellenwerten verglichen, wobei sowohl statische, als auch dynamische Verfahren verwendet werden. Im bevorzugten Ausführungsbeispiel ist der statische Schwellenwert auf 6 gesetzt (was einen theoretischen funktionalen dynamischen Bereich von über 50 dB ergibt), und der dynamische Schwellenwert ist auf 4 (ungefähr 12 dB) eingestellt. Dies ermöglicht die Erkennung sehr kleiner DTMF Signale (weiter dynamischer Bereich), so lange die Signale ein akzeptables Signalrauchverhältnis haben. Dies eliminiert ferner effektiv den größten Teil des inaktiven Kanalrauschens, der Sprache und des weißen Rauschens.

Wie zuvor beschrieben berechnet das Verhältnis des maximalen Werts in einer Untergruppe zu jedem der anderen Werte in der Untergruppe im wesentlichen das Signal/Rauschverhältnis (SNR) der empfangenen Signale. Die dynamische Schwellenwertbildung stellt sicher, daß das Verhältnis des maximalen Werts M(1) in der ersten Untergruppe zu jedem der anderen Werte in der ersten Untergruppe größer als der Schwellenwert Td ist. Gleichermaßen stellt die dynamische Schwellenwertbildung sicher, daß das Verhältnis des maximalen Werts M(2) in der zweiten Untergruppe zu jedem der anderen Werte in der zweiten Untergruppe größer als der Schwellenwert Td ist. Wenn eines der Verhältnisse nicht größer als der Schwellenwert ist, wird ein SNR Fehler gesetzt. Das Setzen des SNR Fehlers bedeutet, daß die Spalten- und/oder die Reihenfrequenzwerte nicht das erforderliche SNR erfüllen. Wenn der SNR Fehler gesetzt ist, wird keine Erkennung angezeigt.

Schritt 134 – Zweite harmonische Schwellenwertbildung

Im Schritt 134 führt der DSP 106 die zweite harmonische Schwellenwertbildung aus, um die Gültigkeit der erkannten Töne weiter zu prüfen und durch Sprache ausgelöste DTMF Erkennung zu eliminieren. Dies geschieht vor der DTMF Erkennung und ist üblicherweise eine kontinuierliche Aufgabe des DSP 106, selbst nachdem der Kanal hergestellt ist. Die menschliche Stimme, insbesondere die weibliche Stimme, kann einen große Menge von Energiekomponenten über 1000 Hz haben und als DTMF Signal missgedeutet werden. Auch kann Musik eine DTMF Erkennung auslösen. Die Spracherkennung und /oder Sprachunempfindlichkeit ist ein sehr wichtiges Kriterium zur Bewertung der Qualität eines DTMF Detektors.

Wie zuvor erörtert ist ein echtes DTMF Signal die Summe zweier Sinuswellenformen und hat zwei Steile Peaks in der Frequenzdomäne. Eine echtes DTMF Signal weist keine wesentliche Energie bei zweiten oder höheren Harmonischen auf. Sprache hat andererseits generell stets eine erhebliche Energiemenge bei der zweiten oder höheren Harmonischen. Dieses Merkmal der Sprache macht es einfacher, Sprache von einem DTMF Signal zu unterscheiden. Der DTMF Detektor 102 prüft somit die zweite Harmonische der fundamentalen DTMF Frequenz.

Bekannte Verfahren haben üblicherweise den Wert der zweiten Harmonischen A'(9 ... 16) untersucht. Erfindungsgemäß vergleicht der DSP 106 die zweite Harmonische mit den Werten der fundamentalen Harmonischen A'(1 ... 8). der DSP 106 berechnet das Verhältnis von M(1)/M(3) und M(2)/M(4) und vergleicht die Ergebnisse mit einem voreingestellten Schwellenwert.

Es sei darauf hingewiesen, daß das Verhältnis A'(i)/A'(i + 8) (angenommen A'(i) ist der größte Wert der Gruppe) nicht verwendet wird, da, wenn die Stimme einige Energie bei einer Frequenz aufweist, die x% von der Stelle entfernt ist, die zweite Harmonische eine Entfernung von 2x% von der zweiten harmonischen Stelle hat. Daher verwendet der DSP 106 den maximalen Wert in der zweiten harmonischen Gruppe, um eine Schätzung der Energie bei der zweiten Harmonischen vorzunehmen. Dies ist für die Talk-off-Leistung des DTMF Detektors vorteilhaft.

8 zeigt ein Ablaufdiagramm der Operation der zweiten harmonischen Schwellenwertbildung im Schritt 134 der 2. wie gezeigt vergleicht in 8 der DSP 106 das Verhältnis der maximalen Werte der ersten und der zweiten Harmonischen, M1/M3, mit dem Schwellenwert Tsh, und vergleicht ferner das Verhältnis der maximalen Werte der ersten und der zweiten Harmonischen der Spaltenfrequenz, d. h. das Verhältnis M2/M4, und stellt fest, ob dieser Wert größer als der Schwellenwert tsh ist. Wenn eines der Verhältnisse M1/M3 oder M2/M4 nicht größer als der Schwellenwert Tsh ist, wird ein Sprachfehlersignal erzeugt, das angibt, daß das erkannte Signal tatsächlich Sprache und nicht einem DTMF Signal entspricht.

Schritt 136 – Schutzzeitprüfung

Die vorliegende Erfindung offenbart ein verbessertes Schutzzeitprüfverfahren, das die Schwierigkeit des Erfüllens der Schutzzeitleistungsanforderungen überwindet, wenn auf Blöcken basierende Verarbeitungsverfahren (beispielsweise der Goertzel-Algorithmus) verwendet werden. Die vorliegende Erfindung verwendet ferner einen größeren Abschaltdauerwert (der jedoch geringer als Ti ist) wie im folgenden beschrieben. Ein größerer Abschaltdauerwert bietet eine bessere Talk-off-Leistung des DTMF Detektors. Dies ist darin begründet, daß "falsche DTMF Signale", die durch Sprache ausgelöst werden, eine geringe Dauer haben, während sie ferner eine Frequenzdomänenenergiepräsentation haben, die wie ein DTMF Signal erscheint.

Der Schutzzeitparameter erfordert, dass alle DTMF Signale mit einer Dauer von mehr als T1 als gültige DTMF Töne erkannt werden, d. h. es sind keine Ausfälle zulässig, während sämtliche DTMF Signale, die kürzer als T2 (T2 < T1) sind, nicht als gültige DTMF Signale erkannt werden können. Sämtliche Töne mit einer Dauer zwischen T1 und T2 sind "Don't care", was bedeutet, daß der Detektor die Flexibilität hat, entweder das Signal zu erkennen oder zu missachten. Im allgemeinen gilt es als erwünscht, einen festen Grenzwert zu haben, um die Schutzzeitleistung zu garantieren.

Der AT&T Standard und die meisten anderen Standards erfordern, daß jede DTMF Sequenz, die länger als 40 ms ist, akzeptiert werden muß, wenn sie alle anderen Kriterien erfüllt. Eine DTMF Sequenz, die kürzer als 20 ms ist, sollte nie erkannt werden. Da der erfindungsgemäße DTMF Detektor 102 die Sprachabtastungen als Blöcke verarbeitet, vergleicht der DTMF Detektor 102 die maximalen Werte M(1) und M(2) mit Werten des vorherigen Blocks und des nachfolgenden Blocks, um festzustellen, ob das DTMF Signal zumindest 40 ms dauert.

9 ist ein Ablaufdiagramm zur Darstellung der Schutzzeitprüfung im Schritt 136 der 1. im Schritt 312 stellt der DSP 106 fest, ob die Indexwerte I(1) und I'(1) gleich sind und ob die Indexwerte I(2) und I'(2) gleich sind. Dieser Schritt stellt somit fest, ob das DTMF Signal über eine bestimmte Zeit dauert. Insbesondere stellt der Schritt fest, ob die Indizes der maximalen Werte in aufeinanderfolgenden Blöcken identisch sind. Wenn ja, berechnet im Schritt 314 der DSP 106 das Verhältnis oder die Verstärkung des maximalen Werts aus dem aktuellen und vorherigen Blöcken für jede der Reihen- und Spaltenfrequenzen. Anders ausgedrückt berechnet der DSP 106 im Schritt 314: G(1) = M(1)/M'(1); G(2) = M(2)/M'(2)

In den Schritten 316 und 318 stellt der DSP 106 fest, ob die berechneten Verhältnisse G1 und G2 in einem Bereich > I/TG und < TG liegen.

Wenn der DSP 106 ein DTMF Signal erkennt, das sämtliche zuvor in den Schritten 130134 beschriebenen Kriterien erfüllt, vergleicht der DSP 106 die maximalen Werte mit den Werten des vorherigen Blocks nur, wenn die Indizes die selben bleiben. Wenn das Verhältnis, d. h. das Ergebnis des Teilens, des maximalen Werts des aktuellen und der früheren Blöcke größer als der Wert Tg ist, passiert das Signal die Schutzzeitprüfung. Es sei darauf hingewiesen, daß der Wert Tg ein programmierbarer Wert ist, der verändert werden kann, um verschiedene Schutzzeitanforderung zu erfüllen. Der Wert Tg beträgt vorzugsweise 2,5. Im Schritt 136 der 2 stellt der DTMF Detektor 102 vorzugsweise fest, ob das erkannte Signal ausreichend lang ist, um tatsächlich ein DTMF Signal zu sein.

Ist die Schutzzeitprüfung nicht erfolgreich, wartet der DSP 106 auf die Berechnung des nächsten Blocks und vergleicht den maximalen Wert des aktuellen Blocks mit dem maximalen Wert im nächsten Block, wobei angenommen wird, daß die Reihen- und Spaltenindizes gleich bleiben. Wenn das Ergebnis größer als Tg ist, passiert das Signal noch die Schutzzeitprüfung. Ist der Vergleich erneut nicht erfolgreich, passiert das Signal des gegenwärtigen Blocks nicht die Schutzzeitprüfung und kann nicht als gültiges DTMF Signal erkannt werden.

Schritt 138 – Verdrehungsberechnung und Schwellenwertbildung

Wenn das Signal alle genannten Schritte passiert hat, ist der letzte Schritt der Auswertung die Verdrehungsprüfung. Wie die anderen zuvor beschriebenen Parameter ist die Verdrehung einweiteres wesentliches Kriterium zum Eliminieren unqualifizierter Signale. Die Verdrehung (Twist) eines DTMF Signals ist als die Pegeldifferenz in dB zwischen dem höheren und dem tieferen Ton definiert.

Wenn die Verdrehung positiv ist, ist der Ton mit dem höheren Frequenzpegel (die Spaltenfrequenz) größer als der Ton mit dem niedrigeren Frequenzpegel (Reihenfrequenz). In diesem Fall wird die Verdrehung als Vorwärtsverdrehung bezeichnet. Wenn die Verdrehung negativ ist, d. h. wenn der Ton mit dem höheren Frequenzpegel (die Spaltenfrequenz) kleiner als der Ton mit dem niedrigeren Frequenzpegel (Reihenfrequenz) ist, wird die Verdrehung als Rückwärtsverdrehung bezeichnet. Ein Telekommunikationsstandard definiert üblicherweise eine Verdrehungstoleranz zwischen einer Vorwärtsverdrehung und einer Rückwärtsverdrehung. Beispielsweise fordert AT&T

–8 dB < Verdrehung < –4 dB

Wenn ein DETM Signal durch einen Telefonkanal läuft, werden Verzerrung und Rauschen den DTMF Signal hinzugefügt und verursachen eine Phasenverzögerung. Gruppenverzögerung und sogar erhebliche Amplitudenverzerrung. Diese Faktoren verkomplizieren die Verdrehungsberechnung. Gemäß dem bevorzugten Ausführungsbeispiel führt der DTMF detektor eine Verdrehungsberechnung nur aus, wenn das Signal stabil wird. Der DSP 106 überwacht die Ausgänge M(1) und M(2), welche die verstärkungseingestellten Ausgänge des Schritts 128 sind, und aktualisiert den Verdrehungswert nur, wenn sowohl der höhere als auch der tiefere Tonpegel im gegenwärtigen Block größer als im vorherigen Block sind, wobei angenommen wird, die Reihen- und Spaltenindizes I(1) und I(2) gleich bleiben. Dieses Verfahren ist in 10 dargestellt und als der folgende Pseudocode ausgeführt.

Bei einer praktischen Implementierung wird nur ein linearer Verdrehungswert berechnet, um logarithmische Berechnung zu vermeiden, und der lineare Verdrehungswert wird sodann mit linearen Verdrehungsschwellenwerten verglichen, um festzustellen, ob die Erkennung die Verdrehungsanforderungen erfüllt.

Hinweis: Twist' ist der Verdrehungswert für den vorherigen Rahmen. I'(1) ist I(1) im vorherigen Block, I'(2) ist I(2) im vorherigen Block M'(1) ist M(1) im vorherigen Block und M'(2) ist M(2) im vorherigen Block.

DTMF Empfängerergebnisse unter Verwendung von MITEL 7292 Testband

Die folgenden Tests wurden mit dem erfindungsgemäßen DTMF Detektor unter Verwendung des Mitel 7292 Testbands durchgeführt.

Test 1: Frequenzverzerrungstoleranz
Test 2: Verdrehungstest
Test 3: Dynamischer Bereichstest

34 dB (maximaler dynamischer Eingangssignalbereich)

Test 4: Schutzzeittest 28,9 ms
Test 5: Signal/Rausch-Test
Test 6: Talk-off-Test

6 Treffer (ein echtes DTMF Signal und fünf falsche Erkennungen)

Systemanforderungen
  • Verarbeitungsleistung < 1,2 MIPS
  • ROM Nutzung 314 Wörter
  • RAM Nutzung 69 Wörter
Schlussbemerkung

Die vorliegende Erfindung schafft daher ein System und ein Verfahren zum Durchführen der DTMF Erkennung mit verbesserter Geschwindigkeit und Genauigkeit. Die vorliegende Erfindung führt sowohl statische, als auch dynamische Schwellenbildung durch, um einen größeren dynamischen Bereich, verbesserte Sprachunempfindlichkeit und eine bessere SNR-Kontrolle zu erreichen. Der erfindungsgemäße DTMF Detektor 102 weist nur 6 Treffer beim Betrieb des Mitel CM 7291 Testbandes auf, während ein Algorithmus, der weniger als 10 Treffer verzeichnet, als sehr gut erachtet wird.

Zwar wurden das erfindungsgemäße System und das erfindungsgemäße Verfahren in Verbindung mit einem bevorzugten Ausführungsbeispiel beschrieben, jedoch ist nicht beabsichtigt, die Erfindung auf die spezifische beschriebene Form zu begrenzen, sondern im Gegenteil ist beabsichtigt, derartige Alternativen, Modifikationen und Äquivalente abzudecken, die in den Rahmen der Erfindung gemäß den nachfolgenden Ansprüchen fallen.


Anspruch[de]
  1. Verfahren zum Erkennen von Mehrtonmultifrequenzsignalen (MTMF) mit den folgenden Schritten:

    – Empfangen mehrerer digitaler Abtastungen (x(n)) eines empfangenen Signals, wobei das empfangene Signal mehrere Töne enthält, die zwei oder mehr Töne aus mehreren verschiedenen nicht korrelierten Frequenzen umfassen, wobei die mehreren verschiedenen nicht korrelierten Frequenzen eine oder mehr Frequenzgruppen umfassen;

    – Berechnen eines Frequenzspektrums anhand der mehreren digitalen Abtastungen für jede der mehreren verschiedenen nicht korrelierten Frequenzen; wobei die Berechnung einen Energiewert (A(m)) für jede der mehreren nicht korrelierten Frequenzen erzeugt; und

    – Bestimmen eines Maximums oder mehrerer Maxima der Energiewerte für jede der einen oder mehr Frequenzgruppen, um die mehreren Töne im empfangenen Signal zu erkennen;

    gekennzeichnet durch die weiteren Schritte:

    – des Vergleichens jedes der einen oder mehreren maximalen Energiewerte für jede der einen oder mehreren Frequenzgruppen mit einem ersten festen Wert;

    – des Bestimmens, ob jeder der einen oder mehreren maximalen Energiewerte für jede der einen oder mehreren Frequenzgruppen größer als der erste feste Wert ist;

    – des Berechnens mehrerer Verhältnisse des einen oder der mehreren maximalen Energiewerte zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen aus jeder der einen oder mehr Frequenzgruppen;

    – des Vergleichens jedes der mehreren Verhältnisse mit einem zweiten festen Wert; und

    – des Bestimmens, ob die berechneten Verhältnisse größer als der zweite feste Wert sind.
  2. Verfahren zum Erkennen von Zweitonmultifrequenzsignalen (DTMF) mit statischer und dynamischer Schwellenwertbestimmung, mit den folgenden Schritten:

    – Empfangen mehrerer digitaler Abtastungen (x(n)) eines empfangenen Signals, wobei das empfangene Signal mehrere Töne enthält, die zwei oder mehr Töne aus mehreren verschiedenen nicht korrelierten Frequenzen umfassen, wobei die mehreren verschiedenen nicht korrelierten Frequenzen zwei oder mehr Frequenzgruppen umfassen;

    – Bestimmen von Energiewerten (A(m)) für jede der mehreren verschiedenen nicht korrelierten Frequenzen, welche zwei oder mehr Frequenzgruppen aufweisen;

    – Bestimmen eines maximalen Energiewerts unter den verschiedenen nicht korrelierten Frequenzen für jede der zwei oder mehr Frequenzgruppen;

    – Vergleichen jedes der maximalen Energiewerte für jede der zwei oder mehreren Frequenzgruppen mit einem ersten festen Wert;

    – Bestimmen, ob jeder der mehreren maximalen Energiewerte für jede der zwei oder mehreren Frequenzgruppen größer als der erste feste Wert ist;

    – Berechnen mehrerer Verhältnisse des maximalen Energiewerts zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen aus jeweiligen der zwei oder mehr Frequenzgruppen;

    – Vergleichen jedes der mehreren Verhältnisse mit einem zweiten festen Wert; und

    – Bestimmen, ob die berechneten Verhältnisse größer als der zweite feste Wert sind.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, ferner mit dem Schritt des Erkennens der mehreren Töne in dem empfangenen Signal nur, wenn im Schritt des Bestimmens festgestellt wird, daß jeder oder jeder der einen oder mehreren maximalen Energiewerte für jede der zwei oder mehr oder der einen oder mehr Frequenzgruppen größer als der erste feste Wert ist, und wenn im Schritt des Bestimmens festgestellt wird, daß die berechneten Verhältnisse größer als der zweite feste Wert sind.
  4. Verfahren nach Anspruch 1 oder Anspruch 2, ferner mit dem Schritt des Setzens einer Nichterkennung-Flag, wenn im Bestimmungsschritt festgestellt wird, daß einer oder mehrere der maximalen Energiewerte nicht größer als der erste feste Wert sind.
  5. Verfahren nach Anspruch 1 oder Anspruch 2, ferner mit dem Schritt des Setzens einer Nichterkennung-Flag, wenn im Bestimmungsschritt festgestellt wird, daß eines oder mehrere der berechneten Verhältnisse nicht größer als der zweite feste Wert sind.
  6. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem die mehreren Verhältnisse der maximalen Energiewerte zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen Signalrauschverhältnisschätzwerte des empfangenen Signals umfassen.
  7. Verfahren nach Anspruch 1 oder Anspruch 2, bei dem das Berechnen mehrerer Verhältnisse für jede der zwei oder mehr, oder der einen oder mehr Frequenzgruppen das Berechnen mehrerer Verhältnisse des oder des einen oder der mehreren Energiewerte einer jeweiligen Frequenzgruppe zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen der jeweiligen Frequenzgruppe umfaßt.
  8. Verfahren nach Anspruch 2, bei dem der erste Schwellenwert 6 ist.
  9. Verfahren nach Anspruch 2, bei dem der zweite Schwellenwert 4 ist.
  10. Mehrtonmultifrequenzdetektor zum Erkennen von Mehrtonmultifrequenzsignalen (MTMF) mit:

    – einer Einrichtung (10) zum Empfangen mehrerer digitaler Abtastungen eines empfangenen Signals, wobei das empfangene Signal mehrere Töne enthält, die zwei oder mehr Töne aus mehreren verschiedenen nicht korrelierten Frequenzen umfassen, wobei die mehreren verschiedenen nicht korrelierten Frequenzen eine oder mehr Frequenzgruppen umfassen;

    – einem Digitalsignalprozessor (106) zum Berechnen eines Frequenzspektrums anhand der mehreren digitalen Abtastungen für jede der mehreren verschiedenen nicht korrelierten Frequenzen, wobei der Digitalsignalprozessor Energiewerte für jede der mehreren verschiedenen nicht korrelierten Frequenzen, welche die eine oder mehreren Frequenzgruppen umfassen, bestimmt;

    dadurch gekennzeichnet, daß

    – der Digitalsignalprozessor (106) einen oder mehr maximale Energiewerte unter den verschiedenen nicht korrelierten Frequenzen für jede der einen oder mehr Frequenzgruppen bestimmt und jeden der einen oder mehr maximalen Energiewerte für jede der einen oder mehreren Frequenzgruppen mit einem ersten festen Wert vergleicht, wobei der Digitalsignalprozessor feststellt, ob jeder der mehreren maximalen Energiewerte für jede der einen oder mehreren Frequenzgruppen größer als der erste feste Wert ist;

    – wobei der Digitalsignalprozessor mehrere Verhältnisse des einen oder der mehreren maximalen Energiewerte zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen aus jeweiligen der einen oder mehr Frequenzgruppen berechnet, wobei der Digitalsignalprozessor jedes der mehreren Verhältnisse mit einem zweiten festen Wert vergleicht und feststellt, ob die berechneten Verhältnisse größer als der zweite feste Wert sind.
  11. Zweitonmultifrequenzdetektor (102) zum Erkennen von Zweitonmultifrequenzsignalen (DTMF) mit:

    – einer Einrichtung (103) zum Empfangen mehrerer digitaler Abtastungen eines empfangenen Signals, wobei das empfangene Signal mehrere Töne enthält, die zwei oder mehr Töne aus mehreren verschiedenen nicht korrelierten Frequenzen umfassen, wobei die mehreren verschiedenen nicht korrelierten Frequenzen zwei oder mehr Frequenzgruppen umfassen; und

    – einem Digitalsignalprozessor (106) zum Berechnen eines Frequenzspektrums anhand der mehreren digitalen Abtastungen für jede der mehreren verschiedenen nicht korrelierten Frequenzen, wobei der Digitalsignalprozessor Energiewerte für jede der mehreren verschiedenen nicht korrelierten Frequenzen, welche die zwei oder mehr Frequenzgruppen umfassen, bestimmt;

    dadurch gekennzeichnet, daß

    – der Digitalsignalprozessor (106) einen maximalen Energiewert unter den verschiedenen nicht korrelierten Frequenzen für jede der zwei oder mehr Frequenzgruppen bestimmt und jeden der maximalen Energiewerte für jede der zwei oder mehreren Frequenzgruppen mit einem ersten festen Wert vergleicht, wobei der Digitalsignalprozessor (106) feststellt, ob jeder der mehreren maximalen Energiewerte für jede der zwei oder mehr Frequenzgruppen größer als der erste feste Wert ist; und

    – der Digitalsignalprozessor (106) mehrere Verhältnisse der mehreren maximalen Energiewerte zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen aus jeweiligen der zwei oder mehr Frequenzgruppen berechnet, wobei der Digitalsignalprozessor (106) jedes der mehreren Verhältnisse mit einem zweiten festen Wert vergleicht und feststellt, ob die berechneten Verhältnisse größer als der zweite feste Wert sind.
  12. Multifrequenzdetektor nach Anspruch 10 oder 11, bei dem der Digitalsignalprozessor (106) die mehreren Töne in dem empfangenen Signal nur erkennt, wenn jeder oder jeder der einen oder mehreren maximalen Energiewerte für jede der zwei oder mehr oder der einen oder mehr Frequenzgruppen größer als der erste feste Wert ist, und die berechneten Verhältnisse größer als der zweite feste Wert sind.
  13. Multifrequenzdetektor nach Anspruch 10 oder 11, bei dem der Digitalsignalprozessor (106) eine Nichterkennung-Flag setzt, wenn einer oder mehrere der maximalen Energiewerte nicht größer als der erste feste Wert sind.
  14. Multifrequenzdetektor nach Anspruch 10 oder 11, bei dem der Digitalsignalprozessor (106) eine Nichterkennung-Flag setzt, wenn eines oder mehrere der berechneten Verhältnisse nicht größer als der zweite feste Wert sind.
  15. Multifrequenzdetektor nach Anspruch 10 oder 11, bei dem die mehreren Verhältnisse der maximalen Energiewerte zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen Signalrauschverhältnisschätzwerte des empfangenen Signals umfassen.
  16. Multifrequenzdetektor nach Anspruch 10 oder 11, bei dem der Digitalsignalprozessor (106) für jede der zwei oder mehr, oder der einen oder mehr Frequenzgruppen mehrere Verhältnisse des oder des einen oder der mehreren maximalen Energiewerte einer jeweiligen Frequenzgruppe zu anderen Energiewerten der verschiedenen nicht korrelierten Frequenzen der jeweiligen Frequenzgruppe berechnet.
  17. Zweitonmultifrequenzdetektor nach Anspruch 11, bei dem der erste Schwellenwert 6 ist.
  18. Zweitonmultifrequenzdetektor nach Anspruch 11, bei dem der zweite Schwellenwert 4 ist.
Es folgen 10 Blatt Zeichnungen






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

  Patente PDF

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com