The DSP implementation of the decoder by maclaren1

VIEWS: 23 PAGES: 26

									                         SOME REMARKS ABOUT A POSSIBLE
                                 NEW STANDARD
                         FOR TELEMETRY CHANNEL CODING
                         WITH HIGH SPECTRAL EFFICIENCY


       Gian Paolo Calzolari, Marco Chiani, Franco Chiaraluce, Roberto Garello

    Remark: The work here presented is one of the current contributions to the activities of CCSDS
    Sub Panel 1B where other Member Agencies are also very active!




1
                  CCSDS channel coding standard [1]:
        Reed-Solomon, Convolutional, Concatenated & Turbo Codes
    [1] CCSDS 101.0-B-5, “Telemetry Channel Coding”, Blue Book, Issue 5, June 2001
       CRS: a (255,223) or C’RS: (255,239) Reed-Solomon code with 8-bit
        symbols and Error Correction Capability ECC = 16 or 8 symbols
        [Code-rate R = 0.875 or 0.937].
       CCC: a 64-state, rate-1/2 binary convolutional code [Code-rate R =
        0.5] puncturable to C’CC [Code-rates = 0.667 / 0.750 / 0.833 /
        0.875].
       CSC: their serial concatenation [RS outer code] through an
        interleaver of length (255I) bytes, with I = 1,2,3,4, or 5 [Code-
        rates = 0.437 / 0.583 / 0.656 / 0.729 / 0.765 / 0.469 / 0.625 / 0.703 /
        0.781 / 0.820].
       CTC: a family of turbo codes with nominal rates 1/2, 1/3, 1/4, or
        1/6 [Code-rate R = 0.500 / 0.333 / 0.250 / 0.167].


                                 SpaceOps 2002 Houston, TX, Oct. 9-12 2002

2
          Requirements for future high data-rate missions
DATA-RATES: Very high, ranging from a few Mbps to hundreds of Mbps.

BANDWIDTH-EFFICIENCY: Large (due to high data-rates and spectral
crowding from many satellites). Target spectral efficiency: at least 1.5
bit/s/Hz over 4-PSK (binary codes with code-rate R  3/4).

POWER-EFFICIENCY: Very large coding gains needed (due to limited
transmitted power from satellites of small dimensions).

ERROR RATES: Some applications may require extremely low error
probabilities (poor error resilience of video and image compression
techniques). Example: Frame Error Rates = 107.

COMPLEXITY: Limited for both encoders (realized on board) and
decoders (due to very high data rates involved).
                            SpaceOps 2002 Houston, TX, Oct. 9-12 2002

3
              The codes studied by ESOC, University of Ancona
                     and University of Bologna ([2],[3])
     Turbo codes (16-state, 8-state, DVB-like, partially systematic)
     Product codes
     Low density parity check codes (LDPCC)
                                  Methods of analysis
     Simulation at high/medium error rates (BER  107 or FER  104),
     Analytical expressions at low/very low error rates (BER  108 or
      FER  105): {[4] R. Garello, P. Pierleoni, and S. Benedetto “Computing the Free Distance
       of Turbo Codes and Serially Concatenated Codes with Interleavers: Algorithms and
       Applications” IEEE J. on Select. Areas in Commun., vol. 19, pp. 800-812, May 2001}.


     [2] University of Ancona, “Bandwidth-efficient coding schemes – Final Report”, ESA/ESOC
     Contract No. 14128/00/D/SW, Dec. 2000.
     [3] University of Ancona, “Highly efficient channel codes for high data rate missions – Final
     Report”, ESA/ESOC Contract No. 15048/01/D/HK (SC), Dec. 2001.
                                        SpaceOps 2002 Houston, TX, Oct. 9-12 2002

