Rateless Wireless Networking Decoder Mikhail Volkov Edison Achelengwa Minjie Chen.

Slides:



Advertisements
Similar presentations
An Alternative Approach for Enhancing Security of WMANs using Physical Layer Encryption By Arpan Pal Wireless Group Center of Excellence for Embedded Systems.
Advertisements

Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Efficient Soft-Decision Decoding of Reed- Solomon Codes Clemson University Center for Wireless Communications SURE 2006 Presented By: Sierra Williams Claflin.
Altera FLEX 10K technology in Real Time Application.
a By Yasir Ateeq. Table of Contents INTRODUCTION TASKS OF TRANSMITTER PACKET FORMAT PREAMBLE SCRAMBLER CONVOLUTIONAL ENCODER PUNCTURER INTERLEAVER.
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Strider : Automatic Rate Adaptation & Collision Handling Aditya Gudipati & Sachin Katti Stanford University 1.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Reference: Message Passing Fundamentals.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
Mid semester Presentation Data Packages Generator & Flow Management Data Packages Generator & Flow Management Data Packages Generator & Flow Management.
Software Defined Radio Mentor: Dr. Brian Banister Sponsor: Comtech AHA Team: Brad Eylander, Dylan Kievit, Jeff Chang, Ted Storms Acknowledgements: Dr.
Overview.  UMTS (Universal Mobile Telecommunication System) the third generation mobile communication systems.
Sep 06, 2005CS477: Analog and Digital Communications1 Introduction Analog and Digital Communications Autumn
1 NETWORK CODING Anthony Ephremides University of Maryland - A NEW PARADIGM FOR NETWORKING - February 29, 2008 University of Minnesota.
Firmware implementation of Integer Array Sorter Characterization presentation Dec, 2010 Elad Barzilay Uri Natanzon Supervisor: Moshe Porian.
An FPGA Based Adaptive Viterbi Decoder Sriram Swaminathan Russell Tessier Department of ECE University of Massachusetts Amherst.
Characterization Presentation Neural Network Implementation On FPGA Supervisor: Chen Koren Maria Nemets Maxim Zavodchik
CEFRIEL Deliverable R4.1.5 MAIS adaptive and reconfigurable modem Giovanni Paltenghi Roma – 24 Novembre 2005.
Software Defined Radio Brad Freyberg, JunYong Lee, SungHo Yoon, Uttara Kumar, Tingting Zou Project Description System Design The goal of our project is.
Combating Cross-Technology Interference Shyamnath Gollakota Fadel Adib Dina Katabi Srinivasan Seshan.
Juanjo Noguera Xilinx Research Labs Dublin, Ireland Ahmed Al-Wattar Irwin O. Irwin O. Kennedy Alcatel-Lucent Dublin, Ireland.
Viterbi Decoder Project Alon weinberg, Dan Elran Supervisors: Emilia Burlak, Elisha Ulmer.
Digital signature using MD5 algorithm Hardware Acceleration
Introduction to Data communication
Multilevel Coding and Iterative Multistage Decoding ELEC 599 Project Presentation Mohammad Jaber Borran Rice University April 21, 2000.
ECE 545 Project 1 Part IV Key Scheduling Final Integration List of Deliverables.
CHAPTER 6 PASS-BAND DATA TRANSMISSION
Architectures. Many tasks involved in encoding, protecting and transmitting user application data as bit stream. Network Architecture is how tasks are.
Automatic Rate Adaptation Aditya Gudipati & Sachin Katti Stanford University 1.
Efficient FPGA Implementation of QR
MML Inference of RBFs Enes Makalic Lloyd Allison Andrew Paplinski.
Firmware based Array Sorter and Matlab testing suite Final Presentation August 2011 Elad Barzilay & Uri Natanzon Supervisor: Moshe Porian.
Contact: Robust Wireless Communication System for Maritime Monitoring Robust Wireless Communication System for Maritime Monitoring.
NETWORKING FUNDAMENTALS. Bandwidth Bandwidth is defined as the amount of information that can flow through a network connection in a given period of time.Bandwidth.
OFDM Presented by Md. Imdadul Islam.
Computer Communication & Networks Lecture # 05 Physical Layer: Signals & Digital Transmission Nadeem Majeed Choudhary
X1X1 X2X2 Encoding : Bits are transmitting over 2 different independent channels.  Rn bits Correlation channel  (1-R)n bits Wireless channel Code Design:
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Week 7 Lecture 1+2 Digital Communications System Architecture + Signals basics.
LZRW3 Decompressor dual semester project Part A Mid Presentation Students: Peleg Rosen Tal Czeizler Advisors: Moshe Porian Netanel Yamin
An Optoelectronic Neural Network Packet Switch Scheduler K. J. Symington, A. J. Waddie, T. Yasue, M. R. Taghizadeh and J. F. Snowdon.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
EE3A1 Computer Hardware and Digital Design
XStream: Rapid Generation of Custom Processors for ASIC Designs Binu Mathew * ASIC: Application Specific Integrated Circuit.
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
RICE UNIVERSITY DSPs for future wireless systems Sridhar Rajagopal.
Final Presentation Winter Barak Shaashua Barak Straussman Supervisor: Idan Shmuel.
John Ankcorn Networks and Mobile Systems Group MIT LCS Software Technologies for Wireless Communication and Multimedia.
Real-Time Turbo Decoder Nasir Ahmed Mani Vaya Elec 434 Rice University.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
November 29, 2011 Final Presentation. Team Members Troy Huguet Computer Engineer Post-Route Testing Parker Jacobs Computer Engineer Post-Route Testing.
Baseband Implementation of an OFDM System for 60GHz Radios: From Concept to Silicon Jing Zhang University of Toronto.
1 Modular Refinement of H.264 Kermin Fleming. 2 What is H.264? Mobile Devices Low bit-rate Video Decoder –Follow on to MPEG-2 and H.26x Operates on pixel.
1 Fall Technical Meeting, Bordeaux (BOD) 4/15-18/2013 SLS-CS_13-02 High Data Rate (Gbps +) Coding Architecture Part 2 (part 1 was presented at Fall 2012.
An automated pipeline balancing in the SRC Reconfigurable Computer and its application to the RC5 cipher breaking Hatim Diab 1, Miaoqing Huang 1, Kris.
Company LOGO Final presentation Spring 2008/9 Performed by: Alexander PavlovDavid Domb Supervisor: Mony Orbach GPS/INS Computing System.
SR: 599 report Channel Estimation for W-CDMA on DSPs Sridhar Rajagopal ECE Dept., Rice University Elec 599.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
802.11n MIMO-OFDM Standard  IEEE n group  MIMO-OFDM  Increased performance  Transmitter  MAC Enhancements  Results.
An FFT for Wireless Protocols Dr. J. Greg Nash Centar ( HAWAI'I INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES Mobile.
Coding and Interleaving
James K Beard, Ph.D. April 20, 2005 SystemView 2005 James K Beard, Ph.D. April 20, 2005 April 122, 2005.
Example Best and Median Results
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Introduction King Saud University
Centar ( Global Signal Processing Expo
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Presentation transcript:

Rateless Wireless Networking Decoder Mikhail Volkov Edison Achelengwa Minjie Chen

Cortex: a rateless wireless system Very recent work here at CSAIL (Perry, 2011) Use a novel rateless code called spinal code Encoder and decoder agree on a seed s 0, a hash function h and an IQ constellation mapping

Spinal Encoder Wish to transmit a message M = m 1 m 2... m n Break the message into k-bit segments M i Apply h to generate a spine

Spinal Encoder Encoder performs passes over the spine, each time generating new constellation points These constellation points are sent across an AWGN channel

Spinal Decoder Decoder knows s 0 so it can generate the 2 k possible candidate symbols s 1 using h Each time decoder receives symbol y it keeps the B best symbols from 2 k candidates using ML The transmitted message is estimated as the one with the lowest ML cost

Spinal Decoder

Objectives Implement decoder on an FPGA Evaluate feasibility of Cortex in a real communications system Identify key performance bottleneck and develop a clear strategy for developing a practical Cortex system

Micro-architecture Interface Takes stream of constellation symbols as input Outputs a message (192-bit packet) Decoding Stages Code Enumeration Add-Compare-Select Suggestion Update Spine Evaluator Update Get output message

Decoder rcv (put) Send_stat Symbol Mapper f(*) Spine Evaluator Puncturing Scheduler Input bit Streams I Q backtrackMem mkSalsa, h(*) seeding parameters curr_schedule curr_suggcosts schedule params getOutMsg updateSymQ out_msg (get) mkDecoder Sorting module doEnumerate doACS suggupd outbitsQ getSchedule Schedule getput EnumReq Vect(B*2^k, EnumResp ) Symbol Msg updateTree getMsg getBestMsgs put get Vect(B*2^k, MarkedCost ) Vect(B, MarkedCost ) Vect(B, Mark ) Msg toACSQ get evalupd

Micro-architecture Sub-modules Puncturing Scheduler Spine Evaluator Sorter Backtrack Memory

Decoder rcv (put) Send_stat Symbol Mapper f(*) Spine Evaluator Puncturing Scheduler Input bit Streams I Q backtrackMem mkSalsa, h(*) seeding parameters curr_schedule curr_suggcosts schedule params getOutMsg updateSymQ out_msg (get) mkDecoder Sorting module doEnumerate doACS suggupd outbitsQ getSchedule Schedule getput EnumReq Vect(B*2^k, EnumResp ) Symbol Msg updateTree getMsg getBestMsgs put get Vect(B*2^k, MarkedCost ) Vect(B, MarkedCost ) Vect(B, Mark ) Msg toACSQ get evalupd

Practical Salsa Implementation In practice we cannot have infinite precision floating point numbers Salsa produces two outputs: a 64-bit spine and 512-bit arrays of symbol bits

Development and Testing 3 point development and testing plan Critical to our success with 3 people under time constraints Step 1: Develop Decoder backbone with dummy Sorter and Spine Evaluator. Develop Sorter and Spine Evaluator independently. - Sorter tested with MATLAB. - Spine Evaluator (and Salsa) tested with Python.

Development and Testing Step 2: Integrate Decoder with Sorter and Spine Evaluator. Ensure correctness at the architectural level: - Modules instantiate correctly - Rules fire as expected, no deadlocks etc. - Timing is correct - Bits flowing end-to-end

Development and Testing Step 3: Ensure correctness at the semantic level, i.e. “bit-by-bit debugging” in out AWGN Channel Python Encoder out Python Decoder Bluespec Decoder - Encode string with Python encoder to produce symbols - Decode symbols and compare results

Development and Testing Finally, the algorithm was tested by adding noise to the transmitted symbols Strictly not our concern, as long as our implementation agreed with the source code Algorithm worked very well Actually “outdid” the reference code at one point: the Python code crashed but our decoder correctly decoded the message!

Performance Analysis – FPGA frequency The synthesized FPGA maximum frequency is MHz. Different Salsas gives the same FPGA frequency.

Performance Analysis – Frequency, Latency, Throughput

Performance Analysis - Area Sorter and SpineEvaluator take the most area

Performance Analysis - Area Our implementation actually fits on the FPGA. (roughly taking 30% of the total area) Different Salsa implementation don’t vary too much on device utilization.

Performance Analysis - Code The total lines of source code was Of these, the total lines of test code was 1135 (36.5%) and non-test code was 1969 (63.4%).

How much better can we do? We used a naive O(n 2 ) algorithm for the sorter module. We might be able to use other algorithm to reduce the cycle step from 149 to 32 in the best case, which brings a 5 times better performance and improve the bit rate ot 7.5Mbits/s. Given the current space requirement of Salsa, we can have B (B=4) of seperate hashing modules running in parallel with each other. In this case, we can have 4 times of better performance and improve the bit rates to 7.5*4 = 30 Mbits/s. Suppose we have sufficient area on the FPGA, we will be able to have B*2 k = 32 of hash modules running in parallel with each other. This will bring 32 times of better performance and improve the bit rates to 7.5*32 = 240Mbits/s.