Ultraschallimpulse und Reflexionsprobleme


7

Ich baue ein Whiteboard, um die Position seines Stifts zu verfolgen. Ich habe nUltraschallempfänger am Rand des Whiteboards und einen Ultraschallsender im Stift. Der Stift sendet Impulse aus, die die Empfänger erkennen. Ein Mikroprozessor sammelt die Ankunftszeiten der Impulse für jeden Empfänger und nimmt mit den Zeitdifferenzen der Ankunft (TDOA) eine Schätzung der Position des Stifts nach einem Multilaterationsalgorithmus vor .

Ultraschall reflektiert Oberflächen, die Störungen verursachen können. Dies ist eine Einschränkung der Frequenz der Impulse. Im Moment pulsiere ich den Stift mit 10 Hz, was ausreicht, damit die Reflexionen abklingen und nicht stören. Leider ist 10Hz für meine Zwecke nicht schnell genug. Idealerweise pulsiert der Stift mit 100 Hz. (Der Stiftsender ist an einen Mikrocontroller angeschlossen, damit ich die Form und Frequenz des Impulses steuern kann.)

Mit welchen Tricks kann ich das Reflexionsproblem angehen? Was sind einige Standardfiltertechniken? Könnte die Verwendung unterschiedlicher Impulsmuster in einem Zyklus dazu beitragen, die Reflexionen herauszufiltern?


2
Was ist die Form des Impulses (eine Sinuskurve, ein moduliertes Signal usw.)? Wie lange dauert jeder Puls? Welche Bandbreite steht für das End-to-End-Ultraschallsystem zur Verfügung? Ein Schema, das funktionieren könnte, wäre das Durchlaufen eines Satzes verschiedener orthogonaler Impulsformen für nachfolgende Übertragungen; Dies würde helfen, Interimpulsstörungen zu verhindern. Es würde ein gewisses Maß an Zeitsynchronisation zwischen dem Whiteboard und dem Stift erfordern, aber das könnte möglicherweise behoben werden.
Jason R

1
Ich kann die Form des Impulses und die Dauer wählen (der Sender ist an einen voll programmierbaren Mikroprozessor-DAC angeschlossen). Die Ultraschallbandbreite beträgt 40 kHz +/- 1 kHz. Was genau meinst du mit "orthogonalen Pulsformen"?
Randomblue

@Justin eine orthogonale Familie von Impulsformen sind zum Beispiel Impulse / Signale, deren Punktprodukt miteinander 0 ergibt. Zum Beispiel ergeben ein Zyklus einer Sinuswelle und ein Zyklus einer Kosinuswelle, wenn ihr Punktprodukt genommen wird, Null.
Spacey

1
@Justin: Wie viele Verarbeitungsressourcen stehen im Backend zur Verfügung, das mit dem Array der Ultraschallempfänger verbunden ist?
Jason R

@ JasonR: Es gibt zwei Verarbeitungsebenen. Der erste ist ein ARM-Chip, der einfach die Datenerfassung durchführt (die Messwerte von den Empfängern an das Internet sendet). Ich habe dann einen leistungsstarken Server, um die Daten zu empfangen und zu verarbeiten.
Randomblue

Antworten:


1

Es scheint, dass sich Ihr Problem sehr gut für die Verwendung eines CDMA- Schemas eignet .

Beginnen wir mit einigen Eigenschaften von (DSSS) CDMA. (Direct Sequence Spread Spectrum, Code-Division-Mehrfachzugriff). Es ist ein Schluck, aber es ist wirklich einfach zu implementieren.

In CDMA besteht Ihr Puls (im Basisband) tatsächlich aus vielen verketteten " Chips ", wie sie genannt werden. Die Chips sind nur 1s oder -1s von fester Dauer. Zum Beispiel könnte Ihre Chipping-Sequenz [1 -1 1 -1 -1 -1 1] sein. Sie würden diese Chipping-Sequenz verwenden, um Ihren Träger zu modulieren.

Sie können jedoch nicht einfach Ihren Chipping-Code erstellen. Was Sie tun möchten, ist Chipping-Codes zu verwenden, die die sehr schöne Eigenschaft haben, dass ihre Autokorrelationsfunktion eine Delta-Funktion wie folgt ist:

Geben Sie hier die Bildbeschreibung ein

(Entsprechend ist ihre spektrale Leistungsdichte weiß). Sie können beispielsweise die Verwendung von Barker-Sequenzen als Chipping-Code (normalerweise im Radar verwendet) oder die Verwendung von Gold-Codes untersuchen . In der Praxis bedeutet dies jedoch, dass Sie die maximale Korrelationsbewertung in Ihrem Empfänger erhalten, NUR wenn der Code des Empfängers genau mit dem übertragenen Code übereinstimmt, andernfalls Null .

Wie hilft dir das? In Ihrem Empfänger würden Sie kontinuierlich einen Korrelator ausführen. Der Korrelator würde ein laufendes Punktprodukt seines eigenen lokalen Codes ausführen, mit allem, was empfangen wird. Stellen Sie sich nun vor, Sie empfangen eine übertragene Wellenform von Ihrem Stift und eine zweite Wellenform von einer Reflexion. Während der Korrelator Ihres Empfängers ausgeführt wird, gibt er einen Spitzenwert, wenn sein eigenes Codewort genau mit Ihrem Code aus dem Stift übereinstimmt. Dadurch wird Ihr Detektor auf diesen bestimmten Verzögerungswert eingestellt. Nun, hier ist , wo Sie die Vorteile einer nahes Delta Autokorrelationsfunktion des Codes ernten: Das reflektierte Signal wird auch anwesend sein und auch seine Skalarprodukt mit den Empfängern locked Code genommen haben, aber es gibt null oder nahe Null Punktzahl, da es orthoginal istoder nahezu orthogonal zu dem verzögerten Code, auf den sich Ihr Empfänger bereits festgelegt hat.

Wenn Sie dagegen einen nicht codierten Trägerimpuls gesendet hätten, wären Sie einer konstruktiven oder destruktiven Interferenz ausgeliefert, die abfällt, wenn genau Ihr Impuls auf der Detektorebene Ihres Empfängers seinen Höhepunkt erreicht, und somit fehlerhafte TDOAs erhalten.


1
Probleme mit dem Doppler-Effekt aufgrund der Bewegung des Stifts?
Endolith

Ich verstehe nicht, wie der Detektor einen bestimmten Verzögerungswert "einrasten" kann. Der Stift bewegt sich, daher variiert die Verzögerung.
Randomblue

@endolith Ja, abhängig davon, wie schnell sich der Stift bewegt, obwohl dies möglicherweise mit einer PLL korrigiert werden kann.
Spacey

@Justin Ja, es wird eine bestimmte Verzögerung für diesen Hauptimpuls festgelegt. Dann sendet Ihr Stift einen weiteren Impuls aus und speichert eine neue Verzögerung usw. usw. Ihr Stift erzeugt immer neue Impulse, und die Empfänger empfangen sie immer und berechnen einen neuen TDOA. Der Punkt ist, dass die Mehrwege nicht in der Lage sind, Ihre Hauptleitung destruktiv zu stören, wenn das Sichtzeichen signalisiert wird.
Spacey

1
@endolith Ja, ich stimme zu. Die Bandbreite muss groß genug sein. Ich zurück von der Serviettenberechnung, die ich gemacht habe, zeigt Doppler-Delta bei ca. 100Hz, während Bandbreite 2 kHz ... und ja, müsste simulieren, um zu sehen, ob gut genug.
Spacey
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.