![]() ![]() ![]() | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
wireless_ | 投稿日時: 2015/11/20 17:20 |
新米 ![]() ![]() 登録日: 2015/10/13 居住地: 投稿: 9 |
s/n比の出力について s/n比の出力の仕方について質問させて頂きます。
信号を受け取るたびにs/n比を取得したいので、http://simweb.kke.co.jp/qualnet/forum/modules/newbb/viewtopic.php?topic_id=865&forum=46のスレッドを参考にPhy802_11SignalArrivalFromChannel関数の末尾にprintfで時間、送信端末ID,受信端末ID,s/n比を出力しようと考えました。 以下がコードですので何か間違っているところや、ほかにもっといい方法がありましたら、指摘していただけると幸いです。 void Phy802_11SignalArrivalFromChannel( ...省略 double noise = phy802_11->thisPhy->noise_mW_hz * phy802_11->channelBandwidth; double rxPower_mW = NON_DB(ANTENNA_GainForThisSignal(node, phyIndex, propRxInfo) + propRxInfo->rxPower_dBm); char clockStr[MAX_STRING_LENGTH]; TIME_PrintClockInSecond(getSimTime(node), clockStr); printf("%s rxNode %d txNode %d rxMsgPower_dBm %e \n", clockStr, node->nodeId, propRxInfo->txNodeId, IN_DB(rxPower_mW/noise)); fflush(stdout); } |
maxam | 投稿日時: 2015/11/22 2:00 |
常連 ![]() ![]() 登録日: 2006/4/11 居住地: 投稿: 58 |
Re: s/n比の出力について バージョンによって違うかも知れませんが
QualNet6.1だと802.11bで5.5M,11Mbpsの場合は double noise = phy802_11->thisPhy->noise_mW_hz * phy802_11->channelBandwidth; if (phy802_11->thisPhy->phyModel == PHY802_11b && (phy802_11->rxDataRateType == PHY802_11b__6M || phy802_11->rxDataRateType == PHY802_11b_11M)) { noise = noise * 11.0; } という計算がされているようです。 Phy802_11CheckRxPacketErrorにおけるnoise計算式に合わせれば良いかと。 # SINRじゃなくてSNRで良いのですね? |
wireless_ | 投稿日時: 2015/11/26 16:03 |
新米 ![]() ![]() 登録日: 2015/10/13 居住地: 投稿: 9 |
Re: s/n比の出力について ありがとうございます。
はい、SINRではなくSNRです。 今のところ11bの計測をする予定はないのでほかの部分はPhy802_11CheckRxPacketErrorと同じ計算をしているこのコードで良さそうですね。 ただ、ビルド関係のエラーが出てしまったので、新しいタイトルでスレッドを建ててその質問しようと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |