convolutional codes
play

Convolutional Codes Saravanan Vijayakumaran sarva@ee.iitb.ac.in - PowerPoint PPT Presentation

Convolutional Codes Saravanan Vijayakumaran sarva@ee.iitb.ac.in Department of Electrical Engineering Indian Institute of Technology Bombay October 23, 2015 1 / 23 Example 1 v ( 0 ) + u v ( 1 ) + Message bits u = ( u 0 , u 1 , u 2 , . .


  1. Convolutional Codes Saravanan Vijayakumaran sarva@ee.iitb.ac.in Department of Electrical Engineering Indian Institute of Technology Bombay October 23, 2015 1 / 23

  2. Example 1 v ( 0 ) + u v ( 1 ) + • Message bits u = ( u 0 , u 1 , u 2 , . . . ) • Outputs v ( 0 ) = ( v ( 0 ) 0 , v ( 0 ) 1 , v ( 0 ) 2 , . . . ) , v ( 1 ) = ( v ( 1 ) 0 , v ( 1 ) 1 , . . . ) v ( 0 ) = u i + u i − 2 + u i − 3 i v ( 1 ) = u i + u i − 1 + u i − 2 + u i − 3 i 2 / 23

  3. Example 1 v ( 0 ) + u v ( 1 ) + • Outputs are multiplexed into a single sequence � � v ( 0 ) v ( 1 ) v ( 0 ) v ( 1 ) v ( 0 ) v ( 1 ) v = · · · 0 0 1 1 2 2 • Rate of the code is 1 2 • Encoder has memory order 3 3 / 23

  4. Example 1 v ( 0 ) + u v ( 1 ) + • Impulse responses of the encoder � � g ( 0 ) = 1 0 1 1 � � g ( 1 ) = 1 1 1 1 4 / 23

  5. Example 1 • Impulse responses of the encoder � � g ( 0 ) = 1 0 1 1 � � g ( 1 ) = 1 1 1 1 • Outputs in terms of impulse responses 3 � v ( 0 ) u i − j g ( 0 ) = u i + u i − 2 + u i − 3 = i j j = 0 3 � v ( 1 ) u i − j g ( 1 ) = u i + u i − 1 + u i − 2 + u i − 3 = i j j = 0 v ( 0 ) u ⊙ g ( 0 ) = v ( 1 ) u ⊙ g ( 1 ) = 5 / 23

  6. Example 1 v ( 0 ) = u i + u i − 2 + u i − 3 i v ( 1 ) = u i + u i − 1 + u i − 2 + u i − 3 i • If u has length 5, then the output v has length 16 • If v = uG where G is a 5 × 16 matrix, then   1 1 0 1 1 1 1 1   1 1 0 1 1 1 1 1     G = 1 1 0 1 1 1 1 1     1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 6 / 23

  7. Example 1 • Transform domain representation of the generator matrix is � � � 1 + D + D 2 + D 3 � 1 + D 2 + D 3 g ( 0 ) ( D ) g ( 1 ) ( D ) G ( D ) = = • For input polynomial u ( D ) given by u ( D ) = u 0 + u 1 D + u 2 D 2 + · · · the output polynomials are given by 2 D 2 + · · · v ( 0 ) ( D ) = v ( 0 ) + v ( 0 ) 1 D + v ( 0 ) u ( D ) g ( 0 ) ( D ) = 0 2 D 2 + · · · v ( 1 ) ( D ) = v ( 1 ) + v ( 1 ) 1 D + v ( 1 ) u ( D ) g ( 1 ) ( D ) = 0 • After multiplexing the output polynomial is v ( D ) = v ( 0 ) ( D 2 ) + D v ( 1 ) ( D 2 ) 7 / 23

  8. Example 1 v ( 0 ) + u v ( 1 ) + Encoder state diagram 1/10 S 1 S 3 1/11 0/01 1/01 1/01 1/00 S 0 S 2 S 5 S 7 0/00 1/00 0/10 1/10 0/10 0/11 0/11 1/11 0/01 S 4 S 6 0/00 8 / 23

  9. Example 1 • The set of outputs v ( D ) = u ( D ) G ( D ) are the codewords corresponding to � 1 + D + D 2 + D 3 � 1 + D 2 + D 3 G ( D ) = • The following systematic generator matrix also generates the same codewords � � 1 + D + D 2 + D 3 G ′ ( D ) = 1 1 + D 2 + D 3 • If v ( D ) = u ( D ) G ( D ) then v ( D ) = u ( D )( 1 + D 2 + D 3 ) G ′ ( D ) • If v ( D ) = u ( D ) G ′ ( D ) then u ( D ) v ( D ) = ( 1 + D 2 + D 3 ) G ( D ) 9 / 23

  10. Example 1 � � 1 + D + D 2 + D 3 Encoder circuit corresponding to G ′ ( D ) = 1 1 + D 2 + D 3 v ( 0 ) u v ( 1 ) + + + w i w i − 1 w i − 2 w i − 3 + + This is a systematic feedback encoder 10 / 23

  11. Example 2 v ( 0 ) + u ( 0 ) v ( 1 ) + u ( 1 ) v ( 2 ) + v ( 0 ) u ( 0 ) + u ( 0 ) i − 1 + u ( 1 ) = i i i − 1 v ( 1 ) u ( 0 ) i − 1 + u ( 1 ) = i i v ( 2 ) u ( 0 ) + u ( 0 ) i − 1 + u ( 1 ) = i i i 11 / 23

  12. Example 2 • Impulse responses of the encoder � � � � � � g ( 0 ) g ( 1 ) g ( 2 ) = 1 1 , = 0 1 , = 1 1 0 0 0 � � � � � � g ( 0 ) g ( 1 ) g ( 2 ) = 0 1 , = 1 0 , = 1 0 1 1 1 • Outputs in terms of impulse responses u ( 0 ) ⊙ g ( 0 ) + u ( 1 ) ⊙ g ( 0 ) v ( 0 ) = 0 1 u ( 0 ) ⊙ g ( 1 ) + u ( 1 ) ⊙ g ( 1 ) v ( 1 ) = 0 1 u ( 0 ) ⊙ g ( 2 ) + u ( 1 ) ⊙ g ( 2 ) v ( 2 ) = 0 1 • Transform domain representation of the generator matrix is � � � 1 + D � g ( 0 ) g ( 1 ) g ( 2 ) 0 ( D ) 0 ( D ) 0 ( D ) D 1 + D G ( D ) = = g ( 0 ) g ( 1 ) g ( 2 ) D 1 1 1 ( D ) 1 ( D ) 1 ( D ) 12 / 23

  13. Example 2 v ( 0 ) + u ( 0 ) v ( 1 ) + u ( 1 ) v ( 2 ) + • Rate of the code is 2 3 • Encoder has memory order 1 • Overall constraint length is 2 13 / 23

  14. Defining a Convolutional Encoder • Maps k inputs to n outputs • Linearly maps input sequences of arbitrary length to output sequences • What are the domain and range of the encoder? • Has a transform domain generator matrix with rational function entries • Can any arbitrary rational function appear in the generator matrix? 14 / 23

  15. Binary Laurent Series • Let F 2 (( D )) be the set of expressions x ( D ) = � ∞ i = m x i D i where m ∈ Z and x i ∈ F 2 • x ( D ) ∈ F 2 (( D )) has finitely many negative powers of D • For y ( D ) = � ∞ i = n y i D i , define the operations of addition and multiplication on F 2 (( D )) as ∞ � ( x i + y i ) D i x ( D ) + y ( D ) = min ( m , n )   ∞ �  �  D k x ( D ) ∗ y ( D ) = x i y j k = m + n i + j = k • F 2 (( D )) is a field • A convolutional encoder is a linear map from F k 2 (( D )) to F n 2 (( D )) 15 / 23

  16. Realizable Rational Functions • A rational transfer function g ( D ) = f ( D ) / q ( D ) is said to be realizable if q ( 0 ) = 1 • Let v ( D ) = u ( D ) g ( D ) where g ( D ) = f 0 + f 1 D + · · · + f m D m 1 + q 1 D + · · · + q m D m v i + + · · · + + f m − 1 f 0 f 1 f 2 f m u i w i w i − 1 w i − 2 w i − m + · · · q 1 q 2 q m − 1 q m + + · · · + 16 / 23

  17. Convolutional Codes • Let F 2 ( D ) be the set of rational functions with coefficients in F 2 • A convolutional encoder is a linear mapping from F k 2 (( D )) to F n 2 (( D )) which can be represented as v ( D ) = u ( D ) G ( D ) where u ( D ) ∈ F k 2 (( D )) , v ( D ) ∈ F n 2 (( D )) and G ( D ) is k × n transfer function matrix having rank k with entries in F 2 ( D ) each of which is realizable • A rate k n convolutional code is the image set of a convolutional encoder with a k × n transfer function matrix • G ( D ) is called a generator matrix of the code 17 / 23

  18. Equivalent Generator Matrices • Two convolutional generator matrices G ( D ) and G ′ ( D ) are equivalent if they generate the same code • G ( D ) and G ′ ( D ) are equivalent ⇐ ⇒ there is a nonsingular matrix T ( D ) over F 2 ( D ) such that G ( D ) = T ( D ) G ′ ( D ) • Example 1 � 1 + D + D 2 + D 3 � 1 + D 2 + D 3 G ( D ) = � � 1 + D + D 2 + D 3 G ′ ( D ) = 1 1 + D 2 + D 3 • Example 2 � 1 + D � D 1 + D G ( D ) = D 1 1 � 1 � 1 / ( 1 + D + D 2 ) 0 G ′ ( D ) = ( 1 + D 2 ) / ( 1 + D + D 2 ) 0 1 18 / 23

  19. Catastrophic Generator Matrices • Example � 1 + D 2 � G ( D ) = 1 + D 1 1 + D = 1 + D + D 2 + D 3 + D 4 + · · · u ( D ) = � � v ( D ) = u ( D ) G ( D ) = 1 1 + D • v ( D ) has weight 3 while u ( D ) has infinite weight • If the channel flips the 1s in v ( D ) , the decoder will output ˆ u ( D ) = 0 causing an infinite number of decoding errors • A generator matrix for a convolutional code is catastrophic if there exists an infinite weight input u ( D ) which results in a finite weight output v ( D ) • A convolutional encoder is catastrophic ⇐ ⇒ its state diagram has a zero-weight cycle other than the self-loop around the all-zeros state 19 / 23

  20. Non-catastrophic Generator Matrices • A systematic generator matrix is not catastrophic • An n × k matrix � G − 1 ( D ) over F 2 ( D ) is called a right pseudo inverse of the k × n matrix G ( D ) if G ( D ) � G − 1 ( D ) = D s I k for some s ≥ 0 • A generator matrix G ( D ) is non-catastrophic ⇐ ⇒ it has a polynomial right pseudo inverse � G − 1 ( D ) • A polynomial generator matrix G ( D ) has a polynomial right pseudo inverse ⇐ ⇒ � � n �� = D s gcd ∆ i ( D ) , i = 1 , 2 , . . . , k � n � for some s ≥ 0 where ∆ i ( D ) , 1 ≤ i ≤ , are the � n � k determinants of the distinct k × k submatrices of G ( D ) k 20 / 23

  21. Free Distance • The free distance of a convolutional code is the minimum Hamming distance between any two distinct codewords v � = v ′ d H ( v , v ′ ) = min d free = min v � = 0 w H ( v ) • It is assumed that v and v ′ start and end in the all-zeros state • If d free ≥ 2 t + 1, the convolutional code can correct all weight t error patterns 21 / 23

  22. Calculating Free Distance 1/10 S 1 S 3 1/11 0/01 1/01 1/01 1/00 0/00 S 0 1/00 S 2 S 5 0/10 S 7 1/10 0/10 0/11 0/11 1/11 0/01 S 4 S 6 0/00 X S 7 X X X S 3 S 6 X X 2 S 5 X 1 1 X X 2 X 2 X 2 X S 0 S 1 S 2 S 4 S 0 1 22 / 23

  23. Questions? Takeaways? 23 / 23

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend