Contents 1 Basics of Convolutional Coding.

Similar documents
Structure and Drive Paul A. Jensen Copyright July 20, 2003

Lectures - Week 4 Matrix norms, Conditioning, Vector Spaces, Linear Independence, Spanning sets and Basis, Null space and Range of a Matrix

TOPICS MULTIPLIERLESS FILTER DESIGN ELEMENTARY SCHOOL ALGORITHM MULTIPLICATION

Foundations of Arithmetic

Lecture 3: Shannon s Theorem

APPENDIX A Some Linear Algebra

Lecture 5 Decoding Binary BCH Codes

Problem Set 9 Solutions

5 The Rational Canonical Form

Grover s Algorithm + Quantum Zeno Effect + Vaidman

= z 20 z n. (k 20) + 4 z k = 4

A Comparison between Weight Spectrum of Different Convolutional Code Types

Learning Theory: Lecture Notes

S Advanced Digital Communication (4 cr) Targets today

HMMT February 2016 February 20, 2016

Difference Equations

Digital Signal Processing

Example: (13320, 22140) =? Solution #1: The divisors of are 1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 27, 30, 36, 41,

Lecture Notes on Linear Regression

ISSN: ISO 9001:2008 Certified International Journal of Engineering and Innovative Technology (IJEIT) Volume 3, Issue 1, July 2013

Error Probability for M Signals

Module 3 LOSSY IMAGE COMPRESSION SYSTEMS. Version 2 ECE IIT, Kharagpur

Subset Topological Spaces and Kakutani s Theorem

Transfer Functions. Convenient representation of a linear, dynamic model. A transfer function (TF) relates one input and one output: ( ) system

Pulse Coded Modulation

Chapter 5. Solution of System of Linear Equations. Module No. 6. Solution of Inconsistent and Ill Conditioned Systems

Errors for Linear Systems

Entropy Coding. A complete entropy codec, which is an encoder/decoder. pair, consists of the process of encoding or

Exercises. 18 Algorithms

EEE 241: Linear Systems

LECTURE 9 CANONICAL CORRELATION ANALYSIS

Week 2. This week, we covered operations on sets and cardinality.

The Multiple Classical Linear Regression Model (CLRM): Specification and Assumptions. 1. Introduction

For now, let us focus on a specific model of neurons. These are simplified from reality but can achieve remarkable results.

Graph Reconstruction by Permutations

Random Walks on Digraphs

Week3, Chapter 4. Position and Displacement. Motion in Two Dimensions. Instantaneous Velocity. Average Velocity

Channel Encoder. Channel. Figure 7.1: Communication system

Common loop optimizations. Example to improve locality. Why Dependence Analysis. Data Dependence in Loops. Goal is to find best schedule:

1 Generating functions, continued

Notes on Frequency Estimation in Data Streams

2.3 Nilpotent endomorphisms

Linear Regression Analysis: Terminology and Notation

8.4 COMPLEX VECTOR SPACES AND INNER PRODUCTS

Low Complexity Soft-Input Soft-Output Hamming Decoder

2E Pattern Recognition Solutions to Introduction to Pattern Recognition, Chapter 2: Bayesian pattern classification

Department of Electrical & Electronic Engineeing Imperial College London. E4.20 Digital IC Design. Median Filter Project Specification

Lecture 14 (03/27/18). Channels. Decoding. Preview of the Capacity Theorem.

Chapter 6. BCH Codes

Quantum Mechanics for Scientists and Engineers. David Miller

DIFFERENTIAL FORMS BRIAN OSSERMAN

The Order Relation and Trace Inequalities for. Hermitian Operators

Chapter 7 Channel Capacity and Coding

On the set of natural numbers

Lecture 3: Probability Distributions

The Geometry of Logit and Probit

2 More examples with details

Bernoulli Numbers and Polynomials

The Gaussian classifier. Nuno Vasconcelos ECE Department, UCSD

Linear Approximation with Regularization and Moving Least Squares

Time-Varying Systems and Computations Lecture 6

EGR 544 Communication Theory

3.1 Expectation of Functions of Several Random Variables. )' be a k-dimensional discrete or continuous random vector, with joint PMF p (, E X E X1 E X

Suppose that there s a measured wndow of data fff k () ; :::; ff k g of a sze w, measured dscretely wth varable dscretzaton step. It s convenent to pl

Learning from Data 1 Naive Bayes

Composite Hypotheses testing

Stanford University CS359G: Graph Partitioning and Expanders Handout 4 Luca Trevisan January 13, 2011

Linear, affine, and convex sets and hulls In the sequel, unless otherwise specified, X will denote a real vector space.

Application of Nonbinary LDPC Codes for Communication over Fading Channels Using Higher Order Modulations

Chapter 7 Channel Capacity and Coding

VQ widely used in coding speech, image, and video

On the Multicriteria Integer Network Flow Problem

Estimating the Fundamental Matrix by Transforming Image Points in Projective Space 1

MATH 241B FUNCTIONAL ANALYSIS - NOTES EXAMPLES OF C ALGEBRAS

n α j x j = 0 j=1 has a nontrivial solution. Here A is the n k matrix whose jth column is the vector for all t j=0

