AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sounds erkennen (Töne)
Thema durchsuchen
Ansicht
Themen-Optionen

Sounds erkennen (Töne)

Ein Thema von cchris · begonnen am 5. Jun 2006 · letzter Beitrag vom 5. Jun 2006
Antwort Antwort
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#1

Sounds erkennen (Töne)

  Alt 5. Jun 2006, 11:59
Hallo,

ich möchte eine Tonerkennung schreiben. Diese muss Zwei Aufgaben übernehmen:

Einmal einen 1750 Hz +-25Hz Ton erkennen und dann DTMF dekodieren, also das Tonwahlverfahren vom Telefon...

wie könnte man das realisieren? Das elektronisch zu lösen und dann per serieller Schnittstelle zu übertragen wär nicht das problem, aber es soll möglichst alles auf dem PC laufen. Es gibt ja schon so ein Freeware Programm DTMF Dekoder, allerdings nicht Opensource...
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#2

Re: Sounds erkennen (Töne)

  Alt 5. Jun 2006, 13:50
Suche nach

- DFT = diskrete Fourier Transformation
- FFT = fast Fourier Transformation
- FIR = finite Impluse Response Filter
- IIR = infinite Impluse Response Filter

Die FFT/DFT etc.pp. ermöglichen dir eine spektrale Auswertung deiner Signale. Du bekommst wie beim Graphic Equalizer an deiner Stereoanlage ein Spektrum aller Frequenzen im Signal. Bei deinem Ton von x KHz wird im Spektrum exakt an dieser Stelle ein zur Amplitude (Stärke) des Frequenzsignals proportionaler Ausschlag zu sehen sein.

Bei den FIR/IIR Filter ist es so das man mit diesen einen Digitalen Bandpass aufbaut der nur Frequenzen von x KHz durchlässt. Dh. diese Filter reagieren nur auf Signale die in deinem Frequenzbereich auftreten. Das ist wie ein Schalter der nur dann am Ausgang ein großes Signal durchlässt wenn es eine bestimmte Frequenz aufweist.

Es gibt nun Nach- und Vorteile zwischen den Verfahren.
Die Fourier Transformation erzeugt ein breites Spektrum und damit kannst du auch wie beim DTMF üblich auf die zwei sich überlagernden Frequenzen reagieren. Denn mein DTMF besteht ein Ton aus ZWEI Frequenzen und nicht aus einer.
Die FIR/IIR Filter reagieren nur ein eine eingestellte Frequenz und man benötigt also für jede der DTMF Frequenzen einen eigenen Filter. Dafür kann man diese Filter quasi kontinuierlich sequentiell mit Daten füttern und dabei sind die Berechnungen viel effizienter durchzuführen. Es gibt im WEB gegnügend Berechungstools für solche digitalen Filter. Die FFT ist nicht so ohne weiteres kontinuierlich sequentiell zu bauen, was aber in deinem Falle eh irrelevant sein dürfte. Eine FFT benötigt auch mehr Rechenpower.

Der Unterschied in der Rechenpower ist gewaltig. Mein DTMF Decoder/Encoder auf einer 8 Bit Atmel MCU arbeitet in Echtzeit mit FIR Filtern bei 16 Mips. Eine entsprechende FFT ist mit so einer schwachen MCU garnicht mehr realisierbar als Software. Übrigens dürftest du im MCU Sektor die meisten Sourcen finden. Suche also auch mal nach AVR, PIC und ARM7 im Zusammenhang mit FIR/IIR Filtern.

Gruß Hagen
  Mit Zitat antworten Zitat
Benutzerbild von cchris
cchris

Registriert seit: 16. Jun 2003
Ort: Taucha
71 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Sounds erkennen (Töne)

  Alt 5. Jun 2006, 14:56
Für DTMF gibt es ja bereits fertige ICs. Ich war mehr auf der Suche, nach etwas, was das Frequenzspektrum ausgibt, also eine Transformation, das ganze sollte möglichst kostenlos sein.

Ich werd mich mal noch parallel mit dem Autor von DTMF decoder in Verbindung setzen, vielleicht ergibt sich da was...
  Mit Zitat antworten Zitat
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#4

Re: Sounds erkennen (Töne)

  Alt 5. Jun 2006, 17:32
Zitat:
Ich war mehr auf der Suche, nach etwas, was das Frequenzspektrum ausgibt, also eine Transformation, das ganze sollte möglichst kostenlos sein.
Ja es gibt fertige ICs wie den IC M8880, aber auf die bezog sich meine Antwort garnicht.

Die Theorien zur Fourier Transformationen und IIR/FIR Filter sind frei verfügbar und frei nutzbar. Die FFT wiederum erzeugt ein Frequenzspektrum deines Signales. Also BEIDE Bedingungen die du suchst sind erfüllt: frei verfügbar und technologisch exakt das was du suchst.

Das was du benötigst ist ein Rechner, ein Betriebssystem wie MS Windows, ein INet Zugang und die Addresse www.google.de in der du nun obige Stichworte

- DTMF + Decoder + Encoder + FFT + FIR + IIR + Bandpass + Filter

eingibst. Vielleicht solltest du auch bei google mal nach

"wie suche ich richtig" suchen.

Sorry, aber du hast nun alle Informationen um dein Problem zu lösen. Es gibt für dich nur 3 Lösungen

- DTMF-Hardware
- Frequenzspektrum per FFT oder DFT
- Bandpass Filter per FIR oder IIR

Übrigens selbst hier in der DP wirst du einen fertigen FFT Sourcecode für Delphi finden, da bin ich mir sehr sicher !

Gruß Hagen
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz