Cellular Communications

advertisement
CELLULAR
COMMUNICATIONS
6. Channel Coding
Motivation

Wireless channel introduces errors due to



Option A



Noise and Interference
Multipath Effect resulting in fast fading
Increase power of transmission
Waste of energy and interference
Option B




Send redundant information
Errors can be detected and re-transmission requested
Errors can be corrected
Forward Error Correction(FEC) or Channel Coding
Coded Communication System
Coding advantages
Pn
10-3
Coding gain
10-8
8
19
Eb/N0 dB
Binary Symmetric Channel



Transmission medium introduce errors
Demodulator produces errors
Model as a channel
 Memoryless:
probability of error is independent from
one symbol to the next
 Symmetric: any error is equally probable

Binary Symmetric Channel (BSC)
Error Correcting Codes (ECC)

Redundancy added to information
 Encode

message of k bits with n (n>k) bits
Example: Systematic Encoding
Redundant symbols are appending to information
symbols to obtain a coded sequence
 Codeword

Error correction vs. Error Detection

Error-detection




Error-correction




Detect that received sequence contains an error
Request retransmission
ARQ: Automatic Repeat Request/Query (HSDPA)
Detect that received sequence contains an error
Correct the error
Forward Error Correction
“A Code allows correction of up to p errors and detection
up to q (q>p) errors”
Block Codes vs. Convolution Codes

Block Codes




Encode information block by block
Each block encoded independently
Encoding/Decoding is a memoryless operation
Convolutional Codes
 Next
symbol depend on a history of inputs/outputs
Example


Single-bit message 0 or 1
Extend to 3 bit messages (codewords)
 010
 101




Only 2 valid codeword out of 8
Due to the error can receive any sequence
Can associate invalid code with valid
Invalid codes differs from valid only by 1 bit
Hamming distance and Block Code






Two vectors of size n have a Hamming Distance of
d if they differ in d bits
Block code is a subset of 2^n bit sequences
Code distance is minimum hamming distance
between any two members of the code
Assume code distance d=2t+1
Can detect up to 2t errors
Can correct up to t-1 errors
Good Code Design



Select a subset of 2^n (e.g. n=1024) vectors such
that
Distance between codewords is large as possible
Can find correct message without comparing with
all possible codewords
Sphere Packing Bound




Assume have to encode M messages
Want being able to correct up to t errors
Each codeword have a ‘sphere” around it with
codes of distance up to t
Spheres around different codewords are not
overlapping
Sphere Packing Bound

Assume

Example


n=8, t=2=>M<6.9

Found only code of size 4
Code rate
Example (8,2) systematic code, 4 message, 2 information
bits
 Code rate 2/8=1/4

Shannon Theorem


p is probability bit error
Probability of an error (incorrect decoding) can be
made arbitrary small if
Linear Codes



Linear combination of valid codewords is also a
codeword
Code distance is a minimum among all nonzero
codeword weights (number of 1s)
Linear space spanned by basis:
Linear Codes: Decoding

Parity check matrix

Gives zero when multiplied by valid codeword

When error is present, produce “syndrome”
Syndrome




Syndrome depends only on error pattern
Different errors=>different syndromes except for
the addition of codeword
Can identify error patterns of weight w<=t by
looking at the syndrome
One-to-one between syndromes and errors w<=t
Decoding using Syndrome



Evaluate the syndrome s from r
Lookup corresponding e in a pre-computed table
Correct codeword c=r+e
Non-binary Codes





Alphabet of more then two symbols
q=p^n where p is prime, GF(p^n)
Each element of the alphabet is a vector
Element-wise: operation modulo p
Vector-wise: view as a polynomial
Reed-Solomon Code



a block code
a cyclic code (some additional constrains)
Used in
 CD/DVD
 Bar
Codes
 Deep Space Communications
 Cellular Digit Packet Data CPDP RS(63,47)
Convolution Codes
Trellis Diagram
States During the Encoding
Decoding: Viterbi Algorithm


Errors on the channel
Find path with minimal total errors
Trellis Coded Modulation (TCM)


Combined coding and modulation scheme
Make most similar signals (phases) represent most different/distance codewords
Turbo Codes


Use 2 convolutional codes on the same data
Feed data in different order to the encoders
Turbo Codes

Iterative Decoding
 Each
decoder takes into account “guess” from other
 Continue till produce same “guesses”

Used in
 3G/4G
 WiMAX
How Do they Work (© IEEE spectrum)
How Do they Work (© IEEE spectrum)
Download