この人頭いいなと思ったエピソード

スペクトルデータをグラフに表示するプログラムを作ることになりました。
言語はVBです。
データは機械から電圧信号を取り込みます。
と言っても、実際は機械に付属しているソフトのAPIで取り込むのですが。
APIは、例えば1Vの電圧が機械に向かって流れたら、1Vが返ってくるような仕様になっています。

グラフはリアルタイムに表示する必要があります。
X軸が周波数、Y軸がスペクトルです。
スペクトルを求めるにはFFTをする必要があるので、取り込んだ電圧をそのままグラフに表示し続けるような単純な仕組みにはならないと思いますが、実際どう作ったらよいかわかりません。

私がイメージしている仕組みは以下のとおりなのですが、正しいでしょうか?

(1) 電圧信号をフレームサイズ(FFTする件数)分取り込む。
(2) (1)のデータをFFTする
(3) (2)の結果からスペクトルデータを求める
(4) (3)のデータをグラフに表示する。
グラフの点数(座標の数)は、フレームサイズの1/2。
X軸の座標は周波数分解能ごとにプロット。

(1)~(4)を繰り返す。

(1)~(4)の処理にも少なからず時間がかかるのですが、はたしてリアルタイム表示は可能なんでしょうか?
ちなみに、プログラムにはフレームサイズ(FFTする件数)と周波数レンジを設定できる機能も実装します。

A 回答 (1件)

>(1)~(4)の処理にも少なからず時間がかかるのですが、はたしてリアルタイム表示は可能なんでしょうか?



自分は一応プログラムで使用している主な言語はVBです。自分が作ったわけではないですが会社で質問者さんがやりたいことと同じ処理をするプログラムがあります。そのプログラムの場合は質問者さんが書いているのと同じような流れで動作していますがさすがにリアルタイム表示は出来ていません。大体、数秒ごとの更新です。まあ、使用しているパソコンがそれほど高性能じゃないので条件が違うと思うので参考になるか分かりませんが参考までに。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報