Psychology 282 Lecture #24 Outline Regression Diagnostics: Outliers

Bezier curves. Michael S. Floater. August 25, These notes provide an introduction to Bezier curves. i=0

PRIMES 2015 reading project: Problem set #3

Introduction to Information Theory, Data Compression,

Inner Product. Euclidean Space. Orthonormal Basis. Orthogonal

Refined Coding Bounds for Network Error Correction

Fundamental loop-current method using virtual voltage sources technique for special cases

Affine transformations and convexity

Digital Modems. Lecture 2

Application of Fuzzy Algebra in Automata theory

Fall 2012 Analysis of Experimental Measurements B. Eisenstein/rev. S. Errede

Zeros and Zero Dynamics for Linear, Time-delay System

Calculation of time complexity (3%)

Ballot Paths Avoiding Depth Zero Patterns

CSE4210 Architecture and Hardware for DSP

Lecture 12: Discrete Laplacian

Section 8.3 Polar Form of Complex Numbers

College of Computer & Information Science Fall 2009 Northeastern University 20 October 2009

Bézier curves. Michael S. Floater. September 10, These notes provide an introduction to Bézier curves. i=0

find (x): given element x, return the canonical element of the set containing x;

Design and Optimization of Fuzzy Controller for Inverse Pendulum System Using Genetic Algorithm

ELASTIC WAVE PROPAGATION IN A CONTINUOUS MEDIUM

COMPLEX NUMBERS AND QUADRATIC EQUATIONS

Lecture Space-Bounded Derandomization

Transcription:

Contents 1 Bascs of Convolutonal Codng 1 Φ 11 Relatng G 1 wth the mpulse responses g j 1 ;j 12 TransformAnalyssn ConvolutonalCodes context 4 13 Constructng a convolutonal encoder structure from the generator matrces 5 14 SystematcConvolutonalEncoders 5 15 Graphcalrepresentaton ofencoders 8 16 Free Dstanceofconvolutonalcodes 11 17 Catastrophc Encoders 11 18 Octalnotatonofconvolutonalencoders 13 19 Physcalrealzatonsofconvolutonalencoders 14 110 Input Output Weght enumeratng functon of a convolutonal code 16 111 Maxmum Lkelhood Decodng of Convolutonal Codes 21 Ψ

CONTENTS

Lst of Fgures 11 Implementaton of encoder G 1 (D) usngfeedback 7 12 Implementaton of encoder G(D) 8 13 9 14 Labelngofbranches andstates 9 15 State transton dagram for encoder G(D) 10 16 Trells dagram for encoder G(D) 10 17 Controller canoncal form for p(d)=q(d) 14 18 Observer canoncal form for p(d)=q(d) 15 19 State transton dagram for G(D) =[1+D 2 + D 3 ; 1+D + D 2 + D 3 ] 18 110 Modfed state transton dagram for G(D) =[1+D 2 + D 3 ; 1+D + D 2 + D 3 ] 18

v LIST OF FIGURES

Chapter 1 Bascs of Convolutonal Codng Contents n o 11 Relatng G 1 wth the mpulse responses g j 1 ;j 12 TransformAnalyssnConvolutonalCodescontext 4 13 Constructng a convolutonal encoder structure from the generator matrces 5 14 SystematcConvolutonalEncoders 5 15 Graphcalrepresentatonofencoders 8 16 FreeDstanceofconvolutonalcodes 11 17 CatastrophcEncoders 11 18 Octalnotatonofconvolutonalencoders 13 19 Physcalrealzatonsofconvolutonalencoders 14 110 Input Output Weght enumeratng functon of a convolutonal code 16 111MaxmumLkelhoodDecodngofConvolutonalCodes 21 n o 11 Relatng G 1 wth the mpulse responses g j ;j The matrx G 1 s used to encode the bt-stream (nfo-bts) enterng the convolutonal encoder The nput bts are n the format: u 0 0; u 1 0; ;u k 1 0 ju 0 1; u 1 1; ;u k 1 1 j Λ (11) 1

2 Chapter 1: Bascs of Convolutonal Codng and the encoded bts are n the format u 0 0; c 1 0; ;c k 1 0 jc 0 1; c 1 1; ;c n 1 1 j Λ Recallng the relatonshp c j l = k 1 =0 we make the followng clarfcatons and assumptons: u l Λ g j ;l (12) ffl Remember that the encoder has memory of order m mples that the longest shftregster n the encoder has length m Therefore the longest mpulse response wll have memory m whch yelds m +1taps ffl If some shft regsters are shorter than m, we may extend them to have length m assumng that the assocated coeffcents wth those extra taps, are zero (zero paddng) That way we ensure that all the mpulse responses g j wll have m +1taps, wthout changng ther outputs (encoded bts) Now consderng the convoluton u l Λ gj ;l yelds: m u l Λ g j ;l = u l t g j ;t t=0 = u l m; u l m+1; ;u l 2 Λ 6 4 g j ;m g j ;m 1 g j ;0 3 7 5 and therefore the encoded bt c j l can be wrtten as: u 0 l m; u 0 l m+1; ;u 0 l j ju k 1 ; l m uk 1 ; ;uk 1 l m+1 l 2 Λ 6 4 g j 0;m g j 0;m 1 g j 0;0 g j k 1;m g j k 1;m 1 g j k 1;0 3 7 5

