Signal an die Audiobuchse eines Smartphones

Ich habe eine 3,3-V-Rechteckwelle, die aus Gruppen von 5 Impulsen bei 12,5 kHz und 15,625 kHz besteht. Jede Gruppe von 5 Impulsen stellt entweder eine 1 oder eine 0 dar. Ich möchte, dass dieses Signal über den Mikrofoneingang an ein Smartphone weitergeleitet wird.

Nach dem, was ich gelesen habe (bitte korrigieren Sie mich, wenn ich falsch liege), muss die Spannung auf einige mV sinken, das Signal muss AC-gekoppelt sein. Wird das Telefon in der Lage sein, konstant zwischen den Frequenzen zu unterscheiden, oder ist eine Art Frequenzwechsel erforderlich?

Welche Schaltung wäre für die Erfüllung dieser Aufgabe zu empfehlen?

12,5 bis 15,625 kHz liegen gut innerhalb des menschlichen Hörbereichs und die meisten Telefonmikrofon-Frequenzbereiche, die sie abtasten können.

Antworten (2)

Ein einfacher Spannungsteiler senkt die Spannung, obwohl es davon abhängt, welche Widerstandswerte für Ihr Telefon optimal sind - die Eingangspegel von Telefonen sind alles andere als standardisiert. Ich würde ein Potentiometer verwenden und es drehen, bis ich in Reichweite war.

Um die Eingangsimpulse zu erkennen, können Sie FFT-basierte Techniken verwenden, wie in anderen Kommentaren und Antworten beschrieben. Hier ist eine detaillierte Einführung , wie man das mit C-Code macht.

Bei diesem Ansatz ist jedoch Vorsicht geboten, da Sie, da Sie hohe Frequenzen erkennen, eine hohe Abtastrate benötigen, was zu einem hohen Rechenaufwand führt. Dieses Problem kann mit dem Goertzel-Algorithmus anstelle der FFT gelöst werden , aber Sie haben immer noch das Problem, dass Sie mit nur 5 fünf Impulsen eine gute Zeitauflösung benötigen. Auch dies kann durch häufiges Überlappen Ihrer Fenster gelöst werden, aber am Ende denke ich, dass Sie eine andere Technik verwenden sollten:

  1. Zählen, wie oft das Signal Null durchquert. Mit ein wenig Vorverarbeitung (einem Bandpassfilter, der auf den Bereich Ihrer erwarteten Frequenzen abgestimmt ist) würde ich erwarten, dass es einfacher ist, mit dieser einfacheren Technik robuste Ergebnisse zu erzielen.

  2. Ein anderer Ansatz, der nachahmt, wie dies im analogen Bereich geschehen würde, besteht darin, einfach zwei Bandpassfilter zu entwerfen und deren Ausgang zu überwachen. Dies erfordert möglicherweise ein wenig Nachbearbeitung, aber ich denke, dies würde zu hervorragenden Ergebnissen führen.

Es ist schwer zu sagen, aber ich würde wahrscheinlich zu Technik Nr. 2 tendieren. Es hängt von ein paar Dingen ab, die mir aus Ihrer Frage nicht klar sind, z. B. werden die Töne wahrscheinlich gleichzeitig erscheinen (wenn ja, verwenden Sie # 2), werden Sie immer den einen oder anderen Ton hören, oder manchmal Stille usw. Wenn sich die Spezifikation wahrscheinlich ändern würde und ich zwischen Tönen unterscheiden müsste, die in der Frequenz nahe beieinander liegen, würde ich zu Nr. 1 tendieren.

Wenn Sie Hilfe beim Entwerfen von Filtern benötigen, ist dies möglicherweise ein guter Ausgangspunkt .

Man muss keine ganze FFT berechnen, sondern nur die DFT bei den beiden interessierenden Frequenzen auswerten. Sehen Sie sich die tatsächlichen Berechnungen an, die dazu in einer Fenster- und überlappenden Weise erforderlich sind, und es sind so ziemlich die gleichen Vorgänge wie beim Ausführen eines Paares von FIR-Bandpassfiltern.
@ChrisStratton Wie unterscheidet sich das von Goertzels Algorithmus?

Vorausgesetzt, die Audioschaltung des Telefons hat die Bandbreite/Abtastrate, um mit > 15,625 kHz fertig zu werden, und vorausgesetzt, Ihr Frequenzerkennungscode ist in Ordnung, dann sollte das Erkennen von so weit auseinander liegenden Tönen überhaupt kein Problem sein. Es gibt viele Codeschnipsel und die Theorie dahinter im Netz, wenn Sie sich ein wenig umschauen. Ein guter Ausgangspunkt für die Suche nach Code wäre die DTMF-Firmware (Touch Tone). Theoretisch suchen Sie nach Dingen wie Korrelation und FFT.

Stellen Sie sicher, dass Sie die Bandbreite Ihres speziellen Telefons bestätigen. Möglicherweise müssen Sie die beteiligten Frequenzen reduzieren, wenn dies für Ihr Projekt möglich ist.

In dieser Frage finden Sie ein gutes Einführungsbeispiel für eine einfache DTMF-Erkennungstechnik von Olin . Jedes anständige DSP-Buch wird viel mehr zu diesem Thema enthalten.

Kennen Sie aus Neugier Smartphones, die nicht über ausreichend Bandbreite verfügen?
@Chris - nein, ich kenne mich in der Smartphone-Audioabteilung nicht wirklich aus, es war nur ein Hinweis zur Vorsicht. Leicht zu überprüfen, bevor Sie einen bestimmten Weg einschlagen, und ich denke, dass es wichtig genug ist, um 5 Minuten mit der Bestätigung zu verbringen. Ich würde davon ausgehen, dass 99 % der in den letzten 5 Jahren hergestellten Telefone über eine ausreichende Bandbreite verfügen sollten.