※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Difmapによる処理(6)~位相のSelf Calibration


Self Calibrationとは

局ごとに発生する位相や振幅の誤差(これをゲインエラーといいます)のうち、アプリオリ較正で補正し切れなかった分を、観測されたビジビリティを元に補正しようという手法です。しかしビジビリティの振幅や位相は局ごとに発生するゲインエラーだけで変化するのでなく、もちろん天体の構造にも依存します。だからビジビリティを元にマップが描けるわけですよね。それではどうやって、天体の構造に起因する成分とゲインエラーとを分別するのでしょうか?それには…
  1. まず天体の構造をモデルとして仮定し、ゲインエラーがないとした場合に期待されるビジビリティを計算します。これを「モデルビジビリティ」といいます。
  2. 観測されたビジビリティとモデルビジビリティとの差が残差です。アンテナゲインの値を振ると、「観測されたビジビリティ」がそれだけ変化しますから、残差が変化します。
  3. 残差が最小になるようなアンテナゲインの値を最小二乗法で求めます。これがSelf Calibrationの解です。
  4. 求まったSelf Calibrationの解を用いて、イメージングをやり直します。
という手順を踏むのです。Self Calibrationの解を用いれば、より真に近い天体の構造をマップで得られるはず。だから、CLEAN → Self Calibration → CLEAN → Self Calibration &hellip と反復していけば、真の輝度分布に収束していくだろう、と期待されるわけです。Self Calibrationのアルゴリズムをより詳しく知りたい方は、こちらをごらんください。

まずは位相だけのSelf Calibration

Self Calibrationはアンテナゲインを解く手法です。アンテナゲインは複素数で、振幅項と位相項に分離できます。Self Calibrationは振幅項と位相項を同時に解くことも別々に解くこともできます。例えば位相項についてだけ解く、というのは、振幅項を固定したまま最小二乗法を使うということです。
標準的な干渉計のイメージングでは、まず位相項だけのSelf Calibrationを行い、その後に振幅項のSelf Calibrationを行う、という手順を踏みます。その理由は…
  1. 最小二乗法では、解くべき未知パラメーターの数が少ないほど解が安定に得られます。振幅項を固定することで、未知パラメーターの数が約半分になります。アンテナの数をN_{ant}とすると、位相のパラメーター数はN_{ant}-1個、振幅のパラメーター数はN_{ant}個です。
  2. 通常、アンテナゲインの振幅項はアプリオリ較正(有効開口面積とシステム雑音温度)によって、精度が10%程度の比較的信頼できる値になっています。
  3. アンテナゲインの振幅項の時間変動は比較的ゆっくり(10分程度以上の時間スケールで安定)なのに対して、位相の時間変動は速い(数秒)です。大気の屈折率の変化によって伝播遅延が時間変動することが位相の高速変動の原因だからです。この高速位相変動は、位相準拠 (phase reference) 観測をしていない限り、Self Calibrationで補正するしか手段がありません。そこで、位相項のみのSelf Calibrationが急務なのです。
  4. 位相項のみのSelf Calibrationは比較的安全です。たとえ誤ったモデルに基づいて誤った解を適用したとしても、closure phase は保存されますので、とんでもないマップに収束することは避けられます。一方で振幅項のエラーは青天井です。例えば全てのアンテナゲイン振幅項を10倍、輝度を100倍にしたモデルを与えても、解としては矛盾ありません。ですから、振幅項のSelf Calibrationは十分に正しいと認められるモデルが得られてから最後に適用するのが安全です。
  5. 実は、フリンジフィッティングは点源をモデルとした位相項のみのSelf Calibrationの一部です。すでにFRINGを適用した段階で、すでに位相項のみのSelf Calibrationを実行してしまっているのですね。

ともかくSelf Calibrationをやってみよう

まあ、ともかくselfcalコマンドを使ってSelf Calibrationを実行してみましょう。ダメなら解を破棄すれば元に戻れますから。
selfcal  引数なしで実行すると、位相項のみのSelf Calibrationを行います。
! Performing phase self-cal
! Adding 12 model components to the UV plane model.
! The established model now contains 12 components and 3.33074 Jy
!
! Correcting IF 1.
!
! Correcting IF 2.
!
! Correcting IF 3.
!
! Correcting IF 4.
!
! Fit before self-cal, rms=1.670329Jy sigma=14.540719
! Fit after self-cal, rms=0.985157Jy sigma=10.196081
before と afterの差に注目してください。rmsは残差マップの標準偏差で、この目標値は最初にmapplotしたときに表示された Estimated noise の1.21083 mJyです。Self Calibrationによってrmsが1670 mJyから980 mJyへと大幅に低減しましたが、目標値にはまだ遠いですね。sigmaとあるのは、残差が平均的にビジビリティ誤差の何倍あるかという量で、reduced X^{2}の平方根です。これが1になれば系統誤差(つまりゲインエラー)が無いという状況、すなわちゴールに到達できるわけです。

Self Calibrationの結果をチェック

Self Calibrationを実行したら、その結果をチェックしましょう。アンテナゲイン解の確認とマップの確認との2つです。
アンテナゲイン解は、 corplコマンドで確認できます。
corpl  
! Move the cursor into the plot window and press 'H' for help

PGPLOT画面上に、アンテナゲインを補正した量が表示されます。上のパネルが振幅項で、ここでは固定していましたから1になっていますね。下のパネルに表示されている位相項は時間変化している様子がわかります。青色で表示されている点は解を求めることができなかった時間を表していて、このデータはフラッギングされています。次のアンテナの解を見るにはnキーを、一つ前のアンテナの解を見るにはpキーを押します。チェックしたらxキーを押してコマンドプロンプトに戻ります。
チェックの結果「ダメだこりゃ!」と判断した場合は、uncalコマンドでSelf Calibratinoの結果をチャラにできます。
uncal true, true, true  3つの引数は順番に、位相項, 振幅項, フラッギングを指定します。trueならチャラでfalseなら維持。
ですが、ここではuncalせずに先に進みましょう。

Self Calibration後のマップ

Self Calibrationした結果、残差マップはどうなったでしょうか。corplコマンドで確認しましょう。
mappl
! Inverting map

Self Calibrationを実行する前に比べると、CLEAN componentsを置いた領域の輝度が増えているのが分かります。位相項のSelf Calibrationは、アンテナゲイン位相エラーによって散っていた輝度を集めてくる、いわばピンボケ解消の効果があるのです。

Self Calibration後のCLEAN

Self Calibrationによって改善された(はずの)ビジビリティを用いて、CLEANを続けます。残差が無くなってCLEANが煮詰まったら、また位相項のみのSelf Calibrationを実行すると良いでしょう。

CLEANをどこまでやるか

位相項のみのSelf CalibrationとCLEANの反復プロセスを、どこまで続けたらいいでしょうか。次に控えているのは、振幅項を含めたSelf Calibrationです。ここでは、モデルの全フラックス密度にビジビリティが合うように、アンテナゲインの振幅項が操作されます。ですから、total flux cleaned が 全フラックス密度にほぼ到達するまでCLEANを続ける必要があるでしょう。
全フラックス密度は、radplprojplコマンドでビジビリティ振幅を空間周波数に対して表示させ、空間周波数がゼロ付近のビジビリティ振幅を見ることで確認できます。この観測ですと、5.15 Jy程度ですね。
次は振幅項のSelf Calibrationです。

添付ファイル