Your SlideShare is downloading. ×
Reed Solomon Frame Structures Revealed
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Reed Solomon Frame Structures Revealed

4,589

Published on

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. …

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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,589
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
145
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. David Tyner Previously of Mission Planning, DSN O&M N etwork O perations P roject E ngineer 31 January 2008 Reed-Solom on Encoding Frame S tructures Rev ealed
  • 2. 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 Details
      • Frame, 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 A . B . C . D . 4 5-10 Underlined are Hyperlinks or to Page xx N O T E : Hyperlinks Require “F5” Slide Show Running
  • 3.
    • 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 Rationale ? 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 ”.
  • 4. = 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 RS Data Decoding S/C Modulator and RF DSN Demodulator and RF Transmitted RS Code Block Calculate + and Error Correction HYPERLINK: click to goto p 22 for detailed diagram O U T E R C O D E I N N E R C O D E Raw Data S/C Conv. Data Encoding Conv. Data Decoding Data Delivery Project Telemetry Transfer Frame Telemetry Transfer Frame (Frame Sync) ASM
  • 5.
    • 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
  • 6. 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 : Hyperlinks Require “F5” Slide Show Running N O T E: N O T E:
  • 7. CODEBLOCK #1 CODEBLOCK #2 CODEBLOCK #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 CODEBLOCK RS( 255, 223 ) Encoding n = 255, k = 223 pieces 1. CUT Input to form CODEBLOCK #1, #2,… 2. CALC PARITY CODEBLOCK #2 CODEBLOCK #3 3. Combine, CODEBLK + CKSM to form XMT’D CODEBLK 4. Append ASM, to form Frame (SCAP Tbl) Interleave (I) = 1 [or none] A . TRANSMITTED CODEBLOCK #2 TRANSMITTED CODEBLOCK #3 TRANSMITTED CODEBLOCK #1 PARITY #1 223 B STEP 2. Calculate RS Parity or Check bits Length n - k = 32 B PARITY STEP 3. Append Parity, form Length n = 255 B TRANSMITTED CODEBLOCK PARITY #2 PARITY #3 ASM ASM ASM STEP 4. Append ASM , form Length n = 259 B Frame (per SCAP tbl) Frame #1 Frame #2 Frame #3 32 B 223 B 255 B 259 B = 2072 b 4 B = 32 b ASM (Sync Word)
  • 8. CODEBLOCK #1 CODEBLOCK #2 CODEBLOCK #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 CODEBLOCK RS( 252, 220 ) Encoding n = 252, k = 220 pieces 1. CUT, CODEBLK 3. Calc PARITY CODEBLOCK #2 CODEBLOCK #3 4. Append, XMTD CODEBLK 5. Append ASM (4 B or 32 b) to form (SCAP Tbl) Frame 2. Append VIRTUAL FILL CODEBLOCK #1 2. Remove VIRTUAL FILL CODEBLOCK #2 CODEBLOCK #3 2. to form Standard size Interleave (I) = 1 [or none] B . 256 B = 2048 b 32 B 220 B TRANSMITTED CODEBLOCK #2 TRANSMITTED CODEBLOCK #3 TRANSMITTED CODEBLOCK #1 PARITY #1 220 B PARITY #2 PARITY #3 ASM ASM ASM FILL 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) FILL FILL 223 B VIRTUAL ZERO FILL is only needed to calculate RS Check bits (parity), after that it is deleted 252 B Frame #1 Frame #2 Frame #3 LOGICAL CODEBLOCK uses Virtual Fill to “complete” n < 255 to Standard 255 255 B 4 B = 32 b ASM (Sync Word)
  • 9. _______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 RS( 255,223 ) Encoding n = 255, k = 223 1. CODEBLOCK Input 2. Calc PARITY & Output Frame #1 4. Combine, CODEBK + CKSM to form XMTD CODEBLK 5. Append ASM, Form Frame Interleave (I) = 5 CODEBLK 2 CODEBLK 3 CODEBLK 4 CODEBLK 5 CODEBLK 5 CODEBLK 4 CODEBLK 3 CODEBLK 2 CODEBLK 1 3. CODEBLOCK Output TRANSMITTED CODEBLOCK Length = I * k Parity Length = I * (n-k) C . 223 B 160 B = 1280 b 223 B PARITY 5 PARITY 4 PARITY 3 PARITY 2 PARITY 1 ASM 1115 B = 8920 b 32 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 b ASM (Sync Word)
  • 10. TRANSMITTED CODEBLOCK #1 CODEBLK 1 Raw S/C Data Stream into Reed-Solomon Encoder EXAMPLE D. ( AMMOS ver1 ) Interleaving, I = 5 RS( 252, 220 ) Encoding n = 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 Interleave (I) = 5 CODEBLK 2 CODEBLK 3 CODEBLK 4 CODEBLK 5 CODEBLK 5 CODEBLK 4 CODEBLK 3 CODEBLK 2 CODEBLK 1 3. CODEBLOCK Output 1264 B = 10112 b I * k + I * ( n -k ) = I * n D . 220 B 160 B = 1280 b 220 B PARITY 5 PARITY 4 PARITY 3 PARITY 2 PARITY 1 ASM 1100 B = 8800 b 32 B I * k I ( n-k ) I * n TRANSMITTED CODEBLOCK = I * n 4 B = 32 b ASM (Sy nc Word)
  • 11.
    • The generic term f r a m e ( without a qualifier ) refers to a contiguous length of telemetry bits consisting of two parts:
      • 1- A ttached S ync M arker (ASM)
      • 2- TRANSMITTED codeblock.
    • DSN Telemetry uses this same frame length in the S pacecraft CAP abilities ( 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 ASM TRANSMITED CODEBLOCK (In-Q) SCAP Table “FRAME” Both ASM and TRANSMITTED CODEBLOCK are radiated ( transmitted ) from S/C to Earth N O T E:
  • 12.
    • 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 CODEBLOCK Parity TRANSMITED CODEBLOCK (I* n ) n k n- k NOTE: For simple case of I = 1 k ( n-k ) n TRANSMITTED CODEBLOCK = n k + ( n-k ) = n
  • 13.
    • 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 Lexicon s 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
  • 14.
    • 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” ? Definition s Is there some other CCSDS reference that supports item 1? ambiguous , two different
  • 15.
    • 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 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 Parity TRANSMITED CODEBLOCK n = 255 k = 223 n- k = 32 RS( 255,223 ) A . D .
  • 16.
    • 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
  • 17.
    • 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:
    Virtual Fill or Shortened Codes
      • q = 255 – n
      • Q = I * q
      • EXAMPLE : for n=252 , q=3 and I=5 , there are Q = 15 B zero fill bytes, or Q = 120 b
    B . C .
  • 18.
    • 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 #1 # I
  • 19.
    • 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 M ars R econnaissance O bserver ( 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) D . D . C . D . C . D . For I=1 no interleave occurs
  • 20.
    • The RS decoder provides E rror correction of up to E symbols that contain errors, where for DSN :
    • E rror 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 Parity Length 16 B = 128 b 2 B = 16 b = 2* 16 = 32 B =
  • 21.
    • RS( 255, 223 )
    • No fill [B]
    F R A M E (SCAP Tbl) I * n +ASM TRANSMITTED CODEBLOCK I * n Reed-Solomon CODEBLOCK I * k LOGICAL CODEBLOCK I * 255 Parity RS Check bits I * (n-k) Virtual Fill, Q = I *q I *(255-n) Interleave (I) I 259 255 223 255 32 0 1 1279 1275 1115 1275 160 0 5 RS( 252, 220 ) Yes fill [B] 256 252 220 255 32 3 1 1264 1260 1100 1275 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 Parity TRANSMITED CODEBLOCK LOGICAL CODEBLOCK I *255 I * k f r a m e ASM I * n RS CODEBLOCK Parity TRANSMITED CODEBLOCK Virtual Fill LOGICAL CODEBLOCK I *(255-n) F I L L I *255 I * k I *(n-k) = I *32 C . B . A . D .
  • 22.
    • RS( 255, 223 )
    • No fill [b]
    RS( n,k ) Equations, bits [b] F R A M E (SCAP Tbl) I * n +ASM TRANSMITTED CODEBLOCK I * n Reed-Solomon CODEBLOCK I * k LOGICAL CODEBLOCK I * 255 Parity RS Check bits I * (n-k) Virtual Fill, Q = I *q I *(255-n) Interleave (I) I 2072 2040 1784 2040 256 0 1 10232 10200 8920 10200 1280 0 5 RS( 252, 220 ) Yes fill [b] 2048 2016 1760 2040 256 24 1 10112 10080 8800 10200 1280 120 5 RS( n, k ) Equations C . B . A . D . f r a m e ASM I *255 I *(n-k) = I *32 RS CODEBLOCK Parity TRANSMITED CODEBLOCK LOGICAL CODEBLOCK I *255 I * k f r a m e ASM I * n RS CODEBLOCK Parity TRANSMITED CODEBLOCK Virtual Fill LOGICAL CODEBLOCK I *(255-n) F I L L I *255 I * k I *(n-k) = I *32
  • 23. E2E with & without Virtual Fill C . D . HYPERLINK: Click to goto p 4 for simplified diagram R-S CODEBLOCK = 8920 b R-S CODEBLOCK = 8800 b ENCODING CASE 4 uses 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) Telemetry Transfer Frame Telemetry Transfer Frame Telemetry Transfer Frame Telemetry Transfer Frame
  • 24.
    • EXPANDED view of “Transfer Frame Primary Header”
      • Contains Virtual Channel (VC) information
      • Packet sequence order numbers
    RS Encoding for Phoenix 48 b D . RS CODEBLOCK TRANSMITED CODEBLOCK ASM Parity f r a m e HYPERLINK: Click for p 26 reference, from B. Wilson’s TLM Tutorial 48 b = 6 B What CCSDS calls “transfer frame” Transfer Frame
  • 25.
    • EXPANDED view of “Transfer Frame Primary Header”
      • Contains Virtual Channel (VC) information
      • Packet sequence order numbers
    RS Encoding for Cassini D . HYPERLINK: Click for p 26 reference, from B. Wilson’s TLM Tutorial
  • 26.
    • 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}
    RS Encoding Comparisons frame lengths HYPERLINK: Click for p 26 reference Excel file name selectable inputs
  • 27. *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 Systems
      • Blue Book ( TM Sync & Chn Coding: 131x0b1.pdf ) , and Green Book ( TM Sync & Chn Coding: 130.1-G-1.pdf )
    • [3] Consultative)
      • Blue
    Contact Information and References
  • 28. 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 95B0
    • ASM for rate-1/3 turbo coded data: 0x25D5 C0CE 8990 F6C9 461B F79C
    • ASM for rate-1/4 turbo coded data: 0x0347 76C7 2728 95B0 FCB8 8938 D8D7 6A4F
    • ASM 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:
  • 29. 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.
  • 30. 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
  • 31. 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.
  • 32. 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.
  • 33. 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).
  • 34. Glossary - S
    • 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.
    • 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.
    Systematic Code : A code in which the input information sequence appears in unaltered form as part of the output codeword.
  • 35. 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.
  • 36. 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.
  • 37. 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’.

×