Bonjour,
Mon but est d'exprimer les points visibles là:
http://usuc.dyndns.org/tv/gsm/releve...3&cellid=0x486
sous une forme mathématique recalculable qui minimise l'erreur.
J'ai pour le moment tenté par une approche brutale (itérations sur points potentiels, avec conservation du paramétre qui donne l'erreur minimale).
Hélas, les résultat ne semblent pas cohérents... Je cherche donc une approche plus mathématique qui l'itération béte et méchante.
Donc en X, je pose la longitude, en Y je pose la latitude, en Z je pose le signal reçu.
Aprés, pour chaque centre d'ellipse, pour chaque apex, pour chaque azimuth, pour chaque taille... Je vérifie que l'apex est au dessus de la base (pour vérifier la cohérence) et je calcule l'erreur.
Pour le calcul de l'erreur d'un point P1 de la base de données (lon,lat,0),
-Je calcule l'equation paramétrique de droite (centre de l'ellipse de base _ P1) -> on la nomme D1.
-Je calcule les points d'intersection entre cette droite et l'ellipse en remplacant X et Y par leur expression parametrique dans D1 dans X^2/a^2 + Y^2/b^2 = 1. Je résouds, j'obtiens le paramétre, que je remets dans l'équation de D1 pour trouver PI, qui est la solution la plus proche de P1.
NOTE: mon ellipse est centree en (0,0,0) et ses axes sont les axes lon/lat, donc j'effectue un changement de repére et une rotation d'angle -azimuth pour P1, et l'inverse (rotation d'angle azimuth puis translation) pour PI.
-Je calcule l'équation de droite paramétrique passant par PI et par l'apex. C'est la génératrice qui me donnera la hauteur, aprés avoir determiné le paramétre nécessaire à l'obtention de la hauteur en lon/lat.
-Mon erreur est alors (hCalc-hContenuDansLaBDD)^2
Je réitére pour un nombre variant de 6 à 50 points
Je vois bien que le probléme vient soit d'une erreur grossiére que j'ai fait, soit d'un probléme que je n'ai pas identifié, soit de la méthode qui n'est pas adéquate.
En effet la méthode itérative tient avec des ficelles... Voila pourquoi je cherche une méthode plus efficace ou qui permette de gagner du temps de calcul.
Le lien donné en exemple est assez bien défini, mais il serait utile d'avoir une précision similaire avec une définition moindre du signal reçu.
Je suis parti sur un cône oblique à base elliptique, mais il semblerait qu'une famille de coniques à excentricité (c'est bien ça?) variable fonctionnerait, ou encore un carreau de bezier (mais comment déterminer le pic si on manque de données?). Le primordial est de trouver une interpolation fiable, qui reste simulable sur pocketpc (donc avec une puissance de calcul limitée).
Voyant que je galére, je demande ici pour que l'expérience des autres me fasse gagner du temps.
Merci
Partager