Φ Ψ 11 Relatng G 1 wth the mpulse responses g j 3 ;j Now snce we want to have the nput bts n the nterleaved format (11), we need to reorder the elements n the above expresson, to get: u 0 l m; ;u k 1 l m ju0 l m+1; ;u k 1 l m+1 j ju0 l ; ju k 1 l 2 Λ 6 4 g j 0;m g j 1;m g j k 1;m g j 0;m 1 g j 1;m 1 g j k 1;m 1 g j 0;0 g j 1;0 g j k 1;0 3 7 5 Ths form makes t easy to construct all the n encoded bts c 0 l ; ;cn 1 l as: u 0 l m; ;u k 1 l m ju0 l m+1; ;u k 1 l m+1 j ju0 l ; ju k 1 l 2 Λ 6 4 g 0 0;m g 1 0;m g n 1 0;m g 0 1;m g 1 1;m g n 1 1;m g 0 k 1;m g 1 k 1;m g n 1 k 1;m g 0 0;m 1 g 1 0;m 1 g n 1 0;m 1 g 0 1;m 1 g 1 1;m 1 g n 1 1;m 1 g 0 k 1;m 1 g 1 k 1;m 1 g n 1 k 1;m 1 g 0 0;0 g 1 0;0 g n 1 0;0 g 0 1;0 g 1 1;0 g n 1 1;0 g 0 k 1;0 g 1 k 1;0 g n 1 k 1;0 3 7 5

4 Chapter 1: Bascs of Convolutonal Codng From the above expresson we conclude that M = m and that G l = 2 6 4 g 0 0;l g 1 0;l g n 1 0;l g 0 1;l g 1 1;l g n 1 1;l g 0 k 1;l g 1 k 1;l g n 1 k 1;l 3 7 5 12 Transform Analyss n Convolutonal Codes context Observng equaton (12) and snce a convoluton between two sequences s nvolved, we can use tools from dscrete-tme sgnal processng and apply them to the bt sequences, as f they were bnary sgnals More specfcally we may defne a D-transform of a sequence y as y(d) = +1 = 1 y D We kept the lower case y for the transformed quantty as we want to keep the upper case letters for matrces The D-transform s the same as the z-transform substtutng z wth D 1 All the propertes of the well known z transform apply as well to D-transform Therefore (12) s wrtten as c j (D) = k 1 u (D) g j (D) =0 2 Λ = u 0 (D); ;u k 1 (D) 6 4 g j 0 (D) g j k 1 (D) We can now express the transformed n output (encoded) bt sequences as: 2 Λ c 0 (D);c 1 (D) ;c n 1 (D) = 6 4 c(d) =u(d)g(d) 3 7 5 g 0 0 (D) g1 0 (D) gn 1 0 (D) g 0 k 1 (D) g1 k 1 (D) gn 1 k 1 (D) 3 7 5 ) In the above expresson, c(d) s a n-dmensonal vector, u(d) s a k-dmensonal vector and G(D) s a k n dmensonal matrx, provdng a very compact and fnte dmenson expresson of the encodng of an nfnte stream of nfo-bts

13 Constructng a convolutonal encoder structure from the generator matrces 5 13 Constructng a convolutonal encoder structure from the generator matrces We assume we are gven a generator matrx for a convolutonal codeether n the form G 1 or G(D) and we wsh to desgn a structure usng delay elements, that wll mplement the approprate encodng process Startng from G 1, we dentfy the kn mpulse responses fg j g, = 0; ;k 1 and j = 0; ;n 1 that are assocated wth the -th nput and the j-th output Each of these mpulse responses wll have (or can be made to have) length m +1(memory m) Let s focus on the j-th output of the encoder Ths yelds: c j = k 1 =0 u Λ g j From an mplementaton pont of vew t yelds the structure: showng that we need a bank of k shft regsters, each of m taps (delay elements) The outputs of the -th shft regster are connected wth the g j ; ;l l = 0; ;mgans The outputs of those shft regsters are summed together to provde c j Next lookng at the output r we have: c r = k 1 =0 u Λ g r Implementng the above, agan requres a bank of k shft regsters, each of length m Only now, the outputs of the -th shftt regster are connected wth the g;l; r l = 0; ;m gans The outputs of those shft regsters are summed together to provde c r Comparng the above two structures we see that the same bank of shft regsters may be used for both c j and c r (and therefore any other output), provded that outputs of the delay elements are connected wth the approprate set of coeffcent from the approprate mpulse response Therefore although nk mpulse responses are requred to specfy the convolutonal encoder, only k shft regsters of m taps each, are necessary Ths mples that the number of nput symbols that are stored at every tme nstant n the encoder wll be km and therefore the number of states of the encoder wll be 2 km 14 Systematc Convolutonal Encoders A systematc convolutonal encoder s one that reproduces the k nput nfo-bt streams to k out of n of ts outputs For nstance we may assume that the frst k outputs (c 0 ; c 1 ; ;c k 1 )are

