42
OPS-G Forum, ESOC, 24 th June 2005 1 Codes and Turbo Codes: a (short) survey on Telemetry Channel Coding Gian Paolo Calzolari Gian Paolo Calzolari OPS OPS - - GIB GIB

OPS Forum Codes and Turbocodes 24.06.2005

Embed Size (px)

DESCRIPTION

Codes and Turbo Codes: a (short) survey on Telemetry Channel Coding

Citation preview

Page 1: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005

1

Codes and Turbo Codes: a (short) survey on

Telemetry Channel Coding

Gian Paolo CalzolariGian Paolo CalzolariOPSOPS--GIBGIB

Page 2: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

2

Coding Theoryv Coding Theory deals with representing the

information using codes. It covers: compression, secrecy, and error-correction. Our main topic today will be error-correcting codes (ECC) a subtopic of Information Coding Theory developed from work by Claude Shannon in 1948.

v Our main problem: a stream of information, in the form of 0’s and 1’s, shall be transmitted over a communications channel. In such a channel errors can occur in the channel with the effect that some 0’s can turn into 1’s and vice versa.

Information data source

Information data sink

Transmission Channel (+Noise)

Page 3: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

3

Channel Codingv Channel Coding tries to guarantee that transmitted bits are

received without errors.v Error-Detecting Codes allow the receiver to realize that an error

has occurred (but not which error) and possibly to request retransmission. Classical example: parity bit.

v Forward Error Correction Codes allow the receiver to deduce what the transmitted data must have been.

v This is achieved by encoding source information to add additional information, (redundancy) that can be used to detect, and perhaps correct, errors. The Code Rate measures the amount of redundancy added.

v More redundancy è more errors detected & corrected, but decreased efficiency in transmission.

v ECC’s are developed using algebra, geometry and statistics!v Using (Telemetry) Channel Coding a digital receiver system can

detect and reconstruct an erroneous transmitted message, without requesting a retransmission.

Page 4: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

4

Channel Coding Scenario

Information data source

Channel Coding

Modulation

Demodulation Channel Decoding

Information data sink

Transmision Channel

Bit Domain Symbol Domain

b

s

Noise

SNR

b’

s’

