メイン Physical Layer Settings Broadcast packetを除いたRSSIの出力について | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
Broadcast packetを除いたRSSIの出力について | drafly | 2016/10/14 20:28 |
» Re: Broadcast packetを除いたRSSIの出力について | iposup | 2016/10/17 20:59 |
Re: Broadcast packetを除いたRSSIの出力について | drafly | 2016/10/18 15:35 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
iposup | 投稿日時: 2016/10/17 20:59 |
新米 登録日: 2016/10/17 居住地: 投稿: 1 |
Re: Broadcast packetを除いたRSSIの出力について drafly さん、こんにちは
一般的に(実世界では)PHYレイヤにおいて Broadcast など上位レイヤの情報を判定することはできません。 が、ここではシミュレーションとして送信元の上位レイヤが付加した情報を取り出す方法について書いてみます。 想定が間違っていたらすみません。 目的によりいくつかの方法が取れると思いますが、いずれも簡単にというわけにはいかず、 ある程度の実装ソースコードの理解と改修が必要です。 ヒントというか材料のようなものを提示するので、これを手掛かりにチャレンジしてみてください。 [MACヘッダの情報を取り出す方法例] ・受信したメッセージがパケットメッセージであれば、 PHYのヘッダを取り外すことにより上位のMACフレームを取り出すことができます。 ・ヘッダを取り外してMACに渡す処理が、ちょうど drafly さんが見られている Phy802_11a::signalEnd() にあると思うので参考にしてください。 ※MESSAGE_RemoveHeader() によるPLCPヘッダの取り外しの部分 ・MACヘッダの見方は、MACのプロトコルが何かに依存しますが、 drafly さんの例だと DOT11 だと思うので、mac_dot11.cpp の MacDot11ReceivePacketFromPhy() あたりを参考にされるとよいと思います。 MACレベルの Broadcast かどうかは、MACヘッダの destAddr から判定できます。 なお、上記の例はあくまでもMACレベルの情報を取り出すケースです。 MAC の Broadcast を単純に排除できたとしても、MACの制御フレームがまだ含まれると思います。 さらに drafly さんが計測したい RSSI が、CBR の終端ノード宛てのデータパケットだけなどの条件にしようとすると、 MAC より上のレイヤの例えばルーティングのパケットや、 IPレベルで自ノード宛てでない転送パケットも排除しなければならず、 単純にPHYで上位レイヤの中身を除き見ることは大変です。 |
フラット表示 | 前のトピック | 次のトピック |