0

現在、BlueTooth コネクタ経由でそれぞれ 64 バイトの 128 パックを送信しています。

これは組み込みシステムに由来し、データをグラフで表示する C# GUI に配信されます。組み込みシステムでコードを実行しています。GUI にコードを書きませんでした。しかし、UART とグラフ化に複数のスレッドを使用していることは確かです。各サンプルの長さは 64 バイトです。

次に、利用可能なデータ パスのオプションに USB を追加します。(現在、Bluetooth と UART があります)。

スキームを複製して、64 バイトの 128 個のブロブの同じセットを送信できます。

また、データを再配置して (私が思うに)、8,192 バイトの 1 つのブロブを 1 回のシューッという音で送信することもできます。

いずれにせよ、私にはかなりの量の作業が必要になります。

質問: 1 つの大きなブロブを使用すると、スループットが向上しますか? それとも、小さなブロブの束全体に固執し、すべてのスレッドに雑用を終わらせる時間を与えるべきですか?

4

1 に答える 1

1

この問題は、ナイキストのサンプリング定理を使用して解決されます。

ナイキスト サンプリング定理

基本的に、画面が 1 秒間に 60 回しか更新されず、システムが 60 秒で十分なデータを受信して​​グラフをリアルタイムで適切に更新できる場合、スループットを高くしても実際には何も得られません。グラフ化している曲線の粒度を細かくするだけです。現在取得しているものが十分に正確である場合、より高いスループットを求めることは単なる余分な作業です。

ラインを非常に正確に分析する必要がある場合は、余分なデータ ポイントをすべて取得するために、スループットが高いほど役立ちます。これは基本的に、グラフの解像度、画面の更新速度、およびチップからコンピューターにデータが送信される速度の間のジャグリングの問題です。

経験則として、1 秒あたり 200 データポイントを超えるものは、いたるところに異常な高周波スパイクがない最も単純な信号のビジュアルでは過剰です。データで何が行われるかによって、やり過ぎである場合とそうでない場合があります。これは、分析している信号に大きく依存します。周波数が非常に高い場合は、データポイントで信号をキャプチャするために、より頻繁にサンプリングする必要があります。

于 2013-03-26T15:44:05.713 に答える