Reed Solomon Frame Structures Revealed

37
Interplanetary Network Directorate 1 of 37 Deep Space Network Operations & Maintenance David Tyner Previously of Mission Planning, DSN O&M Network Operations Project Engineer 31 January 2008 Reed-Solomon Encoding Frame Structures Revealed

description

Please download, and use Slideshow mode to view the slides, as that's where the magic of animation moves the telemetry frame elements around to illustrate the inner workings. JPL / NASA Deep Space Network Telemetry

Transcript of Reed Solomon Frame Structures Revealed

Page 1: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

1 of 37Deep Space Network Operations & Maintenance

David TynerPreviously of Mission Planning, DSN O&M

Network Operations Project Engineer

31 January 2008

Reed-Solomon Encoding Frame Structures

Revealed

Page 2: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

2 of 37Deep Space Network Operations & Maintenance

Table of Contents ( is home pg )

Concatenated Telemetry End-to-End Block Diagram

RS Encoding Animations EXAMPLES (“F5” to view, see p 6)– Generic RS(255,223) no virtual fill, I=1 7– Generic RS(252,220) with virtual fill, I=1 8– MRO long RS(255,223) no virtual fill, I=5 9– AMMOS v1 RS(252,220) with virtual fill, I=5 10

RS Codeword Structure DetailsFrame, ASM, TRANSMITTED CODEBLOCK, Transfer frame, RS CODEBLOCK, Encoding format, Codeword/codeblock, virtual zero fill, Shortened Codes, and Interleaving factor (I=5 animation)

RS Error Correction capabilities

RS Encoding Length Equations EXAMPLES

RS Detailed Structure & E2E Diagram EXAMPLES

PHX & CAS long Transfer Frames EXAMPLES

RS Encoding Calculator (Comparisons) EXAMPLES

References, Glossary, & Contact Info ………………………

11-18

19

20-21

22

23-24

25

26

AA..AA..

BB..BB..

CC..CC..

DD..DD..

4

5-10

Underlined are Hyperlinks or to Page xx

N O T E : Hyperlinks Require “F5” Slide Show Running

Page 3: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

3 of 37Deep Space Network Operations & Maintenance

• Demonstrate encoding processes with specific spacecraft examples, animation, & definitions

• Improve clear communication

• Diverse users interface with DSN services at many points along the various data processing stages.

• Consolidate related information, expose differences, and elucidate and resolve potential terminology ambiguities.

What’s What’s RationaleRationale??

Clarify multi-mission telemetry points-of-view, along each user’s End-to-End (E2E) path, which reference the ubiquitous Reed-Solomon (RS) transfer “frame”.

Page 4: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

4 of 37Deep Space Network Operations & Maintenance

O U T E R C O D E

I N N E R C O D E

=

Concatenated Telemetry End-to-End

Data k

Parity

n-k

Reed-Solomon Data Encoding

Codeword n

+Data k

Parity n-k

Transmitted RS Code Block

Raw Data

S/C Conv.

Data

Encoding

RS Data Decoding

Conv.

Data

Decoding

S/CModulator

and RF

DSNDemodulator

and RF

DataDelivery

Project

Transmitted RSCode Block

Telemetry Transfer Frame

Calculate

+

Telemetry Transfer Frame

and Error

Correction

HYPERLINK: click to goto p 22 for detailed diagram

(Frame Sync)ASM

Page 5: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

5 of 37Deep Space Network Operations & Maintenance

• Various DSN encoding schemas are used as Multi

Mission Telemetry has evolved different frame

structures, optimizing deep space performance.

• Common elements exist, but may be masked by how the

encoding occurs, where the decoding occurs, and

where in the E2E process one looks.

• Two approaches are provided to exemplify the various

frame details and processing that occurs:

– Animation: from data bits, growing outward to frame

– Description: starting with DSN frame, expand to data

Reed Solomon (RS) Frame Structures

Page 6: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

6 of 37Deep Space Network Operations & Maintenance

Not invoking A n i m a t i o n (F5), causes the next 3 pages to show a summary picture alone;animation provides more information.

Animation Viewing Instructions

N O T E:N O T E:

N O T E : Hyperlinks Require “F5” Slide Show Running

Page 7: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

7 of 37Deep Space Network Operations & Maintenance

TRANSMITTED CODEBLOCK #2TRANSMITTED CODEBLOCK #3 TRANSMITTED CODEBLOCK #1

PARITY #1

CODEBLOCK #1

CODEBLOCK #2CODEBLOCK #3 CODEBLOCK #1

Raw S/C Data Stream into

Reed-Solomon Encoder

EXAMPLE A. No Virtual Fill

STEP 1. Cut Data Stream into

Length k = 223 B

223 B

CODEBLOCK

RS(255,223) Encodingn = 255, k = 223

