FEC Linear Block Coding

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Error Control Code.
Computer Networking Error Control Coding
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
1 Channel Coding in IEEE802.16e Student: Po-Sheng Wu Advisor: David W. Lin.
Cellular Communications
DIGITAL COMMUNICATION Coding
Forward Error Correction Steven Marx CSC45712/04/2001.
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
Interconnect Efficient LDPC Code Design Aiman El-Maleh Basil Arkasosy Adnan Al-Andalusi King Fahd University of Petroleum & Minerals, Saudi Arabia Aiman.
Reliability and Channel Coding
Generalized Communication System: Error Control Coding Occurs In Right Column. 6.
DIGITAL COMMUNICATION Coding
Error Detection and Correction
S. Mandayam/ ECOMMS/ECE Dept./Rowan University Electrical Communications Systems Spring 2005 Shreekanth Mandayam ECE Department Rowan University.
Transmission Errors Error Detection and Correction
Anthony Gaught Advisors: Dr. In Soo Ahn and Dr. Yufeng Lu Department of Electrical and Computer Engineering Bradley University, Peoria, Illinois May 7,
Low Density Parity Check (LDPC) Code Implementation Matthew Pregara & Zachary Saigh Advisors: Dr. In Soo Ahn & Dr. Yufeng Lu Dept. of Electrical and Computer.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Application of Finite Geometry LDPC code on the Internet Data Transport Wu Yuchun Oct 2006 Huawei Hisi Company Ltd.
1 Forward Error Correction in Sensor Networks Jaein Jeong, Cheng-Tien Ee University of California, Berkeley.
ECE 6332, Spring, 2014 Wireless Communication Zhu Han Department of Electrical and Computer Engineering Class 18 March. 26 th, 2014.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Distributed computing using Projective Geometry: Decoding of Error correcting codes Nachiket Gajare, Hrishikesh Sharma and Prof. Sachin Patkar IIT Bombay.
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
Basic Characteristics of Block Codes
Introduction of Low Density Parity Check Codes Mong-kai Ku.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
ADVANTAGE of GENERATOR MATRIX:
Part 1: Overview of Low Density Parity Check(LDPC) codes.
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Hamming Distance & Hamming Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
COMM 604:Channel Coding Course Instructor: Tallal Elshabrawy Instructor Office: C3.321 Lecture Time & Loc.: Tues. 2 nd Slot H19 Instructor
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
ECE 442 COMMUNICATION SYSTEM DESIGN LECTURE 10. LINEAR BLOCK CODES Husheng Li Dept. of EECS The University of Tennessee.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
V. Non-Binary Codes: Introduction to Reed Solomon Codes
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Error Detection and Correction
Welcome to the presentation. Linear Block Codes Almost all block codes used today belong to a subset called linear block codes. The exclusive OR of two.
Subject Name: Information Theory Coding Subject Code: 10EC55
Chapter 6.
Information Redundancy Fault Tolerant Computing
DIGITAL COMMUNICATION Coding
Cyclic Code.
Error Detection and Correction
Electrical Communications Systems ECE
Presentation transcript:

FEC Linear Block Coding Matthew Pregara & Zachary Saigh Advisors: Dr. In Soo Ahn & Dr. Yufeng Lu Dept. of Electrical and Computer Eng.

Table of Contents Motivation Introduction Hamming Code Example Tanner Graph/Hard Decision Decoding Simulink Simulation on Hamming Code VHDL Simulation Results Low Density Parity Check Code Timeline and Division of Labor Conclusion

Motivation FEC: Forward Error Correction ARQ: Automatic Repeat Request Adds redundancy to message. Detects AND Corrects Errors. ARQ: Automatic Repeat Request Detects errors and requests retransmission.

Motivation (taken from [1])

Redundancy Add extra bits (Parity Bits) to message. Increases number of bits sent, requiring larger transmission bandwidth. Decreases number of errors in message. Parity bits Information from multiple message bits

