Channel Coding I. Exercises SS 2016

Similar documents
Channel Coding I. Exercises SS 2017

Channel Coding I. Exercises SS 2017


Physical Layer and Coding

Lecture 12. Block Diagram

SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land

Error Correction and Trellis Coding

One Lesson of Information Theory

Chapter 7: Channel coding:convolutional codes

NAME... Soc. Sec. #... Remote Location... (if on campus write campus) FINAL EXAM EE568 KUMAR. Sp ' 00

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road UNIT I

Optimum Soft Decision Decoding of Linear Block Codes

16.36 Communication Systems Engineering

ECE8771 Information Theory & Coding for Digital Communications Villanova University ECE Department Prof. Kevin M. Buckley Lecture Set 2 Block Codes

Roll No. :... Invigilator's Signature :.. CS/B.TECH(ECE)/SEM-7/EC-703/ CODING & INFORMATION THEORY. Time Allotted : 3 Hours Full Marks : 70

B. Cyclic Codes. Primitive polynomials are the generator polynomials of cyclic codes.

Error Correction Methods

Solutions Communications Technology II WS 2010/2011

State-of-the-Art Channel Coding

1 1 0, g Exercise 1. Generator polynomials of a convolutional code, given in binary form, are g

Channel Coding and Interleaving

Introduction to Convolutional Codes, Part 1

Chapter 7 Reed Solomon Codes and Binary Transmission

Channel Coding 1. Sportturm (SpT), Room: C3165

Introduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.

Coding on a Trellis: Convolutional Codes

Reed-Solomon codes. Chapter Linear codes over finite fields

Convolutional Codes Klaus von der Heide

Chapter 9 Fundamental Limits in Information Theory

Coding Theory and Applications. Linear Codes. Enes Pasalic University of Primorska Koper, 2013

Binary Convolutional Codes

UTA EE5362 PhD Diagnosis Exam (Spring 2011)

Dr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems

Making Error Correcting Codes Work for Flash Memory

Coding theory: Applications

Code design: Computer search

Error Detection & Correction

The Viterbi Algorithm EECS 869: Error Control Coding Fall 2009

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

New Puncturing Pattern for Bad Interleavers in Turbo-Codes

Lecture 4: Linear Codes. Copyright G. Caire 88

Error Correction Review

MATH3302 Coding Theory Problem Set The following ISBN was received with a smudge. What is the missing digit? x9139 9

The E8 Lattice and Error Correction in Multi-Level Flash Memory

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

Math 512 Syllabus Spring 2017, LIU Post

New EPoC Burst Markers with Data Field

Convolutional Codes. Telecommunications Laboratory. Alex Balatsoukas-Stimming. Technical University of Crete. November 6th, 2008

Optical Storage Technology. Error Correction

CHAPTER 8 Viterbi Decoding of Convolutional Codes

EE 229B ERROR CONTROL CODING Spring 2005

Information redundancy

Communications II Lecture 9: Error Correction Coding. Professor Kin K. Leung EEE and Computing Departments Imperial College London Copyright reserved

Lecture 18: Gaussian Channel

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

The E8 Lattice and Error Correction in Multi-Level Flash Memory

Cyclic codes: overview

Convolutional Codes ddd, Houshou Chen. May 28, 2012

MATH Examination for the Module MATH-3152 (May 2009) Coding Theory. Time allowed: 2 hours. S = q

Codes on graphs and iterative decoding

Chapter 5. Cyclic Codes

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

THIS paper is aimed at designing efficient decoding algorithms

Solutions or answers to Final exam in Error Control Coding, October 24, G eqv = ( 1+D, 1+D + D 2)

Answers and Solutions to (Even Numbered) Suggested Exercises in Sections of Grimaldi s Discrete and Combinatorial Mathematics

Cyclic Redundancy Check Codes

Linear Codes and Syndrome Decoding

Turbo Codes for Deep-Space Communications

