197,99 €
The purpose of this book is first to study MATLAB programming concepts, then the basic concepts of modeling and simulation analysis, particularly focus on digital communication simulation. The book will cover the topics practically to describe network routing simulation using MATLAB tool. It will cover the dimensions' like Wireless network and WSN simulation using MATLAB, then depict the modeling and simulation of vehicles power network in detail along with considering different case studies. Key features of the book include: * Discusses different basics and advanced methodology with their fundamental concepts of exploration and exploitation in NETWORK SIMULATION. * Elaborates practice questions and simulations in MATLAB * Student-friendly and Concise * Useful for UG and PG level research scholar * Aimed at Practical approach for network simulation with more programs with step by step comments. * Based on the Latest technologies, coverage of wireless simulation and WSN concepts and implementations
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 483
Veröffentlichungsjahr: 2019
Cover
List of Figures
List of Tables
Foreword
Preface
Acknowledgments
Acronyms
Chapter 1: Introduction to Modeling, Simulations and Analysis
1.1 MATLAB Modeling and Simulation
1.2 Computer Networks Performance Modeling and Simulation
1.3 Discrete-Event Simulation for MATLAB
1.4 Simulation Software Selection for MATLAB
1.5 Simulation Tools Based on High Performance
1.6 Conclusion
References
Chapter 2: Introduction to MATLAB Programming
2.1 Introduction
2.2 Basic Features
2.3 Notation, Syntax, and Operations
2.4 Import and Export Operations
2.5 Elements
2.6 Plotting
2.7 Uncommon Function
2.8 Executable Files Generation
2.9 Calling and Accumulating Executable Documents
2.10 Calling Objects from External Programs
2.11 JAVA Classes
2.12 The Guide
2.13 Effective Programming through MATLAB
2.14 Clones Process Using MATLAB
2.15 Parallel MATLAB System
2.16 Conclusion
References
Chapter 3: Digital Communication System Simulation Using MATLAB
3.1 Introduction to Digital Communication
3.2 Simulation of Rayleigh Fading Model
3.3 BPSK Modulation and Demodulation
3.4 QPSK Modulation and Demodulation
3.5 Image Error Rate vs Signal-to-Noise Ratio
3.6 Recreation of OFDM Framework
3.7 Conclusion
References
Chapter 4: Statistical Analysis of Network Data Using MATLAB
4.1 Introduction to Association Networks
4.2 Time Series, Stationary, Time Series Decomposition, De-trending
4.3 Autocorrelation, Test for Independence, Linear Autoregressive Models
4.4 Mutual Information and Test for Independence
4.5 Spurious Cross-Correlation, Vector Autoregressive Models and Dynamic Regression Models
4.6 Conclusion
References
Chapter 5: Network Routing Simulation Using MATLAB
5.1 Evaluation of Granger Causality Measures on Known Systems
5.2 Demand Modeling and Performance Measurement
5.3 Universal Algorithms and Sequential Algorithms
5.4 Acoustic-Centric and Radio-Centric Algorithms
5.5 AODV Routing Protocol
5.6 Conclusion
References
Chapter 6: Wireless Network Simulation Using MATLAB
6.1 Radio Propagation for Shadowing Methods
6.2 Mobility: Arbitrary Waypoint Demonstrates
6.3 PHY: SNR-Based Bundle Catches, Communication, Dynamic Transmission Rate and Power
6.4 NET: Ad Hoc Routing
6.5 APP: Overlay Routing Protocols
6.6 Conclusion
References
Chapter 7: Mobility Modeling for Vehicular Communication Networks Using MATLAB
7.1 Vehicle Network Toolbox
7.2 Network Management (NM)
7.3 Interaction Layer
7.4 Transport Protocols
7.5 Conclusion
References
Chapter 8: Case Studies And Sample Codes
8.1 Case Determination and Structure
8.2 Case Study 1: Gas Online
8.3 Case Study 2
8.4 Case Study 3: Random Waypoint Mobility Model
8.5 Case Study 4: Node localization in Wireless Sensor Network
8.6 Case Study 5: LEACH Routing Protocol for a WSN
8.7 Conclusion
References
Authors
End User License Agreement
Cover
Table of Contents
Begin Reading
Chapter 1
Figure 1.1
System modeling and simulation scheme.
Figure 1.2
Network simulator abstraction.
Figure 1.3
Discrete-event simulation.
Figure 1.4
Principles of discrete-event simulation and the system state changes only at...
Figure 1.5
Flow chart explaining a discrete-event test system.
Figure 1.6
Wireless sensor network model.
Figure 1.7
Tier-based node model.
Chapter 2
Figure 2.1
MathWorks MATLAB R2018b...
Figure 2.2
MATLAB decision.
Figure 2.3
MATLAB loops.
Figure 2.4
MATLAB elements.
Figure 2.5
Create an M-File.
Figure 2.6
How to add new toolbox to MATLAB.
Figure 2.7
Initializing deploy tool in MATLAB.
Figure 2.8
Initializing standalone application.
Figure 2.9
Initilazing toolboxes required.
Figure 2.10
Inspecting MATLAB GUI.
Figure 2.11
Simple GUI.
Figure 2.12
Selecting callback options.
Figure 2.13
Selecting callback options 2.
Figure 2.14
Running script as batch job.
Chapter 3
Figure 3.1
Data transmission system.
Figure 3.2
Time domain and frequency domain representation of a signal.
Figure 3.3
Analog-to-digital conversion.
Figure 3.4
Upper panel: Periodic sampling of an analog signal. Bottom panel: Quantization...
Figure 3.5
Simulation results.
Figure 3.6
BPSK modulator.
Figure 3.7
BPSK demodulator.
Figure 3.8
Sampling and results.
Figure 3.9
Waveform simulation model for QPSK modulation.
Figure 3.10
Timing diagram for BPSK and QPSK modulations.
Figure 3.11
Waveform simulation model for QPSK demodulation.
Figure 3.12
Simulated QPSK waveforms at the transmitter side.
Figure 3.13
M-QAM modulator.
Figure 3.14
M-QAM simulation model.
Figure 3.15
Samples of in-phase component.
Figure 3.16
An OFDM communication architecture with a cyclic prefix.
Figure 3.17
Effect of cyclic prefix on
E
s
/
N
0
.
Figure 3.18
Assignment of OFDM subcarriers.
Figure 3.19
E
b
/
N
0
Vs BER for BPSKOFDM over AWGN.
Figure 3.20
OFDM essential Tx-Rx chain.
Figure 3.21
BER results.
Chapter 4
Figure 4.1
Flowchart of association rules implementation.
Figure 4.2
(a) ARN for contact lens data with target node as hard; (b) ARN for contact...
Figure 4.3
Schematic diagram showing the activity method of communication in a software...
Figure 4.4
Time series plot for adjusted AUTOSALE/CPI.
Figure 4.5
Time series chart with obtained output form.
Figure 4.6
Output of wave configeration.
Figure 4.7
Error rates identification.
Figure 4.8
Density estimate for power spectral.
Figure 4.9
Density estimate for periodogram spectral.
Figure 4.10
Plottings of the estimate.
Figure 4.11
Markov plottings.
Figure 4.12
Parameters of new functions.
Figure 4.13
Replot status.
Figure 4.14
VAR models.
Chapter 5
Figure 5.1
Each middle purpose of the structure is related to a signal. Edges between...
Figure 5.2
Basic driving cases that can incite fake unmistakable check of huge Granger...
Figure 5.3
Granger causality patterns between simulated ROIs.
Figure 5.4
Comparison of model estimation by LASSO-GC and pairwise GC.
Figure 5.5
Correlation of LASSO-GC and pairwise-GC techniques in recouping the summary...
Figure 5.6
Correlation of LASSO-GC and pairwise-GC techniques in recuperating the W summary...
Figure 5.7
Examination of network designs with LASSO-GC and connection measures.
Figure 5.8
Utilitarian availability examination of dorsal attention network and visual...
Figure 5.9
Different phases of approach in attributes.
Figure 5.10
GAs in MATLAB’s Optimization Toolbox.
Figure 5.11
Rastrigin’s function optimization with the default setting.
Figure 5.12
Rastrigin’s function optimization with the default setting, except...
Figure 5.13
Rastrigin’s function optimization with the default setting, except...
Figure 5.14
Rastrigin’s function optimization with the default setting, except...
Figure 5.15
Lower raw fitness value.
Figure 5.16
Higher raw fitness value.
Figure 5.17
Stochastic uniform selection method.
Figure 5.18
Elite count 10.
Figure 5.19
Elite count 3.
Figure 5.20
Elite count 1.
Figure 5.21
Estimation of frequency relation to error over time.
Figure 5.22
Radiation readings for distributed beamforming.
Chapter 6
Figure 6.1
Spherical free-space propagation: power transmitted over the air radiates...
Figure 6.2
Ray model geometry.
Figure 6.3
Simple propagation models: free-space one-slope direct line of sight, and two-ray...
Figure 6.4
Vertical polarization ground reflection coefficient.
Figure 6.5
Horizontal polarization ground reflection coefficient.
Figure 6.6
Six-ray model (
R
0
;
R
1
;
R
2
)...
Figure 6.7
Ray tracing plots of received signal power indicator....
Figure 6.8
Ray-tracing geometry for a street corridor; some rays escape the corridor through...
Figure 6.9
Ray-tracing power levels down a street, with gaps between homes.
Figure 6.10
Beam following impinging on home dividers.
Figure 6.11
Angles of incidence illuminating homes in an urban corridor.
Figure 6.12
Demonstration of street orientation angle
φ
for use in COST 231...
Figure 6.13
Tree foliage attenuation as a function of frequency.
Figure 6.14
COST-231 indoor penetration loss model.
Figure 6.15
Penetration odd into private structures, total thickness dispersion.
Figure 6.16
In-building loss for residential buildings: measurement campaigns published for...
Figure 6.17
In-building loss for urban office buildings and high-rises: measurement campaigns...
Figure 6.18
Random waypoint model.
Figure 6.19
MAC layers in IEEE 802.11 standard.
Figure 6.20
RTS/CTS mechanism.
Figure 6.21
Ad hoc routing protocols.
Figure 6.22
Example of distance vector routing.
Figure 6.23
Accuracy of information in FSR.
Figure 6.24
An example of clustering in HSR.
Figure 6.25
Example of CGSR routing from node 1 to node 12.
Figure 6.26
Example of CBRP protocol.
Figure 6.27
Route discovery in AODV.
Figure 6.28
Creation of record route in DSRP.
Figure 6.29
Example of route creation in TORA.
Figure 6.30
Re-establishing route on failure of link 5-7. The new reference level is node 5.
Figure 6.31
Associativity-based routing.
Figure 6.32
An illustrative example of overlay networks.
Figure 6.33
A sample overlay network.
Figure 6.34
Overlay network broken up into logical layers.
Figure 6.35
Overlay network over the Internet.
Chapter 7
Figure 7.1
Timestamp identification.
Figure 7.2
Execute the callback function.
Figure 7.3
Remote client access configuration setup.
Figure 7.4
Local client access configuration setup.
Figure 7.5
PDR vs Node Mobility.
Figure 7.6
Packet Loss Rate vs Node Mobility.
Figure 7.7
Routing Overhead vs Node Mobility.
Figure 7.8
Average End-to-End Delay vs Node Mobility.
Figure 7.9
Packet Delivery Ratio vs Number of Connections.
Figure 7.10
Routing Overhead vs Number of Connections.
Figure 7.11
Packet Loss Rate vs Number of Connections.
Figure 7.12
Average End-to-End Delay vs Number of Connections.
Chapter 8
Figure 8.1
Two-stage model of torque against spark.
Figure 8.2
ResStatus plot.
Figure 8.3
CustIncome plot.
Figure 8.4
CustIncome plot.
Figure 8.5
TmAtAddress plot.
Figure 8.6
ResStatus plot.
Figure 8.7
EmpStatus plot.
Figure 8.8
Random waypoint mobility model.
Figure 8.9
The location of target and anchor nodes in WSN.
Figure 8.10
(a) Simulated path loss model; (b) Histogram of simulated RSS noise modeled as...
Figure 8.11
RMSE vs
N
(number of anchors).
Figure 8.12
CDF vs error.
Figure 8.13
Cluster formation in LEACH.
Figure 8.14
Steady-state phase in LEACH.
Figure 8.15
LEACH simulation.
Cover
ii
iii
iv
xi
xii
xiii
xiv
xv
xvi
xvii
xviii
xix
xx
xxi
xxii
xxiii
xxiv
xxv
xxvi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
Scrivener Publishing100 Cummings Center, Suite 541JBeverly, MA 01915-6106
Publishers at ScrivenerMartin Scrivener ([email protected])Phillip Carmical ([email protected])
Dac-Nhuong Le
Haiphong University, Haiphong, Vietnam
Abhishek Kumar Pandey
ACERC, Visiting faculty, Mdsu, Ajmer Rajasthan, India
Sairam Tadepalli
AWS Architect, Python Developer, India
Pramod Singh Rathore
ACERC, Visiting Faculty, Mdsu Ajmer Rajasthan, India
Jyotir Moy Chatterjee
Lord Buddha Education Foundation (APUTI), Kathmandu, Nepal
This edition first published 2019 by John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, USA and Scrivener Publishing LLC, 100 Cummings Center, Suite 541J, Beverly, MA 01915, USA © 2019 Scrivener Publishing LLC For more information about Scrivener publications please visit www.scrivenerpublishing.com.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, except as permitted by law. Advice on how to obtain permission to reuse material from this title is available at http://www.wiley.com/go/permissions.
Wiley Global Headquarters 111 River Street, Hoboken, NJ 07030, USA
For details of our global editorial offices, customer services, and more information about Wiley products visit us at www.wiley.com.
Limit of Liability/Disclaimer of Warranty While the publisher and authors have used their best efforts in preparing this work, they make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives, written sales materials, or promotional statements for this work. The fact that an organization, website, or product is referred to in this work as a citation and/or potential source of further information does not mean that the publisher and authors endorse the information or services the organization, website, or product may provide or recommendations it may make. This work is sold with the understanding that the publisher is not engaged in rendering professional services. The advice and strategies contained herein may not be suitable for your situation. You should consult with a specialist where appropriate. Neither the publisher nor authors shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages. Further, readers should be aware that websites listed in this work may have changed or disappeared between when this work was written and when it is read.
Library of Congress Cataloging-in-Publication Data
ISBN 978-1-119-63143-9
In addition to modeling and simulating systems, this book provides a better understanding of how real-world systems function. This enables us to predict the behavior of systems before they are actually built and to accurately analyze them under various operating conditions. This book provides comprehensive, state-of-the-art coverage of all the essential aspects of modeling and simulation both physical and conceptual systems. Various real-life examples are included, which show how simulation plays a crucial role in understanding real-world systems. We also explain how to effectively use MATLAB to apply the modeling and simulation techniques presented successfully.
After introducing the underlying philosophy of the systems, the book offers step-by-step procedures for modeling with practical examples, and codes different types of systems using modeling techniques such as the Rayleigh fading model, BPSK modulation and demodulation, QPSK modulation and demodulation, etc.
This book will prepare both undergraduate and graduate students for advanced modeling and simulation courses, and will help them carry out useful simulation studies. Moreover, postgraduate students should be able to comprehend and conduct simulation research after completing this book.
This book is organized into eight chapters. In Chapter 1 a detailed overview is provided on how MATLAB can be used for network simulation and modeling. Then various types of simulation are described, followed by their working principles and different terminologies, along with the algorithms governing these simulations. The chapter also describes the selection of various software simulations for MATLAB, and the simulation tools based on high performance, followed by the different network models. This chapter will effectively help readers understand the concepts more clearly and provide them with a clear understanding of how to perform these tasks in MATLAB.
In Chapter 2, the power of MATLAB for computational mathematics is shown, followed by a detailed description of the features. A detailed discussion of various areas of MATLAB use is provided. We also discuss multiple notations, operators, and syntax and give hands-on practical examples along with various loop structures and decision controls, import, and export operations, using and creating M-files, different types of plotting and graphs, etc. Also explained are the various clones of MATLAB. This chapter will effectively help readers understand the workings and uses as well as applications of MATLAB more clearly.
In Chapter 3, we explain how digital communication system simulations can be performed using MATLAB. A detailed introduction to digital communications, i.e, data transmission, is provided along with an example. Next, a detailed explanation of simulations of Rayleigh fading model, BPSK modulation and demodulation, QPSK (Quadrature Phase Shift Keying) modulation and demodulation is given, along with their MATLAB coding, and the output is shown as well. We image error rate vs signal-to-noise ratio and OFDM with sample MATLAB coding and their output.
In Chapter 4, we explain how to perform statistical analysis of network data utilizing MATLAB starting from affiliation systems/networks with examples. Time series analysis, statistical stationarity, time series decomposition, de-trending, curve fitting, digital filtering, recurrence reaction, and the connection between recurrence reaction to spline parameter are also explained. Next, details are provided about autocorrelation, test for independence, linear autoregressive models, etc.
In Chapter 5, we explain how network routing simulations can be done using MATLAB. Additionally, deep insights are provided about the evaluation of Granger causality measures on known systems, along with results. We explain the application to fMRI BOLD (Blood-Oxygenation-Level-Dependent) information from a visuospatial consideration undertaking followed by various model development approaches, models validation, universal algorithms, and sequential algorithms, acoustic-centric and radio-centric algorithms, AODV routing protocols, etc.
In Chapter 6, we explain how wireless network simulations can be done using MATLAB. We explain how shadowing methods are used for radio propagation, two-ray model, indoor propagation, classical empirical model, Hata model, Walfisch-Ikegami model, Erceg model, multi-slope model, dispersive model, 3GPP SCM, MAC: IEEE 802.11 (CSMA/CA, virtual carrier sense, and RTS-CTS-DATA-ACK), NET-ad hoc routing, APP-overlay routing protocols, etc.
In Chapter 7, we explain various layers and protocols such as Vehicle Network Toolbox. In this toolbox, an explanation is given on how to make a receiving channel, how to access a chain, how to start a channel, how to transmit a message, etc. Next, the topic of network management (NM) is presented, in which a detailed explanation is given of network installation planning, setting up a remote client access configuration, interaction layer, directing protocols in MANET, along with their results and analysis, and transport layer with protocols.
In Chapter 8, a detailed explanation is provided of various real-time scenarios by using case studies taken from multiple real-time situations with their sample codes and result from analysis for a better understanding of how MATLAB performed in these situations and how it can solve critical simulation problems in detail.
Dr. Dac-Nhuong Le
Deputy-Head, Faculty of Information Technology Haiphong University, Haiphong, Vietnam
Abhishek K. Pandey
Assistant Professor (Computer Science Engineering) ACERC, Visiting faculty, Mdsu, Ajmer Rajasthan, India
Sairam Tadepalli
Junior Data Scientist, AWS Architect, Python Developer
Pramod Singh Rathore
Assistant Professor (Computer Science Engineering) ACERC, Visiting faculty, Mdsu Ajmer Rajasthan, India
Jyotir Moy Chatterjee
Assistant Professor (IT) Lord Buddha Education Foundation (APUTI), Kathmandu, Nepal
First of all, I would like to thank the authors for contributing their chapters to this book. Without their contributions, this book would not have been possible. Thanks to all my associates for sharing my happiness at the start of this project and following up with their encouragement when it seemed to be too difficult to complete.
I want to acknowledge and thank the most important people in my life, my grandfather, grandmother, and finally thanks to my wife. This book has been a long-cherished dream of mine which would not have been turned into reality without the support and love of these fantastic people, who encouraged me despite my not giving them the proper time and attention. I am also grateful to my best associates for their blessings and unconditional love, patience, and encouragement.
Dac-Nhuong Le
Deputy-Head, Faculty of Information Technology Haiphong University, Haiphong, Vietnam
Writing a book is harder than I thought and more rewarding than I could have ever imagined. First and foremost, I would like to thank my father Mr. Krishan Dev Pandey for being the coolest father ever and my mother Mrs. Veena Pandey for allowing me to follow my ambitions throughout my childhood. They taught me discipline, tough love, manners, respect, and so much more that has helped me succeed in life. Also, I would like to express my gratitude to my elder sister Mrs. Arpna Tripathi, who always stood by me during every struggle and all my successes. She has been my inspiration and motivation for continuing to improve my knowledge and move my career forward. Also, I’m eternally grateful to my wife, Mrs. Kajal Pandey, for standing beside me throughout my career and the writing of this book. I also thank my wonderful son, Aarudra Pandey, for always making me smile and for understanding on those weekend mornings when I was writing this book instead of playing games with him. I hope that one day he can read it and understand why I spent so much time in front of my computer. Last but not the least, I want to thank my friends who always backed me up during both good and bad days and everyone who ever said anything positive to me or taught me something. I heard it all, and it meant something.
Abhishek K. Pandey
Assistant Professor (Computer Science Engineering) ACERC, Visiting faculty, Mdsu, Ajmer Rajasthan, India.
AAL
Ambient Assistive Learning
ABR
Associativity Based Routing
ACK
Acknowledgement
AODV
Ad hoc On-Demand Distance Vector
ASK
Amplitude-Shift Keying
ANT
Attention Network Test
ASW
Apparent Source Width
ARIMA
Autoregressive Integrated-Moving-Average
AR
Auto Regressive
AS
Autonomous System
ASAP
AS-Aware Peer-relay Protocol
B.A.T.M.A.N
Better Approach To Mobile Adhoc Networking
BPSK
Double Phase Shift Keying
BOLD
Blood-Oxygenation-Level-Dependent
CDF
Cumulative Distribution Function
CSMA/CA
Carrier-Sense Multiple Access with Collision Avoidance
CSMA/CD
Carrier Sense Multiple Access with Collision Detect
CLPC
Cross-Layer setup approach for Power Control
CTS
Clear to Send
CRLB
Cramer-Rao Lower Bound
CBRP
Cluster based Routing Protocol
CGSR
Clusterhead Gateway Switch Routing
DSR
Dynamic Source Routing
DAN
Dorsal Attention Network
DREAM
Distance Routing Effect Algorithm for Mobility
DSSS
Direct Sequence Spread Spectrum
DSDV
Destination-Sequenced Distance-Vector Routing
DSRP
Dynamic Source Routing Protocol
DRP
Dynamic Routing Protocol
DHT
Distributed Hash Table
ECG
Electrocardiogram
EEG
Electroencephalogram
FMRI
Functional Magnetic Resonance Imaging
FEF
Frontal Eye Field
FHSS
Frequency Hopping Spread Spectrum
FFT
Fast Fourier Transform
FSR
Fisheye State Routing
GC
Granger Causality
GA
Genetic Algorithm
GM-SDP
Gaussian Mixture-SemiDefinite Programming
GUI
Graphical User Interface
GSR
Global State Routing
IACF
Interaural Cross correlation Function
IEEE
Institute of Electrical and Electronics Engineers
ITU-T
International Telecommunication Union-Telecommunication
JiST
Java in Simulation Time
LASSO
Least Absolute Shrinkage and Selection Operator
LEACH
Low Energy Adaptive Clustering Hierarchy
LOS
Line of Sight
LCC
Least Cluster Change
LUT
Look-Up-Table
M-QAM M-ary
Quadrature Amplitude Modulation
MWP
Markovian Waypoint Model
MANET
Mobile Ad-hoc Network
MVAR
Multivariate Vector Auto Regressive
MIMO
Multiple In, Multiple Out
MWP
Markovian Waypoint Model
MRL
Message Retransmission List
MUEL
Minimize Usage Extend Life
NM
Network Management
NS
Network Simulator
NHST
Null Hypothesis Significance Testing
NLOS
Non Line of Sight
OFDM
Orthogonal Frequency Division Modulation
OLSR
Optimized Link State Routing Protocol
OS
Operating System
OMNET
Object-Oriented Modular Discrete Event Simulator
PAN
Personal Area Network
PHY
Physical Layer
P2P
Peer-to-Peer
PLL
Phase Locked Loop
PSK
Phase-Shift Keying
PROWLER
Probabilistic Wireless Network Simulator
QPSK
Quadrature Phase Shift Keying
QAM
Quadrature Amplitude Modulation
RWPB
Irregular Waypoint on the Border
RWP
Arbitrary Waypoint
RWPB
Discretionary Waypoint on the Periphery
RERR
Route Error
RREP
Route Reply
RPGM
Reference Point Group Mobility Model
RDP
Reliable Data Protocol
ROI
ROI Region of Interest
RON
Solid Overlay Networks
RTS
Request to Send
RREQ
Route Request
RT
Response Time
RFC
Request for Comments
RSS
Received Signal Strength
RMSE
Root Mean Square Error
SSR
Signal Stability Routing
SSF
Scalable Simulation Framework
SNAP
Simulation Analysis Platform
SST
Signal Stability Table
SRP
Static Routing Protocol
SCM
Spatial Channel Model
SDP
Semidefinite Programming
SNR
Signal-to-Noise Ratio
SwaP
Weight and Power
SWANS
Scalable Wireless Ad hoc Network Simulator
TORA
Temporally Ordered Routing Algorithm
TCP
Transmission Control Protocol
TCP/IP
Transmission Control Protocol/Internet Protocol
TTL
Time to Live
TOSSIM
Tiny Operating System Sensor Network
TDMA
Time Division Multiple Access
UDP
User Datagram Protocol
VAR
Vector Autoregression
VANET
Vehicular Ad hoc Network
VOC
Visual Occipital Cortex
VPN
Virtual Private Network
VoIP
Voice over Internet Protocol
ZRP
Zone Routing Protocol
ZHLS
Zone-based Hierarchical Link State Routing Protocol
WRP
Wireless Routing Protocol
WLS
Weighed Least Square
WSN
Wireless Sensor Network
WOE
Weight of Evidence
WIMAX
Worldwide Interoperability for Microwave Access
3GPP
3rd Generation Partnership Project
In this chapter, we have tried to provide a detailed overview of how MATLAB can be used for network simulation and modeling. We describe simulation and its various types, followed by their working principles and different terminologies, and the algorithms governing these simulations. Also described are various simulation software selections for MATLAB, the simulation tools based on high performance, followed by the different network models. This chapter will effectively help readers understand the concepts more clearly and provide them with a clear understanding of how to perform these tasks in MATLAB.
Keywords: MATLAB, modeling, simulations
The representation of the system in learning is an abstraction, as mentioned previously. This means that it will not generally be considered with a more significant number of features as well as characteristics of the system and also that it only produces elected features and characteristics. Hence, based on simplifications and assumptions, the received model representation is a compact enactment of the system. Learning the sequence for identifying the appropriate entities and their relationships with the system is known as modeling.
Two important questions arise for any researcher when dealing with the evaluation of the performance of the system:
Question 1
– What is a good model?
Question 2
– How to obtain it?
Here it is essential to take care of two additional factors if the evaluation method is represented as the computer simulation.
It has to be implemented in software once the performance model is built. Hence, the “model” performance is to be of high quality, as the implementation needs to represent it.
Hence, a suitable tool requirement needs to be selected which formally suits the process of the evaluation method. The modeling for computer simulations of these four cornerstones are combined. Sadly, the problem is that a large number of them are complex, and generally, we need specific prior learning experience with modeling and simulation.
“Essentially, all models aren’t right, yet some are helpful” is the reality of execution. By remembering this, a great execution (either for investigation or for reenactment) has the following qualities:
Simplicity:
It is conceivable that the execution models are great. This does not imply that an execution model ought not be point by point or ought not to attempt to consider complex connections. In any case, a great execution displays its multifaceted nature when it fills the need of the assessment (
additionally alluded to as objective of the investigation
).
Because of the shortage of exactness in contrast with the real world, this is a fundamental point in reproduction models which are regularly scrutinized. This is basically the notion od computer simulation and manufactured the rganized nodes so that mixing of nodes can be minimized to get better accuracy. For the reusability of execution models, it has certain additional results. Usually, the assessment contemplates have different objectives (primarily if they will be distributed to established researchers), so there is likely a contrast in the utilized execution models.
For systems, it clarifies a large number of open-source reproduction models, and for across-the-board organizing frameworks, it explains the nonattendance of prevailing or standard reenactment models to a certain degree. To fill all needs, there is no reenactment shown. Any recreation demonstrate which is accessible has been planned given a specific assessment target. One should first check the first assessment reason which is served by the model, and it needs to reuse the particular reproduction display.
Reliability:
The basic part of execution models is their stable quality.
The clarification behind the evaluation of modeling has been made clear initially for better efficiency. In the resulting phase of the modeling system, the assumptions and reenactments ought to have been noticed, including its evolution phases. From the learning phases of the model to final output phase, model representation and its simulation plays an important role in finding the reliability of the resultant model. In the simulation part of the modeling, the recreation of the model is very much important for better analysis of the model. The analysis result states that there difference between evaluation procedure and final output and its application model. So reliability factor has to deal with all the above-mentioned analysis. So a genuine programming model can only result in better reliability of the system, as it is reliable for better execution, evaluation and final applications.
Notwithstanding the qualities of a decent execution display, a great reproduction model ought to have the accompanying attributes:
Proficiency:
As for the execution show up, it ought to be finished reasonably after a particular instant of time. In like way, running events of simulation is quick and different analysis results can then be visible.
Checked:
The executed reenactment model ought to be confirmed, i.e., the similarity between the execution shown and reproduction demonstrate that it more likely than not has been checked by different strategies.
Note that this progression is not quite the same as approving an execution or reproduction display.
Code Quality:
Reliability on reusability of the code can result in using a specific programming method which is responsible for avoiding confusion in system programming and further simulation for achieving the desired results.
Accessibility:
Reproduction model ought to be available with the end goal that different gatherings confirm and approve the model themselves. As expressed previously, an execution show isn’t required to be as point by point as could reasonably be expected. Truth be told, finding the correct level of exactness for an execution show is very troublesome. A typical oversight in demonstrating is to put excessive detail into a model because of the need for both involvement in execution assessment or foundation information about the framework under investigation. Lastly, a great execution does not need to be all inclusive nor for the most part reusable.
Computer-based models are usually classified as follows [1, 2]:
Deterministic vs Stochastic: A deterministic model predicts a specific output from a given set of inputs with neither randomness nor probabilistic components. A given input will always produce the same output given the same initial conditions. In contrast, a stochastic model has some inputs with randomness, hence the model predicts a set of possible outputs weighted by their likelihoods or probabilities.
Steady-state vs Dynamic: A steady-state model tries to establish the outputs according to the given set of inputs when the system has reached steady-state equilibrium. In contrast, a dynamic model provides the system reactions facing variable inputs. Steady-state approaches are often used to provide a simplified preliminary model.
Discrete vs. Continuous values: A discrete model is represented by a finite codomain, hence the state variables take their values from a countable set of values. In contrast, a continuous model corresponds to an infinite codomain. Therefore, the state variables can take any value within the range of two values. However, there are some systems that need to be modeled showing aspects of both approaches which bring about combined discrete-continuous models.
Discrete vs Continuous time: In a discrete model the state changes can only occur at a specific instant in time. These instants correspond to significant events that impact the output or internal state of the system. In contrast, in a continuous model the state variables change in a continuous way and not abruptly from one state to another. Therefore, continuous models encompass an infinite number of states. Discrete models are the most commonly used for network modeling and simulation.
Simulations can be carried out following two approaches: local and distributed. Distributed simulation is such that multiple systems are interconnected to work together, interacting with each other, to conduct the simulation. In contrast, a local simulation is carried out on a single computer. Historically, the latter approach has been the most widely used to simulate computer networks, but the increasing complexity of simulations is fostering the importance of the former approach.
Figure 1.1 summarizes the modeling and simulation process. Behavioral information extracted from a real system is used jointly with system specifications and requirements. Based on these inputs, a system model is built and subsequently validated through simulation. Usually, several performance metrics are determined during simulations, which can be compared with results extracted from experimentations with the real system. If both are similar, the model is considered as valid, while if they are not, the system model must be corrected. Similarly, performance metrics are used to determine if the system model fulfills the requirements, so the designed system can be refined and extended in a controlled way.
Figure 1.1 System modeling and simulation scheme.
Nowadays, computer network simulation is a fundamental element in network researching, development and teaching. Network simulators are widely used not only by practitioners and researchers, but also by students to improve their understanding of computer networks. Network simulation can be extremely useful when applied to scenarios such as protocol analysis, complex network deployment, evaluation of new services, prototypes or architectures, and so on. Broadly speaking, a network simulator can be understood as a black box, as illustrated in Figure 1.2 [13, 23, 24]
Figure 1.2 Network simulator abstraction.
A network simulator implements a computer network model through algorithms, procedures and structures according to a given programming language. The implemented network model receives a set of parameters as inputs, which impose the rules and constraints of the simulation. In other words, these parameters set the course of the simulation. When the simulation process ends, the network simulator returns a set of results as outputs that can be used with a dual purpose: validating and verifying the correctness of the implemented model for a particular domain of system states, and analyzing the behavior of the network modeled when the former has been successful [15-17].
Computer networks are most often simulated with discrete-event simulation. The main reason behind this widespread use is that discrete-event simulation adapts better to represent the behavior of computer networks, since computer network protocols can be modeled as finite state machines. In a computer network there is a steady state between two consecutive events, and discrete-event simulation allows for jumping from one steady state to another, leading to faster simulations. Other interesting aspects of discrete-event simulation are flexibility and lower computational overhead.
Discrete event simulation utilizes a mathematical/logical model of a physical system that portrays state changes at precise points in simulated time. Both the nature of the state change and the time at which the change occurs mandate precise description. Customers waiting for service, the management of parts inventory or military combat are typical domains of discrete event simulation [10, 11].
A more theoretical top-down description of discrete-event simulations is the following: The start of a discrete-event simulation is a model. A model is the construction of a conceptual framework, used to represent a system. The specific characteristics of discrete-event simulation model are the following:
Stochastic: At least some of the model’s components are stochastic. This means that there is a certain factor of randomness in the model. This is represented by random number generators, which are explained in the terminology.
Dynamic: The time evolution of the system’s components is important. Time is a significant variable.
Discrete: The state of the system changes only significantly when events occur at discrete time instances.
Figure 1.3 Discrete-event simulation.
The difference with continuous simulations is the use of the factor time. The system evolves over time so the variables change continuously in a continuous simulation. Whereas in a discrete event simulation the events themselves determine if something happens or not. Time can go by without anything happening.
We will give a concise introduction into discrete-occasion reenactment and for this we present the essential phrasing utilized in writing to clarify their connections. Likewise, for a discrete-occasion test system we present the center calculation, i.e., the time-propel occasion booking calculation.
Some common phrasing and elements for all discrete-occasion reproduction frameworks are known. In writing the terminology may change and surprisingly there is no institutionalized arrangement of terms. In a portion of our reference papers we freely adjust the definitions. A reflection of a specific subject of intrigue is alluded to as substance and it very well may be depicted by its own properties; For example, an element bundle carries its source (address), qualities, length as well as goal (address).
The relationship of a suitable set of entities is defined as a system. A certain purpose can be fulfilled by the relationship of a suitable set of entities, i.e., the system attempts to achieve a certain goal. For example, the goal of a network provides end-to-end connectivity while it may be defined by the routers, links and the entities hosts. The model is defined as the system and the use of the following methods refers to an abstracted system and is termed the model for clearness. During the process of minimizing the difficulty and the correlated cost as well as, effort involved, it will always consider the model in computer simulations.
It is possible to utilize the discrete-event test system to bounce from one event to the next, and the rate an occasion might incite can be modified in the state of framework and also the age of a newer, supposed event occurred in future. To deal with every one of the events in the discrete-event simulation, the events are recorded as events seen later on the event list (FEL). To embed, to discover and to evacuate events seen, which are set later on, an event rundown ought to be actualized effectively later on in the event list [25].
Figure 1.4 demonstrates the growth of discrete-event simulation after some time. The events happen at the given time interval ti and might alter the state of framework. To advance the reenactment with each discrete-event time ti, in the PC memory a depiction of the framework is made that contains every required datum.
Figure 1.4 Principles of discrete-event simulation and the system state changes only at discrete point’s ti in time during the simulation.
Typically all discrete-event test systems share the following components:
System express:
The condition of the framework can be depicted by the arrangement of factors.
Entities:
Temporary entities are the elements that flow through the system. They wait in queues, follow a sequence of events and are specified by certain attributes. Most entities are introduced in a system according to a stochastic distribution. Examples of temporary entities are: parts of goods, customers and information messages. Permanent entities remain in the system when the simulation is executed. They are used in the events to process the temporary entities. The usage time of permanent entities is mostly stochastically distributed. Examples of permanent entities are: operators, servers and machines.
Attributes:
Entities own attributes that specify certain properties and states of the entity. They can affect how entities are handled during the sequence of the processes. They are not fixed through the flow so they can change by being processed. Examples of attributes are: priority and quality.
Clock:
The clock maintains the simulation time. The measurement units vary depending on the characteristics of the model. Because we are dealing with discrete-events, the time is not continuous but “jump” according to the events. The clock is also responsible for the timer of the events.
Queue:
Place where temporary entities wait an undetermined time before being accepted in an event. Some entities might have priority attributes to skip the queue. These queues can, for example, be used to locate overproduction or a bottleneck, as mentioned in the introduction.
Random number generators:
Most of the previous components need the possibility to generate random variables in order to simulate the stochastic distributions. Pseudorandom number generators are used to accomplish this.
Future occasion list:
To deal with the events, it very well may be appropriated by the information structure.
Statistical counters:
The result of a simulation should be shown in the form of a report that gives statistics about all the important components of the discrete-event simulation. These statistics are analyzed to make better decisions.
Initialization schedule:
To instate the reproduction display we utilize introduction routine and fix the clock value to zero in the framework.
Timing schedule:
From the future event list a routine recovers the the next occasion and also advances the clock value to the frequency in the framework.
Event schedule:
Events change the state of the system. A sequence of events can be bundled as an activity. These events determine the timing and the flow of the simulation, hence the word discrete-event simulation. A typical example of an event is the arrival of new entity, often used to start the simulation. The sequence of events ordered by time of occurrence forms an event list. Each simulation has at least one event list. This events list determines the mechanism for advancing the simulation time. This sequence of actions is also called event-scheduling. Every simulation also needs a stopping event or ending condition. This determines how long the simulation will run. Typical stopping events are a specific time in the future or a condition that the simulation itself fulfills. When a specific event happens amid the recreation is called an event schedule. By and large, an event routine is characterized for every event composed. In writing the term handler is frequently utilized synonymously.
An ESTA algorithm is an event-scheduling/time-advance algorithm [19]. According to their occurrence time, the event notifications are listed inside the future event list, i.e.,
(1.1)
Here t1 in this case is where an event occurs in time.
The diagram in Figure 1.5 below depicts the flow of the ESTA algorithm, which is subdivided into three main sections.
Figure 1.5 Flow chart explaining a discrete-event test system.
They are:
Section 1. Initialization
Section 2. Event Processing
Section 3. Output
Initialization employs three main processes: the first one is the clock, secondly, entities and finally, state variables. After that the simulator enters the second part and the events are processed in a loop. Here a type of specific event has been created, which is termed handler, in which current event is retrieved or recovered from the next events.
The state variables, entities and update statistics might be changed by the event routine and new event notices are created. The simulation enters the final part of the process after receiving the valid loop of termination condition. Finally, the statistics are calculated in the output part of the process and will be written into files if necessary.
