Decoding of Block Turbo Codes

Similar documents
High-Rate Non-Binary Product Codes

Improvement Of Block Product Turbo Coding By Using A New Concept Of Soft Hamming Decoder

Performance comparison of convolutional and block turbo codes

Outline. Communications Engineering 1

Chapter 3 Convolutional Codes and Trellis Coded Modulation

n Based on the decision rule Po- Ning Chapter Po- Ning Chapter

Advanced channel coding : a good basis. Alexandre Giulietti, on behalf of the team

Multiple-Bases Belief-Propagation for Decoding of Short Block Codes

EE 435/535: Error Correcting Codes Project 1, Fall 2009: Extended Hamming Code. 1 Introduction. 2 Extended Hamming Code: Encoding. 1.

Department of Electronic Engineering FINAL YEAR PROJECT REPORT

ERROR CONTROL CODING From Theory to Practice

A Survey of Advanced FEC Systems

Contents Chapter 1: Introduction... 2

Notes 15: Concatenated Codes, Turbo Codes and Iterative Processing

AN INTRODUCTION TO ERROR CORRECTING CODES Part 2

Performance of Turbo Product Code in Wimax

ECE 6640 Digital Communications

Turbo coding (CH 16)

Digital Television Lecture 5

Master s Thesis Defense

THE idea behind constellation shaping is that signals with

LDPC Decoding: VLSI Architectures and Implementations

Digital Communications I: Modulation and Coding Course. Term Catharina Logothetis Lecture 12

MULTILEVEL CODING (MLC) with multistage decoding

Performance Evaluation of Low Density Parity Check codes with Hard and Soft decision Decoding

IEEE C /02R1. IEEE Mobile Broadband Wireless Access <

Serially Concatenated Coded Continuous Phase Modulation for Aeronautical Telemetry

ISSN: International Journal of Innovative Research in Science, Engineering and Technology

Performance of Combined Error Correction and Error Detection for very Short Block Length Codes

Goa, India, October Question: 4/15 SOURCE 1 : IBM. G.gen: Low-density parity-check codes for DSL transmission.

FOR THE PAST few years, there has been a great amount

ECE 6640 Digital Communications

Study of Turbo Coded OFDM over Fading Channel

designing the inner codes Turbo decoding performance of the spectrally efficient RSCC codes is further evaluated in both the additive white Gaussian n

EFFECTIVE CHANNEL CODING OF SERIALLY CONCATENATED ENCODERS AND CPM OVER AWGN AND RICIAN CHANNELS

Dual-Mode Decoding of Product Codes with Application to Tape Storage

On short forward error-correcting codes for wireless communication systems

Information Processing and Combining in Channel Coding

Performance of Nonuniform M-ary QAM Constellation on Nonlinear Channels

S Coding Methods (5 cr) P. Prerequisites. Literature (1) Contents

SIMULATIONS OF ERROR CORRECTION CODES FOR DATA COMMUNICATION OVER POWER LINES

Error Control Coding. Aaron Gulliver Dept. of Electrical and Computer Engineering University of Victoria

Toward Gb/s turbo decoding of product code onto an FPGA device.

IN data storage systems, run-length-limited (RLL) coding

Hamming net based Low Complexity Successive Cancellation Polar Decoder

DEGRADED broadcast channels were first studied by

Multilevel RS/Convolutional Concatenated Coded QAM for Hybrid IBOC-AM Broadcasting

Recent Progress in Mobile Transmission

Turbo-codes: the ultimate error control codes?

An Iterative Noncoherent Relay Receiver for the Two-way Relay Channel

Channel Coding for IEEE e Mobile WiMAX

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 50, NO. 1, JANUARY

A rate one half code for approaching the Shannon limit by 0.1dB

Chapter 1 Coding for Reliable Digital Transmission and Storage

Background Dirty Paper Coding Codeword Binning Code construction Remaining problems. Information Hiding. Phil Regalia

TURBO codes are an exciting new channel coding scheme

International Journal of Computer Trends and Technology (IJCTT) Volume 40 Number 2 - October2016

Bridging the Gap Between Parallel and Serial Concatenated Codes

Parallel Concatenated Turbo Codes for Continuous Phase Modulation

Intro to coding and convolutional codes

Q-ary LDPC Decoders with Reduced Complexity

Journal of Babylon University/Engineering Sciences/ No.(5)/ Vol.(25): 2017

On the performance of Turbo Codes over UWB channels at low SNR