Codes on graphs and iterative decoding

Communication Theory II

ELECTRONICS & COMMUNICATIONS DIGITAL COMMUNICATIONS

ECEN 604: Channel Coding for Communications

ECE Information theory Final

Rate-adaptive turbo-syndrome scheme for Slepian-Wolf Coding

Coding Techniques for Data Storage Systems

Cyclic Codes. Saravanan Vijayakumaran August 26, Department of Electrical Engineering Indian Institute of Technology Bombay

ELEC 519A Selected Topics in Digital Communications: Information Theory. Hamming Codes and Bounds on Codes

Chapter 6. BCH Codes

ECE 564/645 - Digital Communications, Spring 2018 Homework #2 Due: March 19 (In Lecture)

Belief propagation decoding of quantum channels by passing quantum messages

Revision of Lecture 5

Turbo Codes for xdsl modems

Appendix D: Basics of convolutional codes

ABriefReviewof CodingTheory

On Compression Encrypted Data part 2. Prof. Ja-Ling Wu The Graduate Institute of Networking and Multimedia National Taiwan University

Channel capacity. Outline : 1. Source entropy 2. Discrete memoryless channel 3. Mutual information 4. Channel capacity 5.

Cyclic codes. Vahid Meghdadi Reference: Error Correction Coding by Todd K. Moon. February 2008

transmission and coding of information problem list José Luis Ruiz july 2018

Shannon's Theory of Communication

: Coding Theory. Notes by Assoc. Prof. Dr. Patanee Udomkavanich October 30, upattane

Performance of Multi Binary Turbo-Codes on Nakagami Flat Fading Channels

These outputs can be written in a more convenient form: with y(i) = Hc m (i) n(i) y(i) = (y(i); ; y K (i)) T ; c m (i) = (c m (i); ; c m K(i)) T and n

3. Coding theory 3.1. Basic concepts

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

Performance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels

Design and Implementation of Reed-Solomon Decoder using Decomposed Inversion less Berlekamp-Massey Algorithm by

Research on Unequal Error Protection with Punctured Turbo Codes in JPEG Image Transmission System

2013/Fall-Winter Term Monday 12:50 Room# or 5F Meeting Room Instructor: Fire Tom Wada, Professor

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

Transcription:

Channel Coding I Exercises SS 2016 Lecturer: Dirk Wübben, Carsten Bockelmann Tutor: Ahmed Emara, Matthias Woltering NW1, Room N 2400, Tel.: 0421/218-62392 E-mail: {wuebben, bockelmann, emara, woltering}@ant.uni-bremen.de Universität Bremen, FB1 Institut für Telekommunikation und Hochfrequenztechnik Arbeitsbereich Nachrichtentechnik Prof. Dr.-Ing. A. Dekorsy Postfach 33 04 40 D 28334 Bremen WWW-Server: http://www.ant.uni-bremen.de Version from June 13, 2016