6 Chapter 1: Bascs of Convolutonal Codng dentcal to the k nput bts u 0 ; u 1 ; ;u k 1 There are many ways that ths may happen For nstance: c j = u j ; j =0; ;k 1 s one possblty But so s c 0 = u k 1 ; c j = u j 1 for j =1; ;k 2 So even when consderng the frst k output bts, there are several possbltes to have the nput bts mapped nto the output bts (actually k! possbltes) The mportant thng s to have k outputs that reflect exactly what the k nput bt streams are Then t s a matter of reorderng the outputs of the encoder such that u j = c j ; j =0; ;k 1 Snce such a reorderng of the outputs s always possble we usually refer to a systematc encoder as the one that ensures that u j = c j ; j =0; ;k 1 From the above defnton of a systematc encoder, t follows that k columns of the G(D) matrx should (after reorderng) gve the dentty matrx For example, consder the convolutonal encoder wth G(D) = 1+D 2 ; 1+D + D 2Λ An obvous systematc encoder s G 1 (D) =» 1; 1+D + D 2 1+D 2 Ths encoder ensures that u 0 = c 0 However the encoder G 2 (D) =» 1+D 2 1+D + D ; 1 2 ensures that u 0 = c 1 whch mples that t s also a systematc encoder If we want to put t n the more standard form where u 0 = c 0 we can reorder ts outputs by namng the frst output c 0 to be the second and the second to be the frst Ths s acheved by multplyng wth the matrx obtanng 2 T = 4 0 1 1 0 G 3 (D) =G 2 (D)T =» 1; 3 5 1+D 1+D + D 2 Ths ndcates that there may be several systematc encoders (even n the standard form where u j = c j ) for a gven convolutonal code Note that although nk polynomals g j (D) must be

14 Systematc Convolutonal Encoders 7 specfed for a convolutonal encoder, only k(n k) polynomals are requred to specfy a systematc encoder for the same code Note that the second term of ths encoder s a ratonal functon of D, mplyng that a feedforward mplementaton s mpossble We now address the problem of physcal realzaton of the encoder, especally when G(D) contans ratonal functons of D To llustrate better our analyss, consder G 1 (D) from the prevous example It mples that: and c 0 (D) =u 0 (D) = 1 =0 u D 1+D c 1 (D) =u 0 + D2 (D) = u 0 (D) 1 +D + D 3 + D 5 + 1+D 2 Ths mples that drect translaton nto a feedforward crcut (tap delay lne) s mpossble as an nfnte number of delay elements would be requred and also an nfnte tme must be wated before obtanng the encoded output bt However f we rewrte t as: c 1 (D)(1 + D 2 )=u 0 (D)(1 + D + D 2 ) ) c 1 + c1 2 = u0 + u0 1 + u0 2 then by recallng some of the canoncal mplementatons of IIR flters we have the structure of fgure 14 c 0 feedback branch u 0 c 1 Fgure 11: Implementaton of encoder G 1 (D) usng feedback It s to be noted that the non-systematc encoder G(D) can be mplemented wth the same number of delay elements (2) but wthout feedback branch, as shown n fgure 14

8 Chapter 1: Bascs of Convolutonal Codng c 0 u 0 c 1 Fgure 12: Implementaton of encoder G(D) 15 Graphcal representaton of encoders The operaton of a convolutonal encoder can be represented usng state dagrams and trells dagrams State dagrams gve a compact representaton of the encodng process, but hde the evoluton of the encodng process over tme Trells dagrams gve that extra dmenson The state of the convolutonal encoder s defned as the content of the delay elements of the encoder at a partcular tme nstant Snce a (n; k; m) code has km delay elements, they can store anyone out of 2 mk bts Therefore there wll be 2 mk possble states Transton from one state to the other s due to the k ncomng nfo-bts At tme, k nfo-bts are enterng the encoder, causng t to transton to a new state and at the same tme the output of the encoder s n coded bts Transton from one state to the other s through a branch that s labeled n the form u 0 u 1 u k 1 =c 0 c 1 c n 1 Snce there are 2 k combnatons of ncomng nfo-bts, then from any gven state we may go to 2 k possble outgong states Therefore there wll be 2 k branches outgong from any state Those branches are enterng 2 k states at tme + 1 Next, we focus on a partcular state, and are nterested n how many ncomng branches exst We gve an explanaton whch wll also provde us wth an addtonal result Let s magne the delay elements of the encoder as lyng on a k m array We rearrange them (conceptually) such as to form arowofkm delay elements An approprate way to arrange them s to consder frst the k delay elements of the frst column of the array Then consder the next k elements of the second column of the array, etc untl we consder the last k elements of the m-th column of the array, as shown n fgure 15 At tme the content of those delay elements are u 0 1; ;u k 1 1 ;u0 2; ;u k 1 ; 2 ;u0 m; ;u k 1 m Then at tme +1the encoder wll transt to the state u 0 ; ;u k 1 ;u 0 1; ;u k 1 1 ; ;u 0 m+1; ;u k 1 m+1 Now assume that the encoder at tme was at the state u 0 1; ;u k 1 1 ;u0 2; ;u k 1 2 ; ; ~u0 m; ; ~u k 1 m Then

