Final Report Summary - ERRORFLOORS (Advanced coding techniques for mitigating error floors) Error control coding is the area of digital communications that deals with the reliable transmission of digital information over noisy channels while using power and bandwidth resources efficiently. This is done by adding redundancy to the information sequence at the transmitter (encoding), and making use of this redundant information at the receiver to recover the original information sequence (decoding). In the last fifteen years, the most exciting development in the error control coding literature has been iteratively decodable codes. Although the suboptimum nature of iterative decoding is a disadvantage, the very low decoding computational complexity allows for decoding much longer (stronger) codes. Among the most popular codes that employ iterative decoding are the low-density parity-check (LDPC) codes.For years, the design and analysis of LDPC codes employed the density evolution method, which estimates the iterative decoding threshold of a code family when infinitely large block lengths are used. Although many powerful codes have been designed using this method, one major problem has been the fact that this design strategy ignores several properties of finite-length bipartite graphs and therefore the iterative decoding performance of short-to-moderate length codes is much worse than the computed threshold. The deteriorated performance of short-to-moderate block length codes reveals itself mostly in the moderate-to-high signal-to-noise ratio (SNR) region of the error curves. This is the region, where even though the channel has very little noise, the error curve ceases to improve and flattens, i.e. the bit error rate fails to decrease further. This phenomenon is also called the "error floor".The main goal of this project is to discover the nature of the error floor phenomenon and find ways of improving the error performance of iteratively decodable codes. In particular, the research objectives include- The analysis of bipartite graph representations of LDPC codes, using the structure of cycles, stopping sets, trapping sets, absorbing sets, and pseudo-codewords, which are properties of a bipartite graph representation and are responsible for the error floor phenomenon;- The design of improved bipartite graph representations for a given code that have better structural properties;- Using a combination of good bipartite graph representations in the decoding process to obtain higher bit error performance, especially in the error floor region;- Investigating the use of iterative decoding for codes that have dense bipartite graph representations.The research conducted throughout the project includes several important steps towards these research objectives. One line of work focused on developing a rigorous analysis of the code structure to understand the mechanisms in which an error floor is formed. Error-prone structures in the graph representation of LDPC codes were analyzed to describe when and how iterative decoding fails. In this context, cycles, trapping sets and absorbing sets for finite length codes were enumerated. This was followed by an asymptotic work that tries to shed light on how the distance and trapping set size properties of code families develop as longer and longer codes are considered.Another line of work conducted through this project focused on the design of novel schedules and stopping rules for decoders. These decoding schedules maximize the processing power efficiency by reducing the number of operations without causing a significant loss of error performance. Since efficient decoder implementations are a must to ensure that the designed codes have a chance to be employed in practical scenarios, these results are very valuable for future applications.Many of the communication models considered in the literature are very basic, often ignoring the most harmful effects observed in practical communication scenarios. One particular issue with practical channels is the correlated nature of errors in the channel. In many applications, including wireless communications applications, there is usually a very high correlation among the channel states for consecutive channel uses. This correlation is usually broken using block interleavers, which require buffering the data at both the transmitter and the receiver sides for de/shuffling. In this project, a much simpler convolutional interleaver was employed to break up the correlations while still keeping the delay at an acceptable value.This project, as a whole, contributed significantly to the understanding of iterative decoding, both when it succeeds, and especially when it fails. The research outcomes range from basic understanding of error-prone structures in graphs to practical communication scenarios that employ cutting-edge error control coding technologies. LDPC codes are already in several communication standards and there is a very high potential for LDPC codes with convolutional structures, such as LDPC convolutional codes and spatially-coupled codes, to find their way in to future standards. This project and its research outcomes have significant contributions to this potential.