June 13, 2016 I Exercises 1 Introduction 1 Exercise 1.1: Design of a discrete channel............................. 1 Exercise 1.2: Statistics of the discrete channel........................... 1 Exercise 1.3: Binary symmetric channel (BSC).......................... 1 Exercise 1.4: Serial concatenation of two BSC........................... 1 Exercise 1.5: Transmission of a coded data over BSCs....................... 2 2 Information theory 3 Exercise 2.1: Entropy........................................ 3 Exercise 2.2: Channel capacity of a discrete memory-free channel................ 3 Exercise 2.3: Channel capacity of a BSC.............................. 3 Exercise 2.4: Channel capacity of the AWGN........................... 4 3 Linear block codes 5 3.1 Finite field algebra.......................................... 5 Exercise 3.1: Polynomial in thegf(2)............................... 5 Exercise 3.2: Field......................................... 5 Exercise 3.3: Extension of a non-binary FieldGF(3 2 )...................... 5 Exercise 3.4: Extension of a binary FieldGF(2 4 )......................... 5 Exercise 3.5: 2-out-of-5-code.................................... 5 3.2 Distance properties of block codes.................................. 6 Exercise 3.6: Error correction.................................... 6 Exercise 3.7: Sphere-packing bound (Hamming-Schranke).................... 6 3.5 Matrix description of block codes.................................. 7 Exercise 3.8: Generator and parity check matrices......................... 7 Exercise 3.9: Expansion, shortening, and puncturing of codes................... 7 Exercise 3.10: Coset decomposition and syndrome decoding................... 7 Exercise 3.11: Coding program................................... 8 3.6 Cyclic Codes............................................. 8 Exercise 3.12: Polynomial multiplication.............................. 8 Exercise 3.13: Polynomial division................................. 8 Exercise 3.14: Generator polynomial................................ 8 Exercise 3.15: Syndrome...................................... 9 Exercise 3.16: Primitive polynomials................................ 9 Exercise 3.17: CRC codes..................................... 9 Exercise 3.18: Reed-Solomon-codes................................ 9

June 13, 2016 II 4 Convolution codes 11 4.1 Fundamental principles........................................ 11 Exercise 4.1: Convolution code................................... 11 4.2 Characterization of convolution codes................................ 11 Exercise 4.2: Catastrophic codes.................................. 11 4.3 Optimal decoding with Viterbi-algorithm.............................. 12 Exercise 4.3: Viterbi-decoding................................... 12 Exercise 4.4: Viterbi-decoding with puncturing.......................... 12 Exercise 4.5: Coding and decoding of a RSC code......................... 12 Exercise 4.6: Investigation to Viterbi-decoding........................... 13 Exercise 4.7: Simulation of a convolution-coder and -decoder................... 13

June 13, 2016 III General Information The dates for the exercises are arranged in the lectures and take place in room N 2250 or N 2410. The exercises cover the contents of past lectures and contain a theoretical part and a programming part, in general. The students are advised to repeat the corresponding chapters and to prepare the exercises for presenting them at the board. All references to passages in the text (chapter- and equation numbers) refer to the script: V. Kühn, Kanalcodierung I+II in german language. References of equations in the form of (1.1) refer to the script, too, whereas equations in the form (1) refer to solutions of the exercises. Although MATLAB is used in the exercises, no tutorial introduction can be given due to the limited time. A tutorial and further information can be found in MATLAB Primer, 3rd edition, Kermit Sigmon Practical Introduction to Matlab, Mark S. Gockenbach NT Tips und Tricks für MATLAB, Arbeitsbereich Nachrichtentechnik, Universität Bremen Einführung in MATLAB von Peter Arbenz, ETH Zürich available onhttp://www.ant.uni-bremen.de/teaching/kc/exercises/. PDF-files of the tasks, solutions and MATLAB codes are available on http://www.ant.uni-bremen.de/de/courses/cc1/. Within the university net the additional page http://www.ant.uni-bremen.de/de/courses/cc1/ is available. Beside the tasks and solutions you will find additional information on this page, e.g the matlab primer, the original paper of C. E. Shannon A mathematical theory of communication, some scripts and a preliminary version of the book Error-Control Coding of B. Friedrichs!

