Abstract
Low-density parity-check (LDPC) codes form part of the IRIG-106 standard and have been successfully deployed for the Telemetry Group version of shaped-offset quadrature phase shift keying (SOQPSK-TG) modulation. Recently, LDPC code solutions have been proposed and optimized for continuous phase modulations (CPMs), including pulse code modulation/frequency modulation (PCM/FM) and the multi-h CPM developed by the Advanced-Range TeleMetry program (ARTM CPM), the latter of which was shown to perform around one dB from channel capacity. In this paper, we consider the effect of the random puncturing and shortening of these LDPC codes to further improve spectrum efficiency. We perform asymptotic analyses of the ARTM0 code ensembles and present numerical simulation results that affirm the robust decoding performance promised by LDPC codes designed for ARTM CPM.
Keywords:
FEC; LDPC codes; telemetry; avionics; IRIG; spectral efficiency; puncturing; shortening; iterative decoding 1. Introduction and Motivation
Low-density parity-check (LDPC) codes [1] are a family of forward error correction (FEC) block codes that achieve capacity-approaching performance under low-complexity iterative decoding schemes [2,3]. Efficient LDPC encoder designs have given rise to implementations [4,5] that meet the stringent requirements of low-power transmitters, and LDPC decoding algorithms are well suited to highly parallelized decoder structures that facilitate high-throughput FEC [6,7]. LDPC codes have been successfully deployed for aeronautical telemetry systems that employ continuous phase modulations (CPM), specifically SOQPSK-TG [8]. Recent work outlining techniques for the construction of LDPC codes for the remaining two CPM modulation schemes, PCM/FM and ARTM CPM, have demonstrated performance within one dB of channel capacity in numerical simulations [9,10]. While keeping encoding complexity low, these codes represent the current best FEC performance published for ARTM CPM, and further optimizing these codes for deployment in aeronautical telemetry systems under bandwidth constraints is an open problem.
One remaining challenge is to develop spectrally efficient LDPC coding schemes for CPM that can adapt to the changing conditions of time-varying channels. Coding schemes that can adaptively respond to changing channel conditions without the need for alterations to either their encoder or decoder hardware configurations are known as rate-compatible codes [11]. An efficient means of accomplishing this is to omit sending a portion of the encoded information stream, a process known as puncturing [11,12]. This technique relies on the strength of the code and the effect of the puncturing pattern on the decoding algorithm to provide sufficient, though diminished, error correction performance without requiring changes to the decoder [13,14,15,16,17,18]. No a priori information on punctured bits is shared with the decoder prior to transmission (other than their location), and thus the code rate is increased at the expense of a handicapped decoder. A complementary method, shortening [19], follows much the same logic, but certain code symbols are fixed at the encoder and omitted from the transmission, with the decoder knowing only the location of those shortened bits. This modification can be achieved at the decoder by providing known, perfect a priori information on shortened bits, improving the overall iterative decoding performance at the expense of a decrease in both the code rate and the dimension. Shortening has been shown to improve the performance of LDPC codes [17,20,21], and an analysis of random shortening was performed in [22]. We assume that by co-implementation of the transmitter and receiver the fixed locations of punctured or shortened bits are known by both the encoder and decoder throughout our designs.
1.1. Methods and Contributions
In this paper, we use random puncturing and shortening to explore the trade-off between the coding rate and error control performance for some of the LDPC coding schemes proposed in [9,10], enabling the development of spectrally efficient, rate-compatible coding strategies, which require minimal alterations to proven hardware implementations. We follow the notation established in [9,10] by using ARTM0, ARTM1, and ARTM2 to refer to PCM/FM, SOQPSK-TG, and ARTM CPM, respectively. We begin by performing asymptotic analyses of the ARTM0 code ensembles. First, we determine the iterative belief propagation (BP) decoding thresholds of randomly punctured ARTM0 LDPC code ensembles on the binary erasure channel (BEC). We then perform an asymptotic minimum distance analysis to establish that both the mother code and the punctured code ensembles are asymptotically good. Despite the minimum distance growth rates decreasing with the puncturing fraction, we show that the distance to the Gilbert–Varshamov bound shrinks with puncturing. Taken together, the asymptotic analyses indicate that the ARTM0 LDPC code ensembles are good candidates for random puncturing.
We then present numerical simulation results for various puncturing ratios to create effective coding rates in between those previously demonstrated. To isolate the effect of modulation on the LDPC encoder–decoder pair, we present results with both binary phase-shift keying (BPSK) and CPM modulation, highlighting the significant coding gain achieved through the optimized design of the LDPC codes with respect to specific modulation schemes. We observe that CPM decoding feedback is responsible for more than 2 dB of coding gain, illustrating the impact of optimization for that regime. Our results demonstrate that significant gains in spectral efficiency can be obtained for a reasonable degradation in FEC performance. For example, with of the symbols omitted from transmission by puncturing, we are able to increase a code with a rate of to with less than a dB loss at a bit error rate of and with no alterations to the component code or decoder required.
We also provide numerical simulation results for shortened codes showing marked improvements in waterfall performance for codes of sufficient rate and block length. For example, for the ARTM0 mother code with and information block length , a coding gain of more than dB can be obtained with random shortening under the CPM-modulated scheme. Furthermore, interchanging hardware to allow for shortening and puncturing is not necessary, as both techniques utilize overlapping function blocks with few alterations and may be combined for further flexibility when designing rate-comp- atible codes.
1.2. Paper Structure
The paper is structured as follows. Section 2 provides the necessary background material, including protograph-based LDPC code construction and the code-modification techniques we will use, namely puncturing and shortening. In Section 3, we perform asymptotic analyses of the randomly punctured protograph-based ARTM0 ensembles to determine their suitability for puncturing from the perspective of BP and minimum distance. Section 4 and Section 5 provide the system models and numerical simulation results obtained for random puncturing and shortening, respectively. Section 6 then provides a brief description of the hardware considerations before some concluding remarks are provided in Section 7.
2. Background
2.1. Protograph-Based LDPC Codes
An LDPC code, with length n and dimension k, is described as the null space of a parity-check matrix that has a rank of . We say that an LDPC code is -regular if it has precisely J ones in every column and K ones in every row; otherwise, it is called irregular. A protograph [23], with design rate , is a small bipartite graph whose edges connect a set of variable nodes to a set of check nodes. This structure can be characterized by a base biadjacency matrix , where is taken to be the number of edges connecting variable node to check node . To form the parity-check matrix of a protograph-based LDPC code, each non-zero entry in is replaced by a sum of non-overlapping permutation matrices, and zero entries are replaced by the all-zero matrix.
Example 1.
The (irregular) ARTM0 protographs [9] are given as
following the naming convention of [9] that refers to the ARTM0 LDPC code ensemble of design rate and so on.
2.2. Puncturing Linear Codes
An linear code is punctured by removing a set of p columns from its generator matrix. This procedure effectively reduces the codeword length from n to and the puncturing fraction can be adjusted to alter the transmission rate to
where is the rate of the mother (unpunctured) code. Puncturing preserves the dimension of the code, achieving the target rate , provided that no two distinct codewords only differ within the p punctured symbols. This can be achieved, for example, by restricting punctured symbols to the parity-check symbols of a code. The decoder will estimate both the punctured and transmitted symbols during decoding, and thus the receiver must know the puncturing pattern utilized by the transmitter prior to establishing communication.
2.3. Shortening Linear Codes
An linear code is shortened by keeping only the codewords from the mother code that have zeros at the positions of the s shortened bits. This is equivalent to removing the corresponding set of s columns from its parity-check matrix. In this paper, we restrict shortening to the k information symbols. Shortening will reduce both the dimension and the length of the code. After shortening a linear code with shortening fraction , the resulting transmission rate is
where is the rate of the mother (unshortened) code.
As with puncturing, a code can be shortened randomly or according to a particular pattern. In order to be rate-compatible, we assume that the receiver knows the positions of the shortened symbols and maintains perfect information about those bits in order to estimate the transmitted symbols during decoding.
3. Asymptotic Random Puncturing Analyses of ARTM0 Protographs
In this section, we examine the suitability of the ARTM0 protographs for random puncturing. We remark that specific, finite-length graph liftings were optimized in [9] in order to achieve excellent performance with CPM and a two-stage iterative decoder; however, in this section, we assume asymptotic random liftings for the purpose of the analysis of the code ensembles.
3.1. BEC Decoding Thresholds of Randomly Punctured ARTM0 Code Ensembles
Consider puncturing a length n codeword for transmission over a BEC with erasure probability . We assume that a fixed fraction of the code symbols are punctured, such that the transmitted codeword has length . After transmission, the received vector will contain, on average, erased symbols and correct symbols. The receiver knows the positions of the punctured and erased symbols and proceeds to decode the overall code of length n. From [13], we recall that the BP threshold of a randomly punctured LDPC code ensemble on the BEC with puncturing fraction is given by
where and R are the BP threshold and design rate of the (unpunctured) mother code ensemble, respectively, and is the target rate after puncturing.
Figure 1 shows numerically calculated BP thresholds of the randomly punctured ARTM0 LDPC code ensembles for a variety of puncturing fractions . The mother LDPC code ensemble thresholds are shown by markers (circle, cross, square, and diamond), with the corresponding punctured thresholds , for various values of and corresponding rate , shown by the lines from a given marker. We observe relatively robust performance under puncturing, particularly for the and ensembles, for which begins closer to capacity. For each ensemble, the threshold values decrease with increasing as increases. Since none of the curves cross, this indicates that random puncturing beyond the rates of the next mother code ensemble is unlikely to provide any advantage in terms of performance. We also note that the rate for which the lines reach a 0 value of the threshold is indicative of the maximum rate achievable for random puncturing of the given ARTM0 LDPC code ensemble.
Figure 1.
BEC BP thresholds of randomly punctured ARTM0 LDPC code ensembles for a variety of puncturing fractions .
3.2. Minimum Distance Growth Rates of Randomly Punctured ARTM0 Code Ensembles
A code ensemble is called asymptotically good if the minimum distance typical of most members of the code ensemble is at least as large as , where is called the minimum distance growth rate of the ensemble. To test this definition, the asymptotic spectral shape of a code ensemble, defined as
can be used, where is the normalized Hamming distance, is the block length, and is the ensemble weight enumerator. For protograph-based LDPC code ensembles, a method to determine was presented in [24]. For , -regular LDPC codes are known to be asymptotically good [25]. As a result of the variable node degree optimization of the ARTM0 protographs, we find that these ensembles are asymptotically good, with the computed minimum distance growth rates shown in Table 1.
Table 1.
Minimum distance growth rates for the ARTM0 LDPC code ensembles.
For an asymptotically good code ensemble with spectral shape , the expected asymptotic spectral shape of the randomly punctured code ensemble can be characterized as [26]
where is the fraction of punctured bits, , and is the binary entropy function. The average weight enumerators used in the formulation of (9) are obtained over all possible p-bit puncturing patterns; therefore, we require to guarantee no rate loss. For the rate of the ensemble can be written as , where . Bounds on and conditions such that were given for -regular LDPC code ensembles in [27].
In Figure 2, we present numerical results for the ARTM0 and (b) ensembles obtained using (9) for a variety of puncturing fractions . We note that, in most cases, , and, as a consequence, there can be some rate loss where the true rate is bounded above by . In practice, the bits to be punctured, randomly or otherwise, can be selected to avoid a rate loss by preserving the dimension of the code. Therefore, the numerical results in this section are a useful tool to gauge the performance of the punctured code in practical scenarios.
Figure 2.
Minimum distance growth rates for the punctured ARTM0 LDPC code ensembles with a variety of puncturing fractions . The arrow indicates the direction of increasing corresponding to the point markers on the ARTM0 curves.
We observe that, like the mother code ensembles, the punctured ARTM0 LDPC code ensembles are also asymptotically good. Although the minimum distance growth rates must decrease with , the ARTM0 growth rates show robust behavior as the code rate increases, where we observe that the distance to the Gilbert–Varshamov bound decreases with . In particular, the punctured ensemble with has a similar growth rate as the -regular LDPC code ensemble. Taken along with the iterative threshold analysis results from Section 3.1, it appears that the ARTM0 LDPC code ensembles are indeed good candidates for random puncturing.
4. Random Puncturing of ARTM0 LDPC Codes
4.1. System Model
The transmitter model utilized in our system is shown in Figure 3, with function blocks representing the LDPC encoder, interleaver (), puncturing (), CPM modulator, and a module that allows for the insertion of a known symbol sequence, referred to as an attached synchronization marker (ASM) which helps to identify the beginning of each codeword at the receiver. LDPC encoding is performed by multiplying the source information sequence of length k with the (systematic, in the case of the ARTM0 codes) code generator matrix of size to form codeword . The resulting codeword is interleaved to form the sequence , on which puncturing is performed. Note that puncturing is placed after interleaving so that a single interleaver of a fixed length may be used throughout the entire system model. Given a specific interleaver, puncturing can be achieved in a rate-compatible way by varying the amount and location of the punctured bits.
Figure 3.
Model transmitter for punctured LDPC code with CPM modulation.
The resulting punctured codeword, , is concatenated with the ASM to form a frame , which serves as the modulating sequence of the CPM, whose output is sent over the communication channel as the sequence of -ary frames where q is the modulation order. Puncturing () must be performed at the encoder prior to the concatenation of the interleaved codeword and ASM in order to avoid desynchronization during decoding. In this paper, to demonstrate the average performance of the code-modification techniques, the puncturing and interleaving patterns are drawn uniformly from a random distribution. However, specific and optimized patterns could be achieved in practice with a simple mapping of the fixed locations (e.g., certain parity symbols only) of the target symbols to their fixed interleaved locations.
Efficient LDPC encoding algorithms are suitable for many low-power, memory-constrained applications [7,16]. This is true for the ARTM LDPC codes we have used, which have a quasi-cyclic (QC) structure in which the code’s parity check matrix is an array of sparse repeating units called circulants [4]. The LDPC code utilized in many 5G wireless networks is also a protograph-based, quasi-cyclic code, and the techniques we describe have been studied to provide rate compatibility under the constraints of that standard [15]. The most commonly implemented decoder for LDPC codes is a special case of a more general BP algorithm used for inference on graphical models, known as the sum-product algorithm (SPA) [28]. In this paper, we have used SPA decoding because it provides good performance with soft-input–soft-output (SISO) functionality. Efficient hardware implementations of such decoders are numerous and widely adopted [6], including reduced-complexity variants such as the min-sum algorithm (MSA) [7].
The receiver model is shown in Figure 4. In this diagram, the values passed between blocks are all real-valued vectors, i.e., log-likelihood ratios (LLRs) [19], that correspond to the discrete-valued sequence indicated at the input/output of the function blocks. Inputs are always a priori information, while outputs are a posteriori information, with a posterori information from each decoder serving as a priori input to the decoder at the next time increment. Since the signals in our diagram reference the registers used to store soft information vectors during processing, they are reused for both inputs and outputs to provide a functional description rather than signal isolation that may be required in hardware. The received sequence , corresponding to a CPM word , is input to the CPM demodulator along with a priori information on (the binary interleaved and punctured codeword from the LDPC code) that is initialized to zero. After the demodulation of a codeword, it is decoded iteratively in a global loop by a pair of CPM and LDPC decoders, which exchange a priori information on through an interleaver and puncturing block , identical to those used for encoding, with corresponding blocks for the inverse deinterleaver and the depuncturer (explained below). For the first global iteration, the results of the CPM demodulator are permuted and used as soft-valued inputs (channel LLRs) for the local LDPC decoder loop by placing the switch in position A. For subsequent global iterations, the signal flow is altered by placing the switch position in B, with the soft output LLRs of the CPM SISO decoder’s update now serving as a priori inputs to the LDPC decoder. Note that we have separated the CPM receiver circuit into two modules: the CPM demodulator and the decoder. This is a practical choice since the CPM demodulator needs to act only once on a received block, where certain signal processing functions, such as filtering, are unnecessary within the global iterative decoding loop. In this context, the CPM SISO decoder refers specifically to the trellis decoder within the CPM receiver which provides additional soft information to the SPA decoder.
Figure 4.
Model receiver for punctured LDPC code with CPM modulation and iterative decoding.
LDPC SPA decoding is performed using the code’s parity-check matrix , a sparse matrix that satisfies the condition . Sparsity keeps the memory and computational requirements tractable for coding schemes with long block lengths that are needed to obtain capacity-approaching performance. The rows of correspond to the parity check conditions of the code, while each column corresponds to a codeword symbol. If a one is present in the k-th column of row j, code symbol k is found in the parity check equation . The LDPC decoder performs iterative SPA decoding in the local loop before passing the output LLRs on as a priori information on to the CPM SISO decoder to start the next global iteration, and so on. We note that in our implementation, the LDPC decoder produces soft a posteriori information and retains those values as a priori information on the punctured symbols for the next iteration within the local loop. This is indicated in Figure 4 by the signal path , which is initialized to zero prior to the first global iteration. The process continues until some stopping criterion is reached (such as a ceiling on the allowed number of iterations) and the resulting estimated codeword is passed out of the decoder. Upon completion, hard decisions on are made to complete decoding, where is directly accessible since the encoder is systematic.
Puncturing is performed in the global loop between the CPM SISO decoder and the LDPC decoder. The module removes codeword soft information symbols in accordance with the known puncturing pattern set by the transmitter, resulting in a truncated sequence , as shown in Figure 5. The module intercalates zeros into these same puncturing positions to expand the sequence to its original length before interleaving, in a process referred to as depuncturing. Since the messages passed in the SPA correspond to LLRs, the zero-valued LLRs that are placed into the puncturing positions correspond to a bit being equally likely a one or a zero. Finally, we note that at the receiver (Figure 4), the puncturing, depuncturing, interleaving, and deinterleaving all operate on real-valued vectors.
Figure 5.
Puncturing by truncation and depuncturing by zero-padding within the global decoding loop of the receiver.
For the block code we are implementing, the code rate after puncturing, , is determined solely by the mother (unpunctured) code rate and puncturing overhead, as given in (5). Therefore, the amount of overhead required for any desired code rate is . The codes outlined in [9] are systematic LDPC codes, wherein the source information sequence appears unaltered in the encoded sequence, but in general, this is not a requirement because no distinction is made between information and parity symbols in our scheme and puncturing is performed after interleaving. These codes exhibit sufficient regularity such that information symbols and parity symbols are equally protected and punctured symbols are therefore not limited to parity bits in our study.
4.2. Numerical Results
In this section, we present the results of our numerical simulations which were performed on the additive white Gaussian noise (AWGN) channel with BPSK and CPM modulation. For the CPM simulations, we followed [9] and set a maximum of 512 global iterations and a maximum of one LDPC decoder iteration with a syndrome-based stopping rule. For the LDPC-code-only simulations, we used BPSK modulation and set a maximum of 100 LDPC decoder iterations and a syndrome-based stopping rule. Although computationally inequivalent, we have chosen these parameters to represent the best case scenario in terms of FEC performance for each configuration, since LDPC decoding is enhanced by information from the CPM decoder and we wish to maximize information exchange between the component decoders [29]. In practice, the choice of stopping criteria would depend on computational and/or latency constraints at the receiver [30], which we chose not to consider in these experiments since it does not directly impact spectral efficiency. To obtain an estimate of the average random puncturing performance, we used a different random puncturing pattern per transmitted codeword in our simulations. Notationally, we now add a subscript corresponding to the mother code rate to distinguish the codes; e.g., denotes the rate of the punctured code obtained from the rate mother code with , or puncturing. Note that, in this paper, rates are rounded to three decimal places.
4.2.1. BPSK Modulation
In order to isolate the effect puncturing has on the decoding performance of the LDPC code alone, we have removed the CPM and associated support modules, utilizing only BPSK modulation, which results in the greatly simplified transceiver model shown in Figure 6. With this model, puncturing is performed immediately before encoded information is sent over the communications channel and depunctured after being received only once. Due to the elimination of the global iterative loop used to exchange information between the CPM and LDPC decoders (c.f., Figure 4), the depunctured information (soft-valued channel LLRs) directly enters the SPA LDPC decoder, where it is iteratively decoded to produce codeword estimate . Simulated error correction performance on the AWGN channel for the ARTM0 code with information block length and puncturing overhead values of is shown in Figure 7. The , , ARTM0 code is constructed from the lifted base matrix [9]. The value is the percentage of puncturing necessary to create a code from a mother code.
Figure 6.
Simplified transceiver model for BPSK modulation.
Figure 7.
BER performance with BPSK modulation for the , ARTM LDPC code with (solid) and without (dashed) random puncturing.
Without leveraging CPM decoder information, decoding is strongly affected by random puncturing, with dB of coding gain lost at a bit error rate (BER) of when moving from to , which represents an effective rate increase from to . Although small values of puncturing are well tolerated, such as shown for , these do not provide a significant increase in the code rate (e.g., increases to ). It is also observed that puncturing to the next available code rate of by setting results in poor performance, since the decoder cannot compensate for this large . Although it may happen that a code optimized for use with CPM is suboptimal for SPA decoding, it is worth noting that a coding gain of over 7 dB was reported [10] with the modulation scheme in place, outperforming all existing codes that were not optimized for the same modulation schemes.
4.2.2. CPM Regime
With CPM included, as shown in the systems presented in Figure 3 and Figure 4, a significant coding gain can be attributed to the global decoder-modulation loop. As shown in Figure 8, a coding gain in excess of 2 dB is observed between the systems employing BPSK and CPM modulation schemes, even without considering puncturing (. This illustrates the chosen LDPC code’s optimization for ARTM modulation and the ability of the SPA decoder to take advantage of information provided by the CPM decoder, working in concert by successively exchanging more accurate a priori information in a doubly iterative fashion.
Figure 8.
BER performance with CPM for the , ARTM LDPC code with (solid) and without (dashed) random puncturing.
For the full system, puncturing has a much more gradual influence on the knee or waterfall region of the resulting BER curve, with an error floor observed above a BER of only for overheads in excess of . For example, with , corresponding to an increase of the code rate from to , we observed a loss of approximately dB at a BER of in the simplified BPSK case (Figure 7), whereas in the CPM case, we see that this is reduced to approximately dB. At a bit error rate of , the loss remains less than dB. At , with , we see the punctured code still has reasonable performance (unlike BPSK). At this overhead, it performs similarly to the next highest available rate code of , indicating that, at this point, it may be preferable to use the next code in the standard for higher rates rather than puncture the lower rate codes. is not achieved until , at which point the performance dramatically degrades (like the case with BPSK). This occurs as a result of the LDPC decoder failing to converge satisfactorily. However, we conjecture that optimized puncturing patterns [31,32] may be able to reduce this gap. This is the subject of ongoing research.
In order to better examine the region of interest around the target code, Figure 9 displays the relevant curves across the punctured codes along with the unpunctured modulated ARTM code in terms of the ratio of energy per symbol to the single-sided noise power spectral density . The gain between the punctured , code and unpunctured mother code is approximately dB at a BER of , approximately the same as the loss in the gain when going from the mother code to punctured , code, highlighting that a window for further improvements is viable. We see, however, that the gap between the punctured code and the mother code has decreased to approximately dB at a BER of and looks likely to cross at higher SNR since the punctured waterfall is not as steep as the higher rate mother code. Indeed, this error floor behavior continues for . See, for example, the code, which has a significant error floor and loss of over 1dB (and increasing) for BERs lower than when compared to the mother code.
Figure 9.
BER performance in terms of with CPM for the , ARTM LDPC code with (solid) and without (dashed) random puncturing.
The simulation results presented previously [10] confirm the formation of an error floor below a BER of for the mother code, perhaps indicating an underlying weakness in that particular code that is exacerbated by puncturing irrespective of the modulation scheme. At low values of overhead , no error floor is yet apparent at , and thus, error-floor effects seem to dominate only in high overhead regimes. This gives possible allowance for low-overhead random puncturing to be realizable without any further considerations necessary. We also note that low-overhead puncturing where is well tolerated, and performance is robust with only a gradual decrease in the slope of the BER curve within the waterfall region. Operation within the waterfall region is nevertheless practical and could serve as an adaptive mechanism when spectral bandwidth is limited and channel conditions are favorable.
5. Random Shortening of ARTM0 LDPC Codes
As described in Section 2.3, shortening is a complementary technique to puncturing wherein codes of shorter length and lower rate can be constructed from a higher-rate mother code. To accomplish this in our proposed rate-compatible architecture, infinite reliabilities are assigned for the selected (shortened) information bits whose positions are known to both the transmitter and receiver, removing those bits from the resulting codeword. This corresponds to the removal of the matching information columns from the LDPC code’s parity-check matrix, reducing the code rate as given in (6).
5.1. Model and Method
The system model for shortening is nearly identical to that provided in Section 4.1 for puncturing (see Figure 3 and Figure 4), with the only alteration being to the function blocks and and the inclusion of a function block that is used to shorten the information sequence. In the shortening transmitter model (Figure 10), module takes input information bits as the input sequence, , and inserts s zeros in fixed (shortening) positions, thereby producing an information sequence of length k, which serves as input to the LDPC encoder. Since the encoder is systematic, the corresponding code symbols will also be zero, as prescribed by our shortening model. Note also that this excludes any parity bits from being shortened (fixed to zero) and effectively removes the corresponding rows from the generator matrix utilized by the LDPC encoder.
Figure 10.
Modification to the transmitter circuit includes module S to shorten the information bit sequence.
In the shortening transmitter and receiver models, operates in a similar way to puncturing but now only removes the known (shortened) information bits of the code (after interleaving). With puncturing, operates to insert zero-valued LLRs, corresponding to an equal probability of a bit being a zero or one since this information is not shared between the transmitter and the receiver prior to transmission (but must still be estimated). However, in the shortening receiver model (see Figure 11), module operates by inserting infinite valued LLRs (practically, a very large positive value) in the exact positions corresponding to the shortening pattern selected by the transmitter. This ensures the shortened symbols are fixed to zero, removing them from the parity check equations performed by the LDPC decoder. Similar to puncturing, we will consider various values of shortening overhead , as defined in Section 2.3, or as a percentage . We denote the rate of the shortened code with a subscript according to the rate of the mother code; e.g., denotes the rate of the shortened code obtained from the rate mother code with .
Figure 11.
Modifications to the input stage of the decoder in Figure 4 showing the module producing the infinite LLR outputs required for shortening.
5.2. Numerical Results
Simulation results were obtained with the same experimental setup used for random puncturing, as described in Section 4.2, with the exception that a different random shortening pattern is selected per transmitted codeword. Both the rate and block length of the mother code play an important role in the performance of ARTM0 codes under random shortening. If we first consider the performance of the shortened , , and codes in terms of (Figure 12), we observe an improvement in performance with increasing (and lowering rate ), as expected. However, when we adjust for the rate and consider the same examples in terms of the ratio of energy per bit to the single-sided noise power spectral density (Figure 13), no gain is observed by shortening the mother code with , and a loss is observed as we further increase to . However, with the higher rate of mother code, the larger gains observed in in Figure 12 do translate to improvements in terms of . We observe that each step increase in shortening from to produces an approximate gain of about dB per step at a BER of . We remark that with (not shown), the shortened code rate is , but the performance falls short of the mother code. Similar results to those of the code are obtained for the shortened codes, where gains are observed in terms of , but not when correcting for the rate with . These results indicate the short () ARTM0 block codes of low rates are less amenable to shortening, making rate-matching difficult for lower-rate mother codes but possible with the higher-rate mother codes. As with the random puncturing, it is possible that specific shortening patterns could yield gains over random shortening.
Figure 12.
Random shortening applied to the ARTM0 and codes in terms of .
Figure 13.
Random shortening applied to the ARTM0 and codes in terms of .
If larger block lengths are considered, shortening produces better results in terms of overall BER performance, especially for higher-rate codes. As shown in Figure 14, a coding gain of dB is observed in the waterfall region of the code with information block length and , whereas a gain of approximately dB was observed for the code with of the same rate and the same amount of shortening. This implies that longer block codes may be more amenable to random shortening, making rate-matching easier to accomplish with acceptable losses in performance.
Figure 14.
Random shortening applied to the ARTM0 and codes with .
For both information block lengths considered, the code with a mother rate shortened by produces a code of rate , providing a convenient rate-compatible option for framing and hardware implementation. For the mother code, moving to a larger information block length of does produce a slight gain at within a narrow portion of the waterfall region, which was not observed for random shortening of the corresponding code. Even with the longer block lengths, random shortening may have a negative impact on performance when adjusting for rate.
5.3. Puncturing vs. Shortening
Finally, we briefly discuss the trade-offs observed by puncturing a lower-rate ARTM0 code verus shortening a higher-rate ARTM0 code. Figure 15 shows the results obtained for random puncturing of the , , code with and (solid lines) alongside those obtained for random shortening of the , , code with and (dot-dash lines) with a goal of hitting target rates of approximately (blue) and (red). We observe that for rates close to the lower rate ARTM0 code, puncturing offers the best performance, whereas for the higher rates between the mother codes, it may be preferable to shorten the higher-rate code. For example, to obtain , we find that it is a better strategy to puncture the mother code, whereas for a target rate of , we find that it is better to shorten the mother code.
Figure 15.
BER performance for the , ARTM LDPC code with random puncturing (solid) alongside the , ARTM LDPC code with random shortening (dot-dash).
6. Hardware Considerations
Random puncturing and shortening may be implemented by the insertion of a switch in the registers that serve as buffers to the inputs of each module in the signal chain. At random intervals chosen by the overhead parameters, block length, and system bus speed, the switch is placed in the high-impedance position for one clock cycle. Depuncturing/deshortening is accomplished by the insertion of a random delay, at which point a zero-value (puncturing) or infinite value (shortening) is inserted into the register. Although this introduces additional latency, because all modules operate blockwise, it is possible to perform both puncturing and depuncturing in parallel.
Thus, when operating in a low-overhead regime as our results suggest, random puncturing and shortening offer robust rate-compatible performance with no changes to the submodules of Figure 3 and Figure 4. Since no substantive hardware alterations are required, this allows for new operational modes at little expense in terms of latency and memory. However, it is worth noting that because the LDPC SPA decoder still operates on the full depunctured/deshortened sequence, SPA-decoding computational complexity will remain largely unchanged.
7. Conclusions
In this paper, we have laid the groundwork for the construction of rate-compatible LDPC codes for IRIG-106 waveforms by the use of random puncturing and shortening. Our initial results show robust performance with codes designed for deployment with ARTM CPM modulation and open promising avenues for further improvement. Such systems would allow for the adaptive allocation of bandwidth in response to changing demand or channel conditions without requiring significant changes to the underlying encoding and decoding hardware and thus represent a low-complexity, low-cost implementation option. Furthermore, because puncturing is a type of erasure channel, it is easily modeled, and those results are readily extended to other channel models, reducing design iteration schedules.
By isolating the LDPC encoder and decoder, we were able to show the considerable coding gain afforded by the CPM-LDPC decoder loop, reinforcing that coding systems designed specifically for these modulations are better optimized than those that do not consider modulation during design. Though in neither case did we observe that random puncturing alone achieves the same performance as a code designed for that specific target rate, the gap is much more tractable with CPM modulation, having a span of dB, whereas without CPM modulation, the required overhead elicits an impractical error floor. Shortening codes with CPM modulation is a viable method for producing rates in between the mother code rates, but the technique works best for shortening the highest rate code with diminishing returns for lower-rate mother codes.
In future work, other codes, including those of different rates and lengths, will be considered in order to better understand the interplay between the strength of the code and its resilience to puncturing and shortening under CPM. Modulation appears to be no impediment to the implementation of puncturing, with perturbations in the codeword’s structure most strongly felt within the inner LDPC decoding loop of Figure 4. Because the code we are using in our model is designed specifically to take advantage of information from the CPM decoder, further work should examine the selection of puncturing patterns that least disturb this feedback mechanism in order to preserve its portion of the total coding gain, which was observed to be in excess of 2 dB. Furthermore, analytical results from density evolution on the BEC indicate not only that preferential puncturing patterns exist but that catastrophic patterns exist that yield extremely low decoding thresholds and should be avoided [13]. This knowledge will help inform the selection of nonrandom or quasi-random puncturing patterns that may bridge the gap between the punctured and mother codes seen in our present analysis. It will also better describe the limits of the code design procedure and may offer new avenues for optimization.
Author Contributions
Investigation of techniques and system simulation, original draft preparation, A.D.C.; asymptotic analyses, writing and editing, D.G.M.M.; construction of ARTM codes and development of the iterative CPM decoding framework, E.P. All authors have read and agreed to the published version of this manuscript.
Funding
This material is based upon work supported by the National Science Foundation under Grant Nos. CNS-2148358 and HRD-1914635.
Data Availability Statement
Data is contained within the article.
Conflicts of Interest
The authors declare no conflicts of interest.
Abbreviations
The following abbreviations are used in this manuscript:
| ARTM | Advanced Range TeleMetry |
| ASM | Attached Sync Marker |
| AWGN | Additive White Gaussian Noise |
| BEC | Binary Erasure Channel |
| BER | Bit Error Rate |
| BP | Belief Propagation |
| BPSK | Binary Phase-shift Keying |
| CPM | Continuous Phase Modulation |
| FEC | Forward Error Correction |
| FM | Frequency Modulation |
| LDPC | Low-Density Parity-Check |
| LLR | Log-likelihood Ratio |
| MSA | Min-sum Algorithm |
| PCM | Pulse Code Modulation |
| QC | Quasi-cyclic |
| SISO | Soft-in, Soft-out |
| SOQPSK-TG | Telemetry Group version of Shaped-Offset Quadrature Phase Shift Keying |
| SPA | Sum-product Algorithm |
References
- Gallager, R. Low-density parity-check codes. IRE Trans. Info. Theory 1962, 8, 21–28. [Google Scholar] [CrossRef]
- MacKay, D.J.C. Near Shannon Limit Performance of Low Density Parity Check Codes. Elect. Lett. 1997, 33, 457–458. [Google Scholar] [CrossRef]
- Richardson, T.J.; Urbanke, R.L. The Capacity of Low-Density Parity-Check Codes Under Message-Passing Decoding. IEEE Trans. Inf. Theory 2001, 47, 599–618. [Google Scholar] [CrossRef]
- Li, Z.; Chen, L.; Zeng, L.; Lin, S.; Fong, W.H. Efficient encoding of quasi-cyclic low-density parity-check codes. IEEE Trans. Commun. 2006, 54, 71–81. [Google Scholar] [CrossRef]
- Richardson, T.; Jin, H. LDPC Encoding Methods and Apparatus. U.S. Patent No. 7,346,832, 7 July 2007. [Google Scholar]
- Hu, X.Y.; Eleftheriou, E.; Arnold, D.M.; Dholakia, A. Efficient implementations of the sum-product algorithm for decoding LDPC codes. In Proceedings of the GLOBECOM’01, IEEE Global Telecommunications Conference, San Antonio, TX, USA, 25–29 November 2001; Volume 2, p. 1036. [Google Scholar]
- Cheng, C.-C.; Yang, J.D.; Lee, H.C.; Yang, C.H.; Ueng, Y.L. A fully parallel LDPC decoder architecture using probabilistic min-sum algorithm for high-throughput applications. IEEE Trans. Circ. Syst. I Reg. Pap. 2014, 61, 2738–2746. [Google Scholar] [CrossRef]
- IRIG Standard 106-23; Telemetry Standards. Range Commanders Council Telemetry Group, Range Commanders Council: White Sands Missile Range, NM, USA, 2024.
- Perrins, E. LDPC Codes for IRIG-106 Waveforms: Part I—Code Design; International Foundation for Telemetering: Las Vegas, NV, USA, 2023. [Google Scholar]
- Perrins, E. LDPC Codes for IRIG-106 Waveforms: Part II—Receiver Design; International Foundation for Telemetering: Las Vegas, NV, USA, 2023. [Google Scholar]
- Hagenauer, J. Rate-compatible punctured convolutional codes (RCPC codes) and their applications. IEEE Trans. Commun. 1988, 36, 389–400. [Google Scholar] [CrossRef]
- Ha, J.; Kim, J.; McLaughlin, S.W. Rate-compatible puncturing of low-density parity-check codes. IEEE Trans. Inf. Theory 2004, 50, 2824–2836. [Google Scholar] [CrossRef]
- Mitchell, D.G.M.; Lentmaier, M.; Pusane, A.; Costello, D.J., Jr. Randomly Punctured LDPC Codes. IEEE J. Sel. Areas Commun. 2016, 34, 408–421. [Google Scholar] [CrossRef]
- Cummins, A.D.; Mitchell, D.G.M.; Perrins, E. Spectrally Efficient LDPC Codes for IRIG-106 Waveforms via Random Puncturing. arXiv 2024. arXiv:2410.05844. [Google Scholar]
- Jiang, M.; Wang, Y.; Lyu, Y.; Zhang, Y.; Xu, X.; Hu, N. FLCA: A Flexible Coding Approach Through 5G NR LDPC Codes. IEEE Commun. Lett. 2023, 28, 9–13. [Google Scholar] [CrossRef]
- Páleník, T.; Szitkey, V.; Otruba, J.; Divinec, L. A Minimal-Resource LDPC Encoder and Decoder Design for Memory-Constrained Systems. In IEEE ELEKTRO; IEEE: Zakopane, Poland, 2024; pp. 1–6. [Google Scholar]
- Battaglioni, M.; Amagliani, M.; Baldi, M.; Cancelleri, G. Design and analysis of a family of complexity-constrained LDPC codes. In Proceedings of the IEEE International Symposium on Information Theory, Athens, Greece, 7–12 July 2024; pp. 428–433. [Google Scholar]
- Pishro-Nik, H.; Fekri, F. Results on Punctured Low-Density Parity-Check Codes and Improved Iterative Decoding Techniques. IEEE Trans. Inf. Theory 2007, 53, 599–614. [Google Scholar] [CrossRef]
- Lin, S.; Costello, D.J., Jr. Error Control Coding: Fundamentals and Applications; Prentice Hall: Hoboken, NJ, USA, 2004. [Google Scholar]
- Tian, T.; Jones, C.R. Construction of rate-compatible LDPC codes utilizing information shortening and parity puncturing. EURASIP J. Wirel. Commun. Netw. 2005, 2005, 789–795. [Google Scholar] [CrossRef]
- Kim, S.-R.; Shin, D.-J. Lowering Error Floors of Systematic LDPC Codes Using Data Shortening. IEEE Commun. Lett. 2013, 17, 2348–2351. [Google Scholar] [CrossRef]
- Suls, A.; Lefevre, Y.; Van Hecke, J.; Guenach, M.; Moeneclaey, M. Error Performance Prediction of Randomly Shortened and Punctured LDPC Codes. IEEE Commun. Lett. 2019, 23, 560–563. [Google Scholar] [CrossRef]
- Thorpe, J. Low-Density Parity-Check (LDPC) Codes Constructed from Protographs; INP Progress Report 42-154; Jet Propulsion Laboratory: Pasadena, CA, USA, 2003. [Google Scholar]
- Divsalar, D.; Dolinar, S.; Jones, C.; Andrews, K. Capacity-approaching protograph codes. IEEE J. Sel. Areas Commun. 2009, 27, 876–888. [Google Scholar] [CrossRef]
- Gallager, R.G. Low-Density Parity-Check Codes. Ph.D. Thesis, Massachusetts Institute of Technology, Cambridge, MA, USA, 1963. [Google Scholar]
- Boyle, E.C.; McEliece, R.J. Asymptotic weight enumerators of randomly punctured, expurgated and shortened code ensembles. In Proceedings of the Forty-Sixth Annual Allerton Conference, Monticello, IL, USA, 23–26 September 2008. [Google Scholar]
- Hsu, C.-H.; Anastasopoulos, A. Capacity achieving LDPC codes through puncturing. IEEE Trans. Inf. Theory 2008, 54, 4698–4706. [Google Scholar] [CrossRef]
- Kschischang, F.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef]
- Cheng, S.; Valenti, M.C.; Torrieri, D. Coherent Continuous-Phase Frequency-Shift Keying: Parameter Optimization and Code Design. IEEE Trans. Wirel. Commun. 2009, 8, 1792–1802. [Google Scholar] [CrossRef]
- Perrins, E. FEC systems for aeronautical telemetry. IEEE Trans. Aerosp. Electron. Syst. 2013, 49, 2340–2352. [Google Scholar] [CrossRef]
- Zhou, H.; Mitchell, D.G.M.; Goertz, N.; Costello, D.J., Jr. Robust Rate-Compatible Punctured LDPC Convolutional Codes. IEEE Trans. Commun. 2013, 61, 4428–4439. [Google Scholar] [CrossRef]
- Vellambi, B.N.; Fekri, F. Finite-length rate-compatible LDPC codes: A novel puncturing scheme. IEEE Trans. Commun. 2009, 57, 297–307. [Google Scholar] [CrossRef]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).