Block code Encoder. In some applications, message bits come in serially rather than in large blocks. WY Tam - EIE POLYU

Similar documents
6. FUNDAMENTALS OF CHANNEL CODER

Outline. Communications Engineering 1

Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

Basics of Error Correcting Codes

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 9: Error Control Coding

ECE 6640 Digital Communications

Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 2004.

Channel Coding/Decoding. Hamming Method

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

ECE 6640 Digital Communications

RADIO SYSTEMS ETIN15. Channel Coding. Ove Edfors, Department of Electrical and Information Technology

Spreading Codes and Characteristics. Error Correction Codes

Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

Wireless Medium Access Control and CDMA-based Communication Lesson 14 CDMA2000

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

Error Control Codes. Tarmo Anttalainen

Department of Electronics and Communication Engineering 1

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Data and Computer Communications

Introduction to Error Control Coding

Physical Layer: Modulation, FEC. Wireless Networks: Guevara Noubir. S2001, COM3525 Wireless Networks Lecture 3, 1

TELE4652 Mobile and Satellite Communication Systems

Chapter 1 Acknowledgment:

Implementation of Different Interleaving Techniques for Performance Evaluation of CDMA System

A Survey of Advanced FEC Systems

Revision of Lecture Eleven

Digital Television Lecture 5

<3rd generation CDMA wireless systems>

Lecture 3 Data Link Layer - Digital Data Communication Techniques

CHANNEL MEASUREMENT. Channel measurement doesn t help for single bit transmission in flat Rayleigh fading.

IMPERIAL COLLEGE of SCIENCE, TECHNOLOGY and MEDICINE, DEPARTMENT of ELECTRICAL and ELECTRONIC ENGINEERING.

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

Communications Theory and Engineering

Available online at ScienceDirect. Procedia Technology 17 (2014 )

CH 5. Air Interface of the IS-95A CDMA System

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

CDMA Tutorial April 29, Michael Souryal April 29, 2006

Layering and Controlling Errors

Datacommunication I. Layers of the OSI-model. Lecture 3. signal encoding, error detection/correction

Department of Computer Science and Engineering. CSE 3213: Computer Networks I (Fall 2009) Instructor: N. Vlajic Date: Dec 11, 2009.

EDI042 Error Control Coding (Kodningsteknik)

