Pages: [1]   Go Down
Author Topic: 5-Tonfolge (DTMF?) auswerten, aber wie?  (Read 1575 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 19
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,

bei einem Projekt für die Feuerwehr soll die 5-Tonfolge eines Funkmeldeempfängers (Behörden und Organisationen [BOS-Funk]) ausgewertet werden. Dass dies mit DTMF (bzw. MFV) Decoder bei Telefonen (usw.) funktioniert ist mir bewusst, allerdings ist diese 5-Tonfolge sehr schnell. Laut Wiki ca. 70ms pro Ton. Ein Ton kann einen Werte von 0-9 annehmen: http://de.wikipedia.org/wiki/5-Ton-Folge
Die Tonfolge hört sich in etwa so an: (Sekunde 19 und 20; die Folge wird einmal wiederholt)

Ich habe hier ein paar Produkte aufgelistet, wobei zwei Fragen offen sind:
1. Ist es mit solch einem Board möglich die 5-Tonfolge zu decodieren und
2. Kann ich die Daten per Arduino auslesen?

http://www.canton-electronics.com/12-channels-smart-home-controller-voice-dialing-control-dtmf-mt8870-receiver-module-audio-decoder-p-578.html?zenid=m3jer9n0fd8ftjckjitl7ms3a7   
http://www.ebay.de/itm/MT8870-DTMF-Receiver-module-audio-Decoder-Voice-dialing-control-/110934679283?_trksid=p2045573.m2042&_trkparms=aid%3D111000%26algo%3DREC.CURRENT%26ao%3D1%26asc%3D27%26meid%3D7212938950484944035%26pid%3D100033%26prg%3D1011%26rk%3D2%26sd%3D290735598790%26#ht_1098wt_1069
http://www.futurlec.com/Mini_MT8870.shtml


Vielen Dank

Hier noch ein Link zum Verständnis:
(ab Min. 01)
http://lucidscience.com/pro-phone%20number%20decoder-2.aspx
Logged

Switzerland
Offline Offline
Faraday Member
**
Karma: 111
Posts: 5240
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wie hier nachzulesen ist, ist eine 5-Ton-Folge etwas anderes als eine DTMF-Kodierung:

http://de.wikipedia.org/wiki/5-Ton-Folge

Mit den dort enthaltenen Informationen sollte eine Dekodierung eigentlich möglich sein. Da die maximale Tonfrequenz 2.4kHz beträgt, genügt eigentlich schon die eingebaute ADC-Hardware des Arduinos für die Signalerfassung. Die Ton-Erkennung ist bei gutem Signal auch relativ einfach, das Problem dürfte die Filterung sein, wenn das Signal eben funktypisch sehr schlecht ist.

Zieh Dir einfach mal das Signal rein, such die lokalen Maxima und mittle den Maxima-Abstand über sagen wir mal 50ms. Der Kehrwert sollte die Frequenz ergeben. Wie gut triffst Du mit einem solchen System?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

ich hatte mir vor einigen Jahrzehnten mal ein Microcontroller-Board nachgebaut. Da hatte jemand einen 5-Ton-Dekoder in Assembler für entwickelt.

Letztlich hat er über einen Schmitt-Trigger an einem Eingangs-Pin einen Zähler gestartet und darüber dann die Frequenz via Software ermittelt. Der hat also keinen ADC genutzt.

Ich hatte auch schonmal mit so einem Arduino-Projektchen geliebäugelt, aber es mangels Zeit bisher noch nicht angegangen.

Das Board, was Du da verlinkt hast, ist für DTMF gedacht, das ist kein BOS 5-Ton. Die BOS-Töne zu dekodieren ist wesentlich simpler, weil nicht zwei Frequenzen überlagert sind wie beim DTMF.

Viele Grüße

Markus
Logged

Austria
Offline Offline
Full Member
***
Karma: 6
Posts: 107
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo,

also ich habe mich mit dem Thema DTMF über eine Telefonleitung bzw. auch über ein Sprechfunkgerät beschäftigt. Prinzipiell gelingt die Decodierung im Arduino, für DTMF gibt es fertige Librarys, für 5-Ton muß man ja eigentlich nur die Frequenz "zählen"...

Aber: Auf der Übertragungsstrecke treten Störungen auf. Bei Funkübertragung rauscht es vielleicht ein wenig, beim Telefon entstehen eventuell Verzerrung durch die Analog/Digital Wandlung oder es gibt irgendwelche Einstreuungen (Knackser). All das stört die Decodierung erheblich wenn man nichts dagegen macht.

Richtige professionelle Hardwaredecoder haben daher ein passendes (analoges) Filter bzw. eine entsprechende Signalaufbereitung damit Störungen bis zu einem gewissen Punkt unterdrückt werden. Ich habe für DTMF daher einen MT8870 eingebaut, das ist ein Unterschied wie Tag und Nacht.

Eine Alternative ist natürlich die Filterung in einem DSP zu realisieren. Nur hat der Arduino dazu viel zu wenig Leistung und so etwas ist auch nicht so eben mal nebenbei zu programmieren...

Vielleicht ist es auch eine Möglichkeit ganz klassisch mit 10 Stück NE567 Detektoren für die einzelnen Fequenzen zu bauen, das funktioniert sicher supergut, bedeutet aber einen entsprechenden Schaltungs- und Abgleichaufwand.

Christian
Logged

Elektronik funktioniert intern mit Rauch.
Beweis: Wenn der Rauch herauskommt ist es kaputt...

Pages: [1]   Go Up
Jump to: