Wireless Networking - FSU Computer Science Department

advertisement
Wireless Networking
Class organization
• Class web page
– http://www.cs.fsu.edu/~zzhang/CIS5930_Spring_
2009.htm
– Academic honor code
– Programs you submitted must be your own work
– While discussions of class materials and
assignments are allowed, copying of solutions is
strictly prohibited
3/23/2016
CDA3100
2
Class Communication
• This class will use class web site to post news,
changes, and updates. So please check the
class website regularly
• Please also make sure that you check your
emails on the account on your University
record
3/23/2016
CDA3100
3
Wireless Networking
• Wireless networks are everywhere – cellular phone
networks, wireless LANs, Bluetooth
• This class is intended to cover a very wide spectrum of
topics related to wireless networking, including the
physical layer, the MAC layer, and the network layer.
• After taking this class, you should be able to
1. Understand basic wireless communication theory (BPSK,
CDMA, OFDM, RS code, etc)
2. Learn to implement wireless communication
transmitters/receivers with GNU Software Defined Radio
3. Understand the design of wireless networks (802.11
network, cellular phone network, wireless sensor
network, etc)
How this course is designed
• This class is designed for CS majors who are
interested in wireless networks.
• There are two groups of people studying wireless
networks.
– The signal processing approach. Typically focusing on
signal processing and deriving the channel capacity.
Focusing on physical layer and cellular phone
networks.
– The computer science approach. Typically treat the
physical layer as a black box and focusing on MAC
layer and network layer. Wireless LANs, wireless
sensor networks.
How this course is designed
• Actually, both of these typical approaches are
limited.
• Wireless medium and techniques are very
different from wired medium and techniques.
– In wired medium, like Ethernet, what you send is likely
what will be received. Limited noise, limited
interference, large bandwidth.
– In wireless medium, what you send may be very
different from what will be received. Substantial
noise, substantial interference, limited bandwidth.
– Well, this is why it is so interesting!
How this course is designed
• Only focusing on physical layer won’t be sufficient
for computer networks where traffic is random.
• Simply treating it as a black box will lead to
suboptimal solutions.
• What we need is a cross-layer approach.
• This will require you to understand everything –
from physical layer to network layer at least.
• This is why this course will take a non-traditional
approach and will cover physical layer, MAC layer,
and network layer, all in details.
How this course is designed
• This is a very challenging task (after all, this is a graduate level
course! )
• Can we achieve this?
• To computer science majors, the MAC layer and the network layer
are more familiar. The challenge is the physical layer.
• We will have to spend significant amount of time on the physical
layer.
• I will teach the physical layer in a non-conventional way.
– Books about the physical layer are usually written by the signal
processing people, and may be alien to the computer science majors.
– Our goal will be to understand the physical layer. We don’t have to do
things such as deriving channel capacity.
– We will also learn to implement the physical layer with GNU Software
Defined Radio.
Materials that will be used in the class
• ``Fundamentals of Wireless Communication,’’ by
David Tse and Pramod Viswanath, downloadable
at http://www.eecs.berkeley.edu/~dtse/book.html
• GNU Software Defined Radio tutorial, by Dawei Shen,
downloadable
at http://www.nd.edu/~jnl/sdr/docs/tutorials/
• Other useful resources (not required):
– ``Computer Networks,'' by Andrew S. Tanenbaum, Prentice Hall,
4th edition, 2003
– ``Principles of Wireless Networks: A Unified Approach,’’
by Kaveh Pahlavan and Prashant Krishnamurthy, Prentice Hall,
1st edition, 2002.
Projects
• Physical layer projects will be implemented by
GNU SDR (C++ and Python).
• Upper layer projects will be implemented by
C/C++.
• Projects will be in teams with maximum 3
persons.
• To work with GNU SDR, at least one of your
team members should have access to a Linux
machine as root.
Physical Layer
• Physical layer design goal: send out bits as fast as
possible with acceptable low error ratio
• Some simple schemes:
– There is a wire between A and B. If A wants to send a
bit `1’, he connects the wire to the positive end of a
battery. Otherwise he disconnects it from the battery.
– Or A can hold a radio, if `1’, he sends at frequency f1
and if `0’ he sends at frequency f2.
– Or there is an optical fiber between A and B and if `1’
A lit up a light and if `0’ A does nothing.
Wireless communications
• The fundamental fact is that if the sender
sends a sine wave, the receiver will receive a
sine wave at the same frequency. But with
– A different phase
– A new amplitude
• How do you design communication schemes
based on that?
BPSK
• The simplest transmission scheme is BPSK, which is
also widely used.
• Convert your information bits to a {-1,+1} square
waveform. Let it be I(t). Multiply I(t) with cos(2 \pi
ft), and send out.
• This is the basic idea. But to make it work, more work
has to be done.
Bandwidth
• Bandwidth in wireless medium is limited.
• Check
http://www.ntia.doc.gov/osmhome/allochrt.p
df
• 802.11g network, each channel has 22MHz
bandwidth. Channel 1 is centered at
2.412GHz.
• The 2.412GHz is the f in the cos(2 \pi ft).
• What is bandwidth?
Bandwidth
• In very simple terms, it is how fast your signal can
change.
• If you have an unlimited bandwidth, your signal can
change infinitely fast.
• The frequency spectrum is shared, so you can use
only a part of it.
• Means that your signal cannot change infinitely fast.
• I(t) changes infinitely fast at the transition points
from -1 to +1 or from +1 to -1.
Baseband signals
• Roughly speaking, a signal can be represented
as the summation of a series of sine waves
(Fourier Transformation ).
• So you have to pass the bit stream to a Low
Pass Filter to filter out the high frequency
components.
• The filtered signal is called the *baseband
signal*.
Low Pass Filter
• The simplest LPF is a RC circuit.
• In our projects, we will use RRC filter, or, the
Root Raised Cosine filter. We will discuss it in
details.
• So suppose you feed the bit stream to the RRC
filter and gets the *baseband* signal, denoted
as I(t).
The Transmitted Signal
• So what you actually send is I(t)cos(2\pi ft),
where I(t) is band-limited to BHz.
• In 802.11g network, each channel has 22MHz
bandwidth. What should B be?
• Assume you are given a bandwidth 2BHz
centered at fHz. It means that all components
higher than (f+B)Hz and all frequency lower
than (f-B)Hz will be (or should be) cut-off.
Receiver
• The receiver receives r(t) = AI(t) cos(2 \pi ft +
\phi). Here, just for now, assume the receiver
somehow magically finds the value of \phi
and set it to be 0 (we will talk about this
shortly). So he multiplies r(t) with cos(2 \pi
ft), and gets AI(t)/2 + AI(t)cos(4 \pi ft)/2.
• You apply the LPF again to get rid of the highfrequency components (AI(t)cos(4 \pi ft)/2),
and what is left will be proportional to I(t).
A simplified wireless communication
scheme
Complex representations
• You have to get used to representing the received
signal as complex numbers.
• That is, r(t) =Re(t) + jIm(t).
• Why?
• Because if you will multiply the r(t) with both
cos(2\pi ft) and sin(2\pi ft), and both will be sent to a
LPF. The one corresponding to cos(2\pi ft) is regarded
as the real part and the one corresponding to
sin(2\pi ft) is regarded as the imaginary part.
• You will see why this is convenient later.
Here is an issue
• How to recover the original bits?
• I(t) is no longer the simple, clean square
waveform.
• Solution: sample I(t) at time instants and if the
samples are taken correctly, you can get the
correct bits.
• We will talk about this in details.
Here is another issue
• The oscillators are not perfect!
• The sender and receiver use local oscillators to
generate cos(2\pi ft). There will be a slight
difference between the sender and the
receiver frequency.
• So, the receiver has to track the frequency
difference, as well as the phase difference.
Will be discussed later.
More issues
• Multi-path.
• In wireless communications, signals travel
multiple paths to reach the destination. If you
send I(t), the receiver will receive \sum a_i I(t\tau_i).
• Solution
– 1. Ignore it. Valid if the symbol rate is low.
– 2. Use equalization.
– 3. OFDM.
– Will be discussed in details.
GNU Software Defined Radio
• http://www.gnu.org/software/gnuradio/
• A tool ideal for computer science majors to
practice with wireless communications.
• You write signal processing blocks in C++, and
connect the signal processing blocks with
Python.
• In Project 1, You will be asked to write signal
processing blocks.
The code for a simple BPSK
transmitter and receiver
• http://www.cs.fsu.edu/~zzhang/CIS5930_Spri
ng_2009_files/OSMR_chest_snd.py
Download