2016-05-08 13 views
1

私はOmnet ++、静脈で作業しています。私はここに存在するコードを使用します:omnet ++ veins - RecievedBeaconとsentpacketの値について質問します

Flooding.nedも同じリンクにあります。

私はfloodingアプリケーションを使用しています。私はsentbeaconをtrueに割り当て、falseにデータを送信しました。はビーコン配信の確率を計算します。 すべての統計は上記のプロジェクトに記録されています。

はflooding.ccのために私はその後、私は送信されたパケットの数を記録したいので、私はMac1609_4.cc(コードはその一環であるこのファイルで変更recievedbeacon

void Flooding::onBeacon(WaveShortMessage *wsm) 
{ 
    // not used for this algorithm 

    // statistics recording 
     emit(beaconReceivedSignal, 1); 
     stats->updateAllBeaconsReceived(); 
} 

を記録する機能をonBeacon変更しましたファイルと私が変更した行だけです)。

void Mac1609_4::handleSelfMsg(cMessage* msg) 
{ 
    DBG_MAC << "Sending a Packet. Frequency " << freq << " Priority" << lastAC << std::endl; 
    sendDelayed(mac, RADIODELAY_11P, lowerLayerOut); 
    statsSentPackets++; 
    stats->updateAllpacketsent(); 
} 

統計number.Iが正しくビーコン配信の確率を計算するための式で助けを必要についての私の質問です。私は現実的な地図を使用して、私はプロジェクトを実行し、結果を得るとき、私は確率を計算する方法を知らなかった、私はエリア(RoiRect)に参加しようとするが、それでも私は同じ問題がある、正確な結果を得るために、特定の範囲の確率、または小さな領域を取るべきですか?

含まれる結果については、36ノードでシミュレーションを停止しました。 enter image description here

答えて

0

送信ビーコンのブロードキャスト性のためです。
ネットワークがN個のノードを含み、理想的な伝播条件が存在すると仮定すると、ノードが1つのビーコンパケットを送信すると、N-1個のノード(すなわち、他のすべてのノード)によって受信される。ところで

  • allSentBeacon = 1
  • allReceivedBeacon = N-1

:配信比率は次のように定義されなければならないという状況に:結果として
deliveryRatio = allReceivedBeacon/(allSentBeacon * (N-1))

+0

[OK]を、私はrecievedbroadcastがある理由を理解しますしかし、私はビーコン配信の確率を計算し、それを類似の値と比較したいと思っています。私が含む方程式は正しい値を与えません。添付されている画像をチェックして、パケットの送信数とパケットの送信数が異なる理由をお知らせください – phdstudent

+0

'allpacketsentSignal:vector(vector)= 39.0(77)'という行は、このシグナルが毎回77回、出力されるすべての値の_mean_値は39.0になります。あなたは疑問を広げて、この統計情報の 'NED'宣言とそれを含む' C++ 'コードを提供できますか?そして、あなたはいくつかのノードを書くことができますか? –

+0

'stats-> updateAllBeaconsReceived()'と 'stats-> updateAllpacketsent()'の様子はどうですか? –

関連する問題