Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
0,99 MB
Nội dung
1 Principles of Communications By: Dang Quang Vinh Faculty of Electronics and Telecommunications Ho Chi Minh University of Natural Sciences Convolutional codes 09/2008 2 Introduction In block coding, the encoder accepts k-bit message block and generates n-bit codeword⇒Block-by-block basis Encoder must buffer an entire message block before generating the codeword When the message bits come in serially rather than in large blocks, using buffer is undesirable Convolutional coding 3 Definitions An convolutional encoder: a finite-state machine that consists of an M-stage shift register, n modulo-2 adders L-bit message sequence produces an output sequence with n(L+M) bits Code rate: L>>M, so ol)(bits/symb )( MLn L r + = ol)(bits/symb 1 n r = 4 Definitions Constraint length (K): the number of shifts over which a single message bit influence the output M-stage shift register: needs M+1 shifts for a message to enter the shift register and come out K=M+1 5 Example Convolutional code (2,1,2) n=2: 2 modulo-2 adders or 2 outputs k=1: 1 input M=2: 2 stages of shift register (K=M+1=2+1=3) Path 1 Path 2 Output Input 6 Example Output Input Convolutional code (3,2,1) n=3: 3 modulo-2 adders or 3 outputs k=2: 2 input M=1: 1 stages of each shift register (K=2 each) 7 Generations Convolutional code is nonsystematic code Each path connecting the output to the input can be characterized by impulse response or generator polynomial denoting the impulse response of the i th path Generator polynomial of the i th path: D denotes the unit-delay variable⇒different from X of cyclic codes A complete convilutional code described by a set of polynomials { } ),,, ,( )( 0 )( 1 )( 2 )( iiii M gggg )( 0 )( 1 2)( 2 )()( )( iiiMi M i gDgDgDgDg ++++= )(), ,(),( )()2()1( DgDgDg n 8 Example(1/8) Consider the case of (2,1,2) Impulse response of path 1 is (1,1,1) The corresponding generator polynomial is Impulse response of path 2 is (1,0,1) The corresponding generator polynomial is Message sequence (11001) Polynomial representation: 1)( 2)1( ++= DDDg 1)( 2)2( += DDg 1)( 34 ++= DDDm 9 Example(2/8) Output polynomial of path 1: Output sequence of path 1 (1001111) Output polynomial of path 2: Output sequence of path 2 (1111101) 1 1 )1)(1( )()()( 236 2345456 234 )1()1( ++++= ++++++++= ++++= = DDDD DDDDDDDD DDDD DgDmDc 1 )1)(1( )()()( 23546 234 )2()2( +++++= +++= = DDDDD DDD DgDmDc 10 Example(3/8) m= (11001) c (1) =(1001111) c (2) =(1111101) Encoded sequence c=(11,01,01,11,11,10,11) Message length L=5bits Output length n(L+K-1)=14bits A terminating sequence of K-1=2 zeros is appended to the last input bit for the shift register to be restored to its zero initial state [...]... distance of a conv code Modify state diagram 1/10 d 11 DL d 1/01 0/01 DL 0/10 D 01 c b 10 1/00 0/11 1/11 00 a 0/00 D DL D2 2 a0 b L c a1 Signal-flow graph Exponent of D: Hamming weight of encoder output on that branch Exponent of L: number of nonzero message bits 29 Free distance of a conv code State equations: b = D 2 La0 + Lc c = Db + Dd d = DLb + DLd DL a1 = D 2 c d DL a0,b,c,d,a1: node signals of. .. distance of a conv code Performance of a conv code depends on decoding algorithm and distance properties of the code Free distance, denoted by dfree, is a measure of code’ s ability to combat channel noise Free distance: minimum Hamming distance between any two codewords in the code dfree>2t Since a convolutional code doesn't use blocks, processing instead a continuous bitstream, the value of t... Decoding of Convolutional codes m denotes a message vector c denotes the corresponding code vector r denotes the received vector ˆ With a given r , decoder is required to make estimate m ˆ of message vector, equivalently produce an estimate c of the code vector ˆ ˆ m = m only if c = c otherwise, a decoding error happens Decoding rule is said to be optimum when the propability of decoding... Path 2 32 Systematic conv code Impulse response of path 1 is (1,0,0) The corresponding generator polynomial is g (1) ( D) = D 2 Impulse response of path 2 is (1,0,1) The corresponding generator polynomial is g ( 2) ( D) = D 2 + 1 Message sequence (11001) 33 Systematic conv code Output sequence of path 1 (1100100) Output sequence of path 2 (1111101) m= (11001) c(1)=(1100100) c(2)=(1111101)... instead a continuous bitstream, the value of t applies to a quantity of errors located 27 relatively near to each other Free distance of a conv code Conv code has linear property So, free distance also defined: ∆ d free =[ w( X )]min X ≠ 000 Calculate dfree by a generating function Generating function viewed the transfer function of encoder Relating input and output by convolution Generation... c=(11,11,01,01,11,00,01) 34 Systematic conv code Another example of systemmatic conv code Path 1 Input Output Path 2 35 Systematic vs nonsystematic ∞ T ( D, L) = D L + 2 D L + 4 D L + = ∑ 2 d −5 D d Ld − 4 5 6 2 7 3 d =5 Assumption: T(D,L) is convergent When T(D,L) is nonconvergent, an finite number of transmission errors can cause an infinite number of decoding errors The code is called catastrophic... output 001001 1 1 00100 11 1 0010 011 1 001 001 1 1 00 100 11 1 0 010 011 0 001 0011 1 c(2)=(1111101) 12 Example(6/8) Consider the case of (3,2,1) Output Input j) j) j j g i( j ) = ( g i(, M , g i(, M −1 , , g i(,1) , g i(, 0) ) denoting the impulse response of the jth path corresponding to ith input 13 Example(7/8) Input Output g1(1) = (11) ⇒ g1(1) ( D) = D + 1 ( g 21) = (01) ⇒ g1(1) ( D) = 1... or decision rule is described as follows: ˆ Choose the estimate c for which the log-likelihood 21 function logp(r/c) is maximum Maximum Likelihood Decoding of Convolutional codes Binary symmetric channel: both c and r are binary sequences of length N N p(r | c) = ∏ p (ri | ci ) i =1 N ⇒ log p (r | c) = ∑ log p (ri | ci ) i =1 with p p (ri | ci ) = 1 − p if ri ≠ ci if ri = ci r differs from... Free distance of a conv code ∞ T ( D, L) = D L + 2 D L + 4 D L + = ∑ 2 d −5 D d Ld − 4 5 6 2 7 3 d =5 T (D,L) represents all possible transmitted sequences that terminate with c-e transition For any d ≥5, there are 2d -5 paths with weight w(X)=d that terminate with c-e transition, those paths are generated by messages containing d -4 nonzero bits The free distance is the smallest of w(X), so dfree=5... number of positions 24 The Viterbi algorithm The algorithm operates by computing a metric for every possible path in the trellis Metric is Hamming distance between coded sequence represented by that path and received sequence For each node, two paths enter the node, the lower metric is survived The other is discarded Computation is repeated every level j in the range K-1≤ j≤L Number of survivors . 1 Principles of Communications By: Dang Quang Vinh Faculty of Electronics and Telecommunications Ho Chi Minh University of Natural Sciences Convolutional codes 09/2008 2 Introduction In. response of the i th path Generator polynomial of the i th path: D denotes the unit-delay variable⇒different from X of cyclic codes A complete convilutional code described by a set of polynomials. DDg 1)( 34 ++= DDDm 9 Example(2/8) Output polynomial of path 1: Output sequence of path 1 (1001111) Output polynomial of path 2: Output sequence of path 2 (1111101) 1 1 )1)(1( )()()( 236 2345456 234 )1()1( ++++= ++++++++= ++++= = DDDD DDDDDDDD DDDD DgDmDc 1