SLS-CS_13-20 High Data Rate (Gbps +) Coding Architecture

advertisement
Fall Technical Meeting, San Antonio 10/28-31/2013
SLS-CS_13-20
High Data Rate (Gbps +) Coding Architecture
Part 3 (part 2 was presented at Spring 2013 meeting)
V. Sank, H. Garon - NASA/GSFC/MEI
W. Fong, W. Horne – NASA/GSFC
1
High Data Rate (Gbps) Coding Architecture
Purpose
• To avoid having a transmitter encoder built in a way that is incompatible
with the ground receiver decoder, a standard or recommendation should exist.
Introduction
• Inherent to any system is the problem of component rate limits. In addition
to the encoder and decoder, the circuits that compose the I and Q or higher order
modulation channels, hit a rate limit. If there was only one way to architect the
system, there would be little concern. The problem is that there are several ways
to build the system and the transmitter must have the same structure as the receiver.
• As we push to very high rate Gbps links, we believe that CCSDS should set
standards on how encoders and decoders should be multiplexed. Vendors are
ahead of CCSDS and several have already chosen an architecture.
• Our intent here, at a minimum, is to make the community aware that a
laissez-faire approach towards standards is a poor choice. Since there are multiple
structures possible, every user must clearly specify their intended structure and
must insure that the encoder and decoder are compatible.
2
High Data Rate (Gbps) Coding Architecture
Rb = data rate (from C&DH) (bits/sec)
Rs = coded data rate (code symbol rate, code symbols/sec)
N = number of encoders
k = codeword message size (bits, nibbles, bytes)
n = codeword size including parity (same unit as k)
m = modulation order (ie. m=3 => 8PSK)
Rm = modulation symbol rate
s = size of ASM (same units as k and n)
mPSK
Data
Source
Rb
Block Code
Encoder
Mapper
Rs
Code symbols to
Modulation
Symbols
Rs = (n+s)/k Rb
Rm
Modulation
symbol
rate = Rs/m
m order
Modulator
R/m
Transmitter
• Diagrams are shown from the point of view of the transmitter.
• The structure of the decoder must complement the transmitter, except as
noted.
3
10-13-13
Recommended Architecture
Block Encoder Input, Block output (codeword in – codeword out)
b1, b2, b3, ...
Rb
b1, b2, b3, ...
Data Rb
Source
Rb
b1, b2, b3, ...
Rb
b1, b2, b3, ...
Rb
Block Code
R/N
Encoder
Block Code
R/N
Encoder
Block Code
R/N
Encoder
Block Code
R/N
Encoder
c1, c2, c3, ...
c1, c2, c3, ...
Rs
c1, c2, c3, ...
Rs = (n+s)/k Rb
Mapper
Code symbols to
Modulation
Symbols
mPSK
mth order
Modulator
Modulation
symbol
rate = Rs/m
c1, c2, c3, ...
• An encoder is loaded with the full message size, k, before data starts flowing into the
next encoder. (receivers from two vendors are configured this way. )
• Data on the physical channel appears the same as it would if there was a single
encoder that runs at the full rate.
• This architecture has the advantage that the number of encoders and decoders
need not be the same.
4
10-13-13
NOT Recommended Architecture
RS Type Frame applied to 7/8 LDPC
I=4
32 bit CSM
b1
b2
b3
b4
b5
b6
b7
b8
Bits are loaded horizontally and transmitted in the
same order. (Staggered IN, Staggered OUT)
Four separate codewords shown.
Codeword 1 contains bits b1, b5, … , 32637.
If a burs t of noise corrupts bits 5,6,7,8 on the
physical link, the decoder will see only one error in
each of the 4 codewords.
k = 7136
This configuration is used for Reed-Solomon
coding where the code word is only2040 bits long.
n = 8160
28545 28546 28547
n-k = 1024
This configuration is not generally required for the
7/8 LDPC code due to its larger size and better burst
error correcting ability.
When this configuration is used, the receiver must
be set up with the same number of decoders as
used in the encoder.
28548
CCSDS may decide to choose this as the
recommended Gbps coding structure, rather than
the structure shown on slides 5, 6, and 7.
32637 32638 32639 32640
If the encoder and decoder can handle the full data rate, it can be set to 1 and the result will
be the same structure on the physical channel as the recommended architecture. .
5
High Data Rate (Gbps) Coding Architecture
Conclusion:
• To avoid confusion, examples of architectures which are not
recommended are just as important as those which we do
recommend.
• Concepts that apply to RF also apply to Optical communications.
However, for optical communications, a different code block
structure (similar to the RS structure) may be desired.
• CCSDS should recommend standard before we have vendors
building Gbps systems that are incompatible with each other.
6
High Data Rate (Gbps) Coding Architecture
Back Up
7
Encoder, Simple Cases
Data
Source
Rb
Block Code
Encoder
BPSK
Rs
Mapper
Modulator
Single encoder
Limited rate
Simple
OQPSK
C1, C3, C5, ...
Data
Source
Rb
Block Code
Encoder
Single encoder
Limited rate
Recommended
Architecture
R/2
Rs
Mapper R/2
Modulator
C2, C4, C6, ...
Same decoder configuration as above
Recommended
Architecture
Simple
Staggered Encoder Input Independent Encoders on the I and Q channel
Block Code
Rb/2 Encoder
Rb/2 Block Code
b2, b4, b6, ...
Encoder
b1, b3, b5, ...
Data
Source
Rb
OQPSK
c1, c2, c3, ...
Rs/2
Rs/2
c1, c2, c3, ...
Modulator
Not
Recommended
Not so simple
Requires unique decoder configuration
When more than 1 encoder, input is shown as either b1 b2 b3 which means that a constant stream of bits
are input, or b1 b3 b5 and b2 b4 b6 which means that the bits are staggered from one encoder to the other.
8
Recommended Architecture
With OQPSK Modulation
Block Encoder Input, Block output
b1, b2, b3, ...
R
b1, b2, b3, ...
R
Data
Source
R
b1, b2, b3, ...
R
b1, b2, b3, ...
R
Block Code
R/N
Encoder
Block Code
R/N
Encoder
Block Code
R/N
Encoder
Block Code
R/N
Encoder
c1, c2, c3, ...
c1, c2, c3, ...
Data from a single encoder is
staggered onto the I and Q channels
OQPSK
c1, c3, c5, ...
R/2
R
Modulator
Mapper R/2
R
c1, c2, c3, ...
c1, c2, c3, ...
c2, c4, c6, ...
For 7/8 LDPC code
there will be 0 Modulation
symbols that cross a boundary.
• Data on Physical channel appears the same as if there was a single encoder that runs
at full rate, R.
• This architecture has the advantage that the number of encoders and decoders
need not be the same. Four encoders shown but the number depends on the rate
capability of the encoders and decoders.
9
Recommended Architecture
With 8PSK Modulation
Block Encoder Input, Block output
One encoder is
loaded before
switching to the
next.
R
Data
Source
b1, b2, b3, ...
R
b1, b2, b3, ...
R
b1, b2, b3, ...
R
Block Code
R/N
Encoder
Block Code
R/N
Encoder
Block Code
R/N
Encoder
c1, c2, c3, ...
c1, c2, c3, ...
R
Mapper
R
c1, c2, c3, ...
Currently,
Data Rates Greater than 1 Gbps Require 8PSK
Note that this Architecture does not use a
separate encoder for each of the 3 channels.
Data from a single encoder
forms a modulation symbol
Except at
Block
boundary
8 PSK
R/3
c1, c4, c7, ...
R/3 Modulator
c2, c5, c8, ...
R/3
c3, c6, c9, ...
For every 3 codewords
there will be 2 Modulation
symbols that cross a boundary.
• Data on Physical channel appears the same as if there was a single encoder that runs
at full rate, R.
• This architecture has the advantage that the number of encoders and decoders
need not be the same. Three encoders shown but the number depends on the rate
capability of the encoders and decoders.
10
NOT Recommended Architecture
With OQPSK Modulation
Staggered Encoder Input, and Output
Block Code
Rb/N Encoder
b1, b5, b9, ...
Block Code
Rb/N Encoder
b2, b6, b10, ...
Data Rb
Source
Block Code
Rb/N Encoder
b3, b7, b11, ...
Block Code
Rb/N Encoder
c1, c5, c9, ...
c2, c6, c10, ...
Rs/N
c3, c7, c11, ...
Possible OQPSK configuration
Similar to RS code block
NOT Recommended
OQPSK
c1, c3, c5, ...
Rs
R/2
Mapper R/2
Modulator
c2, c4, c6, ...
b4, b8, b12, ...
c4, c8, c12, ...
• This configuration has the same advantage as the RS code block, burst protection.
• M ≡ average number of codeword errors that can be corrected over all codewords.
• On average, this configuration will correct a burst of N*M bits because consecutive
bits on the physical channel are from different encoders.
• An implementation that is expecting a high burst noise background may prefer
such a custom design where bits are staggered into and out of the encoder.
(more detail on next slide)
11
Quad Encoder, 16PSK possible configuration
Block Encoder Input, Block output
Block Code
R/N Encoder
b1, b2, b3, ...
c1, c2, c3, ...
R/4
16PSK
Block Code c1, c2, c3, ...
s1, s2, s3, ...
R/N Encoder R/N
R
s1, s2, s3, ...
4th order
b1, b2, b3, ...
Mappers1, s2, s3, ...
Block Code
Modulator
R/N Encoder c1, c2, c3, ...
s1, s2, s3, ...
b1, b2, b3, ...
R
Data
Source
Possible 16PSK configuration
RECOMMENDED
Block Code
R/N Encoder
b1, b2, b3, ...
c1, c2, c3, ...
s1, s2, s3, …
are modulation symbols
Rchannel symbol = R/4
8192/4 = 2048
• This architecture has the advantage that the number of encoders and decoders
need not be the same.
• On average, this configuration will correct a burst of N bits, not N channel symbols
• A cover code can be used to synchronize the decoders and resolve ambiguity.
12
High Data Rate (Gbps) Coding Architecture
Background
• In days past, in a case with a convolutional code, and rate limited decoders,
several decoders were required. Not realizing that there was more than one way to
architect the system, the vendor chose what was thought to be the only or obvious
structure, and built the spacecraft. It was not until after CDR and after the spacecraft
was built, that we asked the vendor how he knew what the ground station design
was. It turned out that the spacecraft was built incorrectly and the transmitter
encoder needed to be disassembled and redesigned. The spacecraft vendors test
equipment also needed to be redesigned.
Scope
• the intend of this presentation is to have CCSDS consider a standard
• This presentation is not intended to be a design document or specification.
• The following diagrams do not consider the latencies, memory buffers and frame
synchronization that will be required in a formal specification or real system.
13
Download