STEP 2. Calculate RS Parity

or Check bits

Length n - k = 32 B

PARITY

pieces1. CUT Input to form CODEBLOCK #1, #2,…

2. CALC PARITY

STEP 3. Append Parity, form

Length n = 255 B

TRANSMITTED CODEBLOCK

PARITY #2

CODEBLOCK #2

PARITY #3

CODEBLOCK #3

ASMASMASM

STEP 4. Append ASM, form

Length n = 259 B

Frame (per SCAP tbl)

Frame #1Frame #2Frame #3

3. Combine, CODEBLK+CKSM to form XMT’D CODEBLK

4. Append ASM, to form Frame (SCAP Tbl)

32 B223 B

255 B

259 B = 2072 b

Interleave (I) = 1 [or none]

4 B = 32 bASM (Sync Word)

AA. . AA. .

Page 8: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

8 of 37Deep Space Network Operations & Maintenance

256 B = 2048 b 32 B220 B

TRANSMITTED CODEBLOCK #2TRANSMITTED CODEBLOCK #3 TRANSMITTED CODEBLOCK #1

PARITY #1

CODEBLOCK #1

CODEBLOCK #2CODEBLOCK #3 CODEBLOCK #1

Raw S/C Data Stream into

Reed-Solomon Encoder

EXAMPLE B. Yes, use Virtual Fill

STEP 1. Cut Data Stream into

Length k = 220 B

220 B

CODEBLOCK

RS(252,220) Encodingn = 252, k = 220

pieces1. CUT, CODEBLK

3. Calc PARITY

PARITY #2

CODEBLOCK #2

PARITY #3

CODEBLOCK #3

ASMASMASM

4. Append, XMTD CODEBLK

5. Append ASM (4 B or 32 b) to form (SCAP Tbl) Frame

2. Append VIRTUAL FILL

CODEBLOCK #1FILL

STEP 2. Append Virtual Fill

to Calc Parity

Length 255 - n = 3 B

PARITY

FILL(brings LOGICAL CODEBLK to 255)

STEP 3. Calculate RS Parity

or Check bits

Length n - k = 32 B

PARITY

STEP 4. Append Parity, form

Length n = 252 B

TRANSMITTED CODEBLOCK

STEP 5. Append ASM, form

Length n = 256 B

Frame (per SCAP tbl)

2. Remove VIRTUAL FILL

CODEBLOCK #2FILL

CODEBLOCK #3FILL

2. to form Standard size 223 B

VIRTUAL ZERO FILL isonly needed to calculateRS Check bits (parity), after that it is deleted252 B

Frame #1Frame #2Frame #3

LOGICAL CODEBLOCK usesVirtual Fill to “complete”n < 255 to Standard 255

255 B

Interleave (I) = 1 [or none]

4 B = 32 bASM (Sync Word)

BB..BB..

Page 9: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

9 of 37Deep Space Network Operations & Maintenance

_______NOTE_#1_ bring codeblks into encoder

_______NOTE_#2_ Output CKSM & CODBK, left & botm

_______NOTE_#3_Assmbl Output Frame

_______NOTE_#4_ Show big TRANSMTD CODEBLK arrow

_______NOTE_#5_ Append ASM, form SCAP table frame

TRANSMITTED CODEBLOCK #1

CODEBLK 1

Raw S/C Data Stream into

Reed-Solomon Encoder

EXAMPLE C. (MRO long)

Interleaving, I = 5 223 B RS(255,223) Encoding

n = 255, k = 2231. CODEBLOCK Input

2. Calc PARITY & Output

Frame #1

4. Combine, CODEBK+CKSM to form XMTD CODEBLK

5. Append ASM, Form Frame

160 B = 1280 b223 B

Interleave (I) = 5

CODEBLK 2

CODEBLK 3

CODEBLK 4

CODEBLK 5

PARITY 5

CODEBLK 5CODEBLK 4CODEBLK 3CODEBLK 2CODEBLK 1PARITY 4PARITY 3PARITY 2PARITY 1

3. CODEBLOCK Output

ASM

TRANSMITTED CODEBLOCK Length = I * k Parity Length = I * (n-k)

1115 B = 8920 b32 B

1279 B = 10232 b

I*k I(n-k)I*n

TRANSMITTED CODEBLOCK = I*n

I*k + I*(n-k) = I*n

4 B = 32 bASM (Sync Word)

CC..CC..

Page 10: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

10 of 37Deep Space Network Operations & Maintenance

TRANSMITTED CODEBLOCK #1

CODEBLK 1

Raw S/C Data Stream into

Reed-Solomon Encoder

EXAMPLE D.(AMMOS ver1)

Interleaving, I = 5 220 B

RS(252,220) Encodingn = 252, k = 220

1. CODEBLOCK Input

