PPPHソースコードのいくつかのバグと修正

PPPHは、BerkayBahadurによって作成されたMATLABに基づくマルチシステムGNSS精密位置決めおよび分析ソフトウェアです。グラフィカルインターフェイスをサポートするだけでなく(公式文書では、matlab2016a以上が必要であるとされていますが、2016aでは成功しませんでした。matlab2018aを直接使用しています)、コマンドラインを使用して実行することもできます。これは非常に便利です。、最近のデバッグプロセス中にいくつかの同様のバグが発見され、計算されたサンプルデータの精度が不十分になりました。バグは以下のとおりです。批判して修正していただければ幸いです。
data_hand.mファイルの場合:
10行目の翌日にトラックファイル名が間違ってい
ます。元のコード:

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

変更後:

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

2. cs_detect.mファイル:
行65で、GF結合サイクルスリップ検出中に2番目の周波数の波長が間違っている
元のコード:A = [1 -1; wavl(k、1)-wavl(k、1)];
変更後: A = [1 -1; wavl(k、1)-wavl(k、2)];
3つのoutlier.mファイル内:
サイクルスリップが30行目の2次多項式で近似される場合、近似点の数は3未満であり、
次のコードが追加されます。

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

36行目
単位重量エラーを計算するとき冗長性エラー元のコード:

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

変更後:

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

4. nmodel.mファイル内:
行151:波長インデックスエラー
元のコード:

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

変更後:

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

5. sat_apc.mファイルの
9行目で、衛星アンテナの位相中心補正を計算するときに、変換行列のy方向のコサインj式が正しくありません。
元のコード:

j   = cross(k,e);

変更後:

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

変更されたソフトウェアは、単一のGPS静的モードを使用してサンプルデータ(ISTA00TUR_R_20171910000_01D_30S_MO.17o)を処理します。結果は、IGSスカイソリューション座標と比較されます。収束後の
NEU方向エラー統計:
ここに写真の説明を挿入
ここに写真の説明を挿入
収束後の最終エポック座標は既知のIGS座標とは異なり、3つのXYZ方向の偏差は次のとおりです
。X:0.8mm Y:-0.2mm Z:-3.6mm

おすすめ

転載: blog.csdn.net/SmartTiger_CSL/article/details/102924560