15 Graphcal representaton of encoders 9 1 2 m 01 01 00 11 01 01 k 00 11 00 11 01 01 k m Fgure 13: f at tme the nfo-bts u 0 ; ;u k 1 are enterng the encoder, the state at whch t wll transt to wll be u 0 ; ;u k 1 ;u 0 1; ;u k 1 ; 1 ;u0 m+1; ;u k 1 m+1, e the same state as before Therefore as long as only the last k bts of the state at tme are dfferent, the encoder wll always transt to the same state at tme +1, upon encodng of the nfo bts u 0 ; ;u k 1 Snce there are 2 k states dfferng only the last k bts, t follows that these states wll all transt to the same state upon encodng of the same k nfo bts Ths shows that there are 2 k ncomng branches to any state and that all these branches are labeled wth the same k nfo-bts At the same tme, the orderng of the delay elements of the convolutonal encoder that s suggested n the rght part of fgure 15 provdes a good conventon for namng the states of the system We wll use the conventon ff to denote the state when the content of the delay elements n the form u 0 1; ;u k 1 1 ;u0 2; ;u k 1 ; ; 2 ~u0 m; ; ~u k 1 m equals the nteger For example for the (3; 2; 2) encoder the state ff 3 means that the content of the delay elements s (0011) or n the array orderng of the delay elements t corresponds to 2 4 0 1 0 1 3 5 Wth ths n mnd, the general form of the labelng we wll use for both the state transton dagram and the trells dagram wll have the format of fgure 15 u 0 u k 1 =c 0 c n 1 ff ψ ff Fgure 14: Labelng of branches and states Example: Usng the encoder G(D) yelds: We now construct the trells dagram for the same encoder We can do t based on the state transton dagram of fgure 15, as follows:

10 Chapter 1: Bascs of Convolutonal Codng 0/00 0/11 00 1/00 1/11 01 10 0/10 0/01 11 1/10 1/01 Fgure 15: State transton dagram for encoder G(D) 00 0/00 1/11 00 10 1/10 0/11 0/01 10 01 1/00 01 0/10 11 1/01 11 tme tme +1 Fgure 16: Trells dagram for encoder G(D)

16 Free Dstance of convolutonal codes 11 16 Free Dstance of convolutonal codes The free dstance of a convolutonal code (not an encoder), s defned as the mnmum Hammng wegth of any non-zero codeword of that code In order to fnd t, we can use the trells dagram and start from the all zero state We wll consder paths that dverge from the zero state and merge back to the zero state, wth out ntermedate passes through the zero state For the prevous code defned by G(D) we can show that t s mnmum dstance s 5 Later when we wll study the Vterb algorthm, we wll see an algorthmc way to determne the free dstance of a convolutonal code 17 Catastrophc Encoders Frst of all we want to clarfy that there s no such thng as catastrophc convolutonal code However there are catastrophc convolutonal encoders and here s what we mean: Consder the case where the encoder G(D) s used to encode an nfo bt stream u 0 (D) =1 (corresponds to the transmsson of a Drack, u 0 =[1; 0; 0; ]) The codeword at the output of the encoder s c(d) =[1+D 2 ; 1+D+D 2 ] (corresponds to the sequence [1; 1; 0; 1; 1; 1; 0; 0; 0; ] Now assume that we use the equvalent encoder G(D) ~ = (1 + D)G(D) = [1 + D + D 2 + D 3 ; 1+D 3 ] and that the nput bt stream s u 0 (D) = 1, (corresponds to the sequence 1+D ~u 0 =[1; 1; 1; 1; 1 ]) However the output of the encoder s the same as before, snce: c(d) ~ =~u 0 1 G(D) 1+D ~ = 1 (1 + D)G(D) 1+D = u 0 (D)G(D) = c(d) So far we don t see anythng strange However, codng s used to protect nformaton from errors, and assume that through the transmsson of the encoded bt stream through a nosy channel, we receve the sequence r =[10j00j01j00j00j ] where the underbar denotes a bt that has been affected by the nosy channel (flpped) The above receved sequence suggests that 3 errors were performed durng recepton A MAP detector, upon recepton of r would produce as closest match, the sequence ^c = [000000 ] that s assocated wth the nfo bt stream ^u 0 (D) = 0 (or u 0 = [0000 ]) The

12 Chapter 1: Bascs of Convolutonal Codng convolutonal decoder knows that r cannot be a codeword, because d free = 5 Snce r has a Hammng wegth of 2, the all zero code word wll be selected as the most lkely transmtted codeword If G(D) was used as the encoder, we see that the detected nfo word ([0000 ]) and the transmtted nfo word ([1; 0; 0; 0; ])dffernonly1 poston However f the encoder ~G(D) was used, the transmtted nfo word was [1111 ] and therefore t wll dffer from the detected nfo word n an nfnte number of postons, althoug only a fnte number of channel errors (3) occured Ths s hghly undesrable n transmsson systems and the encoder G(D) ~ s sad to be catastrophc Catastrophc encoders are to be avoded and several crtera have been developped n order to dentfy them A very popular one s by Massey and San and provdes a suffcent and necessary condton for an encoder to be non-catastrophc THEOREM 1 If G(D) s a ratonal generator matrx for a convolutonal code, then the followng condtons are equvalent If G(D) satsfes any of these (t wll therefore satsfy all others), the encoder wll be non-catastrophc 1 No nfnte Hammng weght nput u(d) produces a fnte Hammng weght output c(d) (ths s equvalent to: All nfnte Hammng weght nput sequences, produce nfnte Hammng weght codewords) 2 Let f(d) be the least common multple of the denomnators n the entres of G(D) Defne G(D) ~ =f(d)g(d) (e clear the denomnators Transform all entres to polynomals) Let ff(d) be the greatest common dvsor of all k k mnors of G(D) ~ When ff(d) f(d) s reduced to lowest terms (no more common factors) yeldng ~ff(d),then~ff(d) = Dj ~f(d) for some j 0 (Note that f G(D) s a polynomal matrx, then f(d) = 1 snce all denomnators equal 1 3 G(D) has a polynomal 1 rght nverse K(D) of fnte weght, e G(D)K(D) = I k (dentty k k matrx) EAMPLE 1 Consder the encoder ~ G(D) = [1 + D + D 2 + D 3 ; 1 + D 3 ] whch has polynomal entres Therefore f(d) = 1 The greatest common dvsor of all mnors of ~ G(D) s ff(d) = gcdf1 +D + D 2 + D 3 ; 1+D 3 g =1+D Thsff(D) s not n the form D j, volatng condton 2, mplyng that the encoder s catastrophc }

18 Octal notaton of convolutonal encoders 13 COROLLARY 1 Every systematc generator matrx of a convolutonal code, s non-catastrophc PROOF Descrptve proof: In a systematc encoder, the nput sequence somehow appears n the codeword Therefore any nfnte wegth nput wll necessary produce an nfnte wegth output, satsfyng condton 1 Formal proof: 2 3 If G(D) =[I k ; P (D)] then K(D) = 4 I 5 s a rght nverse of G(D) Thus by condton 3 0 ) G(D) s non-catastrophc 18 Octal notaton of convolutonal encoders Polynomal generator matrces of convolutonal encoders have entres that are polynomals of D Letp(D) be an entry of G(D), n the form p 0 + p 1 D + p 2 D 2 + ;p m D m Then we form the bnary number p m p 2 p 1 p 0 and zero pad t on the rght such that the total number of dgts s an nteger multple of 3 Then to every 3 dgts we assocate an octal number EAMPLE 2 The generator matrx G(D) =[1+D + D 3 + D 4 + D 6 ; 1+D 3 + D 4 + D 5 + D 6 ] s expressed as [554; 744] snce z} 5 1+D + D 3 + D 4 + D 6! 101 z} 7 1+D 3 + D 4 + D 5 + D 6! 111 z} zero paddng z} 101 1 00 5 z } z} 100 1 z} 00 4 zero paddng z } 4 4 }