2. Calc PARITY & Output

Frame #1

4. Combine, CODEBK+CKSM to form XMTD CODEBLK

5. Append ASM, Form Frame

160 B = 1280 b220 B

Interleave (I) = 5

CODEBLK 2

CODEBLK 3

CODEBLK 4

CODEBLK 5

PARITY 5

CODEBLK 5CODEBLK 4CODEBLK 3CODEBLK 2CODEBLK 1PARITY 4PARITY 3PARITY 2PARITY 1

3. CODEBLOCK Output

ASM

1100 B = 8800 b32 B

1264 B = 10112 b

I*k I(n-k)I*n

TRANSMITTED CODEBLOCK = I*n

I*k + I*(n-k) = I*n

4 B = 32 bASM (Sync Word)

DD..DD..

Page 11: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

11 of 37Deep Space Network Operations & Maintenance

• The generic term f r a m e (without a qualifier) refers to a contiguous length of telemetry bits consisting of two parts:

1- Attached Sync Marker (ASM)

2- TRANSMITTED codeblock.

• DSN Telemetry uses this same frame length in the Spacecraft CAPabilities (SCAP) Table to configure receiver (i.e. distance from the first bit of one ASM to the first bit of the next ASM), which is:

FS_FRM_LEN_PRIMARY:  xxxxx (unit is in bits = b)

Description of F r a m e

Definition

(sync word, to aid frame sync)

f r a m e

ASMTRANSMITED CODEBLOCK (In-Q)

SCAP Table “FRAME”

Both ASM and TRANSMITTED CODEBLOCK are radiated (transmitted) from S/C to Earth

N O T E:

Page 12: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

12 of 37Deep Space Network Operations & Maintenance

• The TRANSMITTED codeblock length n is formed from two parts:

1- RS CODEBLOCK, containing the codewords or telemetry data of length k, and

2- RS Check Bits, or parity length n-k

• Error Correction capability provides the basis of how n and k are related (see p 19).

Codeblock Structure Details

Definition

f r a m e

ASM RS CODEBLOCKParity

TRANSMITED CODEBLOCK (I*n)

n

k n-kNOTE: For simple case of I = 1

k (n-k)n

TRANSMITTED CODEBLOCK = n

k + (n-k) = n

Page 13: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

13 of 37Deep Space Network Operations & Maintenance

• The answer is distractingly ambiguous.• Although CCSDS does provides lexicon standardization, the terminology

differences stem from JPL/DSN being the historic creator of much of telemetry and by driving its evolution.

• Definitions have in common the data, but differ in whether to include the implementation add-on elements of ASM and Parity. – CCSDS views what is transferred into and then out of the encoder/decoder (the data,

see p 4), as a transfer frame (ignoring the implementation details)– The DSN augments this abstraction of E2E use, with the practical and required

functional use of both ASM and parity fields ( see p 11 – 12, 22 - 24).

• This presentation makes use of both approaches, to elucidate the underlying structure, and demonstrate the various functional viewpoints that might cause potential misunderstandings.

• provides us a broadly based (cross organizational international) usage guide, this is contrasted by JPL’s long historical usage having evolved in different depends upon wrote the documentation, and where within E2E one focuses, as:

What is a “Transfer Frame” ?

Ambiguous Lexicons ambiguous,

two different

The implicit standards the JPL/DSN community as the term telemetry t r a n s f e r f r a m e refers to functional lengths of telemetry bits.

functional usage, and

Page 14: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

14 of 37Deep Space Network Operations & Maintenance

• The answer is disconcertingly as the term telemetry

t r a n s f e r f r a m e refers to functional lengths of telemetry bits.

• Although CSSDS terminology standardization provides us a broadly based (cross organizational international) usage guide, this is contrasted by JPL’s long historical usage having evolved in different depends upon wrote the documentation, and where within E2E one focuses, as:

1- Much of the JPL/DSN documentation use this same phrase to mean what was defined on the previous page (p 11) as “frame” (with no modifier), which is the DSN frame length used from the SCAP table to frame sync the received data stream.• Network Operations Procedures (NOPs 871-xxx-SCN)• JPL web sites describing DSN telemetry (see p 23-24 comparisons)

2- CCSDS Green Book defines this as the spacecraft data input k (see p 4 and 22) into the encoder (also out of the decoder), but which have neither the ASM or RS check bits (parity).• The parity portion is appended to transfer frame during RS encoding• The ASM is appended after RS encoding, prior to radiation• Both are later deleted (during decoding, error correction), prior to data

delivery to project

What is a “Transfer Frame” ?

Definitions

Is there some other CCSDS reference that supports item 1?

ambiguous,two different

Page 15: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

15 of 37Deep Space Network Operations & Maintenance

• The above defined f r a m e does include the Reed-Solomon check bits (aka Parity) which provide error correction capability.

