Advanced Coding

Serial/Parallel Turbo Codes:

The impressive performance of turbo codes were first demonstrated by Berrou, et al in 1993, and the theoretical foundations were later unveiled by Benedetto, Divsalar, McEliece, et al. The original turbo codes proposed by Berrou were a parallel concatenation of two recursive systematic convolutional (RSC) codes with a random interleaver in between. Parallel concatenation is later extended to serial concatenation, and is found to perform just as good. Turbo codes have opened a new arena of concatenated codes with soft iterative decoding. The turbo principle is being widely used in many aspects of digital communications and data storage systems.

  • Serial concatenation of convolutional codes (SCCC) and parallel concatenation of convolutional codes (PCCC) (Implemented MAP decoder (BCJR algorithm) for decoding recursive systematic convolutional codes for use in parallel turbo codes and serial turbo codes.)
  • Turbo equalizer for intersymbol interference (ISI) channels. (Implemented MAP decoder (BCJR algorithm) for equalizing ISI channels.)
  • Performance of turbo codes on AGWN, wireless communication channels (eg. independent Rayleigh fading, correlated land mobile Rayleigh fading), optical fiber communication channels (eg. Chi-square, asymmetric Gaussian), and magnetic and magneto recording channels (eg. ideal partial response, Lorentzian).

Low Density Parity Check Codes:

Low Density Parity Check codes were first discovered by Gallager and were rediscovered by Ruby, MacKay, Richardson, Urbanke, Lin, el al.

  • Code construction and message-passing decoding of LDPC codes. (Implemented a sequential construction (random bit filling) way of construct LDPC codes with the constraint of girth >=6; implemented encoder and decoder (sum-product/min-sum algorithm) for regular/irregular LDPC codes.)
  • Rate-Compatible LDPC codes and a type II hybrid Automatic Repeat reQuest (ARQ) system: proposed a systematic scheme to construct RC-LDPC codes employing the techniques of both extending and puncturing, computed the thresholds of punctured LDPC codes using Density Evolution (DE). (paper)
  • Bandwidth efficient LDPC codes: multi-level coding and multi-stage decoding (MLC/MSD) of LDPC codes with soft feedbacks. (paper)
  • High-rate, short block size LDPC codes for PR channels with application to magnetic and magneto-optic (MO) recording: BER performance, precoding and error burstiness. (paper1,paper2)

Product Accumulate codes & Generalized Product Accumulate Codes:

We proposed a class of linear-complexity, capacity-approaching, provably “good”, high-rate codes, namely Product Accumulate codes. We proposed an efficient graph-based sum-product (message-passing) decoding and its low-complexity approximation, the min-sum decoding. We investigated spectral shape; quantified interleaving gain and derived a tight upper bound for evaluating the performance of the codes under the maximum likelihood decoding. We also computed thresholds of the codes under the iterative decoding using density evolution, and investigate the performance degradation caused by the suboptimality of the iterative decoding approach.
We further extended PA codes to Generalized Product Accumulate (GPA) codes so that it now covers the entire rate range. Analysis of the performance and properties of GPA codes is conducted.

  • The construction, properties, performance and analysis of PA codes: PA codes are a low-cost alternative to turbo or LDPC codes (especially at high rates) for systems where good-performance is required but where high-complexity is not affordable. (paper1paper2paper3)
  • Generalized product accumulate codes: performance evaluation, and analysis under the assumption of ML decoding and from the iterative decoding perspective. (paper)
  • Performance and analysis of PA codes on Rayleigh fading channels with and without channel state information (CSI): maximum likelihood (ML) bounds to characterize the error floors, thresholds computation using Density Evolution (DE). (paper)
  • Performance and analysis of high-rate PA codes in optical fiber communications with amplified spontaneous emission (ASE) noise: three channel models are studied including Chi-square, asymmetric Gaussian and symmetric Gaussian channels, derived pairwise error probability (PEP) and computed average bounds. (paper)
  • Bandwidth efficient PA codes: the performance of PA codes with 16- and 64-QAM excels that of the turbo-QAM system!

Turbo Product Codes:

Turbo product codes (TPC), also known as block turbo codes (BTC), are formed of codewords from linear block codes in multi-dimensional array. Of particular interest to the data storage systems is the type of TPC codes based on single-parity check codes, namely, TPC/SPC codes (also known as super codes). They are of high rate and can be decoded using a simple soft message-passing decoding algorithm similar to that of LDPC codes. With properly precoded partial response (PR) channels, employing iterative decoding and equalization, interleaving gain results. Simulations show that they achieve bit error rate (BER) comparable to that of LDPC codes yet with better error burstiness.

  • Iterative decoding and equalization of TPC/SPC codes on PR channels: PR4/EPR4 for magnetic recording and PR1/PR2 for MO recording, effect of binary precoding, error burstiness. (paper1paper2paper3)
  • Performance of TPC/SPC codes on Lorentzian channels for recording systems: code rate vs normalized recording density, effect of PR target, error burstiness. (paper)
  • Thresholds of TPC/SPC codes on intersymbol interference (ISI) channels. (paper)