Ich habe mich mit dem Entwurf kommerzieller Systeme befasst, die entweder dazu dienten, die Position eines Tags direkt zu melden, oder das als Teil eines größeren Schemas wissen musste. Unter diesen Systemen wurden IR, RF und Ultraschall verwendet. Ich kann Ihnen sagen, dass keiner von ihnen das Problem "gut" löst.
RF kann verwendet werden, um einen Ort mit einer angemessenen Auflösung zu finden, der auf Triangulation mit Signalstärke basiert. Verschiedene Dinge beeinträchtigen jedoch die empfangene Signalstärke. Wenn Sie sich für RF entscheiden, verwenden Sie eine niedrige Frequenz im Vergleich zu WiFi und vielen anderen RF-Systemen. Wir haben 434 MHz verwendet, eine der ISM-Frequenzen. Auf diesem Band ist es zulässig, alle 10 Sekunden eine Kurznachricht mit begrenzter Leistung zu senden, es sei denn, der Benutzer leitet absichtlich eine Aktion ein. Höhere Frequenzen werden in Innenräumen stärker gebeugt und behindert. Dann gibt es Probleme mit variierender empfangener Signalstärke aufgrund der Polarisation. Es gibt Möglichkeiten, damit umzugehen, aber das wäre ein ganzer Diskurs für sich.
Sie könnten versucht sein, einen Ort zu finden, indem Sie die Ankunftszeit messen - zumindest bis Sie rechnen. Bei nur einer Nanosekunde pro Fuß müssen die Mehrfachempfänger sehr genau synchronisiert werden. Noch schwieriger ist es, ein gemeinsames Ereignis bei der Übertragung auf die Auflösung eines einzelnen Trägerzyklus bestimmen zu können, aber natürlich erlauben die Bandbreitenbeschränkungen nur kleine Änderungen zwischen benachbarten Trägerzyklen. Wenn Sie hier nachfragen müssen, liegt die RF-Ankunftszeit im Grunde genommen weit über Ihrem Kopf und wahrscheinlich auch über Ihrem Budget.
IR macht im Grunde das, was Sie wollen, außer dass es leicht von Ihrem Körper und Ihrer Kleidung blockiert wird. Es wird nicht in einer Tasche funktionieren. Es kann am Hemd befestigt funktionieren, aber nicht, wenn es von einem Revers oder einem Pullover oder etwas anderem bedeckt wird. IR wird im Allgemeinen gut in einem Raum herumspringen, aber nicht viel Leistung lässt es durch die relativ kleine Türöffnung. Wenn Sie mit den Okklusionsproblemen umgehen können, ist dies eine gute Möglichkeit, ein Tag in einem Raum zu lokalisieren, da Wände für IR undurchsichtig sind.
Ultraschall geht auch nicht durch Wände, sondern springt weniger gut in einem Raum herum. Es kann manchmal durch eine dünne Kleidungsschicht gehen und manchmal nicht. Es gibt auch viel mehr Umgebungsultraschallgeräusche als HF oder IR. Selbst wenn das Etikett auf der Brust getragen wird und nicht abgedeckt ist und der Sender nach außen zeigt (es ist wirklich einfach, eine Tag-Flip-Senderseite zur Brust zu haben), besteht immer noch eine vernünftige Wahrscheinlichkeit, dass eine Nachricht nicht durchkommt. Sie können mit Ultraschall eine nützliche Triangulation der Ankunftszeit durchführen, da diese so langsam ist (ca. 3 ms / m), aber das bedeutet auch, dass die Datenrate sehr langsam ist. Wenn diese Tags einen einzelnen Ping ausgeben können, ist Ihnen die Datenrate egal. Wenn Sie mehrere Tags identifizieren müssen, müssen Sie mit jeder Nachricht Informationen senden. Wir haben Informationen im Timing zwischen kurzen Bursts codiert. Aber, Beachten Sie, dass zwischen den Bursts eine inhärente Untergrenze für die Zeit besteht. Sie können keine neue senden, bis die letzte in der Umgebung wiedergegeben ist. Andernfalls werden die Empfänger verwirrt. In der Praxis müssen Sie etwa 10 Meter auf die Ausbreitung warten, bis die Dinge zwischen den Bursts abgeklungen sind. Der Kunde hat möglicherweise ein Patent angemeldet, ich bin mir nicht sicher.
In jedem Fall müssen Sie den Kanal vom Tag zum Empfänger als fehleranfällig betrachten. Wenn Sie versuchen, überhaupt Daten zu senden, sollte eine Prüfsumme enthalten sein. Wir hatten tatsächlich Probleme mit einem frühen RF-System, das nur 8 Bit Prüfsumme pro Paket verwendete (ich habe dieses Paketformat nicht entworfen). Es gab genug schlechte Dinge, die als gute Daten interpretiert wurden, um Feldprobleme zu verursachen. Das neuere Paketformat (das ich entworfen habe) hatte eine 20-Bit-CRC-Prüfsumme, und das hat das Problem im Grunde genommen behoben.