Sami Khorbotly, Ph.D., IEEE member Assistant Professor

Slides:



Advertisements
Similar presentations
IE 419/519 Wireless Networks Lecture Notes #6 Spread Spectrum.
Advertisements

Eeng 360 Communication Systems I Course Information
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Data and Computer Communications
EE302 Lesson 21: Transmission of Binary Data in Communication Systems
Csc333 Data communication & Networking Credit: 2.
DIGITAL COMMUNICATIONS.  The modern world is dependent on digital communications.  Radio, television and telephone systems were essentially analog in.
Reliability & Channel Coding
RADIO FREQUENCY MODULE. Introduction  An RF module is a small electronic circuit used to transmit and receive radio signals.  As the name suggests,
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Digital Data Transmission ECE 457 Spring Information Representation Communication systems convert information into a form suitable for transmission.
Turbo Codes Azmat Ali Pasha.
Digital Voice Communication Link EE 413 – TEAM 2 April 21 st, 2005.
Chapter 2 Fundamentals of Data and Signals
Chapter 2: Fundamentals of Data and Signals. 2 Objectives After reading this chapter, you should be able to: Distinguish between data and signals, and.
EE 3220: Digital Communication Dr Hassan Yousif 1 Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser.
1 CMPT 371 Data Communications and Networking Spread Spectrum.
Digital Data Communications Techniques Updated: 2/9/2009.
1 Chapter 2 Fundamentals of Data and Signals Data Communications and Computer Networks: A Business User’s Approach.
IT-101 Section 001 Lecture #15 Introduction to Information Technology.
1/26 Chapter 6 Digital Data Communication Techniques.
Why to Apply Digital Transmission?
Data Communications & Computer Networks, Second Edition1 Chapter 2 Fundamentals of Data and Signals.
Computer Networks Digitization. Spring 2006Computer Networks2 Transfer of an Analog Signal  When analog data (voice, pictures, video) are transformed.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
1 INF244 Textbook: Lin and Costello Lectures (Tu+Th ) covering roughly Chapter 1;Chapters 9-19? Weekly exercises: For your convenience Mandatory.
Introduction to Communication Systems
Software Defined Radio
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
ECS 152A 4. Communications Techniques. Asynchronous and Synchronous Transmission Timing problems require a mechanism to synchronize the transmitter and.
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
WIRELESS Communication Automation Control. Wireless = Efficiency Performance: Performance: –Space Efficiency: Efficiency. = #receptors / box area –Unlimited.
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Week 7 Lecture 1+2 Digital Communications System Architecture + Signals basics.
Introduction of Low Density Parity Check Codes Mong-kai Ku.
Lecture 2 Outline Announcements: No class next Wednesday MF lectures (1/13,1/17) start at 12:50pm Review of Last Lecture Analog and Digital Signals Information.
DIGITAL COMMUNICATIONS Linear Block Codes
VOCODERS. Vocoders Speech Coding Systems Implemented in the transmitter for analysis of the voice signal Complex than waveform coders High economy in.
TI Cellular Mobile Communication Systems Lecture 4 Engr. Shahryar Saleem Assistant Professor Department of Telecom Engineering University of Engineering.
IMA Summer Program on Wireless Communications Quick Fundamentals of Wireless Networks Phil Fleming Network Advanced Technology Group Network Business Motorola,
ECE 4710: Lecture #13 1 Bit Synchronization  Synchronization signals are clock-like signals necessary in Rx (or repeater) for detection (or regeneration)
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Error Correction Code (2)
Chapter : Digital Modulation 4.2 : Digital Transmission
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
A Simple Transmit Diversity Technique for Wireless Communications -M
Turbo Codes. 2 A Need for Better Codes Designing a channel code is always a tradeoff between energy efficiency and bandwidth efficiency. Lower rate Codes.
1/30/ :20 PM1 Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011.
Hamming Distance & Hamming Code
Data and Computer Communications Eighth & Ninth Edition by William Stallings Chapter 6 – Digital Data Communications Techniques.
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
Eeng360 1 Eeng 360 Communication Systems I Course Information  Instructor: Huseyin Bilgekul, Room No: EE 207, Office Tel:  Course Webpage:
Diana B. Llacza Sosaya Digital Communications Chosun University
DIGITAL COMMUNICATION. Introduction In a data communication system, the output of the data source is transmitted from one point to another. The rate of.
Digital Communications Chapter 6. Channel Coding: Part 1
DATA AND COMPUTER COMMUNICATIONS Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 9 – Spread Spectrum.
IT-101 Section 001 Lecture #15 Introduction to Information Technology.
8 Coding Theory Discrete Mathematics: A Concept-based Approach.
Digital Communications
Introduction King Saud University
Communication Systems (EE-341)
Chapter 6.
Error Correction Code (2)
Error Correction Code (2)
Correlative level coding
Error Correction Code (2)
Introduction 1st semester King Saud University
Presentation transcript:

