Introduction Wireless Network
Introduction Wireless Network
A wireless network, which uses high-frequency radio waves rather than wires to
communicate between nodes, is another option for home or business networking. Individuals
and organizations can use this option to expand their existing wired network or to go completely
wireless. Wireless allows for devices to be shared without networking cable which increases
mobility but decreases range. There are two main types of wireless networking; peer to peer or
ad-hoc and infrastructure. (Wi-fi.com)
There are four basic types of transmissions standards for wireless networking. These
types are produced by the Institute of Electrical and Electronic Engineers (IEEE).
These
standards define all aspects of radio frequency wireless networking. They have established four
transmission standards; 802.11, 802.11a, 802.11b, 802.11g.
The basic differences between these four types are connection speed and radio frequency.
802.11 and 802.11b are the slowest at 1 or 2 Mbps and 5.5 and 11Mbps respectively. They both
operate off of the 2.4 GHz radio frequency. 802.11a operates off of a 5 GHz frequency and can
transmit up to 54 Mbps and the 802.11g operates off of the 2.4 GHz frequency and can transmit
up to 54 Mbps. Actual transmission speeds vary depending on such factors as the number and
size of the physical barriers within the network and any interference in the radio transmissions.
(Wi-fi.com)
Wireless networks are reliable, but when interfered with it can reduce the range and the
quality of the signal. Interference can be caused by other devices operating on the same radio
frequency and it is very hard to control the addition of new devices on the same frequency.
Usually if your wireless range is compromised considerably, more than likely, interference is to
blame. (Laudon)
A major cause of interference with any radio signals are the materials in your surroundings,
especially metallic substances, which have a tendency to reflect radio signals. Needless to say,
the potential sources of metal around a home are numerous--things like metal studs, nails,
building insulation with a foil backing and even lead paint can all possibly reduce the quality of
the wireless radio signal. Materials with a high density, like concrete, tend to be harder for radio
signals to penetrate, absorbing more of the energy. Other devices utilizing the same frequency
can also result in interference with your wireless. For example, the 2.4GHz frequency used by
802.11b-based wireless products to communicate with each other. Wireless devices don't have
this frequency all to themselves. In a business environment, other devices that use the 2.4GHz
band include microwave ovens and certain cordless phones. (Laundon)
On the other hand, many wireless networks can increase the range of the signal by using
many different types of hardware devices. A wireless extender can be used to relay the radio
frequency from one point to another without losing signal strength. Even though this device
extends the range of a wireless signal it has some drawbacks. One drawback is that it extends
the signal, but the transmission speed will be slowed.
There are many benefits to a wireless network. The most important one is the option to
expand your current wired network to other areas of your organization where it would otherwise
not be cost effective or practical to do so. An organization can also install a wireless network
without physically disrupting the current workplace or wired network. (Wi-Fi.org) Wireless
networks are far easier to move than a wired network and adding users to an existing wireless
network is easy. Organizations opt for a wireless network in conference rooms, lobbies and
offices where adding to the existing wired network may be too expensive to do so.
NS2 introduction:
1 Ns2
1.1 Installing and using ns2
Ns2 can be built and run both under Unix and Windows. Instructions on how to install
ns2 on Windows can be found at: http://www.isi.edu/nsnam/ns/ns-win32-build.html.
However, the installation may be smoother under Unix.
In this exercise you should use the faarao machines (xerxes, imhotep, etc) in computer
class Maari-a. In order to be able to use ns2, you first have to go through the following
steps:
Preparations:
In order to be able to compile the package, you have to modify your compiler
settings. First create a directory bin/ix86 into your home directory (NOT the
scratch directory). Then create two symbolic links with the commands:
ln s /p/bin/g++-2.95.3 g++
ln s /p/bin/gcc-2.95.3 gcc
Next, move to the ns-2.1b9a directory, which has been created into your scratch
directory, and give a command make. If everything went well, you can now start
using ns2. If some problems occurred during compiling, just give a command
make clean and try again.
Using ns2:
In the ns-2.1b9a directory there should be two files, usens2.csh and usens2.sh.
These files contain the required settings for environmental variables. In order to
initialize these settings, give a command source usens2.csh in this directory
(assuming that you are using tcsh) each time you start an ns2 session in a shell.
ns myscript.tcl
Modifying ns2
If you have made some changes in the C++ code, run make in the ns-2.1b9a directory.
1.2 General description
Ns2 is an event driven, object oriented network simulator enabling the simulation of a
variety of local and wide area networks. It implements different network protocols (TCP,
UDP), traffic sources (FTP, web, CBR, Exponential on/off), queue management
mechanisms (RED, DropTail), routing protocols (Dijkstra) etc. Ns2 is written in C++ and
Otcl to separate the control and data path implementations. The simulator supports a class
hierarchy in C++ (the compiled hierarchy) and a corresponding hierarchy within the Otcl
interpreter (interpreted hierarchy).
The reason why ns2 uses two languages is that different tasks have different
requirements: For example simulation of protocols requires efficient manipulation of
bytes and packet headers making the run-time speed very important. On the other hand,
in network studies where the aim is to vary some parameters and to quickly examine a
number of scenarios the time to change the model and run it again is more important.
In ns2, C++ is used for detailed protocol implementation and in general for such cases
where every packet of a flow has to be processed. For instance, if you want to implement
a new queuing discipline, then C++ is the language of choice. Otcl, on the other hand, is
suitable for configuration and setup. Otcl runs quite slowly, but it can be changed very
quickly making the construction of simulations easier. In ns2, the compiled C++ objects
can be made available to the Otcl interpreter. In this way, the ready-made C++ objects
can be controlled from the OTcl level.
There are quite many understandable tutorials available for new ns-users. By going
through, for example, the following tutorials should give you a rather good view of how
to create simple simulation scenarios with ns2:
http://nile.wpi.edu/NS/
http://www.isi.edu/nsnam/ns/tutorial/index.html
The next chapters will summarise and explain the key features of tcl and ns2, but in case
you need more detailed information, the ns-manual and a class hierarchy by Antoine
Clerget are worth reading:
http://www.isi.edu/nsnam/ns/ns-documentation.html
http://www-sop.inria.fr/rodeo/personnel/Antoine.Clerget/ns/ns/nscurrent/HIER.html
Other useful ns2 related links, such as archives of ns2 mailing lists, can be found from
ns2 homepage:
http://www.isi.edu/nsnam/ns/index.html
This chapter introduces the syntax and the basic commands of the Otcl language used by
ns2. It is important that you understand how Otcl works before moving to the chapters
handling the creation of the actual simulation scenario.
1.3.1 Assigning values to variables
In tcl, values can be stored to variables and these values can be further used in
commands:
set a 5
set b [expr $a/5]
In the first line, the variable a is assigned the value 5. In the second line, the result of
the command [expr $a/5], which equals 1, is then used as an argument to another
command, which in turn assigns a value to the variable b. The $ sign is used to obtain a
value contained in a variable and square brackets are an indication of a command
substitution.
Procedures
You can define new procedures with the proc command. The first argument to proc is the
name of the procedure and the second argument contains the list of the argument names
to that procedure. For instance a procedure that calculates the sum of two numbers can be
defined as follows:
proc sum {a b} {
expr $a + $b
}
proc factorial a {
if {$a <= 1} {
return 1
}
#here the procedure is called again
expr $x * [factorial [expr $x-1]]}
It is also possible to give an empty string as an argument list. However, in this case the
variables that are used by the procedure have to be defined as global. For instance:
proc sum {} {
global a b
expr $a + $b
}
The command exec creates a subprocess and waits for it to complete. The use of exec is
similar to giving a command line to a shell program. For instance, to remove a file:
exec rm $testfile
The exec command is particularly useful when one wants to call a tcl-script from within
another tcl-script. For instance, in order to run the tcl-script example.tcl multiple times
with the value of the parameter test ranging from 1 to 10, one can type the following
lines to another tcl-script:
To be able to run a simulation scenario, a network topology must first be created. In ns2,
the topology consists of a collection of nodes and links.
Before the topology can be set up, a new simulator object must be created at the
beginning of the script with the command:
set ns [new Simulator]
The simulator object has member functions that enable creating the nodes and the links,
connecting agents etc. All these basic functions can be found from the class Simulator.
When using functions belonging to this class, the command begins with $ns, since ns
was defined to be a handle to the Simulator object.
1.4.1 Nodes
The most common agents used in ns2 are UDP and TCP agents. In case of a TCP agent,
several types are available. The most common agent types are:
The most common applications and traffic sources provided by ns2 are:
packets are generated with a constant rate. The length of both on and
send(int nbytes)
can be used at the tcl-level provided that the udp-agent is first configured and attached to
some node.
Below is a complete example of how to create a CBR traffic source using UDP as
transport protocol and attach it to node n0:
An FTP application using TCP as a transport protocol can be created and attached to node
n1 in much the same way:
The UDP and TCP classes are both child-classes of the class Agent. With the expressions
[new Agent/TCP] and [new Agent/UDP] the properties of these classes can be combined
to the new objects udp0 and tcp1. These objects are then attached to nodes n0 and n1.
Next, the application is defined and attached to the transport protocol. Finally, the
configuration parameters of the traffic source are set. In case of CBR, the traffic can be
defined by parameters rate_ (or equivalently interval_, determining the interarrival time
of the packets), packetSize_ and random_ . With the random_ parameter it is possible to
add some randomness in the interarrival times of the packets. The default value is 0,
meaning that no randomness is added.
2
2.1 Introduction
In this Chapter, a set of spatial channel model parameters are specified that have been
developed to characterize the particular features of MIMO radio channels. SISO channel
models provide information on the distributions of signal power level and Doppler shifts
of received signals. MIMO channel models, which are based on the classical
understanding of multi-path fading and Doppler spread, incorporate additional concepts
such as Angular Spread, Angle of Arrival, Power-Azimuth-Spectrum (PAS), and the
antenna array correlation matrices for the transmitter (Tx) and receiver (Rx)
combinations.
2.2 Spatial Channel Characteristics
Mobile broadband radio channel is a challenging environment, in which the high mobility
causes rapid variations across the time-dimension, multi-path delay spread causes severe
frequency-selective fading, and angular spread causes significant variations in the spatial
channel responses. For best performance, the Rx & Tx algorithms must accurately track
all dimensions of the channel responses (space, time, and frequency). Therefore, a MIMO
channel model must capture all the essential channel characteristics, including
(typically 32m))
c. Moderate to high delay spreads and low angle spreads
d. High range of mobility (0 250 km/h)
2. Urban macro-cell
a. Large cell radius (approximately 1-6 km BS to BS distance)
b. High BS antenna positions ( above
(typically 32m))
c. Moderate to high delay and angle spread
d. High range of mobility (0 250 km/h)
3. Urban micro-cell
a. Small cell radius (approximately 0.3 0.5 km BS to BS distance)
Non-SISO systems will use a correlation matrix approach in simulations. The correlation
matrices will be only antenna system dependent. The correlation matrices [shall/may] be
generated by using the SCM to generate the correlation coefficients. The matrices used
shall be submitted as part of the simulation report.
2.5.1 Definition of Correlation Channel Matrices
By the correlation matrix approach, the channel at the M receive antenna elements is
related to the N independent channels that are associated with the
transmit antennae
M N
N M 4 4
, the
relation between the channel at the receiver and the independent channels at the
receiver is
r Csn
where
s [ s1. , s 2 , s3 , s 4 ]
r [r1 , r2 , r3 , r4 ]
n [n1 , n 2 , n3 , n 4 ]
modeling the noise/ interference occurring on each of the receive antenna, and
c11
c
21
c13
c 22
c 23
c31
c32
c33
c 41
c 42
c 43
c12
c14
c 24
c34
c 44
is the correlation matrix between the incident independent channels and the resulting
channels at the receiver.
In the special case where there is only one transmit antenna and one receive antenna,
N M 1 1
, the matrix
resulting channel at the receiver and the independent incident channel at the transmitter
becomes
r cs n
r r1
s s1
n n1
and
c c11
exactly the description of the channel relation for single antenna configuration as
described by ITU model.
num. of antenna
antenna spacing
cluster
PAS
AO A, AS
BS and MS correlation
matrix
Phase 1
Spatial correaltion
matrix generation
R, Q , sigma
Spatial correaltion
matrix
R=kron(R BS,RMS) : down
R=kron(RMS,RBS) :up
Symmetrical mapping
matrix
C=chol(R)
x
Phase 2
Correlated fading
signal generation
Uncorrelated
fading signal
a
The procedure is divided into two major phases. In the first phase, a correlation matrix is
generated for each mobile station (MS) and base station (BS) based on the number of
antennas, antenna spacing, number of clusters, power azimuth spectrum (PAS), azimuth
spread (AS), and angle of arrival (AoA). These two correlation matrices are combined to
create a spatial correlation matrix using the Kronecker product. In the second phase, a
correlated signal matrix is created using fading signals derived from various Doppler
spectra and power delay profiles, and a symmetrical mapping matrix based on the spatial
correlation matrix. Some of the parameters that can be used in the correlation channel
model are shown in Table 3.5.2-1.
2.6 Link Level Spatial Channel Model Parameter Summary a
This section describes link-level channel modeling parameters. Link level simulations
alone will not be used for the comparison of MBWA technical proposals. Only system
level simulations can achieve accurate performance evaluation of different MBWA AI
proposals.
3
3.1 Introduction
The spatial channel model for MBWA system-level simulations is described in this
chapter. As in the link level simulations, the description is in the context of a downlink
system where BS transmits to a MS; however the methodology described here can be
applied to the uplink as well. [Note: Additional information may be required to apply this
methodology for the uplink.] The goal of this chapter is to define the methodology and
parameters for generating the spatial and temporal MIMO channel model coefficients for
MBWA system simulations.
As opposed to link level simulations where only considering the case of a single BS
transmitting to a single MS, the system level simulations typically consist of multiple
cells/sectors, BSs, and MSs. Performance metrics such as data throughputs are collected
over D drops, where a "drop" is defined as a simulation run for a given number of
cells/sectors, BSs, and MSs, over a specified number of frames.
During a drop, the channel undergoes fading according to the speed of MSs. Channel
state information is fed back from the MSs to the BSs, and the BSs use schedulers to
determine which user(s) to transmit to. Typically, over a series of drops, the cell layout is
fixed, but the locations of the MSs are still random variables at the beginning of each
drop.
For an S element BS array and a U element MS array (See Figure 3.1), the channel
coefficients for one of N multi-path components are given by a
)
H t
U S
Hn t
complex matrix. We
, where n = 1,, N.
can be modeled as
N
)
H (t ) Hn t (t n )
n 1
Where
)
H t U S
h11 n K
Hn t M O
n
hU 1 L
and
h1 Sn
M
n
hUS
U S
is a complex matrix which describes the linear transformation between the two
at the BS to antenna
hu , s
n
, where
u
simple tapped delay line model in a matrix format, where the channel coefficients at the
N
u th
, where
yu (t )
Y(t ) y1 (t ), y2 (t ),L , yU (t )
X(t ) x1 (t ), x2 (t ), L , xS (t )
X(t )
and
can be expressed as
)
Y(t ) H ( )X(t )d t
hu( n, s)
hu( n, s)
Rayleigh distributed,
is
is AWGN and
(t ) 1 (t ),2 (t ),..., U (t ) U 1
T
The overall procedure for generating the channel matrices consists of three basic steps:
[Editor Note: This procedure will be updated based upon correlation matrix approach]
1. Specify an environment, i.e., suburban macro, urban macro, urban micro, or
indoor pico.
2. Obtain the parameters to be used in simulations, associated with that environment.
3. Generate the channel coefficients based on the parameters.
Figure 4.1-1 MIMO Model with S Transmit Antennas and U Receive Antennas
The following sections describe the details of overall procedure. The figure below
provides a flow chart for generating channel coefficients.
Figure 4.1-2 The flow chart for the generation of MIMO channel model coefficients
Streaming Technology
Definition
When a user logs into a hosted streaming network for instance, he or she is automatically
fed content from the nearest available server on the Internet. This content is thus
delivered at the best quality possible for that connection.
Key Words in Streaming Technology :
Buffering
Receiving and storing data before playing it back.
Codec
Coder/decoder. Codecs convert data between uncompressed and compressed
formats, thereby reducing the bandwidth a clip consumes.
Encoding
Converting a file into a compressed, streaming format. For example, you can
encode WAV files as RealAudio.
SMIL
Synchronized Multimedia Integration Language. A mark-up language for
specifying how and when each clip plays. SMIL files use the .smil or .smi
extension.
Stream
A flow of a single type of data, measured in Kilobits per second (Kbps).
Multicast
Used for broadcasting large events over the Internet. Allows a single computer to
create the content (film, etc.) and many computers to play the same single stream
simultaneously.
Streaming
When a large media file (audio, video, etc.) is broken into smaller pieces so it can
viewed or heard immediately. This avoids the wait for the whole file to be
downloaded first.
Firewall
Security devices used to protect companies from unauthorized access to their
servers. A firewall, using either proxy services or packet filtering, ensures that all
communication between an organization's network and the Internet, conforms to
the organization's security policies.
On-Demand
A type of streaming in which a clip plays from start to finish when a user clicks a
link. Most clips are streamed this way.
Request headers
Request headers are used in client requests to communicate information about the
client.
Response Headers
Response headers are used in server responses to communicate information about
the server and how it may handle requests.
AVI
AVI, or Audio Video Interleave, is the most common format for audio/video data
on the PC. It is a special case of the RIFF (Resource Interchange File Format), and
is defined by Microsoft.
MPEG
MPEG (pronounced M-peg) stands for Moving Picture Experts Group. MPEG is
the name given to the family of standards used for coding audio-visual information
(e.g., movies, video, music) in a digitally compressed format.
SMPTE
SMPTE is a time code synchronization protocol originally developed for use in the
television and motion picture industry where it was used to handle video tape
technology.
ASF
ASF (Advanced Streaming Format) is a file format that stores audio and video
information and is specially designed to run over networks like the Internet.
Example
For example, the following diagram depicts how protocols are used to communicate
between the components of RTSP system.
Streaming Video :
Streaming video is a sequence of "moving images" that are sent in compressed form over
the Internet and are seen by the viewer as they arrive.
Video Streaming System
A complete video-streaming system involves all of the basic elements of creating,
delivering, and ultimately playing the video content. The main components of a complete
video streaming system used to accomplish thisEncoding Station, Video Server,
Network Infrastructure, and Playback Client are illustrated in the following diagram.
Step 1. Capture:
As this diagram shows, the first step in the process of creating streaming video is
to "capture" the video from an analog source such as a camcorder or VHS tape,
digitize it and store it to disk. This is usually accomplished with an add-in analog
video capture card and the appropriate capture software. Newer digital video
sources such as digital video camcorders can be captured straight to disk with a
"Firewire" capture board without the analog-to-digital conversion step. The
capture card may also support the delivery of live video in addition to stored
video.
Step 2. Edit/Author :
Once the video is converted to digital and is stored on disk it can be edited using a
variety of non-linear editing tools. At this stage, as described below, an authoring
tool may also be used to integrate the video with other multimedia into a
presentation, entertainment, or training format.
Step 3. Encode:
After the video is edited and is integrated with other media it may be encoded to
the appropriate streaming file format. This generally involves using the encoding
software from the video-streaming vendor and specifying the desired output
resolution, frame rate, and data rate for the streaming video file. When multiple
data rates need to be supported, multiple files may be produced corresponding to
each data rate. As an alternative, newer video streaming technologies create one
file that has "dynamic bandwidth adjustment" to the needed client data rate.
Step 4. Serve:
The video server manages the delivery of video to clients using the appropriate
network transport protocols over the network connection. The video server
consists of a hardware platform that has been optimally configured for the delivery
of real-time video plus video server software that runs under an operating system
such as Microsoft Windows NT that acts as a "traffic cop" for the delivery of video
streams. Video server software is generally licensed by the "number of streams." If
more streams are requested than the server is licensed for, the software rejects the
request.