v The Symbol to Noise Ratio (SNR) describes the probability that a transmitted symbol (s) may be received altered (s` ). It is usually measured in Energy per bit divided by the Noise density Eb/N0.

v Modulation is also important, but please ignore it (today only ☺).

Page 5: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

5

The Bit Error Rate (BER)

The Best: low Energy and fewest errors!

v Diagrams like this are used to measure and compare the performances of Codes.

v The (Post Error Correction) BER is the probability of making an error in the bit “i”; i.e. it measures unsuccessful decoding for bits.

v In Telemetry we are more interested in the Frame Error Rate (FER) that measures unsuccessful decoding for frames.

2 3 4 5 6 7 810-1210-1110-1010-910-810-710-610-510-410-310-210-1100

Systematic PCTC Partially systematic PCTC Floor Systematic PCTC Floor partially systematic PCTC

R=7/8 F=8920 bits

BE

R

Eb/N0 (dB)

Page 6: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

6

Two Major Forms of Channel Coding

v Linear Codes (aka Block Codes): each codeword is built as a linear combination of the information messages. Generally, the complete encoded message is needed before starting decoding. Easy to implement but difficult decoding.

v Convolutional Codes: coding and decoding are sequential. For each incoming bit a given number of output bits is generated. Easy coding and decoding but, for the serial nature, a decoding error may propagate to several decoded bits. Decoding can start before receiving the complete encoded message.Information Bits Redundant Bits

Page 7: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

7

CCSDS Options for Channel Coding

v The CCSDS Recommendation for Telemetry Channel Coding has the purpose of establishing a common Recommendation for space telemetry channel coding systems to provide cross-support among missions and facilities of member Agencies.

v Candidate codes have been selected in the years according to the identified requirements.

v Thorough technical analysis is needed to give the most convenient solutions for the space missions scenarios.

v This is what CCSDS is doing.

1) Convolutional Code Rate ½ 2) Reed-Solomon Code E=163) [Traditional]

Concatenated Code 1+24) Turbo Codes5) Punctured Convolutional

Codes6) Reed-Solomon Code E=87) [General] Concatenated

Codes

Page 8: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

8

Option #1: Convolutional Code Rate ½ v It has been the first standardized one. It has Rate ½ (in CCSDS since

1984). Two output bits for each incoming bit (2*BW).v The code is not systematic; i.e. the output stream does not contain the

input stream in clear.v It allows a easy hardware implementation and a fixed decoding time

well suited for HW implementation.v Convolutional Encoding rate ½ allows at least 5 dB less power (for BPSK

or QPSK transmission)! v Higher rates (i.e. with less redundancy) created by puncturing have

been added to CCSDS in 2001 (see later).

C2 will be “negated” before transmission

C1(1),-C2(1),C1(2 ),-C2(2), …

Page 9: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

9

A Note on Andrew Viterbi

v In April 1967, Andrew J. Viterbi published a famous paper on his technique for the decoding of convolutional codes [see "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm," IEEE Transactions on Information Theory, Volume IT-13, pages 260-269].

v Despite Viterbi Decoding is just one algorithm for the decoding of convolutional codes, it became common use to use terms as “Viterbi encoding”, “Viterbi decoding”, etc. even when the Viterbi algorithm is not used.

Page 10: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

10

Convolutional (Viterbi) Decodingv The convolutional encoder is a

simple state machine and decoding is performed using a trellis diagram.

v Each time a pair of channel symbols received, a metric to measure the “Hamming distance" between what we received and the other pairs we could have received is computed. There are only two possibilities each time.

v The number of bit positions in which two Codewords differ is called HAMMING DISTANCE.

v Finally the path with the lowest accumulated Error Metric is selected: i.e. Maximum Likelihoodis applied.

10013-1101102-1000111-0111000-00

Output Symbol if Input = 1

Output Symbol if Input=0

Current State

State0123

…………

Page 11: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

11

Likelihood is not Certaintyv To be sure that the guess of the Convolutional

Decoder is the sent Frame, a Frame Error Control Field (FECF) shall be used for Frame Validation.

v FECF uses a cyclic redundancy check (CRC).v FECF is a 16-bits field computed according to a given

law. When decoded, the error detection syndrome S(X) will be zero if no error is detected and non-zero if an error is detected.

v The FECF allows no correction!v The error position is unknown and the “bad frame” is

unusable. This is always true for bad frames!v The CRC code can reliably detect incorrect frames

with an undetected error rate of around 2-15 ~ 10-5.

Page 12: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

12

Decoding Approach: Splitting Hairs?

v In decoding we may decide IF s’ > 0 THEN bit = 1 ELSE bit = 0

v This is “hard-decision”.v Alternatively, we may use quantization and provide output proportional

to the value received in input. Each single bit is then represented by a value of many bits saying “how strong” the bit is.

v This is “soft-decision”. A Viterbi decoder with 3 or 4 bits quantization performs about 2 dB better than hard-decision!

+4D

+2D

-2D

-4D

0

3 bits quantization

Page 13: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

13

Option #2: Reed-Solomon Code E=16v This is a powerful burst error correcting code.v A R-S symbol consist of 8 bits! v The E=16 option can correct 16 R-S symbols in error

per codeword. A E=8 option (with less redundancy) was added in 2001 (see later).

v This is a systematic code. This results in a systematic Codeblock: (255,223) when E = 16.

v The Code Rate is 223/255 = 0.8745 (i.e. almost 7/8)v Shorter information sizes allowed by Virtual Fill.

Telemetry Frame (Uncoded): 223 symbols 32 RS Checksymbols

Transmitted Codeblock: 255 symbols

Page 14: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

14

The concept behind Linear Codes

Possible Representations

Valid Representations

Set of all possible words

Set of Code Words

v Alphabet is restricted.v Example “Phonic Alphabet”:

You would not allow the words Love and Dove in the Set of Code Word, but rather only Love and Pigeon. Same meaning, more differences.

v In channel coding the increase in differences is achieved by adding redundancy (i.e. extra bits).

v The number of bit positions in which two Codewords differ is called HAMMING DISTANCE.

Page 15: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

15

Can Reed-Solomon be better?v Symbol interleaving is accomplished in a manner functionally

described with the aid of figure below.v Data bits to be encoded into a single Reed-Solomon Codeblock

enter at the port labeled ‘IN’. Switches S1 and S2 are synchronized together and advance from encoder to encoder in the sequence 1,2, . . ., I, 1,2, . . ., I, . . ., spending one R-S symbol time (8 bits) in each position.

v The allowable values of interleaving depth are I=1, 2, 3, 4, 5, and 8. The Frame Size varies accordingly; I.e. = 223*I

Page 16: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

16

Why Interleaving?

v Spreading the bytes around makes the correctable burst even greater!

v The Interleaver “breaks up” error bursts at the output of the convolutionaldecoder.

Page 17: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

17

Option #3: Concatenated RS+Convolutional

v Where a greater coding gain is needed than can be provided by the convolutional code or Reed-Solomon code alone, a concatenation of the convolutional code as the inner code with the Reed-Solomon code as the outer code may be used for improved performance.

v The Code Rate is ½*223/255 = 0.8745/2= 0.437

ModulatorReed-SolomonEncoder

Demodulator

Channel

ConvolutionalEncoder

Reed-SolomonDecoder

ConvolutionalDecoder

Input

Output

Page 18: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

18

Is all of this worth? i.e. Coding Gainv This Frame Error Rate figure

(for RS Interleaving Depth = 5) is taken from the historical “Telemetry Channel Coding Standard” ESA PSS-04-103 Issue 1 September 1989.

v R-S is better than no coding (PSK), VD (with soft bits) is better that R-S and Concatenated (VD+R-S) is better than VD!

v Obvious question:v Should than we use always the

Concatenated Coding Scheme? [The answer later…..]

Page 19: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

19

Option #4: Turbo Codes

Onlyone

framebuffer

Interleaver

Page 20: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

20

Principle behind Turbo Codes

v The interleaver spreads the redundant bits in several positions, even far away from the information. bit.

v As the interleaving size is normally large, maximum likelihood decoding is out of question for complexity reasons. However, a suboptimal decoder implementing multiple iterations around a maximum a posteriori (MAP) decoder can operate very close to the theoretical bounds. The re-use of decoded stuff (i.e. the iterations) is the reason for the Turbo adjective.

v Soft input soft output (SISO) decoders for the constituent codes are used.

Encoder #1

Encoder #2

Redundancy-bit for Bit "n"

Redundancy-bit for Bit "m"

Bit "n"

"Rn"

"Rm"Bit "m"

Bit "n"

Interleaver(8920 Bits)

3 Bits

Input block (e.g. a Frame)

Page 21: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

21

Turbo Codeblocks

Systematic(i.e. original)

bits

Page 22: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

22

Turbo Codes: The Structurev Constituent encoders: two binary systematic recursive

convolutional encoders with rate 1/4 and 16 states.v Block sizes: 1784,3568, 7136, 8920 (and 16384).v Interleaver: analytical (proposed by C. Berrou, inventor of Turbo

Codes)v Nominal turbo code rates (1/r): 1/2, 1/3, 1/4, and 1/6v The four nominal rates (1/2, 1/3, 1/4, and 1/6) are obtained by

varying the puncturing patternsv Rate 1/6 is obtained by puncturing the resulting 1/8 code

v Termination: four trellis stepsv Actual turbo code rates: ((8920/ (8924 * r)), with r=2,3,4, and

6.v Longer frames give better performances.v As for Convolutional Codes, the FECF is mandatory for Frame

Validation.

Page 23: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

23

Simulation results N=8920

1.E-08

1.E-07

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

-0.7 -0.5 -0.3 -0.1 0.1 0.3 0.5 0.7 0.9 1.1 1.3 1.5 1.7 1.9 2.1 2.3 2.5 2.7Eb/N0 [dB]

B.E

.R.-F

.E.R

.

B.E.R.

DetectableF.E.R.F.E.R.

1/6

1/4

1/3

1/2

Performance of Turbo Codes (N=8920)Coding Gain against CCSDS Concatenated Coding.

Note in the figure the relationship between BER and FER curves.

2.61/62.5¼ 2.31/31.7½

Improvement dB @ FER = 10-4

Rate

Page 24: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

24

Simulation results N=1784

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6

Eb/N0 [dB]

B.E

.R.-

F.E

.R.

B.E.R.

Detectable F.E.R.

F.E.R.

1/6 1/4 1/31/2

Simulation results - N=1784

Page 25: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

25

Simulation results - N=3568Simulation results N=3568

1.E-08

1.E-07

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

-0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4

Eb/N0 [dB]

B.E

.R.-

F.E

.R.

B.E.R.

Detectable F.E.R.

F.E.R.

1/6

1/41/2

1/3

This point is 0.1 dB better that it was for N=1784.

Page 26: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

26

Simulation results - N=7136Simulation results N=7136

1.E-09

1.E-08

1.E-07

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3

Eb/N0 [dB]

B.E

.R.-F

.E.R

.

B.E.R.

Detectable F.E.R.

F.E.R.

1/6

1/4

1/31/2

Page 27: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

27

Simulation results - N=8920Simulation results N=8920

1.E-08

1.E-07

1.E-06

1.E-05

1.E-04

1.E-03

1.E-02

1.E-01

1.E+00

-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2

Eb/N0 [dB]

B.E

.R.-

F.E

.R.

B.E.R.

Detectable F.E.R.

F.E.R.

1/6 1/4

1/3 1/2

This point is 0.4 dB better that it was for N=1784.

Page 28: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

28

Options #5, #6 and #7: Extending the Concatenated Scheme

v The traditional Reed-Solomon is (255,223) with 8 bits per R-S symbol and E=16 R-S symbol error correction capability;

v A new Reed-Solomon (255,239) with E=8 R-S symbol error correction capability has been added (after studying also E=4 and E=2) for near-Earth applications;

v The traditional Convolutional Code has a code rate 1/2.v Punctured Convolutional Codes rates 2/3, 3/4, 5/6 and

7/8 have been added (after studying more cases).v More concatenated rates are then possible.

Page 29: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

29

Option #5: Punctured Convolutional Codesv The output stream is punctured to

allow Code Rates 2/3, ¾, 5/6 and 7/8. v By puncturing, some output bits are

deleted and not transmitted.

C2 is not “negated” before transmission

Rate 2/3

C1(1) C2(1) C2(2) ...C1: 1 0C2: 1 1

Rate 3/4

C1(1) C2(1) C2(2) C1(3) ...

C1: 1 0 1 C2: 1 1 0

7/8 C1(1) C2(1) C2(2) C2(3) C2(4) C1(5) C2(6) C1(7) ...

C1: 1 0 0 0 1 0 1C2: 1 1 1 1 0 1 0

Page 30: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

30

BER vs. FER for punctured convolutionalcodes

Page 31: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

31

Option #6: Reed-Solomon Code E=8

v The E=16 option gave:

Telemetry Frame (Uncoded): 239 symbols 16 RS Checksymbols

Transmitted Codeblock: 255 symbols

v The E=8 option can correct 8 R-S symbols in error per codeword.

v This is a systematic code. This results in a systematic Codeblock: (255,239) when E = 8.

v The Code Rate is 239/255 = 0.937 (i.e. almost 15/16)

Telemetry Frame (Uncoded): 223 symbols 32 RS Checksymbols

Transmitted Codeblock: 255 symbols

Page 32: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

32

Reed-Solomon Variations on Interleaving depth 5: BER vs. FER

Page 33: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

33

Bit Error Rate for Concatenated Systems: Interleaving depths 1 & 5

Page 34: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

34

BER vs. FER for Concatenated systems Interleaving depth 5

Page 35: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

35

BER for New ConcatenationsInterleaving Depth 5

Page 36: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

36

FER for New ConcatenationsInterleaving Depth 5

Page 37: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

37

ESA Systems for Channel Coding

v Some ESA Ground Stations are still using the CDS2(A)developed by Terma. This is supporting the first 3 options.

v TCDS, developed by BAE and embedded in the IFMS, is now the baseline for ESA Stations. It supports the first 3 options.

v The ESA Turbo Decoder, developed by Space Engineering, is a prototype for Turbo Codes.

v TCDS extensions are envisaged for the future.

1) Convolutional Code Rate ½ 2) Reed-Solomon Code E=163) [Traditional]

Concatenated Code4) Turbo Codes5) Punctured Convolutional

Codes6) Reed-Solomon Code E=87) [General] Concatenated

Coding

Page 38: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

38

Channel Coding Usage

v Most of CCSDS and ESA missions till today have used and are using successfully Options #1, #2 or #3.

v Turbo Codes were validated on a SMART-1 experiment by the Turbo Decoder in Vilspa. Rosetta is able to implement Turbo Codes if the link situation will require it. Bepi Colombohas baselined an option for Turbo Codes.

v Gaia is likely to use the Convolutional Code Rate ¾ (or perhaps the Rate 7/8 depending on constraints).

1) Convolutional Code Rate ½

2) Reed-Solomon Code E=16

3) [Traditional] Concatenated Code

4) Turbo Codes5) Punctured

Convolutional Codes6) Reed-Solomon Code

E=87) [General]

Concatenated Coding

Page 39: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

39

I could/should have mentioned also:v Synchronization & Randomizationv Coding vs. Modulationv Ongoing studies for CCSDS Orange Books on Serially

Concatenated Convolutional Codes. And Low Density Parity Check Codes.

v The ECSS limitations.v Telecommand Channel Coding.v Etc. but time limits did not allow it.

Before concluding…

v REFERENCES:v TELEMETRY CHANNEL CODING CCSDS 101.0-B-6 (traditional

– not maintained - Blue Book)v TM SYNCHRONIZATIONAND CHANNEL CODING CCSDS

131.0-B-1 (new restructured Blue Book)

Page 40: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

40

Considerations to select Coding

v Choose coding scheme based on your scenario and types of errors expected:– Burst errors vs. random bit errors– Ability to retransmit (detect only)– Expected/acceptable error rate– Must trade bandwidth for error protection– More complex coding schemes will provide more

error protection at the expense of delay encoding/ decoding at source/ destination

– Real-time systems must balance error protection with tolerable coding delay

Page 41: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

41

Forward Error Correction Optimization

1. Describe the Channel/Noise --- External2. Describe requirements and limitations for your

system(s)3. Suggest Coding Scheme4. Suggest Decoding Scheme5. Measure BER & FER6. If BER/FER is not satisfactory (small enough

according to your scenario) restart from step #3.

Page 42: OPS Forum Codes and Turbocodes 24.06.2005

OPS-G Forum, ESOC, 24th June 2005, G.P.CalzolariCodes & Turbo Codes

42

The best coding scheme…

v …only depends on your needs and environment.

v …for “all the seasons” does not exist.

v Thank you for the attention!