Chapter 2 Soft and Hard Decision Decoding Performance

Multiple Input Multiple Output Dirty Paper Coding: System Design and Performance

ECE 8771, Information Theory & Coding for Digital Communications Summer 2010 Syllabus & Outline (Draft 1 - May 12, 2010)

Physical-Layer Network Coding Using GF(q) Forward Error Correction Codes

Performance Evaluation and Comparative Analysis of Various Concatenated Error Correcting Codes Using BPSK Modulation for AWGN Channel

Error Control Codes. Tarmo Anttalainen

Basics of Error Correcting Codes

On Performance Improvements with Odd-Power (Cross) QAM Mappings in Wireless Networks

A New Adaptive Two-Stage Maximum- Likelihood Decoding Algorithm for Linear Block Codes

Simulink Modelling of Reed-Solomon (Rs) Code for Error Detection and Correction

FOR applications requiring high spectral efficiency, there

Course Developer: Ranjan Bose, IIT Delhi

On the Construction and Decoding of Concatenated Polar Codes

Multitree Decoding and Multitree-Aided LDPC Decoding

FPGA based Prototyping of Next Generation Forward Error Correction

6. FUNDAMENTALS OF CHANNEL CODER

IEEE pc-00/35. IEEE Broadband Wireless Access Working Group <

SNR Estimation in Nakagami-m Fading With Diversity Combining and Its Application to Turbo Decoding

Short-Blocklength Non-Binary LDPC Codes with Feedback-Dependent Incremental Transmissions

Efficient Most Reliable Basis decoding of short block codes A NCONA, I TALY

2005 Viterbi Conference. Applications of the Viterbi Algorithm in Data Storage Technology

On Iterative Decoding in Some Existing Systems

Coding for the Slepian-Wolf Problem With Turbo Codes

Low Power Error Correcting Codes Using Majority Logic Decoding

Improved concatenated (RS-CC) for OFDM systems

Linear Turbo Equalization for Parallel ISI Channels

Convolutional Coding Using Booth Algorithm For Application in Wireless Communication

Optimized Codes for the Binary Coded Side-Information Problem

ITERATIVE decoding of classic codes has created much

TURBOCODING PERFORMANCES ON FADING CHANNELS

Communications Theory and Engineering

EDI042 Error Control Coding (Kodningsteknik)

Turbo Codes for Pulse Position Modulation: Applying BCJR algorithm on PPM signals

SNR Estimation in Nakagami Fading with Diversity for Turbo Decoding

ICE1495 Independent Study for Undergraduate Project (IUP) A. Lie Detector. Prof. : Hyunchul Park Student : Jonghun Park Due date : 06/04/04

Polar Codes for Magnetic Recording Channels

Error Correcting Code

Transcription:

Decoding of Block Turbo Codes Mathematical Methods for Cryptography Dedicated to Celebrate Prof. Tor Helleseth s 70 th Birthday September 4-8, 2017 Kyeongcheol Yang Pohang University of Science and Technology 1/35

Outline Product codes Block turbo codes (BTCs) Soft-input soft-output (SISO) decoding Decoding of BTCs Based on the Chase algorithm Proposed decoding algorithms for BTCs Conclusions 2/35

Product Codes Product codes were proposed by Elias in 1954 [1]. Advantages Efficient construction for long codes n, k, d n, k, d nn, kk, dd 1 1 1 2 2 2 1 2 1 2 1 2 Low-complexity decoding On 2 3/2 ( ) On ( ) assuming that codes of length l have decoding complexity 2 Ol ( ) Robust to burst errors [1] P. Elias, Error-free coding, IRE Trans. on Information Theory, vol. IT-4. pp. 29-37, Sept. 1954. 3/35

Product Codes: Construction and Encoding n1 k1 Parameters -length: - inf. Length: - min. distance: -rate: n k d R n n k k 1 2 1 2 d1d2 RR 1 2 Encoding Column encoding by an n1, k1, d 1 code. Row encoding by an n2, k2, d 2 code. The constructed code is an nn 1 2, kk 1 2, dd 1 2 linear code. 4/35

Product Codes: Decoding Decoding Column decoding by an n1, k1, d 1 code. Row decoding by an n2, k2, d 2 code. Hard-decision decoding is conventionally performed only once 5/35