1 INTRODUCTION June 13, 2016 1 1 Introduction Exercise 1.1 Design of a discrete channel a) Given is a transmitting alphabet consisting of the symbols 3, 1, +1, +3. They shall be transmitted over an AWGN-channel, which is real valued and has the variance σn 2 = 1. At the output of the channel a hard-decision takes place, i.e. the noisy values are again mapped to the 4 symbols (A out = A in ), where the decision thresholds in each case lies in the middle of two symbols. Calculate the transition probabilities P(Y µ X ν ) of the channel and represent them in a matrix. b) Check the correctness of the matrix by checking the sums of probabilities to one. c) Determine the joint probabilitiesp(x ν,y µ ) for equally probable transmitting symbols. d) Calculate the occurrence probabilities for the channel output symbolsy µ. e) Calculate the error probabilityp e (X ν ) for the transmitting symbolsx ν and the mean overall error probabilityp e. Exercise 1.2 Statistics of the discrete channel a) Given are the channels in figure 1. Complete the missing probabilities. Channel 1 Channel 2 0.2 X 0 0.7 Y 0 0.3 0.2 X 0 0.8 Y 0 Y 1 Y 1 0.08 X 1 Y 2 X 1 Y 2 0.8 Fig. 1: Discrete channel models Exercise 1.3 Binary symmetric channel (BSC) a) The word 0110100 is transmitted by a BSC with the error probability P e = 0.01. Specify the probability of receiving the word 0010101, wrongly. b) Determine the probability ofmincorrectly received bits at the transmission ofnbits. c) For a BSC with the error probability P e = 0.01, the probability of more than 2 errors at words of the length 31 shall be determined. Exercise 1.4 Serial concatenation of two BSC Two BSC-channels with P e,1 and P e,2 shall be connected in series. Determine the error probability of the new channel.

1 INTRODUCTION June 13, 2016 2 Exercise 1.5 Transmission of a coded data over BSCs Use Matlab to simulate the transmission of coded data over a Binary Symmetric Channel (BSC) with error probabilityp e = 0.1. Apply repetition coding of rater c = 1/5 for error protection.

2 INFORMATION THEORY June 13, 2016 3 2 Information theory Exercise 2.1 Entropy a) The average information content H(X ν ) of the signal X ν (also called partial entropy) shall be maximized. Determine the value P(X ν ), for which the partial entropy reaches its maximum value and specify H(X ν ) max. Check the result with MATLAB by determining the partial entropy for P(X ν ) = 0 : 0.01 : 1 and plottingh(x ν ) overp(x ν ). b) The random vector (X 1 X 2 X 3 ) can exclusively carry the values (000), (001), (011), (101) and (111) each with a probability of1/5. Determine the entropies: 1. H(X 1 ) 2. H(X 2 ) 3. H(X 3 ) 4. H(X 1,X 2 ) 5. H(X 1,X 2,X 3 ) 6. H(X 2 X 1 ) 7. H(X 2 X 1 = 0) 8. H(X 2 X 1 = 1) 9. H(X 3 X 1,X 2 ) Exercise 2.2 Channel capacity of a discrete memory-free channel Determine the channel capacity for the following discrete memory-free channel on condition that P(X ν ) = 1/3 is valid. X 1/2 0 Y 0 1/3 1/6 X 1 1/6 1/3 1/2 Y 1 1/3 1/6 X 2 Y 1/2 2 Exercise 2.3 Channel capacity of a BSC a) Derive the capacity for equally probable input symbols P(X 0 ) = P(X 1 ) = 0.5 in dependence on the error probability for a binary symmetric channel (BSC). b) Prepare a MATLAB program, which calculates the capacity of an unsymmetric binary channel for the input probabilities P(x) = 0 : 0.01 : 1. It shall be possible to set the error probabilities P e,x0 and P e,x1 at the program start. (Attention: P(y) must be calculated!)

2 INFORMATION THEORY June 13, 2016 4 x0 1-P e,x0 y0 P e,x0 x1 P e,x1 1-P ex1 y1 c) Determine the channel capacity for several error probabilities P e at a fixed input probability P(x) within MATLAB. PlotC(P e ). Exercise 2.4 Channel capacity of the AWGN Derive the channel capacity for a bandwidth limited Gaussian channel (σ 2 n = N 0 /2) with a normal distributed input (σ 2 x = E s ). x y=x+n n