4
             ESA proposal: Punctured CCSDS Turbo Codes
     PCTC (Punctured CCSDS Turbo Codes) obtained by puncturing CCSDS
      turbo code CTC: represent a pragmatic and versatile solution.
     Code designed for code-rates 3/4, 7/8, 8/9, 11/12, and 15/16 with external
      puncturing.
              Information bits INFORMATION FRAME INa                   CCa                       out0a
                                     (N bits)
                                                                                 

                                                          D       D         D           D
                              INTERLEAVER                                                        out1a
                                                                                           




                                                                                                         PUNCTURER
                                                                                                                     Encoded bits
                               PERMUTATED                              CCb                       out0b
                                                INb
                           INFORMATION FRAME
                                                                                 

                                                          D       D         D           D

                                                                                                 out1b
                                                                                           




                                            SpaceOps 2002 Houston, TX, Oct. 9-12 2002

5
                          Results for PCTC - Punctured CCSDS Turbo Codes
                 Simulation and Error floor: Rate-3/4 N = 8920 (dmin = 10, Amin = 29, wmin = 169)



                     PCTC m=4 Rate-3/4                   15 Iterations                       PCTC m=4 Rate-3/4               15 Iterations
                                                         Error Floor                                                         Error Floor
            -1       Berrou Interleaver N=8920                                      0
                                                                                             Berrou Interleaver N=8920
      10                                                                       10
            -2                                                                      -1
      10                                                                       10
            -3
      10                                                                            -2
            -4
                                                                               10
      10                                                                            -3
            -5                                                                 10
      10
            -6                                                                      -4
      10                                                                       10



                                                                         FER
BER




            -7                                                                      -5
      10                                                                       10
            -8
      10                                                                       10
                                                                                    -6
            -9
      10                                                                            -7
           -10                                                                 10
      10
                                                                                    -8
      10
           -11                                                                 10
           -12                                                                      -9
      10                                                                       10
                 1               2                3             4                        1              2                3           4
                                     Eb/N0 (dB)                                                             Eb/N0 (dB)



                                                      SpaceOps 2002 Houston, TX, Oct. 9-12 2002

6
                          Results for PCTC - Punctured CCSDS Turbo Codes
                     Simulations and Error floor: Rate-7/8 N = 8920 (dmin = 5, Amin = 79, wmin = 316)



                     PCTC m=4 Rate-7/8               15 Iterations                       PCTC m=4 Rate-7/8               15 Iterations
                     Berrou Interleaver N=8920       Error Floor                         Berrou Interleaver N=8920       Error Floor
            -1                                                                  0
      10                                                                   10
            -2
      10                                                                   10
                                                                                -1

            -3
      10                                                                        -2
            -4                                                             10
      10                                                                        -3
            -5                                                             10
      10
            -6                                                                  -4
      10                                                                   10
BER




                                                                     FER
            -7                                                                  -5
      10                                                                   10
            -8
      10                                                                        -6
            -9
                                                                           10
      10                                                                        -7
           -10                                                             10
      10
                                                                                -8
      10
           -11                                                             10
           -12                                                                  -9
      10                                                                   10
                 2        3       4         5    6          7                        2         3       4         5   6          7
                                   Eb/N0 (dB)                                                           Eb/N0 (dB)



                                                 SpaceOps 2002 Houston, TX, Oct. 9-12 2002

 7
            Results for PCTC - Punctured CCSDS Turbo Codes

     Very useful for versatile and re-configurable implementations:
      a single chip could realize a code-rate ranging from 1/6 to 15/16.
     Extremely powerful at high/medium error rates (FER  103).
     Still powerful at low error rates (FER  104 , 105).

     Error floor phenomenon (due to small minimum distances): not very
      powerful at very low error rates (FER  108).
      (Exception: rate-3/4 codes, which are still good, especially for large data
      frame lengths.)
     Digital implementation at very high data rates: seems problematic over
      some tens of Mbit/s.

     Useful as a short term solution (especially for rate-3/4 codes).
     Ideal for applications requiring not too low error rates.
     Can be adopted as a benchmark for comparison of other schemes.
                                SpaceOps 2002 Houston, TX, Oct. 9-12 2002