Product Codes: Component Codes Component codes Typically, high rate codes are employed. Hamming codes or extended Hamming codes BCH codes or extended BCH codes Usually, these codes are algebraically decoded. Berlekamp-Massey algorithm Euclidean decoding algorithm Under algebraic decoding (hard-decision decoding), iterative decoding do not improve the performance of a product code. 6/35

Hard-Decision vs. Soft-Decision Decoding Assume that binary phase-shift keying (BPSK) is employed over the additive white Gaussian noise (AWGN) channel. The ouput of a matched filter at the receiver is r z 2 1 z ~ N( 0, ) Binary-input AWGN (BI-AWGN) channel pr 1 pr 1 Modulated symbol 1 0 1 r Coded symbol "1" "0" 7/35

Hard-Decision vs. Soft-Decision Decoding Hard-decision: 0 1 0 1 1 1 Binary symmetric channel (BSC) Soft-decision LLR (log-likelihood ratio) 1 2 2 1 p r p r r The asymptotic coding gain of soft-decision decoding over hard-decision decoding is 3 db. 8/35

Concatenated Codes: A Generalization Concatenated codes Proposed by Forney in 1965 [2] A generalization of product codes by an interleaver As an inner code, soft-decision decodable codes are strongly recommended for better performance. Best combination for the AWGN Channel before the turbo era: Reed-Solomon + Convolutional codes (Viterbi algorithm) [2] G. D. Forney, Concatenated Codes, Ph.D. Dissertation, MIT 1965. 9/35

Concatenated Codes: Decoding Inner and outer codes are decoded only once. Iterative decoding (turbo principle) Inner and outer codes can be iteratively decoded, if they are supported by soft-input soft-output decoders. Then the overall performance can be significantly decoded. 10/35

Block Turbo Codes Turbo codes Invented by Berrou, Glavieux, and Thitmajshima in 1993 [3] Parallel concatenated codes Convolutional codes as component codes Soft-input soft-output (SISO) decoder for convolutional codes Iterative decoding capacity-approaching performance Block turbo codes (BTCs) Introduced by Pyndiah [4],[5] Product codes: serially concatenated codes Block codes as component codes Large minimum Hamming distance SISO decoder for block codes: a bottleneck for decoding of BTCs. Iterative decoding [3] C. Berrou, A. Glavieux, and P. Thitmajshima, Near Shannon limit error-correcting coding and decoding: Turbo-codes (1)," ICC 1993. [4] R. Pyndiah, A. Glavieux, A. Picart, and S. Jacq, Near optimum decoding of product codes, in Proc. IEEE GLOBECOM 1994, vol. 1, pp. 339-343, Nov.-Dec. 1994. [5] R. Pyndiah, Near-optimum decoding of product codes: block turbo codes," IEEE TCOM, vol. 46, no. 8, Aug. 1998. 11/35

SISO Decoding for Block Codes Soft-input soft-output (SISO) decoding x y in L out e L e For convolutional codes, the BCJR Algorithm supports SISO decoding. For graph-based codes, SISO decoding can be implemented by message-passing algorithms such as the sum-product algorithms for low-density parity check (LDPC) codes. In this talk, we consider block codes which are algebraically constructed. 12/35

SISO Decoding for Block Codes SISO decoding for block codes can be implemented in two stages: Soft-decision decoding Extraction of the extrinsic information Soft-decision decoding for block codes Maximum-likelihood (ML) decoding Trellis-based decoding List-based decoding 13/35

Maximum-Likelihood (ML) Decoding ML decoding is equivalent to minimum distance decoding over the AWGN channel: 2 2 i i j, k DC if R C R C j 1, 2, j i k : R 1 2 1 2 r, r,..., r : D d, d,..., d C: i i i i 1 2 n C c, c,..., c C: ith codeword of a code C information length of a row or a column code : n n received signal vector optimum decision codeword mapping function from 0,1 to 1, 1 impractical for long codes! ML decoding is optimal in the sense that the block error rate is minimized. However, ML decoding is not feasible for high-rate codes. 14/35

Trellis-Based Decoding for Block Codes Trellis representation of a block code H 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 0 The Viterbi algorithm or BCJR algorithm is employed. Disadvantages The corresponding trellis is not time-invariant, but time-varying. The complexity of trellis representation is very high. k n k Number of states min (2,2 ) Trellis-based decoding has high complexity. [6] J. K. Wolf, Efficient maximum likelihood decoding of linear block codes using a trellis, IEEE Trans. Inform. Theory, vol. 24, no. 1, Jan. 1978. 15/35