Digital Communications: Error Correction Codes for Wireless Communication Systems Sami Khorbotly, Ph.D., IEEE member Assistant Professor Dept. of Elec. & Comp. Eng. & Comp. Sc. Ohio Northern University

Wireless Communications Cell phones TV & radio broadcasting Wireless internet Geolocation/GPS Military/Battlefield Transportations Law enforcement 911 services

Types of Transmitted Data Image/video Image/video & text Transmitter Receiver Files/data Speech/music Text messages Speech/music Files/data

Sample Communication System (Image) Modulated binary signal …110100… Binary signal …100101… Binary signal …100101… Source Encoder Source Decoder Transmitter Receiver

Noise, Interference & other issues Unfortunate, error causing effects in the wireless communication channel : Multi-path propagation of the signal Interference from other communication devices

How does error occur? Transmitted data bits Transmitted waveform 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 0 1 0 Transmitted waveform Received waveform Received data bits 1 0 1 1 0 1 0 0 1 . . .

Text Message Example Noise & interference Fire at 100 Main St. …1001010 1010011100010010010110010… Fire at 100 Main St. Source Encoder Transmitter …1011010 1011011000010100010100010… Fore as 140 Vain St@ Source Decoder Receiver

Society Without Reliable Comm. Cell Phones Hard to hold a meaningful conversation (voice) TV & Radio Broadcasting The corrupted image/Music will turn the audience away Wireless internet Corrupted emails Credit card purchases not going through Surfing the net is so annoying it is not even worth it Geolocation/GPS Good luck getting to your destination

Society Without Reliable Comm.(Cont) 911 Services Paramedics/fire fighters going to the wrong address; potential loss of lives and property Transportations Airplanes simultaneously landing on the same runway Boats colliding across the oceans Law Enforcement Officers unable to call for backup Military/Battlefield Combat units moving/firing in the wrong direction

Error Correction Coding What Can We Do? Who cares about wireless communications? Let’s wire every thing up. Come up with a way to reduce error the error in the received signal. Error Correction Coding Also known as Channel Coding

Channel Encoding Additional blocks Source Encoder Channel Encoder Transmitter Source Decoder Channel Decoder Receiver Additional blocks Channel encoder at the transmitter side Channel decoder at the receiver side

Error Correction Coding Channel encoder: Manipulates the source data in such a way to reduce the probability of error in the received signal Channel decoder: At the receiver side, designed in coordination with the encoder to recover the source data Infinite possibilities and designs of encoder/decoder pairs The probability of error can be significantly reduced at the expense of a lower transmission rate

Redundancy Coding In n-redundancy coding, each data bit is encoded in n bits. For example, in a 3-redundancy coding scheme, a ‘0’ data bit is encoded as ‘000’ and a ‘1’ data bit is encoded as ‘111’. The channel decoder generates a data bit out of a block of n bits. (3 in the example) 100 111000000 111000000 100 Channel Encoder Channel Decoder

How does it reduce the error? The decoder is taking blocks of n bits. (n=3 in the example) The decoder expects all n bits to have the same value When the n bits in a block do not have the same value, the decoder detects an error Some of the errors can be corrected 000 001 Channel Decoder 1 111 1 101

Signal Transmission Example 001011 000|000|111|000|111|111 Channel Encoder 6 data bits 18 encoded bits (3 redundancy) 000011 010|001|100|100|011|011 Channel Decoder 1/6 decoded bits are erroneous 7/18 received bits are erroneous Error reduced from 7/18 bits (38.89%) to 1/6 bits (16.67%) Notice the one data bit still received in error

Correction Abilities of Codes Assuming a ‘0’ data bit is transmitted: In a 3-redundancy coding, the transmitted coded word is ‘000’ Received 000 010 100 101 111 Decoded 1 In a 5-redundancy coding, the transmitted coded word is ‘00000’ Received 00000 00010 01001 01011 10111 Decoded 1 3-redundancy coding can correct 1 error bit in a coded word 5 redundancy coding can correct up to 2 error bits in a coded word

Correction Abilities of Codes (cont.) General formula: n-redundancy coding can correct up to (n-1)/2 bits in a code The larger the value of n, the higher is the correction ability Why do we not use a really large value for n, let’s say a 1,000,000 redundancy encoder?

