Java in Simulation Time: Difference between revisions
Jump to navigation
Jump to search
Content deleted Content added
| Line 7: | Line 7: | ||
computeAvgConnectivity |
computeAvgConnectivity |
||
==== Collisions ==== |
|||
* RadioNoiseIndep and RadioSimpleStochastic both do not implement packet collisions on radio level: |
|||
RadioNoiseIndep.receive(): |
|||
case Constants.RADIO_MODE_RECEIVING: |
|||
if(Main.ASSERT) Util.assertion(signals>0); |
|||
if(power_mW >= radioInfo.shared.threshold_mW |
|||
&& power_mW > signalPower_mW*thresholdSNR) |
|||
{ |
|||
lockSignal(msg, power_mW, duration); |
|||
} |
|||
break; |
|||
* RadioNoiseAdditive implements additive superposition of radio signals and packet collisions. A signal is received only if it is stronger than thresholdSNR multiplied with the sum of the power of all other signals. Otherwise all signals are scrambled. |
|||
RadioNoiseAdditive.receive(): |
|||
case Constants.RADIO_MODE_RECEIVING: |
|||
if(power_mW > signalPower_mW && power_mW >= totalPower_mW*thresholdSNR) |
|||
{ |
|||
lockSignal(msg, power_mW, duration); |
|||
setMode(Constants.RADIO_MODE_RECEIVING); |
|||
} |
|||
else if(type == SNR |
|||
&& signalPower_mW < (totalPower_mW-signalPower_mW+power_mW)*thresholdSNR) |
|||
{ |
|||
unlockSignal(); |
|||
setMode(Constants.RADIO_MODE_SENSING); |
|||
} |
|||
break; |
|||
=== Further Information === |
=== Further Information === |
||
Revision as of 21:26, 28 January 2006
Pitfalls
- Use Java 1.4 compatibility, BCel cannot handle Java 5.0
- If more than one node use the same NetAddress, the simulation aborts prematurely without any error message.
Interesting Things
computeAvgConnectivity
Collisions
- RadioNoiseIndep and RadioSimpleStochastic both do not implement packet collisions on radio level:
RadioNoiseIndep.receive():
case Constants.RADIO_MODE_RECEIVING:
if(Main.ASSERT) Util.assertion(signals>0);
if(power_mW >= radioInfo.shared.threshold_mW
&& power_mW > signalPower_mW*thresholdSNR)
{
lockSignal(msg, power_mW, duration);
}
break;
- RadioNoiseAdditive implements additive superposition of radio signals and packet collisions. A signal is received only if it is stronger than thresholdSNR multiplied with the sum of the power of all other signals. Otherwise all signals are scrambled.
RadioNoiseAdditive.receive():
case Constants.RADIO_MODE_RECEIVING:
if(power_mW > signalPower_mW && power_mW >= totalPower_mW*thresholdSNR)
{
lockSignal(msg, power_mW, duration);
setMode(Constants.RADIO_MODE_RECEIVING);
}
else if(type == SNR
&& signalPower_mW < (totalPower_mW-signalPower_mW+power_mW)*thresholdSNR)
{
unlockSignal();
setMode(Constants.RADIO_MODE_SENSING);
}
break;