Tach,
im Rahmen eines kleinen Bastelprojekts knobel ich gerade an einem
Geometrie-Problem, komme aber nicht so recht weiter. Vielleicht hat ja
hier jemand einen Tipp für mich?
Der Aufbau:
- Drei Empfänger A, B und C stehen auf einer Ebene und bilden ein
gleichseitiges Dreieck
- Die Postionen/Abstände der Empfänger sind bekannt
- Innerhalb des Dreiecks bewegt sich ein Sender
- Jeder der drei Empfänger meldet die aktuelle Signalstärke, die er
misst
Die Frage:
- Wie bekomme ich am besten die Position (X,Y) des Senders in der Ebene
heraus?
PS: Die Signalstärke des Senders ist nicht konstant. D.h. man kann sich
nur auf die relativen Unterschiede an den drei Empfängern stützen.
Da wäre mein Rat, erstmal ein einfacheres Problem zu lösen, nämlich die
Entsprechung für den eindimensionalen Fall, also zwei Empfänger an den
Koordinaten x = ±1 und der Sender befindet sich irgendwo auf der
Verbindungslinie. Mit dem, was Du dabei lernst, wird Dir dann die Lösung
der eigentlichen Aufgabenstellung leichter fallen.
Hallo Sneef,
gehst Du davon aus, dass die empfangene Signalstärke linear mit dem
Abstand zusammenhängt oder gibt es da einen nichtlinearen Zusammenhang?
Mein Ansatz wäre:
Der Mittelpunkt M des Dreiecks ABC ist ja bekannt.
Die einzelnen EmpfangspegelPa,Pb und Pc werden gemessen.
Im Mittelpunkt gilt: Pa = Pb = Pc
oder auch die Relationen Pa:Pb = Pa:Pc = Pb:Pc
Vlt. lässt sich so die Position von S errechnen ?
// Compute the distance from receiver A based on the normalized signal strengths
18
double ratio = normalizedStrengthA / (normalizedStrengthA + normalizedStrengthB);
19
double distanceFromA = Distance - ratio * Distance;
20
21
return distanceFromA;
22
}
23
24
void main()
25
{
26
std::cout << GetPosition(100, 100) << std::endl; // Equal signal strength should yield exact center position (500)
27
std::cout << GetPosition(200, 200) << std::endl; // Same as before => 500
28
std::cout << GetPosition(500, 0) << std::endl; // Now we are located at receiver A => position 0
29
std::cout << GetPosition( 0, 500) << std::endl; // Now we are located at receiver B => position 1000
30
std::cout << GetPosition( 66, 33) << std::endl; // We are 1/3rd of the way => postion 333
31
}
Bei drei Empfängern komme ich aber wie gesagt nicht weiter...
WR schrieb:> gehst Du davon aus, dass die empfangene Signalstärke linear mit dem> Abstand zusammenhängt oder gibt es da einen nichtlinearen Zusammenhang?
Erst mal ja. Verkomplizieren kann ich es dann ja immernoch ;-)
Sneef schrieb:> - Innerhalb des Dreiecks bewegt sich ein Sender> - Jeder der drei Empfänger meldet die aktuelle Signalstärke, die er> misst
Da kann man viel rechnen, funktionieren kann das nur im Freifeld, wo
keine Reflektionen vorkommen können. Ein würfelförmiger Raum darum herum
macht jede Berechnung sinnlos, man könnte höchstens an vielen Punkten
Messungen durchführen und danach Näherungen berechnen. Aber nur wenn
sich an der Umgebung nichts ändert, Menschen wären da das reine Gift.
Georg
Wäre es nicht eine Möglichkeit um ab jeder Ecke(Station) des Dreiecks
einen Kreis zu zeichnen und den Durchmesser des Kreises je
Empfangsstärke zu verkleinern?
Dort wo die Schnittpunkte der Kreise liegen könnte sich der Empfänger
aufhalten?
Oder ist die Idee falsch gedacht?
Alternativ
Das Feld wie bei der Wettervorhersage in Quadrate zerlegen und für jedes
Quadrat der Größe x eine Messung zu allen Empfangsstationen abspeichern.
Anschließend muss nur der Wert der aktuellen Position mit den
abgespeicherten verglichen werden und der Wert, der dem am nächsten
kommt spiegelt die Position wieder.
Sneef schrieb:> Die Frage:> - Wie bekomme ich am besten die Position (X,Y) des Senders in der Ebene> heraus?
1. Schritt: die Signalstärke auf eine lineare Skala
projezieren (=> Abstand zu einem Sender)
2. Schritt: je Empfänger erhält man einen Kreis (mit Radius
Abstand Sender-Empfänger), auf dem der Sender liegt, d.h.
je zwei Empfänger erhält man als Schnitt zwei mögliche
Punkt, d.h. für alle 3 Empfänger erhält man so sechs Punkte.
3. Schritt: von den sechs Punkten sind 3 Punkte in etwa
"gleich". Der Durchschnitt davon ist dann in etwa die
Position des Senders (im numerisch möglichen Rahmen)
(Voraussetzung: homogenes Feld, keine Reflexionen etc.)
Sigi schrieb:> 2. Schritt: je Empfänger erhält man einen Kreis (mit Radius> Abstand Sender-Empfänger)
Das wird nicht funktionieren. Die Sendestärke des Senders schwankt ja
beliebig (siehe oben). Daher ist eine direkte Zuordnung von Signalstärke
zu Entfernung nicht möglich.
Du kannst die Signalstärke als baryzentrische Koordinaten im Dreieck
ansehen. Du musst sie nur auf 0..1 normalisieren.
Die Umrechnung auf kartesische (xy) Koordinaten ist in dem Wikipedia
Artikel zu den baryzentrischen Koordinaten aufgeschrieben:
https://de.wikipedia.org/wiki/Baryzentrische_Koordinaten
Das funktioniert übrigens mit allen Dreiecken. Es muss nicht
gleichschenklig sein.
Sneef schrieb:> Sigi schrieb:>> 2. Schritt: je Empfänger erhält man einen Kreis (mit Radius>> Abstand Sender-Empfänger)>> Das wird nicht funktionieren. Die Sendestärke des Senders schwankt ja> beliebig (siehe oben). Daher ist eine direkte Zuordnung von Signalstärke> zu Entfernung nicht möglich.
Deswegen wird ja im Schritt 1 die Projektion auf eine
Skala ausgeführt (sozusagen eine Art Vorbereitung).
Dabei muss natürlich die relativen Unterschiede einfliessen,
d.h. die schwankende Signalstärke.
pA,pB und pC sind die Empfangsstärken an A,B und C und sind normierte
Skalare
Die Punkte A,B,C und S sind als Ortsvektoren zu betrachten.
Meine Vermutung und nur exemplarisch getestet:
S = pA*A + pB*B + pC*C
Geert H. schrieb:> Finder kann radio Abstand messen, ziemlich genau: ~0,3m
Das funktioniert mit Messung von Zeitverzögerung auf
Lichtgeschwindigkeit.
Also nicht mit Signalstärke.
Sneef schrieb:> Sigi schrieb:>> 2. Schritt: je Empfänger erhält man einen Kreis (mit Radius>> Abstand Sender-Empfänger)>> Das wird nicht funktionieren. Die Sendestärke des Senders schwankt ja> beliebig (siehe oben). Daher ist eine direkte Zuordnung von Signalstärke> zu Entfernung nicht möglich.
Wenn das Signal sich während der Messung der drei Empfänger ändert, ist
das Problem nicht zu lösen, da es nicht klar ist, ob die beliebige
Schwankung oder die Entfernung die Signalstärke bestimmt.
Bernd schrieb:> Wenn das Signal sich während der Messung der drei Empfänger ändert, ist> das Problem nicht zu lösen, da es nicht klar ist, ob die beliebige> Schwankung oder die Entfernung die Signalstärke bestimmt.
So schlimm ist es nicht :-)
Alle drei Empfänger messen exakt gleichzeitig, die Signalstärke des
Senders ändert sich während dessen also nicht.
Bernd schrieb:> Wenn das Signal sich während der Messung der drei Empfänger ändert, ist> das Problem nicht zu lösen, da es nicht klar ist, ob die beliebige> Schwankung oder die Entfernung die Signalstärke bestimmt.
Danke Bernd, sehr interessanter Einwand: Aber, wenn sich
die Sendeleistung ändert, dann für alle 3 Empfänger
gleichzeitig. Eine Positionsänderung hingegen führt zu
einer nicht gleichgrossen Änderung, d.h. beide Effekte
lassen sich mathematisch (im Rahmen der Numerik bla..)
voneinander trennen.
Ein paar Beispiele für meine obige Lösungsformel:
%% Gleichseitiges Dreieck in der Ebene
octave:51> A=[-0.5;0];B=[0.5;0];C=[0;0.87];
%% Fall 1: Alle signale sind gleich stark und normiert
octave:52> PA=1/3;PB=1/3;PC=1/3;
octave:53> S=PA*A + PB*B + PC*C
S =
0.00000
0.29000
%% Das sind die Koordinaten des Mittelpunkts von obigem Dreieck
%% Fall 2:
octave:54> PA=0;PB=0;PC=1;
octave:55> S=PA*A + PB*B + PC*C
S =
0.00000
0.87000
%% Das sind die Koordinaten von C
Die Sendeposition ist die mit der normierten Signalstärke gewichtete
Summe
der Ortsvektoren.
Nils schrieb:> Du kannst die Signalstärke als baryzentrische Koordinaten im Dreieck> ansehen. Du musst sie nur auf 0..1 normalisieren.>> Die Umrechnung auf kartesische (xy) Koordinaten ist in dem Wikipedia> Artikel zu den baryzentrischen Koordinaten aufgeschrieben:>> https://de.wikipedia.org/wiki/Baryzentrische_Koordinaten>> Das funktioniert übrigens mit allen Dreiecken. Es muss nicht> gleichschenklig sein.
Meine erste Vermutung war, dass das so nicht geht. Ich habe
mir mal kurz ein Gegenbeispiel ausgedacht, hoffentlich nicht
falsch:
Gegeben sei ein Quadrat, von dem 3 Punkte die Punkte A,B,C
bilden. Der Sender befinde sich in der Mitte des Quadrats,
d.h. Abstand zu allen 3 Empfängern exakt gleich. Die
baryzentische Kombination liefet aber die Mitte von A,B,C,
d.h. nicht den Sender.
Man kann sich das auch mathematisch klar machen: Die Sendeleistung
impliziert projektivgeometrisch 3 Kegel mit den zugehörigen
Schnitten (Kegelschnitte!). Diese sind iA aber gebrochenquadratisch
und nicht gebrochenlinear, d.h. können iA niemals baryzenrtrisch
erfasst werden. Es kann aber im Spezialfall sein, dass man eine
"gute" Näherung bekommt (z.B. im Fall von 2 Punkten, da ist
die Entfernungsgeschichte und die baryzentrische Geschichte
identisch, siehe Bernsteinpolynome etc.)
Mit der Annahme das es sich ums Freifeld handelt und es keine
Reflexionen usw. gibt nimmt ist die empfangene Leistung indirekt
proportional vom Quadrat des Abstandes zum Sender.
D.h.
Pe = (1/r^2) * Ps
Damit kannst Du Dir Deine Gleichungen aufstellen:
Ps = a^2 * Pa = b^2 * Pb = c^2 Pc
wenn a, b, c die jeweiligen Abstände zu den Eckpunkten des Dreiecks zum
Sender sind
Pa, Pb und Pc die Empfangenen Leistungen an den Eckpunkten A,B,C
Ps die Sendeleistung
Mit a,b,c und den Abständen zwischen den Eckpunkten kannst Dir die
Position ausrechnen da es hier wieder kleinere Dreiecke in Deinem großen
Dreieck gibt und mit Zuhilfenahme von z.B. b^2 / a^2 = Pa / Pb usw.
kannst Du in den Gleichungen a, b, c ausrechnen/ersetzen.
Sneef schrieb:> Bernd schrieb:>> Wenn das Signal sich während der Messung der drei Empfänger ändert, ist>> das Problem nicht zu lösen, da es nicht klar ist, ob die beliebige>> Schwankung oder die Entfernung die Signalstärke bestimmt.>> So schlimm ist es nicht :-)> Alle drei Empfänger messen exakt gleichzeitig, die Signalstärke des> Senders ändert sich während dessen also nicht.
Das wäre geklärt :)
Wenn die Signalstärke wirklich linear von der Entfernung abhängen würde
und es keine Reflektionen gäbe, wäre es relativ einfach:
Empfänger auf den Punkten A,B,C (Koordinaten sind bekannt)
Sender auf Punkt S (Koordinaten unbekannt)
A= (xA,yA), B= (xB,yB), etc.
EA ... Signalstärke bei A
EB ... Signalstärke bei B
EC ... Signalstärke bei C
S ... Sendestärke
dA ... Abstand Sender zu Empfänger A
dB ... Abstand Sender zu Empfänger B
dC ... Abstand Sender zu Empfänger C
EA= S*dA
EB= S*dB
EC= S*dC
(xS-xA)^2+(yS-yA)^2 = dA^2
(xS-xB)^2+(yS-yB)^2 = dB^2
(xS-xC)^2+(yS-yC)^2 = dC^2
Unbekannt sind S,dA,dB,dC,xS,yS. Macht also 6 Gleichungen und 6
Unbekannte -> kann man lösen.
Vielleicht kann man auch die Empfänger Modifizieren.
Wenn man die Empfänger zum Beispiel mit Richtfunkantennen oder
äquivalenten ausstattet und die Antennen sich im Kreis (halbkreis,
whatever) drehen lässt, dann ist die Signalstärke egal, jede Antenne hat
einen kleinen bekannten Winkel in dem Sie den Sender Ortet.
Dann kann man einfach den Schnittpunkt bestimmen auf den die drei
Empfänger Kontakt haben.
mh schrieb:> Und woher weißt du jetzt, dass das angezeigte Ergebnis richtig ist?
1. Weil ich es mit GeoGebra, das ist ein Konstuktionsprogramm für
Geometrie, auf Plausibilität überprüft habe.
2. Weil das die elementare Vektorgeometrie (Klasse 10 oder 11) aussagt.
WR schrieb:> gehst Du davon aus, dass die empfangene Signalstärke linear mit dem> Abstand zusammenhängt oder gibt es da einen nichtlinearen Zusammenhang?
Komische Frage - der Fachkräftemangel ist real.
Allein schon die Physik sorgt dafür, dass die Signalstärke mit dem
Quadrat der Entfernung abnimmt. Ein linearer Zusammenhang ergibt sich,
wenn man den Logarithmus zu Hilfe nimmt.
Im 1dimensionalen Fall sei A = 0 und B = 1.
pA sei 0.5 und pB sei 0.5.
Somit beschränkt sich "meine" Formel auf Skalare
S = pA * A + pB * B
= 0.5 * 0 + 0.5 * 1
= 0.5
Das ist die Mitte zwischen A und B.
Natürlich ist der Empfangspegel nicht linear mit der Distanz, aber wenn
man genau hinschaut kommen nur relative Abhängigkeiten vor.
Max M. schrieb:>> Signalstärke wirklich linear von der Entfernung abhängen>> OMG!!
Mir ist schon klar, dass das wahrscheinlich falsch ist, aber der OP hat
es nun mal so postuliert. Außerdem gibt es sehr wohl Spezialfälle, wo es
stimmt, nämlich wenn nur 2D-Ausbreitung möglich ist. Sender und
Empfänger zwischen zwei Metallflächen mit Abstand kleiner Lambda, zum
Beispiel.
Sneef schrieb:> Vielleicht hat ja hier jemand einen Tipp für mich?
Betrachte jeweils die Signale zweier Empfänger. Das ergibt jeweils eine
Standlinie. Der Sender befindet sich dann am Schnittpunkt der
Standlinien.
mh schrieb:> R. M. schrieb:>> in C++ (ohne spezielle Vector Lib) :>> ...>> Und woher weißt du jetzt, dass das angezeigte Ergebnis richtig ist?
Aus dem Oben schon gesagten ist das natürlich falsch.
(alternativer Beweis: Der Sender bewegt sich auf einer der
3 Schenkel. Die Signalstärke verschwindet nicht (!), aber
eine Komponente der baryzentrische Koordinate müsste 0 sein..
den Rest spare ich mir hier..)
R. M. schrieb:> 2. Weil das die elementare Vektorgeometrie (Klasse 10 oder 11) aussagt.
Ulrich hat Oben schon das Gleichungssystem aufgestellt. Ein
Schüler der 10./11. Klasse kann das iA niemals lösen, selbst
ein Mathestudent kriegt das zT so nicht raus. (Aber: die
Gleichungen sind zT quadratisch, d.h. haben je Zeile
zT 2 Lösungen, d.h. 6 Gleichungen reichen nicht aus, es braucht
evtl. 9 Gleichungen. Es wird aber das ausgedrückt, was ich Oben
in meiner Lösung beschreiben wollte)
my2ct schrieb:> Allein schon die Physik sorgt dafür, dass die Signalstärke mit dem> Quadrat der Entfernung abnimmt. Ein linearer Zusammenhang ergibt sich,> wenn man den Logarithmus zu Hilfe nimmt.
Nackt aufgeschrieben hat man quadratische Gleichungen (Ulrich)
der Form a*x^2+b*y^2+.., d.h. der Logarithmus bring hier nichts,
hier helfen wie im eindim. Fall nur quadratische Ergänzungen,
im zweidim. Fall natürlich komplexer (gute Übung, sollte jeder
mal versucht haben, z.B. der zweidim Fall).
Als brauchbare Lösung hilft hier nur
Max M. schrieb:> https://de.wikipedia.org/wiki/Abstandsgesetz
(war auch meine Ansatz, es kommt aber noch die Einwirkung
der realen Umgebung hinzu, d.h. es muss eine Messkurve
aufgenommen werden) und die Schnittpunktbetrachtung der
3 "Empfangs"-Kreise in betracht.
Sigi schrieb:> Der Sender bewegt sich auf einer der> 3 Schenkel. Die Signalstärke verschwindet nicht (!), aber> eine Komponente der baryzentrische Koordinate müsste 0 sein..
Das ist richtig.
Um das zu korrigieren sollte man wirklich den realen Testaufbau kennen.
Handelt es sich um eine theoretische Aufgabe oder steckt ein
physikalisches System dahinter. Im zweiten Fall muss eine Schwelle
eingeführt werden,
die einen "kleinen" Messwert gleich Null setzt.
Wenn es sich um eine Hausaufgabe handelt, kann ich postuliern eine
Empfangsleistung sei Null und dann lande ich korrekterweise auf einem
Schenkel.
Und das es erlaubt ist eine Komponente gleich null zu setzen, entnahm
ich diesem Beitrag des TO.
Sneef schrieb:> std::cout << GetPosition(500, 0) << std::endl; // Now we are located> at receiver A => position 0> std::cout << GetPosition( 0, 500) << std::endl; // Now we are located> at receiver B => position 1000
R. M. schrieb:> Im zweiten Fall muss eine Schwelle> eingeführt werden,> die einen "kleinen" Messwert gleich Null setzt.
Ich hatte gerade esrt Zeit, den Wikiartikel zu
Baryzentrik durchzulesen. Im Prinzip kann man
sich das folgendermassen vorstellen: Man zeichnet
zwischen jedem Punkt und der gegenüberliegenden
Linie z.B. 11 Parallele ein, so erhält man ein
Raster (ich nenne es mal baryzentrisches Raster RB,
einfach vorstellbar). In einer zweiten Zeichnung
mit den selben 3 Punkten (am Besten gleichschenkliges
Dreieick) zeichnet man zu jedem Punkt 11 Kreise
derart, das Kreis 0 r=0 hat und Kreis 10 die anderen
Punkte berührt (dieses System von "Dreiecken nenne
ich mal zirkulares Raster RZ). Für RZ kann man zu
einem Sender (bzw. dessen Leistungen) sehr einfach
die Koordinaten bestimmen. Eine Übertragung in RB
liefert aber iA andere Punkte. Das liegt daran, dass
RB "linear" aufgebaut ist, RZ dagegen einen gekrümmte
Raumaufteilung ist.
R. M. schrieb:> Wenn es sich um eine Hausaufgabe handelt
ja, habe ich auch schon gedacht, bzw. der Lehrer
hat sich dann wohl zu wenig gedacht..
Sigi schrieb:> ja, habe ich auch schon gedacht, bzw. der Lehrer> hat sich dann wohl zu wenig gedacht..
Nein, da kann ich Entwarnung geben. Es handelt sich nicht um eine
Hausaufgabe :-)
Vielmehr ist das ganze Teil einer kleinen Simulation/Visualisierung, die
ich gerade aus Spaß an der Freude am PC implementiere.
Sneef schrieb:> Vielmehr ist das ganze Teil einer kleinen Simulation/Visualisierung, die> ich gerade aus Spaß an der Freude am PC implementiere.
Hast du dabei auch mal einen kleinen Blick in den kleinen Aktenordner
"Von Sternennavigation bis GPS" oder in das kleine Handbuch zur
Ortsbestimmung geschaut - oder ein kleines, leicht visualisiertes
Gedankenexperiment gemacht?
Positionsbestimmungen sind ja für viele Probleme
interessant, deshalb habe ich das ganze mal in SW
gefasst und ausrechnen lassen.
Das Erste Bild zeigt den Aufbau, Sender plus drei
Empfänger sowie die berechnete Senderposition.
Die beiden letzen zeigen je 1000 Berechnungen,
jede Linie stellt den Unterschied zwischen
baryzentrischer und meiner Berechnung da. Es ist
gut zu sehen, wie die baryzentrische Lösung stark
in das Zentrum des Dreiecks zieht. Nur Sender im
Zentrum führen zu anärend gleichen Punkten.
rbx schrieb:> Hast du dabei auch mal einen kleinen Blick in den kleinen Aktenordner> "Von Sternennavigation bis GPS" oder in das kleine Handbuch zur> Ortsbestimmung geschaut - oder ein kleines, leicht visualisiertes> Gedankenexperiment gemacht?
Dieses "Gedankenexperiment" ist hier überflüssig, da
die Aufgabenstellung zwar ähnlich, in den wesentlichen
Details aber grundlegend anders sind. Die Berechnung
der Senderposition unter der Aufgabenstellung ist jedenfalls
einfach, im Gegensatz zu GPS, wo komplexe Differentialgleichungen
gelöst werden müssen.
Sigi schrieb:> Die Berechnung> der Senderposition unter der Aufgabenstellung ist jedenfalls> einfach, im Gegensatz zu GPS, wo komplexe Differentialgleichungen> gelöst werden müssen.
Ja, die gestellte Aufgabe sollte auch einfacher sein. Unsere
Hörfähigkeit kommt sogar mit zwei Empfängern aus. Manchmal auch mehr,
aber das ist nicht unbedingt ein Vorteil, bzw. die Signalstärke als
solche trägt nicht unbedingt zur besseren Ortung bei.
Wenn z.B. bei einem Braunkohletagebau die Großgeräte nah am Dorf sind,
dann vibrieren sogar die Hauswände und der Sound ist so laut, da weißt
du nicht sofort, wo der Lärm eigentlich genau herkommt.
Handy verlegt und selbst anrufen funktioniert dagegen sehr gut, -> es
braucht noch noch nichteinmal ein "Gedankenexperiment".
(Oder bei einem Gewitter (wo ist es?) könnte man Freunde fragen, aber
man würde sie kaum fragen, wie laut + sich auf Windrichtungen stützen.)
Die Programmbilder oben sagen auch nur grob "irgendwo in der Mitte" oder
"irgendwo drumherum". Damit hätte man aber zumindest ein
Muster/Erfahrungswerte, welche zur zusätzlichen Orientierung dienen
können.
Sigi schrieb:> Positionsbestimmungen sind ja für viele Probleme> interessant, ...
Ok, schrittweise. Erkläre erstmal, wie du von einer gegebenen
Senderposition auf die Signalstärke an den Empfängerpositionen kommst
(Hinweis, der OP hat dir bis jetzt keine Infos dazu geliefert). Ohne
diesen Schritt, kannst du micht testen, wie gut deine Methode ist.
Es ist gut möglich, dass es sich beim Problem des OP um ein "ill-posed,
ill-conditioned nonlinear inverse problem" handelt. Um soetwas zu lösen,
braucht man etwas mehr als:
R. M. schrieb:> 1. Weil ich es mit GeoGebra, das ist ein Konstuktionsprogramm für> Geometrie, auf Plausibilität überprüft habe.>> 2. Weil das die elementare Vektorgeometrie (Klasse 10 oder 11) aussagt.
Ich glaube ja eher, dass der OP eine Lösung für ein kommerzielles
Problem sucht oder noch üblere Absichten hat ^^
Aber wenn es doch so sein sollte, dann braucht es einen vierten Kanal
von einer der drei Quellen, die als Referenz fungiert. Wenn der Messwert
11,5 ist, in welches Einheit auch immer, und die Referenz bei 1,01
liegt, kann man den Messwert entsprechend korrigieren. Ansonsten helfen
die Theorien in Fehler- und Störungsrechnung weiter.
>Erkläre erstmal, wie du von einer gegebenen>Senderposition auf die Signalstärke an den Empfängerpositionen kommst
Besteht daran irgendein Zweifel? Die Stärke P des Sendersignals am Ort
des Empfängers ist umgekehrt proportional zum Quadrat des
Sender-Empfänger-Abstands r, also P ~ 1/r^2. Alles andere wäre vom
physikalischen Standpunkt her Nonsens.
>Es ist gut möglich, dass es sich beim Problem des OP um ein "ill-posed,>ill-conditioned nonlinear inverse problem" handelt.
Unter der (einzigen realistischen) Annahme P ~ 1/r^2 ist das Problem
klar und eindeutig definiert. Nichtlinear ist es allerdings, da hast Du
recht.
>Um soetwas zu lösen, braucht man etwas mehr als: [...]
Das Problem des TO zu lösen, ist rechentechnisch etwas knifflig, aber
machbar. Letztlich braucht man dazu nichts weiter als elementare
Mathematik (pq-Formel).
LostInMusic schrieb:> Besteht daran irgendein Zweifel? Die Stärke P des Sendersignals am Ort> des Empfängers ist umgekehrt proportional zum Quadrat des> Sender-Empfänger-Abstands r, also P ~ 1/r^2. Alles andere wäre vom> physikalischen Standpunkt her Nonsens.
Es wird implizit davon ausgegangen, dass es sich um Sender und Empfänger
für Funkwellen handelt. Das hat der OP aber nie explizit geschrieben.
LostInMusic schrieb:> Unter der (einzigen realistischen) Annahme P ~ 1/r^2 ist das Problem> klar und eindeutig definiert. Nichtlinear ist es allerdings, da hast Du> recht.
ill-posed und ill-conditioned hat wenig mit "klar definiert" zu tun. Es
hat eher etwas damit zu tun, dass es drei Gleichungen (drei Messwerte)
und 6 Unbekannte gibt (Position des Senders, Signalstärke des Senders,
Fehler der 3 Messungen). Dazu kommen nahezu beliebige Korrelationen
zwischen den Unbekannten und potenziell nicht normalverteile Messfehler.
LostInMusic schrieb:> Das Problem des TO zu lösen, ist rechentechnisch etwas knifflig, aber> machbar. Letztlich braucht man dazu nichts weiter als elementare> Mathematik (pq-Formel).
Ich bin auf eine Lösung gespannt, die Messfehler beinhaltet und mit
pq-Formel auskommt.
mh schrieb:> dass es sich um Sender und Empfänger> für Funkwellen handelt. Das hat der OP aber nie explizit geschrieben.
Na und, die quadratische Abhängigkeit ist eine geometrische Eigenschaft
des dreidimensionalen Raums und gilt für jede Wellenausbreitung - auch
für Schallwellen, Gravitationswellen ...
Georg
Sneef schrieb:> Für zwei Empfänger ist das ganze recht einfach zu lösen. Hier mein> Vorschlag:> #include "stdafx.h"> #include <algorithm>> #include <iostream>>> // Both receivers are 1000mm apart> // Receiver A marks the origin> const int PosA = 0;> const int PosB = 1000;> const int Distance = PosB - PosA;>> double GetPosition(int signalStrengthA, int signalStrengthB)> {> // Nomalize the signal strengths> double normalizedStrengthA = (double)signalStrengthA /> std::max(signalStrengthA, signalStrengthB);> double normalizedStrengthB = (double)signalStrengthB /> std::max(signalStrengthA, signalStrengthB);>> // Compute the distance from receiver A based on the normalized signal> strengths> double ratio = normalizedStrengthA / (normalizedStrengthA +> normalizedStrengthB);> double distanceFromA = Distance - ratio * Distance;>> return distanceFromA;> }>> void main()> {> std::cout << GetPosition(100, 100) << std::endl; // Equal signal> strength should yield exact center position (500)> std::cout << GetPosition(200, 200) << std::endl; // Same as before =>> 500> std::cout << GetPosition(500, 0) << std::endl; // Now we are located> at receiver A => position 0> std::cout << GetPosition( 0, 500) << std::endl; // Now we are located> at receiver B => position 1000> std::cout << GetPosition( 66, 33) << std::endl; // We are 1/3rd of> the way => postion 333> }>> Bei drei Empfängern komme ich aber wie gesagt nicht weiter...>> WR schrieb:>> gehst Du davon aus, dass die empfangene Signalstärke linear mit dem>> Abstand zusammenhängt oder gibt es da einen nichtlinearen Zusammenhang?>> Erst mal ja. Verkomplizieren kann ich es dann ja immernoch ;-)
Der TO hat selbst einen Lösungsvorschlag gemacht.
Und zwar für den Eindimensionalen Fall mit 2 Empfängern auf der x-Achse.
Er kam aber mit 3 Empfängern, die in einer Ebene liegen nicht klar.
Außerdem schreibt er das in seiner Simulation ein linearer Zusammenhang
gelten soll.
Unter diesen Voraussetzungen habe ich ihm einen Vorschlag mit 3
Empfängern
gemacht.
showSendePosition(100,100,100);// Sender im Mittelpunkt 2D
30
showSendePosition(100,100,0);// Empfaenger C existiert nicht 1D
31
32
33
return0;
34
}
Nullsetzen der C-Signalstärke, bedeutet C ist nicht vorhanden und es
liegt
der vom TO beschriebene Eindimenionale Fall vor.
Um korrekt zu sein müssen alle y-Koordinaten auf 0 gesetzt werden.
Dann sieht man das es der gleiche Algo ist, den der TO verwendet hat.
Deshalb verstehe ich nicht, warum folgender Beitrag negativ bewertet
wurde.
R. M. schrieb:> Im 1dimensionalen Fall sei A = 0 und B = 1.>> pA sei 0.5 und pB sei 0.5.>> Somit beschränkt sich "meine" Formel auf Skalare>> S = pA * A + pB * B> = 0.5 * 0 + 0.5 * 1> = 0.5> Das ist die Mitte zwischen A und B.
Ich habe nur die Prämissen seiner Simulation übernommen.
Das dies mit elektromagnetischer Wellenausbreitung in unserem Universum
nicht funktioniert weis ich auch.
Aber der TO hat ja nicht mal geschrieben, das es sich um
Elektromagnetische Wellenausbreitung handelt.
>Es wird implizit davon ausgegangen, dass es sich um Sender und Empfänger>für Funkwellen handelt. Das hat der OP aber nie explizit geschrieben.
Gut, dann müssen wir warten, bis der OP das bestätigt oder verneint.
Auch wenn eine 1/r²-Abhängigkeit naheliegt, darf man eine solche ja
vorher nicht einfach annehmen und irgendetwas damit rechnen.
>Es hat eher etwas damit zu tun, dass es drei Gleichungen (drei Messwerte)>und 6 Unbekannte gibt (Position des Senders, Signalstärke des Senders,>Fehler der 3 Messungen).
OK. Aus "3 Gleichungen für 6 Unbekannte" würde ich die Unlösbarkeit der
Aufgabe folgern. So schnell kann man mit einem Problem fertigwerden.
>Dazu kommen nahezu beliebige Korrelationen zwischen den Unbekannten
Verstehe ich nicht. Was meinst Du damit?
>und potenziell nicht normalverteile Messfehler.
Hört sich beängstigend an...
>Ich bin auf eine Lösung gespannt, die Messfehler beinhaltet und mit>pq-Formel auskommt.
Mit den Messfehlern hast Du mich natürlich kalt erwischt.
Allerspätestens wenn diese nicht normalverteilt sind, dürfte die
pq-Formel definitiv nicht mehr ausreichen. Der Punkt geht an Dich :-)
LostInMusic schrieb:>>Dazu kommen nahezu beliebige Korrelationen zwischen den Unbekannten>> Verstehe ich nicht. Was meinst Du damit?
Die Gleichungen müssen voneinander unabhägig sein. Sonst könntest du ja
jede von den 3 Gleichungen 2 mal hinschreiben, ev. auch mit einem Faktor
multipliziert, und hättest deine 6 Bestimmungsgleichungen - aber so
einfach ist es eben nicht.
LostInMusic schrieb:> Auch wenn eine 1/r²-Abhängigkeit naheliegt, darf man eine solche ja> vorher nicht einfach annehmen und irgendetwas damit rechnen
Nachdem hier eine endlose Diskussion um elektromagnetische Wellen oder
nicht geführt wird, wüsste ich doch mal gern, welche Wellen sich im
3D-Raum NICHT so ausbreiten. Wenn nämlich die Energie nicht mit der
Zunahme der Kugeloberfläche mit dem entsprechenden Radius (und damit mit
dem Quadrat des Radius) abnimmt, wäre das eine überaus elegante Methode,
Energie aus dem Nichts zu erschaffen - unendlicher Reichtum wäre
garantiert.
Georg
Der Schalldruck (Amplitude) nimmt bei zuneh-
mender Entfernung von der Schallquelle mit 1/r ab.
Das ist das reziproke Abstandsgesetz 1/r.
Die Schallintensität (Energie) nimmt bei
zunehmender Entfernung von der Quelle mit 1/r² ab.
Das ist das reziproke Quadratgesetz 1/r².
https://de.wikipedia.org/wiki/Abstandsgesetz
Aber eine Diskussion darüber ist müßig, weil sich der TO nicht über die
Physik seiner Simulation/Visualisierung ausläßt.
Er nennt die Frage auch kleines Matheproblem und nicht
Physikproblem.
Er postet auch in PC-Programmierung und nicht in HF,Funk und Felder.
Aufgrund des geposteten Programms (und das ist für mich der einzige
Fakt) vermute ich, die gemessenen Signalstärken sind ganz einfach
Zahlenwerte. (in seinem zweidimensionalen Simulationsuniversum)
Aber dazu kann sich der TO gerne äußern.
georg schrieb:> Wenn nämlich die Energie nicht mit der ...
Wenn nicht die Energie gemessen wird. Der OP spricht nur von "Signal".
Ich persönlich gehe davon aus, dass er OP nach einer Lösung für 1/r²
sucht, sich aber nicht über die komplexität des Problems bewusst
ist/war.
georg schrieb:> Die Gleichungen müssen voneinander unabhägig sein. Sonst könntest du ja> jede von den 3 Gleichungen 2 mal hinschreiben, ev. auch mit einem Faktor> multipliziert, und hättest deine 6 Bestimmungsgleichungen - aber so> einfach ist es eben nicht.
Klar, einfach Gleichungen mehrfach aufschreiben geht nicht. Aber für
eins der "Signale" eine weitere unabhängige Messung durchführen liefert
eine 4. Gleichung. Aber wie unabhängig sind diese beiden Messungen für
das Signal und daraus folgend, wie groß ist die Korrelation der
zugehörigen Messfehler?
Was ich aber eigentlich meinte bezieht sich auf die anderen Unbekannten.
Die x und y Koordinate und die Sendestärke des Senders. Aufgrund der
Messfehler weichen diese Größen im Allgemeinen vom ihrem wahren Wert ab.
Die Abweichungen von den wahren Werten können allerdings korreliert
sein. Soetwas wie: "Immer wenn die bestimmte Signalstärke zu klein ist,
ist x zu groß und y zu klein".
R. M. schrieb:> Aufgrund des geposteten Programms (und das ist für mich der einzige> Fakt) vermute ich, die gemessenen Signalstärken sind ganz einfach> Zahlenwerte. (in seinem zweidimensionalen Simulationsuniversum)
Du hebst ja selbst das gemessen hervor. Eine Messung hat immer einen
Fehler. Dieser Messfehler ist das Hauptroblem, weil der Wert der
gesuchten Größen nur noch geschätzt (im statistischen Sinn,
Erwartungswert) werden kann.
R. M. schrieb:> Er nennt die Frage auch kleines Matheproblem und nicht> Physikproblem.
Es ist eben kein kleines Matheproblem, zumindest wenn man keine Ahnung
von der Materie hat.
mh schrieb:> Dieser Messfehler ist das Hauptroblem, weil der Wert der> gesuchten Größen nur noch geschätzt (im statistischen Sinn,> Erwartungswert) werden kann.
Du redest von Messfehler und hast keine Ahnung welches Meßprinzip zu
Grunde liegt. Oder hast du eine Glaskugel ?
Das gemessen ist ironisch gemeint.
mh schrieb:> Wenn nicht die Energie gemessen wird.
Das ist eine Möglichkeit.
Eine andere ist, dass man einen ausgedehnten Sender hat und in dessen
Nachbereich misst (meinetwegen eine Schallwelle vor der Membran eines
Elektrostaten). Wenn der Elektrostat rechteckig ist, hast du einen
Entfernungsbereich, wo die Schallleistung über die Entfernung
näherungsweise konstant ist. Dann einen, wo sie näherungsweise mit 1/r
abfällt. Und für große Entfernungen zur Quelle fällt sie dann endlich
mit 1/r^2.
Schon im zitierten Wiki-Artikel zum Abstandsgesetz steht als zweiter
Satz: "Voraussetzungen sind eine punktförmige Quelle (näherungsweise:
kleine Ausdehnung der Quelle im Vergleich zur Entfernung), die isotrop,
also nicht gerichtet emittiert, und ein freies Feld ohne reflektierende
Berandung."
Ist die Quelle z.B. eine LED mit Linse (die nicht isotrop emittiert),
dann fällt die Leistung zwar mit 1/r^2 ab, aber das r zählt nicht als
Abstand zur LED sondern als Abstand zu einem hinter der LED liegenden
Punkt.
Es lohnt sich bei der Sache also tatsächlich, vor der Rechnung zu
klären, wie genau "das Signal" vom Abstand abhängt.
R. M. schrieb:> mh schrieb:>> Dieser Messfehler ist das Hauptroblem, weil der Wert der>> gesuchten Größen nur noch geschätzt (im statistischen Sinn,>> Erwartungswert) werden kann.>> Du redest von Messfehler und hast keine Ahnung welches Meßprinzip zu> Grunde liegt. Oder hast du eine Glaskugel ?
Nein natürlich habe ich keine Ahnung welches Meßprinzip zu Grunde liegt.
Ich habe allerdings einiges an Erfahrung mit dem Prinzip "Messung" und
mit inversen Problemen.
R. M. schrieb:> Das gemessen ist ironisch gemeint.
Tut mir leid, aber ich erkenne in deinem Text die Ironie nicht.
R. M. schrieb:> Aufgrund des geposteten Programms (und das ist für mich der einzige> Fakt) vermute ich, die gemessenen Signalstärken sind ganz einfach> Zahlenwerte. (in seinem zweidimensionalen Simulationsuniversum)
Achim S. schrieb:> Es lohnt sich bei der Sache also tatsächlich, vor der Rechnung zu> klären, wie genau "das Signal" vom Abstand abhängt.
Ich dachte eigentlich das wäre geklärt.
Sneef schrieb:> WR schrieb:>> gehst Du davon aus, dass die empfangene Signalstärke linear mit dem>> Abstand zusammenhängt oder gibt es da einen nichtlinearen Zusammenhang?>> Erst mal ja. Verkomplizieren kann ich es dann ja immernoch ;-)
Ich kann mich nur wiederholen:
R. M. schrieb:> Aber dazu kann sich der TO gerne äußern.
Normalerweise, - und ich halte des für zweckmässig -, trennt man
zunächst die prinzipiellen Überlegungen von der realen Anwendung. Man
setzt also erst einmal ideale Bedingungen voraus und findet eine Lösung
des Problems.
Und, erst wenn (und falls) das funktioniert, berücksichtigt man reale
Gegebenheiten wie Genauigkeit, Auflösung etc. Egal was sich durchaus
ergibt, bleibt das Prinzip dennoch gültig. Es ergeben sich allenfalls
Flächen, - und bei stochastischen Einflüssen, solche mit einer
Wahrscheinlichkeitsverteilung -, was nicht immer, aber in realen Fällen
oft ausreicht.
Was die Frage 1/r oder 1/r^2 betrifft, ist die aus zwei Gründen meines
Erachtens nach, in diesem Kontext irrelevant.
1. Das Lösungsverfahren (das im wesentlichen auf Pythagoras und den
Ähnlichkeitssätzen beruht, wenn man die Verhältnisse der gemessenen
Grösse voraussetzt) ist für beide Fälle anwendbar. Es ergibt sich für
die Ortskurven eine Parabel 2ter Ordnung bzw. zwei Parabeln und eine
Gerade.
2. Der TO hat selbst geschrieben, dass zunächst von einem linearen
Zusammenhang ausgegangen werden soll. Siehe
Beitrag "Re: Kleines Matheproblem (Positionsbestimmung)"
mh schrieb:> Ich habe allerdings einiges an Erfahrung mit dem Prinzip "Messung" und> mit inversen Problemen.
Das respektiere ich.
Ich bin Softwerkler mit elektrotechnischem Hintergrund.
Und wenn mir jemand mit folgender Problematik kommt, ohne weitere
Hintergrundinformation zu liefern:
mh schrieb:> Ich bin auf eine Lösung gespannt, die Messfehler beinhaltet und mit> pq-Formel auskommt.
Meine Lösung von Gestern basiert quasi auf der pq-Formel
(Aufstellen und Umformen der Empfangskreisgleichungen zweier
Punkte ergibt eine einfachere pq-Variante). In den Bildern
sieht man die berechneten Punkte, wobei bei jeder Berechnung
je Messung Gauss-Rauschen mit sigma=0.025 hinzuaddiert wurde.
Die Roten Kreise haben r=Sigma bzw. r=2*Sigma, die Abstände
aller Treffer zum fixen Sender in [0.5,0.5] haben 1.15*sigma,
d.h. sind für mich akzeptabel. (die etwa 20% Abweichung
erhalte ich für sigma=0.0..0.3, wobei der Radius der drei
Empfänger 0.4 ist, aber ab sigma=0.01..0.02 ist das berechnete
Ergebnis eh nicht mehr interessant, da der Abstand zum Sender
zu gross wird)
Gestern sind mir noch den Dürchläufen Ausreiser aufgefallen,
die ich gerade noch behoben habe: Liegt der Sender in etwa
auf der Linie und werden die Längen der Empfänger ungünstig
gekürzt, dann haben mindestens 2 Empfangskreise keinen
Schnittpunkt mehr, d.h. keine Lösung. Ich setze dann den
berechneten Punkt gleich der gewichteten Mitte, wobei die
Gewichte gleich den verrauschten Distanzen ist (Heuristik,
über die man aber sprechen kann..).
P.S. Theor und X4U fassen noch mal gut die wesentlichen
Lösungsschritte zusammen.
Mir ist Gestern noch eine einfache Anwendung eingefallen:
Ende der 90er habe ich mir für 15DM vom Grabbeltisch eine
Art 3D-Scanner/3D-Maus gekauft. Am Bildschirm wurde ein
rechtwinkliger Rahmen mit 3 Empfängern befestigt, und in der
Hand hält man eine Art Maus mit einem Ultraschallsensor.
Aus der Signallauflänge ergab sich dann die 3D-Position
(Maus und Rahmen waren NICHT mit einem Kabel verbunden,
d.h. Impulsstart war nicht bekannt, nur die Ankunftszeitpunkte)
@R. M.
Du hast das Programm des TO zwar so auf zwei Dimensionen erweitert, wie
man sich denkt, dass es so sein müsste - trotzdem funktioniert die
2D-Variante leider nicht! Deine beiden Testfälle
"showSendePosition(100,100,100)" und "showSendePosition(100,100,0)" sind
derart speziell, dass sie den Fehler nicht aufdecken. Aber wenn Du den
Sender beispielsweise mal an die Position (0, 0) setzt und die
Empfangsstärken ausrechnest (tu es!) und mit diesen Werten dann Dein
Programm fütterst, dann wirst Du feststellen, dass als Ergebnis nicht
(0, 0) herauskommt, sondern (0, 0.1).
Als nächstes kannst Du das dann mit ganz vielen Punkte in dem Dreieck
machen und Dir anschauen, was für eine Figur die Ergebnispunkte bilden -
es ist ein Teil des Dreiecks, aber nicht das ganze Dreieck, wie es sein
müsste.
>showSendePosition(100,100,0); // Empfaenger C existiert nicht 1D
Wie kommst Du auf "Empfaenger C existiert nicht"? Bei einer angenommenen
linearen Abhängigkeit der Signalstärke P von der Entfernung r (welche
Deinem Programm bzw. dem des TO zugrundeliegt) bedeutet die Signalstärke
Null, dass der Sender vom Empfänger einen ganz bestimmten Abstand hat,
nämlich jenen Abstand d, wo die lineare Funktion P(r) ihre Nullstelle
hat.
Wenn der Empfänger vom Sender noch weiter als d weg ist, wird P sogar
negativ. All diese schönen Effekte handelt man sich mit der Wahl einer
linearen P(r)-Funktion ein.
LostInMusic schrieb:> Aber wenn Du den> Sender beispielsweise mal an die Position (0, 0) setzt und die> Empfangsstärken ausrechnest (tu es!) und mit diesen Werten dann Dein> Programm fütterst, dann wirst Du feststellen, dass als Ergebnis nicht> (0, 0) herauskommt, sondern (0, 0.1).
Das habe ich getan und kann dein Ergebnis bestätigen.
Um sinnvolle Werte zu erhalten habe ich das Dreieck vergrössert.
Der Abstand des Senders zu A sind 50km, zu B auch 50km und zu C 87km.
Auch das ist ein gleichseitiges Dreieck.
Als Sendeleistung habe ich 1 KW angenommen.
Mit der Formel für die Freiraumdämpfung aus dem Titze - Schenk habe ich
mir dann die zu erwarteten Empfangsleistungen ausgerechnet und damit
mein Programm gefüttert. Der Fehler liegt in der von dir beschriebenen
Grössenordung.
Das liegt aber daran das die Formel für die Freiraumdämpfung
richtigerweise auf 1/r² beruht.
Ich kann nicht einfach eine nichtlineare Formel aus der realen Welt
nehmen und dann erwarten das damit eine lineare Simulation funktioniert.
Ok, dann kann man natürlich sagen, die Simulation taugt nichts.
Aber der TO hat nun einmal geschrieben, das er (vorerst) lineare
Abhängigkeiten will.
Darum geht es mir.
LostInMusic schrieb:>>showSendePosition(100,100,0); // Empfaenger C existiert nicht 1D>> Wie kommst Du auf "Empfaenger C existiert nicht"?
Damit wollte ich zeigen das die ursprungliche, eindimensionale Lösung
des TO in meinem Programm als Sonderfall enthalten ist. Korrekterweise
muss man auch alle y-Koordinaten auf 0 setzen. Aber das habe ich weiter
oben schon erwähnt.
LostInMusic schrieb:> Wenn der Empfänger vom Sender noch weiter als d weg ist, wird P sogar> negativ. All diese schönen Effekte handelt man sich mit der Wahl einer> linearen P(r)-Funktion ein.
Ja sicher, damit bin ich deiner Meinung.
>Ich kann nicht einfach eine nichtlineare Formel aus der realen Welt>nehmen und dann erwarten das damit eine lineare Simulation funktioniert.
Da hast Du mich gründlich missverstanden! Ich wollte Dir sagen, dass
deine lineare 2D-Simulation nicht mit einer linearen P(r)-Abhängigkeit
funktioniert (dass es mit einer 1/r^2-Abhängigkeit schiefgeht, ist
sowieso klar).
Die Formel im 1D-Fall mit zwei Empfängern lautet:
x = (PA*xA + PB*xB)/(PA + PB)
Dabei ist nimmt die Signalstärke P mit dem Abstand linear ab:
P(r) = 1 - d/r
wobei d der Abstand der beiden Empfänger zueinander ist: d := |xB - xA|.
Das ist die ganze Mathematik, auf der das Programm des TO basiert (der
TO hat darin genau das codiert - allerdings auf eine umständliche Art).
Sie stimmt und das Programm berechnet die korrekte Senderposition auf
der x-Achse.
Du willst das jetzt auf die 2D-Situation "drei Empfänger in den
Eckpunkten eines gleichseitigen Dreiecks" erweitern und denkst, dass die
Senderposition dann ja wohl gegeben sein müsste durch:
x = (PA*xA + PB*xB + PC*xC)/(PA + PB + PC)
y = (PA*yA + PB*yB + PC*yC)/(PA + PB + PC)
Das ist aber ein Irrtum: Diese Ausdrücke liefern (mit Ausnahme von vier
Punkten, nämlich den Dreieck-Eckpunkten sowie dem Dreieck-Mittelpunkt)
falsche Senderpositionen!
Zum Beweis mache ich ein Rechenbeispiel:
Sei
(xA|yA) = (+0.5|0) und
(xB|yB) = (-0.5|0) und
(xC|yC) = (0|0.8660254)
Dieses ABC-Empfänger-Dreieck ist gleichseitig mit der Seitenlänge 1 (der
krumme Wert 0.8660254 ist eigentlich 1/2*sqrt(3)).
Befindet sich der Sender im Punkt (1|0), soll Empfänger A die
Signalstärke 1 und Empfänger B die Signalstärke 0 messen. Dadurch ist
die P(r)-Funktion schon eindeutig festgelegt; es muss P(r) = 1 - r
gelten, weil A und B gerade 1 voneinander entfernt sind.
Sitzt der Sender nun im Punkt (0|0), dann sind die Signalstärken wie
folgt:
Empfänger A misst PA = 1 - 0.5 = 0.5,
Empfänger B misst PB = 1 - 0.5 = 0.5 und
Empfänger C misst PC = 1 - 0.8660254 = 0.1339746.
Damit liefert Deine Formel als Senderposition:
x = (0.5*0.5 + 0.5*(-0.5) + 0.1339746*0)/(PA + PB + PC) = 0
y = (0.5*0 + (0.5)*0 + 0.1339746*0.8660254)/(0.5 + 0.5 + 0.1339746) =
0.102317465
Wie Du siehst, ist die y-Koordinate falsch, denn richtig wäre 0.
Man muss bei derartigen Verallgemeinerungen von 1D auf 2D (und ebenso
von 2D auf 3D) sehr aufpassen, weil dabei manchmal etwas nicht glatt
geht, obwohl man es intuitiv für richtig hält. Diese Sache hier ist ein
gutes Beispiel dafür.
Ich bin nicht sicher, dass ich den Kern der momentanen Diskussion
wirklich verstehe. Ich habe nur den Eindruck, dass nicht ganz klar ist,
an welcher Stelle in dem Problem nicht-Linearität auftritt und dass
evtl. eine Skizze helfen könnte.
In der angehängten Skizze wird angenommen, dass das Verhältnis der
Strecken zwischen A und Sender bzw. B und Sender 1 zu 2 ist.
Die gestrichelten Kreise haben jeweils A bzw. B als Zentrum.
Mit einem roten Kreis sind jeweils die Schnittpunkte zweier Kreise
gekennzeichnet. Und zwar jener Kreise, deren Radien im Verhältnis 1 zu 2
stehen.
Die rote Linie ist eine (etwas grob hingebogene) Bezier-Linie, die in
etwa die Zwischenwerte approximieren soll.
Man kann erahnen, dass die Linie eine Parabel beschreibt. Was durch die
Gleichungen von u.a. Markus und Ulrich bestätigt wird.
Man sieht auch, meine ich, dass die Frage, wenn sie denn eine Rolle in
der Diskussion spielt, ob nun ein 1/r oder ein 1/r^2 Ausbreitungsgesetz
anzuwenden ist (ich habe keinerlei Zweifel, dass 1/r^2 gilt), irrelevant
ist, denn in jedem Fall ist letztlich nur das Verhältnis der Strecken
wichtig. Und das ist in dem einen Fall eben lediglich AS/BS oder
sqrt(AB/BS) wie übrigens u.a. Ulrichs Gleichungen.
Die Schlüsse daraus sind nicht unbedingt trivial.
Man mag irrigerweise spontan annehmen, dass die Orte, an denen das
Verhältnis zwischen den Entfernungen AS und BS gleich ist, eine Gerade
bilden. Aber das ist, wie die Grafik zeigen soll, nicht der Fall.
(Unter anderem deswegen ist auch die von X4U vorgeschlagene Methode des
Bogenschnittes nicht anwendbar).
Die Skizze ist mit DIA erstellt. Neben der Grafik hänge ich noch die
Datei an, falls jemand damit spielen will.
LostInMusic schrieb:> Man muss bei derartigen Verallgemeinerungen von 1D auf 2D (und ebenso> von 2D auf 3D) sehr aufpassen, weil dabei manchmal etwas nicht glatt> geht, obwohl man es intuitiv für richtig hält. Diese Sache hier ist ein> gutes Beispiel dafür.
Danke für die Aufklärung.
Da habe ich mir wirklich einen groben Schnitzer geleistet.
Theor schrieb:> In der angehängten Skizze wird angenommen, dass das Verhältnis der> Strecken zwischen A und Sender bzw. B und Sender 1 zu 2 ist.> Die gestrichelten Kreise haben jeweils A bzw. B als Zentrum.> Mit einem roten Kreis sind jeweils die Schnittpunkte zweier Kreise> gekennzeichnet. Und zwar jener Kreise, deren Radien im Verhältnis 1 zu 2> stehen.> Die rote Linie ist eine (etwas grob hingebogene) Bezier-Linie, die in> etwa die Zwischenwerte approximieren soll.>> Man kann erahnen, dass die Linie eine Parabel beschreibt. Was durch die> Gleichungen von u.a. Markus und Ulrich bestätigt wird.
Alleine schon das Gefühl sollte einem sagen, dass hier
wahrscheinlich ein gebrochenpolynomiales Verhältnis vorliegt
(wegen der Kreise). Ich hab's gerade mal per Bestapproximation
durch ein Polynom von Grad=2 approximiert und starke Abweichungen
festgestellt. Erst ab Polynomgrad grösser 4 ergibt visuell
akzeptable Übereinstimmung, d.h. ein Indiz für die Rationalität
(d.h. p/q, p,q: Polynome). Durch das Aufstellen der Gleichungen
wird das auch bestätigt.
Theor schrieb:> Man sieht auch, meine ich, dass die Frage, wenn sie denn eine Rolle in> der Diskussion spielt, ob nun ein 1/r oder ein 1/r^2 Ausbreitungsgesetz> anzuwenden ist (ich habe keinerlei Zweifel, dass 1/r^2 gilt), irrelevant> ist, denn in jedem Fall ist letztlich nur das Verhältnis der Strecken> wichtig. Und das ist in dem einen Fall eben lediglich AS/BS oder> sqrt(AB/BS) wie übrigens u.a. Ulrichs Gleichungen.>> Die Schlüsse daraus sind nicht unbedingt trivial.> Man mag irrigerweise spontan annehmen, dass die Orte, an denen das> Verhältnis zwischen den Entfernungen AS und BS gleich ist, eine Gerade> bilden. Aber das ist, wie die Grafik zeigen soll, nicht der Fall.> (Unter anderem deswegen ist auch die von X4U vorgeschlagene Methode des> Bogenschnittes nicht anwendbar).
Deinem ersten Beitrag hier entnahm ich, dass du das
Problem richtig gelöst hast (bzw. der korrekte Ansatz),
hier negierst du aber die Lösung von X4U. Genau mit dessen
Ansatz habe ich aber bereits die korrekte Lösung gefunden,
siehe Skizze.
Sigi schrieb:> Theor schrieb:>> In der angehängten Skizze ...>> Alleine schon das Gefühl sollte einem sagen, [...]
Lassen wir das mit dem Gefühl vielleicht mal vorläufig aussen vor.
Siehst Du irgendeinen Fehler oder eine Abweichung von der
Problemsituation in meiner Skizze?
Das aber hat vielleicht auch Zeit, denn das folgende scheint mir
vielversprechender einen evtl. Fehler oder jedenfalls Unterschied
zwischen unseren Verfahren festzustellen.
>> Theor schrieb:>> Man sieht auch, meine ich, dass [...]>> Deinem ersten Beitrag hier entnahm ich, dass du das> Problem richtig gelöst hast (bzw. der korrekte Ansatz),> hier negierst du aber die Lösung von X4U. Genau mit dessen> Ansatz habe ich aber bereits die korrekte Lösung gefunden,> siehe Skizze.
Ich denke zunächst nicht, dass es nur ein einziges korrektes Verfahren
gibt. Mag sein, dass meines komplizierter als nötig ist. Mag aber auch
sein, dass meines in gewisser Hinsicht allgemeiner ist.
Es würde mir, denke ich, helfen, wenn Du Deine Skizze erläuterst.
Vermutlich gehen die Einzelheiten aus Deinen bisherigen Beiträgen schon
hervor, aber ich wäre Dir dankbar, wenn Du zusammen mit der Erläuterung
der Skizze, Dein Verfahren noch einmal konzentriert erläuterst.
Konkret würde ich mir eine Erläuterung darüber wünschen, wie Du die
Radien der blauen Kreise bestimmst. Und was die Voraussetzungen sind.
Ich möchte an dieser Stelle meine eigene, wie ich meine zentrale,
Annahme nennen:
Es wird von den Empfängern jeweils eine Feldstärke, Leistung oder
vergleichbares gemessen. (Die Wahl wirkt sich "nur" auf das anzuwendende
Abstandsgesetz aus). Jedoch ist diese Messung nicht absolut.
Ich setze nur voraus, dass, bei gleicher Entfernung zum Sender,
konstanter Sendeleistung, und perfekter radialer Abstrahlung, alle
Empfänger in jeder Richtung, den gleichen Wert messen.
Die Leistung des Senders muss nicht bekannt sein. Nur die vom TO
genannte Voraussetzung, dass die Sender alle gleichzeitig messen, muss
gegeben sein.
Wenn ich Deiner Erklärung vorgreifen darf, dann vermute ich, dass Du im
Gegensatz zu mir, davon ausgehst, dass Deine Empfänger die Leistung
(oder welches dazu proportionale Maß auch immer) absolut messen und die
Leistung des Senders bekannt ist. Ich vermute dass, weil ich mir eine
andere Methode die Radien Deiner Kreise, skaliert auf absolute Längen,
zu bestimmen im Moment nicht vorstellen kann. Vermute ich richtig?
@ Sigi
Ah. Ich sehe gerade, dass Du es hier
Beitrag "Re: Kleines Matheproblem (Positionsbestimmung)" schon
erläutert hast.
Ist mir entfallen. Mein Fehler.
Unter den Voraussetzungen einer absoluten Messung und bekannter
Sendeleistung, funktioniert Dein Verfahren. Und natürlich das von X4U.
Lasse ich die absolute Messung fallen, dann funktioniert mein Verfahren
immer noch.
Wenn ich keine absolute Messung brauche, dann kann ich das Geld für die
Referenz stattdessen für mehr Marzipan ausgeben. :-)
Nun, ich hoffe Deine Frage ist damit geklärt.
Theor schrieb:> Lassen wir das mit dem Gefühl vielleicht mal vorläufig aussen vor.
Das sollte keinesfalls in irgendeiner Form beleidigend
sein, ich hatte gedacht, dass das mit der gebrochenrationalen
Form iE klar sein sollte. Z.B. lassen sich perspektivischen
Projektion in der Form (ax+b)/(cx+d) beschreiben (gebr.rat.
vom Grad 1,1), bei Kreisschnitten erhält man schnell
Formen wie (ax^2+bx+c)/(dx^2+ex+f) oder je nach Lage
höhergradig, soll hier aber auch kein Thema sein.
Theor schrieb:> Siehst Du irgendeinen Fehler oder eine Abweichung von der> Problemsituation in meiner Skizze?
Nein, eben nicht, die Skizze ist korrekt. Fügst du noch einen
3. Empfänger hinzu, dann sollte sich idR für alle deine
Kreiskombinationen ein Sender finden lassen derart, dass er
einer der beiden Kreisschnittpunkte ist. Dass die von dir
eingezeichneten Kurve keine "exakte" Parabel ist, spielt
keine Rolle, wichtig ist ja, dass sie keine Gerade ist, d.h.
keine Linearität vorliegt.
(Linearität: Du hast die Entfernungen und kannst daraus per
linearer Form, z.B. der obigen baryzentrischen Kombination
den Sendepunkt bestimmen. Habe ich ja auch weiter Oben
versucht, aber bis auf Sender in etwa der Mitte grosse
Abweichungen erhalten. Ausserdem hat der baryzentrische
Ansatz viele Fehler, wie sie ja zT schon beschrieben wurden)
Theor schrieb:> Ich denke zunächst nicht, dass es nur ein einziges korrektes Verfahren> gibt. Mag sein, dass meines komplizierter als nötig ist. Mag aber auch> sein, dass meines in gewisser Hinsicht allgemeiner ist.
Da muss ich dir recht geben. Ich war so sehr in einem Teilproblem
meiner Lösung verbohrt, dass ich mir über eine Alternativlösung
keine Gedanken mehr gemacht hatte. Ich habe gerade noch einen
zweiten, einfacheren (je nach Betrachtung) Ansatz umgesetzt,
der auf Iteration ähnlich der Newton-Iteration basiert. Dazu
berechne ich den aktuellen Abstand eines Punkts zu den Empfängern
und versuche diesen dann so zu korrigieren, dass die drei
Abstände Richtung Abstände zum Sender konvergieren. Die
Konvergenzrate ist in etwa O(log(n)).
Theor schrieb:> Es würde mir, denke ich, helfen, wenn Du Deine Skizze erläuterst.> ...> Konkret würde ich mir eine Erläuterung darüber wünschen, wie Du die> Radien der blauen Kreise bestimmst. Und was die Voraussetzungen sind.
"Sender" ist klar, "R0".."R2" sind die Empfänger, "Hit" die berechnete
Senderposition, die Radien der Kreise sind die Abstände "Ri"-"Sender"
(sehr wichtig: hier habe ich mich aus der Diskussion 1/r, 1/r^2 etc.
rausgeschlichen, ich haber aber Oben schon geschrieben, dass die
Empfangsleistung auf eine Abstandsskala umrehenbar sein muss.
Genaueres lässt der TO ja offen.)
Zwei Kreise schneiden sich in 0,1 oder 2 Punkten (rot eingezeichnet),
die grüne/gelbe und türk. Linie stellen ein lokales Koord.System
da, wobei Gelb ins Dreieck, Türkis aus dem Dreieck zeigt.
In der Skizze ist "Hit" gleich den zusammenfallenden Endpunkte
der gelben Linie, es kann aber auch jede beliebige Kombination
aus gelben und türk. Linien sein, je nachdem, ob der Sender im
Dreieck oder Ausserhalb liegt (d.h. 8 Suchvorgänge nach den
besten Tripel).
Theor schrieb:> Wenn ich Deiner Erklärung vorgreifen darf, dann vermute ich, dass Du im> Gegensatz zu mir, davon ausgehst, dass Deine Empfänger die Leistung> (oder welches dazu proportionale Maß auch immer) absolut messen und die> Leistung des Senders bekannt ist. Ich vermute dass, weil ich mir eine> andere Methode die Radien Deiner Kreise, skaliert auf absolute Längen,> zu bestimmen im Moment nicht vorstellen kann. Vermute ich richtig?
Genau für diesen (sehr wichtigen!!) Punkt hatte ich am Sonntag
auch ein kleines Skript aufgesetzt. In meinen Zeichnungen
bzw. der SW dahinter tauchen nur Abstände auf, keine
Empfangsleistung oÄ. Du hast aber alle 3 (relativen) Leistungen
zu einem Zeitpunkt, und damit kannst du die absoluten Abstände
berechnen. Dazu habe ich per Zufall den Sender positioniert,
per Zufall die Sendeleistung festgelegt, damit die Abstände
berechnet und dann mit den tatsächlichen Abständen zum Sender
verglichen (wichtig: hier habe ich die Form 1/R^2 gewählt,
1/R sollte aber auch kein Problem sein).
Aber das ist auch genau mein erster Gedanke gewesen, das
Sendeleistungsproblem, die geometrische Berechnung und dann
das Rauschen möglichst voneinander zu trennen.
(uff, am Sonntag hatte ich die Formeln und die SW in 20-30 Minuten
runtergeschrieben, für eine ausführliche Erklärung aller Bilder
würde ich wesentlich länger brachen, deswegen verzichte ich hier
darauf)
Das hat mir nun keine Ruhe gelassen, und ich habe mal geplottet, was
dabei herauskommt.
Witziger Weise hatten wir beide in gewisser Weise unrecht. Das ist keine
Parabel oder wie ich auch dachte eine Hyperbel. Jedenfalls kommt keine
gebrochen rationale Funktion mit x im Nenner heraus. Vielmehr unter
anderem die vierten Potenzen von Zähler und Nenner des Verhältnisses der
Strecken aus der dann noch die Wurzel gezogen wird. Hübsch hässliche
Formel - hübsch hässlicher Graph. :-)
Das ganze wird an den Rändern komplex und sieht insgesamt eher wie die
Abschnitte einer Ellipse aus - nur das die Lücken eine Gerade mit x =
irgendwas sind - ab da werden die Lösungen komplex. Hätte ich nicht
erwartet.
Naja. Muss ich noch gründlich überprüfen ob ich da nicht irgendwo Mist
gebaut habe. Aber einmal habe ich schon über Formel drübergeschaut,
nachdem ich die Plots gesehen habe.
Die Bilder folgen im wesentlichen meiner Skizze. Der Abstand u der
Empfänger ist 12 Einheiten. Der Empfänger A ist an der Position x = 0
und y = 10 zu denken.
v und w sind das Streckenverhältnis. Der Dateiname gibt jeweils v, w und
u an. v und u bleiben konstant.
Sieht aber irgendwie interessant aus. :-)
@ Sigi
Was mich dann aber doch irritiert:
Du schreibst: "In meinen Zeichnungen bzw. der SW dahinter tauchen nur
Abstände auf, keine Empfangsleistung oÄ. Du hast aber alle 3 (relativen)
Leistungen zu einem Zeitpunkt, und damit kannst du die absoluten
Abstände
berechnen."
Es müssen doch Entfernungen proportional zur Leistung markiert sein. An
sich habe ich Dich auch so verstanden, dass das der Fall ist.
Und vor allem:
Um eine absolute Entfernung auszurechnen, brauchst Du absolute Daten.
Relative reichen da nicht, meine ich.
Nach welchem Prinzip machst Du das genau?
Ah, da ist eine Lösung einer Wurzel beim umformen unter den Tisch
gefallen. Hoppla! Es gibt insgesamt vier Lösungen und nicht nur zwei.
Na, jetzt habe ich keine Lust mehr. Ein andermal.
>Um eine absolute Entfernung auszurechnen, brauchst Du absolute Daten. Relative
reichen da nicht
Nicht unbedingt. Das kann man sich leicht am 1D-Fall klarmachen:
Zwei "baugleiche" (*) Empfänger A und B mögen auf der x-Achse an den
Koordinaten +1 bzw. -1 sitzen. Der Sender befindet sich irgendwo
dazwischen an der Position x. Die Empfangsstärken, mit der A und B das
Signal empfangen, seien PA und PB. Um die Senderposition zu bestimmen,
muss man nun nicht die absoluten Werte von PA und PB kennen, sondern es
reicht, zu wissen, wie groß der Quotient PB/PA ist.
Nimmt man P(r) ~ 1/r² an (r = Abstand Sender-Empfänger), dann befindet
sich der Sender an der Position
Herleitung: A ist vom Sender a = 1 - x weit entfernt, B ist vom Sender b
= 1 + x weit entfernt. Aus P(r) ~ 1/r² folgt PB/PA = a^2/b^2, also ist
a/b = sqrt(PB/PA) = sqrt(theta). a und b eingesetzt führt auf die
Gleichung sqrt(theta) = (1 - x)/(1 + x) und die lässt sich leicht nach x
auflösen mit obigem Ergebnis.
In der 2D-Entsprechung ist es genauso: Man muss nicht die absoluten
Werte von PA, PB und PC kennen, sondern es genügt zu wissen, wie groß
PA/PC und PB/PC sind. Daraus kann man die Senderposition berechnen,
sofern sich der Sender innerhalb des Umkreises des Dreiecks ABC
befindet.
Wer sich davon überzeugen will, kann ja mal versuchen, das
Gleichungssystem
a^2 = (x - 1)^2 + y^2
b^2 = (x + 1)^2 + y^2
c^2 = (x - xC)^2 + (y - yC)^2
alpha = c^2/a^2
beta = c^2/b^2
aufzulösen (bekannt sind xC, yC, alpha = PA/PC und beta = PB/PC;
unbekannt sind x, y, a, b, c). Mehr muss man ja nicht machen.
___________
(*) "Baugleichheit" der Empfänger bedeutet, dass bei gleicher Entfernung
vom Sender auch die Empfangsstärken gleich groß sind, d. h. aus a = b
folgt PA = PB und umgekehrt.
LostInMusic schrieb:>>Um eine absolute Entfernung auszurechnen, brauchst Du absolute Daten. Relative> reichen da nicht>> Nicht unbedingt. Das kann man sich leicht am 1D-Fall klarmachen:>> [...]
Das ist ein Missverständnis, denke ich. Meine Frage bezog sich auf den
ersten Schritt von Sigis Methode.
Sie bezog sich nicht auf das Gesamtproblem, dass selbstverständlich
darauf hinausläuft, die Entfernung von den Empfängern zu dem Sender zu
bestimmen.
Was Du da beschreibst, ist von einigen Antwortenden und unter anderem
von mir beschrieben worden.
Theor schrieb:> [...]>> [...] denn in jedem Fall ist letztlich nur das Verhältnis der Strecken> wichtig. Und das ist in dem einen Fall eben lediglich AS/BS oder> sqrt(AB/BS) wie übrigens u.a. Ulrichs Gleichungen.> [...]
Das ist also an sich klar, denke ich, dass es auf diese Weise geht.
Ich sah in Sigis Aussage: "In meinen Zeichnungen bzw. der SW dahinter
tauchen nur Abstände auf, keine Empfangsleistung oÄ. Du hast aber alle 3
(relativen) Leistungen ..." einen inneren Widerspruch. (Inzwischen habe
ich meine Ansicht geändert. Siehe letzter Absatz.)
Denn, anders als bei unserem (Ulrichs, Deinem, Meinem) Ansatz, beruht
Sigis Methode darauf, dass er im ersten Schritt aus den bekannten
absoluten Sende- und Empfangsleistungen eine absolute Entfernung
berechnet, damit im zweiten Schritt Kreise mit einem absoluten Radius um
die Empfänger zieht und im dritten Schritt deren Schnittpunkte bestimmt.
Ich fürchte ich habe Sigis Satz, den ich hinterfragt habe, aus einer
falschen Perspektive interpretiert.
Meiner jetzigen Ansicht nach, bezog er sich mit "relativ" nicht auf die
Relation der Leistungen zwischen zwei Empfängern sondern auf die
paarweise Relation der Relationen(!) der Leistungen zw. zwei Empf. -
also auf die Schnittpunkte der Kreise.
Das wäre konsistent mit seinen restlichen Aussagen. (Vielleicht hätte er
das etwas prägnanter ausdrücken können. Aber man [einschliesslich mir]
vertut sich da eben manchmal. Meinem eigenen Satz, den ich gerade
zitiert habe, finde ich auch nicht mehr prägnant genug.)
>Ich fürchte ich habe Sigis Satz, den ich hinterfragt habe, aus einer>falschen Perspektive interpretiert.
Kommt in den besten Familien vor... smile
Mathematisch ausgedrückt:
Empfänger A misst die Signalstärke PA = f/a^2,
Empfänger B misst die Signalstärke PB = f/b^2,
Empfänger C misst die Signalstärke PC = f/c^2,
wobei a/b/c die Abstände der Empfänger A/B/C zum Sender sind. In der
Größe f steckt die Leistung des Senders, welche nicht bekannt ist.
Deshalb ist es unmöglich/"verboten", irgendetwas mit f zu rechnen.
Danke für Deine Antwort. Ich fange an, zu verstehen, welche Lösungsideen
ihr da verfolgt.
@Sigi:
>Du hast aber alle 3 (relativen) Leistungen>zu einem Zeitpunkt, und damit kannst du die absoluten Abstände>berechnen. Dazu habe ich per Zufall den Sender positioniert,>per Zufall die Sendeleistung festgelegt, damit die Abstände>berechnet und dann mit den tatsächlichen Abständen zum Sender>verglichen (wichtig: hier habe ich die Form 1/R^2 gewählt,>1/R sollte aber auch kein Problem sein).
OK, dazu hast Du in Deinem Skript bestimmte Formeln codiert. Welche?
Würde mich echt interessieren.
LostInMusic schrieb:> OK, dazu hast Du in Deinem Skript bestimmte Formeln codiert. Welche?> Würde mich echt interessieren.
Einfacher Ansatz: Lege das gleichseitige Dreieck in
ein Koordinatensystem so, das der 1. Punkt = (-alpha,0),
der 2. Punkt = (alpha,0) und der 3. Punkt = (0,beta) ist.
Für die Schnittgleichungen erhält man dann:
G1: (x+alpha)^2 + y^2 = r1^2
G2: (x-alpha)^2 + y^2 = r1^2
G3: x^2 + (y-beta)^2 = r3^2
Je Punktepaar kannst du dann die Schnittpunkte per
Subtraktion der Gleichungen Gi,Gj bestimmen, inden
du zuerst nach x umstellst und dann y ausrechnest
(geht auch umgekehrt, zuerst y, dann x).
Da du nur 2 Paare betrachten musst (man muss sich
mathematiscch klar machen, warum!), erhalte ich
durch simple Auswahl G3-G1, G3-G2. Daraus erhalte
ich dann ein X und damit EIN Y (warum EIN?, sollte
klar sein!).
Statt r1,r2,r3 kann man jetzt s*r1,s*r2,s*r3 nehmen.
Bei der Auflösung nach z.B. Y wie gerade Beschrieben
erhält man eine (wegen der Eindeutigkeit) Gleichung
für S.
Viel Spass beim Rechnen.
P.S. Da ich die beiden Probleme getrennt gelöst habe
(zuerst das Schnittpunktproblem und dann das
Sendestärkeproblem) ist mir erst im Nachhinein
klar geworden, dass man mit den Gleichungen G3-G1
und G3-G2 den Schnittpunkt als auch die Sendestärke
gleichzeitig lösen kann.
Thanks for the feedback.
>G1: (x+alpha)^2 + y^2 = r1^2>G2: (x-alpha)^2 + y^2 = r1^2 <-- Korrektur: "= r2^2">G3: x^2 + (y-beta)^2 = r3^2>Statt r1,r2,r3 kann man jetzt s*r1,s*r2,s*r3 nehmen.
In Ordnung, dann habe ich
G1: (x+alpha)^2 + y^2 = s*r1^2
G2: (x-alpha)^2 + y^2 = s*r2^2
G3: x^2 + (y-beta)^2 = s*r3^2
So ich es richtig nachvollzogen habe, läuft es darauf hinaus, damit ein
System aus drei Gleichungen für die drei Unbekannten x, y und s zu
haben. Das stimmt aber nur, wenn r1, r2 und r3 bekannte Größen sind. Was
setzt Du denn dafür ein? Kommen hier die Empfangsstärken ins Spiel, oder
bleiben die weiter außen vor (wenn ja: wann und inwiefern treten die
dann auf den Plan)?
Nein, mehr Fragen sind es im Moment nicht, sorry... ;-)
>Viel Spass beim Rechnen.
Danke, den hatte ich schon bei meinem Ansatz (siehe Post vom 19.10.).
LostInMusic schrieb:> Das stimmt aber nur, wenn r1, r2 und r3 bekannte Größen sind. Was> setzt Du denn dafür ein? Kommen hier die Empfangsstärken ins Spiel, oder> bleiben die weiter außen vor (wenn ja: wann und inwiefern treten die> dann auf den Plan)?
Aus der Differenz von G1 und G2 erhälst du:
x = (r1^2-r2^2) / (4*alpha)
Das wird dann in G1,G2 und G3 eingesetzt und führt zu
drei Gleichungen für y:
GG1: y1 = +/- sqrt(r1^2-(x+alhpa)^2)
GG2: y2 = +/- sqrt(r1^2-(x-alpha)^2)
GG3: y3 = -p/2 +/- sqrt(p^2/4-q)
mit
p = -2*beta
q = beta^2+x^2-r3^2
GG1 und GG2 liefern nur 2 verschiedene Y-Werte
(bilden mit x ja nichts anderes als die Schnittpunkte
der Kreise um Punkt 1 und Punkt 2),
Und jetzt wird's ein wenig komplizierter: GG3 liefert
ebenfalls 2 Y-Werte, von denen mindestens einer
mit einem der anderen beiden Y-Werte übereinstimmen
muss (Grundvoraussetzung war ja, dass sich alle
3 Kreise schneiden). Wenn du jetzt statt ri s*ri
(s ist positiv!!) schreibst und dir alle 4 Fälle von
möglichen Fällen (Y-Wert aus GG3 mit Y-Wert aus GG1
bzw. GG2) betrachtest, dann erhällst du idR nur einen
passenden Wert für S (denn entweder das eine Y ist
positiv und das andere negativ etc.).
(hm, die Lösung von letzer Woche habe ich leider nicht
abgespeichert, ich kann mich nur noch an 2 Fälle
erinnert, d.h. iergendwo kann man an den Gleichungen
noch kürzen? Ich hab's aber graphisch verifiziert.)
Du hast wahrscheinlich eine geschlossene Formel für Y
erwartet (x ist ja geschlossen), die habe ich aber nicht
gefunden/errechnen können.
>(x ist ja geschlossen)
Wenn Du mit der x-Formel diese...
>x = (r1^2-r2^2) / (4*alpha)
meinst, trifft das "geschlossen" zweifellos zu; allerdings würde ich
dann doch noch gerne wissen wollen, welche Werte Du denn für r1 und r2
einsetzt und woraus Du die bestimmst. Die Abstände des Senders von den
Empfängern sind ja nicht bekannt (sondern über die Empfangsstärken nur
die paarweisen Quotienten der Abstände, womit man über viel weniger
Information verfügt).
>die habe ich aber nicht gefunden/errechnen können.
OK. Zum Glück ist das bei diesem Problem nicht der Weisheit letzter
Schluss.
LostInMusic schrieb:> allerdings würde ich> dann doch noch gerne wissen wollen, welche Werte Du denn für r1 und r2> einsetzt und woraus Du die bestimmst.
r1,r2 und r3 sind nur Variablen, die ich später
einfach durch s*r1, s*r2 bzw. s*r3 ersetze
(r1,r2,r3 schreibe ich nur aus purer Faulheit)
und damit in mindestens einem von 4 Fällen s
auszurechnen. s wird hier vereinfachend von
mir als lineare Komponente vorausgesetzt,
kompliziertere Abhängigkeiten bis zu f(s*ri)
können so nicht gelöst werden.
(btw. jetzt weiss ich auch wieder, warum ich letzte
Woche nur 2 Fälle hatte. Ich hatte einfach eine
ungültige Annahme gemacht, die Sender ausserhalb
des Dreiecks betrafen. Alle 4 Fälle ausformuliert
decken alle Senderpositionen ab).
Kleines Beispiel für den Fall eines Senders, der
im Dreieck liegt:
GG1 liefert
GGG1: y = +sqrt(r1^2-(x+alpha)^2)
(y ist ja positiv), und GG3 liefert
GGG2: y = -p/2 - sqrt(p^2/4-q), d.h.
GGG2: y = beta - sqrt(r3^3-x^2), somit
GGG1=GGG2 einfach quadrieren liefert eine
quadratische Gleichung für s (vorausgesetzt, dass
diese Gleichung aufgelöst werden kann, ansonsten
muss der nächste Fall betrachtet werden).
GG1: y1 = +/- sqrt(r1^2-(x+alhpa)^2)
GG2: y2 = +/- sqrt(r1^2-(x-alpha)^2)
GG3: y3 = -p/2 +/- sqrt(p^2/4-q)
mit
p = -2*beta
q = beta^2+x^2-r3^2
LostInMusic schrieb:> allerdings würde ich> dann doch noch gerne wissen wollen, welche Werte Du denn für r1 und r2> einsetzt und woraus Du die bestimmst.
r1,r2 und r3 sind nur Variablen, die ich später
einfach durch s*r1, s*r2 bzw. s*r3 ersetze
(r1,r2,r3 schreibe ich nur aus purer Faulheit)
und damit in mindestens einem von 4 Fällen s
auszurechnen. s wird hier vereinfachend von
mir als lineare Komponente vorausgesetzt,
kompliziertere Abhängigkeiten bis zu f(s*ri)
können so nicht gelöst werden.
(btw. jetzt weiss ich auch wieder, warum ich letzte
Woche nur 2 Fälle hatte. Ich hatte einfach eine
ungültige Annahme gemacht, die Sender ausserhalb
des Dreiecks betrafen. Alle 4 Fälle ausformuliert
decken alle Senderpositionen ab).
Kleines Beispiel für den Fall eines Senders, der
im Dreieck liegt:
GG1 liefert
GGG1: y = +sqrt(r1^2-(x+alpha)^2)
(y ist ja positiv), und GG3 liefert
GGG2: y = -p/2 - sqrt(p^2/4-q), d.h.
GGG2: y = beta - sqrt(r3^3-x^2), somit
GGG1=GGG2 einfach quadrieren liefert eine
quadratische Gleichung für s (vorausgesetzt, dass
diese Gleichung aufgelöst werden kann, ansonsten
muss der nächste Fall betrachtet werden).
Noch vergessen: s muss natürlich auch positiv sein.
Hat man eine funktionale Beziehung zwischen s und
dem Abstand (z.B. f(s*r1) etc.), dann müssen härtere
mathematische Ansätze wie z.B. iterative
Gleichungslöser eingesetzt werden.
Hat man zwei Empfangssignald, kann man die Differenzzeit messen. Daraus
kann man eine Hyperbel zeichnen. Mit dem 1. Oder 2. Signal und dem 3.
Signal ist eine weitere Hyperbel zu zeiçhnen. Der Schnittpunkt der
beiden Hyperbel ist der gesuchte Ort.
Sneef schrieb:> Tach,> im Rahmen eines kleinen Bastelprojekts knobel ich gerade an einem> Geometrie-Problem, komme aber nicht so recht weiter. Vielleicht hat ja> hier jemand einen Tipp für mich?
Entschuldige mal, DAS ist Stoff der 9.Klasse an Gymnasien. Mein Tocher
hatte gerade kürzlich diese Aufgabe. Braucht nur die Kreisgleichung und
Gauss.
Meckerzeige schrieb:> Mein Tocher> hatte gerade kürzlich diese Aufgabe. Braucht nur die Kreisgleichung und> Gauss.
Hoffentlich hast du dem armen Kind nicht bei den Hausaufgaben geholfen.
Georg
LostInMusic schrieb:> [...]> So ich es richtig nachvollzogen habe, läuft es darauf hinaus, damit ein> System aus drei Gleichungen für die drei Unbekannten x, y und s zu> haben. Das stimmt aber nur, wenn r1, r2 und r3 bekannte Größen sind. Was> setzt Du denn dafür ein? Kommen hier die Empfangsstärken ins Spiel, oder> bleiben die weiter außen vor (wenn ja: wann und inwiefern treten die> dann auf den Plan)?> [...]
Du fragst, meine ich, das selbe wie ich.
Theor schrieb:> @ Sigi>> Es müssen doch Entfernungen proportional zur Leistung markiert sein.> An sich habe ich Dich auch so verstanden, dass das der Fall ist.> Um eine absolute Entfernung auszurechnen, brauchst Du absolute Daten.> Relative reichen da nicht, meine ich.>> Nach welchem Prinzip machst Du das genau?
Im Prinzip hat er ja darauf nicht ausdrücklich mit Ja oder Nein
geantwortet. (Falls Dir das gerade durch den Kopf geht: Ich habe Dir ja
auf entsprechende Frage schon geantwortet, dass ich nicht das Ziel des
Verfahrens insgesamt sondern einen Schritt davon meine).
Und Sigis Antwort (Hervorhebung und hoffentlich richtige Korrektur
[Ersatz von "und" durch "um" von mir):
"r1,r2 und r3 sind nur Variablen, die ich später
einfach durch s*r1, s*r2 bzw. s*r3 ersetze
(r1,r2,r3 schreibe ich nur aus purer Faulheit)
um damit in mindestens einem von 4 Fällen s
auszurechnen.
sowie einige andere Beiträge von ihm deuten mir darauf hin, dass er
versucht S zu nähern, nicht es auszurechnen.
Auch scheint er, anders als vermutet, nicht von einer bekannten
Sendeleistung auszugehen.
Wenn er (sinngemäß) schreibt, er "rechne" mit relativen Entfernungen
bzw. er "zeichne" sie ein, dann meint er, denke ich mittlerweile, dass
er mit "Ausdrücken" für die relative Entfernung algebraische Umformungen
macht, deren Variablen keine konkreten Werte haben bzw. dass er,
sozusagen "unter Vorbehalt", Linien einzeichnet, deren endgültige Länge
er erst noch bestimmt.
Das ist ein Unterschied: Rechnen ist etwas anderes als algebraische
Umformungen auch wenn das, wenn man über so etwas redet, gerne mal
gleichgesetzt wird; sozusagen Mathe-Umgangssprache.
Es ist ein bisschen unglücklich, dass er sein Verfahren nicht Schritt
für Schritt und von Skizzen begleitet beschreibt.
@ Sigi
Noch eins:
Es geht mir dabei nicht darum, dass es nicht zulässig wäre, sich einmal
nicht ganz prägnant auszudrücken. Das passiert mir ja auch. Ist
überhaupt nicht schlimm. Es geht um das Thema.
Aber es ist auch wahr, dass bei dem Thema Mathematik usw. fast immer
sehr wichtig ist, genau zu wissen, was gemeint ist.
Man kann sich das eigentlich Gemeinte oft denken und es gehört zum guten
Ton in Diskussionen einen nicht ganz treffenden Ausdruck zu übergehen
und innerlich durch den treffenden zu ersetzen.
Aber ich habe den Eindruck, das Du an mehreren Stellen nicht ganz den
richtigen Ausdruck getroffen hat und das die Summe dieser Stellen das
Verständnis Deines Gedankenganges stark beeinträchtigt.
Ich mag mich irren, oder ich bin unfähig diese Summe an Unklarheiten
selbst aufzulösen.
Aber vielleicht bist Du so gut, Deine Darstellung nochmal etwas zu
überarbeiten. Das fände ich sehr nett.
@Sigi:
>Hat man eine funktionale Beziehung zwischen s und>dem Abstand (z.B. f(s*r1) etc.), dann müssen härtere>mathematische Ansätze wie z.B. iterative>Gleichungslöser eingesetzt werden.
Hmmm... das lese ich im Umkehrschluss so, dass es einfacher ist, wenn
man keine funktionale Beziehung zwischen s und dem Abstand hat. Ist
das richtig? (Erscheint mir sehr seltsam...)
Ich muss auch mal ganz dumm fragen: Hat Deine Größe s etwas mit der
Sendeleistung zu tun oder nicht? Hat s irgendeine sonstige physikalische
Bedeutung oder ist es nur ein Parameter, der z. B. mit einem iterativen
Verfahren minimiert wird?
Und auf die Gefahr hin, dass ich Dich damit schon nerve: Wie und an
welcher Stelle fließen die laut Aufgabenstellung gegebenen Werte von PA,
PB und PC (die Empfangsstärken) in Deinen Algorithmus ein? Deine
bisherige Äußerung dazu "s wird hier vereinfachend von mir als lineare
Komponente vorausgesetzt" habe ich nämlich nicht verstanden. Auch nicht,
was f(s*r1) bedeuten soll. Ich denke, es wäre echt gut, diesen Punkt mal
amtlich zu klären. Die Antwort ist dort zu finden, wo in Deinem Skript
die Variablenbezeichner für die drei Empfangsstärken stehen.
@Theor:
Uneingeschränkte Zustimmung von mir.
@ Sigi
@ LostInMusic
LostInMusic schrieb:
Ich hoffe es ist Dir recht, LostInMusic, wenn ich meinen eigenen Senf zu
Deinem Beitrag gebe, obwohl er sich nicht an mich richtet.
Ich hoffe Du hast Verständnis dafür, Sigi, dass ich meine Deutungen
Deiner Aussagen einfüge. Das geschieht, um den Grund und die
Zielrichtung meiner Fragen zu präzisieren.
> @Sigi:>>>Hat man eine funktionale Beziehung zwischen s und>>dem Abstand (z.B. f(s*r1) etc.), dann müssen härtere>>mathematische Ansätze wie z.B. iterative>>Gleichungslöser eingesetzt werden.>> Hmmm... das lese ich im Umkehrschluss so, dass es einfacher ist, wenn> man keine funktionale Beziehung zwischen s und dem Abstand hat. Ist> das richtig? (Erscheint mir sehr seltsam...)
Ich vermute, dass dies lediglich auf einem Flüchtigkeitsfehler beruht.
Und zwar vermute ich das, weil Sigi in anderer Hinsicht gewisse
nicht-triviale mathematische Begriffe zu kennen scheint. Etwa die
gebrochen rationalen Polynome.
Prinzipiell ist etwa f(x): x -> y (die identische Abbildung) auch eine
Funktion. Vermutlich wird Sigi das auch wissen.
Der Gegensatz wäre eigentlich ein völlig willkürlicher oder
stochastischer Zusammenhang; ansonsten ist der Zusammenhang
grundsätzlich eine Funktion.
Entscheidend ist vielmehr die Art der Funktion . Falls z.B. die
Definition der Funktion nicht analytisch sondern durch Wertepaare
geschieht, die auf nicht-Stetigkeit hinauslaufen. Oder falls in der
Funktion nicht-algebraische Ausdrücke wie sin oder tan erscheinen.
Das (jedenfalls mich) etwas Verwirrende daran ist, meiner Meinung nach,
dass in dem Problembereich der Frage, die nicht-algebraischen Funktionen
ohne Not vermieden werden können.
Das Abstandsgesetz ist ein Beispiel dafür. Egal ob nun 1/r oder 1/r^2;
die Gleichung(en) bleib(t/en) algebraisch. Warum erwähnt Sigi das dann
eigentlich in Bezug auf das Abstandsgesetz?
Andererseits, - und das spricht für die Erwähnung durch Sigi; nur nicht
in dem Kontext -, ergeben algebraische Ausdrücke nicht immer rationale
Zahlen.
D.h. falls ich eine Zahl für die Position des Senders haben will, muss
ich die Wurzeln in den Ausdrücken nähern um eine gewisse Auflösung bzw.
Genauigkeit zu erhalten.
Das hängt aber vor allem von der Problemsituation in geometrischer
Hinsicht ab. Sie führt auf Figuren wie das pythagoreische Dreieck oder
auf gleichschenklige Dreiecke.
Das hat mit dem Abstandsgesetz aber nichts zu tun. Warum erwähnt also
Sigi eine Näherung?
Ich verstehe es nicht.
> Ich muss auch mal ganz dumm fragen: Hat Deine Größe s etwas mit der> Sendeleistung zu tun oder nicht? Hat s irgendeine sonstige physikalische> Bedeutung oder ist es nur ein Parameter, der z. B. mit einem iterativen> Verfahren minimiert wird?
Ich habe heute darüber nochmal nachgedacht und vermute fast, dass Sigis
Verfahren darauf hinausläuft, dass er tatsächlich, ausgehend von der
relativen empfangenen Leistung, eine Sendeleistung für eine /angenommene
Senderposition/ berechnet und Parameter verändert (die Position des
Senders) bis die berechnete Leistung der gemessenen entspricht.
Dafür sprechen seine Plots, in denen er Linien von einer berechneten zu
der wahren Position plottet. Unglücklicherweise für mich, spricht er in
dem selben Zusammenhang auch von Messunsicherheiten und Einflüssen der
Numerik, so dass für mich nicht eindeutig klar wird, wie er da rechnet.
Dagegen spricht allerdings, dass er, falls ich das nicht übersehen habe,
nicht erwähnt wie er die erste angenommene Position des Senders wählt.
Dagegen spricht auch die Skizze mit dem Dreieck und dem Bogenschlag
sowie die damit zusammenhängende Aufstellung des Gleichungssystem, das
eine definitive Lösung in Form eines Wurzelterms erlauben würde.
Das erscheint mir paradox, denn das Gleichungssystem zeigt ja, dass mit
einer bekannten absoluten Leistung und der gemessenen Leistung eine
absolute Entfernung sich ausrechnen lässt. Und nur so lassen sich
konkrete Kreise (nicht nur eine Schar von Kreisen) um die Empfänger
einzeichnen. Aber das sind keine relativen Entfernungen mehr (in dem
Sinn eines Verhältnisses der Entfernungen zwischen je einem Empfänger
und dem Sender).
Beide Widersprüche sind allerdings nicht sehr scharf. Man kann sie durch
Annahmen auflösen.
Es mag aber auch sein, dass er eine Schar von Kreisen meint, sonst
müsste er S nicht erst ausrechnen. Andererseits erwähnt er nicht, dass
er die Radien der Kreise annähert.
In diesem Punkt besteht eine zweite Unklarheit, meine ich.
> [...]
Mein Stand in der Angelegenheit ist im Moment folgender.
Es gibt (mindestens) zwei Methoden:
1. Ausgehend von bekannter absoluter Sendeleistung und gemessenen
absoluten Empfangsleistungen (oder einer proportionalen Grösse) lassen
sich drei vollständig bestimmte Kreise der absoluten Entfernung um die
Empfänger ziehen. Die Schnittpunkte von sechs Kreisen ergeben eindeutig
die Senderposition. (Extremfälle in denen weniger Schnittpunkte
erforderlich sind, einmal unberücksichtigt).
2. Ausgehend von gleichen Empfindlichkeiten der Empfänger und von den
dadurch gemessenen relativen Empfängerleistungen (oder einer
proportionalen Grösse) lassen sich drei Verhältnisse von je zwei
Empfänger-Sender-Entfernungen berechnen. Die Ortskurven desjenigen
Punktes für je zwei Empfänger, für welche dieses Streckenverhältnis
vorliegt, ergeben Ellipsen. (Mit einem kleinen Vorbehalt; ich habe es
noch nicht nach geprüft.) Die Schnittpunkte dreier Ellipsen ergeben
eindeutig die Senderpositionen (Extremfälle in denen weniger
Schnittpunkte erforderlich sind, einmal unberücksichtigt).
Ich will noch hinzufügen, dass Methode 1, da sie eine bekannte absolute
Senderleistung voraussetzt, den Vorgaben des TO widerspricht. Das er das
zur Kenntnis genommen hat, hast Du, Sigi an sich auch ziemlich bald nach
dem Beitrag des TO bestätigt.
Das aber spricht dafür, dass Du eben nicht Methode 1 meinst sondern die
Senderleistung überhaupt annäherst. Aber warum? Mit welchen genauen
Schritten?
@Theor:
>Ich hoffe es ist Dir recht...
Immer gerne - ich freue mich über die Aufmerksamkeit :-)
>Ich habe heute darüber nochmal nachgedacht und vermute fast, dass Sigis>Verfahren darauf hinausläuft,
Statt Vermutungen anzustellen, frag ich lieber nach. Wollen wir hoffen,
von Sigi noch die nötigen Erklärungen zu bekommen.
>Ich will noch hinzufügen, dass Methode 1, da sie eine bekannte absolute>Senderleistung voraussetzt, den Vorgaben des TO widerspricht.
So ist es. Das Problem, das Methode 1 löst, ist schlicht nicht das vom
TO gestellte Problem.
@LostInMusic,
ich habe inkl. Heute die letzten Tage den Heizungsbauer
wegen einer neuen Heizung im Haus, deshalb hatte ich
keine Zeit oder konnte nur knapp antworten.
Btw, mit
LostInMusic schrieb:> Uneingeschränkte Zustimmung von mir.
meinst du doch hoffentlich nicht seine Humorlosigkeit,
aber sei's drum.
Gestern Abend/Nacht habe ich endlich meine finale
und knappe Lösung gefunden. Ich nehme zur Einfachheit
halber mal ein gebrochenlineares Modell der Sendeleistung
(gebr.quadr. lässt sich genauso behandelt, ich möchte
es aber so einfach wie möglich halten):
pi: gemessene Sendeleistung
ri: Entfernung, für dich unbekannt, d.h. darf beim
Lösen nicht verwendet werden
s : Sendeleistung, ebenfalls unbekannt, steht im
Zentrum unseres Problems
si: =1/pi, wichtige Hilfsvariable
Ich setze
s*si = ri
pi = s/ri
Und jetzt kopiere ich einfach mal einen Skriptausschnitt,
für die komplette und sehr lange Herleitung fehlt mir die
Zeit:
hx = (s1^2-s2^2)/(4*alpha)
delta = (s1^2-s3^2-2*alpha*hx)/(2*beta)
gamma = (beta^2-alpha^2)/(2*beta)
ga4 = hx^2 + delta^2
ga2 = 2*hx*alpha + 2*delta*gamma - s1^2
ga0 = alpha^2 + gamma^2
gb2 = ga4/ga4
gb1 = ga2/ga4
gb0 = ga0/ga4
p = gb1
q = gb0
ht1 = -p/2 + sqrt(p^2/4-q)
ht2 = -p/2 - sqrt(p^2/4-q)
hs1 = sqrt(ht1)
hs2 = sqrt(ht2)
x1 = hs1^2*hx
y1 = (hs1^2*(s1^2-s3^2-2*alpha*hx)-alpha^2+beta^2)/(2*beta)
x2 = hs2^2*hx
y2 = (hs2^2*(s1^2-s3^2-2*alpha*hx)-alpha^2+beta^2)/(2*beta)
Wegen der quadratischen Gleichung in dieser Sequenz
ergeben sich 2 Punkte (x1,y1) und (x2,y2) und die
zugehörigen möglichen Sendeleistungen hs1 bzw. hs2.
Durch Einsetzen in z.B. G1 von Oben kann sofort
festgestellt werden, ob (x1,y1) bzw. (x2,y2) gleich
dem Sender ist. D.h. man erhält eine sehr kompakte
Lösung, einfacher geht's glaube ich nicht.
(ich habe anhand vieler Sim.durchläufe festgestellt,
dass für Sender innerhalb des Umlaufkreises immer
(x1,y1) und ausserhalb immer (x2,y2) der gesuchte
Punkt ist, imo eine interesante Beobachtung)
Die Beiden Bilder zeigen für jeden Sender in
[-2..2,-2..2] bzw. [-20..20,-20..20] den quadratischen
Fehler als Abstand Sender<=>BerechneterSender, jeweils
10000 Durchläufe, d.h. akzeptabel. Ebenso gut/klein sind
die Fehler durch Hinzufügen von Rauschen auf pi.
..und, hätte ich fasst vergessen: Ändert man
die Position der Empfänger nur leicht, dann
steigen die Fehler schnell in nichtakzeptable
Bereiche, d.h. diesbezüglich ist mein Ansatz
nicht gerade stabil.
>...Heizungsbauer...
Kein Problem. Hab Fun mit dem neuen Ofen und allzeit warme Füße.
>meinst du doch hoffentlich nicht seine Humorlosigkeit
Ich teile seine Meinung inhaltlich. Auch mir ist aufgefallen, dass Du
Dich zur Beschreibung mathematischer Sachverhalte nicht immer der
zutreffendsten Ausdrucksweise bedienst (Beispiele: Warum sagst Du
"gebrochenlineares Modell der Sendeleistung" oder "lineare Komponente",
wenn der mathematische Fachterminus dafür "umgekehrt-proportional"
lautet? Man kann auch einfach "P(r) ~ 1/r" schreiben (vorausgesetzt die
Bedeutungen von P und r als Leistung bzw. Abstand sind klar) und so den
Fakt kurz und präzise ausdrücken. Warum wählst Du für die kartesische
x-Koordinate des Dreieckpunktes A als Variablenbezeichner "alpha" und
für die y-Koordinate des Punktes C "beta"? Statt naheliegend zum
Beispiel "xA" und "yC", die ihre Bedeutung selbst erklären? Warum nennst
Du eine Größe "gemessene Sendeleistung", wenn es sich dabei um die
Empfangsleistung handelt, weil es doch die Leistung ist, die der
Empfänger misst? Ein bisschen irritierend ist das manchmal schon...).
Selbstverständlich vermute ich dahinter keine böse Absicht von Dir, es
ist nur so, dass durch eine Häufung solcher "sprachlicher
Suboptimalitäten" das Verständnis eines Textes enorm erschwert bis
unmöglich werden kann. Die Folge davon siehst Du ja: Ein Berg von
Spekulationen darüber, was Du wie gemeint oder nicht gemeint haben
könntest, oder viele Rückfragen, deren Beantwortung dann auch Deine Zeit
kostet. Daneben setzt Du Dich noch dem Risiko aus, verdächtigt zu
werden, etwas verschleiern zu wollen. Aus diesen Gründen wird in der
wissenschaftlichen (mündlichen wie schriftlichen) Kommunikation so viel
Wert darauf gelegt, ungenaue Formulierungen zu vermeiden. Das nötigt den
Autoren zwar etwas Mühe und Disziplin ab, zahlt sich aber letztlich für
alle aus. -- Denkanstoß Ende :-)
Zu Deinem Skript: Ich habe es in Maxima (ein CAS) übertragen und mit
einem Testfall (*) geprüft. Es hat die Senderposition korrekt berechnet.
Deine Grafik legt nahe, dass Du schon sehr viele Testfälle hast
durchrechnen lassen, mit dem Ergebnis, dass es im Kern funktioniert (die
Sache mit den zwei Ergebnissen und etwaige numerische Fehler hast Du ja
schon angesprochen). Fazit: Es löst die Aufgabe des TO schulterklopf
(Ich glaube, wir hätten uns ca. 10 Posts sparen können...)
Noch eine Anmerkung: Das von Dir gewählte "wirklichkeitsfremde"
Abstandsgesetz P(r) ~ 1/r (e.m. Wellen im freien Raum gehorchen ja P(r)
~ 1/r^2) über Bord zu werfen, ist ein Klacks. Man kann es gleich
allgemein machen und P(r) ~ 1/r^n setzen mit einem beliebigen Exponenten
n (ungleich 0). Das verkompliziert die Sache nur minimal: Man muss die
Definition si := 1/pi ändern auf si := 1/pi^(1/n) und das ist auch schon
alles.
Eine automatische Auswahl des richtigen Ergebnisses aus den beiden, die
die PQ-Formel liefert, wäre dann sicher auch noch eine sinnvolle
Erweiterung Deines Algorithmus' (musst Du aber nicht für mich machen!).
An der Herleitung der Formeln besteht meinerseits kein Bedarf. Ich kann
es grob erahnen, wie Du das Gleichungssystem aufgelöst hast.
_______________________
(*) Mein Testfall: A(+1, 0) und B(-1, 0) und C(0, sqrt(3)). Das ist ein
gleichseitiges, zur y-Achse symmetrisches Dreieck mit der Seitenlänge 2.
Dann ist alpha = xB = -1 und beta = yC = sqrt(3) zu setzen. Den Sender
habe ich auf (0.3, 0.9) positioniert; das ist halbhoch rechts innerhalb
des Dreiecks. Die Abstände sind dann dSA = 1.140175, dSB = 1.581138 und
dSC = 0.884482. Als Leistung s des Senders habe ich 14 gewählt. Mit der
Formel pi = s/ri resultiert das in diesen Empfangsleistungen: PA =
14/1.140175 = 12.278812, PB = 14/1.581138 = 8.8543774 und PC =
14/0.884482 = 15.828472. Damit hat man alles zusammen, was Dein Skript
als Input benötigt.
@ Sigi
Ich möchte mich bei Dir bedanken, dass Du die Mühe auf Dich genommen
hast, noch eine Antwort zu schreiben und aus Deinem Script-File zu
zitieren.
Das war freundlich von Dir. :-)
Vor allem: Schön, dass Dein Verfahren, wie LostInMusic festgestellt hat,
funktioniert.
@ LostInMusic
Vielleicht hast Du ja Deine Maxima-Sitzung in einer Datei gespeichert.
Falls ja, möchte ich Dich darum bitte, sie hier als Anhang zu posten.
Wäre das möglich? Ich würde mich freuen.
@Theor: Klar --> Anhang.
Siris Skript findest Du zwischen den beiden Zeilen "-------------".
(Falls Du mit Maxima nicht vertraut bist: Der Unterschied zwischen "$"
und ";" am Zeilenende besteht darin, dass das Semikolon eine Ausgabe des
Berechnungsergebnisses der betreffenden Zeile bewirkt. Mit "$"
abgeschlossene Zeilen sind dagegen "stumme" Zeilen.)
LostInMusic schrieb:> dass Du> Dich zur Beschreibung mathematischer Sachverhalte nicht immer der> zutreffendsten Ausdrucksweise bedienst (Beispiele: Warum sagst Du> "gebrochenlineares Modell der Sendeleistung" oder "lineare Komponente",> wenn der mathematische Fachterminus dafür "umgekehrt-proportional"> lautet? Man kann auch einfach "P(r) ~ 1/r" schreiben
Wenn du mal verschiedenste Mathevorlesungen angeschaut hast,
dann wirst du sehr schnell erkennen, dass es keine
"zutreffendsten Ausdrucksweise" gibt, selbst in einem Bereich
(z.B. Analysis) habe ich schon unterschiedliche Ausdrücke
für ein und den selben Sachverhalt gesehen.
Zugegeben, "gebrochenlineares Modell" hört sich ein wenig nach
Beamtendeutsch an, es ist aber nunmal ein Modell und es
basiert auf gebrochenlineare Funktionen, und dann wird es in
der Mathematik auch so genannt (wie z.B. polynomialen Modelle etc.).
Mit "linearer Komponente" verhält es sich genauso..
LostInMusic schrieb:> "gemessene Sendeleistung", wenn es sich dabei um die> Empfangsleistung handelt
Da gebe ich dir recht, ich habe aber noch nie etwas mit diesem
Fachbereich zu tun gehabt.
LostInMusic schrieb:> Warum wählst Du für die kartesische> x-Koordinate des Dreieckpunktes A als Variablenbezeichner "alpha" und> für die y-Koordinate des Punktes C "beta"? Statt naheliegend zum> Beispiel "xA" und "yC", die ihre Bedeutung selbst erklären?
Ich habe keinen der Punkte als Alpha bzw. Beta bezeichnet,
sondern diese Grössen als Komponenten der Punkte gewählt
(ist Oben eindeutig und einfach verständlich in Form einer
Gleichung beschrieben). Und dies einzig und alleine, um die
Gleichungen G1 bis G3 möglichst einfach bzgl. Lösbarkeit zu halten.
Und was du mit "xA" oder "yC" meinst bleibt ein totales Rätsel.
LostInMusic schrieb:> (Ich glaube, wir hätten uns ca. 10 Posts sparen können...)
Also das soll wohl ein kleiner Scherz sein. Am ersten Tag
hatte ich das Gleichungssystem auf 8 Fälle (Lösungen für
die Senderkoordinaten (x,y)) mit zig Tests auf Plausibilität
runtergebrochen, am zweiten dann auf 4 Fälle (dazu habe ich
sozusagen "Live" obigen Beitrag geschrieben, d.h. nicht
zusammengefasst und sauber ausformuliert), und Gestern dann,
ich hatte so eine Ahnung, eine Vereinfachung übersehen zu
haben, auf einen einzigen Fall reduziert. Wegen der Natur
der Gleichungen (eben quadratisch) erhalte ich aus der
PQ-Formel zwei mögliche Lösungen, von denen nur eine korrekt
sein kann. Für jeden Fall brauchte ich ca. 20-60 Minuten,
dann nochmal 10 Minuten für die Skripteingabe. Also ein
Riesenaufwand, und selbst für die finale Fassung bräuchte
ich noch mind. 2-3 Stunden für eine saubere Zusammenfassung.
Aber da ich die Auflösung quadratischer Gleichungen mehrerer
Variablen schon ein paar mal gesehen habe (in Vorlesungen,
Übungen, Praxis), wusste ich von vornherein um den Aufwand.
Es ist schlicht Fleissarbeit und systematisches Abarbeiten
von grossen Herleitungsgraphen).
Und wenn du dann auch noch in Erwägung ziehst
LostInMusic schrieb:>etwas verschleiern zu wollen
muss ich sagen, dass ist schon ein wenig frech.
LostInMusic schrieb:> Eine automatische Auswahl des richtigen Ergebnisses aus den beiden, die> die PQ-Formel liefert, wäre dann sicher auch noch eine sinnvolle> Erweiterung Deines Algorithmus' (musst Du aber nicht für mich machen!).
Habe ich in all meinen Skripten, nur nicht hierher kopiert.
Ich hab's schlussendlich graphisch in meiner Simulation
ausgegeben. Aber Foren wie dieses hier ist kein Hausaufgabenforum,
wird ja auch oft geschrieben.
LostInMusic schrieb:> Ich kann> es grob erahnen, wie Du das Gleichungssystem aufgelöst hast.
Weit Oben hast du in einem Beitrag ein Gleichungssystem
aufgeschrieben, das ja nur gelöst werden muss. Mach dir
einfach mal klar, wie schwer das werden kann.
So, jetzt aber gute Nacht.
>gebrochenlineare Funktionen
Gebrochenlinear nennt man Funktionen vom Typ f(x) = (ax + b)/(cx + d).
Auch wenn 1/x unbestreitbar ein (sehr spezieller) Spezialfall davon ist,
würde man trotzdem nicht von "gebrochenlinear" sprechen, wenn man
ausschließlich 1/x betrachten möchte.
>Und was du mit "xA" oder "yC" meinst bleibt ein totales Rätsel.
Die x-Koordinate des Dreieckpunktes A bzw. die y-Koordinate des
Dreieckpunktes C.
>Am ersten Tag hatte ich das Gleichungssystem auf 8 Fälle
Genau in diese Falle darf man hier nicht tappen. Man tut gut daran, so
vorzugehen, dass man die Operation "Gleichung quadrieren" möglichst
wenig anwenden muss, weil man sich dabei jedesmal "falsche" Lösungen
(falsch bzgl. der unquadrierten Gleichung) einhandelt.
>erhalte ich aus der PQ-Formel zwei mögliche Lösungen, von denen nur eine korrekt
sein kann.
Ja, das hat die PQ-Formel so an sich.
>Es ist schlicht Fleissarbeit
Plus: Es geschickt anstellen, den Überblick behalten, konstante
Ausdrücke durch eigene Bezeichner abkürzen und bei Divisionen aufpassen
(dazu gleich noch was...).
>Habe ich in all meinen Skripten, nur nicht hierher kopiert.
OK - woher soll ich das wissen...
>Mach dir einfach mal klar, wie schwer das werden kann.
Deshalb gebührt Dir ja auch höchste Anerkennung und Respekt für das
erfolgreiche Knacken dieser Nuss. Ist doch auch gut fürs Training, ab
und zu so ein kleiner Mathesnack zwischendurch... ;-)
Übrigens, falls es Dir entgangen sein sollte: Der Sonderfall eines
Senders, der exakt im Dreieckmittelpunkt (= der Umkreismittelpunkt)
sitzt, bringt Dein Skript zum Absturz. Wegen gleicher Entfernung zu
allen Empfängern sind alle Empfangsleistungen identisch und s1, s2 und
s3 nehmen denselben Wert an. Infolgedessen werden die Variablen hx und
delta Null und damit auch ga4. Bei der Berechnung von gb2 kommt es dann
zu einem "division by zero"-Laufzeitfehler (probiers aus). Du hast in
Deiner Herleitung irgendwo durch eine Größe dividiert, die in diesem
Fall verschwindet (kannst die Stelle ja suchen...). Um eine vollständig
korrekte Lösung zu bekommen, muss man diesen Fall separat behandeln.
LostInMusic schrieb:>>Am ersten Tag hatte ich das Gleichungssystem auf 8 Fälle>> Genau in diese Falle darf man hier nicht tappen.
Da hast du aber keine oder kaum eine Chance auf
"sehr frühes Erkennen" von ungünstigen Ansätzen, du
musst einfach systematische x (einfach zu berechnen,
folgt aus der speziellen Lage der Dreiecks-Punkte) alle
Kombinationen von G1 bis G3 (wie z.B. Gleichung G := G1+G2
oder G:= G3-G1 etc) betrachten. Einige fallen sofort weg
(z.B. G1-G2, da damit ja x bestimmt wurde, y rausfällt
und nach Einsetzen die Gleichung G zu 0=0 kollabiert),
die meissten Fälle müsen aber kurz "angefasst" werden
(d.h. 5-10 elementare Umformungen). Insgesamt hat
man so zig Zehn Kombinationen zu betrachten. Und dann
liefern einige Kombinationen quartische Gleichungen
der Form Y=a*x^4+..., die leider nicht durch Substitution
der Form S=T^2 in quadr. Gleichungen umgeformt werden können
(quartische Gleichungen sind zwar noch geschlossen lösbar,
mit der numerischen Stabilität kenne ich mich aber
nicht aus, deshalb für mich: Hände weg). Ich muss mir
aber auch noch mal die Formel anschauen, vlt. ergibt sich
da noch was.
LostInMusic schrieb:> falls es Dir entgangen sein sollte: Der Sonderfall eines> Senders, der exakt im Dreieckmittelpunkt (= der Umkreismittelpunkt)> sitzt, bringt Dein Skript zum Absturz.
Ist mir sehr wohl entgangen, und hier muss ich deutlich
"verdammte Scheisse" sagen: Ich hatte ja weiter Oben
einen Graph, der den Abstand zwischen Sender und berechneter
Position als Fehler ausgibt. Auf dem Umkreis der Dreiecks
sind diese Fehler besonders hoch (hier "schaltet" mein
Algorithmus zwischen dem einen und dem anderen Y aus
der PQ-Formel um. Und diese Sendepositionen als auch die
Sendepositionen auf den Linien des Dreiecks habe ich
mal kurz in der finalen Formel untersucht und keine
Singularitäten festgestellt). Sowohl mit systematischer
Suche (Sender auf festem kartesischen Raster) als auch
eine MonteCarlo-Simulation haben darauf nicht angeschlagen.
Das Raster war einfach viel zu grob gewählt.
Ich habe das Raster mal feiner gestaltet und die Fehler
ausrechnen lassen, siehe Anhang. Scheinbar ist die Mitte
des Dreiecks keine behebbare Singularität, aber wegen der
Verwendung von ausschliesslich FLOAT möchte ich das
nicht voreilig ausschliessen. Ich hatte auch schon
an die ABC-Formel statt der PQ-Formel gedacht, die
verursachende Division lässt sich damit nicht vermeiden.
(und das Testen auf Gleichheit der Empfangsleistungen
gefällt mir nicht ganz, er beinhaltet ja das Testen auf
eine Umgebung um die Mitte oÄ. Ausserdem, was soll
ich in diesem Fall als Lösung wählen, etwa eine
Konstante, d.h. die Mitte?)
Es gibt aber eine andere, einfache Lösung: Aus meiner
Fleissarbeit der letzten Tage habe ich ja noch viele
Fälle, die die XY-Ebene in viele kleine Flächen
zerlegt. Von denen muss ich mir einen "günstigen"
Abschnitt um die Mitte aussuchen und auf
|(x,y)| < rc
testen (rc: hinreichend kleiner Radius). Damit sind
alle berechneten Punkte innerhalb des Kreises um die
Mitte stabil, und das Umschalten ausserhalb davon
liefert dann den Rest (insgesamt also 3-Zonen).
Leider habe ich dafür in den nächsten beiden
Wochen wegen Umbauarbeiten keine Zeit mehr.
Puh, und Oben schrieb einer, seine Tochter löse
sowas in der 9. Klasse. Ich bin im Süden zur Schule
gegangen, aber sowas stand nicht auf dem Programm.
Muss wahrscheinlich Hessen gewesen sein?
>musst einfach systematische x (einfach zu berechnen,>folgt aus der speziellen Lage der Dreiecks-Punkte) alle>Kombinationen von G1 bis G3 (wie z.B. Gleichung G := G1+G2>der G:= G3-G1 etc) betrachten.
Da komm ich nicht ganz mit...
>Insgesamt hat man so zig Zehn Kombinationen zu betrachten. Und dann>liefern einige Kombinationen quartische Gleichungen der Form Y=a*x^4+...,
Was? Das hört sich aber echt nicht so gesund an... lach... Bist Du
sicher, da richtig vorgegangen zu sein?
>mit der numerischen Stabilität
Ja, auch das ist natürlich ein wichtiger Aspekt. Mal ein Extra-Lob an
dieser Stelle für die Anfertigung der Grafiken.
>Und diese Sendepositionen als auch die Sendepositionen auf den Linien des>Dreiecks habe ich mal kurz in der finalen Formel untersucht und keine
Singularitäten festgestellt).
Vom Gefühl her würde ich sagen, die Linien des Dreiecks sind unkritisch.
Ich hätte da eher die Mittelsenkrechten im Verdacht, denn das sind die
Linien, die sich alle im Umkreismittelpunkt schneiden, und von dem
wissen wir ja schon, dass er aus der Rolle fällt. Ich vermute, eine der
Mittelsenkrechten ist singulär und besitzt ihrerseits den
Umkreismittelpunkt als weitere Singularität. Dazu müsstest Du in Deiner
Herleitung irgendwo durch eine Größe dividiert haben, die Null werden
kann, und bei der Sonderbehandlung des Null-Falls müsste genau eine
solche Division dann nochmal passieren mit einer anderen Größe.
>Scheinbar ist die Mitte des Dreiecks keine behebbare Singularität,
Es gibt jedenfalls eine stetige Fortsetzung dort. Ob man eine Lösung
finden kann, in der diese Singularität(en?) nicht vorkommen? Das wäre
für mich eine der wirklich spannenden Fragen bei diesem Problem. Von dem
User mit dem Vorschlag, in baryzentrischen Koordinaten zu rechnen, ist
wohl kein weiteres Statement dazu zu erwarten - schade.
>die verursachende Division lässt sich damit nicht vermeiden.
Richtig.
>Ausserdem, was soll ich in diesem Fall als Lösung wählen, etwa eine>Konstante, d.h. die Mitte?)
Du musst Deine Ausgangsgleichungen für diesen Fall formulieren und das
dadurch entstehende neue System lösen. Wahrscheinlich werden
irgendwelche Gleichungen dabei identisch, was die Sache deutlich
einfacher macht.
Falls Du den Ehrgeiz haben solltest, Deinen Algorithmus fail-safe zu
machen, eine gut gemeinte Warnung von mir: Wegen der umfassenden Tests,
die man dazu durchführen muss, könnte das Erreichen dieses Ziels einen
Aufwand erfordern, der jenen zur Lösung des Gleichungssystems um ein
Vielfaches übersteigt. Ein Stresstest, der diesen Namen auch verdient,
müsste beispielsweise folgende Fälle abdecken (ohne Anspruch auf
Vollständigkeit):
- Sender genau im Dreieckmittelpunkt
(--> alle Empfangsleistungen identisch)
- Sender sehr nahe am Dreieckmittelpunkt
(--> alle Empfangsleistungen nur wenig voneinander verschieden)
- Sender genau in der Mitte zwischen zwei Dreieckpunkten
(--> zwei Empfangsleistungen identisch)
- Sender genau auf einer der Mittelsenkrechten des Dreiecks
(--> zwei Empfangsleistungen identisch)
- Sender sehr nahe an einem der Dreieck-Eckpunkte
(--> eine Empfangsleistung sehr groß ggü. den anderen)
- Sender genau auf einer Dreieckseite
- Sender genau auf dem Dreieck-Umkreis
- Sender sehr nahe am Dreieck-Umkreis
- Sender genau im Punkt (0, 0)
Ein feines kartesisches Raster kannst Du dann noch dazunehmen, aber
nur ein solches abzuprüfen wäre definitiv ein zu schwacher Test.
Hat man das Problem sogar für beliebige Dreiecke gelöst, kämen hinzu:
- entartetes Dreieck: A, B, C auf einer Linie
(witzigerweise gibt es dann sogar noch eine Lösung!)
- entartetes Dreieck: A, B, C identisch
(physikalisch unmöglich)
- extrem spitzes Dreieck
(eine Dreieckseite viel kürzer als die anderen beiden)
- extrem stumpfes Dreieck
(A, B, C fast auf einer Linie; Umkreismittelpunkt weit außerhalb des
Dreiecks)
- rechtwinkliges Dreieck
(Umkreismittelpunkt liegt auf einer Dreieckseite)
- gleichseitiges Dreieck
Manche Fälle sind für eine praktische Anwendung irrelevant, etwa extrem
spitze oder extrem stumpfe Dreiecke. Trotzdem sind sie mathematisch
möglich und sollten auch bzgl. ihrer numerischen Eigenschaften
untersucht werden.
Ein entsprechendes Stück Code zu schreiben, das unter allen Umständen
ein zuverlässiges Ergebnis liefert (oder eine Meldung, wenn es keine
Lösung gibt bzw. eine Warnung, wenn sie numerisch unsicher ist), schätze
ich als ein schon durchaus ambitioniertes Projekt ein. Wer so etwas mal
ernsthaft versucht hat, versteht, warum Software für
hochsicherheitskritische Bereiche (Luft- und Raumfahrt, Kernreaktoren,
lebenserhaltende Systeme etc.) ihren Preis hat.
>Oben schrieb einer, seine Tochter löse sowas in der 9. Klasse.
Internetforen-Blabla. Ist mir kein weiteres Wort wert.
LostInMusic schrieb:>>musst einfach systematische x (einfach zu berechnen,>>folgt aus der speziellen Lage der Dreiecks-Punkte) alle>>Kombinationen von G1 bis G3 (wie z.B. Gleichung G := G1+G2>>der G:= G3-G1 etc) betrachten.>> Da komm ich nicht ganz mit...
Aus einen ganz einfachen Grund: du hast dir bis jetzt nicht
die geringste Mühe gemacht, die (impliziten) quadr. Gleichungen
aufzulösen, d.h. explizit zu machen, bzw. es nur zu versuchen.
Aus meiner Ausbildung kann ich mich nur noch an zwei Beispiele
Erinnern. Eines in Analysis, 3 Gleichungen und 3 Unbekannte
(Matheprofs lieben das volle Programm). Wir bekamen nur die
Zusammenfassung, der Aufwand wurde mit mehrere Stunden angegeben.
Das zweite in Physik/Übungsstunde: 2 Gleichungen, 2 Unbekannte.
Aufwand an der Tafel: 30-40 Minuten, ist aber auch wesentlich
einfacher. Und du musst bedenken, dass Dozenten aus diesen
Bereichen die wahrsten Rechentiere sind. Wenn ich also grob
hochgerechnet 10 Stunden insgesamt mit Skripts und anderem
gebraucht habe, bin ich doch gar nicht mal so langsam. Aber
vieleicht weiss du ja, wie man es deutlich schneller löst,
nur zu.
LostInMusic schrieb:> Vom Gefühl her würde ich sagen, die Linien des Dreiecks sind unkritisch.
Und genau das ist falsch, genauer gesagt zum Teil. Denn mit
Sendeleistung gleich 1 und pi=1/ri müsste z.B. für Linie Pi-Pj
ri+rj = si+sj = Linienlänge gelten. Aufgrund von Rauschen und der
quadratischen Charakteristik der Gleichungen (Kreisschnitt)
kriegst du überproportionale Fehler, und diese sogar extremst
hinter der den Enden (ich nenn's mal Schatten). Ich hatte
dazu eine Linienplot-Graphik (Linien zeigen Fehler zwischen
Sender und berechneter Position, fast überrall sehr kurz, im
Schatten sehr lang), leider aber vergessen sie zu speichern.
Wenn man sich die Beziehung der Gleichungen zu den
Kreisschnitten klarmacht und ein wenig Gefühl für die
Gleichungen hat, dann sollte das sofort klar sein. War für
mich nach den Berechnungen zu den Kreisschnitten sofort klar.
Da es ein wenig spät geworden ist, mach ich's kurz und knapp:
In meinem Skript finden sich Variablen ga0, ga2 und ga4.
ga0 ist konstant ungleich Null, ga2 und ga4 2-dim
Paraboloide und einzig ga4 hat eine Nullstelle (geht ja
aus den Gleichungen zu diesen Variablen sofort hervor).
Damit hat man überall stabile Verhältnisse bzgl. Auswertbarkeit,
ausser eben im Dreiecksmittelpunkt. Und da liegt sowohl in
ga0, ga2 und ga4 eine "Null-Ableitung" in jeder Richtung vor.
Der Rest ergibt sich durch einfaches Überlegen.
(oder, doch noch eine kurze Bemerkung zum Umkreis: in der
Umgebung davon schaltet die PQ-Formel um, da aber die zu
berechnenden Funktionen, z.B. ga0,ga2,ga4 allesamt sehr
gute "Eigenschaften" haben, gibt es dort nur das Problem der
zu späten Umschaltung, d.h. zu weit vom Kreis wird wegen
der Rechengenauigkeit umgeschaltet. Resultat: Sprung im
Fehlergraph, bei mir ein paar Bits)
Stetige Fortsetzung: Du schreibst das so einfach, in der
Mathematik ist dem Thema fast ein ganzer Bereich gewidmet,
es ist je nach Anspruch (Ck-Stetigkeit etc.) SAUSCHWER,
glaub mir (siehe z.B. die wirklich nur KLEINE!! Übersicht in
Hoschek/Lasser "Grundlagen der Geometrischen Datenverarbeitung").
Und selbst für C0-Stetigkeit (d.h. nur Stetigkeit) muss die
Funktion die Ränder interpolieren. Schneide z.B. ein Rechteck
in der Gegend um den Mittelpunkt aus, dann müssen alle 4 Ränder
Interpolierend sein. Zusätzlich noch die Tatsache, dass diese
Ränder algebraische (nicht rational) sind.. hier kriege ich
nur schon vom Andenken Kopfschmerzen, soll ich weitermachen?
Also, such dir unter allen Fällen einen "guten" raus.
Und noch kurz zu deinen Tests (sind ja nur Tests für z.B.
Abnahme etc.): Sender und Empfänger auf einem Punkt könnte
in der Praxis schwierig werden, ich kenne jedenfalls Beispiele,
in denen Kameras in Wänden/Objekten verschwinden sollten.
Sender und Empfänger müssten sich also übereinander befinden.
Selbst für die Linienposition könnte es Schwierigkeiten geben.
Entartete Dreiecke: Wenn du dir mal mein Ausgangsdreieck
anschauen würdest (die Alpha/Beta-Konstruktion), dann wird
dir sofort klar, dass damit alle gleichschenkligen Dreiecke
erfasst werden. Mit nur eine kleine Änderung (alpha1 und alpha2
statt nur alpha) können sogar alle Dreiecke erfasst werden.
Dass gilt durchgehend bis runter zu den Gleichungen mit der
PQ-Formel. Das habe ich hier nicht geschrieben, war aber von
Anfang an mein Ziel.
Ich habe extrem spitzwinklige Dreiecke in der Analyse noch
nicht betrachtet, glaube aber jetzt schon, dass diese
grössere Probleme z.B. im Rauschfall machen.
LostInMusic schrieb:> Ein entsprechendes Stück Code zu schreiben, das unter allen Umständen> ein zuverlässiges Ergebnis liefert (oder eine Meldung, wenn es keine> Lösung gibt bzw. eine Warnung, wenn sie numerisch unsicher ist)
Ja genau: Jetzt schreibst du wie ich vor der Entdeckung der
Singularität in der Dreiecksmitte ein Programm mit Fehlerausgabe
und schon dein erster Test verläuft negativ...äh, wir
entscheiden uns wohl für den nächsten Hersteller. Solche
Geräte müssen einen guten Eindruck machen. Keine Fehler
über den kompletten Bereich und innerhalb keine grossen
Sprünge in der Genauigkeit, was zu Verunsicherung beim
Anwender führt.
Mich interesiert obiges Problem eigentlich überhaupt nicht.
Die Aufgabenstellung könnte aber für ein Richtmikrophonarray
von Nutzen sein. Ich hatte mal einen Artikel darüber gelesen
und wollte mich an eine SW-Lösung machen (bzw. FPGA-Lösung).
Selbst hunderte Mikrophone sind glaube ich nicht das
geringste Problem bzgl. Rechengeschwindigkeit.
(Foren-Blabla in einem Parallelforum hier: .. da ist selbst
eine RTX2080Ti gut gefordert.. OMG)
@ Sigi
Ich habe mal angefangen, anhand des Scripts und des Maxima-Files von
LostInMusic, zu versuchen, das Verfahren zu verstehen.
Die Gleichungen GG1, GG2 und GG3 vom 21.10. sind wohl als die
Gleichungen von Kreisen um die Empfänger zu verstehen.
Gleichfalls lassen sie sich als Gleichungen der Flächen über den Seiten
von rechtwinkligen Dreiecken auffassen, aber das spielt wohl keine
Rolle. Oder doch?
Jedenfalls schneiden sich die Kreise erstmal nicht, da der passende
Proportionalitätsfaktor, nämlich die Sendeleistung, ja vorerst noch
fehlt.
Klar ist, das die Leistung später als hs1 bzw. hs2 berechnet wird - und
der Script zur richtigen Lösung kommt. Kein Zweifel.
Aber so weit bin ich noch nicht. :-)
Meine Frage im Moment ist (bzw. sind):
Hat hx (die nach x aufgelöste Differenz von GG1 und GG2) eine
geometrische Bedeutung? Und wenn ja, welche? Oder hat das zuerst eine
physikalische Bedeutung, die nicht auf die Entfernungen skaliert? Wenn
ja, welche?
Die gleiche Frage möchte ich noch in Bezug auf gamma und delta stellen.
Offen gesagt, ist mir im Moment noch völlig schleierhaft, nach welchem
Prinzip das funktioniert.
Theor schrieb:> Die Gleichungen GG1, GG2 und GG3 vom 21.10. sind wohl als die> Gleichungen von Kreisen um die Empfänger zu verstehen.
Ja, genau. Und ri aus der realen Welt (steht dir in der
Berechnung der Senderposition natürlich NICHT zur Verfügung)
wird mithilfe der "Sendeleistung" und einem "Sende-Modell"
(z.B. 1/r, was hier aber keine Preferenz/Festlegung sein soll,
1/ri^2 usw. gehen genauso, es sein denn du hast f(s,ri) mit
irgendeiner Funktion f) eine Empfangsleistung pi.
Mit dem einfachen Modell 1/r wird somit pi=1/si und
ri = s*si (für 1/ri^2 und entsprechenden Substitutionen
kommst du auf die selbe Beziehung!). In den Gleichungen
GG1..GG3 wird dann auf der rechten Seite ri^2 zu s^2*si^2,
d.h. du hast damit 3 quadratische Gleichungen mit
3 Unbekannten.
Du erhälst also ausgeschrieben:
G1: x^2 + 2*alpha*x + alpha^2 + y^2 = s^2*s1^2
G2: x^2 - 2*alpha*x + alpha^2 + y^2 = s^2*s2^2
G3: x^2 + y^2 - 2*beta*y - beta^2 = s^2*s3^2
Und jetzt geht's, wie du ja schon erkannt hast, einfach
weiter: zuerst wird nach x aufgelöst (wegen der
geschickt gewählten Lage des Dreiecks sehr einfach):
x = (r1^2+r2^2)/(4*alpha) = s^2*(s1^2+s2^2)/(4*alpha)
bzw.
hx = (s1^2+s2^2)/(4*alpha)
(hx versteht sich als eine Art Normierung von x, ähnlich
der Kraft/Masse=Beschleunigung und umgekehrt, eine
komkrete Interpretation bzgl. Sendeleistung kann ich
dir aber wegen fehlender Fachkenntnisse nicht liefern)
Nun y zu bestimmen würde dir nichts bringen, du must
dich zuerst um s kümmern. Und genau hier fängt die
Hölle an: Du kannst ja mal versuchen, x bzw. hx in
G1, G2 und G3 einzusetzen (x taucht in diesen Gleichungen
uU als Quadrat auf, d.h. s als s^4 !!!, d.h. verspricht
sehr viel Spass beim Lösen). Nach diesen Fehlversuchen
wirst du wohl an G:=G1-G2, G:=G1-G3 etc. denken und
entsprechend x einsetzen, irgendwann findest du eine
"günstige" Kombination. (günstig: s^4 tritt zwar
in quartischer Form auf, aber uU bekommst du eine
Gleichung der Form a*s^4+b*s^2+c*s^2=0, d.h. per
Substitution a*t^2+b*t+c=0, d.h. per PQ-Formel
lösbar). Und eben diese Suche kann Stunden beanspruchen,
oder du hast einfach nur Glück (bei mir hat es
auch deshalb so lange gedauert, weil ich parallel
alle Umformungen in meiner Simulation auf Korrektheit
getestet habe, da war es bei mir schon relativ
spät und ich wollte auf jeden Fall auf Fehler beim
Umstellen verzichten).
Jetzt kann es sein, dass du zwar gute quartische
Gleichung bekommst, aber die Auswertung per Substitution
und PQ-Formel liefert nicht überall eine Lösung, weil
der Term unter der Wurzel negativ wird. In diesem Fall
musst du die Lösung mit anderen Lösungen kombinieren,
nennen wir es einfach mal Flickenteppich).
Nach einiger Zeit (bei mir erst am dritten Tag/Abend)
fand ich schlussendlich meine Lösung, die aber immer
noch eine Singularität in der Dreiecksmitte hat.
Und zu gamma/delta: Aus der Einsetzung von x bzw. hx in
eine der Kombinatation erhielt ich einen mehrzeiligen
Ausdruck der Form a*s^4+b*s^2+c=0, wobei in a,b,c
ähnliche Teilterme vorkommen. Diesen habe ich einfach
einen Namen gegeben und weitergerechnet. Eine Interpretation
gibt es nicht, mir ist jedenfalls keine eingefallen.
(welche Kombination aus G1..G3 es ist, verrate ich nicht.
Nicht aus Boshaftigkeit, sondern einfach aus der Hoffnung
heraus, ein weiterer Beitrag liefert eine weitere/bessere
Lösung. Diese muss aber, aus einfachen Überlegungen heraus,
per Umformungen in meine Lösung überführt werden können.)
Und noch eine kleine Bemerkung zur Sendeleistung s:
s wird ja konkret berechnet und sollte in einem
Messgerät angezeigt werden. Ist s zu gross, so kann
es zu Überläufen in der internen Berechnung führen,
bzw. bei sehr kleinem s zu zu wenigen Bits bzgl.
Rechengenauigkeit. Der Benutzer kriegt so jedenfalls
eine Zuverlässigkeitsgrösse mit an die Hand.
Das gilt auch für die Verwendung von FLOAT/DOUBLE,
denn s wird ja in Form von pi=1/si mit nur begrenzter
Zahl von Bits bestimmt.
Also ich würde es folgendermaßen machen.
Los gehts mit der Aufstellung des Gleichungssystems, das aus drei
"geometrischen" (einmal Pythagoras für jeden Dreieckpunkt) und zwei
"physikalischen" Gleichungen besteht:
Die Parameter alpha bzw. beta ergeben sich aus dem Empfangsleistungen
PA, PB und PC zu
Darin bezeichnet n der Exponent im zugrundeliegenden Abstandsgesetz (P
Empfangsleistung, r Abstand):
Für e.m. Wellen, die sich im Raum ungehindert ausbreiten können, ist n =
2.
Die Eckpunkte des Dreiecks ABC sind A(+d/2, 0) und B(-d/2, 0) und C(xc,
yc). Ich man sieht, traue ich mich, es gleich für beliebige (also nicht
nur gleichseitige) Dreiecke zu versuchen. a, b, c bezeichnen die
Entfernungen der Empfänger vom Sender; x und y die Koordinaten des
Senders. Bekannt sind alpha, beta, xc und yc; unbekannt sind a, b, c, x,
y und interessiert sind wir an x und y.
Zunächst betrachte ich nur die ersten beiden Gleichungen (im folgenden
referenziert als I und II), weil die ähnlich zueinander sind (natürlich
nicht zufällig, sondern ich habe gezielt mit meiner Wahl des
Koordinatensystems dafür gesorgt). Als erstes substituiere ich a und b
über die beiden physikalischen Gleichungen...
...um dann zwei Differenzen zu bilden, nämlich einmal II - I, denn dabei
subtrahiert sich eine Menge weg und es bleibt ein einfacher Term übrig,
und einmal beta II - alpha I, denn diese Differenz ist Null ("c^2 -
c^2").
Die Differenzbildung II - I führt auf
oder äquivalent
Schön: Diese kleine Gleichung enthält c und x, aber nicht a, b und y.
Nun die Differenzbildung beta II - alpha I; sie liefert
Hier ist man genötigt, durch alpha - beta zu dividieren. Unter der
Voraussetzung, dass alpha und beta nicht gleich sind, gilt also:
oder
Wie man sieht, enthält diese Gleichung keinen der Abstände a, b, und c
mehr. Interessanterweise steht da x^2 + y^2 drin; das ist das Quadrat
des Abstands von S vom Ursprung. Das wird gleich noch von Bedeutung
sein.
Jetzt kommt die dritte Gleichung ins Spiel. Und da fällt doch gleich was
auf: Wenn wir deren rechte Seite ausmultiplizieren, dann entsteht da
doch just der Term "x^2 + y^2", von dem eben die Rede war? Also nehmen
wir das in Angriff; das Ausmultiplzieren führt auf
oder wenn ich alles auf die linke Seite bringe und etwas umsortiere:
Jetzt ist klar, was zu tun ist, wir substituieren x^2 + y^2 und c^2 über
die Gleichungen aus dem beiden Differenzbidungen oben:
bzw. nach Zusammenfassung der x-Koeffizienten:
Die Inhomogenität kürze ich mit G ab:
Jetzt ist das Ziel schon in Sichtweite: Diese Gleichung ist linear in x
und y; also können wir sie problemlos nach y auflösen und das Ergebnis
anschließend in die Gleichung x^2 - tau d x + 1/4 F + y^2 = 0 einsetzen.
Dadurch bekommen wir eine Gleichung, die nur noch x als Unbekannte
enthält (wir können sogar schon voraussagen, dass sie quadratisch in x
sein wird).
Deshalb ist es an dieser Stelle sinnvoll, durch den y-Vorfaktor 2 yc zu
divideren, damit das y koeffizientenfrei wird:
Weil ich Abkürzungen mag, kommen noch zwei: Den x-Koeffizienten kürze
ich durch lambda ab und den Bruch G/(2 yc) durch h:
Wir kommen zum letzten wesentlichen Schritt. Die letzte Gleichung
aufgelöst nach y ist natürlich
Das setzen wir wir schon angekündigt in die Gleichung x^2 - tau d x +
1/4 F + y^2 = 0 ein, multiplizieren die Klammer aus und ordnen nach
x-Potenzen. Das ist in zwei Zeilen erledigt, mit dem Ergebnis
Für die Lösung dieser Gleichung ist die pq-Formel zuständig.
Das "Gesamtrezept" lautet damit:
- Berechne aus PA, PB und PC die Parameter alpha und beta (s.o.).
- Berechne aus alpha und beta die Konstanten sigma und tau (s. o.)
- Berechne F := d^2
- Berechne G := xc^2 + yc^2 - 1/4 F
- Berechne h := G/(2 yc)
- Berechne lambda := ((1/2 tau - sigma)d - xc)/yc
- Berechne z := lambda^2 + 1
- Berechne p := (1/2 tau d - lambda h)/z
- Berechne q := (1/4 F + h^2)/z
- Berechne x := p - sgn(p) sqrt(p^2 - q)
- Berechne y := lambda x + h
"sgn" bezeichnet die Signumfunktion Der Zusatz "sgn(p)" in der pq-Formel
sorgt dafür, dass von den zwei möglichen Lösungen immer die richtige
ausgewählt wird. Warum das so ist, hat bestimmt einen tiefern
mathematischen Grund, aber ich muss zugeben, nicht weiter darüber
nachgedacht zu haben.
Daraus kann man jetzt ein Script oder Stück Programmcode machen und sich
davon überzeugen, dass die Senderposition korrekt berechnet wird.
Moment - war da nicht noch was!? Wir haben m Zug der Herleitung an einer
Stelle durch alpha - beta dividiert. Wir müssen also noch untersuchen,
was im Fall alpha = beta passiert.
In diesem Fall vereinfacht sich die "beta II - alpha I"-Gleichung (die
undividierte!) zu "-2 alpha d x = 0" und daraus folgt x = 0. Für alpha =
beta befindet sich der Sender also auf der y-Achse = die
AB-Mittelsenkrechte des Dreiecks (wie zu erwarten war). Um die
y-Koordinate des Senders für diesen Sonderfall zu bestimmen, müssen wir
uns anschauen, was aus dem Gleichungssystem für x = 0 wird:
Die ersten beiden Gleichungen sind also identisch. Man kann c^2 aus der
dritten Gleichung einfach in die erste Gleichung einsetzen und bekommt
eine quadratische Gleichung für y:
Nach Ausmultiplikation und Umsortieren:
Wir müssen jetzt durch alpha - 1 dividieren, d. h. der Fall alpha = beta
= 1 ist ein Sonderfall im Sonderfall.
Nach der Division durch alpha - 1 enthält man:
Die Lösung ergibt sich aus der pq-Formel.
Übrig bleibt die Behandlung des Unter-Sonderfalls alpha = beta = 1. Die
Gleichung (alpha - 1) y^2 + 2 yc y + alpha 1/4 F - xc^2 - yc^2 = 0 geht
für alpha = 1 über in
oder mit G formuliert:
woraus y folgt zu
oder nach Definition von h:
Damit ist zuguterletzt noch die geometrische Bedeutung der Größe h
aufgeklärt: h ist die y-Koordinate des Mittelpunkts des
Dreieck-Umkreises. Wenn sich der Sender dort befindet, sind alle
Empfangsleistungen identisch und der Fall alpha = beta = 1 tritt ein.
Übrigens hat auch "G = 0" eine geometrische Bedeutung: G = 0 entspricht
xc^2 + yc^2 = d^2/4 und das ist der Satz des Thales. G = 0 ist also das
Kriterium dafür, dass das Dreieck rechtwinklig ist. Dann befindet sich
Punkt C auf dem Thaleskreis, dessen Mittelpunkt im Ursprung liegt.
Das wäre meine Lösung (in etwas ausführlicherer Darstellung). Ich denke,
sie hat ein sehr gutes Aufwand-zu-Nutzen-Verhältnis. Außerdem kommt sie
ohne x^4-Terme aus. Etwaige Überlegungen zu numerischen Eigenschaften
werde ich dazu aber nicht anstellen.
@ LostInMusic
Nett, dass Du das mit uns teilst. Und, wenn ich das sagen darf, eine
sehr aussagekräftige Beschreibung.
Ich habs mir durchgelesen und konnte folgen. Allerdings will ich mir das
noch genauer anschauen.
Leider bin ich mit meiner Variante noch lange nicht so weit.
Neben der Zeit liegt es auch daran, dass ich zum einen mathematisch
etwas eingerostet bin und dann mit maxima und wxmaxima noch besser
zurecht kommen muss. (Etwas zickig :-) und ich erinnere, dass ich das
schon früher fand und einen Fehler in wxmaxima habe ich nebenbei auch
gefunden).
Ausserdem habe ich mich relativ lange mit Sigis Darstellungen
beschäftigt, weil es mir vorkam als hätte er einen radikal anderen
Ansatz; aber das lasse ich jetzt mal sein.
Grundsätzlich gehe ich gleich bei der Aufstellung der ersten Gleichung
von dem Verhältnis des Quadrates der Leistungen und dem, der paarweisen
Entfernungen aus, wobei diese Strecken eben dem rechten Winkel der
Dreiecke gegenüberliegen. Ich hatte da oben schonmal kurz
zusammengefasst.
Ich denke, dass sich mein Ansatz und Deiner sehr ähneln und durch
Umstellung oder eine etwas andere Reihenfolge der Operationen leicht
ineinander überführt werden könnten.
Allerdings gibts dann nach zwei drei Schritten doch Unterschiede. Ich
neige eher zum expliziten Gleichsetzen als zu der Subtraktion/Addition
in Gleichungssystemen; so eine Neigung muss aber nicht immer zweckmäßig
sein. Mitunter kann man so doch einige hässliche Wurzeln und Potenzen
entfernen, wie Du es ja auch machst.
Aber ich schaue mir solche Aufgaben immer auch gerne geometrisch an.
Als erstes hatte ich die Idee, die Ortskurve der Senderpunkte aus dem
Verhältnis der jeweiligen Dreiecke zu konstruieren, aber das erweist
sich als schwieriger als ich gedacht habe. Zum Teil auch, weil die
Konstruktion nach einigen Schritten recht unübersichtlich wird, wenn
Strecken-Abbildungen unter veränderlichen Winkeln herstellen will. Das
will ich aber noch fertig kriegen.
Dann hatte ich noch eine spontane Eingebung, die geometrisch sehr gut
funktioniert, aber da fehlt die Formulierung als Gleichung noch.
Naja. Ich bin da im Moment eher unorganisiert und bastele an einer Sache
solange herum bis ich nicht weiter weiss. So habe ich jetzt vier
Baustellen in dieser Sache.
@Theor:
Freut mich, zur Erhellung beigetragen zu haben.
>gleich bei der Aufstellung der ersten Gleichung von dem Verhältnis des>Quadrates der Leistungen und dem, der paarweisen Entfernungen aus, wobei>diese Strecken eben dem rechten Winkel der Dreiecke gegenüberliegen.
Huch, hab ich da was verpasst? Und welche rechten Winkel? Kannst Du
diese erste Gleichung mal aufschreiben?
>Ich neige eher zum expliziten Gleichsetzen als zu der Subtraktion/Addition>in Gleichungssystemenlach... Ja, Preise an der Supermarktkasse addieren oder subtrahieren
(Leergutbon): Das ist ein Kinderspiel - aber sowas auch mit ganzen
Gleichungen zu machen, hat schon ein bisschen was Unheimliches, nicht
wahr? Tatsächlich muss man davor aber keine Scheu haben, denn es geht
dabei stets mit rechten Dingen zu, wie man sich leicht klarmachen kann.
>Aber ich schaue mir solche Aufgaben immer auch gerne geometrisch an.
Die entsprechenden Gleichungen im Ansatz müssen natürlich geometrisch
interpretierbar sein, aber die neuen Gleichungen, die man im Lauf der
Rechnung daraus gewinnt, haben im allgemeinen keine geometrische
Interpretation mehr - das ist ganz normal. Man kann aber erwarten, dass
ab und zu eine Größe herausfällt, die doch wieder eine hat. In meiner
Lösung sind das die Größen h (y-Koordinate des Umkreises) und übrigens
auch das absolute Glied 1/4 F + h^2 in der letzten Gleichung (lambda^2 +
1) x^2 + ... = 0. Wie sich fix zeigen lässt, ist 1/4 F + h^2 das Quadrat
des Radius des Umkreises. Auch G kann man noch eine Bedeutung
zuschreiben: arctan(d yc/G) ist der Dreieck-Innenwinkel im Punkt C
(falls G ungleich Null ist; für G = 0 ist es ein rechter Winkel).
Andererseits wird man zwischendrin aber auch auf Größen stoßen, bei der
man sich von der Idee der geometrischen Bedeutung verabschieden muss;
ich wüsste z. B. beim besten Willen nicht, wie man hier lambda
interpretieren könnte. Das ist ganz normal und man muss es wohl einfach
so hinnehmen.
Wenn Du noch etwas Interessantes herausfindest, lass es mich gerne
wissen.
PS: In meiner Herleitung setzt man am besten gleich F := d^2/4 (statt F
= d^2, wie ich es gemacht habe). Dann wird sie sogar noch etwas
einfacher, weil in allen Gleichungen mit F der Faktor 1/4 davor
entfällt. Habe ich erst nach dem Absenden gemerkt.
@Sigi:
>Ist s zu gross, so kann es zu Überläufen in der internen Berechnung führen,>bzw. bei sehr kleinem s zu zu wenigen Bits bzgl. Rechengenauigkeit.
Dann ist es sicher gut, dass diese Sendeleistung s in meiner Lösung
überhaupt nicht vorkommt.
LostInMusic schrieb:>>Ist s zu gross, so kann es zu Überläufen in der internen Berechnung führen,>>bzw. bei sehr kleinem s zu zu wenigen Bits bzgl. Rechengenauigkeit.>> Dann ist es sicher gut, dass diese Sendeleistung s in meiner Lösung> überhaupt nicht vorkommt.
OMG, natürlich kommt die Sendeleistung in deinem Ansatz
vor, aber nur implizit. Du misst ja PA,PB und PC, und
genau da steckt Die Sendeleistung drin. Ist diese zu
klein, dann hat das numerische Implikationen.
Und nur so als Überlegung: Wenn du
PA = S / (d + phi)^2
setzt (S: Sendeleistung, d: Entfernung Sender-Empfänger,
phi: Offset), dann wird dir z.B. deine Gleichung
c^2 / a^2 = alpha = (PA/PB)^(2/n)
Probleme bereiten, probier's einfach mal aus (dir ist ja
hoffentlich bekannt, dass du auf eine Grösse wie d nicht
zugreifen darfst).
Ein Offset Phi ist hier nicht unrealistisch, denn du kannst
ja nicht PA = S/d^2 setzen, denn dann hättest du ja in der
direkten Umgebung um den Sender eine höhere Empfangsleistung
als der Sender ausstrahlt. Wie die eine realistische Kurve
aussieht, weiss ich nicht.
Zu deinem Ansatz: Da er auf dem Verhältnis der Empfangsleistungen
basiert, gehen damit natürlich auch alle Nachteile von
Verhältnisbetrachtungen einher, das sollte dir klar sein.
Du hast aber noch einen Fehler, siehe angehängte Graphiken.
Die erste zeigt deine berechnete x-Koordinate minus der
tatsächliche x-Koordinate (vom Sender), die zweite Graphik
das gleiche, nur eben mit der Korrektur deines Ansatzes.
Innerhalb des Dreiecks-Umkreises sind deine Werte (bis auf
die durch die Verhältnisse bedingten Sigularitäten auf der
Y-Achse, die du ja durch eine einfache IF-Abfrage abfängst)
korrekt, ausserhalb aber falsch. Werte einfach mal deine
Formeln für Senderpositionen ausserhalb des Umkreises aus.
P.S.: Du hast dich wieder einmal Zeit durch negative Bemerkungen
gegen mich verchwendet, was total überflüssig ist. Diese Zeit
nutze ich produktiv, um z.B. auszurechnen, wieviele Bits welche
Zuverlässigkeit etc. impliziert. Mach das mal bei deinem Ansatz.
Un mit weniger Wut auf deine Mitmenschen passieren dir dann
auch nicht Schludrigkeitsfehler wie gerade beschrieben oder
die total falsche Implementierung der PQ-Formel für quadratische
Gleichungen.
>Und nur so als Überlegung: Wenn du>>PA = S / (d + phi)^2>>setzt>>Ein Offset Phi ist hier nicht unrealistisch,
Echt? Komisch nur, dass so ein Offset in keinem
Physik-/Elektrotechnikbuch erwähnt wird. Da steht immer nur "1/r^2".
Hast Du diesen Offset etwa einfach erfunden?
>denn du kannst ja nicht PA = S/d^2 setzen, denn dann hättest du ja in der>direkten Umgebung um den Sender eine höhere Empfangsleistung>als der Sender ausstrahlt.
Das ist zwar messerscharf gedacht, trotzdem funktioniert diese
Argumentation nicht. In der direkten Umgebung eines Senders (wie weit
genau die sich erstreckt, hängt von der Wellenlänge und der
Antennengröße ab) herrscht das Nahfeld vor, in dem andere Regeln gelten
als im Fernfeld. Deshalb kann man aus "1/r^2" keinen Widerspruch zum
Energiesatz konstruieren; man kann daraus nur schlussfolgern, dass 1/r^2
falsch werden muss, wenn man dem Sender zu nahe kommt, und das ist in
der Tat richtig. Erst weiter draußen in der Fernzone fliegt die e. m.
Welle frei und dort gilt dann auch erst das 1/r^2- Abstandsgesetz.
Hier findest Du ein paar weitere Infos dazu (die Theorie dahinter ist
anspruchsvoll):
https://de.wikipedia.org/wiki/Nahfeld_und_Fernfeld_(Antennen)
Die Leistung, die reale Antennen der elektromagnetischen Welle
entziehen, ist übrigens immer winzig im Vergleich zur Leistung, die der
Sender dafür rausschicken muss. Als Beispiel: Ein typischer
UKW-Rundfunksender strahlt je nach Größe des Versorgungsgebiets etwa 1
kW bis 100 kW ab. Dagegen liegt die Leistung, die ein UKW-Empfänger mit
seiner Antenne dem e.m. Feld entnimmt, in der Größenordnung 10 fW (1 fW
= 1 Femtowatt = ein billionstel Watt = 10^-15 Watt). Sende- und
Empfangsleistung unterscheiden sich also in diesem Beispiel um den
Faktor 10^-17 bis 10^-19.
>Wie die eine realistische Kurve aussieht, weiss ich nicht.
1/r^2.
>Da er auf dem Verhältnis der Empfangsleistungen basiert, gehen damit natürlich
auch alle Nachteile von Verhältnisbetrachtungen einher
Ist mir überhaupt nicht klar. Ich habe gelernt, dass die Bildung von
Summen, Produkten und Quotienten numerisch unkritisch ist (im Sinne von
Stellenauslöschung), aber vielleicht meinst Du auch etwas anderes. Wenn
Du so nett bist, mir diese Nachteile bei Verhältnisbetrachtungen näher
zu erläutern, kann ich vielleicht konkret darauf antworten.
>die zweite Graphik das gleiche, nur eben mit der Korrektur deines Ansatzes.
Non capisco. Was genau zeigt die zweite Grafik mit welcher Korrektur?
>...ausserhalb aber falsch.
Innerhalb ist das Ergebnis richtig und nur das war in der
Aufgabenstellung verlangt (genaugenommen sogar nur "innerhalb des
Dreiecks" - lies es nochmal beim TO nach).
Wenn Du die Senderposition aber unbedingt außerhalb des Umkreises haben
willst, dann geht das auch mit meiner Lösung. Dazu musst Du in meinem
Gesamtrezept die Anweisung "p - sgn(p) sqrt(p^2 - q)" suchen und darin
das "-" vor dem "sgn" in ein "+" ändern.
>passieren dir dann auch nicht Schludrigkeitsfehler wie gerade beschrieben>oder die total falsche Implementierung der PQ-Formel für quadratische>Gleichungen.
Keine Ahnung, was Du damit meinst. Auch das bitte konkretisieren.
Ich weiss nicht, warum du hier die ganzen Std.Theoriegrundlagen
runterschreibst, wenn du fast gleichzeitig
LostInMusic schrieb:> lies es nochmal beim TO nach
schreibst? Das ganze interessiert nicht, solange der TO
nichts genaueres bzgl Sender schreibt. Mein Ansatz liess von
Anfang an die Wahl des Sende-Modells (oder wie auch immer
du es nennen willst) offen. Und für eine ziemlich grosse
Anzahl von Modellen liefert mein Ansatz (mit entsprechenden
Umstellungen) auch eine Antwort, und darauf kam es von
Anfang an an (für jedes Modell heisst es dann, die Gleichungen
G1 bis G3 anzupassen und zu lösen).
LostInMusic schrieb:>>Da er auf dem Verhältnis der Empfangsleistungen basiert, gehen damit natürlich>> auch alle Nachteile von Verhältnisbetrachtungen einher>> Ist mir überhaupt nicht klar. Ich habe gelernt, dass die Bildung von> Summen, Produkten und Quotienten numerisch unkritisch ist (im Sinne von> Stellenauslöschung),
Das ganze basiert auf Standarderkenntnissen der Numerik, speziell
der ersten zwei Wochen. Rationale Betrachtungen (d.h. das Verhältnis
zweier Grössen) sind in der Analysis nichts aussergewöhnliches, aber
bei praktischen Lösungen iA nicht brauchbar. Du kannst deine finalen
Schritte aber entsprechend anpassen.
LostInMusic schrieb:>>die zweite Graphik das gleiche, nur eben mit der Korrektur deines Ansatzes.>> Non capisco. Was genau zeigt die zweite Grafik mit welcher Korrektur?
Die Korrektur deiner Herleitung musst du schon selber finden,
ist ja schliesslich deine Herleitung. Meine Analyse bzw. der
darausfolgende 2D-Graph zeigt ja ganz deutlich, dass ich
innerhalb des Dreiecks deine PQ-Formel korrekt ausgewertet
habe, d.h. die berechneten Koordinaten des Senders stimmen
mit den tatsächlichen Senderkoordinaten überein (bis auf
numerische Abweichungen). Ich gebe dir nur einen Tipp:
Es ist nur eine weitere Abfrage notwendig, schau dir die
Graphik genau an, dann hast du auch die Antwort auf:
LostInMusic schrieb:> Wenn Du die Senderposition aber unbedingt außerhalb des Umkreises haben> willst, dann geht das auch mit meiner Lösung. Dazu musst Du in meinem> Gesamtrezept die Anweisung "p - sgn(p) sqrt(p^2 - q)" suchen und darin> das "-" vor dem "sgn" in ein "+" ändern.
was nur innerhalb des Umkreises gilt, NICHT AUSSERHALB.
Zu Ausserhalb. Natürlich steht das nicht in der Beschreibung,
aber fändest du ein Messgerät nicht zuverlässiger, dass auch
ein "wenig" über der Definitionsbereich schauen kann. Genau
das habe ich in meinem Ansatz berücksichtigt. Wenn dieser
Punkt wegfällt, dann werden auch meine Formeln bzw. mein
Skript einfacher. Möchte ich aber nicht machen.
LostInMusic schrieb:>>passieren dir dann auch nicht Schludrigkeitsfehler wie gerade beschrieben>>oder die total falsche Implementierung der PQ-Formel für quadratische>>Gleichungen.>> Keine Ahnung, was Du damit meinst. Auch das bitte konkretisieren.
Dein Sourcecode stimmt nicht mit der PQ-Formel überein, aber in der
Art deiner Anwendung liefert es trotzdem die korrekten Werte. Denn
du schreibst beim Aufruf:
LostInMusic schrieb:> x = QESolution((0.5*t*d - l*h)/z, (0.25*F + h*h)/z);
statt
p = 2* (0.5*t*d - l*h)/z
q = (0.25*F + h*h)/z
(z=(lambda^2+1), t=tau etc..) wie es aus deiner Herleitung folgt.
(es fehlt also die "2")
LostInMusic schrieb:> Die darin an zwei Stellen benutzte Funktion QESolution(p, q) zum Lösen> quadratischer Gleichungen kann z. B. so implementiert werden:
Und genau hier würde jeder die PQ-Formel vermuten, es ist aber
eine Modifikation, eben der Faktor "2".
>Ich weiss nicht, warum du hier die ganzen Std.Theoriegrundlagen runterschreibst,
Es war ein Versuch, Dir etwas zu erklären.
>Sende-Modells (oder wie auch immer du es nennen willst)
Ich benenne es einfach mit dem entsprechenden Fachbegriff:
https://de.wikipedia.org/wiki/Abstandsgesetz
(Warum tust Du das nicht?)
Deine Eigenkreation "Sende-Modell" ist insofern irreführend, weil sie
Bezug auf den Sender nimmt, obwohl der Sachverhalt den Sender gar nicht
betrifft. Er betrifft das, was die Verbindung vom Sender zum Empfänger
herstellt, z. B. eine sich frei ausbreitende elektromagnetische
Kugelwelle. Deren Intensität (= ihre Leistungs-Flächendichte) nimmt
umgekehrt proportional mit dem Quadrat des Abstands zur Quelle ab - in
mathematischer Schreibweise: P(r) ~ 1/r^2.
>Und für eine ziemlich grosse Anzahl von Modellen liefert mein Ansatz (mit>entsprechenden Umstellungen) auch eine Antwort,
Deine Lösung funktioniert mit allen Abstandsgesetzen der Form P(r) ~
1/r^n mit beliebigem Exponent n (ungleich Null). Für meine Lösung gilt
übrigens genau dasselbe.
>Das ganze basiert auf Standarderkenntnissen der Numerik, speziell>der ersten zwei Wochen. Rationale Betrachtungen (d.h. das Verhältnis>zweier Grössen) sind in der Analysis nichts aussergewöhnliches, aber>bei praktischen Lösungen iA nicht brauchbar. Du kannst deine finalen>Schritte aber entsprechend anpassen.
Also wenn das so ist, möchte ich Dich aber mal darauf hinweisen, dass
sich beispielsweise Dein y1 als Quotient ergibt:
y1 = (hs1^2*(s1^2-s3^2-2*alpha*hx)-alpha^2+beta^2)/(2*beta)
Jedenfalls ist für mich ein Quotient ein Verhältnis zweier Größen. Mein
y ergibt sich dagegen als harmlose lineare Funktion (y = lambda x + h).
Also ich finde, bei dieser rationalen Betrachtung hätten dann eher
Deine finalen Schritte eine Anpassung nötig, oder was meinst Du?
>Die Korrektur deiner Herleitung musst du schon selber finden,
Gut, offenbar bist Du der Meinung, dass meine Herleitung eine Korrektur
nötig hätte. Inwiefern? Wenn Du es schaffst, daraus kein Rätsel zu
machen, sondern es mir einfach sagst, wäre das sehr nett.
>Zu Ausserhalb. Natürlich steht das nicht in der Beschreibung,>aber fändest du ein Messgerät nicht zuverlässiger, dass auch>ein "wenig" über der Definitionsbereich schauen kann. Genau>das habe ich in meinem Ansatz berücksichtigt.
Die Einschränkung auf "innerhalb" in der Beschreibung hat einen ganz
bestimmten Grund: Man kann anhand der Empfangsstärken gar nicht
entscheiden, ob ein Sender sich innerhalb oder außerhalb des Umkreises
des Dreiecks befindet. Erst wenn man diese Information hat, ist seine
Position eindeutig berechenbar; sonst ist sie - von der Umkreislinie
abgesehen - stets zweideutig. Das ist eine spezielle Eigenheit dieser
Aufgabe. Um die Problemstellung eindeutig zu machen, wird im
Aufgabentext der Aufenthaltsort des Senders von vornherein auf
"innerhalb des Dreiecks" eingeschränkt. Dann weiß man, welche der beiden
Lösungen der pq-Formel die richtige ist.
>Und genau hier würde jeder die PQ-Formel vermuten, es ist aber>eine Modifikation, eben der Faktor "2".
Es ist sogar der Faktor -2. Ich habe ja die Gleichung
mit der Formel
gelöst. Das ist aber keine "falsche PQ-Formel", sondern eine Variante
der PQ-Formel, die genauso richtig ist. Was Du als Experte ja auch sehr
schnell selbst herausgefunden hast.