DE102012016755B4 - Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger - Google Patents
Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger Download PDFInfo
- Publication number
- DE102012016755B4 DE102012016755B4 DE102012016755.5A DE102012016755A DE102012016755B4 DE 102012016755 B4 DE102012016755 B4 DE 102012016755B4 DE 102012016755 A DE102012016755 A DE 102012016755A DE 102012016755 B4 DE102012016755 B4 DE 102012016755B4
- Authority
- DE
- Germany
- Prior art keywords
- sound
- bit
- frequency
- bits
- recipient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/02—Non-electrical signal transmission systems, e.g. optical systems using infrasonic, sonic or ultrasonic waves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B11/00—Transmission systems employing sonic, ultrasonic or infrasonic waves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
Abstract
Description
- Die Erfindung betrifft ein Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger, wobei das digitale Signal eine Mehrzahl von Datenbits umfasst, jedem der Datenbits eine vorgegebene Frequenz in einem Tonsignal zugeordnet wird, und das Tonsignal vom Sender an den Empfänger akustisch übertragen wird,
Derartige Verfahren sind beispielsweise aus der Webseite ”Geere D.: Sonic Notify – the inaudible QR codes only an app can hear. Online Article in WIRED.CO.UK. 08.02.2012. URL: http://www.wired.co.uk/news/archive/2012-02/08/sonicnotifyaudio” sowie den DruckschriftenUS 2011/0238192 A1 US 2003/0117987 A1 US 2005/0100117 A1 - Mobile Endgeräte wie z. B. Smartphones sind heute weit verbreitet. Smartphones ermöglichen durch eine permanente, auf dem Telefonfunknetz basierende Internetverbindung die Ausführung einer Vielzahl von Funktionen, die durch entsprechende als Apps bezeichnete Computerprogrammprodukte gesteuert werden. Bestimmte Apps erlauben auch die Auslösung bestimmter Funktionen durch ein entsprechendes, über das Internet gesendetes Auslösesignal.
- Eine derartige Auslösung einer Funktion und generell die Übertragung von digitalen Signalen wird jedoch problematisch an Orten, an denen eine Internetverbindung nicht oder nur eingeschränkt zur Verfügung steht, wie beispielsweise Großveranstaltungen. Die Netzüberlastung z. B. bei Konzerten mit zehntausenden Besuchern macht es oft schwer, die mobile Internetanbindung von Smartphones zu benutzen. Auch eine in derartigen Situationen gewünschte Interaktion mit dem Publikum, beispielsweise eine Abstimmung über eine Zugabe bei einem Konzert, ist unter derartigen Umständen kaum möglich.
- Es ist daher Aufgabe der Erfindung, ein Verfahren der eingangs genannten Art anzugeben, das auch in einer Umgebung mit eingeschränkter oder nicht vorhandener Anbindung an ein Telefonfunknetzwerk ausführbar sind.
- Diese Aufgabe wird erfindungsgemäß dadurch gelöst, dass die in dem jeweiligen Tonsignal verwendeten Frequenzen größer als 18 kHz und kleiner als 20 kHz sind und der Zustand des jeweiligen Datenbits anhand des Schalldruckverhältnisses einer im Bereich der dem jeweiligen Datenbit zugeordneten Frequenz zu in einem vorgegebenen Frequenzabstand unter und über der jeweiligen Frequenz liegenden Vergleichsfrequenzen ermittelt wird. Hierdurch ist es möglich, eine Mehrzahl von Datenbits zeitgleich zu übertragen. Dies erhöht die Informationsdichte und insbesondere die Auswahl ansteuerbarer Funktionen mit einem einzigen Tonsignal. Eine serielle Übertragung auf einer einzelnen Frequenz oder eine Zuordnung von Bits in bestimmten Takten bei einer seriellen Übertragung wäre bei dem angedachten Anwendungsszenario wesentlich langsamer oder fehleranfälliger.
- Der Zustand des jeweiligen Bits wird dabei anhand des Schalldruckverhältnisses einer im Bereich der dem jeweiligen Bit zugeordneten Frequenz zu Vergleichsfrequenzen in einem vorgegebenen Frequenzabstand unter und über der jeweiligen Frequenz ermittelt. Mit anderen Worten: Wenn ein Bit gesetzt wird, wird auf der dem Bit zugeordneten Frequenz (mit einem gewissen Unsicherheitsbereich) ein Ton ausgesendet, wobei dies im Verhältnis zu einer Vergleichsfrequenz ermittelt wird.
- Weiterhin sind die in dem jeweiligen Tonsignal verwendeten Frequenzen größer als 18 kHz und kleiner als 20 kHz. Derartige Töne werden von Menschen nicht wahrgenommen: Schallwellen im Infra- und Ultraschallbereich bestehen aus Frequenzen, die unter bzw. über der menschlichen Wahrnehmungsschwelle liegen. Hier gibt es einen Bereich, der vom Menschen nicht gehört wird, vom Smartphone allerdings aufgenommen werden kann. Handelsübliche Mikrofone in heutigen Smartphones nehmen Signale zwischen 20 Hz und 20.000 Hz ab. Tests der Anmelder haben ergeben, dass bestimmte Smartphones beispielsweise Frequenzen über 20 kHz nicht aufnehmen können. Das menschliche Gehör endet im Normalfall allerdings schon vor 20 kHz. In der Zone an der unteren Grenze zum Ultraschall, d. h. zwischen 18 und 20 kHz, lässt sich das Verfahren daher besonders vorteilhaft realisieren.
- Vorteilhafterweise ermittelt der Empfänger einen Verschiebungswert einer einem Datenbit zugeordneten, empfangenen Frequenz gegenüber der dem Datenbit zugeordneten vorgegebenen Frequenz und korrigiert die den übrigen Datenbits zugeordneten vorgegebenen Frequenzen anhand des Verschiebungswerts. Hierdurch wird eine Kompensation des Dopplereffekts erreicht, der durch ein Schwenken des Smartphones ausgelöst wird. Der Dopplereffekt verändert die empfangene Frequenz gegenüber der gesendeten. Bei einer Frequenz von 19 kHz, einer Schallgeschwindigkeit von 340 m/s und einer Geschwindigkeit des Beobachters von 2 m/s ergibt sich bereits eine Verschiebung um mehr als 100 Hz. Dieser wird durch die Messung eines vorgegebenen Datenbits ermittelt und in die Auswertung einbezogen.
- In weiterer vorteilhafter Ausgestaltung haben die den jeweiligen Datenbits zugeordneten Frequenzen einen Mindestabstand von 60, vorzugsweise 100 Hz. Je mehr Frequenzen verwendet werden, desto mehr Bits können übertragen werden. Allerdings ergibt sich durch Schwebungen die Möglichkeit der Überlagerung in hörbare Frequenzen; weiterhin können Auswertungsfehler auftreten. Durch einen Mindestabstand der Frequenzen von 60, vorzugsweise 100 Hz werden diese vermieden.
- Ein Computerprogrammprodukt, welches in den Speicher eines mobilen Endgeräts geladen werden kann, umfasst vorteilhafterweise Softwarecodeabschschnitte, die, wenn sie ausgeführt werden, das mobile Endgerät zum Zusammenwirken, ggf. als Sender oder Empfänger, in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen.
- Ein Computerprogrammprodukt, welches in den Speicher eines Tonsystems mit einem Schallgenerator und/oder einem Schalldetektor geladen werden kann, umfasst vorteilhafterweise Softwarecodeabschnitte, die, wenn sie ausgeführt werden, das Tonsystem zum Zusammenwirken, ggf. als Sender oder Empfänger, in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen.
- Eine Vorrichtung umfasst vorteilhafterweise Mittel, die die Vorrichtung zum Zusammenwirken als Tonsystem, mobiles Endgerät, Sender oder Empfänger in dem beschriebenen Verfahren ertüchtigen.
- Die mit der Erfindung erzielten Vorteile bestehen insbesondere darin, dass durch die Ansteuerung einer großen Menge von Smartphones auf parallelen, unhörbaren Tonfrequenzen vielfältige Funktionen ausgelöst werden können, ohne dass eine Internet- oder sonstige Datenverbindung erforderlich ist. Das Verfahren eignet sich auch zur Integration in bestehende Apps.
- Die Erfindung wird anhand einer Zeichnung näher erläutert. Darin zeigen:
-
1 schematisch ein Tonsystem auf einer Bühne mit einer Mehrzahl von mobilen Endgeräten im Zuschauerraum, -
2 schematisch eine Darstellung eines Anwendungsszenarios mit mehreren Bühnen, -
3 schematisch den Programmablauf in einem mobilen Endgerät, -
4 die Zuordnung von Datenbits zu einer Arrayposition mit Frequenzen, und -
5 die Zuordnung von Datenbits zu einer Arrayposition mit Frequenzen unter Einfluss des Dopplereffekts. - Die
1 zeigt ein Tonsystem1 auf einer Bühne2 im Rahmen einer Großveranstaltung. Das Tonsystem1 umfasst Lautsprecher als Schallgeneratoren4 auf denen z. B. Musik abgespielt wird. Ein Computer6 , der Bestandteil des Tonsystems1 einer Veranstaltung angeschlossen ist, generiert ein kodiertes Tonsignal8 . Dieses wird unhörbar und parallel zum normalen Bühnensignal über die Schallgeneratoren4 ausgegeben. Die mobilen Endgeräte10 der Zuschauer nehmen den Ton auf, erkennen das kodierte Tonsignal8 , entschlüsseln es und starten eine Funktion. Dadurch, dass das bei allen Handys im Zuschauerraum gleichzeitig passiert, lassen sich besondere Effekte erzielen. - In einem Anwendungsszenario können auf dem Bildschirm des mobilen Endgeräts
10 beispielsweise Informationen zur Bühne dargestellt werden, die mittels des Tonsignals8 übermittelt wurden. Dies ist von besonderem Vorteil in einer Umgebung mit mehreren Bühnen, siehe2 . Die Person steht zunächst außerhalb des Geländes (Position P1). Sobald sie sich in den hörbaren Bereich12 von Bühne2 begibt, zeigt die App auf dem mobilen Endgerät10 die aktuell spielende Band und das weitere Programm des Tages an. Hier ist auch Platz für Zusatzinformationen, wie den aktuellen Songtext. Sobald die Person Position3 erreicht, springt die App auf Bühne 1 um und zeigt die hierfür relevanten Informationen an. - In anderen Anwendungsszenarios werden weitere Funktionen auf den mobilen Endgeräten
10 ausgelöst, so z. B. Bildschirminhalte wie Farbmuster dargestellt, Vibrationsalarme oder Blitzlichter ausgelöst, wahlweise im Takt der auf der Bühne2 abgespielten Musik. Weiterhin können die jeweiligen Kameras der mobilen Endgeräte10 ausgelöst werden. - In einem weiteren, nicht bildlich dargestellten Anwendungsszenario wird eine Abstimmung über einen Song durchgeführt. Über das Tonsignal
8 werden Antwortoptionen an die mobilen Endgeräte10 mit jeweils zugeordneten Tonsignalen8 übertragen. Wählt der Benutzer eines mobilen Endgeräts10 eine der Optionen aus, spielt das mobile Endgerät10 das Tonsignal8 in einer vorgegebenen Lautstärke. Je mehr mobile Endgeräte10 dasselbe Tonsignal8 abspielen, desto höher wird der Schalldruck des jeweiligen Tonsignals8 . Anhand der aufgefangenen Schalldrücke lässt sich somit das Abstimmungsergebnis ermitteln. - Weitere Anwendungsszenarien ergeben sich am sog. Point-of-sale (POS), z. B. in einem Kaufhaus, auf einer Messe, o. ä. Hier kann beispielsweise ein Ton von einem stationären Lautsprecher ausgesendet und vom Handy empfangen werden, um Infos über ein Produkt zu erfahren. Außerdem könnte ein von uns generierter Ton über vorhandene Beschallungsanlagen am POS ausgestrahlt werden, um Informationen über Sonder-Angebote o. ä. zu übermitteln.
- Im Folgenden wird ein Computerprogrammprodukt, eine sogenante App beschrieben, die entsprechende Verfahren seitens eines mobilen Endgeräts ermöglicht. Die App wurde mit der Entwicklungsumgebung XCode für das Betriebssystem iOS 5.1 umgesetzt.
- Für die Übertragung werden zehn Frequenzen genutzt. Das heißt, es werden bis zu zehn Frequenzen gleichzeitig übertragen. Dabei stellt jede einzelne Frequenz genau ein Bit dar (Im Folgenden: Bit 0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Wird die Frequenz deutlich stärker als umliegende Frequenzen wahrgenommen, gilt dieses Bit als angeschaltet: Es gibt eine 1 zurück. Wird es schwächer als die umliegenden Frequenzen wahrgenommen, bildet es eine 0 ab.
- Rein rechnerisch ergeben zehn Bits 1024 verschiedene Werte. Da hier jedoch ein digitales Signal in ein analoges gewandelt wird, durch ein Medium geschickt wird, das nicht immer genau das zurück gibt, was eingespeist wurde, und das Signal dann wieder digitalisiert wird, ergeben sich zu berücksichtigende Fehlerquellen. Dazu werden zwei so genannte Paritätsbits verwendet, die parallel zu den Datenbits übertragen werden. Um sie zu verwenden, wird zunächst die Anzahl der auf 1 geschalteten Bits in einer Übertragung addiert. Der Rest, der bei einer ganzzahligen Teilung durch vier erhalten wird, zeigt die Paritätsbits an, siehe die folgende Tabelle:
Datenbits Paritätsbits 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 - Auch die Datenbits werden noch aufgeteilt: Aus ihnen werden drei Funktionsbits (Bits 0, 1, 2) und fünf Inhaltsbits (Bits 3, 4, 5, 6, 7) gebildet. Die Funktionsbits geben an, welche Funktion des Programms ausgeführt werden soll (z. B. Bühnenspezifische Informationen, Lichtermeer). Insgesamt sind hier acht Funktionen hinterlegbar. Die Inhaltsbits spezifizieren die Funktion (z. B. rote Farbe, Bühne
3 ). Für die Übertragung von Text gibt es drei Funktionsbits. Das vordere Bit gibt die Textposition an. Aus einem der beiden hinteren Bits wird der benötigte Buchstabe aktiviert. - Das Programm übernimmt die Aufgabe, aus dem eingehenden Schalldetektorsignal ein Datensignal zu bauen, dieses zu dekodieren und daraus Daten zu lesen. Dafür schreibt es die aktuell berechneten Amplituden des Schalldetektors in ein Datenpaket. Ist das Datenpaket voll, wird es durch eine Schnelle Fourier-Transformation geschickt. Hier wird für das Paket die Abbildung eines Frequenzspektrums berechnet. Das heißt, es kann ausgelesen werden, wie stark bestimmte Frequenzen in dem Tonpaket vorhanden sind. Je nachdem, wie die Relation zwischen einer bestimmten Frequenz und den umliegenden Frequenzen ist, wird diese Frequenz als aktiv betrachtet. In diesem Fall bildet sie auf dem resultierenden binären Datenausgang eine 1. Der Datenausgang wird dann ausgelesen und das iPhone reagiert mit der Anzeige einer Information bzw. dem Auslösen einer Funktion. Währenddessen läuft bereits das nächste Datenpaket mit Amplituden in die Fourier-Transformation.
-
3 zeigt schematisch den Programmablauf in einem mobilen Endgerät10 . Nach dem Programmstart14 wird zunächst der Bildschirminhalt16 des Programms, d. h. der App generiert, der von der Klasse MainViewController gesteuert wird. Weiterhin wird die Klasse AVKontroller gestartet, die die Audioanalyse18 mittels der Klasse AVInit steuert. Die Audioanalyse18 erfolgt durch zyklischen Aufruf (alle 0,046 s) einer Fourier-Transformation20 des empfangenen Tonsignals8 . Aus der Fouriertransformation20 werden die entsprechenden Bits ermittelt, und je nach ermittelter Bitfolge entsprechende Funktionen22 ausgelöst, so z. B. die Klasse AVATon zur Ausgabe eines Tons24 , die Klasse AVAOrt zur Anzeige von Angaben zur Bühne, die Klasse AVAVoting zur Anzeige von Abstimmungsmöglichkeiten, die Klasse AVAText zum Anzeigen eines Texts, oder die Klasse AVAFarbe zur Anzeige einer Farbe, die ggf. auch über die Klasse AVALampe auf die Blitzlampe des mobilen Endgeräts10 wirkt. Letztere Funktionen22 wirken auf den Bildschirminhalt16 zurück. -
- Für die Funktion werden zwei Parameter übergeben: in datenInput die Amplituden-Werte des Schalldetektors, in frames die Anzahl der Frames, die dieses Paket beinhaltet. Im Ausführungsbeispiel sind es immer 2048 Frames.
- 2048 Frames werden aus mehreren Gründen verwendet: Zunächst können bei der Eingabe in eine Schnelle Fourier-Transformation als Anzahl der Werte nur Potenzen von 2 (also zum Beispiel 265, 512, 1024) verwendet werden. Mit dieser Grundvoraussetzung haben mehrere Tests ergeben: 2048 ist der beste Kompromiss aus Genauigkeit und Schnelligkeit.
- Direkt nach Funktionsaufruf wird geprüft, ob das Array_fftsetup gefüllt ist. Das ist eine so genannte Lookup-Table mit Werten, die für die Fourier-Transformation benötigt werden. Dieses Array wird bei der Initialisierung eines Objekts dieser Klasse angelegt.
- Zunächst werden die Werte in datenInput mit einer Fensterfunktion multipliziert. Fensterfunktionen werden angewandt, um verfälschende Randerscheinungen bei der Fourier-Transformation zu minimieren. Hier wird das Instanzarray _fftFenster verwendet, welches vorher mit dem von-Hann-Fenster generiert wurde.
COMPLEX SPLIT A;
A.realp = (float *) malloc(frames/2 * sizeof(float));
A.imagp = (float *) malloc(frames/2 * sizeof(float));
vDSP_ctoz((COMPLEX *) datenInput, 2, &A, 1, frames/2); - Die Schnelle Fourier-Transformation benötigt die vorliegenden Amplituden-Werte des Schalldetektors als komplexe Zahl – genauer: als geteilte reelle Werte. Dazu werden die reellen Werte aus datenInput in den „Complex Split” A gespalten. Zunächst werden zwei Arrays in A mit jeweils halber Größe initialisiert und entsprechend Speicher im System belegt.
vDSP_fft_zrip(_fftsetup, &A, 1, 10, FFT_FORWARD); - Diese Funktion führt die eigentliche Transformation durch. Wichtig ist, dass die eingehenden Werte von einem &-Zeichen eingeleitet werden. Das bedeutet, dass A auch gleichzeitig Ausgangswert der Funktion ist. Hieraus werden jetzt also auch die Werte des Frequenzspektrums gelesen.
vDSP_zvmags(&A, 1, A.realp, 1, frames/2);
bzero(A.imagp, (frames/2) * sizeof(float));
float scale = (float) 1.0/(2 * frames);
VDSP_vsmul(A.realp, 1, &scale, A.realp, 1, frames/2);
vDSP_vsmul(A.imagp, 1, &scale, A.imagp, 1, frames/2); - Die gewonnenen Werte werden nun quadriert. Damit wird sichergestellt, dass keine negativen Werte vorkommen. Danach werden sie skaliert.
float* datenOutput = (float *) malloc(frames * sizeof(float));
vDSP_ztoc(&A, 1, (COMPLEX *) datenOutput, 2, frames/2);
free(A.realp);
free(A.imagp); - Aus dem „Complex Split” wird nun wieder ein normales Array datenOutput aus Floating Point-Werten generiert. Danach wird A im Speicher freigegeben. Wichtig: Nach der Fourier- Transformation halbiert sich die Anzahl der Datenwerte. Demnach wird nur jeder zweite Platz in datenOutput beschrieben. In diesem Array stehen nun 1024 Werte, die die Frequenzen zwischen 0 und 22.050 Hz abbilden. Pro Schritt im Array wird etwa 21,53 Hz (22.050 Hz/1024) nach oben gesprungen. Diese Ausgabe wird nun weiterverarbeitet (siehe unten).
- Die oben beschriebene Funktion wird alle 2048 Frames durchgeführt, bei einer Abtastrate von 44.100 Hz also etwa alle 0,46 Sekunden – rund 21,5 Mal pro Sekunde.
- Wie bereits erwähnt, werden über das Array 1024 Werte des Frequenzspektrums ausgelesen. Jede Stelle gibt die Stärke der jeweiligen Frequenz. Da nur eine begrenzte Anzahl von Werten zur Verfügung steht, finden Sprünge statt: Schritte von etwa 21,53 Hz.
- Im Ausführungsbeispiel werden folgende Frequenzen verwendet:
Array-Position Frequenz (Hz) Funktion 838 18044,82 Rauschen 840 18087,89 Rauschen 848 18260,16 Funktionsbit 0 854 18389,36 Funktionsbit 1 860 18518,55 Funktionsbit 2 866 18647,75 Inhaltsbit 0 872 18776,95 Inhaltsbit 1 882 18992,29 Doppler- & Sync-Bit 892 19207,62 Inhaltsbit 2 898 19336,82 Inhaltsbit 3 904 19466,02 Inhaltsbit 4 910 19595,21 Paritätsbit 0 916 19724,41 Paritätsbit 1 - Es fällt auf, dass die Array-Positionen kleine Abstände zueinander haben. Das liegt daran, dass die jeweils davor und dahinter liegenden Frequenzen mit ausgewertet werden, um mögliche Verschiebungen abzufangen (siehe unten).
- Neben den zehn bereits erwähnten Bits wurde eine weitere Frequenz hinzugenommen. Sie dient als Auslöser der Bit-Analyse und als Hilfsmittel zur Korrektur der durch den Doppler-Effekt auftretenden Verschiebungen. Im Folgenden wird zunächst die Auslöser-Funktion beschrieben:
float staerkeRauschen = (obtainedReal[838*2] + obtainedReal[840*2]) * 100; - Hier wird zunächst die Rauschstärke der Vergleichsbits in eine Variable geschrieben. Diese Vergleichswerte werden benötigt, um herauszufinden, ob die Signalübertragung angeschaltet ist. Die Multiplikation mit 100 erfolgt um eine möglichst eindeutige Bestimmung zu treffen.
- Jetzt wird die Rauschstärke mit der aktuellen Stärke auf der Position des Sync-Bits und seiner vier benachbarten Frequenzen verglichen. Die Variable _frequenzVerschiebung wird aus der Doppler-Verschiebung berechnet (Erklärung folgt). Ist der Wert an den Sync-Bit-Stellen deutlich höher als an den Rauschstellen, wird das System als angeschaltet betrachtet und die Variable _syncCounter wird um 1 erhöht. Diese Variable gibt also an, wie oft das Sync-Bit angeschaltet ist.
- Die Variable _counter zählt die Durchläufe der Fourier-Transformation. Bei jedem 25. Durchlauf – also fast jede Sekunde – wird überprüft, ob die reguläre Bit-Auswertung gestartet werden kann. Dafür wird gezählt, ob _syncCounter mindestens 13 Mal innerhalb der letzten 25 Durchläufe erhöht wurde. Ist das der Fall, wird _aktiv auf wahr gesetzt und die Aktivitätsanzeige angeschaltet. Beim späteren Abfragen der Variable _aktiv kann dann die reguläre Bit-Auswertung aktiviert werden.
- Das Sync-Bit hat auch eine zweite Funktion: Es gleicht die Doppler-Verschiebung aus. Die
4 und5 erklärt vereinfacht die Funktionsweise anhand der ersten fünf Inhaltsbits28 , nämlich Bits 0, 1, 2, 3, 4. Die4 und die5 zeigen jeweils Array-Positionen30 zusammen mit der Information, ob auf den jeweiligen Array-Positionen30 Töne detektiert werden (dargestellt durch Punkte). Weiterhin ist die vordefinierte Zuordnung der Datenbits28 zu den jeweiligen Array-Positionen30 , d. h. Frequenzen gezeigt. - In der ersten Zeile ist jeweils das eingeschaltete Doppler-& Sync-Bit
28 gezeigt. Das bedeutet, dass aktuell auf der Frequenz an der Array-Position882 ein Ton verschickt wird, der über dem festgelegten Schwellwert liegt. In3 liegt derzeit keine Frequenzverschiebung vor. Deshalb werden die Bits 0, 1, 2 und 4 auch an ihren vordefinierten Positionen wahrgenommen. An der Array-Position30 des Bit 3 wird in diesem Szenario eine 0 übertragen. -
5 zeigt die zweite Auswertung des Szenarios. Hier tritt eine Doppler-Verschiebung ein, bei der das mobile Endgerät 10 vom Schallgenerator wegbewegt wird. Diese Verschiebung wird erkannt, weil das Sync-Bit in jedem Durchlauf an den fünf Positionen in der ersten Zeile (in Zweier-Schritten) überprüft wird. Da hier festgestellt wird, dass es an der Position 880 anliegt, resultiert eine Doppler-Verschiebung von –2. Diese wird im folgenden Schritt auf die Analyse der Inhaltsbits 28 angewandt: Alle Punkte verschieben sich um einen Schritt nach links – also werden sie an der nächst-tieferen Frequenz ausgelesen. Die Doppler-Verschiebung ist zwar für jede Frequenz verschieden stark. In dem verwendeten kleinen Frequenzspektrum überschreiten sie allerdings nicht die von den einzelnen Array-Positionen vordefinierten Rahmen von 21,53 Hz. -
- Mit einer for-Schleife werden die fünf Stellen des Sync-Bits durchlaufen. Die Differenz zur Stelle, an der der stärkste Wert vorliegt, wird in _frequenzVerschiebung geschrieben. Im Folgenden wird noch sicher gestellt, dass diese Differenz nicht unter –4 bzw. über 4 liegt.
-
- Hier wird das Array frequenzIndexe[] mit den auszulesenden Werten angelegt. Danach wird das Array bits[] initialisiert. In seinen zehn Stellen wird vermerkt, welches Bit gerade eine 1 darstellt, welches eine 0.
- Mit einer for-Schleife werden nun alle zehn Positionen durchlaufen. In die Variable temp wird die Stärke der aktuellen Position gespeichert. Wichtig: Hierbei wird auch die Stärke der vorherigen und der folgenden Position mitgezählt. Außerdem wird mit der Variable _frequenzVerschiebung die Doppler-Verschiebung eingerechnet, um mögliche Verschiebungen abzufangen.
- Der Vergleichswert wird mit rauschen festgelegt. Hier werden die jeweils vor und hinter der Bit-Frequenz liegenden Frequenzen genommen. Dieser wird mit 5 multipliziert, um sicherzugehen, dass die Bit-Frequenz deutlich über den Rauschwerten liegt.
- Jetzt wird die Stärke der Bit-Frequenz mit der Stärke der Rausch-Frequenzen verglichen und der Ausgabe-Wert in das Bit-Array gesetzt.
-
- Aus den ersten drei Bits wird der Dezimal-Wert der anzuwendenden Funktion errechnet. Dieser geht dann in eine switch-Abfrage, die die Bits an die entsprechenden Klassen weitergibt. Folgende Funktionen sind in der Anwendung implementiert: Aufruf ortsabhängiger Informationen, Lichtermeer mit Kamera-Leuchte, Ton-Wiedergabe, Abstimmung, Text-Anzeige.
- Das beschriebene Verfahren eignet sich besonders zur Durchführung der oben beschriebenen Anwendungsszenarien. Darüber hinaus besteht auch die Möglichkeit, ein entsprechendes Tonsignal über TV oder Radio auszustrahlen, um mobile Endgeräte wie Smartphones entsprechend anzusteuern.
- Bezugszeichenliste
-
- 1
- Tonsystem
- 2
- Bühne
- 4
- Schallgenerator
- 6
- Computer
- 8
- Tonsignal
- 10
- mobiles Endgerät
- 12
- hörbarer Bereich
- 14
- Programmstart
- 16
- Bildschirminhalt
- 18
- Audioanalyse
- 20
- Fourier-Transformation
- 22
- Funktion
- 24
- Ton
- 26
- Blitzlampe
- 28
- Datenbit
- 30
- Array-Position
- P1, P2, P3
- Position
Claims (6)
- Verfahren zur Übertragung eines digitalen Signals von einem Sender (
1 ,10 ) zu einem Empfänger (1 ,10 ), wobei das digitale Signal eine Mehrzahl von Datenbits (28 ) umfasst, jedem der Datenbits (28 ) eine vorgegebene Frequenz in einem Tonsignal (8 ) zugeordnet wird, und das Tonsignal (8 ) vom Sender (1 ,10 ) an den Empfänger (1 ,10 ) akustisch übertragen wird, dadurch gekennzeichnet, dass die in dem jeweiligen Tonsignal (8 ) verwendeten Frequenzen größer als 18 kHz und kleiner als 20 kHz sind und der Zustand des jeweiligen Datenbits (28 ) anhand des Schalldruckverhältnisses einer im Bereich der dem jeweiligen Datenbit (28 ) zugeordneten Frequenz zu in einem vorgegebenen Frequenzabstand unter und über der jeweiligen Frequenz liegenden Vergleichsfrequenzen ermittelt wird. - Verfahren nach Anspruch 1, bei dem der Empfänger (
1 ,10 ) einen Verschiebungswert einer einem Datenbit (28 ) zugeordneten, empfangenen Frequenz gegenüber der dem Datenbit (28 ) zugeordneten vorgegebenen Frequenz ermittelt und die den übrigen Datenbits (28 ) zugeordneten vorgegebenen Frequenzen anhand des Verschiebungswerts korrigiert. - Verfahren nach einem der vorhergehenden Ansprüche, bei dem die den jeweiligen Datenbits (
28 ) zugeordneten Frequenzen einen Mindestabstand von 60, vorzugsweise 100 Hz haben. - Computerprogrammprodukt, welches in den Speicher eines mobilen Endgeräts (
10 ) geladen werden kann und Softwarecodeabschnitte umfasst, die, wenn sie ausgeführt werden, das mobile Endgerät (10 ) zum Zusammenwirken als Sender (1 ,10 ) oder Empfänger (1 ,10 ) in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen. - Computerprogrammprodukt, welches in den Speicher eines Tonsystems (
1 ) mit einem Schallgenerator (4 ) und/oder einem Schalldetektor geladen werden kann und Softwarecodeabschnitte umfasst, die, wenn sie ausgeführt werden, das Tonsystem (1 ) zum Zusammenwirken als Sender (1 ,10 ) oder Empfänger (1 ,10 ) in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen. - Vorrichtung (
1 ,10 ) mit Mitteln, die die Vorrichtung (1 ,10 ) zum Zusammenwirken als Sender (1 ,10 ) oder Empfänger (1 ,10 ) in dem Verfahren nach einem der vorhergehenden Ansprüche ertüchtigen.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012016755.5A DE102012016755B4 (de) | 2012-08-27 | 2012-08-27 | Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102012016755.5A DE102012016755B4 (de) | 2012-08-27 | 2012-08-27 | Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012016755A1 DE102012016755A1 (de) | 2013-06-27 |
DE102012016755B4 true DE102012016755B4 (de) | 2014-07-31 |
Family
ID=48575685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102012016755.5A Expired - Fee Related DE102012016755B4 (de) | 2012-08-27 | 2012-08-27 | Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102012016755B4 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9973887B2 (en) | 2016-01-21 | 2018-05-15 | Google Llc | Sharing navigation data among co-located computing devices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5226177A (en) * | 1990-03-27 | 1993-07-06 | Viewfacts, Inc. | Real-time wireless audience response system |
DE19904747A1 (de) * | 1998-08-21 | 2000-02-24 | Rudolf Bannasch | Verfahren zur Übertragung von Informationen sowie ein geeignetes System hierfür |
US20030117987A1 (en) * | 2001-10-23 | 2003-06-26 | Gavin Brebner | Conveying information to a communication device using sonic representations |
US20050100117A1 (en) * | 2003-10-27 | 2005-05-12 | Jensen James R. | System and method for encoding and decoding digital data using acoustical tones |
US20110238192A1 (en) * | 2010-03-25 | 2011-09-29 | Mehul Shah | Systems and Methods for Providing Access to Resources Through Enhanced Audio Signals |
-
2012
- 2012-08-27 DE DE102012016755.5A patent/DE102012016755B4/de not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5226177A (en) * | 1990-03-27 | 1993-07-06 | Viewfacts, Inc. | Real-time wireless audience response system |
DE19904747A1 (de) * | 1998-08-21 | 2000-02-24 | Rudolf Bannasch | Verfahren zur Übertragung von Informationen sowie ein geeignetes System hierfür |
US20030117987A1 (en) * | 2001-10-23 | 2003-06-26 | Gavin Brebner | Conveying information to a communication device using sonic representations |
US20050100117A1 (en) * | 2003-10-27 | 2005-05-12 | Jensen James R. | System and method for encoding and decoding digital data using acoustical tones |
US20110238192A1 (en) * | 2010-03-25 | 2011-09-29 | Mehul Shah | Systems and Methods for Providing Access to Resources Through Enhanced Audio Signals |
Non-Patent Citations (2)
Title |
---|
Appocalypse: RTAP. Online Artikel. o.D. URL: http://appocalypse.net/apps/614671-rtap * |
Geere D. : Sonic Notify - the inaudible QR codes only an app can hear. Online Article in WIRED.CO.UK. 08.02.2012.URL: http://www.wired.co.uk/news/archive/2012-02/08/sonicnotify-audio * |
Also Published As
Publication number | Publication date |
---|---|
DE102012016755A1 (de) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1977626B1 (de) | Verfahren zur aufnahme einer tonquelle mit zeitlich variabler richtcharakteristik und zur wiedergabe | |
EP3005732B1 (de) | Vorrichtung und verfahren zur raumselektiven audiowiedergabe | |
DE102016118712A1 (de) | Sonar basierend auf Ultraschallrauschen | |
DE102016101316A1 (de) | Informationsverarbeitungsverfahren und elektronisches Gerät | |
EP2754151B2 (de) | Vorrichtung, verfahren und elektroakustisches system zur nachhallzeitverlängerung | |
EP1808853B1 (de) | Beschallungsanlage, Beschallungsverfahren und Computerprogramm zur Verbesserung der Sprachqualität und/oder Verständlichkeit von Sprachdurchsagen | |
DE102017124621A1 (de) | Fühlbare Basswiedergabe | |
EP3158778A1 (de) | Vorrichtung und verfahren zum erzeugen und abspielen einer kopiergeschützten wellenfeldsynthese-audiodarstellung | |
DE102012016755B4 (de) | Verfahren zur Übertragung eines digitalen Signals von einem Sender zu einem Empfänger | |
EP1706951A1 (de) | Digitales mikrofon | |
DE102013225031B4 (de) | Kommunikationsverfahren, und Kommunikationssystem | |
DE112019004139T5 (de) | Signalverarbeitungsvorrichtung, signalverarbeitungsverfahren und programm | |
DE112018003068T5 (de) | Fortgeschrittene paketbasierte probenaudioverdeckung | |
EP3232691B1 (de) | Verfahren zur ermittlung der raumimpulsantwort einer fahrgastzelle eines kraftfahrzeugs | |
DE102005060036B4 (de) | Verfahren und Gerät zur Audiosignalverarbeitung | |
DE202020101973U1 (de) | System, Endgerät und Auswahleinrichtung für ein Echtzeit-Feedback | |
DE102019107173A1 (de) | Verfahren und Vorrichtung zum Erzeugen und Ausgeben eines Audiosignals zum Erweitern des Höreindrucks bei Live-Veranstaltungen | |
DE10254407A1 (de) | Vorrichtung und Verfahren zum Unterdrücken einer Rückkopplung | |
DE102022000776A1 (de) | Virtuelle akustische Zuschauerkulisse | |
DE102017214181A1 (de) | Beschallungsanlage zur Beschallung eines Beschallungsbereichs, Verfahren zur Beschallung eines Beschallungsbereichs und Computerprogramm zur Durchführung des Verfahrens | |
EP1900250B1 (de) | Elektroakustisches verfahren | |
DE940048C (de) | Vorrichtung zur stereophonischen Schalluebertragung | |
DE102008050425A1 (de) | Vorrichtung zur aktiven Reduzierung von Fremdschall | |
EP3267621A1 (de) | Verfahren zur erzeugung eines an einen realen endpunkt zu übermittelnden gesamtraumklangs, verwendung des verfahrens sowie telekonferenzsystem | |
DE1170469B (de) | Elektronischer Nachhallerzeuger zum AEndern der Nachhallkennlinie akustischer Signale |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04W0004040000 Ipc: H04W0004000000 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R230 | Request for early publication | ||
R081 | Change of applicant/patentee |
Owner name: ECK, SEBASTIAN, DE Free format text: FORMER OWNER: SEBASTIAN ECK GBR (VERTRETUNGSBERECHTIGTER GESELLSCHAFTER), 60594 FRANKFURT, DE Effective date: 20130527 Owner name: SEBASTIAN ECK GBR(VERTRETUNGSBERECHTIGTER GESE, DE Free format text: FORMER OWNER: SEBASTIAN ECK GBR (VERTRETUNGSBERECHTIGTER GESELLSCHAFTER), 60594 FRANKFURT, DE Effective date: 20130527 Owner name: FRANKE, MAX, DE Free format text: FORMER OWNER: SEBASTIAN ECK GBR (VERTRETUNGSBERECHTIGTER GESELLSCHAFTER), 60594 FRANKFURT, DE Effective date: 20130527 |
|
R082 | Change of representative |
Representative=s name: TERGAU & WALKENHORST PATENTANWAELTE - RECHTSAN, DE Effective date: 20130527 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: TERGAU & WALKENHORST PATENTANWAELTE - RECHTSAN, DE |
|
R018 | Grant decision by examination section/examining division | ||
R081 | Change of applicant/patentee |
Owner name: ECK, SEBASTIAN, DE Free format text: FORMER OWNERS: FRANKE, MAX, 64289 DARMSTADT, DE; SEBASTIAN ECK GBR(VERTRETUNGSBERECHTIGTER GESELLSCHAFTER: SEBASTIAN ECK, DEUTSCHHERRNUFER 49, 60594 FRANKFURT), 60594 FRANKFURT, DE Effective date: 20140325 Owner name: FRANKE, MAX, DE Free format text: FORMER OWNERS: FRANKE, MAX, 64289 DARMSTADT, DE; SEBASTIAN ECK GBR(VERTRETUNGSBERECHTIGTER GESELLSCHAFTER: SEBASTIAN ECK, DEUTSCHHERRNUFER 49, 60594 FRANKFURT), 60594 FRANKFURT, DE Effective date: 20140325 Owner name: ECK, SEBASTIAN, DE Free format text: FORMER OWNER: MAX FRANKE, SEBASTIAN ECK GBR(VERTRETUNGSBE, , DE Effective date: 20140325 Owner name: FRANKE, MAX, DE Free format text: FORMER OWNER: MAX FRANKE, SEBASTIAN ECK GBR(VERTRETUNGSBE, , DE Effective date: 20140325 |
|
R082 | Change of representative |
Representative=s name: TERGAU & WALKENHORST PATENTANWAELTE - RECHTSAN, DE Effective date: 20140325 |
|
R082 | Change of representative | ||
R020 | Patent grant now final | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |