end-product design report outline -...
TRANSCRIPT
1
End-Product Design Report
Network Coding Testbed Using Software Defined Radios
SD May10-08
Alex Lee, Ben Green, Jeremy Bergan
Advisor: Aditya Ramamoorthy
Submitted: December 7, 2009
DISCLAIMER: This document was developed as part of the requirements of an electrical and computer engineering
course at Iowa State University, Ames, Iowa. The document does not constitute a professional engineering design or
a professional land surveying document. Although the information is intended to be accurate, the associated
students, faculty, and Iowa State University make no claims, promises, or guarantees about the accuracy,
completeness, quality, or adequacy of the information. Document users shall ensure that any such use does not
violate any laws with regard to professional licensing and certification requirements. Such use includes any work
resulting from this student-prepared document that is required to be under the responsible charge of a licensed
engineer or surveyor. This document is copyrighted by the students who produced the document and the associated
2
Table of Contents
Table of Contents ................................................................................................. 2 List of Figures ...................................................................................................... 3 List of Tables........................................................................................................ 3 List of Definitions .................................................................................................. 3 Executive Summary .............................................................................................. 4 Acknowledgments ................................................................................................. 4 Problem Statement ............................................................................................... 4
General Problem Statement ................................................................................ 4 General Solution Approach .................................................................................. 4
Operating Environment ......................................................................................... 5 Intended User and Intended Uses ........................................................................... 5
Intended User ................................................................................................... 5 Intended Uses ................................................................................................... 5
Initial Assumptions and Limitations ......................................................................... 5 Initial Assumptions ............................................................................................ 5 Initial Limitations ............................................................................................... 5
Expected End Product and Other Deliverables .......................................................... 6 End Product Design ................................................................................................. 7
The Approach Used ............................................................................................... 7 Design Objectives .............................................................................................. 7 Functional Requirements ..................................................................................... 7 Design Constraints ............................................................................................. 8 Testing Approach Considerations ......................................................................... 8 Recommendations Regarding Project Continuation or Modification.......................... 10
A Detailed Design ............................................................................................... 11 System Design ................................................................................................ 12 Basic Network Design ....................................................................................... 13 ANC Network Design ........................................................................................ 13
Resources and Schedules .......................................................................................... 15 Resource Requirements ....................................................................................... 15
Personnel Effort Requirements ........................................................................... 15 Other Resource Requirements ........................................................................... 16 Financial Requirements ..................................................................................... 17
Schedules .......................................................................................................... 17 Project Schedule .............................................................................................. 17 Deliverable Schedule ........................................................................................ 18
Project Team Information .................................................................................... 18 Client/faculty advisor ....................................................................................... 18 Student Team Information ................................................................................ 19
Closing Summary ............................................................................................... 19 References ......................................................................................................... 20
List of Figures
Figure 1 .................................................................................................................... 9 Figure 2 .................................................................................................................. 12 Figure 3: Alice-Bob topology ...................................................................................... 14 Figure 4: Chain topology ........................................................................................... 14 Figure 5: X topology ................................................................................................. 14 Figure 6 .................................................................................................................. 17 Figure 7 .................................................................................................................. 18 Figure 8 .................................................................................................................. 18
List of Tables
Table 1 ................................................................................................................... 12 Table 2 ................................................................................................................... 15 Table 3 ................................................................................................................... 15 Table 4 ................................................................................................................... 16 Table 5 ................................................................................................................... 16
List of Definitions
Network Coding: A theory that allows the node to combine received packets and creates the
packets to send to one or more nodes. [1]
Analog Network Coding (ANC): A theory that routers forward the interfering signals instead of
forwarding packets and leverage network-level information to cancel the interference and
recover the signal destined to it. [4]
Universal Software Radio Peripheral (USRP): A hardware device which is a high-speed USB-
based board to facilitate the building of software radios. [6]
Minimum-Shift Keying(MSK): A form of phase shift keying that creates the signals based on
binary data consisting of sharp transitions. [7]
GNU Radio: A free software development toolkit that provides the signal processing runtime and
processing blocks to implement software radios using readily-available, low-cost external RF
hardware and commodity processors. [8]
Media Access Control (MAC): A sublayer of the Data Link Layer specified in the seven-layer
OSI model (layer 2). It provides addressing and channel access control mechanisms that make it
possible for several terminals or network nodes to communicate within a multipoint network,
typically a local area network (LAN) or metropolitan area network (MAN). The hardware that
implements the MAC is referred to as a Medium Access Controller. [14]
Bit Error Ratio (BER): A measure of signal quality, and is a function of a quantity called Eb/N0,
the energy per bit to noise power spectral density ratio of the signal for QPSK signal. [15]
Executive Summary
Current protocols for handling data on networks do not make full use of the type of information
or the topology of the network. A field of study known as network coding seeks to find ways of
combining and routing packets or information in order to increase the throughput and reliability
of networks. This project aims to build on previous research as well as to implement a testbed
and framework that can be used for future research in network coding at Iowa State.
During the course of the year a system for setting up wireless networks and testing their
properties will be developed for university equipment. A base network complete with
modulation, demodulation, media access control, and testing utilities will be implemented with
common algorithms and protocols to test novel approaches against.
The network coding technique "Analog Network Coding" as described in the paper by Katti et
al. [1] will also be implemented and expanded upon by designing a specialized MAC protocol
designed to make use of the properties of this technique.
Acknowledgments
Aditya Ramamoorthy's Ph.D student, Shizheng Li, will be assisting us in the lab, providing
guidance in design decisions, and answering questions we have about Network Coding. He has
already provided us access to research papers on the topics of Network Coding, Analog Network
Coding, and Wireless Network Protocols. He will be an asset to our team throughout the senior
design project.
Problem Statement
General Problem Statement
Current network protocols are not the most efficient which leads to the question of how one can
improve them? Network Coding is a scheme that has a large throughput advantage over current
wired and wireless networks. We plan to build a network coding testbed to implement network
coding protocols. One that we think has potential is Analog Network Coding.
General Solution Approach
To build a testbed, we need to build physical layer and media access control layer support to
enable network coding at different protocols. We shall implement basic modulation schemes and
the analog network coding physical layer algorithm [1]. Specifically, in ANC, two transmitters
send at the same time and the MSK modulated signals will interfere at the router. Where they
will be amplified and broadcast to surrounding nodes. When the receivers receive the interfered
signals they will use proper algorithms to demodulate the interfered message.
This could potentially double the throughput of the router. Along with this simple approach we
will also be researching new methods of ANC that could potentially be used with traditional
wireless networks.
In order to support higher layer network coding protocols, we shall also implement a simplified
802.11 MAC protocol. This is also useful when we want to apply ANC in networks with general
topology.
Operating Environment
The end-product of our project will be in the form of software which requires certain hardware
like computers and USRPs. Most of hardware that runs the software is placed in the lab. Within
the lab condition, all the hardware should operate. The end-product will be software which won’t
be seen physically, so it won’t be damaged by the physical impact.
Intended User and Intended Uses
Intended User
The end-product is designed as the testing tool of the network coding protocols, including
analog network coding. The user should understand the basic concepts of Analog Network
Coding and how to operate systems like USRPs, computers, and the software. The intended user
should be researchers or engineers who design new network protocols based on network coding,
or people who want to set up a small scale wireless mesh network.
Intended Uses
This product is useful in prototyping new network coding protocols. It provides low layer
support so that higher layer protocols can be implemented quickly. It will also be equipped with
analog network coding, which is expected to increase the throughput of a small wireless
network. The expected end-product is a network coding testbed and a prototype of Analog
Network Coding. The end-product will be useful among the small wireless networks connecting
several computers. However, the product might not be able to integrate with general wireless
networks that people currently use.
Initial Assumptions and Limitations
Initial Assumptions
Since its main use will be in a lab, no assumptions are made about the environment of the end-
product, except that it will be tested under reasonable conditions.
Initial Limitations
The research nature of this project leaves it very open in terms of what can and can't be done. As
a result there are only the limitations of the currently owned hardware, and the time needed to
implement the end product.
The department currently owns seven Universal Software Radio Peripherals (USRPs) for use in
our project with another seven ordered. This means there is a maximum of 14 radios, or nodes, in
any network layout developed for or tested in. In the future the software should theoretically be
scalable to larger networks, but this is the maximum size the team will be able to test with.
Each of the USRPs come with a choice of many daughter-boards, which allow access to a certain
portion of the wireless spectrum. The daughter-boards that are made available can transmit and
receive from 2.4 GHz to 2.5 GHz, bounding the testing to this range of frequencies. Again, what
applies here should theoretically also be applicable to other bands, but can only be tested in this
area of the spectrum.
The computers that the USRPs are hooked up to, and on which all of the computation for this
system will be done, are several year old Dell Optiplex desktops. Any software created must run
on modest hardware. The main limiting factor will be the CPU of the machines, as this software
will require heavy number crunching. For any logging of data, RAM and hard drive space may
come in to play, but are not considered as important to the end product.
Another very important consideration is the amount of time to finish the work. The project lasts
two semesters, and each student has only a certain amount of time per week to devote to it. This
is the main limiter of the scope and complexity of the project considering its open-ended nature.
The team must make judgments on which features and what functionality are most important,
and how much time to allot to individual tasks in order to ensure that a working product is
finished on time.
Expected End Product and Other Deliverables
The end product of this project will be a network coding testbed. All software, including any
binaries, source, and documentation will be made available to the client throughout the project,
and will be judged to be finished when:
The software is compilable, installable, and compatible, with the provided hardware.
The software can be used to set up a wireless network between an arbitrary number of
computers, with a range of network topologies.
The network created uses network coding techniques to show equal or better throughput than a
traditional wireless network, and that this can be measured quantitatively using tools provided or
developed by the team. All source code and functionality is documented thoroughly, and to the
client's satisfaction. This should all be accomplished by the scheduled due date for the project in
the Spring of 2010.
The product will be installed on several computers and will be used to configure and test a
wireless network that implements network coding techniques to improve throughput over
traditional wireless networks.
Various important documents will be developed and delivered to the client while the project is in
progress, including the project plan (10/9/2009), the design document (11/16/2009), and the
Design Report (12/1/2009). The project plan will detail initial goals, requirements, descriptions,
and schedules so that the client may assess that the overarching goals for the project are
understood by the project team. The design document and design report will detail how the
problem is to be solved, including technical descriptions of all components and steps involved.
End Product Design
The Approach Used
Design Objectives
Build a network coding testbed to implement network coding protocols.
Build physical layer and MAC layer support to enable network coding of different
protocols.
Implement basic modulation schemes and the analog network coding physical layer
algorithm.
Implement a simplified 802.11 MAC protocol.
Our objective is to develop a testbed that consists of a set of tools that will facilitate practical
research on network coding. The testbed should allow the users to be able to switch between
different modulation schemes, network designs and topologies.
The testbed should implement a variety of modulation schemes that can be used to send
messages.
A physical layer, network layer, host layer, and MAC layer will be used to give the wireless
network its functionality.
Functional Requirements
FR01: The software shall implement the system detailed in the paper Embracing Wireless
Interference: Analog Network Coding [1].
FR02: The system shall be used as the practical application to arbitrary network topologies.
FR03: We shall integrate our ANC implementation with a simple traditional wireless network.
FR04: The system shall show equal or better throughput than a traditional wireless network.
FR05: The system shall include software to measure packet loss, latency, and throughput.
FR06: The system shall have a layer devoted to collecting and logging data that can be used for
testing and verification purposes.
FR07: QPSK, MSK, QAM modulation schemes must be implemented.
FR08: Simplified 802.11 MAC that allow proper distributed scheduling between the computers.
FR09: The Usage of USRP and GNU radio signal processing libraries shall need for the system.
FR10: Each functional block of the system shall be simulated in Matlab before implemented in
GNU Radio.
FR11: The Matlab simulation results must be compared and verified with the GNU Radio
implementation.
FR12: The testbed shall be extensible, allowing further develop and research of networking.
Design Constraints
USRP
o Number
o Bandwidth
o Frequency range
o Transmission power
Computing
o Processing Speed
o Number of Computer
Time
o Pursue limited set of network coding techniques or features
The network coding testbed requires a USRP to be connected to a computer, therefore the
number of nodes in the network is constrained by the number of USRPs and computers available
to our group. Though this is an important consideration, most of the network topologies we plan
implement can be tested with 5 or fewer nodes. In our network each node can act as a
transmitter, receiver, or router, which gives us even greater flexibility.
Our biggest constraint may be time. The testbed should allow the user to use many different
types of modulation schemes, network types, and topologies. We will only have time to
implement a few of these features, but we need to make sure the testbed is extensible to allow for
development in the future. If we try too implement too many different features we may not have
enough time to finish the actual testbed.
Testing Approach Considerations
Each stage of our design will be tested in a Matlab simulation before we implement it in GNU
radio. By simulating in Matlab, we can quickly test our design in controlled environment.
Matlabs standard libraries already contain many functions and modulation schemes that we need
for our testing.
Once we run the Matlab simulations we will verify that the results are correct. Results can be
verified by comparing the simulation to known values, or through making sure the transmission
matches the reception. Once we are satisfied with the result we will implement the code in GNU
Radio. This involves us creating the signal processing blocks in C++ and combining the blocks
with Python.
Once the blocks are implemented in GNU Radio we will test the code by broadcasting and
receiving using the USRPs. If these results match what we got in the Matlab simulation we can
be certain we implemented it correctly.
We have already began prototyping and testing using Matlab. Our first prototype was a
simulation of a QPSK modulation and demodulation. This included channel simulation at several
levels of noise. From the simulation we were able to get this graph of the Bit Error Ratio. Our
adviser helped verify that we obtained the correct data. This graph can be used when we begin
implementing our system in GNU radio.
Figure 1
We have already started a full ANC implementation in Matlab. This should help us understand
our design better, and also provide valuable data to compare with our GNU Radio
implementation. We plan to finish this next semester.
To evaluate the effectiveness of the testbed we will use the data logged by the testing layer. This
will allow users to investigate the throughput, bit error rate, packet loss, and visualizations of
data in each network. If we insure the testing layer works correctly, it should allow us to easily
test the rest of the system.
Recommendations Regarding Project Continuation or Modification
Physical Layer
o M-QAM(M-ary Quadrature Amplitude Modulation) [12]
o M-PSK(M-ary Phase Shift Keying) [11]
o OFDM(Orthogonal Frequency-Division Multiplexing) [10]
Network Layer
o Implement TCP/IP
Testing and Logging Layer
o Inter-node coordination
Nodes coordinate over internet
Run / Stop all nodes from central location
Gathering statistical data from all nodes to a central location
o Single-computer simulation
Simulate channel effects
Simulate topology
Able to test a network on a single computer
o Component Benchmarking
Component processing time per input sample
Help in identification of computation chokepoints
Other Network Coding Schemes
o Random Linear Network Coding [9]
o MIXIT [13]
A Detailed Design
1. Framework
a) Physical Layer
Modulation
Demodulation
Carrier Sense
b) Network Layer
Packetization of Data
Routing path is given for each packet
c) Host Layer
Generates data to send
Receives and processes data
Several possible data sources/types
o Streaming media (audio/video)
o Randomized Data
o Known Pattern
o Kernel network interface
d) Testing and Logging Framework
Select logging/testing options
Logging data to file from individual layers/components
Scopes/Visualization of data from individual layers/components
Generation of statistics
o Bit Error Rate
o Packet Loss
o Throughput
Comparison of multiple schemes
Validation
o Verify Correctness of data
o Verify correctness of statistics based on simulations
2. Network Types
a) Basic Network
Physical
o MSK
o QPSK
MAC
o Simplified 802.11 MAC
b) ANC
Physical
o MSK
o ANC decoding
MAC
o Simplified 802.11 MAC
o Interference coordination
System Design
The framework will consist of five separate
components, four layers making up the functionality of
a wireless network, and one component for testing and
logging each of the network layers.
The wireless networking layers are:
Host Layer: Provides functions for generating
and interpreting data.
Network Layer: Packetization of data and
routing. Contains higher level functions of
networking.
MAC Layer: Coordinates channel access
between nodes.
Physical Layer: Does most signal processing
work. Defines modulation, demodulation, carrier
sensing, signal filtering. Interfaces with USRP to
transmit/receive data.
Each of these layers will be built with a standardized
interface so that they can be easily modified or
interchanged with custom components, allowing future
students or researchers the ability to use new protocols or algorithms with the existing system.
Table 1
Layer Data Type
Host <-> Network data streams
Network <-> MAC packets
MAC <-> Physical frames
The networking system will be passed to the testing and logging component to allow access to
member variables and functions, and to enable reading from the data streams between layers or
sub-components.
The testing and logging component will have access to each of the instances of the networking
layers in order to provide several functions useful for testing and evaluating each individual
component and the system as a whole, including:
Selection of logging/testing options
Logging data to file from any layer or sub-component
Scopes/Visualization of any data stream between layers or sub-components
Generation of useful statistics gathered from testing
o Bit error rate
Figure 2
o Packet loss
o Throughput
Comparison of multiple schemes
Each network layer has several possible useful implementations. We will implement them in a
number of ways that might be useful to future users. These will include a basic network design,
which implements each layer for a traditional wireless network without network coding, and an
implementation that will use analog network coding to increase throughput.
Basic Network Design
Physical Layer
Several commonly used modulation schemes will be implemented including Quadrature Phase
Shift Keying (QPSK), Minimum Shift Keying (MSK), and Quadrature Amplitude Modulation
(QAM).
To detect whether or not a signal is being transmitted we simply compare the energy of the
channel to the average noise energy.
MAC Layer
The MAC will be implemented as a simplified version of the 802.11 MAC, which is to say it will
use the Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) with exponentially
increasing random back-off times as described in the 802.11 standard.
Network Layer
The packet layout will be very simple containing only information on source and destination
nodes. Each node will contain global knowledge of the network at this level and will look up
routing information for each packet in a table. Routing protocols are outside the scope of this
project but would possibly make a good subject for implementation for later teams.
Host Layer
For testing purposes the host layer will be able to generate data randomly, or in several
predefined patterns. We will be able to compare transmitted and received versions of this data as
a method of testing.
Also implemented will be sending and receiving of audio or video streams for demonstration
purposes.
ANC Network Design
Physical Layer
In addition to MSK modulation, the ANC physical layer will contain sub-components to perform
detection and decoding of interfered signals as described in the ANC paper [1].
MAC Layer
The ANC MAC layer works on a modified version of the basic network MAC. In the header of a
frame to be transmitted, a node will also send information about the source and destination of the
next several packets in the buffer waiting to be sent. Surrounding nodes will keep a table of this
information about the nodes in their area and use it to detect opportunities where ANC would be
beneficial. An opportunity for coding occurs when two nodes have a message to transmit but
would interfere at the destination of at least one of the messages, and the next hop for the
interfered message has knowledge of the data contained in one of the transmitting nodes’
packets. Several examples are given below.
Figure 3: Alice-Bob topology
In this topology the two edge nodes want to exchange information. Normally this would
take one time slot for each of four transmissions, but with ANC A and B can be transmitted
simultaneously, and the interfered message forwarded, taking only 2 time slots. The
interfered message can be decoded because each edge node already has knowledge of one
part of the message.
Figure 4: Chain topology
The same idea can be applied for nodes connected in series with unidirectional traffic. A and
B can be transmitted simultaneously. A+B is then forwarded to the next node where it can
be decoded using the known message of B.
Figure 5: X topology
Here a similar technique can be applied, but instead of the destination nodes knowing part
of the message because they sent it, they overheard part of the message interference-free
during the first stage of transmission.
In response to a node sending a request-to-send (RTS) packet, the destination node may send a
special confirm-to-send (CTS) packet that allows both the original requesting node to send, as
well as a node that has a packet that the intermediate node decides can be productively
interfered. The second transmitting node may choose to transmit at the same time as the first
node or ignore the CTS altogether.
The intermediate node would then determine whether the message needs to be forwarded, and if
so, amplify and forward the signal. Detection and decoding of interfered signals is done at the
physical layer as described in the ANC paper [1].
Outside the detection of coding opportunities the modified MAC works the same as the basic
network MAC.
Resources and Schedules Resource Requirements
Personnel Effort Requirements
Each member of the group is expected to contribute about equal time to the project. This will
ensure that each member has a firm understanding of Network Coding, GNU Radio, the USRP,
and the testbed. Below are estimates from the project plan of how long it will take to complete
each task along with each member’s personal effort requirement. Each of these phases are
explained in the Project Plan.
Table 2
Group Member Task #1 Task#2 Task#3 Task#4 Task#5 Task#6 Task#7 Task#8 Totals
Alex Lee 20 15 50 40 15 10 10 10 170
Ben Green 20 15 50 40 15 10 10 10 170
Jeremy Bergan 20 15 50 40 15 10 10 10 170
Totals 60 45 150 120 45 30 30 30 510
The time requirements have stayed close to the same as the previous estimate, but now that we
know the design, many of our tasks have changed. From an implementation aspect, each member
may be asked to contribute to one layer more than others, but each person should spend an equal
amount of time on implementation. Each member is expected to spend time documenting and
fully testing their code.
Table 3
Because this is a research project we could encounter problems in certain stages that could set us
back. Hopefully these setbacks will not cause us to change our project time line.
Group Member
Testing and Logging Physical Host Network MAC Testing Documentation Totals
Alex Lee 25 20 20 20 20 20 15 140
Ben Green 25 20 20 20 20 20 15 140
Jeremy Bergan 25 20 20 20 20 20 15 140
Totals 75 60 60 60 60 60 45 420
Other Resource Requirements
No additional resources will need to be purchased for us to complete the project. Right now there
are 7 USRPs in the lab with an additional 7 on order. If this research is to be duplicated by
another research group they will have to purchase 14 USRPs with the necessary daughterboards.
They would also need to have 14 computers to attach the USRPs to. The faster the computers the
better, as processing signals can take up a lot of CPU cycles. All of the necessary software can be
acquired for free over the internet since it is all open source.
Table 4
Unit Cost 14 Units
USRP $ 700 $ 9,800
Computer $ 1,500 $ 2,100
Total: $ 30,800
In the table you can see that the USRPs will cost $9,800, with an additional fee for each
new daughterboard. Not all daughterboards will be needed to use the USRPs in a Network
Coding Testbed, but you may need to buy additional boards depending on your specific
application. Below is a table with possible daughterboard configurations and prices.
Table 5
Name Description Unit Cost 14 Units
BasicTX Transmitter for use with external RF Hardware $75 $1,050
BasicRX Receiver for use with external RF Hardware $75 $1,050
LFTX DC-30MHz Transmitter $75 $1,050
LFRX DC-30MHz Receiver $75 $1,050
TVRX 50 MHz - 870 MHz Receiver $100 $1,400
DBSRX 800 MHz - 2.4 GHz Receiver $150 $2,100
RFX400 400-500 MHz Transceiver $275 $3,850
RFX900 800-1000 MHz Transceiver $275 $3,850
RFX1200 1150-1450 MHz Transceiver $275 $3,850
RFX1800 1.5-2.1 GHz Transceiver $275 $3,850
RFX2400 2.3-2.9 GHz Transceiver $275 $3,850
XCVR2450 2.4-2.5 GHz & 4.9-5.85 Dual Band Transceiver $400 $5,600
New computers do not have to be specifically purchased for use with the USRPs. We have
included the price as an estimate incase a lab group is starting from scratch. Using already
purchased computers will significantly lower the price of setup.
Financial Requirements
Though we are not getting paid for our time we will still calculate the total cost of our labor for
practice purposes. Our personal efforts were tabulated for each of the task in Personal Effort
Requirements sections. We are assuming that each member is getting paid $20 an hour. 510
hours at $20 an hour totals to $10,200 in total labor cost.
Schedules
Project Schedule
In creating our project plan we made a simple schedule for the next two semesters. This schedule
was not very in-depth, as we were unsure of a lot of the task that needed completed. Now that we
have our design finished we have a lot better idea of how much time certain task will take and
what direction our project is heading. Our previous schedule had time divided as follows.
Figure 6
Our updated schedule takes into account the implementation, testing, and documentation. We
will try to work on finishing our ANC Matlab design within the first two weeks of the second
semester. At the same time we would like to start implementing our testing and logging layer.
We will continue adding functionality and logging ability throughout the semester as we create
the other layers. We plan to spend a month on each of the other layers, starting with the physical
layer and ending with the MAC layer. Each time we implement a layer we hope to make a
simulation of it first in Matlab, then in GNU Radio.
Our testing is scheduled to take up the last month of our implementation. During this time we
will make sure that the layers interact properly with each other, the testing layer properly logs
data, and that the testbed in functional.
Figure 7
Deliverable Schedule
At the beginning of the semester we were given a list of dates where certain deliverables were
due. In the Fall semester of 2009 our group was responsible for a Project Plan, Design Document
and a few presentations. These deliverables were designed to help us identify the goals of this
project and to set apart a specific design to help us complete the Test Bed on time. This schedule
is a little different than the project schedule as it only list the dates of the deliverables that we are
responsible for this semester and next semester. The project schedule is designed to help our
group complete task that are necessary to meeting a deliverable.
Figure 8
Project Team Information
Client/faculty advisor
Aditya Ramamoorthy
Office Address: 3222 Coover
Telephone Number: (515) 294-1583
Additional contact:
Shizheng Li
Office Address: 3133 Coover
Student Team Information
Jeremy Bergan
Major: Computer Engineering
Address: 412 Welsh Ave. Apt #2
Phone number: (563) 880-8726
Ben Green
Major: Computer Engineering
Address: 4327 Frederiksen Ct
Phone Number: (319) 899-4534
Alex Lee
Major: Electrical Engineering
Address: 2624 Kent Ave unit 103
phone number: (515) 520-1823
Closing Summary
In closing, current network protocols do not use certain aspects of the network to their fullest
extent. The topology of a network can give us clues as to how data can be most efficiently
transmitted, and how, by mixing information intelligently, bandwidth can be more efficiently
used. This is the field of study of network coding. This project will attempt to improve upon
previous research in this area, particularly Analog Network Coding, in order to further the
capabilities of wireless networks. Analog Network Coding will be applied to more general
networks than presented in previous research, and the concepts will be tested in practical
applications.
References
[1] Sachin Katti, Shyamnath Gollakota, Dina Kattabi, Embracing wireless interference: Analog
Network Coding, in ACM SIGCOMM Computer Communication Review v.37, n.4, pp 397 –
408, October 2007
[2] Sachin Katti, Hariharan Rahul, Wenjun Hu, Dina Katabi, Murial Medard, Jon Crowcroft,
XORs in the air: practical wireless network coding, IEEE/ACM Transactions on Networking,
v.16, n.3, June 2008
[3] Philip A. Chou, Yunnan Wu, and Kamal Jain, Practical Network Coding, Allerton
Conference on Communication, Control, and Computing
[4] Fragouli, Christina, Jean-Yves Le Boudec, and Jorg Widmer. "Network Coding: An Instant
Primer." ACM SIGCOMM Computer Communication Review. v.3, n.1, Jan. 2006.
[5] Ettus Research LLC. “Sales.” Ettus Research. 14 September 2009. Web. 7 October
2009. http://www.ettus.com/sales.
[6] "Universal Software Radio Peripheral -." Wikipedia, the free encyclopedia. Web. 07 Oct.
2009. http://en.wikipedia.org/wiki/Universal_Software_Radio_Peripheral.
[7] "What is MSK, Minimum Shift Keying Modulation :: Radio-Electronics.Com." Radio-
Electronics.Com :: reference tutorials jobs exhibitions books news. Web. 07 Oct.
2009. http://www.radio-electronics.com/info/rf-technology-design/pm-phase-modulation/what-is-msk-minimum-
shift-keying-tutorial.php.
[8] "GNU Radio." Web. 10 Oct. 2009. http://gnuradio.org/trac .
[9] "Network coding -." Wikipedia, the free encyclopedia. Web. 05 Dec. 2009.
<http://en.wikipedia.org/wiki/Network_coding#Random_Network_Coding>.
[10] "Orthogonal frequency-division multiplexing -." Wikipedia, the free encyclopedia. Web. 05
Dec. 2009. <http://en.wikipedia.org/wiki/OFDM>.
[11] "Phase-shift keying -." Wikipedia, the free encyclopedia. Web. 05 Dec. 2009.
<http://en.wikipedia.org/wiki/Phase-shift_keying>.
[12] "Quadrature amplitude modulation -." Wikipedia, the free encyclopedia. Web. 05 Dec.
2009. <http://en.wikipedia.org/wiki/Quadrature_amplitude_modulation>.
[13] S Katti, D Katabi, Mixit: The Network Meets the Wireless Channel, in MIT CSAIL
Technical Reports, September 2007
[14] "Bit error ratio -." Wikipedia, the free encyclopedia. Web. 06 Dec. 2009.
<http://en.wikipedia.org/wiki/Bit_error_ratio>.
[15] "Media Access Control -." Wikipedia, the free encyclopedia. Web. 06 Dec. 2009.
<http://en.wikipedia.org/wiki/Media_Access_Control>.