Information Theory, Shannon Limit and Error Correction Codes For Terrestrial DTV Broadcasting
Information Theory, Shannon Limit and Error Correction Codes For Terrestrial DTV Broadcasting
Bo Rong, Yiyan Wu, and Gilles Gagnon Communications Research Centre Canada ATSC BOOT CAMP Iowa Public Television-Johnston, IA Oct. 13, 2011
1
Presentation Outline
Information Theory and Shannon Limit History of Error Correction Codes (ECC) ECC Performance: BER, S/N & Eb/No Block Codes, Convolutional Codes, and Concatenated Codes Turbo Codes vs. LDPC Codes A Discussion: Data Rate vs. Robustness
Information Theory
History & Definition
History: The publication of Claude Shannons 1948 paper entitled A Mathematical Theory of Communication. Definition: Information theory is the science of compression, storage, and transmission of information. In other words, it was developed to find fundamental limits on above operations.
3
Shannon Limit
Who is Shannon
Claude Elwood Shannon (April 30, 1916 February 24, 2001) was an American mathematician, electronic engineer, and cryptographer known as "the father of information theory". He taught at MIT from 1956 until his retirement in 1978.
Shannon Limit
What is Shannon Limit
Shannon showed that any communications channel a telephone line, a radio band, a fiber-optic cable could be characterized by two factors: bandwidth and noise. Bandwidth is the range of electronic, optical or electromagnetic frequencies that can be used to transmit a signal; Noise is anything that can disturb that signal. Given a channel with particular bandwidth and noise characteristics, Shannon showed how to calculate the maximum rate at which data can be sent without error. He called that rate the channel capacity. But people always call it Shannon limit.
Shannon Limit
Channel Capacity: The maximum data rate at which the error-free communication over the channel is performed.
Channel capacity on AWGN channel (Shannon-Hartley capacity C/W [bits/s/Hz] theorem):
S C = W log 2 1 + N
W [Hz] : Bandwidth
[bits/s ]
Unattainable region
Practical region
Block Codes
A block code is any code defined with a finite codeword length:
The code rate R = k/n, where - k is the lengths of useful information bits - n is the total length codeword. If the codeword is constructed by appending parity symbols to the payload Data Field, it is called a systematic code.
Examples of block codes: BCH, Hamming, Reed-Solomon, Turbo, Turbo Product, LDPC. Essentially all iteratively-decoded codes are block codes.
11
Convolutional Codes
Convolutional codes are generated using a shift register to apply a polynomial to a stream of data:
The convolutional code can be systematic, if the data is transmitted in addition to the redundancy bits, but it often isnt.
The code above is naturally R = . By deleting selected output bits, or puncturing the code, the code rate can be increased to 2/3, 3/4, 7/8...
12
Convolutional Codes
Convolutional codes are typically decoded using Viterbi algorithm
The Viterbi decoder is a Maximum Likelihood Sequence Estimator, that estimates the encoder state using the sequence of transmitted codewords.
Concatenated Codes
Concatenation of an inner convolutional code with an outer block code
A very common and effective coding structure as shown below:
The convolutional code works better in low SNR range, but its BER curve roll-off slowly and can have irreducible error floor in fading channel. The Reed-Solomon code has fast BER roll-off and well suited to correct the bursty output errors common with a Viterbi decoder. An interleaver can be used to spread the Viterbi output error bursts across multiple R-S codewords for burst error correction.
14
What is an Interleaver
Interleaver and de-interleaver are a pair of devices that can break up (or de-correlate) the long burst of error symbols, occurred in transmission or generated by inner decoder, so that they can be easily corrected by error correction code; The simplest interleaver is an orthogonal memory, which read-in data symbol line-by-line and read-out column by column; There are different type of interleavers, such as, block interleaver, covolutional interleaver, random interleaver, etc.
Data read-out
To encoder or decoder
2M
51 (B=)52
(B-2)M (B-1)M
BER vs S/N or Eb/No curve is the most important performance measurement; Other measurements: complexity, delay, etc.
18
Turbo Codes
History
Introduced by Berrou, Glavieux, and Thitimajshima (from TelecomBretagne, former ENST Bretagne, France) in their paper: "Near Shannon Limit Error-correcting Coding and Decoding: Turbo-codes" published in the Proceedings of IEEE International Communications Conference (ICC1993). Turbo-codes are also called Parallel (or Serial) Concatenated Convolutional Code (PCCC or SCCC). Since the introduction of the original parallel turbo codes (PCCC) and iterative decoding algorithm in 1993, many other classes of turbo code have been discovered, including serial versions (SCCC) and repeataccumulate (RA) codes. Iterative Turbo decoding methods have also been applied to more conventional FEC systems, including Reed-Solomon/convolutional code structure.
21
Turbo Codes
Encoder-Decoder Structure
PCCC: Parallel Concatenated Convolutional Code.
Encoder Decoder
: is an interleaver
22
Turbo Codes
Performance (BER vs Eb/No, PCCC vs SCCC)
23
Turbo Codes
24
Turbo Codes
Turbo codes have good performance in low codes rate, such as R < 0.5. It is often used in mobile communication systems for low SNR fading channel (3GPP, LTE, etc.); The existence of error-floor requires an outer code (R-S or BCH code) to be used for error-free transmission.
25
LDPC Codes
Parity Check Matrix
H=
(dv=3,dc=4) An LDPC code is called regular code, if its column and row weights (dv,dc) are constant for each column and row. Otherwise, it is called irregular LDPC code. A special class of irregular LDPC codes, namely QC-LDPC, prevails in most standards.
27
LDPC Codes
Bipartite Graph (equivalent to H)
Check Nodes Edges Variable Nodes (Codeword bits) dc=4
dv=(2,3)
28
LDPC Codes
Iterative Decoding (Belief Propagation)
Edges Check Nodes dc=4 ri
LDPC Codes
Performance of DVB-S vs. DVB-S2
30
LDPC Codes
Performance of DVB-T2 vs. DVB-T
31
32
A Discussion:
33
35
Recommendation
Using advanced audio/video coding to achieve better spectrum efficiency, so that more services are available within 6 MHz channel; Using advanced error correction codes to achieve more robustness in reception; Additionally, using diversity technology and distributed transmission to reach a greener terrestrial broadcast DTV eco-system.
36
Thank You!
Bo Rong
Communications Research Centre Canada [email protected]
613-991-4438
37