3 LINEAR BLOCK CODES June 13, 2016 5 3 Linear block codes 3.1 Finite field algebra Exercise 3.1 Polynomial in thegf(2) a) Given is the polynomialp(d) = 1+D 3 +D 4 +D 5 +D 6 in thegf(2). Check ifp(d) is irreducible with reference to GF(2) or primitive in thegf(2 6 ) by using the routinegfprimck. b) Determine the partial polynomials of p(d) using the routine gfdeconv. (Hint: polynomials can be represented clearly visible in MATLAB with the commandgfpretty.) c) State a list of all primitive polynomials of thegf(2 6 ) by using the MATLAB-commandgfprimfd. d) Determine all irreducible polynomials of the degree m = 6 that are no primitive polynomials with a MATLAB-routine. Exercise 3.2 Field Given are the setsm q := {0,1,...,q 1} and the two connections addition modulo q multiplication modulo q a) Calculate the connection tables for q = 2, 3, 4, 5, 6. b) Specify, from whichq results a field. c) Specify a primitive element for each field. Exercise 3.3 Extension of a non-binary FieldGF(3 2 ) Compute the log table of for GF(3 2 ) (i.e. a table of all elements of this field in exponential representation). Use D 2 +D +2 as a primitive polynomial over GF(3). Exercise 3.4 Extension of a binary FieldGF(2 4 ) Compute the log table of forgf(2 4 ). Use D 4 +D +1 as a primitive polynomial. a) Use the log table to calculatep 1 (D) = (D z)(d z 2 )(D z 4 )(D z 8 ). b) Use the log table to calculatep 2 (D) = (D z)(d z 2 )(D z 3 )(D z 4 ). c) Comment on the difference betweenp 1 (D) andp 2 (D) (BCH code introduction). Exercise 3.5 2-out-of-5-code a) Given is a simple 2-out-of-5-code of the length n = 5 that is composed of any possible words with the weightw H (c) = 2. Specify the codec. Is it a linear code?

3 LINEAR BLOCK CODES June 13, 2016 6 b) Determine the distance properties of the code. What is to be considered? c) Calculate the probability P ue of the occurrence of an undetected error for the considered code at a binary symmetric channel. The transition probabilities of the BSC shall be in the range 10 3 P e 0.5. RepresentP ue in dependence on P e graphically and depict also the error rate of the BSC in the chart. d) Check the result of c) by simulating a data transmission scheme in MATLAB and measuring the not detected errors for certain error probabilitiesp e of the BSC. Hint: Choose N code words by random and conduct a BPSK-modulation. Subsequently, the words are superimposed with additive white, Gaussian noise, where its power corresponds to the desired error probability P e = 0.5 erfc( E s /N 0 ) of the BSC. After a hard-decision of the single bit, the MLD can be realized at the receiver by a correlation of the received word and all possible code words with subsequent determination of the maximum. Subsequently, the errors have to be counted. e) Calculate the error probabilityp w at soft-decision-ml-decoding for the AWGN-channel. f) Check the results of e) with the help of simulations in the range 2 db E s /N 0 6 db. Compare the obtained error rates with the uncoded case. Hint: You can use the same transmission scheme as in item d). But this time, the hard-decision has to be conducted after the ML-decoding. 3.2 Distance properties of block codes Exercise 3.6 Error correction Given is a(n,k) q block code with the minimal distanced min = 8. a) Determine the maximal number of correctable errors and the number of detectable errors at pure error detection. b) The code shall be used for the correction of 2 errors and for the simultaneous detection of 5 further errors. Demonstrate by illustration in the field of code words (like in Fig 2), that this is possible. t x Fig. 2: Example of a Code withd min = 4 c) Demonstrate by illustration in the field of code words, how many possibilities of variation of a code word have to be taken into consideration at the transmission over a disturbed channel. Exercise 3.7 Sphere-packing bound (Hamming-Schranke) a) A linear (n,2) 2 -block code has the minimal Hamming distance d min = 5. Determine the minimal block length. t ( ) n q n k (q 1) r r r=0 b) A binary code C has the parameters n = 15,k = 7,d min = 5. Is the sphere packing bound fulfilled? What does the right side minus the left side of the sphere packing bound (cp. eq. (3.7)) state?

