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

Slides:



Advertisements
Similar presentations
情報処理演習 (9)グラフィックス システム科学領域 日浦 慎作.
Advertisements

時間・空間補間した 基準局網観測値による キネマティックGPS性能の評価
MATLAB測位プログラミングの 基礎とGT (3)
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
4章 制御の流れ-3.
実行時のメモリ構造(1) Jasminの基礎とフレーム内動作
Scilab で学ぶ  わかりやすい数値計算法 舞鶴高専 電子制御工学科 川田 昌克.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
4.2 連立非線形方程式 (1)繰返し法による方法
プログラミングIII演習 第1回目.
ML 演習 第 7 回 新井淳也、中村宇佑、前田俊行 2011/05/31.
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
システムモデルと伝達関数 1. インパルス応答と伝達関数 キーワード : 伝達関数、インパルス応答、 ステップ応答、ランプ応答
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
プログラミング言語入門 手続き型言語としてのJava
オブジェクト指向 プログラミング 第十三回 知能情報学部 新田直也.
Cプログラミング演習.
関数の定義.
MATLAB測位プログラミングの 基礎とGT (2)
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
電界中の電子の運動 シミュレータ作成 精密工学科プログラミング基礎 資料.
米山研究室紹介 -システム制御工学研究室-
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
平成30年度高知工科大学教職科目 微分方程式特論I 11 高知大学教育学部技術教育コース 北川 晃.
RTK-GPS用プログラムライブラリRTKLIBの開発・評価および応用
東京海洋大産学官連携研究員/技術コンサルタント 高須 知二 Tomoji TAKASU
プログラミング演習I ―数値解析― 平成16年度 前期 上 村 佳 嗣.
知能システム論I(13) 行列の演算と応用(Matrix) 2008.7.8.
動的データ依存関係解析を用いた Javaプログラムスライス手法
コードクローンの動作を比較するためのコードクローン周辺コードの解析
精密単独測位(PPP)による スタティック・キネマティック 測位精度の評価
Javaバイトコードの 動的依存解析情報を用いた スライシングシステムの実現
動力学(Dynamics) 力と運動方程式 2008.6.10
Simulink で NXT を 動かしてみよう Simulink で NXT を動かす 微分値算出とフィルタ処理 ノーマルモード
バイトコードを単位とするJavaスライスシステムの試作
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング 4 探索と計算量.
第5章 計算とプログラム 本章で説明すること ・計算の概観と記述法 ・代表的な計算モデル ・プログラムとプログラム言語.
疑似乱数, モンテカルロ法によるシミュレーション
JAVAバイトコードにおける データ依存解析手法の提案と実装
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
ガイダンス 電子計算機 電気工学科 山本昌志 1E
バネモデルの シミュレータ作成 精密工学科プログラミング基礎 資料.
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
情報処理Ⅱ 2005年10月28日(金).
変数を一度にたくさん宣言するよ! それだけじゃないよ!
第6回放送授業.
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
cp-15. 疑似乱数とシミュレーション (C プログラミング演習,Visual Studio 2019 対応)
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
知識ベースの試作計画 ●●●研究所 ●●●技術部 稲本□□ 1997年1月.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
情報処理Ⅱ 第2回 2004年10月12日(火).
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向言語における セキュリティ解析アルゴリズムの提案と実現
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
C#プログラミング実習 第1回.
逆運動学(Inverse Kinematics) 2007.5.15
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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)

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;

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

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

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

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),'.');