8
                                      Information bits INFORMATION FRAME INa                   CCa                       u
    Improving PCTC (Punctured                                (N bits)
                                                                                                         


      CCSDS Turbo Codes):                                                         D       D         D           D
                                                                                                                              P
                                                      INTERLEAVER                                                        p1   U
                                                                                                                   
                                                                                                                              N
                                                                                                                              C
    non-systematic (partially                          PERMUTATED                              CCb
                                                                                                                              T
                                                                                                                              U
                                                                                                                                  Encoded bits

                                                                        INb
systematic) puncturing patterns                    INFORMATION FRAME
                                                                                                         
                                                                                                                              R
                                                                                                                              E
                                                                               
                                                                                                                              R
                                                                                   D       D         D           D
                                                                                                                         p2
                                                                                                                   


                        Information bits can be punctured, too
                   For every block of 24 information bits:
Ex: rate-3/4 PCTC: – information bits: only 18 transmitted
                   – parity check bits: only 14 transmitted (7 for each encoder)
                   – Nominal rate 24/(18+14)=3/4

          0 1 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1  u
      B  1 0 0 1 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 p1
                                                          
          0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1  p2
                                                          

                                 SpaceOps 2002 Houston, TX, Oct. 9-12 2002

9
      Ad-hoc design for CCSDS data-frame lengths and code-rates


Data frame lengths (compatible with data frame lengths of CCSDS turbo codes,
Reed-Solomon codes and concatenated codes):
                      F = 1784 and 8920 bits

   Code-rates:             R = 3/4, 7/8, 15/16

   Decoding algorithm: BCJR algorithm (15 iterations)

   Performance analysis:
           simulation
           error floor
                      evaluation
           comparison with systematic punctured CCSDS turbo code

                                   SpaceOps 2002 Houston, TX, Oct. 9-12 2002

10
     PCTC (Punctured CCSDS turbo codes): systematic vs. non-systematic
                                            Systematic PCTC                                               Systematic PCTC
                                            Partially systematic PCTC                                     Partially systematic PCTC
            0                               Floor systematic PCTC                                         Floor systematic PCTC
        10-1                                                                          0
        10-2                                Floor partially sistematic PCTC         10                    Floor partially systematic PCTC
                                                                                       -1
        10-3                                                                        10
                                                                                       -2
        10-4                                                                        10
        10-5                                                                        10
                                                                                       -3
        10-6                                                                           -4
                                                                                    10
 BER




        10-7




                                                                              FER
                                                                                       -5
        10-8                                                                        10
        10-9                                                                        10
                                                                                       -6
        10                                                                             -7
          -10
       10-11                                                                        10
                                                                                       -8
       10-12        15-iter.                                                        10 15-iter.
                                                                                       -9
       10                                                                           10
                1          2         3      4          5           6                      1    2    3      4          5           6
                                   Eb/N0 (dB)     F = 1784 bits and R = 3/4                        Eb/N0 (dB)
                                       Systematic:
                                                                          Better Water-Fall region
                                (dmin/Amin/wmin) = (6/4/8)

                                 Partially systematic:                   Larger minimum distances
                               (dmin/Amin/wmin) = (10/3/6)                Better error floor curves
                                                       SpaceOps 2002 Houston, TX, Oct. 9-12 2002

11
            Partially Systematic Punctured CCSDS Turbo Codes:
                                  comments

      Ad hoc design of partially systematic puncturing patterns allows to obtain PCTCs
       with larger minimum distances and better error floors.
                                               
                         Improved performance at very low error rates.

      Worse performance at high/medium error rates.
      Penalty paid by iterative decoding looks slightly larger than for systematic PCTC
       ( 0.5 dB).
      Minimum distances computed by limiting the input weight (true minimum distances
       could be lower, even if the probability of this event should be low).

      The design of effective partially systematic puncturing patterns is generally difficult.
      Only simple “rules of thumb” are currently available.



                                     SpaceOps 2002 Houston, TX, Oct. 9-12 2002

