Jln. Khatib Sulaiman Dalam No. 1, Padang, Indonesia
Website: ijcs.stmikindonesia.ac.id | E-mail: [email protected]
Multi-Layer Perceptron Neural Network Implementation as Train Type Classification
Anton Cahyo Saputro1, Amang Sudarsono1, Mike Yuliana3
1[email protected], 2[email protected], 3[email protected]
1Electrical Department, Politeknik Elektronika Negeri Surabaya
Article Information Abstract Submitted : 10 May 2023
Reviewed : 25 May 2023 Accepted : 27 Jun 2023
The purpose of train detection systems is to check that related track section is clear of vehicles before a train may be authorized to pass through a railroad.
The detection of the train is important task for ensuring the safety of train traffic. Multi-layer Perceptron classifier, which consists of feedforward neural networks constructed of multiple layers of interconnected artificial neurons, proved to be effective for trainset class classification in this study. Using Raspberry Pi and IMU sensor BNO055, dynamic response of any train type interaction can be handled by windowing and Real Fast Fourier Transform (RFFT). Dense layer with 5 neurons, using the ReLu activation function, and specifying the input shape as (6= 3-axis accelerometer in X, Y, and Z directions, and 3 axis directions from gyroscope). The classification process in this implementation, which consist of three classes of train types, has been completed with accuracy above 92,7%.
Keywords
Train Type Classification, Inertia Measurement Unit, Multi Layer Perceptron
A. Introduction
The main reason why railways require train detection is that trains cannot generally stop within the visible distance of the driver. When a train conductor observes a green signal, he is allowed to travel at the maximum speed permitted for his train at that location. Therefore, the signaling system must ensure that the line in front of the next signal is visible. (1) another reason is increasing demand for rail transport safety and expanding the capacity of the railway infrastructure. (2)
The axle counter is one of the most critical railway signaling devices, as it detects train wheels and determines the clearance or occupancy of a track section. The detector detects the wheels by analyzing variations in the magnetic coupling between the coils positioned on either side of the rail. With the increased use of power-electronic systems and semiconductor devices in railcars, electromagnetic noises are increasing in the environment of railway lines. (3) There are two axle counters in rail, one transmitter, and one receiver. If the train is not passing, a magnetic field is set up between the coils. When a trail wheel moves along the rail and coils, the magnetic field gets mixed up, and the energy in the coils changes. By looking at the change in the injected voltage, it can tell that the train is there.(4) However, axle counters are not without issues. An axle-counter section cannot be 'occupied' by using a track-circuit operating clip to protect a train, nor will an axle- counter system detect a broken rail and interference voltage.(5)
Consequently, numerous recent research papers propose a new simple sensor technology, such as the fibre Bragg grating sensor(6)(7)(8)(9)to improve the precision and dependability of the train detection in the signaling system. Other research have used IR transmitter and receiver. (10-12) However, an IR receiver and transmitter are able to identify the rail's fractures. As far as additional works applying image processing techniques(13-15) for rail monitoring involve, they are efficient. To monitor trains and railways at night, however, high-performance cameras are required, which undoubtedly will raise the system's cost and energy consumption, not to mention the inability to achieve real-time monitoring over the long term.
At the same time, the use of embedded devices and Inertia Measurement Units (IMU) sensors offers an innovative method to monitor train parameters. IMU sensors are distinguished by their compact size, low cost, and low power consumption. They are able to processing data from detection to computation. (16) The US patent titled Railway system using acoustic monitoring describes one of the most inventive approaches to railway safety systems[17]. It is founded on a method of monitoring a railway system comprising a track and a train using an acoustic transducer. Proposed system is a train detection module based on the phenomenon that train passages generate a significant amount of noise and vibration. Considering this is also supported that vibration from train is actual issue for the consequence of railway traffic and it can become one of effective signaling system solution.(18)
The processing of immense quantities of data can be facilitated by machine learning techniques. Support vector machines (SVMs)(20) and Long Short Term Memory (LSTM)(21) have already been implemented for train detection monitoring in switches and crossing with 3 axis from accelerometer.
This research is evaluating local features on a IMU sensor implemented on a straight track railway with embedded device. We propose for train type
classification consist of passage car and gangway in one trainset, so it will approach the function from axle counter to detect and count train passed by. Machine learning is deployed in embedded device Raspberry Pi 4B with power supply module.
B. Research Method
We created a system design for train detection that could be applied directly on the railroad. Using an embedded platform to execute a computational neural network model, the system can detect passing trains and differentiate between the passenger/freight carriages and gangway in trains. Figure 1 illustrates the placement and operation of the embedded system scenario.
Figure1. Illustration system of Proposed Train Detection using MLP
The structural block diagram illustrated in Figure 2 consists of a sensing module, a data processing module, and a power supply module. The sensing module is primarily used for rail vibration acceleration data acquisition. The data processing module controls the entire program flow and analyzes and processes the collected vibration data. The orientation module's analysis results are uploaded to the PC user server via the onboard wireless in raspberry pi 4B. The power module is used to supply other modules with an appropriate voltage.
Figure 2. Block diagram of the wireless sensing device
1. Dataset
This part describes the different kinds of trains in the dataset, which consists of train running events documented by sensors and video recorded for analysis and could be used as an indicator to evaluate the sensor detection system's accuracy.
The dataset consists of 4 types of train that each pass through the sensor five times.
Type of train namely Sancaka, Argo Wilis, Pasundan, and Gaya Baru Malam Selatan.
Dataset used for train detection computation was obtained through on-site measurements from an IMU sensor placed at the waist-rail by the railroad like [22]
research discussing vibration analysis of rail train arrival detection. It is shown in figure 4. The standard waist rail lacked any moveable components. The measured magnitude is selected as the vertical acceleration of the carrier under the waist rail, as this is where the most significant dynamic effects on bearers occur. Any damage to the track bed would undoubtedly affect the frequency response. Figure 3 displays an example of an acceleration plot seen during train’s passage. Therefore, passing trains created greater acceleration impulses as a result of the disruption of the rail's continuity caused by the wheels of the passing train contacting the rail. The full dataset contains signals from a 3-axis accelerometer in X, Y, and Z directions, and 3 axis directions from gyroscope. This study selected the BNO055 sensor to adapt to the railway field environment and meet the design requirements for low power consumption and small dimensions. The output of IMU sensor BNO055 is as follows:
Acceleration Vector, Linear Acceleration Vector, Absolute Orientation (Euler Vector and Quartenion), Angular Velocity Vector, Gravity Vector, Magnetic Field Strength Vector, and Temperature. In this study, nevertheless, only used data from accelerometers and gyroscopes.
Figure 3. Z-axis acceleration raw data from train passing
Figure 4. (a) IMU installation at waist rail, (b) snapshot from the video recording when train passing by
1.1 Data Preprocessing
To obtain a high-quality and consistent experimental dataset, the dataset should be precise and ready for learning on neural network model. Signal preprocessing using RFFT algorithm is a common technique in digital signal processing. The RFFT algorithm is used to convert a time-domain signal into its frequency-domain representation, which can then be used for various signal analysis and processing tasks. Preprocessing the signal using RFFT can improve the accuracy of subsequent signal processing operations, such as filtering, feature extraction, and classification.
Preprocessing steps using RFFT algorithm in this study, typically involve the following steps:
1. Signal acquisition: to acquire the time-domain signal using raw dataset from the IMU.
2. Windowing: apply a window function to the input signal to reduce the spectral leakage caused by the finite length of the signal. This helps to improve the resolution of the frequency components in the resulting spectrum from train vibration.
3. RFFT computation: The final step is to compute the RFFT signal using the algorithm mentioned earlier. The RFFT computes the Fourier coefficients of the real-valued input signal and returns the non-negative frequency components of the spectrum. The equation for the RFFT can be expressed as follows:
Given a real-valued input signal x[n] of length N, the RFFT algorithm computes the N/2+1 non-negative frequency components of the DFT, denoted by X[k] for k=0, 1,...,N/2. The RFFT can be expressed as:
𝑋[𝑘] = (𝑎[𝑘] − 𝑖𝑏[𝑘])/2 for 𝑘 = 1, … , 𝑁/2 (1)
𝑋[𝑁 − 𝑘] = (𝑎[𝑘] − 𝑖𝑏[𝑘])/2 for 𝑘 = 1, … ,𝑁
2− 1 (2)
Where 𝑎[𝑘] and 𝑏[𝑘] are the real and imaginary parts of the 𝑘𝑡ℎ Fourier coefficient, respectively, and are given by:
𝑎[𝑘] = (1
𝑁) ∗ 𝑆𝑢𝑚{𝑛=0}{𝑁−1}𝑥[𝑛]∗ cos(2𝜋𝑘𝑛
𝑁 ) (3)
𝑏[𝑘] = (1
𝑁) ∗ 𝑆𝑢𝑚{𝑛=0}{𝑁−1}𝑥[𝑛]∗ sin(2𝜋𝑘𝑛
𝑁 ) (4)
This equation expresses the computation of the RFFT as a combination of cosine and sine functions of the input signal x[n]. The RFFT algorithm efficiently computes these Fourier coefficients using a recursive Cooley-Tukey FFT algorithm, which takes advantage of the conjugate symmetry property of the Fourier coefficients.
1.2 Min-Max Normalization
The min-max normalization is a method that performs a linear transformation of the original data to produce a balance of comparison values between data. Railway vibrations are dynamic and differ from a straight line. This
problem is solved by normalizing the data. Because the main point of data normalization is to make sure the data is correct before it goes into a model, it substantially influences the performance of any model. This normalization process is applied to train vibration data prior to the technical analysis transformation in order to avoid significant feature value anomalies. The min-max normalization formula given by:
𝑦𝑠𝑐𝑎𝑙𝑒𝑑 = 𝑦−𝑦𝑚𝑖𝑛
𝑦 max −𝑦𝑚𝑖𝑛 (5)
Normalization of the data is necessary for this model because it enables the attribute to be scaled to the exact range required by the activation function. The method makes sure that all characteristics have identical scales, but it is insufficient when dealing with outliers. Equation 5 depicts the min-max algorithm, which generates normalized data with fewer gaps between 0 and 1. where "y" is a min-max state when scaled. y is the first data, y min is the lowest data, and y max is the largest data.
The calculated data will be generated more efficiently by utilizing (l).
Figure 5. Acceleration plot from waist-rail 1.3 Multi-Layer Perceptron
MLP is a type of neural network that can learn non-linear relationships between input and output data. There are include with multiple hidden layers, and the neurons between adjacent layers are connected [12] The architecture of the model is shown in Figure 4, and the parameters of the MLP are summarized in Table 2. The parameter selection involved in the proposed MLP is based on the experience and experiment.
As for the hidden layers’ selection, the comparison experiment is conducted by setting 2, 4, 6 and 8 hidden layers, and the result (Figure 6).
Table 1. Experiment using MLP parameter values
No Parameter Value
1 Input variables Train vibration
2 Activation function ReLu
3 Classification rule Based on probability of each class
4 Number of hidden layers 4
5 Number of neuron in the first layer 30
6 number of neurons in the second layer 30
7 Learning rate 10−4
8 training epochs 2000
9 batch size 100
10 display step 1
11 number of classes 2
Figure 6. MLP architecture in current research
The general architecture of the MLP model is shown in Figure 6. The performance of neural network architectures for train classification was tested.
Neural network model Multi-Layer Perceptron (MLP) fully connected to hidden layers.
Sequential was used to construct a linear stack of layers for building neural networks. The process of building neural networks need to be simplified by providing a way to add layers to the model in a sequential order. Dense layer with 5 neurons, using the ReLu activation function, and specifying the input shape as (6=
3-axis accelerometer in X, Y, and Z directions, and 3 axis directions from gyroscope).
ReLu activation function in the hidden layers, allowed the network to learn non- linear transformations of the input data, which can help it to model more complex relationship between the input features and the output predictions. The activation function can be represented by the following equation:
𝑅𝑒𝐿𝑢(𝑥) = max(0, 𝑥) (6)
where ′𝑥′ is the input to the activation function. The ReLu activation function is applied elementwise to the outputs of the dense layers in the MLP. If ′𝑥′ is the weighted sum of the inputs to a given neuron in one of these layers, then the output of that neuron after applying the ReLu activation function would be:
𝑎 = 𝑅𝑒𝐿𝑢(𝑧) = max(0, 𝑧) (7)
this means that if ′𝑧′ is negative, then the ReLu function returns zero, effectively
“turning off” the neuron. If ′𝑧′ is positive, then the ReLu function returns ′𝑧′ itself, allowing the neuron to fire and propagate its output to the next layer of the network.
The next hidden layer has the same arrangement as the previous layer.
In the output layer has 2 neurons that use the sigmoid activation function. This activation function used non-linear activation function that maps any input value to a range between 0 and 1. ‘1’ means train detected, and ‘0’ means gangway from train.
It is defined as:
𝑠𝑖𝑔𝑚𝑜𝑖𝑑(𝑥) = 1/(1 + 𝑒𝑥𝑝(−𝑥)) (8)
where ‘x’ is the input to the activation function and exp is the exponential function.
The optimizer argument specifies the optimization algorithm to use during training. In this study, Adam optimizer was used, which is a popular optimization algorithm that combines ideas from both momentum and RMSProp. The Adam optimizer works well in practice for a wide range of deep learning problems, as it adapts the learning rate of each parameter based on its historical gradients and the current iteration.
The loss argument specifies the loss function to use during training.
categorical_crossentropy loss function is used, which is a common loss function used for multi-class classification problems. This loss function measures the difference between the predicted probability distribution and the true probability distribution of the target labels. The categorical cross-entropy loss function is appropriate here since the output layer of neural network has two neurons output and the problem is a binary classification problem. This automatically classify between ‘train’, ‘no train’, and ‘gangway’ class.
The ‘fit’ method was used to train the ‘model_1’ neural network. The ‘X_train’
and ‘Y_train’ datasets were passed to the ‘fit’ method to train the model. The training was done over 2000 epochs with a batch size of 64. Additionally, the ‘X_test’ and
‘Y_test’ datasets were used for validation during the training process. The training information was stored in the ‘training_info1’ variable.
Evaluation Classification Accuracy
The ‘categorical_crossentropy’ loss function is used to compute the difference between the predicted probabilities and the actual target labels. The confusion matrix is used to monitor the accuracy of the predictions during training.
We passed the test data X_test and Y_test to the evaluate method, which computed the loss and evaluation metrics (including accuracy) on the test data. We stored the results in the loss, categorical_crossentropy, and acc variables. Finally, we printed the accuracy of the model on the test data.
C. Result and Discussion Feature Extraction Analysis
Dataset used in this study is from an IMU sensor placed at the waist-rail by the railroad. IMU sensor placed at the waist-rail by the road because of the maximal dynamical effects on rails during the train passage. Where the data will be analyzed for features consisting of gyroscope and accelerometer.
Dataset for training was obtained from 14 records of 4 type trainset with 4 data collections at a sampling rate of 100 Hz, a sensitivity of ±4g, and a resolution of 10 bits. Each record adjusted to the schedule of trains passing thorugh the tracks. A video recorder is positioned for annotation and evaluation that the dataset matches when the train passes the sensor point.
Figure 3 shows the sample raw data for Sancaka train in z axis accelerometer.
This mixed class express train is connecting the two cities through the Surabaya Gubeng Station and Yogyakarta Tugu Station. From dataset extraction with visual observation, it shows that the vibration can be divided from the train set. Each carriage consists of several train axles. By computing the peaks, we classify the dataset like shown in table 1.
Table 2. Data Classification from train vibration
No Class Description
1 Traincar The quantity of train vibrations as measured by the maximum and mean amplitudes.
2 Gangway Distance between mean of peaks 3 No Train Condition before and after data reading
Figure 7. Detection of the peak from window size
Applying the 100 Hz sample rate of the IMU BNO055 sensor, the following range of window size was identified as being of relevance. It determined by specified in terms of samples or the duration of the window in the time domain. It was found that the spesific range of window size was appropriate for assesment : from 4 to 24 even numbers as data points.
To prevent unwanted random fluctuations or disturbances that are present in vibration signal, especially distance between traincar known as the “gangway” in our class, RFFT has been used. When using a finite-length window function shown in figure 7, the main lobe of the window's frequency response spreads energy from a single frequency component to neighboring frequencies. This spreading, known as
spectral leakage, can result in frequency smearing or decreased frequency resolution.
Figure 8. Confusion Matrix using MLP classifier Classification Result Analysis
This section analyses the performance of train classifications from railroad vibration. This method is experimented on four Indonesian train type, namely Sancaka(SCA), Argo Wilis(AW), Pasundan(PSD), Gaya Baru Malam Selatan(GBMS).
Table 3. Composition of Training and Testing Data
Data Type Percentage (%) Amount
Training Data 80 1979
Testing Data 20 495
Total 100 2474
Each train dataset contains 2474 rows of train vibration from railroad KM 8 from the Surabaya Gubeng Station. The features and labels are split into training and testing data shown in table 3.
Table 4. Classification Test Accuracy
Predicted Class Percentage (%)
Train 96,5
No Train 98,7
Gangway 92,07
First, the experiment is carried out get classification test accuracy based on confusion matrix value process shown in figure 8. As indicated in table 4, the highest accuracy is 98,7% as shown by “No Train” class, as there are no train passing by. The lowest accuracy is “gangway” as distance between traincar with 92,07 accuracy. A fairly good accuracy when model can detect “Train” class with 96,5% accuracy.
Table 5. Prediction Accuracy with Train Type Dataset
Train type
parameter Classification Accuracy of each train type (%)
No Train Train Gangway
SCA 100 95,3 91,3
AW 96,6 93,1 92,1
PSD 92,1 90 90
GBMS 98,2 93,3 92,7
With four types of trainset as the test subjects to determine the model accuracy on tested dataset, the train class experiences a decrease in accuracy on AW, PSD, and GBMS in the no train class. The highest accuracy value is found in the Sancaka trainset with a 100% accuracy score in the same class. Pasundan has the lowest accuracy, especially when classifying train and gangway classes. For each prediction takes an interval of 1,62 s generated in this test.
D. Conclusion
This study proposes a new train type classification using train vibration using Multilayer Perceptron Classifier. Using signal acquisition, windowing, and RFFT to obtain the corresponding frequency domain signal. The time domain signal represents the time-domain samples that correspond to the given frequency component. By computing the RFFT, it has transformed the frequency domain signal back into the time domain, allowing to process the time-domain samples to the train type class.
Multi-layer Perceptron classifier, which feedforward neural networks that are composed of multiple layers of interconnected artificial neurons proved to apply trainset class classification on this study. For the construction of neural networks, it is consist of Dense layer with 5 neurons, ReLu activation function, and input shape (6= 3-axis accelerometer in X, Y, and Z directions, and 3 axis directions from gyroscope). The ReLu activation function in the hidden layers enabled the network to learn non-linear transformations of the input data, enabling it to model a more intricate relationship between the input features and the output predictions.
Achievement of this classification process that consists of 3 train types class, namely Train get the highest accuracy reaches value 98,7%. A fairly good score is demonstrated by the no train class with 96.5% accuracy and the gangway class with 92.07% accuracy.
E. Acknowledgment
The author is grateful to The Ministry of Research and Higher Education of the Republic of Indonesia for supporting this work through the Besiswa Pendidikan Indonesia Scholarship for the financial year 2021, as well as the laboratory members for their assistance during experimentation.
F. References
[1] J. W. Palmer, "The need for train detection," IET Professional Development Course on Railway Signalling and Control Systems (RSCS 2010), Birmingham, UK, pp. 52-64, 2010.
[2] J. Hanzl, L. Bartuska, and K. Jeřábek, "Train Location Detection Methods used in the Czech Republic," in Proceedings of the International Conference on Economics, Management, and Technology in Enterprises 2019 (EMT 2019), 2019.
[3] Ogawa, T., Wakao, S., Kondo, K., and Terauchi N. “Theoretical analysis of return current harmonics in the inverter-controlled DC electric railcar,”
IEEE Power Electron. Specialists Conf. (PESC04), Aachen, Germany, pp. 711–
716, 2004.
[4] Zamani A, Mirabadi A. "Optimization of sensor orientation in railway wheel detector, using Kriging method,” J Electromagnet Anal Appl. 2011.
[5] "Train Detection," Rail Engineer, [Online]. Available:
https://www.railengineer.co.uk/train-detection/. [Accessed: Jan 28, 2023].
[6] F. Mennella, A. Laudati, M. Esposito, A. Cusano, A. Cutolo, M. Giordano, S.
Campopiano, and G. Breglio, "Railway monitoring and train tracking by fiber Bragg grating sensors," in Proceedings of SPIE, vol. 6619, 66193H, 2007, doi:
10.1117/12.738593.
[7] L. Maurin, J. Boussoir, S. Rougeault, M. Bugaud, P. Ferdinand, A.G. Landrot, Y.- H. Grunevald, and T. Chauvin, "FBG-based smart composite bogies for railway applications," in The 15th Optical Fiber Sensors Conference Technical Digest, vol. 1, pp. 91-94, 2002, doi: 10.1109/OFS.2002.1000509.
[8] C. Wei, Q. Xin, W. Chung, S.-Y. Liu, H. Tam, and S.L. Ho, "Real-Time Train Wheel Condition Monitoring by Fiber Bragg Grating Sensors," International Journal of Distributed Sensor Networks (IJDSN), vol. 2012, Article ID 409048, 2012, doi: 10.1155/2012/409048.
[9] W. Li, N. Jiang, J. Liu, and Y. Zhang, "Train axle counters by Bragg and chirped grating techniques," in Proceedings of SPIE, vol. 7004, 19th International Conference on Optical Fibre Sensors, 70045J, May 16, 2008, doi:
10.1117/12.786519.
[10] R.V. Pise and P.D. Nikhar, "Review on Railway Track Crack Detection Using IR Transmitter and Receiver," International Research Journal of Engineering and Technology (IRJET), vol. 4, no. 1, pp. 1723-1726, 2017. [Online]. Available:
https://www.irjet.net/archives/V4/i1/IRJET-V4I121.pdf.
[11] B.S.R. Krishna, D.V.S. Seshendra, G.G. Raja, T. Sudharshan, and K. Srikanth,
"Railway Track Fault Detection System by Using IR Sensors and Bluetooth Technology," Asian Journal of Applied Science and Technology (AJAST), vol. 1, no. 6, pp. 82-84, 2017.
[12] P. Lad and M. Pawar, "Evolution of railway track crack detection system," in 2016 2nd IEEE International Symposium on Robotics and Manufacturing Automation (ROMA), 2016, pp. 1-6, 2016.
[13] H. Trinh, N. Haas, Y. Li, C. Otto, and S. Pankanti, “Enhanced rail component detection and consolidation for rail track inspection,” Proc. IEEE Work.
Appl. Comput. Vis., pp. 289–295, 2012.
[14] S. Faghih-Roohi, S. Hajizadeh, A. Nunez, R. Babuska, and B. De Schutter, “Deep convolutional neural networks for detection of rail surface defects,” Proc.
Int. Jt. Conf. Neural Networks, vol. 2016-Octob, pp. 2584–2589, 2016.
[15] M. Karakose, O. Yaman, M. Baygin, K. Murat, and E. Akin, “A New Computer Vision Based Method for Rail Track Detection and Fault Diagnosis in Railways,” Int. J. Mech. Eng. Robot. Res., vol. 6, no. 1, pp. 22–27, 2017.
[16] D. Milne et al., “Proving MEMS Technologies for Smarter Railway Infrastructure,” Procedia Eng., vol. 143, pp. 1077–1084, 2016.
[17] S. Chadwick et al., "Railway system using acoustic monitoring," U.S. Patent 8,985,523, Mar. 24, 2015.
[18] B. Picoux and D. Le Houedec, "Diagnosis and prediction of vibration from railway trains," Soil Dynamics and Earthquake Engineering, vol. 25, pp. 905- 921, 2005.
[19] E. Berlin and K. Van Laerhoven, “Sensor networks for railway monitoring:
detecting trains from their distributed vibration footprints,” in Proceedings of the 2013 IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS), Cambridge, MA, USA, May 2013.
[20] M. Kratochvílová, J. Podroužek, J. Apeltauer, I. Vukušič, and O. Plášek, "Train Type Identification at S&C," Journal of Advanced Transportation, vol. 2020, Article ID 8849734, 12 pages, 2020. doi: 10.1155/2020/8849734.
[21] R. Krč, J. Podroužek, M. Kratochvílová, I. Vukušič, and O. Plášek, "Neural Network-Based Train Identification in Railway Switches and Crossings Using Accelerometer Data," Journal of Advanced Transportation, vol. 2020, Article ID 8841810, 10 pages, 2020. doi: 10.1155/2020/8841810.
[22] A. Suharjono, E. D. Wardihani, and Y. F. K. Hardani, "Analysis of the vibration signal detection for rail train arrival," in 2017 IEEE International Conference on Communication, Networks, and Satellite (Comnetsat), 2017.