fx_cor_new

機能

"fx_cor_new"はFX 方式の相関処理ソフトウェアでありK5/VSSPフォーマット以外に様々なフォーマット (Mark5B, VDIF, ADS, OCTAD)データの相関処理が可能である。 予測値ファイルを読み、書かれている情報に従って相関処理を実行する。 相関処理結果はCOUT形式(ファイル名は"cout"で始まる)で出力される。
Ver.2019-11-20以降では単CH/スレッドのマルチスレッドVDIFデータ処理をサポート。
Ver.2020-06-08以降ではMark5(MarkIVおよびVLBA)フォーマットデータ処理をサポート。

書式

【方法1】

fx_cor_new afile [options]

afile "apri_calc"で作成された予測値ファイル
オプション
--version プログラムのバージョンを表示
--help プログラムの使用法を表示
-integ integration_time 総積分時間を設定(sec)。デフォルトはスキャン長
-coffset clock_offset フリンジサーチ時のクロックオフセット(sec)。 正値はYの時計がXの時計より進んでいることを意味する。デフォルトは0.0
-crate clock_rate フリンジサーチ時のクロックレート(s/s)。デフォルトは0.0
-soffset start_offset 開始時刻のオフセット(整数秒単位)。デフォルトは0
-t1pp t1pp 単位積分時間(PP)の設定 (sec)(デフォルトは 1.0)。1秒以下の値を指定するときは、1秒を整数で割った値とすること(例:0.2)。デフォルトは1.0
-pp_nosync PP同期モードを非同期にセット(処理開始可能な時刻からPPを開始)。デフォルトはPPの開始が秒に同期する
-lag lagsize ラグウインドウサイズのセット。2n の値をセットする(例:16, 32, 64, 128, 256, 512, 1024, 2048, ....)
-pmode pmode プロット表示デバイスモード
  0: XWINDOWおよびPostScript ファイル(pgplot.ps またはgnuplot.ps)出力(デフォルト)
  1: PostScript ファイル(pgplot.ps またはgnuplot.ps)出力のみ
  2: XWINDOW 出力のみ
  -1: グラフ出力無し
-comment "any_comment"
コメント(pmode=0,1,2 の場合グラフ上部に表示)
-nopcal PCAL検出機能を抑制する
-pchx1 ch1 X局のCH1データとして使用するデータファイル中のチャンネルを指定 (Ver.2018-12-17以降)
-pchx2 ch2 X局のCH2データとして使用するデータファイル中のチャンネルを指定
...............
-pchx16 ch16 X局のCH16データとして使用するデータファイル中のチャンネルを指定
-pchy1 ch1 Y局のCH1データとして使用するデータファイル中のチャンネルを指定 (Ver.2018-12-17以降)
-pchy2 ch2 Y局のCH2データとして使用するデータファイル中のチャンネルを指定
...............
-pchy16 ch16 Y局のCH16データとして使用するデータファイル中のチャンネルを指定
-ch1 ch1Y X局のCH1 と相関処理を行うY局のCH を指定(デフォルトは1)
-ch2 ch2Y X局のCH2 と相関処理を行うY局のCH を指定(デフォルトは2)
...............
-ch16 ch16Y X局のCH16 と相関処理を行うY局のCH を指定(デフォルトは16)
-orule naming_rule 相関出力ファイルの命名則を指定
0 : プログラム固定ファイル名(cout.txt)。"cor"の場合はcoutt.txt
1 : coutNNNN.txt (デフォルト)  ここでNNNN :4桁の通し番号
2 : coutEXP CODE/coutYYDDDNNNNXYG.txt
  ここで EXP CODE -- 実験コード
      YY -- 年(2桁)
      DDD -- 通日(3桁)
      NNNN -- スキャン番号(4桁)
      XY -- 基線ID(2文字または4文字)
      G -- 周波数グループ(a|b|c|d) またはnull