List-Based Decoding: Chase Decoding r1 r2 y1 y2 0 0 0 1 0 0 0 1 0 1 1 0 1 1 1 rp rp 1 y p y p 1 rn y n c 1 c 2 c 3 c 4 c 2 p Chase Decoding [7] Choose some least reliable positions of the received vector Generate test sequences from the hard-decision vector of the received vector Decode them by hard-decision decoding Make a list of candidate codewords An decision codeword is determined from the list. [7] D. Chase, A class of algorithms for decoding block codes with channel measurement information," IEEE Trans. Inform. Theory, vol. IT-18, no. 1, Aug. 1972. 16/35

List-Based Decoding: OSD r1 r2 y1 y2 0 0 0 1 0 0 0 1 0 0 0 1 rk rk 1 yk yk 1 r n y n c 1 c 2 c 3 Ordered Statistics Decoding (OSD) Choose some largest reliable positions of the received vector Generate test information vectors Encode them into codewords Make a list of candidate codewords An decision codeword is determined from the list. [8] M. P. C. Fossorier and S. Lin, Soft-decision decoding of linear block codes based on ordered statistics, IEEE Trans. Inform. Theory, vol. 41, no. 5, pp. 1379-1396, Sep. 1995. 17/35

Decoding of Block Turbo Codes Each component code of a BTC is decoded in two stages for iterative decoding At the first stage, the Chase algorithm is employed. Choose some least reliable positions of the received vector Generate test sequences from the hard-decision vector of the received vector Decode them by hard-decision decoding Make a list of candidate codewords An decision codeword is determined from the list. At the second stage, the extrinsic information is computed for iterative decoding. Encoding-based decoding algorithms such OSD may be employed at the first stage 18/35

Decoding of Block Turbo Codes Iterative decoding Suboptimum Two-stage decoding for each row or column vector of the received array Decode columns first and then rows in turn Extrinsic information is fed back First stage: Use the Chase algorithm bit-by-bit hard decision 19/35

Decoding of BTCs: First Stage (1) Obtain the hard-decision vector Y from the input vector R. (2) Find the p least reliable bit (LRB) positions in. 2 p (3) Construct test patterns T t1, t2,..., tn, j 1,...,2 j where t l is set to 0 or 1 at the p LRB positions and zero at the remaining positions. 2 p R j j j j p j j (4) Construct test sequences (TSs) Z YT where is the component-wise modulo-2 sum operator. (5) Apply an algebraic HDD to Z. j 2, 1 2 j p (6) Compute R C j,. (7) Select a decision codeword D d d d as j 2 D arg min R C. C j,,..., n 1 2 20/35

Decoding of BTCs: Second Stage (1) Compute the extrinsic information for the l th bit of the decision codeword as w l 2 l 2 dl 1 l R B R D rl, if B exists 4 dl, otherwise. t 1, 2,, t j b, b,..., b arg min 2 l B 1 2 n R C j C, c d t = t t R R W next 1 max Current iteration number Reliability factor where is a competing codeword. (2) Input to the next-iteration decoder is updated as follows: j l Weighting factor l W t1 w1, w2,, wn Extrinsic information vector from the previous decoder 21/35

Decoding of BTCs: Choice of and Selection of weighting and reliability factors The optimal weighting factor and reliability factor are obtained experimentally through trial and error. Experimentally, BTCs show good error performance when t 0.0, 0.2, 0.3, 0.5, 0.7, 0.9, 1.0 t 0.2, 0.4, 0.6, 0.8, 1.0, 1.0, 1.0 22/35

Decoding of BTCs: Issues Issues for the conventional decoding algorithm Decoding complexity Performance Limitations of the conventional decoding algorithm Employs the Chase algorithm with p fixed, regardless of the SNR or the number of iterations. The number of hard-decision decoding for each row or column vector is fixed, regardless of the reliability of a given decoder input vector. 23/35

Decoding of BTCs: Issues Modification of the first stage Use test pattern elimination: Fragiocomo et al. (1999), Hirst et al. (2001), Chi et al. (2004), Chen et al. (2009), etc. Replace the Chase algorithm by OSD Fossorier et al. (2002), Fang et al. (2000), etc. Modified extraction of the extrinsic information at the second stage Adaptive scaling: Picart and Pyndiah (1999), Martin and Taylor (2000), etc Amplitude clipping: Zhang and Le-Ngoc (2001) 24/35

