+ All Categories
Home > Documents > Network Coding Testbed

Network Coding Testbed

Date post: 23-Feb-2016
Category:
Upload: nelly
View: 57 times
Download: 0 times
Share this document with a friend
Description:
Network Coding Testbed. Jeremy Bergan, Ben Green, Alex Lee. Presentation Overview. Background Information Project Overview Framework Design Plan & Schedule Prototyping Implementation Testing. Problem. Network Coding is a scheme that has potentially larger - PowerPoint PPT Presentation
Popular Tags:
23
Network Coding Testbed Jeremy Bergan, Ben Green, Alex Lee
Transcript
Page 1: Network Coding  Testbed

Network Coding Testbed

Jeremy Bergan, Ben Green, Alex Lee

Page 2: Network Coding  Testbed

Presentation Overview

• Background Information • Project Overview

 • Framework Design

 • Plan & Schedule

• Prototyping

• Implementation

• Testing

Page 3: Network Coding  Testbed

Solution

• Network Coding is a scheme that has potentially larger throughput than current wired or wireless networks.

     

Problem

• Built a network coding testbed to implement network coding protocols and topologies.• Implement Analog Network Coding (ANC).• Utilize the Universal Software Radio Peripheral (USRP) to

send and receive the physical packet.• Implement a testing and logging layer to track testbed

performance.

     

Page 4: Network Coding  Testbed

Network Coding Overview

• Network Codingo Intelligently combining packets at intermediate nodes

to increase network throughput 

    

Page 5: Network Coding  Testbed

ANC: Decoding Interfered Signals

1. Node1 and Node2 simultaneously transmito Signals interfere at intermediate node

2. Intermediate node amplifies and forwards combined signal3. Node1 can decode Node2's message based on knowledge

of the message it sent previously 

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

Page 6: Network Coding  Testbed

Requirements • Implement a testing framework for wireless networks

• Implement a Network coding scheme with equal or better throughput than traditional networks

   • Implement ANC MAC

   • Practical application to arbitrary network topologies

• Use of Universal Software Radio Peripheral (USRP)  • Use of GNU Radio signal processing libraries

 • Modular design

Page 7: Network Coding  Testbed

Deliverables• Network Coding Testbed

• Implement different wireless topologies & protocols

• Complete Documentation• Commented Code• Build Instructions• Repository Access

Resource Requirements• 3 USRPs

• RFX2400 Transceiver Daughterboard

• 3 Computers• Linux Operating System• GNU Radio Installed

Page 8: Network Coding  Testbed

Schedule

Page 9: Network Coding  Testbed

Design Process• Functional

Decomposition

• Prototype in Matlab

• Test in Matlab

Page 10: Network Coding  Testbed

System DesignHost:Generates and interprets data

Network:Packetizes and determines data route

MAC:Arbitrates channel access. Coordinatestransmission among nodes

Physical:Modulation/Demodulation Testing and Logging:Tools used in testing of system

Page 11: Network Coding  Testbed

Analog Network Coding Implementation• Physical Layer

o MSK modulationo ANC algorithm for decoding interfered signals

• MAC Layero Modified CSMA/CAo Allows for simultaneous interfering transmissions if they

will be able to be correctly decoded • Network Layer

o Predetermined routingo Similar packet format as 802.11

• Host Layero Random datao Predetermined patterns of data

Page 12: Network Coding  Testbed

Testing Procedure

• Implement ANC system in Matlabo Simulation in a controlled environment

 • Tested Matlab simulation

 • Split Matlab simulation to be implemented in GNU Radio

• Write & compile GNU Radio blocks

• Use Python to test each block

• Test entire framework over air

Page 13: Network Coding  Testbed

Matlab ANC Simulation

     

• Simulate a transmission and reception of interfered signal

• Decode unknown signal using ANC algorithm

• Advantages:• Debugging system

• Data Visualization

• System organization

Page 14: Network Coding  Testbed

Matlab ANC: Transmission

   

   

• Generate two signals with random data bits

• Generate a pilot sequence

• MSK Modulation

• Random overlap between two signals

Page 15: Network Coding  Testbed

Matlab ANC: Sampling

   

   

• Use pilot sequence to find start of individual signals

• Sample at optimal time for demodulation

Page 16: Network Coding  Testbed

Matlab ANC: Channel Measurements

   

   

• Variance over a sliding window• Indicator of interference

• Amplitude of individual signals• Measured at un-interfered sections

Page 17: Network Coding  Testbed

Matlab ANC: Decoding

   

   

• Use amplitude of signals to calculate possible phase pairs

• Use known phase difference to determine unknown phase difference

Page 18: Network Coding  Testbed

GNU Radio Implementation

     

• Determine how to port code from Matlab to C++

• Split code into blocks that deal with streams of data

 

Page 19: Network Coding  Testbed

GNU Radio Blocks

• Energy Detector• Uses magnitude of signal to determine beginning and

ending of signal.

• Sync Block• Uses pilot sequence to find start of individual signals• Packetizes each signal along with offset information

• Decoding Block• Runs ANC algorithm

Page 20: Network Coding  Testbed

GNU Radio Block Testing

• Non – Trivial• Must have entire block before testing• Involves two languages Python and C++

• SWIG makes C++ usable in Python• Lacking documentation

•  Once compiled use Python to test C++ code• Link C++ blocks together using Python• Generate data for blocks using Python

• Use Python modules to generate packets and other inputs

Page 21: Network Coding  Testbed

Future Additions to Testbed

• Complete initial design• Add Modulation Schemes to Physical Layer

o MQAMo MPSK

• Network Layer o Implement TCP/IP

• Testing Layero Inter-node Coordinationo Single Computer Simulationo Component Benchmarking

• Other Network Coding Schemes

Page 22: Network Coding  Testbed

Lessons Learned

Conclusion

• Plan time requirements better• Gained experience outside of normal area of study• Start prototyping early in first semester

• Designed network testbed that implements ANC• Simulated ANC system in Matlab• Implementation in GNU Radio

• Wrote GNU Radio blocks• Compiled and started testing

Page 23: Network Coding  Testbed

Questions?


Recommended