3

スループットを確認するために、Bluetoothチャットの例を変更しました。

  1. UIに送信ボタンを用意しました。これは事前定義された番号を送信します。サーバーソケットへのバイト数と確認応答を待機します

  2. ServerSocketは文字列を待機し、データを取得すると、確認応答を送信して応答します。

ここで、この接続のスループットは次のように計算しました。

  1. データ送信の開始時刻を記録します。

  2. 確認応答を受信すると、終了時刻を記録します。

  3. したがって、スループットは(データ送信サイズ+ ack受信サイズ)/所要時間になります。

結果は次のとおりです。

dataSent(KB)-------------------スループット(キロビット/秒)

1KB                         ~200Kbps

5KB                         ~560Kbps 

10KB                        ~688Kbps

50KB                        ~512Kbps

アプリケーションから取得したデータの一部によると、1KBや5KBのような低データの場合、スループットは低くなります。40KB程度まで増加しますが、50KB程度になると減少し始めます。受信側でガベージコレクションが発生していることがわかります。これにより、遅延が増加します。

これが正しい振る舞いであるかどうか知りたいです。1KBや5KBのスループットのようにデータが少ないと、スループットが向上するのはなぜですか。遅延を増やす可能性があると私が考えることができる事実は何ですか。これで、送信者が受信者から確認応答を受信したときにスループットが計算されます(完全なラウンドトリップ計算)。データを送信し、すべてを受信した後、受信機でスループットを計算するように、1回のトリップにすることはできますか?私はこれを試しましたが、2つの電話にミリ秒の違いがあり、間違った結果が出ることがありました。正しい振る舞いを理解するのを手伝ってください。

4

1 に答える 1

0

考えられる要因の 1 つは、Bluetooth が何らかの動的適応を実行することで、時間の経過とともに接続が改善され、実効スループットが向上することです。

1) 適応型周波数ホッピング (AFH): BT は Wi-Fi と同じ 2.4GHz スペクトルを使用するため、一部の BT チャネルを破壊し、再送信を引き起こす Wi-Fi トラフィックが発生する可能性があります。BT デバイスは時間の経過とともに干渉を検出し、干渉を回避するために使用する周波数を絶えず再ネゴシエートします。

2) チャネル品質主導の動的データ レート - BT デバイスは、高レート/低信頼性のパケットと低レート/高信頼性のパケットの使用を調整することで、最適なスループットを見つけるために物理データ レートを動的に変更します。

これらのタイプのアルゴリズムにより、時間の経過とともにスループットが向上する可能性があります。

于 2011-10-18T17:34:57.107 に答える