14 Chapter 1: Bascs of Convolutonal Codng 19 Physcal realzatons of convolutonal encoders In general the entres of a convolutonal encoder G(D) wll be ratonal functons n the form p(d)=q(d) where p(d) and q(d) are polynomals of the same order L (f they don t have the same order, we complete the order deffcent polynomal wth approprate zero coeffcents, such as to have the same order L) More specfcally we have: and p(d) = q(d) = Ths ratonal entry corresponds to the transfer functon of a lnear tme nvarant (LTI) system and therefore can be mplemented n many possble ways Of partcular nterest are two mplementatons: the controller canoncal form and the observer canoncal form If x(d) s the nput and y(d) the output of the LTI, then L l=0 L l=0 y(d) =x(d) p(d) q(d) ) y j = 1 q 0 " L l=0 p l D l q l D l p l x j l L l=1 q l y j l # The controller canoncal form s llustrated n fgure 19 Ths mplementaton has the adders y j p 0 p 1 p 2 p L 1 p L x j 1=q 0 q 1 q 2 q L 1 q L Fgure 17: Controller canoncal form for p(d)=q(d) out of the delay elements path A dual mplementaton of the above that has the adders n the delay elements path s known as observer canoncal form and s llustrated n fgure 19

19 Physcal realzatons of convolutonal encoders 15 xj p L p L 1 p 2 p 1 p0 1=q 0 yj q L q L 1 q 2 q 1 Fgure 18: Observer canoncal form for p(d)=q(d) DEFINITION 1 The McMllan degree of G(D) s the mnmum number of delay elements that you can fnd n any realzaton of G(D) DEFINITION 2 An encoder G(D) for a code C s called mnmal f t s McMllan degree s the smallest that s achevable wth any equvalent encoder for C Ths s equvalent to say that f we consder all possble equvalent encoders of C and fnd the mnmum of ther McMllan degrees, then the encoder wth that mnmal McMllan degree wll be a mnmal encoder for C DEFINITION 3 ThedegreeofC s the degree of a mnmal encoder of C Queston: Gven an encoder, how can we dentfy f t s mnmal? If t s not, how can we fnd a mnmal encoder? Some answers: (many more detals n pp97-113 of Schlegel s book) A realzable encoder G(D) s mnmal ff G(D) has a polynomal rght nverse K 1 (D) and an antpolynomal rght nverse K 2 (D)

