modern satcom forward error correction
TRANSCRIPT
1
An Overview of Modern SATCOM FEC Techniques
Dr. Gregory Schoenig Adjunct Professor
Virginia Tech
2
Agenda
1. Motivation 2. Overview of FEC 3. Practical Performance of Various FEC
Schemes 4. Summary
3
Motivation Objective: Get as low of a Bit Error Ratio (BER) as possible Impedances to this goal in SATCOM links:
– Rain fade – Ionospheric effects (e.g. TEC, scintillation) – Multipath effects – Sunspots – Operator Error (e.g. putting HPA above saturation)
These effects compromise link quality, lower the received Eb/No and thus increase BER!
4
Overview of FEC FEC = Forward Error Correction
– Why Forward? It is subjective…
Code bits are added (directly or indirectly) to the information bits, creating redundancy in the transmitted symbols
i1 i2 i3 i4 i5 i6 i7 c1 c2 c3 c4 c5 c6 c7
ix= information bits
cx= code bits
*Example of rate ½ block code
5
Overview of FEC (cont’d)
Coded Output Rate:
RRR sc /=
RatenInformatioRs =
RateCodeR =
where:
i1 i2 i3 i4 i5 i6 i7 c1 c2 c3 c4 c5 c6 c7
7 info. bits 7 code bits
cR = 7 bps / 0.5
Assume 1 sec of data:
= 14 bps
6
Overview of FEC (cont’d) Fundamental flavors of FEC: • Old-school
– Block Codes (BCH, Reed-Solomon) – Convolutional Codes (Viterbi decoding)
• New-school – Turbo Codes (1993)
• BER performance of 10-5 at an Eb/No of 0.7dB using only a 1/2 rate code5
• Much excitement over this development • Most modern FEC work is in this field
[5] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting coding and decoding: turbo codes,” Proceedings of ICC ’93, (Geneva, Switzerland), pp. 1064-1070, May 1993.
7
Overview of FEC Block Codes
• Operate on blocks of incoming data
• Matrix transformation of information bits; Similar to block cipher
• Examples: – Hamming – BCH – Golay – Reed-Solomon
xGy =
yGHS =
Generator Matrix
Syndrome (Tells which bits are wrong)
Coded sequence
Information sequence
Parity-check matrix
Hamming Code Encoder and Decoder
8
Overview of FEC Convolutional Codes
• Operates bit-by-bit on incoming data; similar to a stream cipher
+
+
Data Sequence
Code Sequence
Shift Register
Mod-2 addition
Mod-2 addition
R=1/2 K=3 Convolutional Encoder
9
Overview of FEC Convolutional Codes
• Viterbi decoder – Maximum-likelihood
decoding procedure for convolutional codes
– A trellis is used to determine information code by monitoring distance between received sequence and a traversed path
00
01
10
11
State Time à
R=1/2 Viterbi Decoding Trellis
10
Overview of FEC Turbo Codes
• Some block, some convolutional • Better performance for a given BER than
conventional Viterbi, Reed Solomon • Two main types of Turbo Codes
– Turbo Product Coding (TPC) • Concatenation of two block codes
– Recursive Systematic Convolutional (RSC) Turbo coding
(also known as Turbo Convolutional Coding, or TCC) • Two RSC encoders, separated by an interleaver, for
encoding and multiple iterations of algorithm for decoding.
11
Overview of FEC Turbo Product Codes
Code 1 used for row encoding
Code 2 used for column encoding
Turbo Product encoder and decoder [9]
Rows and Columns Iteratively Decoded Using knowledge of Code 1 and Code 2
12
Overview of FEC Turbo Convolutional Codes (RSC)
Input u is sent as x (the systematic portion)
Two RSC-encoded streams y1 & y2 also sent (the convolutional portion)
Rate 1/3 Turbo Convolutional encoder and decoder [8]
x, y1, and y2 used to regenerate original
data
13
Practical Performance of Various
FEC Schemes
14
Performance of FEC Schemes What are we looking for?
Typical figure of merit is the Coding Gain over uncoded BPSK/
QPSK Coding gain is the difference in
Eb/No between two FEC schemes [4]
Baseline curve is given by:
0
2/
NEQpBER b
eQPSKBPSK == Example: Rate 12/23 Golay Code Performance [8]
15
Performance of FEC Schemes The Q-function
The Q function is defined as the area under the tail of the Gaussian probability density function (PDF):
∫∞
−=
x
dtt
exQ 2
2
21)(π
16
Link Budget • Coding gain allows for room in the link budget • Typical Satellite Link Budget is as follows
– EIRP in dBw, d in km, f in MHz, B in Hz
• Coding gain from FEC allows for reduction in – EIRP, which can save money (smaller PA, lower
power consumption) and reduce interference – B, which can allow same link quality and data rate into
a smaller spectrum than without coding
)log(10)log(20)log(202.1960
BfdTGEIRP
NEb −−−++=
17
Performance of FEC Schemes
Differential encoding (no FEC) Notice the curve is that of
theoretical uncoded BPSK/QPSK times about a factor of two
(1 bit error corrupts two
received bits) Differential Encoding Only [3]
18
Performance of FEC Schemes (cont’d)
Golay code Rate 12/23
12/23 Golay Code [8]
Coding Gain @ 10-5 BER: 2.2 dB
19
Performance of FEC Schemes (cont’d)
Convolutional encoding w/ Viterbi Decoding Rate 1/2 3/4 7/8
Coding Gain @ 10-5 BER: 4.8 dB 3.3 dB 2.3 dB
20
Performance of FEC Schemes (cont’d)
Turbo Product Coding Rate 3/4
Coding Gain @ 10-5 BER: 6.4 dB
21
Performance of FEC Schemes (cont’d)
Turbo Product Coding Rate 7/8
Coding Gain @ 10-5 BER: 5.6 dB
22
Performance of FEC Schemes (cont’d)
Turbo Product Coding Rate 1/2 0.95
Coding Gain @ 10-5 BER: 7.1 dB 3.8 dB
23
Performance of FEC Schemes (cont’d)
Turbo Product Coding Rate 5/16 21/44
Coding Gain @ 10-5 BER: 7.8 dB 7.2 dB
Note: This is BPSK only
24
Performance of FEC Schemes (cont’d)
TCC (RSC) and TPC comparison [8]
Turbo Convolutional Coding outperforms
Turbo Product Coding But, TCC is more
complex to implement (Nothing is for free…)
Coding Gain @ 10-5 BER: 8.5 dB
25
Summary • FEC is required for reliable data communications
at reasonable powers and antenna sizes over compromised channels
• New coding schemes such as Turbo Codes are getting closer to the Shannon limit and allowing designers to user smaller PA’s and antennas, and allowing use of less bandwidth
• Block and Convolutional codes still provide a reasonable complexity, cost, and performance tradeoff
26
References [1] A.J. Viterbi, “Convolutional Codes and Their Performance in Communications
Systems,” IEEE Transactions on Communications Technology, vol. COM-19, no. 5, October 1971, pp.751-772
[2] J.A. Heller and I.M. Jacobs, “Viterbi Decoding for Satellite and Space Communication,” IEEE Transactions on Communications Technology, vol. COM-19, no. 5, October 1971, pp.835-848
[3] CDM-600 Satellite Modem Specification, Comtech EF Data Inc., © 2003 [4] R. L. Freeman, Radio System Design For Telecommunications, 2nd ed. , John Wiley
& Sons, New York, 1997. [5] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error-correcting
coding and decoding: turbo codes,” Proceedings of ICC ’93, (Geneva, Switzerland), pp. 1064-1070, May 1993.
[6] L. R. Bahl, J. Cocke, F. Jelinek, J. Raviv, “Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate,” IEEE Transactions on Infromation Theory, Vol IT-20, March 1979. pp. 284-287.
[7] B. Melis, F. Muratore, G. Romano, “Study on the application of turbo codes in a satellite system” Proceedings of the Second European Workshop on Mobile/Personal Satcoms (EMPS '96) , Oct. 9-11, 1996. pp. 298 -309
[8] Xenotran R&D, http://www.xenotran.com/rd_comm.html [9] The Block Turbo Product Code Team, http://www-sc.enst-bretagne.fr/btc.html
27
END OF PRESENTATION