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