16 Chapter 1: Bascs of Convolutonal Codng COROLLARY 2 Any systematc encoder s mnmal PROOF 2 3 A systematc encoder has the form G(D) =[I k ; P (D)] ThenK(D) = 4 I 5 s a rght nverse 0 of G(D) and s both polynomal and antpolynomal 110 Input Output Weght enumeratng functon of a convolutonal code It s often of nterest to compute the dstrbuton of the Hammng weghts of all possble codewords of a convolutonal code What we actually have n mnd s a polynomal (wth eventually nfnte number of terms) of the form A() = d A d d (13) where d s the Hammng weght of a codeword and A d s the number of codewords of weght d For nstance snce the encoder G(D) = [1 + D 2 ; 1+D + D 2 ] has free dstance 5, t follows that the frst term of A() wll be 1 5 snce G(D) has only one codeword of weght 5 and no codewords of smaller weght (except the all zeros sequence) Equaton (13) s refered as the Weght Enumeratng Functon (WEF) of the convolutonal code Based on the state transton dagram, there s an algorthm from control system s theory, known as Mason s rule, that provdes a systematc way to compute the WEF We descrbe the steps and llustrate them wth an example 1 We splt the all zero state nto 2 states labeled S 0, one been consdered as the nput and the other as the output of the sgnal flow graph and we neglect the zero weght branch loopng around S 0 2 We label all branches of the state dagram wth the label w,wherew s the Hammng weght of that branch

110 Input Output Weght enumeratng functon of a convolutonal code 17 3 We consder the set of forward paths S 0 that ntate from state S 0 and termnate at S 0 wthout passng from any state more than one tme The gan of each forward path s denoted as F ; 2S 0 4 We consder the set of cycles (loops) A cycle s a path that starts from any state and termnates to that state, wthout passng through any other state more than one tme We denote S 1 the set of all cycles and C (1) the gan of the -th cycle 5 We consder the set of pars of non-touchng cycles Two cycles are non touchng f they don t have any states n common We denote as S 2 the set of all non touchng pars of cycles Assumng that the cycles and j are non touchng, the gan of the par (; j) 2S 2 s defned as C (2) ;j = C (1) C (1) j 6 Smlarly we consder the set of trplets of non-touchng cycles and defne the gan of the trplet (; j; m) as C (3) ;j;m = C (1) C (1) j C m (1), and so on for quadruplets etc 7 Then where =1 A() = C (1) + (;j) P F C (2) ;j (;j;m) C (3) ;j;m + (14) and s defned as but for the porton of the graph that remans after we erase the states assocated wth the -th forward path, and the branches orgnatng from or mergng to those states EAMPLE 3 Consder the encoder G(D) =[1+D 2 + D 3 ; 1+D + D 2 + D 3 ] The state transton dagram s shown n fgure 3 Splttng state S 0 and neglectng the zero weght branch loopng around t yelds the followng graph: Examnng the above state dagram we found that: ffl There are 7 forward paths: Path 1: S 0 S 1 S 3 S 7 S 6 S 5 S 2 S 4 S 0 wth gan F 1 = 12 Path 2: S 0 S 1 S 3 S 7 S 6 S 4 S 0 wth gan F 2 = 7 Path 3: S 0 S 1 S 3 S 6 S 5 S 2 S 4 S 0 wth gan F 3 = 11 Path 4: S 0 S 1 S 3 S 6 S 4 S 0 wth gan F 4 = 6 Path 5: S 0 S 1 S 2 S 5 S 3 S 7 S 6 S 4 S 0 wth gan F 5 = 8

18 Chapter 1: Bascs of Convolutonal Codng S 1 1/10 S 3 1/11 0/01 1/00 1/01 1/01 S 0 1/00 S 2 S 5 0/10 S 7 1/10 0/00 0/11 0/11 0/10 1/11 0/01 S 4 0/00 S 6 Fgure 19: State transton dagram for G(D) =[1+D 2 + D 3 ; 1+D + D 2 + D 3 ] 1/10 S 7 1/01 0/01 0/10 S 3 S 6 1/01 2 1/11 S 5 1/10 1/00 0/10 0/00 S 2 0/01 2 0/11 S 0 1/11 1/00 2 S 1 S 4 2 0/11 S 0 Fgure 110: Modfed state transton dagram for G(D) = [1 + D 2 + D 3 ; 1+D + D 2 + D 3 ]