3 : coutYYDDDNNNNXYG.txt
  ここで YY -- 年(2桁)
      DDD -- 通日(3桁)
      NNNN -- スキャン番号(4桁)
      XY -- 基線ID(2文字または4文字)
      G -- 周波数グループ(a|b|c|d) またはnull
注: corおよびcor_new処理では出力ファイル名中"cout"の部分が"coutt" となる
-odir outdir 相関出力ファイル作成ディレクトリを指定する。デフォルトは環境変数K5COUT で指定されるディレクトリ。環境変数が指定されていない場合は、../cout ディレクトリ
-rfoffset rf_offset X局とY 局間のRF 周波数の差を設定(RFy-RFx)(Hz)
-cout cout_file 相関出力ファイル名を強制的に設定する
-frstep frstep フリンジ位相計算ステップの設定
  0 -- 自動設定
  1 -- 1サンプル毎
  8 -- 8サンプル毎(デフォルト)
  N -- N サンプル毎(1000/N は整数であること)
-frauto フリンジ位相計算ステップを自動設定モードに設定(“-frstep 0” と同じ)
-fall pcalf 全CH のPCAL 周波数を強制的に設定する(kHz)
-f1 pcalf1 CH1 のPCAL 周波数を強制的に設定する(kHz)
-f2 pcalf2 CH2 のPCAL 周波数を強制的に設定する(kHz)
...............
-f16 pcalf16 CH16 のPCAL 周波数を強制的に設定する(kHz)
-1ch x_ch [y_ch] 1CH 処理モードの設定
  x_ch -- X局チャンネル#
  y_ch -- Y局チャンネル#
-iq2r I/Qデータを実データに変換してからの相関処理を指定(デフォルトはI/Qデータのまま相関処理)
-sdelay 相関処理終了後に"sdelay"を起動する (相関関数の代わりにサーチ関数がプロットされる)
=== 以下はfx cor とfx cor new のみのオプション===
-modefr modefr フリンジストッピング関数近似モードの選択(cor およびcor new では無効)
  0 -- 近似なし
  9 -- 9レベル近似(デフォルト)
  2 -- 2レベル近似
  3 -- 3レベル近似
-hanning ハニング窓関数を使用する(デフォルトは箱型窓関数)
-hamming ハミング窓関数を使用する(デフォルトは箱型窓関数)
-bpf flow:fhigh[:fact][,flow:fhigh[:fact][,flow:fhigh[:fact][,.....]]]
BPF(バンドパスフィルター)のセット(低域および高域カットオフ周波数による設定:最大20 個)
  flow -- ベースバンドでの低域カットオフ周波数(MHz)
  fhigh -- ベースバンドでの高域カットオフ周波数(MHz)
  fact -- 強度ファクター(0.0-1.0) デフォルトは1.0
-bpf2 fc:bw[:fact][,fc:[bw][:fact][,fc:[bw]:fact][,.....]]]
BPF(バンドパスフィルター)のセット(中心周波数と通過帯域幅による設定:最大20 個)
  fc -- ベースバンドでのBPF の中心周波数(MHz)
  bw -- 通過帯域幅(MHz)。最初のBPF と同じ場合は省略可
  fact -- 強度ファクター(0.0-1.0) デフォルトは1.0
-fres fres BPF 処理時の周波数分解能の設定(MHz)。デフォルトは自動設定
-delpcal ch#:fs[:fi][,ch#:fs[:fi][,....]]]}
除去するPCAL信号の周波数をチャンネル毎にセット
  ch# -- チャンネル番号(1から開始)
  fs -- PCAL信号周波数(MHz)
  fi -- PCAL信号の間隔(MHz)
