Jet Propulsion Laboratory California Institute of Technology Short Uplink LDPC Codes: Proposed Methods for CLTU Acquisition and Termination Kenneth Andrews * and Massimo Bertinelli † * Jet Propulsion Laboratory, California Institute of Technology † European Space Agency © 2015 California Institute of Technology Government sponsorship acknowledged. CCSDS Fall Meetings Darmstadt November 9-12, 2015 1 Start and Tail Sequences for TC LDPC Codes Jet Propulsion Laboratory California Institute of Technology Objective • Our goal is to offer LDPC codes as an alternative to the existing BCH code in the telecommand Blue Book • We have agreed to add two binary rate-1/2 LDPC codes: (n=128,k=64) and (n=512,k=256) • A pseudo-randomizer will be used, as in the TM standard • Communication is still via CLTUs (Communications Link Transmission Units): independent transmissions consisting of one or more codewords • Optimal applications remain similar: low data volume, low complexity receivers, including emergency communications. High data-volume links, likely at high data rates, would be better served by using the TM standard. Remaining issues 1. Method to detect the start of a CLTU 2. Method to detect the end of a CLTU • • • Four teleconferences (mostly) resolved these issues The following slides are a summary of those discussions If we reach consensus, we can proceed with Pink Sheets to add a chapter to the TC Synchronization and Channel Coding Blue Book (231.0-B-2) 2 Start and Tail Sequences for TC LDPC Codes Jet Propulsion Laboratory California Institute of Technology Methods to detect the start of a CLTU 1. Markerless acquisiton, using LDPC code structure 2. 16- or 32-symbol start sequences 3. Preferred option: 64-symbol start sequence, 0347 76C7 2728 95B0 Methods to detect the end of a CLTU 1. 2. 3. 4. 5. In-band signaling: one bit per codeword In-band signaling: one-byte count field in first codeword Undecodable codeword Preferred option: 64-symbol tail sequence, value TBD Preferred option: No tail sequence; end of CLTU detected by decoder failure 3 1. Start sequences of various lengths Jet Propulsion Laboratory California Institute of Technology Markerless acquisition, using LDPC code structure • Advantage: No overhead • Disadvantage: High computational complexity • Disadvantage: Insufficient detection performance with the (128,64) code 4 2. and 3. Start sequence of 16, 32, or 64 symbols Jet Propulsion Laboratory California Institute of Technology Start sequences of various lengths • Advantage: A shorter start sequence has less overhead • Disadvantage: A shorter start sequence has poorer detection performance • A 64-symbol marker is necessary and sufficient Implementation options • A hard correlator is sufficient if the threshold is well chosen • The “approximate Massey” algorithm provides plenty of margin, with modestly increased implementation complexity 5 3. 64-symbol start sequence Jet Propulsion Laboratory California Institute of Technology Start sequence selection: The 64-symbol sequence from the TM standard is familiar, and has reasonable auto-correlation and cross-correlation properties. Zero-one balance Auto-correlation Cross-correlation with ...0101... idle seq. 64 ± 6 TM-standard 64-sym ASM 35/29 (surplus of 3 zeros) Max values: ±6 64 9,10,13 Randomized all-ones 30/34 (surplus of 2 ones) ± 4 6 1. In-band signaling: one bit per codeword Jet Propulsion Laboratory California Institute of Technology “Distributed” signaling, using first bit of each codeword • Advantage: Low overhead, if CLTU consists of only a few codewords (as it should) • Disadvantage: Message length is an inconvenient 63 or 255 bits 7 2. In-band signaling: one-byte count field Jet Propulsion Laboratory California Institute of Technology “One-shot” signaling, with count of codewords in CLTU • Advantage: Modestly lower error rate • Disadvantage: First message is 8 bits shorter than the others • Disadvantage?: This treads into protocol territory 8 3. Terminate with undecodable codeword Jet Propulsion Laboratory California Institute of Technology Undecodable codeword, as with BCH codes • Advantage: Greatest similarity to existing standard • Disadvantage: An undecodable LDPC codeword would be 128 or 512 symbols long. • Disadvantage: This is not compatible with an incomplete decoder 9 4. Terminate with a tail sequence Jet Propulsion Laboratory California Institute of Technology Termination with a 64-symbol tail sequence • Advantage: Similar to start sequence detection in performance, implementation, and complexity • Advantage: Compatible with a complete LDPC decoder • Disadvantage: More overhead than most of the alternatives, but this may not be very important. 10 5. No tail sequence Jet Propulsion Laboratory California Institute of Technology Use no tail sequence • • • • Tail of CLTU is declared when decoder over-runs and fails to decode Advantage: No overhead Disadvantage: Incompatible with complete decoders Disadvantage?: The end of a CLTU cannot be distinguished from a communications error. This is a disadvantage if the receiver should behave differently in the two cases. Back up to beginning of failed codeword Event Number E3 Event Name CHANNEL ACTIVATION CHANNEL DEACTIVATION START SEQUENCE FOUND E4 CODEBLOCK REJECTION E1 E2 Event Definition Bit modulation is detected and bit lock is achieved: channel bit stream is present. Bit lock is lost or communications signal is lost: channel bit stream is NOT present. The Start Sequence pattern has been detected, signaling the beginning of the first Codeblock of the CLTU. The decoder has indicated uncorrected errors in a Codeblock. No data from this Codeblock are transferred to the sublayer above, and searching commences from the beginning of the failed Codeblock. Table 4-2: CLTU Reception Events (Receiving End) 11 Questions Jet Propulsion Laboratory California Institute of Technology 4. Preferred option: 64-symbol tail sequence, value TBD 5. Preferred option: No tail sequence; end of CLTU detected by decoder failure Open question: Should we allow both options 4 and 5? • How does a complete decoder recover if it misses the tail sequence? Open question: If a tail sequence is used, what should its value be? • I think it cannot be the start sequence, without creating confusion. • The undecodable BCH tail sequence is C5C5 C5C5 C5C5 C579 • Any better suggestions? 12 Jet Propulsion Laboratory California Institute of Technology Backup 13 Error analysis with no tail sequence Jet Propulsion Laboratory California Institute of Technology Probabilities and consequences of incorrect state transitions • • • • Missed S2->S3; P(miss). Lost CLTU. Accidental S2->S3; P(FA). If so, next outcome is one of ... • Decoding failure; probability near unity. No consequence. • Improper decoding; probability similar to code’s undetected error rate? Codeword passed to protocol parser, and next outcome is one of ... • If this appears as a multiple-codeword TF, one of them will probably fail. If this appears as a one-codeword TF, it is probably rejected; probability near 1 if CRC is used, or if SCID and other fields verified. • Unintended command received. Probability ~ P(FA) × P(UER) × P(proto) per symbol, where P(proto)~2-16 if a CRC is used, or 2-10 if SCID is validated. Accidental S3->S2. Lost remainder of CLTU; P(CWER) per CW. Missed S3->S2; probability similar to code’s undetected error rate? If so, next outcome is one of ... • Improper decoding, as above. • Probability of unintended command ~ P(UER) × P(proto) per CLTU. 14 Error analysis with 64-symbol tail sequence Jet Propulsion Laboratory California Institute of Technology Decoder performance Correlator performance • With the (512,256) LDPC code, Eb/No~3.5 dB, the hard correlator is sufficient. The Massey algorithm provides plenty of margin with modestly increased complexity. 15 Complexity analysis with 64-symbol tail sequence Jet Propulsion Laboratory California Institute of Technology Complexity comparison Method 64-symbol, hard correlator (128,64) LDPC Complexity 63 XORs/sym (512,256) LDPC Complexity 63 XORs/sym 64-symbol, Massey 32 ops/sym 32 ops/sym LDPC decoding 114 ops/sym 177 ops/sym Units operation: add, subtract, table-lookup, clipping XOR: exclusive-OR; results are counted 16 Overhead analysis with 64-symbol tail sequence Jet Propulsion Laboratory California Institute of Technology Overhead A complete one-codeword transmission • A complete transmission includes a carrier sweep, and acquisition time for subcarrier and symbol lock. carrier only • • 176 symbol acquisition F symbol start seq n symbol codeword 64 symbol term. seq? (carrier only) Acquisition time: a common value is 176 symbols Carrier sweep: typical values are ±5 KHz (twice) at 200 Hz/sec, for a total time of >100 sec. Carrier-only time at end could be zero. f0+5 kHz f0 f0+5 kHz • 200 Hz/sec time Overhead: F symbols out of c+176+F+n+64 symbols, where c=(carrier-only time)/(symbol period). Minimum data rate is typically 7.8125 bits/sec. • Example: F=64, n=128, c=100×7.8125=781. Overhead: 1.056=0.24 dB 17 Overhead analysis with 64-symbol tail sequence Jet Propulsion Laboratory California Institute of Technology Overhead (continued) A secure one-codeword transmission • A spacecraft within range of a back-yard transmitter should use a cryptographically secure uplink. • Example: one (512,256) codeword, with 56 bits of USLP header, 48 bits of security header, 24 bits of data, and 128 bits of message authentication code. • Overhead: F symbols out of c+176+F+n+64 symbols, where c=(carrier-only time)/(symbol period). Maximum data rate is typically 2Kbps. • Example: F=64, n=512, c=100×2000=2e5. Overhead: 1.0003=0.0014 dB carrier only 176 symbol acquisition 64 sym start seq 512 symbol 64 symbol codeword term. seq? (carrier only) File upload • JPL generally performs the carrier sweep and sends the acquisition sequence once. Then many transfer frames are sent, one transfer frame per CLTU. The minimum length of a transfer frame is one codeword; the maximum length is 1024 bytes. • Example: Suppose a file is transmitted as a series of 1024-byte CLTUs, encoded with a rate-1/2 LDPC code. • Overhead: (16384+64)/16384 = 1.004 = 0.017 dB 18 Overhead analysis with 64-symbol tail sequence Jet Propulsion Laboratory California Institute of Technology Overhead conclusions • For short transmissions, the carrier sweep dominates the transmit time. Overhead from the start sequence is not important. The power efficiency of coding also is not important. The primary value of coding is to lower the undetected error rate. • For long transmissions, the start sequence is repeated with each CLTU. For long CLTUs, overhead from the start sequence is not important. However, a large number of short CLTUs (i.e. short transfer frames) is inefficient and should be avoided. Coding is important for power efficiency, and long codewords should be encouraged. 19