Japan QualNet Community Forums Japan QualNet Community Forums
Welcome Guest 
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
検索
メインメニュー
アクセスカウンター
2024/05/15:15/21
2024/05/14:20/24

2024/03/16より391/1402
人気モジュール
No.1: フォーラム 72
No.2: ニュース 2
No.3: QualNet概要 1
日曜日からの合計
人気Browser&OS
No.1:巡回ロボット53
No.2:Unknown OS1

No.1:どっかの巡回ロボット48
No.2:Google巡回ロボット3
No.3:Majestic-12巡回ロボット2

日曜日からの合計
メイン
   Routing Protocols Implementation & Model Development
     RoutingでRSSIを使用する方法
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
Thams
投稿日時: 2008/5/23 0:40
半人前
登録日: 2007/10/3
居住地:
投稿: 26
RoutingでRSSIを使用する方法
いつもお世話になっています。

質問なのですが、AodvReplaceInsertRouteTable()で、PHY_SignalArrivalFromChannel()で得られるpropRxInfo->rxPower_dBmの受信電力と対応するノードIDを使用したいのですが、どのようにコーディングすればよいか分かりません。

よろしくお願いします。
mast
投稿日時: 2008/5/23 12:48
一人前
登録日: 2005/4/7
居住地:
投稿: 93
Re: RoutingでRSSIを使用する方法
PhyAbstractSignalArrivalFromChannel()で、以下のようなデバッグコードがあります。
  if (DEBUG) {
      printf("DEBUG: Node %d unable to lock on to new signal "
             "from node %d with rxPower (dB) = %f\n",
             node->nodeId,
             propRxInfo->txMsg->originatingNodeId,
             propRxInfo->rxPower_dBm);
      fflush(stdout);
  }

なので
まず、PHY_SignalArrivalFromChannel()で、propRxInfo->rxPower_dBmの受信電力と対応するノードIDを取得するには、propRxInfo->rxPower_dBmとpropRxInfo->txMsg->originatingNodeIdをどこかに覚えておけば良さそうじゃないですか?
※propRxInfo->txMsg->originatingNodeIdにちゃんと値が入ってるかどうかは確認してません。もし入ってなければ、送信時のどこかの関数(PHY_StartTransmittingSignal()など?)で送信者のノードIDを入れておいたら良さそうに思います。

次に、どこに覚えておけば良いか(AODVのコードからも見えるようにするにはどこに格納しておけば良いか)ですが、以下のフォーラムスレッドなどが参考になるんではないかと思います。

http://simweb.kke.co.jp/qualnet/forum/modules/newbb/viewtopic.php?topic_id=419&forum=45
Thams
投稿日時: 2008/5/23 16:40
半人前
登録日: 2007/10/3
居住地:
投稿: 26
Re: RoutingでRSSIを使用する方法
返信ありがとうございます。
参考のフォーラムスレッドを確認してコーディングしてみました。

・Message.hのmessage_strにRSSIを追加
・phy802_11SignalEndFromChannel()で、
 "propRxInfo->txMsg->myRSSI=propRxInfo->rxPower_dBm"を追加

そして、routing_aodv.cppのAodvReplaceInsertRouteTable()で
msg->myRSSIとしてprintしたのですが0と出力されてしまいました。

mac_dot11.cppの適当な箇所で出力したところ、問題なくRSSIの値がありました。

macからnetwork層にmessageが渡るときに問題があるのでしょうか?

Thams
投稿日時: 2008/6/20 17:34
半人前
登録日: 2007/10/3
居住地:
投稿: 26
Re: RoutingでRSSIを使用する方法
その後、network層でもmessageからRSSIを取得できるようになりました。
どうやら、msg->myRSSIを出力する関数が悪かったようです。
(関数の引数にMessage* msgがあっても。AodvTransmitData等)

AodvHandleRequest()の関数内では出力結果がちゃんと出力されました。

お騒がせしました。

Thams
投稿日時: 2008/6/20 17:35
半人前
登録日: 2007/10/3
居住地:
投稿: 26
Re: RoutingでRSSIを使用する方法


スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ
Copyright c KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
XOOPS Cube PROJECT