掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
グラフのリアルタイム表示は?・2 (ID:86527)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>サンプリング周波数は100ヘルツです。 >これはアナログ信号の方で、もし1秒間に波が一つだったら、 >その波を100個のデジタルデータで表すということで、いいのでしょうか? 一秒間に波が一つと言う言い方は結構微妙ですね。 心電図のような波形は繰り返しは一秒に一回でも、その波形の中に無数の正弦波が 含まれています(フーリエ級数)。それらを全てサンプリングしないと、元の波形に はなりません。サンプリング周波数が100Hzと言うことは理論上は50Hzの 正弦波まで情報が損なわれること無く再現が可能となります。 心電図のサンプリングを100Hzにしたと言うことはこれで十分と考えたからでしょう。 (再現周波数はフィルターが入りますので実際は40Hz位です) >やはりLINEメソッドを使うべきでしょうか 好き好きですね。ただしドットだけで表示した場合、隣り合ったドットが左にあるのか 右に有るのか、瞬間的には見にくくなります。 >TTTの値はピクチャの動かす精度を表していると思うので、80のままでもいいと思いますが、どう思われますか? この辺は実際には難しいのです、サンプリング周波数が100Hzと言うことはVBの処理として 10mSecに一回の描画を行わなければなりません。これはちょっとVBでは無理です、そこで リサンプリングということを行います、たとえばデーターを10個ずつに分けて、その中の 最大値と最小値を抽出し、サンプリングデーター毎に書き込む代わりに、最大値と最小値を 10回に一回書き込みますこうすると処理が軽くなり、見た目もそれほど違和感がなくなり、 VBの描画処理も100mSecに1回で済みます、これなら可能でしょう。 さてTTTですが横送りの量で単位はtwipです、これを決めるには先ず画面に何秒のデーターを 表示するか、どのくらいの幅に表示するかを決める必要があります。 画面20cmの幅に10パルス(10秒間)表示する場合は、1cm=567tipsですから、 1パルスの幅は567(tips)x20(cm)/10(パルス数)=1134(tips)となり、これをリサンプルした10Hzで書き 込みますからTTT=113となります。20パルス表示したい場合はTTTはこの半分になります。 >送信間隔(VBから見れば受信間隔)が100Hzとは限りませんよね。 データーがサンプリング毎に送られてくるか、まとめて送られてくるかにも よりますが、データーは人は生きている限り永遠に送られるわけですから、 長い目で見ると、同期していると言っていいでしょう。とりあえず データーが送られてきたら表示するという方法で描画したらいかがでしょうか。 この辺を厳密にやりたいと場合は「タイムベースコレクタ」と言う方法を 使います。入ってくるデーターを一旦データーバッファに溜め込んで、正確な クロックで吐き出します。ただしこの方法は、送信側と受信側のクロックが 正確に合っていないと、長い間に誤差が生じデーターバッファがオーバーフロー するなどの問題が起きますのでその辺の対策は必要でしょう。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.