Proposed Algorithm I Proposed algorithm I Check whether the employed HDD outputs a codeword for a given decoder input vector. Apply one of two estimation rules. Based on these two rules, the number of TSs can be made monotonically decreasing with iterations. Advantages can significantly reduce the decoding complexity with a negligible performance loss, compared with the conventional decoding algorithm. [9] J. Son, K. Cheun, and K. Yang, "Low-Complexity Decoding of Block Turbo Codes Based on the Chase Algorithm," IEEE Communications Letters, vol. 21, no. 4, pp. 706-709, Apr. 2017. 25/35

Proposed Algorithm I Case 1: For a given decoder input vector, the employed HDD outputs a codeword with C Y dh Y YC, Y 1. Observation: With high probability, C Y is equal to the transmitted codeword. Estimation Rule 1: C Y (1) Estimate as the decision codeword without applying the Chase algorithm; and (2) Compute the extrinsic information as w l d l l 1, 2,..., n where is a reliability factor larger than. D 26/35

Proposed Algorithm I Case 2: For a given decoder input vector, the employed HDD outputs a codeword C Y with dh YC, Y 1 or it does not give any codeword due to a decoding failure. Y Estimation Rule 2: (1) Apply the Chase algorithm with parameter to get a decision codeword; and (2) Compute the extrinsic information by the conventional method p The key to Estimation Rule 2 is to determine how to evolve with half-iteration. p 27/35

Proposed Algorithm I C 1 C 2 C 3 C m C m1 C m2 The partial average distance between the hard-decision vectors and the decision codewords obtained by Rule 2 for the received array at the ith half-iteration is defined by m ˆ 1 d d Y, C. i H j j m j 1 The parameter p may be evolved as C n p ˆ i1 ad i b pi p. 28/35

Proposed Algorithm I: Numerical Results Average portion of row vectors having Y d H YC, Y 1 100 80 Average portion [%] 60 40 20 ebch(64,51,6) 2 ebch(64,45,8) 2 1st half-iteration 3rd half-iteration 5th half-iteration 7th half-iteration 9th half-iteration 0 2 2.2 2.4 2.6 2.8 3 E b /N 0 [db] 29/35

Proposed Algorithm I: Numerical Results Probability that C Y is equal to the corresponding transmitted codeword 1 0.95 Probability ebch(64,51,6) 2 0.9 ebch(64,45,8) 2 1st half-iteration 3rd half-iteration 5th half-iteration 7th half-iteration 9th half-iteration 0.85 2 2.2 2.4 2.6 2.8 3 E b /N 0 [db] 30/35

Proposed Algorithm I: Numerical Results Computational complexity of an ebch(64, 51, 6) 2 code 1 Normalized number of trials 0.8 0.6 0.4 Conventional Syndrome-Based 0.2 Proposed, a=0.95, b=1 Proposed, a=0.97, b=1 Proposed, a=0.99, b=1 0 0.5 1 1.5 2 2.5 3 E b /N 0 [db] max # iterations: 4 As the SNR increases, the average number of trials of the employed HDD in the proposed algorithm can be significantly reduced. 31/35

Proposed Algorithm I: Numerical Results BER performance of an ebch(64, 51, 6) 2 code 10 0 10-1 Bit error rate 10-2 10-3 Uncoded BPSK 10-4 Conventional Syndrome-Based 10-5 OSD-Based, order 1 OSD-Based, order 2 Proposed, a=0.99, b=1 10-6 0.5 1 1.5 2 2.5 3 E b /N 0 [db] The proposed algorithm has only a negligible performance loss, compared with the conventional algorithm. 32/35

Proposed Algorithm II Proposed algorithm II imposes two algebraic conditions on the Chase algorithm to avoid a number of unnecessary HDD operations; simply computes the extrinsic information for the decision codeword. Advantages has much lower computational decoding complexity; has a little better performance than the conventional decoding algorithm. [10] J. Son, J. J. Kong, and K. Yang, Efficient Decoding of Block Turbo Codes," submitted 2017. 33/35

Proposed Algorithm II: Numerical Results Portion of distinct codewords among the algebraically decoded TSs - ebch(64, 51, 6) 2-4 iterations 34/35

Conclusions BTCs under iterative decoding show excellent performance with reasonable complexity. We proposed two decoding algorithms for BTCs based on the Chase algorithm. They can significantly reduce the decoding complexity with a negligible performance loss or a slightly improved performance, compared with the conventional algorithm for BTCs. Low-complexity decoding algorithms for BTCs based on OSD may be further studied. 35/35