Simulating Wireless Communication to study effects of elementary high-powered jamming attacks

5 min readOct 5, 2021

Jamming is a nasty problem to deal with in wireless communication. One of the reasons behind this is that studying jamming can be difficult due to regulations that forbid setting up jammers outside laboratory environments, even for research purposes. The exposed nature of wireless links opens the door for jamming technology to interfere with communication. Jamming can have many categories, such as Proactive and Reactive. There exists one main difference between Proactive and Reactive jammers. Reactive jammers listen for communication in the network and transmit based on the presence of communication by other nodes. Proactive jammers do not have the capability of checking for existing communication within the network.


In this study, the focus was placed on devising a method for studying the effects of elementary high-powered jamming attacks on ADS-B devices. The best option is a computer simulation since transmitting jamming signals and recording measurements is not possible due to laws. To simulate the signals, we need to follow a process outlined in the following figure.

The random bits transmission module

We will use MATLAB to simulate our desired scenarios. Its extensive arrays of modules allow us to Transmit, and receive instances of signals, apply random effects of the environment, and simulate effects of high-powered jamming in constant, deceptive, and random categories.

· Constant jammer: emit continuous signals containing random bits.

· Deceptive jammer: continuously transmits regular packets mimicking legitimate transmission.

· Random jammer: similar to constant jammer but it has a built-in time-out function.

For a complete picture of jammer-categorization refer to the chart below, taken from [1]. To readers interested in learning more about the different types of jammers, I suggest you read the references as it does a comprehensive job of explaining the different kinds of jammers.

Simulation Design

In the following paragraphs, I will focus on explaining the inner workings of the simulation. There are four main steps to be included in simulating wireless communication. 1) set up parameters, 2) set up communication functions, 3) transmit messages, 4) receive the message. Within the following steps, we perform sub-processes that allow us to simulate sending signal instances through a channel mimicking the effects of the environment. Within this environment, we can add the presence of jammers. The logic of jammer can be set up to mimic constant, deceptive, and random jammers. Figure 2 maps out a high-level representation of the relationship between modules. Specific modules with two different steps send data to each other. For example, “create eye object of signal” sends back signal instance data such as Energy to map out an eye diagram of the signal. The eye diagram will help us visually represent healthy and distorted signals.

Signal Information

Figures 4 and 5 show distorted and healthy signals mapped out on an eye diagram. The eye diagram will allow us to quickly identify a distorted signal by plotting digital signals from the receiver and applying them to the vertical input. In our next step, the data rate is used to trigger the horizontal sweep. The name comes from the series of eyes that appear together. Figure 5 maps out the points of interest when looking at a diagram. We will later extract information from figures like 4 and 5. These figures include information such as eye amplitude and delay. The following table 1 below represents a sample of the signal information generated by the simulation.

Figure 4 Distorted signal eye diagram
Figure 5 Healthy signal eye diagram
Figure 6 Eye diagram guide
Signal Data Sample

Table Definitions:

SNR: Signal to Noise ration

RMSEVM: Root Mean Square of Error Vector Magnitude

MAXEVM: Maximum Error Vector Magnitude

EYEAMP: Eye diagram amplitude

EYESNR: Eye diagram calculated SNR

EYEDELAY: Eye diagram calculated delay

ENERGY: Received Signal energy

BPR: Bad Packet Ratio

MEANEIGEN: Mean Eigen Value

Label: Manual label for healthy (0) and distorted (1) signals

The reason behind adding a manual label to this data set is that we will be using it to train a random forest algorithm on classifying healthy and jammed signals. More details of that portion of the project can be found in [5]. In order to access the source code of the simulation, please visit [6].

If you like to perform the same experiments you can access the source code using:


[1] Kanika Grover, Alvin Lim, Qing Yang. 2014. Jamming and anti-jamming techniques in wireless networks: a survey. In International Journal of Ad Hoc and Ubiquitous Computing, Vol. 17, issue 4. Pp 197–215.

[2] MATLAB software. Accessed: 9–5–2021

[3] Signals Dataset source file:

[4] M. R. Manesh, Mahdi Saeedi, E. Ghribi and N. Kaabouch, “Performance Comparison of Machine Learning Algorithms in Detecting Jamming Attacks on ADS-B Devices,” 2019 IEEE International Conference on Electro Information Technology (EIT), 2019, pp. 200–206, doi: 10.1109/EIT.2019.8833789.

[5] Random Forest Article