Wireless Networking Class organization Class web page http
Wireless Networking
Class organization • Class web page – http: //www. cs. fsu. edu/~zzhang/CIS 5930_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 9/15/2020 CDA 3100 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 9/15/2020 CDA 3100 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, 4 th edition, 2003 – ``Principles of Wireless Networks: A Unified Approach, ’’ by Kaveh Pahlavan and Prashant Krishnamurthy, Prentice Hall, 1 st 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 f 1 and if `0’ he sends at frequency f 2. – 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. 11 g network, each channel has 22 MHz bandwidth. Channel 1 is centered at 2. 412 GHz. • The 2. 412 GHz 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(2pi ft), where I(t) is band-limited to BHz. • In 802. 11 g network, each channel has 22 MHz bandwidth. What should B be? • Assume you are given a bandwidth 2 BHz centered at f. Hz. 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) + j. Im(t). • Why? • Because if you will multiply the r(t) with both cos(2pi ft) and sin(2pi ft), and both will be sent to a LPF. The one corresponding to cos(2pi ft) is regarded as the real part and the one corresponding to sin(2pi 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(2pi 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(ttau_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/CIS 5930_Spri ng_2009_files/OSMR_chest_snd. py
- Slides: 26