110 Input Output Weght enumeratng functon of a convolutonal code 19 Path 6: S 0 S 1 S 2 S 5 S 3 S 6 S 4 S 0 wth gan F 6 = 7 Path 7: S 0 S 1 S 2 S 4 S 0 wth gan F 7 = 7 ffl There are 11 cycles: Cycle 1: S 1 S 3 S 7 S 6 S 5 S 2 S 4 S 1 wth gan C (1) 1 = 8 Cycle 2: S 1 S 3 S 7 S 6 S 4 S 1 wth gan C (1) 2 = 3 Cycle 3: S 1 S 3 S 6 S 5 S 2 S 4 S 1 wth gan C (1) 3 = 7 Cycle 4: S 1 S 3 S 6 S 4 S 1 wth gan C (1) 4 = 2 Cycle 5: S 1 S 2 S 5 S 3 S 7 S 6 S 4 S 1 wth gan C (1) 5 = 4 Cycle 6: S 1 S 2 S 5 S 3 S 6 S 4 S 1 wth gan C (1) 6 = 3 Cycle 7: S 1 S 2 S 4 S 1 wth gan C (1) 7 = 3 Cycle 8: S 2 S 5 S 2 wth gan C (1) 8 = Cycle 9: S 3 S 7 S 6 S 5 S 3 wth gan C (1) 9 = 5 Cycle 10: S 3 S 6 S 5 S 3 wth gan C (1) 10 = 4 Cycle 11: S 7 S 7 wth gan C (1) 11 = ffl There are 10 pars of nontouchng cycles: (2,8) wth gan C (2) 2;8 = 4 (3,11) wth gan C (2) 3;11 = 8 (4,8) wth gan C (2) 4;8 = 3 (4,11) wth gan C (2) 4;11 = 3 (6,11) wth gan C (2) 6;11 = 4 (7,9) wth gan C (2) 7;9 = 8 (7,10) wth gan C (2) 7;10 = 7 (7,11) wth gan C (2) 7;11 = 4 (8,11) wth gan C (2) 8;11 = 2 (10,11) wth gan C (2) 10;11 = 5 ffl Fnally there are 2 trplets of nontouchng cycles:

20 Chapter 1: Bascs of Convolutonal Codng (4,8,11) wth gan C (3) 4;8;11 = 4 (7,10,11) wth gan C (3) 7;10;11 = 8 Computaton of yelds: =1 2 3 1 = 5 =1 3 = 6 =1 2 =1 4 =1 2 + 2 7 =1 4 Applcaton to (14) yelds: A() = 6 + 7 8 1 2 3 = 6 +3 7 +5 8 +11 9 +25 10 + (15) Therefore the convolutonal code descrbed by G(D) has d free = 6 and there s only one path achevng t In addton there are 3 paths of weght 7, 5 paths of weght 8, 11 paths of wegth 9 etc } The above example focused on computng the WEF of a convolutonal code In several occasons, addtonal nformaton about the structure of the convolutonal code s requred For nstance we may be nterested on the weght of the nfo-bt stream that produces the codeword of weght 7 and of how many branches (successve jumps from a sequence to another) t conssts of Ths yelds to a generalzaton of the P prevously descrbed Mason rule as follows: We want to compute the functon A(W;;L) = A w;d;l w;d;lw w d L l called the Input Output Wegth Enumeratng Functon (IOWEF), where A w;d;l s the number of codewords wth nput weght w, output weght d and consst of l branches The only thng to change n the already descrbed Mason s rule s the labelng of the branches n the state transton dagram We now label each branch as W w d L l nstead of just d prevously Those beng the gans of each branch, we

111 Maxmum Lkelhood Decodng of Convolutonal Codes 21 apply the same technque to compute ; etc Applcaton to example 3 yelds: 6 W 2 L 5 + 7 WL 4 8 W 2 L 5 A(W;;L)= 1 W(L + L 2 ) 2 W 2 (L 4 L 3 ) 3 WL 3 4 W 2 (L 3 L 4 ) = 6 W 2 L 5 + 7 (WL 4 + W 3 L 6 + W 3 L 7 )+ (16) 8 (W 2 L 6 + W 4 L 7 + W 4 L 8 +2W 4 L 9 )+ Comparng (15) and (16) we see that the convolutonal code of example 3 has 5 codewords of weght 8 out of whch 1 has nput weght 2 and conssts of 6 branches, 1 has nput weght 4 and conssts of 7 branches, 1 has nput weght 4 and conssts of 8 branches and 2 have nput wegth 4 and consst of 9 branches Therefore we have a much more detalled nformaton about the structure of that code 111 Maxmum Lkelhood Decodng of Convolutonal Codes Ψ We assume that a stream of nfo bts u = Φ[u 0 ; u 1 ; ;u k 1 ] are encoded and produce the Ψ codeword c =Φ [c 0 ; c 1 ; ;c n 1 ] The codeword s transmtted through a Dscrete Memory- Ψ less Channel (DMC) and the sequence r =Φ [r 0 ; r 1 ; ;r n 1 ] s receved at the demodulator s output The Maxmum Aposteror Probablty (MAP) crteron for detecton (decodng) of convolutonal codes mples that the codeword ^c = Ψ Φ[^c 0 ; ^c 1 ; ; ^c n 1 ] s detected, ff: Pr(^cjr) Pr(~cjr) for all possble sequences ~c 6= ^c In other words, Pr(^cjr) s the maxmum among all other probabltes Pr(~cjr) Then usng Bayes rule t follows that: Pr(rj^c) Pr(^c) Pr(r) Pr(rj~c) Pr(~c) ) Pr(r) Pr(rj^c) Pr(^c) Pr(rj~c) Pr(~c) ) and assumng that all codewords are equally lkely, then Pr(rj^c) Pr(rj~c)

22 Chapter 1: Bascs of Convolutonal Codng