**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 CDA3100

**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 CDA3100

**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 • Understand basic wireless communication theory (BPSK, CDMA, OFDM, RS code, etc) • Learn to implement wireless communication transmitters/receivers with GNU Software Defined Radio • 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.pdf • 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 high-frequency 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_Spring_2009_files/OSMR_chest_snd.py