www.mikrocontroller.net

Forum: Offtopic Ultraschallortung, Mathematik


Autor: Nullblicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da in einem anderen Thread auch über Mathe diskudiert wird, hier mein 
Problem:

Vier Ultraschall Sender sind im Raum verteilt (Koordinaten, X,Y,Z) 
bekannt.

Sender 1 sendet einen Impuls zur Zeit t=1000ms
Sender 2 sendet einen Impuls zur Zeit t=2000ms
Sender 3 sendet einen Impuls zur Zeit t=4000ms
Sender 4 sendet einen Impuls zur Zeit t=5000ms
Sender 1 sendet einen Impuls zur Zeit t=6000ms

Ein Empfänger empfängt die Impulse.
Zu bestimmen ist die Raumlage des Empfängers.

Anmerkungen:
Die Sender sind synchronisiert (t0). Der Empänger nicht, d.h. der 
Empfanger kennt t0 nicht. Einer einfache Laufzeit Messung ist nicht 
möglich.

Ist es möglich, die exakte Position des Empängers zu ermitteln?

Autor: Winne (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja daruf haben auch verschiedene funkortungsysteme in der 
vorsattelitenära basiert(decca, lan ). Die ganze Sache arbeite nachdem 
Prinzip der Laufzeitdifferenzen. Zur räumlichen Positionsbestimmung 
beötigst du drei Sender der vierte gewährliestet eine höhere 
Genauigkeit. Allerdings ist das Ganze recht schwierig und  in 
geschlossenen Räumen realisierbar, da du hier die Echos der Wände 
ausfiltern mußt und das ist bei ultraschall nicht so einfach.

Autor: inoffizieller WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn die Pause an einer Stelle des Telegramms anders aussieht, als die 
anderen, kann man zumindest auf die Reihenfolge schliessen. (DCF77 lässt 
grüssen).
Die umgekehrte Variante (stionäre Empfänger, mobiler Sender) wird bei 
Taucher-Positionssystemen (im Wasser) verwendet.

Autor: Nullblicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anmerkung:

Die Entfernung des Empfängers <--> Sender ist kleiner 100m, daher ist 
sicher, dass der erste empfangene Impuls von Sender 1 stamt, der zweite 
von Sender 2, usw.

Autor: Christoph Kessler (db1uq) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vielleicht hilft der Wikipedia-Link weiter:
http://de.wikipedia.org/wiki/Hyperbelnavigation
Bei GPS ist, meine ich, auch der vierte Satellit für die Zeitreferenz 
nötig, nur für eine zweidimensionale Standortbestimmung auf der 
Erdoberfläche reichen drei

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Position der Sender kennst du hoffentlich genau.

Dann hast du

  sqrt(( x - x1)^2 + (y - y1)^2 + (z - z1)^2 ) = ( t1 - t0 ) * v
  sqrt(( x - x2)^2 + (y - y2)^2 + (z - z2)^2 ) = ( t2 - t0 - 1000 ) * v
  sqrt(( x - x3)^2 + (y - y3)^2 + (z - z3)^2 ) = ( t3 - t0 - 3000 ) * v
  sqrt(( x - x4)^2 + (y - y4)^2 + (z - z4)^2 ) = ( t4 - t0 - 4000 ) * v

x1/y1/z1   Position des 1. Senders
x2/y2/z2   Position des 2. Senders
x3/y3/z3   Position des 3. Senders

t1         Zeitpunkt des Empfangs am 1. Sender
t2         Zeitpunkt des Empfangs am 2. Sender
t3         Zeitpunkt des Empfangs am 3. Sender
t4         Zeitpunkt des Empfangs am 4. Sender

v          Schallgeschwindigkeit

Unbekannte: x, y, z       Position des Empfängers
            t0            Zeitpunkt an dem die Sender einen
                          Durchgang starten

Alles in allem: 4 Gleichungen in 4 Unbekannten.


Autor: Nullblicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin jetzt wieder nach langer Zeit an dem Projekt.

@ kbucheg
Danke für Deinen Beitrag. Soweit war ich schon einmal.

>Alles in allem: 4 Gleichungen in 4 Unbekannten.

t0 = t1 - sqrt( (X-X1)² + (Y-Y1)² + (Z-Z1)² ) / v

X  = sqrt( (t2-t0-1000)²*v² - (Y-Y2)² - (Z-Z2)² ) + X2

Y  = sqrt( (t3-t0-3000)²*v² - (X-X3)² - (Z-Z3)² ) + Y3

Z  = sqrt( (t4-t0-4000)²*v² - (X-X4)² - (Z-Z4)² ) + Z4

Nur leider ist es kein lineares Gleichungssystem, daher ist die Lösung 
nicht ganz so einfach - oder ich bin einfach zu blöde.

Weiß jemand weiter?

Autor: Nullblicker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Gleichung für Z war naturlich falsch (Past-Copy Fehler).
Richtig sind die folgenden:

t0 = t1 - sqrt( (X-X1)² + (Y-Y1)² + (Z-Z1)² ) / v

X  = sqrt( (t2-t0-1000)²*v² - (Y-Y2)² - (Z-Z2)² ) + X2

Y  = sqrt( (t3-t0-3000)²*v² - (X-X3)² - (Z-Z3)² ) + Y3

Z  = sqrt( (t4-t0-4000)²*v² - (X-X4)² - (Y-Y4)² ) + Z4

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Weiß jemand weiter?

Schnapp dir ein Derive oder Maple
und lass dieses das System lösen.

Aber ich würde mal damit anfangen in den
einzelnen Gleichungen die Wurzel aufzulösen
und danach die Quadrate. Das gibt dann für
jede Gleichung eine riesen Wurscht, in der
x, y, z mit maximal einem Quadrat vorkommt.

Soweit, so gut.
Danach eine Gleichung nach t0 umstellen und
damit aus den anderen 3 Gleichungen das t0
eliminieren.

Dann jede einzelne der 3 Gleichung nach x bzw. y
bzw. z auflösen. Durch einsetzen der Lösung
für y bzw z in die erste Gleichung musste
eiegntlich eine Gleichung entstehen, in der
nur noch x als Unbekannte vorkommt.

Selbiges für z in der 2. Gleichung.

Damit hast du dann 3 Gleichungen, die dir
die Lösungen für x, y, z geben.

Wie gesagt: Das gibt elends lange Gleichungen, bei denen
man händisch einen Haufen Fehler einbauen kann. Lass
das Derive oder Maple oder was du sonst für symbolisches
Rechnen hast, machen.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger wrote:
>> Weiß jemand weiter?
>
> Schnapp dir ein Derive oder Maple
> und lass dieses das System lösen.
>
> Aber ich würde mal damit anfangen in den
> einzelnen Gleichungen die Wurzel aufzulösen
> und danach die Quadrate.

Gemeint sind die ursprünglichen Gleichungen.
Nicht deine Bearbeitung.

Autor: Rahul, der Trollige (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer ist eigentlich auf diese komischen Zeitintervalle gekommen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.