Spatially-Coupled Codes for Channels with SNR Variation

Modern magnetic recording (MR) systems require error correcting codes (ECCs) with outstanding error floor performance. Low-density parity-check (LDPC) codes are a primary choice for MR systems because of their error correcting capabilities [1]–[3]. In a magnetic recording device, some sections can be more error-prone than other sections because of the read/write mechanism and physical properties of the device [4]. A realistic channel model for magnetic recording systems must consider the variation of signal to noise ratio (SNR) among consecutive sections of a hard disk drive. For channels with SNR variation, the conventional ECCs are designed to achieve the certain BER for the section with the lowest SNR. For the sections with higher SNRs, this approach results in an additional redundancy which is not necessary to achieve the target BER. Spatially-coupled (SC) codes are a family of graph-based codes that have attracted significant attention because of their capacity approaching performance [5]. SC codes are constructed by partitioning a parity-check matrix H of the underlying block code into component matrices H 0 ,…,H m , H=H 0 +…+H m , and coupling L copies of the component matrices together to obtain the parity-check matrix H SC , Fig. 1. The parameters m and L are known as the memory and coupling length, respectively. An SC code with coupling length L has L replicas, {R 1 ,…,R L }, see Fig. 1. In this paper, we present an SC code design approach for channels with SNR variation. In our code design, the length of the underlying block codes is equal to the length of one section of the channel, and the number of sections spanned by one SC code is determined by L. Because of this structure, each check node (CN) receives messages from more than one section, so more reliable variable nodes (VNs) can help compensate for the sections that are highly affected by noise. In our model for a channel with SNR variation, each section is considered as an AWGN channel with SNR i (i is the section index). For the i’th section, we state the SNR as (SNR i ) dB =(SNR abs ) dB +(ΔSNR i ) dB , where (SNR abs ) dB is the absolute SNR and (ΔSNR i ) dB is the variation from the absolute SNR for the i’th section. We first describe our code construction approach: The length of the underlying block code is equal to the length of one section of the channel, so each replica of an SC code spans one section of the channel. The coupling length L determines how many sections are spanned by one SC code, so it must be chosen such that a variety of sections with different reliabilities are included. The minimum overlap (MO) approach is recently introduced for partitioning block codes and constructing SC codes [6]. In this approach, the matrix H of a block code is partitioned into several component matrices such that the number of detrimental objects in the graph of the derived SC code for AWGN channels is reduced. In this paper, we use MO approach for constructing SC codes with γ=3. Moreover, we extend this approach to construct SC codes with γ=4. The memory m of an SC code plays the critical role on its performance over channels with SNR variation. By increasing memory, sections are more cooperative, and the SNR variation among them can be alleviated better. The parameter m determines how many different sections are involved in the check equations in an iterative decoding. Because of our SC code construction, most CNs receive messages from VNs within m+1 consecutive sections. As a result, if there is one reliable section with a high SNR, it can in principle help the messages from other m sections be recovered more reliably. For interleaving, we divide the SC codeword into L2/(m+1) chunks. Then, we rearrange them by taking one chunk from each L consecutive chunks and putting them next to each other. This interleaved data is passed through the channel, and the de-interleaving is performed on the received data from the channel and before decoding. Due to interleaving, most CN receives an equal number of messages from all L different levels of reliabilities. Our simulation results show that our channel-based interleaving compensates for the performance gap that exists between the error rates of SC codes over non-uniform and uniform channels with similar average SNR. Our proposed scheme is the first channel-aware interleaving for SC codes, and the complexity of the proposed interleaving is inversely proportional to the number of component matrices. The regular interleaving has a fixed complexity with respect to the memory which is equal to the complexity of our interleaving scheme for the case m=0 (the uncoupled setup). Finally, we show some important simulation results. Block Code 1 is an array-based block code with γ=3, length 289 bits, and rate r=0.82. SC Code 1 and 2 are SC codes with Block Code 1 as the underlying block code. They both have L=30 and length 8670 bits. The memory and rate for SC Code 1 are m=1 and r=0.82, and for SC Code 2 are m=2 and r=0.81, respectively. Fig. 2 shows the BER curves for Block Code 1, SC Code 1, and SC Code 2 over the non-uniform channel. It can be seen that SC Code 1 shows 2 orders of magnitude performance improvement in the error floor area compared to the Block Code 1, with and without (regular) interleaving, respectively. We achieve further improvement when we apply our optimized interleaving to SC Code 1. Moreover, SC Code 2 secures even further improvement by providing more cooperation among different sections of the channel. The longer version includes results for our γ=4 SC codes.