09-13-2016 01:23 AM
labview2016を使用しています。
Tek社のオシロスコープを用いて、USB接続により波形を取り込んでいます。
取り込みには図のようにして成功はしています。
ある一定時間内の波形の最大値と二つの波形の位相差のデータを取り出し、最大値と位相差のグラフを作りたいのですが、
どのようにしたらできるのでしょうか。教えていただけるとありがたいです。
09-29-2016
03:00 AM
- 最終編集日:
11-07-2024
10:57 AM
、編集者:
Content Cleaner
こんにちは
データの最大値を検出する方法として、取得したデータについて、「波形要素取得」関数で「Y」の値を配列として取り出し、「配列最大&最小」関数で最大の値を検出する方法はいかがでしょうか。
複数チャンネルを測定なさっているようなので、集録なさっているデータの次元サイズによっては、そのままでは「波形要素取得」関数にデータを入力できないかもしれません。その場合は、添付画像のように「指標配列」関数や「For/Whileループ」を使用し、次元を下げる必要があります。
位相差のデータを取り出し、という部分ですが、上記関数で得られる「dt」の値では不足でしょうか。
「dt」は横軸のデータをtとした場合の、データポイント間の時間間隔を返します。
以下のリンクもあわせてご参照ください。
波形要素取得(アナログ波形) 関数 - LabVIEW 2016ヘルプ - National Instruments:
https://www.ni.com/docs/ja-JP/bundle/labview-api-ref/page/functions/get-waveform-components.html
09-29-2016 09:29 PM
返信ありがとうございます。
要素の取り出し方について理解することができました。
しかし添付図のプログラムのように要素dtを追加して、エクセルファイルに書き込みを行った際に振幅のデータは入るのですが、
時間のデータがすべて0に表示されてしまいます。どこかに原因があるのでしょうか。
ご意見いただけるとありがたいです。
----------------------------------------------------------------------
Labview開発システム
Tek社オシロスコープ:USB接続
10-06-2016
03:10 AM
- 最終編集日:
11-07-2024
10:58 AM
、編集者:
Content Cleaner
波形データを保存する際は、時間データの書き込みを行う際は、波形データは要素ごとに取り出さず、波形データのままプロットを行ったほうがよいです。分解すると、1点目の時間データ:t0、2点目:t0+dt, 3点目t0 + 2×dt,,,,,,という風に時間データを計算しなければなりません。 以下のviをお試しいただくといかがでしょうか。 波形をファイルに書き込む VI - LabVIEW 2015ヘルプ - National Instruments: https://www.ni.com/docs/ja-JP/bundle/labview-api-ref/page/vi-lib/waveform/wdtfileio-llb/write-wavefo...
03-18-2017 03:33 PM
私が考案した, Synchro PRIMO 法というものがありますので使ってみてください。
2つの信号の周波数・振幅がが既知なら「ある外積演算」で簡単に求められます。
既知でない場合は、1)それぞれの周波数を計算、2)直交化、3)ベクトル演算、 という手順でもとめます。
単一成分でノイズが少ない場合(理想条件)は、5sampleで計算できます。
http://blog.goo.ne.jp/je-suis-sumichan
実装例 https://youtu.be/yR3R7KRuTn4