• The above defined frame does N O T include the “virtual zero fill” temporarily inserted in front of the data block, but needed only for Reed-Solomon encoding (calculating) of the parity. • Reed-Solomon encoding uses standard codeword sizesstandard codeword sizes, denoted by RS(n,k). The encoder starts* with k data symbols and then adds parity symbols to make a n symbol codeword.

*TLM Input data stream k has length of “Telemetry Transfer frame” (p 4)

RS Encoding Format

RS CODEBLOCK ParityTRANSMITED CODEBLOCK

n = 255

k = 223 n-k = 32

RS(255,223)AA..AA.. DD..DD..

Page 16: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

16 of 37Deep Space Network Operations & Maintenance

• The “Telemetry Transfer frame (p 4)” is RS encoded by breaking it into multiple codewords.

• A set of codewords that contain one transfer frame’s data is called a codeblock.

• The codeblock contains all the data bits, which are grouped together, and is then followed by the check bit symbols (or parity).

• A “Systematic” code is when the data is left unchanged after encoding (clear text), and the parity is added at the end. This is contrasted by how data encryption functions, where the data is changed (and bits may be inserted), to enhance security.

• Some missions require a smaller than normal frame length– A shortened codeblock length allows for this reduction, but– The Reed-Solomon code is a block code, and its coding process must operate

on a full block basis (255*I), so– A completed block is formed by inserting virtual zero fill codewords (see

next page).

A Codeblock contains Codewords

HYPERLINK: click to goto p 12 for more details

Page 17: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

17 of 37Deep Space Network Operations & Maintenance

Virtual Fill or Shortened Codes

q = 255 – nQ = I * q

EXAMPLE : for n=252, q=3 and I=5, there are Q = 15 B zero fill bytes, or Q = 120 b

BB..BB..

CC..CC..

• Shortened Codes occur (when n < 255) when the logical codeblock length is initially < k, and the difference is completed (filled) by inserting zero data symbols to calculate parity (see p 16 for rationale).

• Because the “virtual zero fill” are zero symbols (no data), they don’t need to be transmitted. The decoding process starts by just adding back in those zero symbols.

• EXAMPLE : shorten ”the standard” RS(255,223) to a smaller RS CODEBLOCK using RS(252,220):• Encode a block of k = 220 data bytes, by adding 3 zero bytes

– This temporarily creates a RS(255,223) LOGICAL codeword, with 32 B parity, but only 220 bytes are transmitted to project.

• The Virtual fill length (q) is scaled by the encoder variables, n and k where:

Page 18: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

18 of 37Deep Space Network Operations & Maintenance

#1

#I

• The Interleave (I) depth factor scales the RS codeblock (now length I*n), which consists of : a data (I*k) portion and the RS check bits I*(n-k) portion. This improves recovery from bursty outages by Interleaving the data encoding into the codeblock, by cycling between I separate RS encoders.

RS Interleaving (1 of 2)

• FROM CSSDS BLUE BOOK: 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 RS symbol time (8 bits) in each position.

HYPERLINK: Goto p 9 for I animation

Page 19: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

19 of 37Deep Space Network Operations & Maintenance

• For RS(255,223), one codeblock will be formed from 223*I RS symbols entering “IN”.

• In this functional representation, a space of 32*I RS symbols (for parity) in duration is required between each entering set of 223*I RS information symbols.

• The animation EXAMPLEs (see p 9-10) demonstrate the nominal (standardized) DSN use of I = 5:

– EXAMPLE Most spacecraft use I = 5 for their telecomm “long frame” to bring back the vast majority of their data, which also uses virtual fill of 120 b; Denoted as RS(252,220).

– This EXAMPLE is also the multi-mission standard “version 1 transfer frame”, used for many missions over many years (see p 23).

– EXAMPLE shows the Mars Reconnaissance Observer (MRO) “long frame”, and I = 5, which specifically uses a 120 b longer RS CODEBLOCK (than in ) and encoding with RS(255,223), likely due to its amazingly immense data flow needs (~ 20 Tb/yr).

RS Interleaving (2 of 2)

DD..DD..

DD..DD..

CC..CC..

DD..DD..CC..CC..

DD..DD..

For I=1 no interleave occurs

Page 20: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

20 of 37Deep Space Network Operations & Maintenance

• The RS decoder provides Error correction of up to E symbols that contain errors, where for DSN:

• Error Correction (for DSN, E=16 RS sym) ranges from: – Minimum correction of (16 bit errors occurring in 16 bytes), to

– Maximum correction of 16*8 = (16 complete byte errors in 16 bytes)

RS Error Correction Capability

2*E = n-k

• RS(255,223) encoding provides optimum error correction• Smaller values of n-k provide progressively less capability, but also provide less overhead to send the same data.

