NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

波形データの最大値を特定し、最大値の前後のデータも抽出する方法について

解決済み
解決策を見る

Labview 2012を使用しております。

掲題について、何十万もの波形データを読み込み、そのデータ内の最大値を特定後、その値の前後数万個のデータを抽出し保存する方法についてご教授願いたいと思っております。

 

データファイルとして30万個分のサンプルテキストファイルを貼らしていただきます。

まだLabviewを使い始めて、2ヶ月ほどで知識も多くはないため手こずっている状況です。

 

現在データの取り込みをし、最大値の特定まではできているのですが、前後のデータを同時に抽出し保存する段階がどうしてもうまくできないため、ご教授いただければ幸いです。

0 件の賞賛
メッセージ1/5
2,791件の閲覧回数
解決策
トピック作成者Tkhsが受理

波形データのまま処理しようとすると大変かもしれません。

「波形要素取得」関数を使用してYデータを取得すれば、下記の方法で実現できるかと思います。

example.png

 

 

 

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
メッセージ2/5
2,777件の閲覧回数

Emboar様、迅速な回答をしていただきとても感謝しております。

貼付されたスクリーンショットについてですが、どのような処理がなされているのかよく分かっておらず、簡単でよろしいので説明をいただいてもよろしいでしょうか?

 

アドバイスを頂けた「波形要素取得」を使用してYデータ取得のところは理解できました。

ありがとうございます。

 

 

0 件の賞賛
メッセージ3/5
2,768件の閲覧回数

説明が不足しており失礼しました。

 

まずForループでシミュレーションデータを生成しています。
これが波形から取得したYデータとお考えください。

部分配列を使用して指定した指標を始まりに指定したサンプル数を取得します。
ここで「最大ポイント」は、仮想トリガ検出ポイントです。
100個の要素のうち、指標50において最大値が検出されたと仮定します。

その前後のデータを取得します。「プレサンプル数」は前のデータ個数を、
「ポストサンプル数」は後のデータの個数を指定しています。

実行してみると、プレサンプル数は指標50の前10個分データ(50-10 = 指標40から10個分)、
ポストサンプル数は指標50から後20個分のデータが取得される様子がご確認いただけます。

Certified LabVIEW Developer
There are only two ways to tell somebody thanks: Kudos and Marked Solutions

GCentral
メッセージ4/5
2,760件の閲覧回数

非常に分かりやすいご説明ありがとうございます。

自身の勉強不足で手間を取らせてしまい申し訳ありません。

本当にありがとうございました。

0 件の賞賛
メッセージ5/5
2,755件の閲覧回数