Computer Networks. Week 03 Founda(on Communica(on Concepts. College of Information Science and Engineering Ritsumeikan University

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Multiple Access Methods

Lecture 2. Mobile Evolution Introduction to Spread Spectrum Systems. COMM 907:Spread Spectrum Communications

Error Protection: Detection and Correction

Wireless Communications

Front End To Back End VLSI Design For Convolution Encoder Pravin S. Tupkari Prof. A. S. Joshi

Background Dirty Paper Coding Codeword Binning Code construction Remaining problems. Information Hiding. Phil Regalia

The ternary alphabet is used by alternate mark inversion modulation; successive ones in data are represented by alternating ±1.

Chapter 3 Convolutional Codes and Trellis Coded Modulation

Intro to coding and convolutional codes

Department of Computer Science and Engineering. CSE 3213: Communication Networks (Fall 2015) Instructor: N. Vlajic Date: Dec 13, 2015

PROJECT 5: DESIGNING A VOICE MODEM. Instructor: Amir Asif

ICE1495 Independent Study for Undergraduate Project (IUP) A. Lie Detector. Prof. : Hyunchul Park Student : Jonghun Park Due date : 06/04/04

Performance Evaluation of Error Correcting Techniques for OFDM Systems

Mobile Communications TCS 455

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Page 1. Outline. Basic Idea. Hamming Distance. Hamming Distance Visual: HD=2

Chapter 10 Error Detection and Correction 10.1

b. When transmitting a message through a transmission medium, the equipment which receives the message should first find out whether it has received

CDMA Systems Engineering Handbook

6.004 Computation Structures Spring 2009

Multiplexing Module W.tra.2

Signal Encoding Criteria

CDMA Principle and Measurement

CH 4. Air Interface of the IS-95A CDMA System

Error Detection and Correction

ERROR CONTROL CODING From Theory to Practice

Downloaded from 1

Lecture 12: Summary Advanced Digital Communications (EQ2410) 1

Decoding of Block Turbo Codes

Chapter 14. Cellular Wireless Networks

Text Book & Reference Book

Mobile Communication Systems. Part 7- Multiplexing

IS-95 /CdmaOne Standard. By Mrs.M.R.Kuveskar.

SOME PHYSICAL LAYER ISSUES. Lecture Notes 2A

ALi Linear n-stage t ShiftRegister output tsequence

Automatic Speech Recognition (ASR) Over VoIP and Wireless Networks

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

CDMA Design Library September 2004

Maximum Likelihood Sequence Detection (MLSD) and the utilization of the Viterbi Algorithm

Improved PHR coding of the MR-O-QPSK PHY

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

Hybrid ARQ Using Serially Concatenated Block Codes for Real-Time Communication - An Iterative Decoding Approach

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

Module 3: Physical Layer

IEEE C /02R1. IEEE Mobile Broadband Wireless Access <

TABLE OF CONTENTS CHAPTER TITLE PAGE

and coding (a.k.a. communication theory) Signals and functions Elementary operation of communication: send signal on

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

CSC344 Wireless and Mobile Computing. Department of Computer Science COMSATS Institute of Information Technology

EC6501 Digital Communication

Rep. ITU-R BO REPORT ITU-R BO SATELLITE-BROADCASTING SYSTEMS OF INTEGRATED SERVICES DIGITAL BROADCASTING

RECOMMENDATION ITU-R F ARRANGEMENT OF VOICE-FREQUENCY, FREQUENCY-SHIFT TELEGRAPH CHANNELS OVER HF RADIO CIRCUITS. (Question ITU-R 145/9)

CSCD 433 Network Programming Fall Lecture 5 Physical Layer Continued

Transcoding free voice transmission in GSM and UMTS networks

6.02 Fall 2013 Lecture #7

EESS 501 REVISION HISTORY

Transcription:

Convolutional Codes In block coding, the encoder accepts a k-bit message block and generates an n-bit code word. Thus, codewords are produced on a block-by-block basis. Buffering is needed. m 1 m 2 Block code c 1 c 2 Encoder m 2 m 1 c 2 c 1 In some applications, message bits come in serially rather than in large blocks. Conv.1 Convolutional Codes A convolutional encoder generates redundant bits by using modulo-2 convolutions. In a convolutional code, the block of n code digits generated by the encoder in a time unit depends not only the block of k message digit with that time unit, but also the preceding N-1 block of message digits. Usually the values of k and n are small. (the redundant bits are generated by using modulo-2 convolutions.) m 1 m 2 c 1 Convolutional c Encoder 1 c 2 m c 2 2 m 1 Conv.2

Code rate For a convolutional encoder with n modulo-adder and M Flip-flop, an L-bit message produces n ( L + M ) bits r = L n( L + M ) Input Flip-flop 1 Flip-flop M 1 n QL >> M Adder 1 Adder n Output Conv.3 Constraint length Constraint length K is the number of shifts over which a single message can influence the encoder output K = M + 1 Input Flip-flop 1 Flip-flop M Adder 1 Adder n Output Conv.4

Example For n=2, K=3 An bit message sequence produces a coded output sequence of 2(+2) bits. The code rate is Input r = 2( + 2) 20 = 1/ 2 Output Conv.5 Example A convolutional code with rate k/n can be implemented by using k separate shift register and n adders Example: Input An L-bit message produces 3(M/2+L/2) bits. Therefore, r = L 3(2 / 2 + L / 2) 2 3 Conv.6 Output

Impulse Response and Generator polynomial Impulse response response of a path to a symbol 1 applied to its input Example: Impulse response of path 1 is (1,1,1) Impulse response of path 2 is (1,0,1) Input Path 1 Path 2 Output Conv.7 Impulse Response and Generator polynomial The impulse response can be represented by a polynomial Example: (1,0,1,1) can be written as 2 3 2 1+ 0 D + 1 D + 1 D = 1+ D + D Example: (1,1,1) can be written as g (1) (D)=1+D+D 2 (1,0,1) can be written as g (2) (D)=1+D 2 Input 3 Path 1 Path 2 Output Conv.8

Impulse Response and Generator polynomial For the message sequence (0), we have m(d)=1+d 3 +D 4 As the convolution in the time domain is transformed into multiplication in D-domain The output of path 1 is c (1) (D)= g (1) (D) m(d)= (1+D+D 2 )(1+D 3 +D 4 ) = 1+D+D 2 +D 3 +D 6 = 1 Conv.9 Impulse Response and Generator polynomial The output of path 2 is c (2) (D)= g (2) (D) m(d)= (1+D 2 )(1+D 3 +D 4 ) = 1+D 2 +D 3 +D 4 +D 5 +D 6 = 1 Finally, multiplexing the two output sequence of path 1 (1) and path 2 (1) gives c = (,,,,,,) Note: for the shift register to be restored to its zero initial state, a terminating sequence of K-1=2 zeros is appended to the last input bit of the message. These zeros is called the tail of the message. Conv.

State diagram A Convolutional encoder can be specified by the state diagram. Example: (n=2,k=1,m=2) convolutional encoder The state of this encoder is the content of the 2-stage shift 1 1 0 register. Input State: S 0 : S 1 : Path 2 S 2 : S 3 : Path 1 Output Example: Suppose input is 1 and the original state is S 1, the output would be and the new state become S 3 Conv. State diagram Original Input Output new State state S 0 0 S S 0 1 0 S 2 1 0 S 3 1 0 S 2 1 S Input=1 3 1 Input=0 State diagram S 1 Conv.12

Trellis diagram To show the time evolution of the coded sequence, a trellis diagram is used. Trellis diagram is obtained directly from the state diagram by including, from left-to-right, the dimension of time S 0 S 0 Input=1 Output= S 1 S 0 S 1 S 2 S 0 S 1 S 2 S 3 S 3 S2 Input=1 Input=0 S 0 S 3 Conv.13 S 1 Decoding m Channel c r c' m' Encoder noise Channel Decoder Since there is a one-to-one corresponding between m and c, m ' = m if and only if c' = c To reducing the probability of decoding error, the maximum-likelihood principle is used to decode the received sequence r into a code sequence c which maximizes the likelihood function p(r c) or log[p(r c)]. known Unknown Conv.14

Maximum-likelihood Decoding Assume that a codeword c=(c 0,c 1,,c N ) is transmitted through a binary symmetric channel and the received sequence is r = (r 0,r 1,,r N ) N P( r c) = Π i 0 log P( r c) = p( r c ) i N i 0 i log p( r c ) i i Maximum-likelihood decoding is obtained by choosing the nearest codeword to the received sequence in Hamming distance which maximum the likelihood function. 1 p 1 p 1 p 0 1 p 0 Qlog( AB) = log A + log B Conv.15 Maximum-likelihood Decoding Assume d(r,c)=d, the likelihood function becomes N log P( r c) = log p( ri ci ) i 0 = d log p + ( N d)log(1 = d log 1 p p + N log(1 As Nlog(1-p) is a constant for all c and p<1/2 in practice, the maximum-likelihood decding rule become choose the estimate c that minimizes the Hamming distance between the r and c p) p) 1 p 1 p 1 p 0 1 p 0 p log < 1 1 p Conv.16

Viterbi algorithm To decode the received sequence r, it is compared with each possible transmitted code vector c, and the particular one closest to r is chosen as the correct transmitted code vector. Min{d(r,c)} for all possible c Viterbi decoder The Viterbi decoder chooses that path through the trellis of the code which has a minimum Hamming distance from the received sequence. d ( r, c) = d( r i, c i ) i Conv.17 Example Suppose m=1 then c = (,,,,,,) Input r = (,,,,,,) Path 1 Path 2 Output Time Received Trellis diagram d s m 0 word Estimated message S 0 2 0 S1 0 1 d( r i, c i ) Initial state must be i= 0 Two possible paths from S0 1 Conv.18

Example r = (,,,,,,) Time Received Trellis diagram d s m word 1 S 0 3 S1 3 S2 0 S3 2 d s =5 2 S 0 1 0 d s =1 S1 1 1 S2 4 0 S3 2 1 S2 S 0 S 3 Conv.19 S 1 Finally, we have Example r = (,,,,,,) S 0 S1 S2 S2 S 0 S 3 S 1 S3 c =(,,,,,,) m =(0) 13 i= 0 d( r i, c i ) = 1 Conv.20

Error Probability m Channel Encoder c noise r Error Correction c' Decoder m' P Block probability of a transmitted codeword does not correspond to the decoded codeword = P( c' c) P Block P Bit probability of a transmitted information bit is incorrect P Bit = P( m' m) Conv.21 Error Probability Consider a Binary Symmetric Channel (BSC) 1 p 1 p 1 p 1 p 0 0 Probability of t errors occur during transmission of a binary codeword consisting of n bits is n t n t n n! p( t) = p (1 p) where = t t (n-t)!t! Example: n = 3, t = 1, the patterns for sending 1 are 0, 1, 1. 3 3! = = 3 1 1!(3-1)! Conv.22

If e = ( d min 1) / 2, P Block = n j= e+ 1 = 1 j= 0 Error Probability n j p (1 p) j e n j p (1 p) j n j n j Conv.23 Example Repetition code of length n = 3. a linear block code with k = 1 and n = 3. Codewords are 0 and 1. d min = 3 Correction capability: ( d min 1) / 2 = 1 j j n j PBlock = 1 Cn p (1 p) j= 0 = 1 p 0 (1 p) If p = 0., P Block = 0.0298. (P Bit = P block ) 97% of error are corrected. Error rate has been reduced by 34 times. 3 1 3p(1 p) 2 Conv.24

Applications of Channel coding: LBC Linear Block Code Hamming code have been used in error control of computer memories and long-distance telephony. Example: In ECC memory, 64 bits data are stored in 72 bit physical memory. Can correct 1 error bit and detect 2 error bits Conv.25 Applications of Channel coding: CRC 16 bit CRC-ITU CRC codes are used to perform error detection in almost all modern communication systems. Example: detecting errors at the data-link layer and the transport layer of the Open Systems Interconnection (OSI) reference model 16 bit CRC-ITU was recommended by ITU (International Telecommunication Union) for many applications. Example: Communication protocols: XYModem, Zmodem Kermit file-transfer protocols (FTPs) X.25 for packet communication Conv.26

Applications of Channel coding: CRC In these applications, data-resending approach (ARQ - automatic repeat request) is the simplest way to correct transmission errors. Error detection only Long CRCs are more effective than short ones at detecting errors, but also introduce more overhead redundancy and implementation complexity. Conv.27 Applications of Channel coding: CRC 8 bit CRC-ATM ATM (Asynchronous Transfer Mode) is a high-bandwidth, low-delay switching and multiplexing technology for both public and private communication networks Aimed at users of high-speed data, local-area network interconnections, imaging and multimedia applications. Five layers: service layer adaptation layer ATM layer convergence layer physical layer Conv.28

Applications of Channel coding: CRC Employed in the adaptation layer of the ATM (Asynchronous Transfer Mode) protocol 8 g( X ) = X 2 + 1 CRC-12 Used when the character length is 6 bits 12 3 2 g( X ) = X + 1 CRC-16 Used for 8-bit characters 16 15 g( X ) = X 2 + 1 Conv.29 Applications of Channel coding: CRC CRC-32 IBM Token-ring IBM PC Network CSMA/CD Ethernet LANs g( X ) = X 32 12 5 26 4 2 23 22 8 + 1 7 16 Conv.30

Application of Channel Coding: BCH codes (5,493) BCH code ITU-T Recommendation H.261 Video codec for audiovisual services at p x 64 kbit/s video coding standard used for video conferencing and videophone g( X ) = X 18 + X 15 + X 12 + X + X 8 + X 7 + X 6 + X 3 + 1 (40,32) BCH code used in the ATM (Asynchronous Transfer Mode ) layer of ATM Conv.31 Application of Channel Coding: RS codes RS (255,233) recommended by Consultative Committee for Space Data Systems (CCSDS) for communication channel coding standard for spacecraft Examples Mars Observer launched in 1992 and arrived Mars in 1993 Pathfinder lander launched in 1996 and arrived Mars in 1997 Cassini launched in 1997 and to arrive Saturn in 24 Conv.32

Application of Channel Coding: RS codes Compact Disc (CD) Source of errors dust, fingerprints and scratches on the disc surface roughness The CD error-control system is designed to handle bursts by means of Interleaving and the RS codes (Cross Interleaved RS code) 1.41Mbps RS1 Interleaver RS2 1.88Mbps RS1: RS (28,24) RS2: RS (32,28) Also used for the CD-ROM, CD-I, and the MiniDisc Conv.33 Application of Channel Coding: RS codes Digital-Video-Disk (DVD) Increased physical density implies that physical imperfections affect proportionally more bits DVD is a true multimedia disc Therefore, a more powerful error-correction code is needed. RS1: RS (208,192) RS2: RS (182,172) Maximum correctable-burst length: CD: 5 bytes (2.4mm) DVD: 22 bytes (4.6mm) Conv.34

Application of Channel Coding: Convolutional codes Global System for Mobile communications (GSM) Speech coding in GSM Microphone Bandpass filter 0.3-3.4kHz Speech A/D Encoder f s =8kHz 13 bits 4kbps 13kbps Channel Encoder 22.8kbps Modulator Three classes of speech data bits: Class I - Class III Conv.35 Application of Channel Coding: Convolutional codes Step 1: Class I: block coded with a CRC code Class I Class II Class III 260bits 2ms Class I Class II Class III CRC bits (error detection) Class III 456bits Step 2: Class I and Class II: convolutional coded (r=1/2, K=5) Conv.36

Application of Channel Coding: Convolutional codes Data Channel in the GSM system Five different data channels in the GSM system Example: 9.6 kbps data transmission 9.6 kbps Coding in the terminal equipment (base station) 240 bits (=12 kbps) 4 0s to reset the encoder Convolutional code with r=1/2, K=5 488 bits Conv.37 Application of Channel Coding: Convolutional codes Singaling Channel in the GSM system Most important data in the network 184 bits Block code (Fire code) for detection and correction of burst error 184 bits 40 bits Convolutional code: r=1/2, K=5 456 bits 4 0s to reset the encoder Check bits Conv.38

Application of Channel Coding: Convolutional codes CDMA cellular systems CDMA: Code-division multiple access users in the CDMA-based cellular system are distinguished from each other by a code IS-95 (standard proposed by North America) PN code spread the spectrum of a radio which shares access in a system by the use of a particular high speed pseduorandom (PN) code. Conv.39 Application of Channel Coding: Convolutional codes If each radio has its own radio-specific PN code, then all radios, except the one it is desired to receive, look like noise to all other receivers in the system. Code 1 Base Station Desired receiver noise noise noise Conv.40

Application of Channel Coding: Convolutional codes Reverse Channel (mobile unit to base station) 4.4kbps Add 8 bit encoder tail 4.8kbps r=1/3, K=9 Convolutional Encoder 14.4kbps Symbol Repetition 28.8kbps 64-ary Interleaver Modulator 28.8kbps 4.8kbps PN chip: 1.2288 Mcps Conv.41