HW/SW Co-Design and Implementation of a Fountain Code for an FPGA System-On-Chip

Total Page:16

File Type:pdf, Size:1020Kb

HW/SW Co-Design and Implementation of a Fountain Code for an FPGA System-On-Chip Master Thesis HW/SW Co-design and Implementation of a Fountain Code for an FPGA System-on-Chip Khurram Ashraf [email protected] Supervisors: Prof. Dr. Klaus Schneider Prof. Dr.-Ing. Norbert Wehn M. tech. Tripti Jain Dr. -Ing. Christian Weis Declaration This work is the result of my own effort, and has been completed without any external help other than mentioned in this project report. References and literature that I have used are fully listed without emission in the literature list of my project. Khurram Ashraf TU Kaiserslautern 29 September, 2016. i Acknowledgment In doing this thesis work, I was blessed to work with some truly remarkable people. First of all, I would like to express my sincere gratitude to Miss Tripti Jain, Dr.-Ing. Christian Weis and Dipl.-Ing. Stefan Scholl for their supervision and support during the entire period of this thesis. I am really thankful to Prof.Dr. Klaus Schneider and Prof. Dr.-Ing. Norbert Wehn for their support by providing me an opportunity to work in their research group of Embedded Systems and Microelectronic Systems De- sign at Technical University of Kaiserslatuern. Furthermore, the knowledge I acquired by taking courses under their supervision helped me in building in-depth understanding for this thesis. Lastly, but most importantly, I would like to express my gratitude to my parents and brother for helping me during my studies. ii Abstract Wireless communication traffic has increased significantly over the past few decades. Communication via noisy and unreliable channel can lead to data loss or erroneous data information. This problem can be resolved using a back channel that allows a receiver to send a re-transmission request. However, in certain scenarios, i.e. deep space communication and point-to-multipoint communication, re-transmission can be expensive and leads to significant communication overhead. To overcome this problem Forward Error Correc- tion (FEC), also called channel code, are used. FEC allows the sender to encode the message in a redundant fashion by using Error Correction Code (ECC). This redundancy allows the receiver to correct the errors that occurred during transmission without asking for re-transmission. The thesis presents an analysis of Fountain code; Fountain code is a class of FEC. In designing embedded systems, parameters such as timing perfor- mance, energy consumption, throughput, and latency are of great impor- tance. In this thesis work different types of Fountain codes are implemented on an embedded platform (Zynq platform) to find a balance between hard- ware and software in terms of timing, energy, throughput and latency. Ini- tially, Fountain codes are implemented on an embedded processor (ARM cor- tex A9), and later on, efficient partitioning is sought between the hardware and software. Finally, an analysis is carried out for all the implementations in terms of timing, energy, throughput, and latency. iii Contents 1 Introduction 1 1.1 Motivation . .1 1.2 Zed Evaluation Board . .4 1.3 Main Goals and Tasks . .5 1.4 Related Work . .7 1.5 Organization of the Thesis . .7 2 Fundamentals of Fountain Code 9 2.1 Channel . .9 2.1.1 Binary Erasure Channel . .9 2.1.2 Binary Symmetric Channel . 10 2.2 Forward Error Correction . 11 2.3 Linear Block Codes . 11 2.4 Systematic and non-Systematic Codes . 11 2.4.1 Systematic Codes . 12 2.4.2 Non Systematic code . 14 2.5 Low Density Parity Check Codes(LDPC) . 14 2.6 Message Passing Algorithm . 14 2.7 LT-Code . 18 2.7.1 LT-Encoder . 19 2.7.2 LT-Decoder . 20 2.8 Raptor Code . 22 2.8.1 Raptor Encoder . 24 2.8.2 Raptor Decoder . 26 3 HW-SW Co-Design of Fountain Code on Zynq platform 28 3.1 LT-Code Encoding on Embedded Processor . 29 3.2 LT-Code Decoder on Embedded Processor . 31 iv 3.3 Raptor Code Encoding on Embedded Processor . 35 3.4 Raptor Code Decoding on Embedded Processor . 39 3.5 Hardware Software Partitioning of LT-decoder . 42 4 Results and Discussion 44 5 Conclusion and Future work 46 Bibliography 47 List of Figures 1.1 Communication system of LT-code. .2 1.2 Communication system of Raptor code. .3 1.3 Top view of Zedboard [1]. .5 1.4 Block Diagram of Zedboard [1]. .6 2.1 Binary Erasure Channel . 10 2.2 Binary Systematic Channel . 10 2.3 Systematic Code . 12 2.4 Bipatriate graph of LDPC code . 15 2.5 Encoding to produce check nodes. 16 2.6 Decoding using the message passing algorithm for the received string y = [10xxx1]. Sub-figures show the decision taken in each step. 17 2.7 Generator Matrix. Purple column shows the packets erased by the BEC. 19 2.8 Generator Matrix at the receiver side. Where N ≥ K...... 20 2.9 LT-Enoder . 21 2.10 Packet received at LT-Decoder. Rest of packets are deleted by the channel. 22 2.11 Example step by step decoding of LT-Code. Here K = 4 and N=6. 23 2.12 Raptor code . 24 2.13 Raptor encoding: Intermediate symbols are generated in the first step. Later, they are used by LT-code as an input to generate output. 25 2.14 Raptor Decoding: (a) Intermediate symbols are retrieved, but one symbol could not be retrieved.(b) Missing symbol was re- trieved by the outer code. 27 vi LIST OF FIGURES 3.1 Time consumed by an LT-encoder to encode for different data size. 29 3.2 Flow chart of LT-encoder on embedded processor. 30 3.3 Energy consumed by an LT-encoder to encode for different data size. 31 3.4 Flow graph of LT-Decoder. 32 3.5 LT-code decoding. Where K represents number of packets of original message. Here T = 4bytes . 33 3.6 LT-code decoding. Here T = 64bytes . 33 3.7 Energy Consumption of LT-code decoding. Here T = 4 bytes . 34 3.8 Energy Consumption of LT-code decoding. Here T = 64 bytes 35 3.9 Flow chart of Raptor-encoder. 36 3.10 Time consumed to generate intermediate packets by Raptor encoder. 38 3.11 Time consumed to generate output packets by Raptor encoder. 38 3.12 Raptor code decoding time consumption on embedded platform. 40 3.13 Raptor code decoding energy consumption on embedded plat- form. 40 3.14 Flow chart of Raptor decoder. 41 3.15 Decoding time of LT-decoder using hardware accelerator. 42 3.16 Energy consumed by the hardware accelerator. 43 3.17 Resourced utilized by the hardware. 43 vii List of Tables 3.1 Extra packets generated by the encoder of Raptor code. 37 viii Chapter 1 Introduction This chapter focuses on the main goals of the thesis. A major emphasis has been donned over Fountain code which is used as a core code throughout the thesis. 1.1 Motivation Wireless communication traffic has increased rapidly over the past few decades. Communication over unreliable and noisy channel can lead to significant amount of data loss or erroneous data. To ensure that data has been sent correctly, a back channel is required which is used by the receiver for re- transmission requests. Re-transmission leads to significant overhead and is expensive, e.g. deep space communication, mobile communication, etc. To overcome this problem, different coding techniques are proposed. These coding techniques are called channel coding or Forward Error Correction(FEC). FEC codes are a solution where re-transmission delays cannot be afforded by a communication system. They ensure that the receiver itself corrects the data transmission errors, hence ceasing the need for a re-transmission. Fountain code - a class of FEC - is implemented in this thesis. Normally, codes using FEC exhibit some fixed rate. The rate is a ratio between encoded symbols and input symbols. However, Fountain codes do not have fixed rate. They are often called rateless erasure codes due to this reason. 1 1.1. MOTIVATION As the name suggests, Fountain codes are analogous to water droplet in a fountain. They produce an infinite number of code-words from a given input data, where each code-word can be seen as a droplet. At the decoder side message M, which is divided into K numbers of symbols (each symbol T is of n bits) can be decoded from N symbols. Where N is any subset of symbols which are produced by the encoder at the receiver side. However, N should be greater than or equal to K. K symbols Source LT-Encoder Acknowldge Channel K symbols Destination LT-Decoder Figure 1.1: Communication system of LT-code. Fountain codes have two important classes of codes, namely LT-code and Raptor code. LT-code allows the encoder to produce potentially infinite stream of en- coded symbols, hence the decoder can decode the original message from any subset of the encoded message it receives. Figure 1.1 shows a communication 2 1.1. MOTIVATION system of LT-code. However, LT-code do not have linear time encoding and decoding complexity. To overcome this problem another type of Fountain code was introduced called Raptor code. Raptor code performs encoding and decoding in linear time. It intro- duces a new stage in LT-code called outercode/pre-code. At the receiver side, the message is initially encoded by an outercode that produces intermediate symbols. Later on, these intermediate symbols are encoded using weakened LT-code into output symbols. At the decoder side, symbols that are not recoverable by weakened LT-code are recovered by the outercode. Figure 1.2 shows a communication system of Raptor code. $ & '()01 2&3451 !"# 637&85495 $ @ABC"BC @ @ '()01 D53451 Figure 1.2: Communication system of Raptor code.
Recommended publications
  • Raptor Codes Amin Shokrollahi, Senior Member, IEEE
    IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2551 Raptor Codes Amin Shokrollahi, Senior Member, IEEE Abstract—LT-codes are a new class of codes introduced by Luby such as poor wireless or satellite links. Moreover, ack-based for the purpose of scalable and fault-tolerant distribution of data protocols such as TCP perform poorly when the distance be- over computer networks. In this paper, we introduce Raptor codes, tween the sender and the receiver is long, since large distances an extension of LT-codes with linear time encoding and decoding. We will exhibit a class of universal Raptor codes: for a given in- lead to idle times during which the sender waits for an acknowl- teger and any real , Raptor codes in this class produce a edgment and cannot send data. potentially infinite stream of symbols such that any subset of sym- For these reasons, other transmission solutions have been pro- bols of size is sufficient to recover the original sym- posed. One class of such solutions is based on coding. The orig- bols with high probability. Each output symbol is generated using inal data is encoded using some linear erasure correcting code. operations, and the original symbols are recovered from the collected ones with operations. If during the transmission some part of the data is lost, then it We will also introduce novel techniques for the analysis of the is possible to recover the lost data using erasure correcting al- error probability of the decoder for finite length Raptor codes. gorithms. For applications it is crucial that the codes used are Moreover, we will introduce and analyze systematic versions of capable of correcting as many erasures as possible, and it is Raptor codes, i.e., versions in which the first output elements of also crucial that the encoding and decoding algorithms for these the coding system coincide with the original elements.
    [Show full text]
  • A Digital Fountain Retrospective
    A Digital Fountain Retrospective John W. Byers Michael Luby Michael Mitzenmacher Boston University ICSI, Berkeley, CA Harvard University This article is an editorial note submitted to CCR. It has NOT been peer reviewed. The authors take full responsibility for this article’s technical content. Comments can be posted through CCR Online. ABSTRACT decoding can not occur and the receiver falls back to retransmission We introduced the concept of a digital fountain as a scalable approach based protocols. to reliable multicast, realized with fast and practical erasure codes, More fundamentally, in a multicast setting where concurrent in a paper published in ACM SIGCOMM ’98. This invited editorial, receivers experience different packet loss patterns, efficiently or- on the occasion of the 50th anniversary of the SIG, reflects on the chestrating transmissions from a fixed amount of encoding (see, trajectory of work leading up to our approach, and the numerous e.g., [31]), becomes unwieldy at best, and runs into significant scal- developments in the field in the subsequent 21 years. We discuss ing issues as the number of receivers grows. advances in rateless codes, efficient implementations, applications The research described in [6], [7] (awarded the ACM SIGCOMM of digital fountains in distributed storage systems, and connections Test of Time award) introduced the concept of an erasure code to invertible Bloom lookup tables. without a predetermined code rate. Instead, as much encoded data as needed could be generated efficiently from source data on the CCS CONCEPTS fly. Such an erasure code was called a digital fountain in [6], [7], which also described a number of compelling use cases.
    [Show full text]
  • Raptor Codes Full Text Available At
    Full text available at: http://dx.doi.org/10.1561/0100000060 Raptor Codes Full text available at: http://dx.doi.org/10.1561/0100000060 Raptor Codes Amin Shokrollahi EPFL Station 14 Lausanne 1015 Switzerland amin.shokrollahi@epfl.ch Michael Luby Qualcomm, Inc. 3195 Kifer Road Santa Clara, CA 95051 USA [email protected] Boston { Delft Full text available at: http://dx.doi.org/10.1561/0100000060 Foundations and Trends R in Communications and Information Theory Published, sold and distributed by: now Publishers Inc. PO Box 1024 Hanover, MA 02339 USA Tel. +1-781-985-4510 www.nowpublishers.com [email protected] Outside North America: now Publishers Inc. PO Box 179 2600 AD Delft The Netherlands Tel. +31-6-51115274 The preferred citation for this publication is A. Shokrollahi and M. Luby, Rap- tor Codes, Foundations and Trends R in Communications and Information Theory, vol 6, nos 3{4, pp 213{322, 2009 ISBN: 978-1-60198-446-3 c 2011 A. Shokrollahi and M. Luby All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording or otherwise, without prior written permission of the publishers. Photocopying. In the USA: This journal is registered at the Copyright Clearance Cen- ter, Inc., 222 Rosewood Drive, Danvers, MA 01923. Authorization to photocopy items for internal or personal use, or the internal or personal use of specific clients, is granted by now Publishers Inc for users registered with the Copyright Clearance Center (CCC). The `services' for users can be found on the internet at: www.copyright.com For those organizations that have been granted a photocopy license, a separate system of payment has been arranged.
    [Show full text]
  • Fountain Codes
    6.972 PRINCIPLES OF DIGITAL COMMUNICATION II Fountain Codes Gauri Joshi, Joong Bum Rhim, John Sun, Da Wang December 8, 2010 Contents 1 Digital Fountain Ideal3 2 Preliminaries 4 2.1 Binary Erasure Channel...................................4 2.2 Edge Degree Distributions..................................4 3 Tornado Codes 5 3.1 Code Construction......................................5 3.2 Optimal Degree Sequences..................................7 3.3 Practical Considerations...................................9 3.3.1 Matlab Implementation...............................9 4 LT Codes 9 4.1 Code Construction...................................... 10 4.1.1 Encoding Process................................... 10 4.1.2 Decoding Process................................... 10 4.2 Degree Distribution...................................... 11 4.2.1 The Ideal Soliton Distribution............................ 12 4.2.2 The Robust Soliton Distribution.......................... 13 4.3 Performance Analysis.................................... 14 4.3.1 Degree Distribution................................. 15 4.3.2 Density Evolution.................................. 15 4.4 Implementation........................................ 17 5 Raptor Codes 17 5.1 Code Construction...................................... 18 5.2 Error Analysis......................................... 19 5.3 Practical Considerations................................... 19 5.3.1 Finite-length Raptor Codes............................. 20 5.3.2 Systematic Raptor Codes.............................. 20 5.3.3
    [Show full text]
  • Investigation on Digital Fountain Codes Over Erasure Channels and Additive White
    Investigation on Digital Fountain Codes over Erasure Channels and Additive White Gaussian Noise Channels A dissertation presented to the faculty of the Russ College of Engineering and Technology of Ohio University In partial fulfillment of the requirements for the degree Doctor of Philosophy Weizheng Huang June 2012 © 2012 Weizheng Huang. All Rights Reserved. 2 This dissertation titled Investigation on Digital Fountain Codes over Erasure Channels and Additive White Gaussian Noise Channels by WEIZHENG HUANG has been approved for the School of Electrical Engineering and Computer Science and the Russ College of Engineering and Technology by Jeffrey Dill Professor of Electrical Engineering and Computer Science Dennis Irwin Dean, Russ College of Engineering and Technology 3 ABSTRACT HUANG, WEIZHENG, Ph.D., June 2012, Electrical Engineering Investigation on Digital Fountain Codes over Erasure Channels and Additive White Gaussian Noise Channels Director of Dissertation: Jeffrey Dill As newly invented packet erasure codes, digital fountain codes (LT codes and Raptor codes) under iterative message passing decoding can work very efficiently in computer networks for large scale data distribution (e.g., greater than 6.4×104 bits) without knowledge of the states of individual lossy channels, regardless of the propagation modes. Some researchers have moved further and found that fountain codes can achieve near capacity performance over AWGN channels. However, little literature on the research of a fountain code’s decoding overhead had been obtained, especially for short and moderate-length data (e.g., smaller than 1×104 bits). We are interested in the overheads of fountain codes of different kinds or designs because a harsh communication condition can hurt some decoding schemes by limiting the number of received encoded symbols.
    [Show full text]
  • Wireless Communication Systems,Fountain Codes, Tornado
    Journal of Wireless Networking and Communications 2016, 6(1): 10-20 DOI: 10.5923/j.jwnc.20160601.02 Performance Evaluation of Various Erasures Coding Techniques in Digital Communication N. M. El-Gohary1,*, M. A. M. El-Bendary2, F. E. Abd El-Samie3, M. M. Fouad1 1Department of Electonics and Communication, Faculty of Engineering, Zagazig University, Egypt 2Department of Communication Technology, Faculty of Industrial Education, Helwan University, Egypt 3Department of Electonics and Communication, Faculty of Electonics Engineering, Menofia University, Egypt Abstract Reducing error in wireless, satellite, and space communication systems is critical. In the wireless communication system, various coding methods are employed on the data transferred to induce high bit error rates. High speed wireless networks, in order to address the large latency and degraded network throughput due to the retransmission triggered by frame loss, the purpose of this paper is to study and investigate the performance of fountain codes that is used to encode and decode the data stream in digital communication. This is an intelligent solution that encodes a number of redundant frames from the original frames upon link loss rate so that a receiver can effectively recover lost original frames without significant retransmissions. Since then, many digital Fountain coding methods have been invented such as Tornado codes, Luby transforms (LT) codes and Raptor codes. Keywords Wireless communication systems, Fountain codes, Tornado codes, Luby transforms and Raptor codes ensures reliability by essentially retransmitting packets 1. Introduction within a transmission window whose reception has not been acknowledged by the receiver. It is known that such In civil and military applications, wireless networking protocols exhibit poor behavior in many cases, such as the technologies have been widely deployed such as 3G/4G and transmission of data over heavily disabled channels or IEEE 802.11 WLAN networks.
    [Show full text]
  • Application Layer Forward Error Correction for Mobile Multimedia Broadcasting Case Study
    5775 Morehouse Drive San Diego, CA 92121 (858) 587-1121 Application Layer Forward Error Correction for Mobile Multimedia Broadcasting Case Study 80-D9741-1 Rev. A © Copyright l200 data9 may be subject to the International Traffic in Arms Regulations (ITAR) U.S. Dept. of State) and/or the Export Administration Regulations (EAR) Digital Fountain(U.S. Incorporated, Dept. of Commerce) a Qualcomm. This Company technical data may not be exported, re-exported, released, or disclosed inside or outside the U.S. without first All rights reservedcomplying with the requirements of U.S. export law. Application Layer Forward Error Correction for Mobile Multimedia 1 Broadcasting Thomas Stockhammer, Amin Shokrollahi, Mark Watson, Michael Luby, Tiago Gasiba Abstract Application Layer Forward Error Correction (AL-FEC) is an innovative way to provide reliability in mobile broadcast systems. Conventional data such as multimedia files or multimedia streams are extended with repair information which can be used to recover lost data at the receiver. AL-FEC is integrated into content delivery protocols (CDPs) to support reliable delivery. Several standardization committees such as 3GPP and DVB have recognized the importance of AL-FEC and have standardized Raptor codes as the most powerful AL-FEC codes to be used for such applications. The major characteristics of Raptor codes are channel efficiency, low-complexity, and flexibility. An important consideration when using AL-FEC is system integration. With the right system design including AL-FEC, the efficiency and/or quality of delivery services can be significantly enhanced. This work shows these benefits in selected use cases, specifically focusing on 3G based multimedia broadcasting within the MBMS standard.
    [Show full text]
  • Coding Theory for Scalable Media Delivery (Slides)
    1 Coding theory for scalable media delivery Michael Luby RaptorQ is a product of Qualcomm Technologies, Inc. Application layer erasure coding complements traditional error coding Forward Error Correction Technology “Error Coding” “Erasure Coding” Protects against Protects against Data Lost Data Corruption in Transmission • Vast majority of current use of FEC • Commercial application relatively new • Probably what you’re familiar with • Applied above layer 2 • Typically applied at layers 1 or 2 • Complement to Error Coding • Usually performed in hardware • Typically performed in software • PHY-FEC (physical layer FEC) • AL-FEC (application layer FEC) 3 Packet transmission Packet payload Packet header Stream of packets Received corrupted packet is discarded Can identify received packet payloads from packet headers 4 Application Layer erasure codes Source data Erasure encode Packetize Transmit Depacketize Erasure decode Source data 5 AL-FEC and PHY-FEC are complementary AL-FEC Packet loss protection over small to large block Flexible time diversity Flexible amount of protection Flexible time diversity – from sub-second to hours Time Fixed time diversity – e.g., < 1 second PHY-FEC Correct or discard corrupted packet data over small block Fixed time diversity Fixed amount of protection 6 AL-FEC and PHY-FEC working together PHY-FEC corrects noise and interference AL-FEC “interleaves” and corrects erasures − Longer block length (“interleavers”) è better performance AL-FEC CR = 0.8 Source block 4.3 Mbit/s p=0% AL-FEC Decoding PHY-FEC works Source
    [Show full text]
  • Low-Density Parity-Check Codes and Their Rateless Relatives Nicholas Bonello, Sheng Chen, and Lajos Hanzo
    IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 13, NO. 1, FIRST QUARTER 2011 3 Low-Density Parity-Check Codes and Their Rateless Relatives Nicholas Bonello, Sheng Chen, and Lajos Hanzo Abstract—This survey guides the reader through the extensive achieving it. This triggered widespread research efforts result- open literature that is covering the family of low-density parity- ing in diverse extensions, deeper interpretations and practical check (LDPC) codes and their rateless relatives. In doing so, we realizations of Shannon’s original work, which reached its will identify the most important milestones that have occurred since their conception until the current era and elucidate the pinnacle in the definition of LDPC and turbo codes. related design problems and their respective solutions. Index Terms—Low-density parity-check (LDPC) codes, rate- A. Fixed-rate Versus Rateless Forward Error Correction less codes and codes-on-graph. In the majority of the research literature, fixed-rate and rate- less codes are generally treated separately and hence the reader I. INTRODUCTION inevitably gets the impression that these channel codes are OOKING back over the last six decades or so, one can strikingly dissimilar or even perhaps unrelated. By contrast, in L reasonably surmise that the family of low-density parity- this survey we will be treating them jointly and thus endeavor check codes (LDPC) [1] and that of turbo codes [2], constitute to portray both the differences and the similarities of fixed-rate the two most practical realizations of Shannon’s theory [3], and rateless codes. which have revolutionized the field of error correction cod- Let us commence by outlining the differences.
    [Show full text]