分割主鏡シミュレータ III (安定性シミュレーター)
岡山新技術望遠鏡グループ
平成 22 年 6 月 28 日

目次
1

概要

12仕様の定義

13

ギャップセンサー配置データ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1
2.2
2.3

出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
オフセット初期値 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1122.4乱数生成器

2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

実装と利用方法

23.1
3.2

コマンドラインオプション一覧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.33.4乱数分布 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

乱数生成器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

出力 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2233

概要1

分割鏡動作パラメータの把握 I, II では、分割主鏡の動作パラメータについてアクチュエーター制御量からギャップセンサー読み出し量への変換行列を求め、その変換行列の特異値や特異ベクトルの分布を見ることで、どのようなセグメントの変形モードが退化して判別できなくなるかやギャップセンサーの配置の最適化が行えないかどうかを検討した。
ここでは、これらの特異値や特異ベクトルを利用した実際の制御で行うような変換が、どの程度ノイズに対して安定であるかどうかをシミュレートできるようなシミュレータを構築する。

2仕様の定義2.1

ギャップセンサー配置データ

ギャップセンサー配置データは以前の特異値解析ソフトで定義したデータ形式に従うものとする。

2.2

出力

モンテカルロシミュレーション的に多数回モデル計算を繰り返し、各回でのギャップセンサーノイズとしての入力値と制御系へ渡す値であるアクチュエーター移動量についての統計量を出力する。
出力する統計量は、各回のギャップセンサーノイズ値もしくはアクチュエーター移動量全体における平均値・分散・最大絶対値に対して、多数回の全試行での平均値と分散とする。

1

オフセット初期値

2.3

実機上では、アクチュエーターもしくはギャップセンサーが完全にゼロ点から駆動するということはありえないので、オフセット量を与えられる機構を追加する。
アクチュエーター駆動量からギャップセンサー読み出し値への変換は、望遠鏡画移動した際の望遠鏡主鏡セルの機械変形を考えなければ線形変換で表されることがわかっている。このため、アクチュエーター原点をゼロ点でない値に設定できるようにし、シミュレーターの入力となるギャップセンサーノイズに対してバイアスとして付加する。このとき、出力されたアクチュエーター駆動量は、理想的には元のアクチュエーター駆動量へのバイアス分がノイズへの応答に足された値になっているはずである。よって、このバイアス分を引いた入力・出力値をシミュレーター系の応答と解釈する。

乱数生成器

2.4

乱数生成器は、GNU Scientiﬁc Library のモジュールを利用し、各種アルゴリズムをコマンドラインオプションで選択できるようにする。
また、乱数の分布についても、一定分布、ガウス分布など各種の分布を同様に選択できるようにしておく。

3

実装と利用方法

3.1

コマンドラインオプション一覧

コマンドラインオプションは 1 のようになる。短形式は’–’ を、長形式は’– –’ を前につける。なお、すべての長さを示
す値は、nm 単位であることに注意。
表 1: コマンドラインオプション一覧
短形式

長形式

引数

既定値

sfsegment
ﬁxed

文字列

—
—

ir
linnerrandomloop

真偽eglimitgenerator

文字列

乱数生成器形式

0 以下ですべて利用
指定なしは mt19937

mobmethod
oﬀset
bias

文字列

乱数分布形式

指定なしは uniform

ランダムオフセットの制御値

乱数生成器はほかと同じ、0 で利用せず

数値00

バイアスオフセットの値

0 で利用せず

hhelp

—

—

ヘルプ表示

3.2

数値

設定内容

備考

ギャップセンサー定義ファイル

必須

固定アクチュエーター点

ID:0 から、複数指定可

内周リングを定義するか

数値

0 (false)
11000

数値

0.0001

縮退とみなす特異値の閾値数値

数値

乱数の制御値

モジュールにより解釈が異なる

ループ回数

乱数生成器

すべて GSL で定義されているものそのまま。

mt19937 Mersenne Twister で、21 9937 − 1 の周期と 623 次元をもつ乱数生成器。
ranlxs0, ranlxs1, ranlxs2 RANLUX アルゴリズムの 24bit 乱数生成器。101 71 の周期を持つ。
ranlxd1, ranlxd2 RANLUX アルゴリズムの 48bit 乱数生成器。
ranlux, ranlux389 オリジナルの RANLUX アルゴリズムの 24bit 乱数生成器。

2cmrg
mrg
taus
taus2
gfsr4

3.3

乱数分布

uniform 一様分布。制御値 γ に対して (−γ, γ) に一様分布する乱数を返す。
gaussian ガウス分布。制御値を標準偏差とする正規分布をなす乱数を返す。
exponential 指数分布。制御値 γ に対して exp(−x/γ)/γ に分布する乱数を返す。(ただし x > 0)
laplace ラプラス分布。制御値 γ に対して exp(−x/γ)/2γ に分布する乱数を返す。
()−1cauchy コーシー分布。制御値 γ に対して γπ(1 + (x/γ)2 ))に分布する乱数を返す。
rayleigh レーリー分布。制御値 γ に対して x/γ 2 × exp(−x2 /(2γ 2 )) に分布する乱数を返す。(ただし x > 0)

3.4

出力

ラベルの後ろに値が二つついた形式の行が出力される。二つの値は、前が平均値、後ろが標準偏差となる。なお、すべての値は、nm 単位であることに注意。

Oﬀset of actuat アクチュエーター制御値へのバイアス (オフセット)Oﬀset of gapsns ギャップセンサー値へのバイアス (オフセット)
Averge of input ギャップセンサー値への入力乱数の平均値
Sigma of input ギャップセンサー値への入力乱数の標準偏差Maxim of input ギャップセンサー値への入力乱数の最大絶対値
Averge of result 出力されたアクチュエーター制御値の平均値
Sigma of result 出力されたアクチュエーター制御値の標準偏差Maxim of result 出力されたアクチュエーター制御値の最大絶対値
なお、アクチュエーター制御値に変換する際に退化した特異値を 0 でつぶしている場合は、ギャップセンサー値の組に対応するアクチュエーター制御値は空間内で平面を構成するが、この逆変換ルーチンでは原点に最も近い平面上の値をとってきていることに注意。この場合、出力された制御値の平均はほぼ 0 に近づき、計算誤差によりその標準偏差が無効値になる場合がある。

3