• Outside of the DSN, use of E=8 corrections provides 50% less

• DSN makes use of the maximum 32 B of parity

= 256 b

HYPERLINK: Click to goto p 13 for overall n & k relationship details

ParityLength

16 B = 128 b

2 B = 16 b

= 2*16 = 32 B =

Page 21: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

21 of 37Deep Space Network Operations & Maintenance

RS(255,223) No fill [B]

F R A M E (SCAP Tbl) I*n +ASMTRANSMITTED CODEBLOCK I * nReed-Solomon CODEBLOCK I * kLOGICAL CODEBLOCK I * 255Parity RS Check bits I * (n-k) Virtual Fill, Q = I*q I*(255-n)Interleave (I) I

259255223255 32 0 1

1279127511151275 160 0 5

RS(252,220) Yes fill [B]

256252220255 32 3 1

1264126011001275 160 15 5

RS(n,k) Equations

RS(n,k) Equations, bytes [B]

f r a m e

ASM

I*255

I*(n-k) = I*32

RS CODEBLOCK ParityTRANSMITED CODEBLOCK

LOGICAL CODEBLOCK

I*255

I*k

f r a m e

ASM

I*n

RS CODEBLOCK ParityTRANSMITED CODEBLOCK

Virtual Fill

LOGICAL CODEBLOCK

I*(255-n)

F I L L

I*255

I*k I*(n-k) = I*32

CC..CC.. BB..BB..AA..AA.. DD..DD..

Page 22: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

22 of 37Deep Space Network Operations & Maintenance

RS(255,223) No fill [b]

RS(n,k) Equations, bits [b]

F R A M E (SCAP Tbl) I*n +ASMTRANSMITTED CODEBLOCK I * nReed-Solomon CODEBLOCK I * kLOGICAL CODEBLOCK I * 255Parity RS Check bits I * (n-k) Virtual Fill, Q = I*q I*(255-n)Interleave (I) I

2072204017842040 256 0 1

1023210200 892010200 1280 0 5

RS(252,220) Yes fill [b]

2048201617602040 256 24 1

1011210080 880010200 1280 120 5

RS(n,k) Equations

CC..CC.. BB..BB..AA..AA.. DD..DD..

f r a m e

ASM

I*255

I*(n-k) = I*32

RS CODEBLOCK ParityTRANSMITED CODEBLOCK

LOGICAL CODEBLOCK

I*255

I*k

f r a m e

ASM

I*n

RS CODEBLOCK ParityTRANSMITED CODEBLOCK

Virtual Fill

LOGICAL CODEBLOCK

I*(255-n)

F I L L

I*255

I*k I*(n-k) = I*32

Page 23: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

23 of 37Deep Space Network Operations & Maintenance

E2E with & without Virtual Fill

R-S CODEBLOCK = 8920 b

R-S CODEBLOCK = 8800 b

ENCODING CASE 4uses RS(255,223)

MRO Long

ENCODING CASE 6 uses RS(252,220)

PHX

RS CODEBLOCK

RS CODEBLK

RS CODEBLK

FROM CSSDS GREEN BOOK (and XCL comparison)

CC..CC..

DD..DD..

HYPERLINK: Click to goto p 4 for simplified diagram

Telemetry Transfer Frame

Telemetry Transfer Frame

Telemetry Transfer Frame

Telemetry Transfer Frame

Page 24: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

24 of 37Deep Space Network Operations & Maintenance

RS Encoding for Phoenix

48 b

DD..DD..

RS CODEBLOCKTRANSMITED CODEBLOCK

ASM Parity

f r a m e

What CCSDS calls “transfer frame”

Transfer Frame HYPERLINK: Click for p 26 reference, from B. Wilson’s TLM Tutorial

48 b = 6 B

• EXPANDED view of “Transfer Frame Primary Header”

– Contains Virtual Channel (VC) information

– Packet sequence order numbers

Page 25: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

25 of 37Deep Space Network Operations & Maintenance

RS Encoding for Cassini

DD..DD..

HYPERLINK: Click for p 26 reference, from B. Wilson’s TLM Tutorial

• EXPANDED view of “Transfer Frame Primary Header”

– Contains Virtual Channel (VC) information– Packet sequence order numbers

Page 26: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

26 of 37Deep Space Network Operations & Maintenance

RS Encoding Comparisons

frame lengths

HYPERLINK: Click for p 26 reference Excel file name

Calculator is provided with two selectable inputs, which then displays all of the various frame lengths:

I {1, 2, 3, 4, 5} and

n {255, 252, 76}

selectable inputs

Page 27: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

27 of 37Deep Space Network Operations & Maintenance

Contact Information and References

*See XCL file RS telemetry encoding Comparison_revB.xls

