FAQ
FAMOS
シーケンス / 関数top
└シーケンス / 関数
ID.s070
Q. 等間隔データをパルス信号で外部サンプリングしたい(その2)
サンプリング間隔が等間隔のデータを測定しました。そのデータには信号波形とパルス信号を含みます。このパルス信号でデータをリサンプリングしたいです。
但し、パルスデータは60[deg]毎にしか出力されません。1[deg]毎に細かくデータをリサンプリングしたいのですが、可能ですか?
A.
以下のシーケンスで対応可能です。
関数SearchLebelでパルス信号のエッジを検出します。
次に、この60[deg]間隔のパルスを関数LIPで1[deg]間隔に変換します。
そして、その時刻暦で関数Valueを使ってデータをリサンプリングします。
結果はResult1がYデータのみ、ResはXY波形としましたので、リサンプル前のデータと比較して効果を確認してください。
;----------------------------------------
;定数の定義
;----------------------------------------
_pdeg = 60 ;パルス間隔を60[deg]で処理
;----------------------------------------
;信号の定義
;----------------------------------------
_pulse60deg = PULSE60
_data1 = SIGANL
;----------------------------------------
;データ処理
;----------------------------------------
;パルス信号を検出
_pulseTemp = SearchLevel(_pulse60deg, 2, 0, 0, 2, 0, 0, 1)
_pulse = _pulseTemp.X
;60degパルスを1degに変換
_newPulse = Lip(_pulse, _pdeg)
;データ処理結果
Result1 = Value( _data1, _newPulse)
Res = XYof(_newPulse,Result1)
;----------------------------------------
;終了処理
;----------------------------------------
del _*