3 LINEAR BLOCK CODES June 13, 2016 7 c) Can a binary code with the parametersn = 15,k = 7,d min = 7 exist? d) Check, if a binary code with the parametersn = 23,k = 12,d min = 7 can exist. e) A source-coder generates 16 different symbols, that shall be binary coded with a correction capacity oft = 4 in the channel coder. How great does the code rate have to be in any case? 3.5 Matrix description of block codes Exercise 3.8 Generator and parity check matrices a) State the generator- as well as the parity check matrix for a (n,1,n) repetition code with n = 4. What parameters and properties does the dual code have? b) The columns of the parity check matrix of a Hamming code of degreer represent all dual numbers from 1 to 2 r 1. State a parity check matrix for r = 3 and calculate the corresponding generator matrix. Determine the parameters of the code and state the code rate. c) Analyze which connection is between the minimal distance of a code and the number of linear independent columns of the parity check matrixhby means of this example. Exercise 3.9 Expansion, shortening, and puncturing of codes a) Given is the systematical (7,4,3)-Hamming code from exercise 3.8. Expand the code by an additional test digit such that it gets a minimum distance of d min = 4. State the generator matrix G E and the parity check matrixh E of the expanded (8,4,4)-code. Hint: Conduct the construction with the help of the systematic parity check matrix H S and note the result from 3.8c. b) Shortening a code means the decrease of the cardinality of the field of code words, i.e. information bits are cancelled. Shorten the Hamming code from above to the half of the code words and state the generator matrix G K and the parity check matrixh K for the systematic case. What minimal distance does the shortened code have? c) Puncturing a code means gating out code bits which serves for increasing the code rate. Puncture the Hamming code from above to the rater c = 2/3. What minimal distance does the new code have? Exercise 3.10 Coset decomposition and syndrome decoding a) State the number of syndromes of the(7,4,3)-hamming code and compare it with the number of correctable error patterns. b) Make up a table for the systematic (7, 4, 3)-Hamming coder which contains all syndromes and the corresponding coset leaders. c) The word y = (1101001) is found at the receiver. Which information word u was sent with the greatest probability? d) The search for the position of the syndrome s in H can be dropped by resorting the columns of H. The decimal representation of s then can directly be used for the addressing of the coset leader. Give the corresponding parity check matrix H.

3 LINEAR BLOCK CODES June 13, 2016 8 Exercise 3.11 Coding program a) Write a MATLAB-programm which codes and again decodes a certain number of input data bits. Besides it shall be possible to insert errors before the decoding. The(7, 4, 3)-Hamming code with the generator matrix and the parity check matrix shall be used. G = H = 1 0 0 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 b) Extend the MATLABprogram for taking up bit error curves in the range 0 : 20dB. 3.6 Cyclic Codes Exercise 3.12 Polynomial multiplication Given are the two polynomialsf(d) = D 3 +D +1 andg(d) = D +1. a) Calculate f(d) g(d). Check the result with MATLAB. b) Give the block diagram of a nonrecursive system for a sequential multiplication of both polynomials. c) Illustrate the stepwise calculation of the polynomial f(d) g(d) in dependence on the symbol clock by means of a table. Exercise 3.13 Polynomial division Given are the two polynomialsf(d) = D 3 +D +1 andg(d) = D 2 +D +1. a) Calculate the division off(d) byg(d). Check the result with MATLAB. b) Give the block diagram of a recursive system for a sequential division of the polynomial f(d) by the polynomialg(d). c) Illustrate the stepwise calculation of the polynomial f(d) : g(d) in dependence on the symbol clock by means of a table. Exercise 3.14 Generator polynomial Given is a cyclic(15,7) block code with the generator polynomialg(d) = D 8 +D 7 +D 6 +D 4 +1. a) Indicate thatg(d) can be a generator polynomial of the code. b) Determine the code polynomial (code word) in systematical form for the messageu(d) = D 4 +D +1.