[1] JPL Telemetry tutorial, author Betsy Wilson (p 23-24)http://eis.jpl.nasa.gov/~betsy/mm/mmdetail.htm

[2] Consultative Committee for Space Data SystemsBlue Book (TM Sync & Chn Coding: 131x0b1.pdf), and Green Book (TM Sync & Chn Coding: 130.1-G-1.pdf)

[3] Consultative)Blue

Page 28: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

28 of 37Deep Space Network Operations & Maintenance

Glossary - A• The Attached Sync Marker (ASM)

– when used with R-S coding is a 32-bit pattern (8 Hex digits shown below, non-turbo case) which provides an aid to synchronization.

– The ASM precedes the Transmitted Codeblock. RS Frame synchronizers should, therefore, be set to expect a marker at every Transmitted Codeblock + 32 bits.

– Turbo coding use longer ASMs which have lengths that are proportional to coding rate:

ASM for non-turbo-coded data: 0x1ACF FC1D ASM for rate-1/2 turbo coded data: 0x0347 76C7 2728 95B0ASM for rate-1/3 turbo coded data: 0x25D5 C0CE 8990 F6C9 461B F79CASM for rate-1/4 turbo coded data: 0x0347 76C7 2728 95B0 FCB8 8938 D8D7 6A4FASM for rate-1/6 turbo coded data: 0x25D5 C0CE 8990 F6C9 461B F79C DA2A 3F31 766F 0936 B9E4 0863

– For a concatenated Reed-Solomon and convolutional coding system, the ASM may be acquired either in the channel symbol domain (i.e., before any decoding) or

– in the domain of bits decoded by the inner code (i.e., the code symbol domain of the Reed-Solomon code).

– For a turbo coding system, the ASM must be acquired in the channel symbol domain (i.e., the code symbol domain of the turbo code).

– ASM is attached to (i.e., shall immediately precede) the Reed-Solomon or Turbo Codeblock, or the Transfer Frame if the Physical Channel is not Reed-Solomon or turbo coded.

– The ASM for one Codeblock (or Transfer Frame) shall immediately follow the end of the preceding Codeblock (or Transfer Frame); i.e., there shall be no intervening bits (data or fill) preceding the ASM.

– The ASM is NOT a part of the encoded data space of the Reed-Solomon Codeblock, and it is not presented to the input of the Reed-Solomon encoder or decoder.

• ASM, The Location of:

• ASM Acquisition depends on the type of coding used, where:

Page 29: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

29 of 37Deep Space Network Operations & Maintenance

Glossary B - C

• Block Encoding: A one-to-one transformation of sequences of length k of elements of a source alphabet to sequences of length n of elements of a code alphabet, n>k.

• Decoded bit errors tend to clump together in bursts, due to the nature of Viterbi decoding using the (7, 1/2) convolutional code.

– For this reason, in a concatenated coding system that uses a convolutional inner code, the outer code should be tailored to a burst error environment.

– The code that is recommended as the outer code is a (255, 223) Reed-Solomon code. – RS code is a non-binary code. Each member of its coding alphabet is one of 256 elements of a

finite field rather than zero or one. A string of eight bits is used to represent elements in the field so that the output of the encoder still looks like binary data.

• Interleaving of the RS code symbols improves code performance.

– Without interleaving, burst error events would tend to occur within one RS codeword, and one codeword would have to correct all of these errors.

– Thus over a period of time there would be a tendency for some codewords to have ‘too many’ errors to correct (i.e., greater than E).

– The purpose of interleaving and de-interleaving is to make the RS symbol errors, at the input of the RS decoder, independent of each other and to distribute the RS symbol errors uniformly; in other words, to distribute the burst errors among several codewords.

• Channel Symbol: The unit of output of the innermost encoder.

• The Reed-Solomon Check Symbols (parity) consist of the trailing 2EI symbols (2EIJ bits) of the codeblock. (As an example, when E = 16, J=8, and k = 223, for I=5 this is always 1280 bits.)

• Codeblock: A codeblock of an (n,k) block code is a sequence of n channel symbols which were produced as a unit by encoding a sequence of k information symbols, and will be decoded as a unit.

Page 30: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

30 of 37Deep Space Network Operations & Maintenance

Glossary - C• Code Rate: The average ratio of the number of binary digits at the input of an

encoder to the number of binary digits at its output.

• Codeword: In a block code, one of the sequences in the range of the one-to-one transformation (see Block Encoding).

• Telemetry Channel Coding is used to protect the transfer frames against telemetry channel noise induced errors and to ensure error-free delivery of the data.

• Convolutional code offers a coding gain of about 5.5 dB over an uncoded system at decoded bit error rate of 10-5. The use of the outer Reed-Solomon code results in an additional 2.0 dB of coding gain.