12
                                                                              n2
                      Product Codes
               CP = C1C2                                                     k2
       C1(n1, k1, d1)      C2(n2, k2, d2)
                                                                                                    Checks
                                                       n1      k1          Information bits           on
                                                                                                     rows
                        kP = k1·k2
     CP(nP, kP, dP)     nP = n1·n2
                        dP = dmin= d1·d2                                                            Checks
                                                                       Checks on columns              on
                                                                                                    checks




     Special case: C1= C2                  kP = k2,        nP = n2,      dmin = d2,          RP = k2/n2.

     Extended Hamming Codes CP = (EHl)2 are generally preferred since they permit to
     increase the product code minimum distance from dmin = 9 to dmin = 16.

                                         SpaceOps 2002 Houston, TX, Oct. 9-12 2002

13
                                      Product codes


      Very powerful at low/very low error rates (due to large minimum distances
       by construction, partially attenuated by very large multiplicity which raise
       up their asymptotic bounds).
      Commercial chips implementing their co-decoders already exist, working
       up to 200 Mbit/s (seem useful for re-configurable applications, too).

      Less powerful than punctured CCSDS turbo codes for high/medium error
       rates (usually down to FER  104).
      The design of product codes for “typical” CCSDS data frame lengths and
       code-rates may require the use of
         - puncturing
         - parity code as constituent codes
       which reduce their minimum distances and raise their asymptotic bounds.

                                   SpaceOps 2002 Houston, TX, Oct. 9-12 2002

14
     Product codes: Design for CCSDS data frame lengths and data-rates

      Data frame lengths (compatible with data frame lengths of CCSDS turbo codes, Reed-Solomon
     codes and Concatenated codes):
                F = 1784 and 8920 bits
     Code-rate:
                R = 3/4, 7/8, 15/16
      Constituent codes:
                 Shortened extended Hamming codes
                 Parity codes when necessary
                 (no puncturing)
      Decoding algorithm:
                with “optimal” feedback coefficients           (15 iterations)
      Performance analysis:
                 simulation
                 error floor evaluation
                 comparison with punctured CCSDS turbo code


                                      SpaceOps 2002 Houston, TX, Oct. 9-12 2002

15
     Product codes: Design for CCSDS data frame lengths and data-rates
                    Turbo Product Code with F = 1784 bits and code-rate R = 3/4

TPC = (2430,1786) = (45,38)x(54,47)                               (dmin/Amin/wmin) = (16/12664512/148820688)
                R=3/4 F=1784 bits               PCTC                                   R=3/4 F=1784 bits               PCTC
                                                Floor PCTC                                                             Floor PCTC
            0                                   TPC (45,38)x(54,47)            0                                       TPC (45,38)x(54,47)
        10                                                                  10
           -1                                   Floor TPC                                                              Floor TPC
        10                                                                    -1
           -2                                                               10
        10                                                                    -2
           -3
        10                                                                  10
           -4                                                                 -3
        10                                                                  10
           -5
        10                                                                  10
                                                                              -4




                                                                      FER
           -6
 BER




        10                                                                    -5
        10
           -7                                                               10
           -8                                                                 -6
        10                                                                  10
           -9                                                                 -7
        10                                                                  10
          -10
       10                                                                     -8
          -11
                    15-Iter.                                                10           15-Iter.
       10                                                                     -9
          -12
       10                                                                   10
                1         2          3      4             5           6            1           2            3      4             5           6
                                    Eb/N0 (dB)                                                             Eb/N0 (dB)

                                                   SpaceOps 2002 Houston, TX, Oct. 9-12 2002

16
     Product codes: Design for CCSDS data frame lengths and data-rates
                     Turbo Product Code with F = 1784 bits and code-rate R = 7/8