3 LINEAR BLOCK CODES June 13, 2016 9 c) Is the polynomialy(d) = D 14 +D 5 +D +1 a code word? Exercise 3.15 Syndrome The syndromess 1 to s 8 of an 1-error-correcting cyclic code are given. s 1 = 1 0 1 0 0 s 2 = 0 1 0 1 0 s 3 = 0 0 1 0 1 s 4 = 1 0 0 0 0 s 5 = 0 1 0 0 0 s 6 = 0 0 1 0 0 s 7 = 0 0 0 1 0 s 8 = 0 0 0 0 1 a) Determine the parity check matrixhand the generator matrix G. b) State the number of test digitsn k and the number of information digitsk. c) What is the generator polynomialg(d)? d) How many different code words can be built with the generator polynomialg(d)? e) The code wordy 1 = (01101011) is received. Has this code word been falsified on the channel? Can the right code word be determined? If yes, name the right code word. f) Now the code wordy 2 = (10110111) has been received. Has this code word been falsified on the channel? Can the right code word be determined? If yes, name the right code word. Exercise 3.16 Primitive polynomials Given are the two irreducible polynomialsg 1 (D) = D 4 +D+1 andg 2 (D) = D 4 +D 3 +D 2 +D+1. Which of these two polynomials is primitive? Exercise 3.17 CRC codes a) Generate the generator polynomial for a CRC code of the lengthn = 15. b) Determine the generator matrixgand the parity check matrixh. c) Now the efficiency of the CRC code shall be examined by considering the perceptibility of all burst errors of the length 4 l e n. Only error patterns with the l e errors directly succeeding one another shall be taken into consideration. Give the relative frequency of the detected errors. Exercise 3.18 Reed-Solomon-codes a) A RS-code in the GF(2 3 ) that can correct t = 1 error shall be generated. Determine the parameters k, n andr c and state the maximal length of a correctable error in bit. b) Give the generator polynomial g(d) of the Reed-Solomon-code. Use the commands rsgenpoly resp. eq. (3.85). c) The message u = (110 010 111 000 001) shall be coded. At the subsequent transmission 3 bits shall be falsified. How does the position of the error affect on the decoding result?

3 LINEAR BLOCK CODES June 13, 2016 10 d) Now a t = 2 errors correcting code in the GF(8) shall be designed. Again determine the parameters k and R c and giveg(d). e) The word y = (110 010 111 111 001 010 010) is received. Determine the number of errors, corrected code and the transmitted message (correction withrsdec(rec code,n,k,genpoly)).

4 CONVOLUTION CODES June 13, 2016 11 4 Convolution codes 4.1 Fundamental principles Exercise 4.1 Convolution code Given is a convolution code with the code rate R = 1/3, memory m = 2 and the generator polynomials g 1 (D) = 1+D +D 2 andg 2 (D) = 1+D 2 andg 3 (D) = 1+D +D 2. a) Determine the output sequence for the input sequenceu = (011010). b) Sketch the corresponding Trellis chart in the case of the under a) given input sequence. c) Sketch the state diagram of the encoder. d) Determine the corresponding free distanced f. 4.2 Characterization of convolution codes Exercise 4.2 Catastrophic codes Given is the convolution code with the generator polynomial g(d) = (1 + D 2,1 + D). Show that this is a catastrophic code and explain the consequences.