Linear Block Coding Block Codes are denoted by (n, k). k = message bits (message word) n = message bits + parity bits (codeword) # of parity bits: m = n - k Code Rate R = k/n Example: (7,4) code 4 message bits +3 parity bits = 7 codeword bits Code rate R = 4/7

Block Coding Diagram

Linear Block Coding cont.  

Error Detection

Hamming Code G matrix is derived from a primitive polynomial, a factor of xn +1. Systematic G matrix is obtained from G matrix. H matrix is determined from systematic G matrix. G = [Ik | P], where P = parity matrix H = [PT | In-k]; HT =

Encoding Message m, made of k bits, is post-multiplied by the G matrix using Modulo-2 arithmetic.

Constructing G Starts with xn+1, n = 7. Factorize x7+1 = (x+1)(x3+x2+1)(x3+x+1). Find solution for one of the terms. (x3+x2+1) => [1 1 0 1]

I4 P Fill matrix with solution (shifting 1 entry in each row) Fill empty entries with 0’s Result is the systematic G matrix Find RREF I4 P

Encoding

Encoding Example

Decoding Received codeword of n bits is post-multiplied by HT to obtain the syndrome.

Decoding Recall: G = [Ik | P]; P = parity matrix H = [PT | In-k ] S = syndrome

Syndrome Table  

Example continued

Correcting Errors In this case the 2nd bit is corrupted Invert the corrupted bit according to the location found by the syndrome table

Tanner Graph and Hard Decision Decoding (8,4) Example (2458) (1236) (3678) (1457)

Hard Decision Decoding Check Nodes Activities C1 Receive V2→ 1 V4→ 1 V5→ 0 V8→ 1 Send 0 → V2 0 → V4 1 → V5 0 → V8 C2 V1→ 1 V3→ 0 V6→ 1 0 → V1 1 → V3 0 → V6 C3 V7→ 0 0 → V3 1 → V6 0 → V7 1 → V8 C4 1 → V1 1 → V4 0 → V5

Variable Node Decisions Variable Nodes yi Messages from Check Nodes Decision V1 1 C2 → 0 C4 → 1 V2 C1 → 0 V3 C2 → 1 C3 → 0 V4 V5 C1 → 1 C4 → 0 V6 C3 → 1 V7 V8

Simulink Model of (7,4) Hamming Code

Simulation Results Field Programmable Gate Array(FPGA) 26 Simulation Results Field Programmable Gate Array(FPGA)

27 Encoding Decoding

Simulation Results Hardware Description Language 28 Simulation Results Hardware Description Language

Low Density Parity Check Code Offers performance close to Shannon’s channel capacity limit. Can correct multiple bit errors. Low decoder complexity.

(taken from [1]

LDPC Code Start with H matrix first The entries of 1 in H are sparsely populated From the H matrix, find the systematic G matrix The entries of 1 in G are not sparsely populated, causing encoder complexity.

LDPC Code Decoding is done iteratively. To operate close to Shannon limit under very low SNR, the dimensions of H matrix are very large. For real-time operations, the dimensions of H matrix are constrained by hardware , and decoding time allowed, and others.

Division of Labor Zack MATLAB Encoder Simulink design of encoder/channel Implementation of VHDL on FPGA Performance analysis of FPGA implementaiton Matt MATLAB Decoder Simulink design of Decoder Implementation of Xilinx system generator Performance analysis of MATLAB/Simulink implementation

Timeline

Conclusion LDPC coding is to be implemented. Preliminary investigations are performed. Examined Hamming coder/decoder under Matlab and Simulink environment. Tanner graph representation of LDPC examples researched. Plans to choose an LDPC coding scheme and to implement it using FPGA.

References [1] Valenti, Matthew. Iterative Solutions Coded Modulation Library Theory of Operation. West Virginia University, 03 Oct. 2005. Web. 23 Oct. 2012. <www.wvu.edu>. [2] B. Sklar, Digital Communications, second edition: Fundamentals and Applications, Prentice-Hall, 2000. [3] Xilinx System Generator Manual, Xilinx Inc. , 2011.

Q and A’s Thank you for listening. Any questions or suggestions are welcome.