Upload
mohamed-mahrous
View
226
Download
0
Embed Size (px)
Citation preview
8/6/2019 Channel Coding in Communication Networks
1/29
Convolutional Codes
Representation and Encoding Many known codes can be modified by an extra code symbol or by
deleting a symbol
* Can create codes of almost any desired rate
* Can create codes with slightly improved performance
The resulting code can usually be decoded with only a slight
modification to the decoder algorithm.
Sometimes modification process can be applied multiple times in
succession
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
8/6/2019 Channel Coding in Communication Networks
2/29
Modification to Known Codes
1. Puncturing: delete a parity symbol
(n,k) codep (n-1,k) code
2. Shortening: delete a message symbol
(n,k) codep (n-1,k-1) code
3. Expurgating: delete some subset of codewords
(n,k) codep (n,k-1) code
4. Extending: add an additional parity symbol
(n,k) codep (n+1,k) code
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
8/6/2019 Channel Coding in Communication Networks
3/29
Modification to Known Codes
5. Lengthening: add an additional message symbol
(n,k) codep (n+1,k+1) code
6. Augmenting: add a subset of additional code words
(n,k) codep (n,k+1) code
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
8/6/2019 Channel Coding in Communication Networks
4/29
Interleaving We have assumedso far that bit errors are independent from one
bit to the next
In mobile radio,fadingmakes bursts of errorlikely.
Interleaving is used to try to make these errors independent again
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Depth
Of
Interleaving
1
16
2
11
3
16
4
21
5
~
31
7
~
26
6
5
2910
30
30
34
35
35
Length
Order
Bits
Transmitted
Order
Bits
Received
8/6/2019 Channel Coding in Communication Networks
5/29
8/6/2019 Channel Coding in Communication Networks
6/29
Block Diagram of Concatenated Coding Systems
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Data
Bits
Outer
EncoderInterleave
Inner
Encoder
Modulator
Channel
De-ModulatorInner
Decoder
De-
Interleave
Outer
Decoder
Data
Out
8/6/2019 Channel Coding in Communication Networks
7/29
Practical Application : Coding for CD
Each channel is sampled at 44000 samples/second
Each sample is quantized with 16 bits
Uses a concatenated RS code Both codes constructed over GF(256) (8-bits/symbol)
Outer code is a (28,24) shortened RS code
Inner code is a (32,28) extended RS code
In between coders is a (28,4) cross-interleaver
Overall code rate is r = 0.75
Most commercial CD players dont exploit full power of the error
correction coder
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
8/6/2019 Channel Coding in Communication Networks
8/29
Practical Application: Galileo Deep Space Probe
Uses concatenated coding
Inner code rate is , constraint length 7 convolutinal encoder
Outer Code (255,223) RS code over GF(256) corrects any burst errors
from convolutional codes
Overall Code Rate is r= 0.437
A block interleaver held 2RS Code words
Deep space channel is severely energy limited but not bandwidth limited
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
8/6/2019 Channel Coding in Communication Networks
9/29
IS-95 CDMA
The IS-95 standard employs the rate (64,6) orthogonal (Walsh)code on the reverse link
The inner Walsh Code is concatenated with a rate 1/3, constraint
length 9 convolutional code
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Data Transmission in a 3rd
Generation PCSProposed ETSI standard employs RS Codes concatenated with
convolutional codes for data communication
Requirements;
Ber of the order of 10-6
Moderate Latency is acceptable
CDMA2000 uses turbo codes for data transmission
ETSI has optional provisions for Turbo Coding
8/6/2019 Channel Coding in Communication Networks
10/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
A Common Theme from Coding Theory
The real issue is the complexity of the decoder.
For a binary code, we must match 2n possible received
sequences with code words
Only a few practical decoding algorithms have beenfound:
Berlekamp-Massey algorithm for clock codes
Viterbi algorithm (and similar technique) for
convolutional codes
Code designers have focused on finding new codes that
work with known algorithms
8/6/2019 Channel Coding in Communication Networks
11/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Block Versus Convolutional
Codes
Block codes take k input bits and produce n output bits, where k
and n are large
there is no data dependency between blocks
useful for data communcations
Convolutional codes take a small number of input bits and
produce a
small number of output bits each time period
data passes through convolutional codes in a continuous
stream
useful for low- latency communications
8/6/2019 Channel Coding in Communication Networks
12/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Convolutional Codes
k bits are input, n bits are output
Now k & n are very small (usually k=1-3, n=2-6)
Input depends not only on current set of k input bits, but also on
past
input.
The number of bits which input depends on is called the
"constraint
length" K.
Frequently, we will see that k=1
8/6/2019 Channel Coding in Communication Networks
13/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of Convolutional
Code
k=1, n=2, K=3 convolutionalcode
8/6/2019 Channel Coding in Communication Networks
14/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of Convolutional
Code
k=2, n=3, K=2convolutionalcode
8/6/2019 Channel Coding in Communication Networks
15/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Representations of Convolutional
Codes
Encoder Block Diagram (shown above)
GeneratorRepresentation
Trellis Representation
State Diagram Representation
8/6/2019 Channel Coding in Communication Networks
16/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Convolutional Code Generators
One generator vector for each of the n output bits:
The length of the generator vector for a rate r=k/n
code with constraint length Kis K
The bits in the generator from left to right represent the
connections in the encoder circuit. A 1 represents a link
from
the shift register. A 0 represents no link.
Encoder vectors are often given in octal representation
8/6/2019 Channel Coding in Communication Networks
17/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of Convolutional
Code
k=1, n=2, K=3 convolutional
code
8/6/2019 Channel Coding in Communication Networks
18/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of Convolutional
Code
k=2, n=3, K=2convolutionalcode
8/6/2019 Channel Coding in Communication Networks
19/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
State Diagram Representation
Contents of shift registers make up "state" of code:
Most recent input is most significant bit of state.
Oldest input is least significant bit of state.
(this convention is sometimes reverse)
Arcs connecting states represent allowable transitions
Arcs are labeled with output bits transmitted during transition
8/6/2019 Channel Coding in Communication Networks
20/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of State Diagram Representation
Of Convolutional Codesk=1, n=2, K=3 convolutional code
8/6/2019 Channel Coding in Communication Networks
21/29
8/6/2019 Channel Coding in Communication Networks
22/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Example of Trellis Diagram
k=1, n=2, K=3 convolutional
code
8/6/2019 Channel Coding in Communication Networks
23/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Encoding Example Using Trellis
Representation
k=1, n=2, K=3 convolutional code
We begin in state 00:
Input Data: 0 1 0 1 1 0 0
Output: 0 0 1 1 0 1 0 0 10 10 1 1
8/6/2019 Channel Coding in Communication Networks
24/29
8/6/2019 Channel Coding in Communication Networks
25/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Search for good codes
We would like convolutional codes with large free distance
must avoid catastrophic codes
Generators for best convolutional codes are generally found via
computer search
search is constrained to codes with regular structure
search is simplified because any permutation of identical
generators is equivalent
search is simplified because of linearity.
8/6/2019 Channel Coding in Communication Networks
26/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Best Rate 1/2 Codes
8/6/2019 Channel Coding in Communication Networks
27/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Best Rate 1/3
Codes
8/6/2019 Channel Coding in Communication Networks
28/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Best Rate 2/3 Codes
8/6/2019 Channel Coding in Communication Networks
29/29
Error Control Coding , Brian D. Woerner , reproduced by: Erhan A. INCE
Summary of Convolutional Codes
Convolutional Codes are useful for real-time applications
because
they can be continously encoded and decoded
We can represent convolutional codes as generators, block
diagrams, state diagrams, and trellis diagrams
We want to design convolutional codes to maximize free
distance
while maintaining non-catastrophic performance