end-product design report outline -...

21
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

Upload: truonghuong

Post on 18-Sep-2018

215 views

Category:

Documents


0 download

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

[email protected]

Additional contact:

Shizheng Li

Office Address: 3133 Coover

[email protected]

Student Team Information

Jeremy Bergan

Major: Computer Engineering

Address: 412 Welsh Ave. Apt #2

Phone number: (563) 880-8726

[email protected]

Ben Green

Major: Computer Engineering

Address: 4327 Frederiksen Ct

Phone Number: (319) 899-4534

[email protected]

Alex Lee

Major: Electrical Engineering

Address: 2624 Kent Ave unit 103

phone number: (515) 520-1823

[email protected]

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>.