4 CONVOLUTION CODES June 13, 2016 12 4.3 Optimal decoding with Viterbi-algorithm Exercise 4.3 Viterbi-decoding Given is a convolution code with g 0 (D) = 1+D +D 2 and g 1 (D) = 1+D 2, where a terminated code shall be used. a) Generate the corresponding Trellis and code the information sequenceu(l) = (1101). b) Conduct the Viterbi-decoding respectively for the transmitted code sequence x = (11 01 01 00 10 11) and for the two disturbed receiving sequences y 1 = (111101011011) and y 2 = (111110011011) and describe the differences. c) Check the results with the help of a MATLAB-program. Define the convolution code with G=[7;5], r flag=0 and term=1, generate the trellis diagram with trellis = make trellis(g,r flag) and sketch it with show trellis(trellis). Encode the information sequence u with c = conv encoder (u,g,r flag,term) and decode this sequence with viterbi omnip(c,trellis,r flag,term,length(c)/n,1). Decode now the sequencesy 1 andy 2. Exercise 4.4 Viterbi-decoding with puncturing Given is a convolution code with g 0 (D) = 1+D +D 2 and g 1 (D) = 1+D 2, out of which shall be generated a punctured code by puncturing with the scheme ( ) 1 1 1 0 P 1 = 1 0 0 1 a) Determine the code rate of the punctured code. b) Conduct the Viterbi-decoding in the case of the undisturbed receiving sequence y = (11000101) (pay attention to the puncturing!). Exercise 4.5 Coding and decoding of a RSC code a) We now consider the recursive systematic convolution code with the generator polynomials g 0 (D) = 1 and g 1 (D) = (1+D+D 3 )/(1+D+D 2 +D 3 ). Generate the Trellis diagram of the code with the help of the MATLAB-commandmake trellis([11;15],2). b) Conduct a coding for the input sequence u(l) = (11011). The coder shall be conducted to the zero state by adding tail bits (commandconv encoder (u,[11;15],2,1)). What are the output- and the state sequences? c) Now the decoding of convolution codes with the help of the Viterbi-algorithm shall be considered. For the present the sequence u(l) = (1 1 0 1 1 0 0 1 1 1 1 0) has to be coded (with termination), modulated with BPSK and subsequently superposed by Gaussian distributed noise. Choose a signal-to-noise ratio of E b /N 0 = 4 db. With the help of the program viterbi the decoding now can be made. By setting the parameter demo=1 the sequence of the decoding is represented graphically by means of the Trellis diagram. What s striking concerning the error distribution if the Trellis is considered as not terminated? d) Now the influence of the error structure at the decoder input shall be examined. Therefor specifically add four errors, that you once arrange bundled and another time distribute in a block, to the coded and BPSKmodulated sequence. How does the decoding behave in both cases?

4 CONVOLUTION CODES June 13, 2016 13 Exercise 4.6 Investigation to Viterbi-decoding a) Simulate a data transmission system with the convolution code from exercise 4.5, a BPSK-modulation, an AWGN-channel and a Viterbi-decoder. The block length of the terminated convolution code shall be L = 100 bits. Decode the convolution code with the decision depths (K 1 = 10, K 2 = 15, K 3 = 20, K 4 = 30 undk 5 = 50). The signal-to-noise ratio shall bee b /N 0 = 4 db. What influence does the decision depth have on the bit error rate? b) Now puncture the convolution code to the rater c = 3/4 and repeat item a). What about the decision depths now? c) Conduct simulations for an unknown final state. Evaluate the distribution of the decoding errors at the output. What s striking? Exercise 4.7 Simulation of a convolution-coder and -decoder Generate a MATLAB-program that codes, BPSK-modulates, transmits over an AWGN-channel and subsequently hard decodes an information sequence u of the length k = 48 with the terminated convolution code g = (5,7). Take with this program the bit error curve for E b /N 0 = 0 : 1 : 6dB corresponding to fig. 4.14 by transmitting N = 1000 frames per SNR, adding the bit errors per SNR and subsequently determining the bit error rate per SNR. Therefor use the following MATLAB-functions: trellis = make trellis(g,r flag c= conv encoder(u,g,r flag,term) u hat= viterbi(y,trellis,r flag,term,10)