MFV-Ton Decodierung

Im Unterforum Alle anderen elektronischen Probleme - Beschreibung: Was sonst nirgendwo hinpasst

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 28 12 2025  19:47:09      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Alle anderen elektronischen Probleme        Alle anderen elektronischen Probleme : Was sonst nirgendwo hinpasst


Autor
MFV-Ton Decodierung

    







BID = 12998

Gast

Nichtregistrierter Benutzer
 

  


Habe vor die MFV Töne eines Telefons mit Hilfe eines µC zu decodieren und in weiterer Folge zur Fernsteuerung von Geräten zu nutzen.
Da die Wähltöne durch die Überlagerung zweier verschiedenen Frequenz erzeugt werden, müsste ja ein gewisses f-Spektrum entstehen. Neben den beiden Frequenzen sollte auch eine Schwebungsfrequenz (hoffe die heist so!!!) existieren. Durch dessen Filterung theoretisch für jeden Tastenton ein charakteristische Frequenz zu Verfügung stehen sollte.
In der Theorie sollte es funktionieren; nur messe ich direkt an der Hörmuschel eines Telefonapparates mit einem Oszi (mit FFT) keine Schwebungsfrequenz bzw geht sie pegelmäßig im Rauschen unter.
Jetzt die Frage: hat jemand Erfahrung bzw. Informationen zur Decodierung der MFV-Töne (weiß das es fertige IC´s dafür gibt, will es aber selbst mit Hilfe eines µC (Frequenzdetektierung mittels Timer und Interrupt machen)
Danke im Vorhinein fürs Bemühen !

BID = 13111

perl

Ehrenmitglied



Beiträge: 11110,1
Wohnort: Rheinbach

 

  

Zum Decodieren solltest Du trotzdem einen DTMF-Decoder verwenden. Die sind nicht so teuer.
Sie haben i.d.R. getrennte Ausgänge für die Row- und Column-Töne, sodaß Du die auch einzeln verwenden kannst.

Außerdem werden im Chip die Amplitudenverhältnisse der beiden Töne bewertet, damit das DTMF Signal von Sprache unterschieden wird.


Die DTMF Signale sind, so gut es geht, Sinussignale, und in einem linearen System beinflussen die sich nicht gegenseitig es entsteht also keine Summen und Differenzfrequenz.

Die Filterung und Analyse des Signals in Echtzeit mit einem universal µC ist jedenfalls keine Kleinigkeit, kann gut sein, daß die Rechengeschwindigkeit nicht ausreicht.


_________________


Haftungsausschluß:
Bei obigem Beitrag handelt es sich um meine private Meinung.
Rechtsansprüche dürfen aus deren Anwendung nicht abgeleitet werden.
Besonders VDE0100; VDE0550/0551; VDE0700; VDE0711; VDE0860 beachten !

[ Diese Nachricht wurde geändert von: perl am  4 Feb 2003 20:58 ]

BID = 13119

Jornbyte

Moderator



Beiträge: 7349

Ich würde da einen ATmega8, 16 oder 128 verwenden. Die arbeiten mit 16 MHz (16 MIPS) und dürften hinsichtlich des Taktes reichen. Der Timer und Interrupt sowie der A/D-Wandler sind dafür völlig ungeeignet. Mache aus dem Sinussignal ein Rechtecksignal, lasse einen Counter (long) mit Laufen und vergleiche den Zeitintervall (generiert durch den Counter) der Signale (Low >High> Low Flanke). Das führt auf alle Fälle schneller zum Ziel. Bei diesen Routinen ist der Assembler klar im vorteil.
Das geht wenn nur die MFV Töne am ATmega anliegen.
Sonst wird's, wie Perl geschrieben hatt, keine Kleinigkeit.
PIC's (Perl wird es entschuldigen) und C-Controll haben da keine Chance.

_________________
mfg Jornbyte

Es handelt sich bei dem Tipp nicht um eine Rechtsverbindliche Auskunft und
wer Tippfehler findet, kann sie behalten.

BID = 13123

Gast

Nichtregistrierter Benutzer

Sehe ich genauso wie perl. Addierte Sinussignale ergeben kein Modulationsspektrum.

Irgendwo habe ich mal von jemandem gelesen, der DTMF im Zeitbereich erkennen wollte, anhand von charakteristischen Nulldurchgängen. Nur: Nulldurchgänge auf einer rauschigen Telefonleitung? Ich denke mal, daraus ist nichts geworden.

Also Echtzeit-FFT:

Bie 4kHz Abtastrate und einer 64-Punkt-FFT ergibt sich eine Frequenzauflösung der 32 Spektrallinien von 62,5Hz (0-2000Hz). Das sollte gerade genügen, um die Pegelverhältnisse der DTMF-Frequenzen beurteilen zu können. (Obwohl, vielleicht doch lieber 128?)

Speicherbedarf (in-place-FFT): 64+64 Sample-Worte. Kein Problem mit aktuellen µCs.

Rechenaufwand: 4 * 64/2 * ld(64) = 768 Multiplikationen pro 16ms. Also sollte der Prozessor 48000 Multiplikationen/Sekunde schaffen und gleichzeitig im Interrupt samplen können. Ach ja, und 16-Bit-Multiplikationen machen können. Bei 8 Bit multiplizierst du mal hin, mal her und schon ist nichts mehr übrig.

Ich denke, das klappt mit einem guten µC. Natürlich deutlich oberhalb der PIC-Klasse, und mit Multiplikationseinheit. Vielleicht doch lieber eine 128-Punkt-FFT? Ich würde das erstmal auf einem PC ausprobieren, wieviele Punkte nötig sind.

Stef(an).


BID = 13127

Gast

Nichtregistrierter Benutzer

Hey, Jornbyte! Wie willst du aus einem verrauschten Doppelsinus ein Rechteck machen? Meiner Ansicht nach geht der einzige Weg über den Frequenzbereich.

Aber bei einem muß ich dir Recht geben: 16 mips reichen bestimmt für DTMF-Erkennung!

Stef(an).

BID = 13173

Gast

Nichtregistrierter Benutzer

Hey Jungs danke für die zahlreiche hilfe! Also das mit den Nulldurchgängen detektieren funktioniert meiner Meinung nach keinesfalls! Es muß zuerst sicher ein Filter mit nachgeschaltenen Schmit-Trigger ran! Nur, dass ich beide Frequenzen einzeln Ausfiltere und danach detektiere gibt Hardwarete und Softwaretechnisch einen viel höheren Aufwand (Filter > nter Ordnung).
Als Mikrocontroller soll ein C167 von Infinion verwendet werden (also das Teil reicht locker). Nur wie ich die Mischfrequenz sinnvoll detektieren kann versteh ich nicht so ganz!

BID = 13176

Gast

Nichtregistrierter Benutzer

Aja und ihr seit euch sicher dass es eine Addition der beiden f ist und nicht eine Multiplikation?

BID = 13281

Gast

Nichtregistrierter Benutzer

Ja. Definitiv eine Addition der jeweils zwei Sinussignale.

Ich denke, du fährst rechenleistungs- und programmumfangmäßig besser mit einer FFT als mit 8 einzelnen Filtern entsprechender Ordnung. Die Frequenzen liegen nämlich teilweise nur 60Hz auseinander.

Bei 8 einzelnen IIR-Filtern brauchst du (wieder 64 Punkte) 32768 Multiplikationen pro 16ms (FFT: 768 Multiplikationen). Danach jeden Filterausgang auch noch quadrieren und integrieren. Plus ein paar tausend Additionen. Mit IIR-Algorithmen geht das wohl erheblich schneller, ich traue mir allerdings nicht zu, die Koeffizienten zu berechnen.

Tatsächlich macht man Filter in diesem Fall nach dem Prinzip der 'schnellen Faltung': FFT des Signals berechnen, Spektrallinien mit dem gewünschten Frequenzgang multiplizieren, und wieder eine inverse FFT, fertig ist das gefilterte Signal.

Aber du kannst dir zur Auswertung ja direkt die 32 Linien anschauen, und achtmal ist das dann auch nicht nötig.

FFT ist eben _Fast_ Fourier Transform. Verdammt schnell.

Stef(an).


BID = 13282

Gast

Nichtregistrierter Benutzer


Zitat :
Gast hat am  5 Feb 2003 13:59 geschrieben :

Nur wie ich die Mischfrequenz sinnvoll detektieren kann versteh ich nicht so ganz!


Hallo, Hallo! Was für eine Mischfrequenz? Bei MFV gibt es keine Mischfrequenz. Eine Zeitbereichsaddition erzeugt ganz einfach keine zusätzlichen Frequenzen. Frequenz 1 und Frequenz 2 der entsprechenden Taste, eine Menge Rauschen, Pegelschwankungen, der Fernseher im Hintergrund, aber keine dritte Frequenz.

Es gibt 8 (ohne Buchstaben meinetwegen auch nur 7) einzelne Sinustöne. Zwei der 8 Klingen gleichzeitig. Welche das sind, und ob überhaupt welche da sind, das gilt es herauszufinden.

Also: 8 Filter und 9 Pegelauswertungen. Oder alternativ eine Spektralanalyse über 32 oder 64 Bänder.

Stef(an).


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 17 Beiträge im Durchschnitt pro Tag       heute wurden bisher 7 Beiträge verfasst
© x sparkkelsputz        Besucher : 187993603   Heute : 12833    Gestern : 11123    Online : 381        28.12.2025    19:47
13 Besucher in den letzten 60 Sekunden        alle 4.62 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0377399921417