Ultraschallortung, Mathematik

Gast #428205
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?
Gast
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.
Gast
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.
Gast
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.
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.

Gast
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?
Gast
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
> 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.
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.