NoiseSource¶
Package: inet.physicallayer.wireless.noise
compound module NoiseSource
A network node that generates periodic noise transmissions that can interfere with wireless communications. Alternates between sleep and transmission states based on configurable intervals. Uses a NoiseTransmitter to create noise signals with specified duration, frequency, bandwidth, and power parameters. Useful for testing protocol robustness against interference in wireless networks.
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
compound module |
Base module for all INET compound modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
radioMediumModule |
string |
“radioMedium” |
Module path of the medium module where this radio communicates |
sleepInterval |
double |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
NoiseSource |
|
display |
i=block/wtx |
|
networkNode |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
upperLayerIn |
input |
||
upperLayerOut |
output |
||
radioIn |
input |
Unassigned submodule parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
mobility.displayStringTextFormat |
string |
“p: {position}\nv: {velocity}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
mobility.subjectModule |
string |
“^” |
The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module |
mobility.coordinateSystemModule |
string |
“” |
The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive) |
mobility.updateDisplayString |
bool |
true |
Enables continuous update of the subject module’s position by modifying its display string |
mobility.constraintAreaMinX |
double |
-inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
mobility.constraintAreaMinY |
double |
-inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
mobility.constraintAreaMinZ |
double |
-inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
mobility.constraintAreaMaxX |
double |
inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
mobility.constraintAreaMaxY |
double |
inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
mobility.constraintAreaMaxZ |
double |
inf m |
The maximum z position of the constraint area. It is unconstrained by default (positive infinity) |
mobility.initialX |
double |
uniform(this.constraintAreaMinX, this.constraintAreaMaxX) |
|
mobility.initialY |
double |
uniform(this.constraintAreaMinY, this.constraintAreaMaxY) |
|
mobility.initialZ |
double |
nanToZero(uniform(this.constraintAreaMinZ, this.constraintAreaMaxZ)) |
|
mobility.initialLatitude |
double |
nan deg |
|
mobility.initialLongitude |
double |
nan deg |
|
mobility.initialAltitude |
double |
0m |
|
mobility.initialHeading |
double |
0deg |
|
mobility.initialElevation |
double |
0deg |
|
mobility.initialBank |
double |
0deg |
|
mobility.initFromDisplayString |
bool |
true |
Enables one-time initialization from the subject module’s display string |
mobility.updateFromDisplayString |
bool |
true |
Enables continuous update from the subject module’s display string for dragging and rotating it |
Source code¶
//
// A network node that generates periodic noise transmissions that can interfere
// with wireless communications. Alternates between sleep and transmission states
// based on configurable intervals. Uses a ~NoiseTransmitter to create noise signals
// with specified duration, frequency, bandwidth, and power parameters. Useful for
// testing protocol robustness against interference in wireless networks.
//
module NoiseSource extends Module like IRadio
{
parameters:
string radioMediumModule = default("radioMedium"); // Module path of the medium module where this radio communicates
volatile double sleepInterval @unit(s);
*.mobilityModule = default(absPath(".mobility"));
@networkNode;
@class(NoiseSource);
@display("i=block/wtx");
gates:
input upperLayerIn @labels(ILinkLayerFrame/down) @loose;
output upperLayerOut @labels(ILinkLayerFrame/up) @loose;
input radioIn @labels(IWirelessSignal) @loose;
submodules:
mobility: <default("StationaryMobility")> like IMobility {
parameters:
@display("p=100,100");
}
antenna: <default("IsotropicAntenna")> like IAntenna {
parameters:
@display("p=100,200");
}
transmitter: <default("NoiseTransmitter")> like ITransmitter {
parameters:
@display("p=100,300");
}
}