The SWANS physical layer components are responsible for modeling signal propagation among radios as well as the mobility of nodes. Radios make transmission downcalls to the simulation ``field'' and other radios on the ``field'' receive reception upcalls from it, if they are within range of the signal. Both the pathloss and fading models are functions that depend on the source and destination radio locations. Pathloss models include free-space, two-ray and table-driven pathloss. Fading models include none, Raleigh and Rician fading. Node mobility is implemented as an interface-based discretized model. Upon each node movement, the model is queried to schedule the next movement. The mobility models that are implemented include static and random-waypoint.
jist.swans.field.* | ||
interface | class | description |
FieldInterface | Field | centralized node container that performs mobility and signal propagation with fading and pathloss |
Fading | Fading.None | zero fading model |
Fading.Raleigh | Raleigh fading model | |
Fading.Rician | Rician fading model | |
Pathloss | Pathloss.FreeSpace | pathloss model based purely on distance |
Pathloss.TwoRay | pathloss model that incorporates ground reflection | |
Spatial | Spatial.Linear | signal propagation and location update performed via linked list of radios |
Spatial.Grid | as above, but performed using a more efficient flat grid structure of small ``Linear'' bins | |
Spatial.HierGrid | as above, but performed using a more consistently efficient hierarchical grid structure | |
...TiledWraparound | tile inner spatial structure in 3x3 grid so as to wrap field edges around into a torus | |
Placement | Placement.Random | uniformly random initial node placement |
Mobility | Mobility.Static | no mobility |
...RandomWaypoint | pick a random ``waypoint'' and walk towards it with some random velocity, then pause and repeat. | |
...RandomWalk | pick a direction, walk a certain distance in that direction, with some fixed and random component, reflecting off walls as necessary, then pause for some time and repeat. | |
Mobility.Teleport | pick a random location and teleport to it, then pause for some time, and repeat. |
The SWANS radio receives upcalls from the field entity and passes successfully received packets on to the link layer. It also receives downcalls from the link layer entity and passes them on to the field for propagation. We have implemented an independent interference radio, as in ns2, as well as an additive interference radio, as in GloMoSim. The independent interference model considers only signals destined for the target radio as interference. The additive model correctly considers all signals as contributing to the interference. Both radios are half-duplex, as in 802.11b. Radios are parameterized by frequency, transmission power, reception sensitivity and threshold, antenna gain, bandwidth and error model. Error models include bit-error rate and signal-to-noise threshold.
jist.swans.radio.* | ||
interface | class | description |
RadioInterface | RadioNoiseIndep | interference at radio consists only of other signals above a threshold that are destined for that same radio |
RadioNoiseAdditive | interference consists of all signals above a threshold | |
none | RadioInfo | unique and shared radio parameters |