• If the characteristics of the channel are well understood, and an appropriate coding scheme is chosen, then channel coding provides higher overall data throughput at the same overall quality (bit error rate) as uncoded transmission - but with less energy expended per information bit. Equivalently, channel coding allows a lower overall bit error rate than the uncoded system using the same energy per information bit.

• Concatenation: The use of two or more codes to process data sequentially with the output of one encoder used as the input of the next.

• Constraint Length: In convolutional coding, the number of consecutive input bits that are needed to determine the value of the output symbols at any time.

• Convolutional Code: As used in this document, a code in which a number of output symbols are produced for each input information bit. Each output symbol is a linear combination of the current input bit as well as some or all of the previous k-1 bits where k is the constraint length of the code.

•CCSDS 131.0-B-1 Page A-2 September 2003 CCSDS RECOMMENDATION FOR TM SYNCHRONIZATION AND CHANNEL CODING

Page 31: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

31 of 37Deep Space Network Operations & Maintenance

Glossary D - E

• In decoding the RS codewords, essentially three events may happen:

– a) Correct decoding happens if there are E or fewer RS symbol errors in a codeword. In this case the decoder successfully corrects the errors and outputs the correct information block.

– b) Detected error happens if the number of RS symbol errors in a codeword is more than E, but the corrupted codeword is not close to any other codeword within the distance of E symbols. In this case the RS decoder fails to decode and may (if desired) output the first k undecoded information symbols that in all likelihood contain some symbol errors.

– c) Undetected error happens if the number of RS symbol errors in a codeword is more than E, and the corrupted codeword is closer to some other codeword within the distance of E symbols. In this case the decoder is fooled, decodes incorrectly, and outputs a wrong information block. In other words, it claims the decoded block as a correct one and by doing this it may create up to E additional symbol errors (compared to the number of errors in the uncoded information block). This situation occurs very rarely, at less than [1/(E!)]

• A channel encoder

– is a device that takes this string of binary data and produces a modulating waveform as output.

– If the channel code is chosen correctly for the particular channel in question (e.g. deep space), then a properly designed decoder will be able to reconstruct the original binary data even if the waveforms have been corrupted by channel noise.

Page 32: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

32 of 37Deep Space Network Operations & Maintenance

Glossary I - M

• Inner Code: In a concatenated coding system, the last encoding algorithm that is applied to the data stream. The data stream here consists of the codewords generated by the outer decoder.

• In addition, the Reed-Solomon codewords can be interleaved on a symbol basis before being convolutionally encoded. Since this separates the symbols in a codeword, it becomes less likely that a burst from the Viterbi decoder disturbs more than one Reed-Solomon symbol in any one codeword. This improves the performance of the Reed-Solomon code. An interleaving depth of five was chosen for performance that is virtually indistinguishable from a depth of infinity.

• The Logical Codeblock is the logical data entity operated upon by the R-S decoder. It can have a different length than the transmitted codeblock because it accounts for the amount of virtual fill that was introduced. (As an example, when E = 16 and k = 223, for I=5 the logical codeblock always appears to have exactly 10,200 bits in length.)

• Lower symbol SNR, Turbo codes

– To take advantage of the improved performance of turbo codes, the receiving system must operate at a significantly lower symbol signal-to-noise ratio (SSNR) than that of a less powerful code with the same code rate.

– This imposes more stringent demands on the receiver’s ability to perform symbol synchronization. The performance advantages of turbo coding may be negated if the receiver cannot lock onto the lower-SSNR symbols

• Modulating Waveform: A way of representing data bits (‘1’ and ‘0’) by a particular waveform.

Page 33: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

33 of 37Deep Space Network Operations & Maintenance

Glossary O - R

• Outer Code: In a concatenated coding system, the first encoding algorithm that is applied to the data stream.

• PSEUDO-RANDOMIZER DESCRIPTION

– The method for ensuring sufficient transitions is to exclusive-OR each bit of the Codeblock or Transfer Frame with a standard pseudo-random sequence.

– If the pseudo-randomizer is used, on the sending end it is applied to the Codeblock or Transfer Frame after turbo encoding or R-S encoding (if either is used), but before convolutional encoding (if used).

•Reed-Solomon (R-S) Symbol: A set of J bits that represents an element in GF(2J), the code alphabet of a J-bit (J = 8 b = 1 B) Reed-Solomon code.

– On the receiving end, it is applied to de-randomize the data after convolutional decoding (if used) and codeblock synchronization but before Reed-Solomon decoding or turbo decoding (if either is used).

Page 34: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

34 of 37Deep Space Network Operations & Maintenance

Glossary - S• Synchronization and Channel Coding Sublayer:

That sublayer of the Data Link Layer used by CCSDS space link protocols which uses a prescribed coding technique to reliably transfer Transfer Frames through the potentially noisy Physical Layer.

• Turbo codeblock synchronization:

Codeblock synchronization of the turbo decoder is achieved by synchronization of an Attached Sync Marker (ASM) associated with each Turbo Codeblock. The ASM is a bit pattern specified in section 6 as an aid to synchronization, and it precedes the Turbo Codeblock. Frame synchronizers should be set to expect a marker at a recurrence interval equal to the length of the ASM plus that of the Turbo Codeblock.

A diagram of a Turbo Codeblock with ASM is shown in figure 5-4 (directly to the right). Note that the length of the Turbo Codeblock is inversely proportional to the nominal code rate r.

Systematic Code: A code in which the input information sequence appears in unaltered form as part of the output codeword.

Page 35: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

35 of 37Deep Space Network Operations & Maintenance

Glossary - Tr

• The Transfer Frame is defined by the TM Space Data Link Protocol or the AOS Space Data Link Protocol.

• Transfer Frame constraints on the Lengths for Various Coding Types

– UNCODED. The length of the Transfer Frames may be any integer number of octets, as required by the using project, with a maximum of 2048 octets [or Bytes, B].

– CONVOLUTIONAL ONLY. The length of the Transfer Frames may be any integer number of octets, as required by the using project, with a maximum of 2048 octets.

– REED-SOLOMON ONLY. With the Reed-Solomon Codes, only certain specific lengths of Transfer Frames may be contained within the codeblock’s data space. In some cases these lengths may be shortened in discrete steps by using virtual fill at a small sacrifice in coding gain.

• Transfer Frame Lengths are 32-bit compatible

– Since these R-S codes have a symbol length of 8 bits, the length of the codeblock (in octets) is a multiple of the interleaving depth, which provides ‘octet compatibility’.

– If high-speed efficiency is needed for ‘32-bit compatibility’ (with 32-bit processors, for example), then the length of the codeblock must be a combined multiple of 4 and the interleaving depth.

• Transfer Frame Lengths Equations

– The following equation specifies allowed lengths for Transfer Frames (L in octets) when octet compatibility is sufficient: L = (255-2E-q) I

– such that L is a positive integer, where E = error correction capability, q = number of virtual fill symbols per R-S codeword, and I = interleaving depth.

– When 32-bit compatibility is required, the Transfer Frame length must be chosen so that it shall be expressed by the above equation and the codeblock length (255-q)I (in octets) shall be a multiple of 4.

Page 36: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

36 of 37Deep Space Network Operations & Maintenance

Glossary - Tu

• The Transmitted Codeblock consists of the Transfer Frame (without the 32-bit sync marker) and R-S check symbols. It is the received data entity physically fed into the R-S decoder. (As an example, when E = 16 and k = 223, using I=5 and no virtual fill, the length of the transmitted codeblock will be 10,200 bits; if virtual fill is used, it will be incrementally shorter, depending on the amount used.)

• Transparent Code: A code that has the property that complementing the input of the encoder or decoder results in complementing the output.

– The Reed-Solomon code, like the convolutional code, is a transparent code.

– This means that if the channel symbols have been inverted somewhere along the line, the decoders will still operate.

– The result will be the complement of the original data.

– However, the Reed-Solomon code loses its transparency if virtual zero fill is used. For this reason it is mandatory that the sense of the data (i.e., true or complemented) be resolved before Reed-Solomon decoding.

• Turbo Code: As used in this document, a block code formed by combining two component recursive convolutional codes. A turbo code takes as input a block of k information bits. The input block is sent unchanged to the first component code and bit-wise interleaved to the second component code. The output is formed by the parity symbols contributed by each component code plus a replica of the information bits.

Page 37: Reed Solomon Frame Structures Revealed

Interplanetary Network Directorate

37 of 37Deep Space Network Operations & Maintenance

Glossary - V

• Virtual fill is used to logically complete the codeblock and is not transmitted.

• If used, virtual fill shall:

1) consist of all zeros;

2) not be transmitted;

3) not change in length for a Mission Phase on a particular Physical Channel;

4) be inserted only at the beginning of the codeblock (i.e., after the attached sync marker but before the beginning of the transmitted codeblock);

5) be inserted only in integer multiples of 8*I bits.

• Virtual Fill:

– In a systematic block code, a codeword can be divided into an information part and a parity (check) part.

– Suppose that the information part is n symbols long (a symbol is defined here to be an element of the code’s alphabet) and that

– the parity part is m = n-k symbols long. – A ‘shortened’ code is created by taking only k (with k < n) information symbols as input

to encoder, appending a fixed string of length n-k and then encoding in the normal way. – This fixed string is called ‘fill’. – Since the fill is a predetermined sequence of symbols, it need not be transmitted over the

channel. – Instead, the decoder appends the same fill sequence before decoding. In this case, the

fill is called ‘Virtual zero Fill’.