NI製品ディスカッション

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

オシロスコープから波形取り込みと波形の面積の求め方

解決済み
解決策を見る

スクリーンショットは拡張子が無く表示できませんでした。
教えていただいた設定はVIに残っているデータといくつか一致しないようです。

 

acquire wave.viを見ると波形情報がバイナリで処理も煩雑ですが、2チャンネルの波形データが読めているならそのまま使うことにしましょう。ちなみに制御器等にデフォルトとして残っているデータに前後の整合性がありません。

 

プログラマーズマニュアルを読めば書いてあるのでしょうが、OWONのWebからダウンロードしようとするとセキュリティに引っかかって入手できません。なのでVIに残っているデフォルト値を信じて解析した結果からVIを改造してみました。

 

判断の根拠は以下のとおりです。
グラフに残った波形を解析すると符号付き16ビットで、データの最小ステップが8のようなので、13ビット相当のデータに3ビットのゼロを付加して16ビットとして送信されていると判断できます。何とかして1ステップあたりの電位差を割り出さねばなりません。

 

わかりやすいのはトリガ波形で、カーソルで測ったレベル差は6040程度です。これが0-5Vで5V/divなら振幅は1div、よって6000ステップを垂直1divに割り当てていると思われます。I16(-32768~32767)を割り当てると全体で10.92divになりますが、ヘッドルームを持たせる意味で合理的です。

 

I16を電圧に変換する際は、GND位置によるオフセットを加味する必要があります。VIでは垂直中心を0とした±divで得られると仮定しています。

 

水平4000ポイントを10divに割り当てている前提で50us/divならば、サンプリング周期は(50us×10div)/4000=0.125usとなります。

 

トリガ位置を時間0にしたい場合は、トリガポジションがわかれば計算できます。VIでは水平中心を0とした±divで得られると仮定しています。

 

設定が違う場合でも使えるように、設定値を制御器で入力するようにしました。VIを実行して、電圧データと時間が合っているかどうか確認してください。
うまくいくようなら、これらの値はオシロスコープから読み込めると思うので、コマンドを調べて取得するようにするのが次のステップとなります。

0 件の賞賛
メッセージ11/17
1,148件の閲覧回数

返信ありがとうございます。

 

プログラマーズマニュアルを読めば書いてあるのでしょうが、OWONのWebからダウンロードしようとするとセキュリティに引っかかって入手できません。なのでVIに残っているデフォルト値を信じて解析した結果からVIを改造してみました。

→ありがとうございます。本当に助かります。

 

設定が違う場合でも使えるように、設定値を制御器で入力するようにしました。VIを実行して、電圧データと時間が合っているかどうか確認してください。

→実行しましたところ、Vの値は5Vほどであったいると思いますが、timeが合っているにか判断できません。VIを添付します。


うまくいくようなら、これらの値はオシロスコープから読み込めると思うので、コマンドを調べて取得するようにするのが次のステップとなります。

→具体的に何がどのコマンドなのか教えていただきたいです。

スクリーンショット (16).png

オシロスコープから読み取ると

points:1000

delay:0

range:50 だと思うのですが

degeneracy_0-1661147393152.png

 

これらの値はどのように取得するのでしょうか?

 

また、送っていただいた波形の面積とこのVIはどのようにつなげればいいのでしょうか?

よろしくお願いいたします。

0 件の賞賛
メッセージ12/17
1,139件の閲覧回数
解決策
受理者 degeneracy

オシロスコープアプリの画面から読み取れるのは、
・グラフは垂直10div、水平20div
・CH1 range = 5V/div、CH1 position = 0.0divs
・CH2 range = 500mV/div、CH2 position = -2.0divs
・Time/div = 50us/div(画面の「M」が何の略かは不明)
・Trigger delay = 0.0ns
・Memory depth = 10k points
・Sampling rate = 10MS/s(10MHzクロックと同じ意味)

50us/div×20div×10.00MS/s=10kpoints が成立するので、10000ポイントを水平20divに割り当てていることがわかります。VIの制御器とダイアグラムは:

2022-08-23.png

 

2022-08-23 (1).png

>→具体的に何がどのコマンドなのか教えていただきたいです。
前述のとおりマニュアルが入手できないのでわかりません。
VIで仮定した項目のコマンドがないかもしれませんが、垂直軸の電圧とdivとビット数、時間軸の時間とdivとサンプリング情報の間には法則性があるので換算できます。
Time/divが小さくなるとSampling rateの上限によって水平1div当たりのポイント数が減るかもしれないので、そこだけ注意してください。
また、垂直1div当たりのレベル差を6000と仮定しましたが、他社の16ビット例では6400が多いので、マニュアルで確認してください。


>また、送っていただいた波形の面積とこのVIはどのようにつなげればいいのでしょうか?
Waveform Graph 3へのデータを作っているバンドル関数の左側2番目の入力がdTなので、それと1D配列データを1D数値積分関数へ渡してやればいいです。

0 件の賞賛
メッセージ13/17
1,133件の閲覧回数

数値設定の仕方がわかりました、ありがとうございます。


Waveform Graph 3へのデータを作っているバンドル関数の左側2番目の入力がdTなので、それと1D配列データを1D数値積分関数へつなげてみましたが、グラフのデータを使うにはどうしたらいいのでしょうか?

0 件の賞賛
メッセージ14/17
1,117件の閲覧回数

グラフのデータを使うにはどうしたらいいのでしょうか?

・・・どういう意味でしょうか?

面積の結果が想定と違いましたか?

 

Waveform Graph 3にはオシロスコープから読み込んだ波形、Waveform Graph 4には処理した結果の波形が表示されています。それらにはCH1とCH2の1D配列を「配列連結追加」した2D配列をt0とdtとバンドルして与えていますが、CH1とCH2の1D配列をそれぞれt0,dtとバンドルした2つを「配列連結追加」して与えても同じ表示になります。

 

0 件の賞賛
メッセージ15/17
1,106件の閲覧回数

 

dtとwave graph3を繋げてみたのですが、面積が0になってしまいまして、、

 

波形の面積が、1dtの間でどのくらい増えたか、2dtの間にどのくらい増えたかを縦軸が面積、横幅がdtの図で、つまりwave graph3の波形がどのくらいの時間(dt)のときにどのくらいの面積が増減したかという波形グラフを作成したいのです。

 

wave graph3のデータとdtをかけて、それをΣにして、縦軸が面積で横軸がdtの波形にしてみたらいいのかなとも思いますが、上手くVIを組む事ができずにいます。

 

よろしければ、具体的にどのようなVIを組めばいいのかご教授いただけると幸いです。よろしくお願いいたします。

0 件の賞賛
メッセージ16/17
1,097件の閲覧回数

時系列(t)に沿った積分ということならば、「積分」関数を使います。

0 件の賞賛
メッセージ17/17
1,079件の閲覧回数