TPC = (2032,1785) = (127,119)x(16,15)                                  (dmin/Amin/wmin) = (8/9921240/69722100)
                                           PCTC                                                                      PCTC
               R=7/8 F=1784 bits                                                R=7/8 F=1784 bits                    Floor PCTC
                                           Floor PCTC
           0
                                           TPC (127,119)x(16,15)                                                     TPC (127,119)x(16,15)
        10                                                                  0
          -1
                                           Floor TPC                     10                                          Floor TPC
        10                                                                 -1
          -2                                                             10
        10
          -3                                                               -2
        10                                                               10
          -4
        10                                                               10
                                                                           -3
          -5
        10                                                                 -4
          -6                                                             10
 BER




                                                                   FER
        10                                                                 -5
          -7
        10                                                               10
          -8                                                               -6
        10                                                               10
          -9
        10                                                                 -7
         -10                                                             10
       10                                                                  -8
       10
         -11
                   15-Iter.                                              10         15-Iter.
         -12                                                               -9
       10                                                                10
               1       2       3       4        5       6          7            1       2           3       4        5        6         7
                                   Eb/N0 (dB)                                                           Eb/N0 (dB)

                                                    SpaceOps 2002 Houston, TX, Oct. 9-12 2002

17
     Product codes: Design for CCSDS data frame lengths and data-rates

                    Turbo Product Code with F = 8920 bits and code-rate R = 3/4

TPC=(11500,8917)=(46,37)x(250,241) (dmin/Amin/wmin)=(16/388728905/4789821944)
                                            PCTC                                                                 PCTC
               R=3/4 F=8920 bits                                                R=3/4 F=8920 bits
                                            Floor PCTC                                                           Floor PCTC
           0                                TPC (46,37)x(250,241)                                                TPC (46,37)x(250,241)
        10                                                              10
                                                                            0
                                                                                                                 Floor TPC
          -1                                Floor TPC
        10                                                                 -1
        10
          -2                                                            10
          -3                                                               -2
        10                                                              10
          -4
        10                                                              10
                                                                           -3
          -5
        10                                                                 -4
          -6                                                            10
 BER




                                                                FER
        10                                                                 -5
          -7
        10                                                              10
          -8                                                               -6
        10                                                              10
          -9
        10                                                                 -7
         -10                                                            10
       10                                                                  -8
       10
         -11
                   15-Iter.                                             10          15-Iter.
         -12                                                               -9
       10                                                               10
               1              2        3          4                 5           1              2        3         4              5
                                   Eb/N0 (dB)                                                       Eb/N0 (dB)
                                                SpaceOps 2002 Houston, TX, Oct. 9-12 2002

18
                        Results for product codes


      Design for CCSDS data frame lengths and code-rates confirms that
       product codes are very powerful at low/very low error rates.
      Typically, for code-rate R  7/8 they outperform systematic PCTC at
       FER  104  105.
      For code-rate 3/4 and F = 8920 bits, PCTC perform better than
       product codes even at very low error rates.




                             SpaceOps 2002 Houston, TX, Oct. 9-12 2002

19
                   Low Density Parity Check Codes (LDPCC)

      Block Codes with very sparse matrixes, invented in [5]
      Re-discovered and re-interpreted in [6]
                         Advantages:
      Decoder highly parallelizable
      Implicit Error Detection
                            Drawbacks:
      Encoder complexity
      Error floor?
[5] R.G.Gallager. “Low-Density Parity-Check Codes”. IRE Transactions on Information Theory, vol. IT-8,
pp. 21-28, Jan. 1962.
[6] D.J.C. McKay. “Good Error-Correcting Codes based on Very Sparse Matrices”. IEEE Transactions on
Information Theory, vol. 45, pp. 399-431, March 1999.
                                       SpaceOps 2002 Houston, TX, Oct. 9-12 2002

