Presentation is loading. Please wait.

Presentation is loading. Please wait.

MATLAB測位プログラミングの 基礎とGT (1)

Similar presentations


Presentation on theme: "MATLAB測位プログラミングの 基礎とGT (1)"— Presentation transcript:

1 MATLAB測位プログラミングの 基礎とGT (1)
東京海洋大学産学官連携研究員  高須 知二

2 内容 主にMATLABで書かれた測位解析プログラムGT(GpsTools)を例題にして、MATLABプログラミングの基礎及び測位計算への応用について解説する。 GTの応用についても簡単な例を基に解説する。

3 目的 MATLABを有用な研究開発ツールとして使いこなすことにより 最小限の手間で最大限の研究成果を出す。
本当にやりたい研究内容に早くたどり着く 退屈で(無駄な)プログラミング作業を減らす 最小限の手間で最大限の研究成果を出す。

4 予定 (1) 4月 MatlabとGTの紹介 5月 Matlabプログラミング基礎 6月 Matlab行列演算プログラミング
7月 Matlab 2D/3Dグラフィックス 8月 Matlabプログラム開発・デバッグ手法 9月 Matlab性能向上とMEX他言語I/F

5 内容 (2) 10月 GTの仕様と測位アルゴリズム 11月 GTの内部構造と実装 12月 GTライブラリ・ツールの応用
3月 まとめと今後の課題

6 MATLAB (1) MATrix LABoratory Mathworks社 (米) 数値解析ソフトウェア
科学技術計算、信号処理、データ解析、シミュレーション、可視化(Visualization)... Toolbox、Simlink etc 類似処理系: Octave,Scilab,...

7 MATLAB (2) プログラム言語としての特徴 Cに似た制御構文 (if, while, for, switch...)
インタプリタ型言語 弱い型付 行列計算に特化した構文規則 m-file単位でのプログラム管理 バージョンアップで機能拡張 (互換性問題) (セル配列、構造体、オブジェクト指向、etc ...)

8 MATLAB (3) 数値解析システムとしての特徴
数値解析ライブラリ 線形代数、特殊関数、統計解析、信号処理、積分、微分方程式、補間 etc... グラフィックスライブラリ 拡張ライブラリ集(Toolbox) デバッガ、プロファイラ、GUIツール コンパイラ

9 MATLAB (3) 長所 短所 プログラム開発効率 結果の可視化が容易 処理系が高価/プロプライエタリSW
プログラム実行効率

10 MATLABの利用 研究開発 ○ 実製品 △ 最終目的物はプログラムそのものではない 仕様が曖昧、仕様がどんどん変わる
研究開発 ○ 最終目的物はプログラムそのものではない 仕様が曖昧、仕様がどんどん変わる 早く成果すなわち解析結果が出ればよい プロトタイプ開発 実製品 △ 最終目的物はプログラムそのもの 実行効率、低コスト、可搬性、品質保証

11 C vs MATLAB (1) 九九演算表を出力する : C : MATLAB : void kuku(void) { int i,j;
for (i=1;i<=9;i++) { for (j=1;j<=9;j++) { printf("%2d ",i*j); if (j==9) printf("\n"); } MATLAB : function kuku (1:9)'*(1:9)

12 C vs MATLAB (2) 線形方程式(Y=AX)の解を求める : C+LAPACK : MATLAB :
int solve(const double *A, const double *Y, int n, int m, double *X) { int info,*ipiv=(int *)malloc(sizeof(int)*n); double *B=(double *)malloc(sizeof(double)*n*n); memcpy(B,A,sizeof(double)*n*n); memcpy(X,Y,sizeof(double)*n*m); dgetrf_(&n,&n,B,&n,ipiv,&info); if (!info) dgetrs_("N",&n,&m,B,&n,ipiv,X,&n,&info); free(B); free(ipiv); return info; } MATLAB : function X=solve(A,Y) X=A\Y;

13 GT (1) MATLABをベースに書かれた測位解析プログラム 最新: ver.0.6.3 (2006/7)
ライバル: Bernese、GIPSY/OASIS-II 主な応用: 精密測位(PPP)、衛星軌道決定、対流圏遅延推定、etc ...

14 GT (2) プログラム規模: m-file 22.1K, C-MEX 5.9K (ver.0.6.1) プログラム開発戦略
(1) MATLABプログラム開発 (2) 性能ボトルネックの識別 (3) ライブラリのm-file→C-MEXへの書き換え (4) 解析エンジンの全Cプログラム化(未)

15 GT (3) MATLAB用共通ライブラリ: 入出力:RINEX , SP3, IONEX, PCV etc 測位演算 精密補正モデル
大気圏モデル 衛星運動モデル 座標系、時刻系変換 地図描画、特殊グラフ描画、GUI etc

16 GTライブラリ利用例 RINEX読み込み/単独測位計算/結果グラフ化 :
td=caltomjd([2007,1,1]); t=0:30:86370; sats={}; for i=1:31,sats={sats{:},sprintf('GPS%02d',i)}; end [nav,inav]=readnav(td,t,sats,'0053'); [obs,iobs]=readobs(td,t,sats,'0053'); [tt,j]=unique(iobs(:,1)); j=[0,j']; for i=1:length(j)-1 k=j(i)+1:j(i+1); p=pointpos(td,tt(i),obs(k,3),iobs(k,2:3),nav,inav); pos(i,:)=eceftogeod(p); end figure, hold on, grid on, box on plot3(pos(:,1),pos(:,2),pos(:,3),'.');


Download ppt "MATLAB測位プログラミングの 基礎とGT (1)"

Similar presentations


Ads by Google