Time Performance Trade-off Assume a communication system operating at a rate of 100 kilo bits per second (kbps) If the data to be transmitted is 10 kilo bits, the non-coded signal will be transmitted in 10/100=0.1 sec The encoded signal containing more bits will take longer: n Time (sec) 1 2 5 10 100 0.1 0.2 0.5 1 10

Time delay between parties Trade-off decision Time delay between parties If the delay in the original (non-coded) system is 1 ms The original system results in 30% bit error rate (BER) Are you willing to use an encoding that reduces the BER to 5 % at the expense of increasing the delay to 10 ms? How about an encoding that reduces the BER to 0.2 % at the expense of increasing the delay to 2 s?

Delay Sensitivity Different application can afford different levels of delay A 30 seconds delay is affordable when sending an email or downloading a file A 30 seconds delay between talking parties is unacceptable. Especially if law enforcement or emergency situations are involved Design engineers make their decision based on the sensitivity and nature of their application

Convolutional Coding Also reduces the error in communication systems Can achieve higher error correction at a relatively lower cost, compared to n-redundancy coding A m/n convolutional encoder is a sequential system that generates an n bit codeword out of m data bits The coded signal is generated by generator polynomials and modulo-2 adders. A B A B 1 Truth table of a Modulo-2 adder

Convolutional Coder Example In a 1/3 encoder with generator polynomials: G1 = (1,0,1), G2 = (0,1,1), & G3 = (1,1,0). For each data bit x(i) corresponds a 3-bit code y1(i)y2(i)y3(i) with: x(i), x(i-1), and x(i-2) denote the present, previous and 2 sample delayed inputs. It is assumed that the system is originally reset to ‘0’

Example (cont.) x(i-1), x(i-2) are originally set to 0,0 if the data bit x(i)=0, the output is y=000 if the data bit x(i)=1, the output is y=101 For the second bit: if the first bit was a 1, x(i-1), x(i-2) are 1,0 if the second data bit x(i)=0, the output is y=011 if the second data bit x(i)=1, the output is y=110 if the first bit was a 0, x(i-1), x(i-2) are still 0,0 if the second data bit x(i)=0, the output is y=000 if the second data bit x(i)=1, the output is y=101 This approach can be adopted to build a tree diagram

x(i,i-1,i-2):000 Output: N/A Output:000 X(i)=0 X(i)=0 X(i)=1 X(i)=0

Received code sequence: Example (Cont.) Since each codeword is made of 3 data bits, x(i,i-1,i-2), the decoder reads the code words corresponding to 3 data bits The codes corresponding to 3 data bits are 9 coded bits According to the tree, there are only 8 valid sequences Valid code sequences mismatch 000 000 000 5 000 000 101 7 000 101 011 000 101 110 101 011 110 101 011 011 101 110 101 101 110 000 3 Received code sequence: 110 110 010 Minimum mismatch

Convolutional Coder Design For each encoder corresponds a different tree diagram Different coding rates & different generator polynomials result in different error correction performances A convolutional coder with 2 or more valid code sequences that are separated by one bit is a poor coder A better convolutional coder is where the valid code sequences are significantly separated/different from each other

Valid Code Sequence Separations 000 000 000 000 000 101 000 101 011 000 101 110 101 011 110 101 011 011 101 110 101 101 110 000 2 4 4 2 6 etc 4 2 4 2

Important Definitions Modeling Finding the mathematical equations that describe the behavior of a physical system Computer simulation Using the mathematical models to imitate the functionality of a real process. Commonly used to compare the performance of alternative designs before implementation Matlab A numerical computing and programming environment. Popularly used to perform computer simulations

Computer Simulation Transmitter Receiver Simulation blocks supplied by the instructor: Image to binary converter Transmitter Wireless channel Receiver Binary to image converter Blocks expected from you: Encoder Decoder

Real-life System Simulation blocks supplied by the instructor: Image to binary converter Transmitter Interface Receiver Interface Binary to image converter Blocks expected from you: Encoder Decoder The Transmitter, Receiver, and channel in this system are all real and not simulated

Project Get familiar with the Matlab environment Take a look at the supplied simulation blocks to get familiar with Matlab programming language (very similar to C) Write two Matlab codes to simulate respectively an encoder and a decoder using the n-redundancy scheme. Run the simulation for various values of n to observe its effect on the performance of the system and the transmission time.

Project (cont.) Create a plot of the BER performance versus the coding rate n Create another plot of the processing time versus the coding rate n Create convolutional coding system. Find the BER and the processing times corresponding to your system

Questions ?