OpenRTMの入力データは一つのテキストファイルです。
入力データの編集は通常はGUI上で行いますが、
エディタで直接開いて確認や編集を行うこともできます。
入力データの拡張子は".ort"を推奨します。
リスト3-4-1に入力データの一例を示します。
最初の行
最初の行は必ず"OpenRTM 1 0"としてください。
ここで数字は書式のバージョンを表します。OpenRTMのデータは上位互換性があります。
すなわち古いバージョンのデータは新しいバージョンで開くことができます。
最後の行
最後の行は必ず"end"として下さい。
この行の下は読み込まれないので、コメントやデータの一時退避に使用することができます。
データ本体
最初の行と最後の行以外がデータの本体です。書式は
キーワード = データ1 データ2 ...
となります。キーワードはすべて小文字です。データは数値または文字列です。
等号"="の前後とデータの間には1個以上のスペースを置いてください。
YES/NO
YESかNOを選択するときは、1はYES、0はNOを意味します。
コメント行
最初の文字が"#"である行はコメント行です。その行は飛ばされます。
行内コメント
所定の数のデータの後ろに1個以上の空白の後に任意のコメントを入力することができます。
ただし、データ数が可変である行(書式に"..."がある行)では行内コメントは使用できません。
リスト3-4-1 入力データの一例
OpenRTM 1 0 title = テスト material = 1 5 0.1 建物 material = 1 3 0.2 地面 antenna = 1 1 antenna = 2 1 0 0 90 pillar = 2 0 10 -20 -20 -5 -20 -5 -5 -20 -5 pillar = 2 0 10 5 -20 20 -20 20 -5 5 -5 pillar = 2 0 10 5 5 20 5 20 20 5 20 pillar = 2 0 10 -20 5 -5 5 -5 20 -20 20 polygon = 3 -20 -20 0 20 -20 0 20 20 0 -20 20 0 tx = 1 -6 -6 15 1 0 rx0d = 1 13 2 1.5 rx1d = 1 -20 0 1.5 20 0 1.5 300 rx2d = 1 -20 20 0 -20 -20 0 20 -20 0 20 20 0 50 50 frequency = 2.45e009 maxpath = 30 maxref = 3 ndivlaunch = 90 component = 1 1 1 1 ndivantenna = 36 log = 0 0 plot3d = 0 0 0 rx0d_path = 1 rx0d_profile = 1 rx0d_profile_xscale = 1 0 100 10 rx0d_profile_yscale = 1 -100 -50 5 rx1d_path = 1 rx1d_profile = 1 rx1d_power = 1 rx1d_delay = 1 rx1d_power_scale = 1 -100 -50 5 rx1d_delay_scale = 1 0 100 10 rx2d_path = 1 rx2d_power = 1 1 rx2d_delay = 1 1 rx2d_stat = 1 1 1 1 rx2d_decay = 1 1 rx2d_power_scale = 1 -100 -50 5 rx2d_delay_scale = 1 0 100 10 rx2d_decay_scale = 1 10 1000 rx2d_geometry = 1 end
表3-4-1と表3-4-2に入力データの書式と意味を示します。
ここでは説明の都合上計算部とポスト処理部に分けていますが、
データファイルは両者が一つに結合したものです。
データの並びは任意ですが以下の順序を推奨します。
必須/必要/オプション
"必須"は必ず必要なデータです。これがないときはメッセージを出して計算を行いません。
"必要"は必要なときは必要なデータです。(既定値がないもの)
"オプション"はないときは既定値が代入されるデータです。
計算と図形出力はその既定値を用いて行われます。
書式
書式の"R I C"は順に実数、整数、文字列です。
"[]"はオプションです。その前のデータによっては必要になります。
実数のところに整数を入力すると実数とみなされます。例えば"1"は"1.0"となります。
特に断っていない単位はすべてMKSA単位系です。
No. | キーワード | 必須/必要/オプション | 書式(R:実数,I:整数,C:文字列) | 意味 |
---|---|---|---|---|
(1) | title | オプション | 任意の文字列(空白も含む) | タイトル |
(2) | material | 必要 | I1 R1 R2 [R3] | 物性値(数値入力) |
3 C1 | 物性値(ファイル入力) | |||
(3) | antenna | 必須 | I1 I2 [R1 R2 R3 R4] | アンテナ(数値入力) |
4 C1 | アンテナ(ファイル入力) | |||
(4) | pillar | 必要 | I1 R1 R2 R3 R4 R5 R6 ... | 多角柱(材質、座標) |
(5) | polygon | 必要 | I1 R1 R2 R3 R4 R5 R6 R7 R8 R9 ... | 多角形(材質、座標) |
(6) | tx | 必須 | I1 R1 R2 R3 R4 R5 | 送信点(アンテナ、座標、送信電力、位相) |
(7) | rx0d | 必要 | I1 R1 R2 R3 | 観測点(アンテナ、座標) |
(8) | rx1d | 必要 | I1 R1 R2 R3 R4 R5 R6 I2 | 観測線(アンテナ、座標、分割数) |
(9) | rx2d | 必要 | I1 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 I2 I3 | 観測面(アンテナ、座標、分割数) |
(10) | frequency | 必須 | R1 | 周波数[Hz] |
(11) | maxpath | オプション | I1 | 伝搬経路の最大数 |
(12) | maxref | 必要 | I1 | ローンチング法の最大反射回数 |
(13) | ndivlaunch | オプション | I1 | ローンチング法の緯度方向分割数 |
(14) | component | 必要 | I1 I2 I3 I4 | 計算する成分(直接、反射、回折、透過) |
(15) | ndivantenna | オプション | I1 | アンテナパターンプロットの緯度方向分割数 |
(16) | log | オプション | I1 I2 | 数値出力するか(0/1) |
(17) | plot3d | オプション | I1 I2 I3 | 入力データを3D図形表示するか(0/1) |
No. | キーワード | 書式(R:実数,I:整数) | 意味 |
---|---|---|---|
(18) | rx0d_path | I1 | 観測点への伝搬経路図(0/1) (3D) |
(19) | rx0d_profile | I1 | 観測点の遅延プロファイル(0/1) (2D) |
(20) | rx0d_profile_xscale | I1 R1 R2 I2 | 観測点の遅延プロファイルの横軸スケール |
(21) | rx0d_profile_yscale | I1 R1 R2 I2 | 観測点の遅延プロファイルの縦軸スケール |
(22) | rx1d_path | I1 | 観測線への伝搬経路図(0/1) (3D) |
(23) | rx1d_profile | I1 | 観測線の遅延プロファイル(0/1) (3D) |
(24) | rx1d_power | I1 | 観測線の受信電力分布(0/1) (2D) |
(25) | rx1d_delay | I1 | 観測線の遅延時間分布(0/1) (2D) |
(26) | rx1d_power_scale | I1 R1 R2 I2 | 観測線の受信電力のスケール |
(27) | rx1d_delay_scale | I1 R1 R2 I2 | 観測線の遅延時間のスケール |
(28) | rx2d_path | I1 | 観測面への伝搬経路図(0/1) (3D) |
(29) | rx2d_power | I1 | 観測面の受信電力分布(0/1) (3D) |
(30) | rx2d_delay | I1 | 観測面の遅延時間分布(0/1) (3D) |
(31) | rx2d_stat | I1 | 観測面の統計(0/1) (2D) |
(32) | rx2d_decay | I1 | 観測面の距離減衰(0/1) (2D) |
(33) | rx2d_power_scale | I1 R1 R2 I2 | 観測面の受信電力のスケール |
(34) | rx2d_delay_scale | I1 R1 R2 I2 | 観測面の遅延時間のスケール |
(35) | rx2d_decay_scale | I1 R1 R2 | 観測面の距離減衰のスケール |
(36) | rx2d_geometry | I1 | 観測面の分布図に物体形状を描くか(0/1) |
入力データの詳細
(1) title
空白を含む任意の文字列を入力することができます(日本語も可能です)。
タイトルは標準出力と図形出力に表示されます。データの管理に使って下さい。
(2) material
物体形状で指定される物性値(電気定数)を登録します。
任意個数入力可能です。入力した順に物性値番号=2,3,...が与えられます。
物性値番号=0は空気、物性値番号=1は完全導体(PEC)であり、
予め用意されているのでここで入力する必要はありません。
第1データの整数によって以下の3通りがあります。
・I1=1 R1=比誘電率 R2=導電率[S/m] (厚さを考えないとき=反射のみ)
・I1=2 R1=比誘電率 R2=導電率[S/m] R3=厚さ[m] (厚さを考えるとき=反射と透過あり)
・I1=3 C1=ファイル名 (反射係数と透過係数の入射角特性をファイルで指定するとき、注1)
(注1)
フォルダ名は不要です。フォルダはOpenRTM/data/material固定です。
ファイルの書式は3.1.11の通りです。
(3) antenna
送信点と受信点で指定されるアンテナ特性を登録します。
任意個数入力可能です。入力した順にアンテナ番号=1,2,...が与えられます。
第1データの整数によって以下の4通りがあります。
・I1=1 I2=偏波方向 (無指向性のとき、注1)
・I1=2 I2=偏波方向 R1=対称軸のθ[度] R2=対称軸のφ[度] R3=ビーム幅 (ダイポールアンテナのとき、注1、注2)
・I1=3 I2=偏波方向 R1=ビーム中心のθ[度] R2=ビーム中心のφ[度] R3=θ方向のビーム幅 R4=φ方向のビーム幅 (ビームアンテナのとき、注1、注2)
・I1=4 C1=ファイル名 (全方向の指向性をファイルで指定するとき、注3)
(注1)
偏波方向は整数(=1/2/3/4)で指定します。その意味は以下の通りです。
1=垂直偏波、2=水平偏波、3=右旋円偏波、4=左旋円偏波
(注2)
ビーム幅は最大値から-3dBとなる両側角度で定義されます。
(注3)
フォルダ名は不要です。フォルダはOpenRTM/data/antenna固定です。
ファイルの書式は3.1.12の通りです。
(4) pillar
多角柱の物体形状です。任意個数入力可能です。
多角柱とは均一な断面と高さを持つ形状です。
I1 : アンテナ番号
R1 R2 : 下面と上面のZ座標[m]
R3 R4 R5 R6 ... : 断面の頂点のX座標[m]とY座標[m]を順に交互に並べる(注1)
(注1)
頂点の数は2以上です。断面は閉曲面です。例えば4角形のときの頂点の数は4です。
(5) polygon
多角形の物体形状です。任意個数入力可能です。
多角形とは任意形状の閉曲面です。
I1 : アンテナ番号
R1 R2 R3 R4 R5 R6 R7 R8 R9 ... : 頂点のX座標[m]、Y座標[m]、Z座標[m]を順に交互に並べる(注1)
(注1)
頂点の数は3以上です。例えば4角形のときの頂点の数は4です。
(6) tx
送信点を指定します。任意個数入力可能です。
I1 : 送信アンテナ番号
R1 R2 R3 : 送信点のXYZ座標[m]
R4 R5 : 送信電力[W]と位相[度]
(7) rx0d
観測点を指定します。任意個数入力可能です。
I1 : 受信アンテナ番号
R1 R2 R3 : 観測点のXYZ座標[m]
(8) rx1d
観測線を指定します。任意個数入力可能です。
I1 : 受信アンテナ番号
R1 R2 R3 : 観測線の始点のXYZ座標[m]
R4 R5 R6 : 観測線の終点のXYZ座標[m]
I2 : 観測線の分割数(注1)
(注1)
始点と終点を結ぶ線分を指定した分割数で分割し、その中点に受信点が置かれます。
(9) rx2d
観測面を指定します。任意個数入力可能です。観測面は任意形状の4角形です。
I1 : 受信アンテナ番号
R1 R2 R3 : 観測面の頂点1のXYZ座標[m]
R4 R5 R6 : 観測面の頂点2のXYZ座標[m]
R7 R8 R9 : 観測面の頂点3のXYZ座標[m]
R10 R11 R12 : 観測面の頂点4のXYZ座標[m]
I2 : 観測面の頂点12方向の分割数(注1)
I3 : 観測面の頂点14方向の分割数(注1)
(注1)
4角形を指定した分割数で分割し、その中心に受信点が置かれます。
(10) frequency
R1 : 周波数[Hz]
(11) maxpath
I1 : 各受信点に到達する伝搬経路の最大数
計算対象に応じて適当に設定してください。使用メモリーはこの数値に比例します。
(12) maxref
I1 : ローンチング法の最大反射回数
計算対象に応じて適当に設定してください。計算時間はこの数値に比例します。
(13) ndivlaunch
I1 : ローンチング法において送信点から出射されるレイの間隔を決めるために、
緯度方向180度を分割する数
計算対象に応じて適当に設定してください。計算時間はこの数値の2乗に比例します。
(14) component
計算する成分を選択します。
I1 : 直接波を計算するか
I2 : 1回反射波を計算するか
I3 : 1回回折波を計算するか(2のときは簡易計算)
I4 : 1回透過波を計算するか
(15) ndivantenna
I1 : アンテナ放射パターンを3D図形表示するときのθ方向の分割数、計算には使用しません
(16) log
数値出力を行うかどうか指定します。
I1 : field.logを出力するか
I2 : path.logを出力するか
(17) plot3d
入力データを3D図形表示により確認します。
以下の一つでも選択されたときは図形表示を行った後、計算を行わずに終了します。
I1 : 物体形状を図形表示するか
I2 : アンテナパターンを図形表示するか
I3 : ローンチング法のレイの伝搬経路を図形表示するか
(18) rx0d_path
I1 : 観測点に至る伝搬経路を図形表示するか(3D)
(19) rx0d_profile
I1 : 観測点の遅延プロファイルを図形表示するか(2D)
(20) rx0d_profile_xscale
観測点の遅延プロファイルの横軸スケール
I1 : スケールを指定するか
R1 : 最小値[dBW]
R2 : 最大値[dBW]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(21) rx0d_profile_yscale
観測点の遅延プロファイルの縦軸スケール
I1 : スケールを指定するか
R1 : 最小値[nsec]
R2 : 最大値[nsec]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(22) rx1d_path
I1 : 観測線に至る伝搬経路を図形表示するか(3D)
(23) rx1d_profile
I1 : 観測線の遅延プロファイルを図形表示するか(3D)
(24) rx1d_power
I1 : 観測線の受信電力を図形表示するか(2D)
(25) rx1d_delay
I1 : 観測線の遅延時間を図形表示するか(2D)
(26) rx1d_power_scale
観測線の受信電力のスケール
I1 : スケールを指定するか
R1 : 最小値[dBW]
R2 : 最大値[dBW]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(27) rx1d_delay_scale
観測線の遅延プロファイルのスケール
I1 : スケールを指定するか
R1 : 最小値[nsec]
R2 : 最大値[nsec]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(28) rx2d_path
I1 : 観測面に至る伝搬経路を図形表示するか(3D)
(29) rx2d_power
I1 : 観測面の受信電力を図形表示するか(3D)
(30) rx2d_delay
I1 : 観測面の遅延時間を図形表示するか(3D)
(31) rx2d_stat
I1 : 観測面の受信電力と遅延時間の統計処理を図形表示するか(2D)
(32) rx2d_decay
I1 : 観測面の受信電力の距離特性を図形表示するか(2D)
(33) rx2d_power_scale
観測面の受信電力のスケール
I1 : スケールを指定するか
R1 : 最小値[dBW]
R2 : 最大値[dBW]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(34) rx2d_delay_scale
観測面の遅延プロファイルのスケール
I1 : スケールを指定するか
R1 : 最小値[nsec]
R2 : 最大値[nsec]
I2 : 分割数
既定値では適当なスケールが割り当てられます。
(35) rx2d_decay_scale
観測面の距離特性のスケール
I1 : スケールを指定するか
R1 : 最小値[m](10のべき乗)
R2 : 最大値[m](10のべき乗)
既定値では適当なスケールが割り当てられます。
(36) rx2d_geometry
I1 : 観測面の3D図形表示に物体形状を描くか