除去されるPCAL信号周波数は fs, fs+fi fs+2fi, fs+3fi, ...
fiを省略した場合は$fs$のみが除去される
除去される帯域幅はFFTの分解周波数幅の2倍。 変更する場合には以下の`-pcalbw'オプションを使用する
  または
-delpcal delpcal_file除去するPCAL信号情報を記述したファイルを指定する
-pcalbw bwmhz PCAL信号除去時に帯域幅をデフォルト値以外に設定(MHz)
デフォルト値はFFT分解周波数幅の2倍
-e2bit mode X、Yデータの 2-bitエンコーディング法をセットする
-e2bitx mode Xデータの 2-bitエンコーディング法をセットする
-e2bity mode Yデータの 2-bitエンコーディング法をセットする
ここで mode
  0: デフォルト
  1: (0, 1, 2, 3) オフセット2進数(VDIFのデフォルト)
  2: (0, 2, 1, 3) Mark-5Bのデフォルト
  3: (1, 0, 2, 3) 符号付き整数
注: このオプションが有効なのはVDIFまたはMark-5Bデータのみである
=== 以下はVer.2020-05-27以降のオプション===
-pulsar period:duty:phase_ch1[,phase_ch2[ .... ]]
パルサーゲートモードのパラメータをセットする
  period -- パルサー周期(sec)
  duty -- パルスデューティ比 (0.0-1.0)
  phase_ch1 -- 参照時刻におけるパルスの位相CH#1(deg)
  phase_ch2 -- CH#2
     CH#2以降の位相が省略された場合はCH#1と同じ位相がセットされる
-prt_pulsar HH:MM:SS パルサーゲートモードの位相の参照時刻をセットする (デフォルトは予測値ファイル中のPRT)
  注:パルサーゲートモードは予測値ファイルに記述することによっても設定可能
=== 以下はVer.2020-07-30以降のオプション===
-nodm 予測値ファイル中に記述された分散補正モードの無効化
-nopulsar 予測値ファイル中に記述されたパルサーモードの無効化
-new_method コヒーレンス法で相関関数を求める
-coh[erence] '-new_method'と同じ
-plspp パルサーモード時にPP長を強制的にパルサー周期と同じにする。このオプションをセットすると'-coh'もセットされる
-frmid フリンジストップを帯域中央で行う(生のフリンジ強度が約10%上昇する。ただし 処理速度はベースバンドで行う場合より若干遅くなる)。 なお、KOMB処理ではベースバンドで行った場合と帯域中央で行った場合のそれぞれの損失補正が 行われるのでKOMB処理結果のフリンジ強度は同じになる。
Ver.2020-08-18以前ではこの機能は無い
-frbase フリンジストップをベースバンドで行う(デフォルト)

オプション -delpcal delpcal_fileで指定するファイルの中身の例を以下に示す。

        *** PCAL signal rejection filter file  ***
        **    for option '-delpcal' of fx_cor_new
        **
        **    usage   -delpcal DELPCAL.txt
        **
        **  Format Ver. 2019-08-27
        **
        **    ch#  sFreq(MHz) intFreq(MHz)
        **      where
        **        ch#  :  channel # (starting from 1)
        **                0 means for all channel
        **        sFreq  :  lowest PCAL frequency in channel (MHz)
        **        intFreq  :  interval of PCAL signal (MHz)
        **       Note-- rejected PCAL frequency is sFreq, sFreq+intFreq, sFreq+2*intFreq, ....
        **    [example]
        **      ch#  sFreq(MHz)   intFreq (MHz)  
        **       0     0.01          5.0
        **      set for all channel same parameter
        **
        **      or
        **      1      1.4           5.0
        **      2      8.4           5.0
        **      3      2.4           5.0
        **      4      4.4           5.0
        **      set different start frequency for every channel
        **
        **
        *  CH#  sFreq(MHz)  intFreq(MHz)   
            1     0.4          5.0
            2     3.4          5.0
            3     4.4          5.0
            4     0.4          5.0
            5     4.4          5.0
            6     1.4          5.0
            7     4.4          5.0
            8     2.4          5.0
        *

予測値ファイル中に記述するパルサーモードパラメータ例(パルサーモードパラメータはテキストエディタを 使用しマニュアルで書き込む)。DMパラメータを使用する方法(Type-1)と各CH内での位相情報を直接記述する Type-2の2種類での記述が可能である。


        $PULSAR_GATE
        1.3373:0.06:215@04:15:00    ** period:duty:phase@HH:MM:SS  if HH:MM:SS is omitted PRT is used instead

        $PULSAR_DM      ** dispersion correction parameters
        **Type-1
        DM= 12.43       **  Dispersion Measure (pc/cm^3)
        frf= 316.0      **  reference RF frequency (MHz)
        phs0= 218.0     **  phase at frf (deg)
        dphs0= 11.0     **  pulse width (deg)
        
        **Type-2
        *f1=  0.0       ** band lowest frequency (MHz)
        *f2= 16.0       ** band edge frequency (MHz)
        *phs1= 218.0    ** phs1 parameter (deg)
        *phs2= 204.0    ** phs2 parameter (deg)
        *dphs= 11.0     ** Delta phs (deg)
        
        注)'*'で始まる行はコメント行

===== t1ppとして実際に許される1秒以下の値は以下の表の通り ====

t1pp
fsampl 0.010.020.040.05 0.1 0.2 0.5
40kHz X OK OK X OK OK OK
100kHz X X OK X X OK X
200kHz X OK OK X OK OK OK
500kHz X X OK X X OK X
1MHz X OK OK X OK OK OK
2MHz OK OK OK OK OK OK OK
4MHz OK OK OK OK OK OK OK
8MHz OK OK OK OK OK OK OK
16MHz OK OK OK OK OK OK OK
32MHz OK OK OK OK OK OK OK

【方法2】

fx_cor_new afile [sekibun [soffset [coffset [crate [t1pp [smode [pp_mode [lag_size [tzoom [pmode [comment]]]]]]]]]]]

afile "apri_calc"で作成された予測値ファイル
sekibun 総積分時間を設定(sec)。0とするとスキャン長
soffset 開始時刻のオフセット(整数秒単位)。デフォルトは0
coffset フリンジサーチ時のクロックオフセット(sec)。正値はYの時計がXの時計より進んでいることを意味する。デフォルトは0.0
crate フリンジサーチ時のクロックレート(s/s)。デフォルトは0.0
t1pp 単位積分時間(PP)の設定 (sec)(デフォルトは 1.0)。1秒以下の値を指定するときは、1秒を整数で割った値とすること(例:0.2)。デフォルトは1.0
smode 一度に処理するサンプル数(遅延サーチ範囲)モード(以下の設定値があるがもはや無意味なパラメータである)
  0: 最大200000 点の範囲の相関関数(低速)
  1: 中10000 点の範囲サーチ
  2: 最小1000(または2000)点の範囲サーチ(高速)(デフォルト)
pp_mode PP同期モード
  0: PPの開始が秒に同期する(デフォルト)
  1: 非同期。処理開始可能な時刻からPPを開始
lag_size ラグウインドウサイズ(16,32,64,128,256,512,..)(デフォルトは32)
tzoom 時間軸拡大率(整数)
  0 : フルスケール(デフォルト) 1 を指定と等価
  -VE : 負の値とすると拡大は最大値を中心としたスケールとなる。拡大率は絶対値
pmode プロット表示デバイスモード
  0: XWINDOW およびPostScript ファイル(pgplot.ps またはgnuplot.ps)出力(デフォルト))
  1: PostScript ファイル(pgplot.ps またはgnuplot.ps)出力のみ
  2: XWINDOW 出力のみ
  -1: グラフ出力無し
comment コメント(グラフ上部に表示)。スペースを含まないこと。

【環境変数のモニター】

fx_cor_new env

プログラムで使用されている環境変数をチェックする

K5APRIDIR -- 予測値ファイルのディレクトリ
K5COUT -- 相関データ出力ディレクトリ
PGDISP -- PGPLOT のグラフ出力デバイス


更新日 2020年8月18日