20
                             Regular LDPCC
      Regular LDPCC have good performance but a little worse than
        turbo code
                           Irregular LDPCC [7]
      The degree of each node (variable or check) is allowed to vary
       according to some distribution

     Problem: To find good distributions

     Through optimization: Irregular LDPCC can be found that
     compare favorably with the best turbo codes

 [7] T. Richardson, A. Shokrollahi, R. Urbanke. “Design of Capacity-Approaching Irregular
 Low-Density Parity Check Codes”. IEEE Transactions on Information Theory, vol. 47,
 pp. 619-637, Feb. 2001.
                                  SpaceOps 2002 Houston, TX, Oct. 9-12 2002

21
                            Results for (irregular, non-cyclic) LDPCC

       Very powerful at both high and low error rates, especially for high code-rates
                    Rate-3/4, F=7136 bits              LDPCC                                                         LDPCC
                                                                                   Rate-15/16, F=7136 bits
                                                       PCTC                                                          PCTC
           0                                                                  0
      10                                                                 10
           -1                                                                 -1
      10                                                                 10
           -2                                                                 -2
      10                                                                 10




                                                                   FER
FER




           -3                                                                 -3
      10                                                                 10
           -4                                                                 -4
      10                                                                 10
           -5                                                                 -5
      10                                                                 10
                1               2                3             4                   3            4                5           6
                                    Eb/N0 (dB)                                                      Eb/N0 (dB)




                                                     SpaceOps 2002 Houston, TX, Oct. 9-12 2002

22
     Low Density Parity Check Codes based on Finite Geometries
                           (LDPCC-FG)

      Recent proposal [8] to design (strictly) regular LDPCC


      Exploits some useful properties of Euclidean and projective
       geometries over finite fields

      Regular LDPCC can be constructed maintaining a large
       minimum distance, and a simple encoder structure based on the
       cyclic or quasi-cyclic underlying structure of the code
 [8] Y. Kou, S. Lin and M. P.C. Fossorier. “Low Density Parity Check Codes Based on Finite
 Geometries: A Rediscovery and New Results”. IEEE Trans. on Inform. Theory, vol. 47,
 pp. 2711-2736, Nov. 2001.
                                  SpaceOps 2002 Houston, TX, Oct. 9-12 2002

23
                             Practical implementations

    Introduction of turbo-like codes in important international standards
     (UMTS, DVB (Return to satellite), CCSDS, many others under
     discussion).

    Large interest for practical implementations.

    Until now: ad hoc DSP/FPGA/ASIC implementations
     (e.g., ESA DSP turbo decoder).

    First dedicated commercial chips just available.




                                SpaceOps 2002 Houston, TX, Oct. 9-12 2002

24
                               Commercial chips

    Turbo codes: some companies (Broadcom, IMEC, STMicroelectronics)
     have recently announced chips able to work with data rates up to 155
     Mbps.

    Product codes: commercial chips working with data rates up to 155 Mbit/s
     already available (AHA).

    Low Density Parity Check Codes: IP cores announced, able to support
     extremely high data rates, up to some Gbps (Flarion).




                              SpaceOps 2002 Houston, TX, Oct. 9-12 2002

25
                        The lessons learned
Generally speaking:
    Parallel concatenated turbo codes (e.g. CCSDS turbo codes) and
     irregular LDPCC confirm their excellent performance at
     high/medium error rates (FER > 104). Some LDPCC may become
     interesting at very low error rates.
    Product codes confirm their excellent performance at very low error
     rates (FER < 108).
    In the intermediate region (108 < FER < 104), depending on the
     frame length and rate, solutions can be found (based on partially
     systematic turbo codes, DVB-like turbo codes, double-turbo codes,
     low density parity check codes…) which behave better.
    An “all-powerful” code does not exist.
    The choice may depend on the target (possibly realistic) for the
     quality requirements: Which error rates are really of interest?
                          SpaceOps 2002 Houston, TX, Oct. 9-12 2002

26

								
To top