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
Boost PC performance: How more available memory can improve productivity
Reed Solomon Frame Structures Revealed
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.
3.
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.
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.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
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