Quelques bugs et corrections dans le code source PPPH

PPPH est un logiciel de positionnement et d'analyse de précision GNSS multi-systèmes basé sur MATLAB écrit par Berkay Bahadur. Il prend non seulement en charge l'interface graphique (le document officiel affirme que matlab2016a et les versions supérieures sont nécessaires, je n'ai pas réussi en 2016a et j'utilise directement matlab2018a) peut également être exécuté en utilisant la ligne de commande, ce qui est très pratique. , Certains bogues similaires ont été découverts lors du récent processus de débogage, ce qui a entraîné une précision insatisfaisante des données d'échantillonnage calculées. Les bogues sont listés ci-dessous, j'espère que vous pourrez les critiquer et les corriger.
Dans un fichier data_hand.m:
le nom du fichier de piste est erroné un jour après la ligne 10
Code d'origine:

if ~isempty(files.orbitb) && ~isempty(files.orbitb)

Après modification:

 if ~isempty(files.orbitb) && ~isempty(files.orbita)

2. Dans le fichier cs_detect.m:
ligne 65, la longueur d'onde de la deuxième fréquence est erronée lors de la détection de glissement de cycle combiné GF.
Code original: A = [1 -1; wavl (k, 1) -wavl (k, 1)];
après modification: A = [1 -1; wavl (k, 1) -wavl (k,2)]; Dans le
fichier à trois valeurs aberrantes.m:
lorsque le glissement de cycle est ajusté par le polynôme du second ordre à la ligne 30, le nombre de points d'ajustement est inférieur à 3 et le
code suivant est ajouté:

  if(ran<3)
      data.obs.st(st:fn,k) = 0;
      break;
  end

Ligne 36
: Erreur de redondance lors du calcul de l'erreur de poids unitaire Code d'origine:

 rmse = sqrt(sum(V.^2)/ran);

Après modification:

rmse = sqrt(sum(V.^2)/(ran-3));

4. Dans le fichier nmodel.m:
Ligne 151: Erreur d'index de longueur d'onde
Code d'origine:

model(t,20) = ((wind_up(r_xyz,s_xyz,sun_xyz,prev))/2/pi)*wavl(k,1);

Après modification:

model(t,20) = ((wind_up(r_xyz,s_xyz,sun_xyz,prev))/2/pi)*wavl(k,2);

5. Sur
la 9ème ligne du fichier sat_apc.m, lors du calcul de la correction du centre de phase de l'antenne satellite, la formule cosinus j dans la direction y de la matrice de conversion est incorrecte.
Code d'origine:

j   = cross(k,e);

Après modification:

j = cross(k,e)./norm(cross(k,e));

Le logiciel modifié utilise le mode statique GPS unique pour traiter les données d'échantillon (ISTA00TUR_R_20171910000_01D_30S_MO.17o). Les résultats sont comparés aux coordonnées de la solution du ciel IGS.
Statistiques d'erreur de direction NEU
Insérez la description de l'image ici
Insérez la description de l'image ici
après convergence : la coordonnée d'époque finale après convergence est différente de la coordonnée IGS connue, les trois écarts de direction XYZ sont:
X: 0,8 mm Y: -0,2 mm Z: -3,6 mm

Je suppose que tu aimes

Origine blog.csdn.net/SmartTiger_CSL/article/details/102924560
conseillé
Classement