Performance Improvement of Space Missions Using Convolutional Codes by CRC-Aided List Viterbi Algorithms

Recently, CRC-aided list decoding of convolutional codes has gained attention thanks to its remarkable performance in the short blocklength regime. This paper studies the convolutional and CRC codes of the Consultative Committee for Space Data System Telemetry recommendation used in space missions by all international space agencies. The distance spectrum of the concatenated CRC-convolutional code and an upper bound on its frame error rate are derived, showing the availability of a 3 dB coding gain when compared to the maximum likelihood decoding of the convolutional code alone. The analytic bounds are then compared with Monte Carlo simulations for frame error rates achieved by list Viterbi decoding of the concatenated codes, for various list sizes. A remarkable outcome is the possibility of approaching the 3 dB coding gain with nearly the same decoding complexity of the plain Viterbi decoding of the inner convolutional code, at the expense of slightly increasing the undetected frame error rates at medium-high signal-to-noise ratios. Comparisons with CCSDS turbo codes and low-density parity check codes highlight the effectiveness of the proposed solution for onboard utilization on small satellites and cubesats, due to the reduced encoder complexity and excellent error rate performance.


I. INTRODUCTION
The method of combining a convolutional code (CC) with a cyclic redundancy check (CRC) code has gained widespread acceptance in the context of (hybrid) automatic repeat request (ARQ) protocols. This approach, for instance, has been integrated into the cellular communication standards of both 3G [2] and 4G LTE [3]. Typically, the CC acts as an inner error-correcting code, while the CRC functions as an outer error-detecting code that validates the accuracy of the decoded codeword. The concept of powerful concatenations of CCs with high-rate outer binary linear block codes was introduced in [4], demonstrating efficient decoding through The associate editor coordinating the review of this manuscript and approving it for publication was Yuan Gao . the utilization of list Viterbi algorithms (LVAs) [5], which mirrors the approach employed for decoding turbo polar codes combined with CRC codes [6], [7].
Despite the availability in Consultative Committee for Space Data Systems (CCSDS) telemetry synchronization and channel coding recommendation [22] of more performant error-correcting codes such as turbo codes and low-density parity-check (LDPC), CCs continue to be used in various space missions due to their minimal encoder complexity and excellent performance, especially for on-board applications in small satellites and cubesats. It is worth noting that when CCs are employed in a telemetry (TM) link, the CCSDS TM and the advanced orbiting systems (AOS) space data link protocol [23], [24] mandate the use of an outer CRC code. The inclusion of a CRC code is crucial for error detection following Viterbi decoding of the inner CC. However, by adopting the decoding technique proposed in [4], the outer CRC code becomes an integral part of the error correction system and it is no longer solely used for error detection.

A. CONTRIBUTIONS
The main contributions of this paper are summarized as follows.
• We present a method to compute the distance spectrum of the CRC+CC scheme defined by the CCSDS Telemetry Recommendation. The distance spectrum is used to compute analytic upper bounds on the frame error rates (FERs) of the concatenated scheme. The bounds show that a 3 dB gain is potentially available moving from convolutional code decoding to concatenated code decoding.
• By means of Monte Carlo simulations, we evaluate both the FER and the undetected frame error rate (UFER) of the CRC+CC scheme when decoded by means of list Viterbi algorithms, comparing the results for various list sizes. We show that the 3 dB gain can be achieved with reasonable list size, while incurring in a small penalty in terms of undetected frame error rates compared with the Viterbi algorithm (VA) decoding of the inner CC only.
• We analyze the on-ground decoding complexity and we show that it is manageable at medium and high SNR, with a slight increase with respect to the Viterbi complexity.
• We compare the CRC+CC scheme with modern coding options of the CCSDS TM recommendation. Results show that the gap is very limited, especially at high rates. Since the encoder complexity of convolutional codes is negligible, unlike that of turbo codes (that have an interleaver) and low density parity check codes (that have a non-sparse large generator matrix), the performance makes this solution extremely appealing for small satellites with limited on-board computational complexity.
The article significantly extends the work presented in preliminary form in [1], where we showed the potential of the CCSDS CRC+CC. Among the numerous additions compared to [1], we can mention: • The presentation of the method used to compute the distance spectrum of the CRC+CC scheme.
• The extension of the Monte-Carlo simulations of the Frame Error Rate of the CRC+CC concatenation to higher list sizes.
• The Monte-Carlo simulations of the undetected error rate of the CRC+CC scheme for various list sizes and the analysis of the obtained results and trade-off.
• The comparisons between the CRC+CC codes with the turbo and LDPC coding options of the CCSDS TM recommendation in terms of frame error rate, spectral efficiencies and encoding complexities.

B. ORGANIZATION
The work is structured as follows. We introduce the notation and we review aspects of the CCSDS telemetry recommendation in Section II. In Section III list Viterbi algorithms are recalled. We detail in Section IV the iterative parallel-list Viterbi algorithm. The construction of the CRC+CC trellis is presented in Section V, together with the derivation of the distance spectrum of the CRC+CC concatenation of the CCSDS recommendations and the error rate upper bounds. Numerical results on the frame error rate and the undetected frame error rates are presented in Section VI. A comparison with the other coding schemes options of the CCSDS TM recommendation is presented in Section VII. Conclusions follow in Section VIII.

II. CCSDS TELEMETRY RECOMMENDATION A. TRANSFER FRAMES
The TM and the AOS recommendations from the CCSDS [23], [24] provide essential functionalities for data transfer utilizing a protocol data unit known as the transfer frame (TF). Within the synchronization and channel coding sublayer, auxiliary functions are offered to facilitate TF transmission across the space link. These functions encompass error-control coding and decoding, TF delimiting and synchronization, as well as bit transition generation and removal. Various families of channel codes can be chosen as coding options, including convolutional codes, parallel/serial turbo codes, Reed-Solomon codes, concatenated Reed-Solomon and convolutional codes, and low-density parity-check codes. It is worth mentioning that the decoders for the latter three code families possess a native transfer frame validation property, enabling error detection. In contrast, this capability is not inherent in CC and turbo codes. Consequently, when utilizing the latter two code families, the CRC (Transfer Frame Error Control Field) defined in [23], and [24] is compulsory. However, for the other three code families, the presence of the CRC field is optional.
With the exception of CCs, the TF is encoded into a codeword, and then an attached synchronization marker (ASM) is appended as prefix. The ASM is a fixed binary sequence that fulfills the delimiting function of the TF required for frame synchronization. For CCs, the procedure differs, and the TF is first preceded by a 32-bit long ASM pattern, denoted as (1ACFFC1D) HEX , and the ASM is also encoded.
It is valuable to highlight that when there are no TFs available, a frame containing dummy data, and called only idle data (OID) frame, is encoded to carry on the link 55926 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.
availability. Subsequently, before being the convolutionally coded, the information sequences are arranged as continuous sequences comprising data/OID TFs separated by ASM patterns.
A high-level view of the CCSDS convolutionally coded systems is shown in Fig. 1, where the synchronization and channel coding operations of a TM CCSDS compatible transmitter are depicted.

B. CONVOLUTIONAL AND CYCLIC REDUNDANCY CHECK CODES
The recursive and systematic CRC encoder with generator polynomial is used to generate the 16−bit vector denoted as Transfer Frame Error Control Field and whose encoder circuit is depicted in Fig. 2.
The circuit is loaded with all ones at time t = 0, i.e., at the beginning of each TF. The switch remains in position s in for the entire frame duration and is then switched to position s out (and s m is open) to generate the 16 parity bits.
The memory ν = 6 (64 states) non-recursive CC encoder with polynomial generator matrix is adopted in [22]. Its encoding circuit is depicted in Fig. 3. In theory, the CC encoder is not terminated. However, in practice, the encoding of the ASM forces the start/end states to have fixed values. Let us denote by σ i the i-th state of the trellis. Since the CC encoder is feedforward, the CC encoder is forced to the binary state σ start = (101110) at the beginning of a frame and to σ end = (110101) at the end of it. Those bits are the last 6 bits of ASM preceding the TF and the first 6 bits of the ASM following it, respectively. In the remainder of the work, we denote by K the length of the TF in bits, prior to CRC encoding. Denoting by m = 16 and h = 32 the number of CRC parity bits and the length of the ASM, respectively, we get that the code rate is given by where R cc is the code rate of the convolutional encoder (equal to 1/2 for the non-punctured case). Remark 1: The CRC+CC code, having the termination conditions imposed by the ASM and the CRC encoder being initialized to the all-one state, is not strictly a binary linear code. However, the codewords generated by CRC+CC form a coset of the CRC+CC binary linear code. In this study, we examine the performance of the code over the binary-input additive white Gaussian noise (AWGN) channel. Due to the channel's symmetry, analyzing the affine CRC+CC concatenation can be reduced to analyzing the linear CRC+CC concatenation. This reduction is achieved by (i) initializing the CRC circuit loading only zeros (ii) enforcing the CC starting and ending states to be the all-zero state. For the remainder of this paper, we will leverage this observation and focus our analysis on the linear CRC+CC concatenation.
The convolutional encoder of [22] has a rate of R cc = 1/2, but it is possible to increase the rate by using a puncturer in cascade with the encoder itself. The periodic puncturing patterns with the corresponding rates are shown in Table 1. In the periodic pattern, a ''1'' indicates a bit which is transmitted, while a ''0'' indicates a punctured bit which is not transmitted. The bits of the puncturing patterns at even positions, beginning with the position 0, refer to the output bits of the first polynomial of the generator matrix, while the bits at odd positions refer to the output bits of the second polynomial of the generator matrix. For instance, given the CC encoder output by setting the code rate to R cc = 2/3 through the application of the puncturing pattern [1, 1, 0, 1] we obtain the transmitted sequence [c (1) t , c (2) t , c This means that the mother rate-1/2 encoder is the same for all convolutional codes of the CCSDS standard and only the correct puncturing pattern is needed to adjust the rate of the code.

III. CRC-AIDED LIST VITERBI DECODING ALGORITHMS
In this section, we will review LVAs and their application in improving the performance of systems that employ convolutional codes in conjunction with an outer CRC code, while also considering their impact on error detection capabilities.
We indicate with I i the set of CC trellis state indexes at time t that are connected to state i at time t + 1. Additionally, we represent with λ σ j →σ i t the VA state transition metric over the edge connecting state σ j with state σ i at time t. When considering the binary-input AWGN channel, the state transition metric is defined as the correlation between the modulated edge label and the corresponding observation at the channel output. Furthermore, σ i t stands for the cumulative metric for state σ i in the t-th trellis section.
The parallel-list Viterbi algorithm (PLVA) [5] is obtained with a straightforward modification of the VA which allows to VOLUME 11, 2023    output an list L containing the L trellis paths with the highest likelihood. Here is how the PLVA operates.
At time t = 0, decoding starts from the all-zero state with L σ 0 0 containing only the element σ 0 ,(1) 0 = 0. Then, for each state σ i in the trellis branches at time t, L σ i t is constructed as follows where max (ℓ) is an operator that returns the ℓ-th largest argument. The process is illustrated in Fig. 4. Once the final trellis section is reached, the L paths stored in the final state list are extracted and each path is tested using the outer CRC code. If none of the paths satisfy the CRC constraints, a decoding error is raised. Otherwise, the path with the highest cumulative metric among those satisfying the CRC constraints is output as the final decision. An other decoding possibility is the use of the seriallist Viterbi algorithm (SLVA) [5]. This algorithm operates

IV. ITERATIVE PARALLEL-LIST VITERBI ALGORITHM
In this section, we present an implementation approach based on the PLVA with a decoder that exhibits decreasing algorithmic complexity as the signal-to-noise ratio (SNR) increases. The iterative PLVA is employed by running multiple instances, starting with a small list size L (e.g., L = 1), and incrementing L whenever the CRC code constraints are not met for all paths in the list or when L exceeds the maximum list size L max . This approach emulates the behavior of the SLVA and results in reduced average algorithmic complexity with increasing SNR.
The iterative PLVA incorporates a scheduler that determines how L is increased whenever the CRC conditions are not satisfied. The scheduler, denoted as sched(·), takes the current value of L at the i-th iteration (L (i) ) and outputs the value of L at the (i + 1)-th iteration (L (i+1) ), where L (i+1) > L (i) . For instance, a straightforward constant increase in the list size can be achieved with L (i+1) = sched(L (i) ) = L (i) + 1, or a doubling of the list size at each iteration with It is important to note that the chosen scheduler impacts both the algorithm's delay and complexity in the worst-case scenario, which occurs when L reaches L max .
The procedure of the iterative PLVA is described in Algorithm 1. Given a received sequence y, a maximum list size L max , and the scheduler sched(·), the algorithm produces a list L that contains the messages associated with the L most likely paths over the trellis. The list is sorted in decreasing order of their likelihood. Additionally, a flag named NACK is used to indicate whether none of the found messages satisfy the CRC code constraints (NACK = 1) or if at least one does (NACK = 0). Lastly, ℓ represents the position of the most likely message that satisfies the CRC conditions, if any, within the list. L ← sched(L) 8: end while 9: return (L, NACK, ℓ) 10: end procedure For software implementation, sorting the list at each trellis node for the PLVA with list size L takes into account that each node, in the case of a rate-1/2 convolutional code, has two predecessors, each with an already sorted list. To merge these lists efficiently, a minimum complexity merge operation can be performed using L comparisons in series. Starting from the best element of each list, the list index of the node whose element was selected in the previous comparison is incremented. This approach results in a sorting delay of L. Another option for sorting the list elements is to utilize modern CPU/GPUs with multiple computing cores, enabling parallel execution of several comparisons using a sorting network [27]. The same sorter can also be implemented in hardware (ASIC, FPGA, . . . ).
In [14] a bitonic merger, which is a sorting network based on the bitonic sorter [28], but with delay O(log 2 (L)) is proposed instead of O(log 2 2 (L)) of the original bitonic sorter. It requires L 2 log 2 (L)+L comparators, instead of L log 2 2 (L) of the bitonic sorter. We depict in Fig. 5 an instance of the sorting network when we merge two nodes with list size L = 8, and we refer to [14,Algorithm 2] for the generalization of the sorting network for any list size L.

V. DISTANCE SPECTRUM OF CRC+CC CODES A. DISTANCE SPECTRUM CALCULATION
The distance spectrum of a zero-tail (ZT) terminated convolutional code can be derived by the approach outlined in [29], which relies on the trellis representation of the convolutional code. As observed in [4], when both the CC and the CRC encoders are non-systematic, the CRC+CC code can be described by the encoder of a CC with larger memory. More specifically, the memory of the resulting CC is (ν + m), where m is the degree of the CRC code generator polynomial and ν is the memory of the inner convolutional code. The generator matrix transfer function of the CRC+CC code is where G CC (D) is the generator matrix transfer function of the inner CC, while g CRC (D) is the generator polynomial of the CRC code. The trellis diagram of the code defined by Eq. (2) possesses 2 ν+m states per section. When the memory (ν + m) is moderate-small, it is possible to label the trellis branches with monomials in the form X d , where d is the Hamming weight of the encoder output associated to the given branch. Denote by T (X) the 2 ν+m × 2 ν+m transition matrix, where the i, j entry corresponds to the label (i.e, the monomial X d ) of a branch connecting state i to state j in the trellis diagram. The weight enumerating function (WEF) of the CRC+CC code can be obtained by computing first W (X) = T K +ν+m (X), and then by isolating the element in position (0, 0), W 0,0 (X). Renaming A(X) = W 0,0 (X), we can recognize that A(X) = w A w X w is the WEF of the code, with A 0 , A 1 , . . . being the distance spectrum (i.e., the weight enumerator) [29]. Despite the fact that the CRC code of the CCSDS CRC+CC code is systematic, this is not a problem for the computation of the distance spectrum and the abovementioned analysis is still valid. This is due to the fact that both a systematic and a non-systematic CRC code, with equal generator polynomial, generate the same codebook, but with different input-output relationship. This means that the input messages entering the convolutional code are the same for both the systematic and the non-systematic CRC codes, and thus also their weight enumerators are the same. For the CCSDS CRC+CC code, the memory amounts to (ν +m) = 22, rendering the straightforward application of the above-mentioned technique challenging. The approach can be simplified by performing a limited search over the code trellis as proposed in [14]. This result in the calculation of the lower tail of the distance spectrum, only, which in any case is sufficient to properly estimate the upper bounds.

B. ASYMPTOTIC CODING GAIN ANALYSIS
In this section, we delve into the analysis of the achievable asymptotic coding gain provided by the CCSDS CRC+CC code when decoded according to the approach outlined in Section III. The analysis revolves around establishing a union upper bound on the FER of both the solely CC and the CRC+CC code. To initiate the investigation, we derive the inner CC's distance spectrum. The WEF of the code (limited to the lower tail of the distance spectrum) for various values of K is presented in Table 2. A notable observation is the doubling of the minimum distance of the inner CC achieved through the concatenation with the outer code. Furthermore, it is worth noting that the A w terms exhibit linear growth in relation to K solely for the CC, as noted in [30], whereas these terms display quadratic growth for the CRC+CC scheme. By leveraging the doubled minimum distance and the controlled rate loss introduced by the outer CRC code, asymptotically the CRC+CC concatenation achieves a coding gain of approximately 3 dB over the inner CC under ML decoding. This highlights the effectiveness of the CRC+CC concatenation in improving the overall performance of the system.  For a specific distance spectrum, we can establish an upper bound on the error probability of ML decoding the code by using the union bound as In Fig.6, we present truncated versions of the upper bounds on P B for both the CC and CRC+CC codes, corresponding to different code lengths K . The curves in Fig. 6 are obtained by truncating the summation in equation (3) up to w = 120. By examining frame error rates below 10 −6 , where the bound is expected to be highly accurate, we can already observe a significant coding gain of approximately 3 dB that can be achieved through the concatenation of CRC+CC.

C. PUNCTURED CODES
In [22] the output of the CC encoder described in Section II-B may be punctured to achieve higher code rates. Also for these higher-rate codes we have computed the lower tail of the distance spectra, which are reported in Table 3, and  TABLE 3. Distance spectra of the punctured CCs and CRC+CC codes of the CCSDS standard for various rates of the encoder. The TF length is fixed to K = 1768. the truncated union bounds on the FER under ML decoding which are depicted in Fig. 7.
Also in these cases the minimum distance is doubled (even more for the R cc = 2/3) when compared with the distance of the corresponding inner CCs of the same rates, resulting also in these cases in up to approximately 3 dB coding gain for the CRC-aided systems with respect to the non-aided ones.

VI. NUMERICAL RESULTS
In the context of CRC-aided list Viterbi decoding, this section presents the results of Monte Carlo simulations for the CRC+CC concatenation of the CCSDS standard. The simulations are conducted considering different lengths of the uncoded TF, specifically K ∈ {1768, 3552, 8904} bits, which correspond to commonly encountered CCSDS input lengths: 1784, 3568, and 8920 bits when the additional 16 bits for CRC are included. The system assumes BPSK modulation over the AWGN channel, with perfect frame and carrier synchronization at the receiver. The received signal at the channel output is modeled as where x i ∈ ±1 represents the transmitted symbol and n i ∼ N (0, σ 2 ) represents Gaussian noise. The FER is estimated, and the SNR is expressed in terms of E b /N 0 , where E b denotes the energy per information bit and N 0 = 2σ 2 represents the noise single-sided power spectral density. The simulations aim to evaluate the performance of the CRC+CC concatenation, focusing on the achievable FER for the considered TF lengths. By conducting extensive Monte Carlo simulations, we gain insights into the system's behavior and its robustness against noise and channel impairments. The results provide valuable information on the effectiveness of CRC-aided list Viterbi decoding and demonstrate the potential benefits of the CRC+CC concatenated scheme in terms of improved error performance and SNR gain.  Fig. 15). The results are extended to various list sizes of the list Viterbi algorithms. Note that for the same list size, the performance of SLVA and PLVA is identical. Thus, we do not specify the list decoder in the figures. The Viterbi decoding of the inner CC corresponds to L = 1 in the figures. On each chart, the (truncated) union bounds on the ML FER are illustrated for both the CC and the CRC+CC concatenation. In the figures, we also depict the random coding bound (RCB) introduced by Gallager [31] for the given R and K . The RCB evaluates an upper bound on the average FER of the code ensemble made of all the codes with rate R and information block size K .

A. PRACTICAL CODING GAINS FOR SPACE MISSIONS
Examining Fig. 8, with K = 1768, it becomes evident that higher SNR values allow for a reduction in the list size L while still approaching the ML decoding bound. For example, at E b /N 0 = 4 dB, a maximum list size of L = 64 is sufficient to achieve a loss of only 0.5 dB from the ML bound for the CRC+CC code. Similarly, at E b /N 0 = 4.5 dB, the same level of performance is attained with a reduced list size of L = 32, yielding a coding gain of approximately 2.5 dB compared to the plain CC under ML FER. Comparable trends can be observed for other transfer frame lengths.

1) PUNCTURED CODES
Results on the FER of several punctured codes are provided in Fig. 9 for R cc = 2/3. (In the Appendix in the Fig. 16 and Fig. 17, we report the results for R cc = 3/4 and R cc = 5/6, respectively). K = 1768 is chosen as TF length. On the same chart, union bound on the FER under ML decoding are depicted as reference. The results are similar to the non punctured case and they show already coding gains w.r.t. the use of the VA that are larger than 2.5 dB at a FER of 10 −7 , for the CRC-aided list decoders when the maximum list size is 32. An interesting result worth to mention is that the coding loss of the CRC+CC code performance with respect to the RCB diminishes for increasing the code rate. For instance,  for a target FER of 10 −5 , for the R cc = 1/2 code the coding loss is of about 1.75 dB, while it decreases to 1.4 dB when R cc = 2/3.

B. UNDETECTED FRAME ERROR RATES
While it is true that the CRC+CC under LVA decoding yields better error rates than the inner CC one under VA decoding, the gains come at the price of reducing the error-detecting capabilities of the system, thus increasing the UFER. For list decoders where the list contains the L-most likely candidates (this is the case of LVAs), the UFER of the system increases as a function of the employed list size: larger list sizes mean larger UFERs. In the limit case in which the list contains all the codebook, the UFER coincides with the FER of the CRC+CC under ML decoding. It means that the UFER is always upper bounded by FER of the CRC+CC code.
We have investigated the UFER of the CC encoder of rate R cc = 1/2 for a TF of length K = 1768 for various list sizes of CRC-aided LVAs via Monte-Carlo simulations. We have simulated up to counting 100 undetected errors for different values of E b /N 0 . Fig. 10 shows the obtained results which confirms that higher list sizes penalize the UFER, but the penalty decreases when the SNR increases. For instance, when the VA (which is equivalent to a LVA with L = 1) is employed at the decoder side, the penalty at E b /N 0 = 3.5 dB is less than 0.5 dB from the truncated union bound on the FER of the CRC+CC code, while at E b /N 0 = 4 dB the margin from the bound is reduced to approximately 0.1 dB. This result suggests that the union bound on the FER of the CRC+CC scheme can be regarded as a relatively tight bound for low values of the UFER. Being the FER union bound an upper bound on the UFER of a LVA for all list sizes, this also means that at medium and high SNR there is little penalty in the UFER when using a LVA instead of the VA. This is true even for very large values of L.
In certain scenarios the required UFER may be very low. Although the constraints are much more pronounced for the uplink than for the downlink, let us suppose very extreme requirements like FER=10 −9 and UFER=10 −12 . Looking at Fig. 6 for a TF of length K = 1768, we have a FER of 10 −9 at around E b /N 0 = 7.5 dB with the VA, but the UFER of 10 −12 can already be reached at E b /N 0 = 5.2 dB, meaning that the use a LVA decoder can still provide more than 2 dB coding gain with respect to the VA decoding without exceeding the target UFER.

C. COMPLEXITY OF THE ITERATIVE PLVA
In Fig. 11 we report the outcomes of the complexity of the application of the iterative PLVA algorithm. We use C iPLVA as complexity metric, which represents the average complexity normalized to the one of the VA. We indicate with L max the maximum list size and we use as scheduler one which increase twofold the list size each time none of the codewords in the list satisfy the CRC code constraints.
To compute C iPLVA , we introduce the variable I that defines the number of iterations of the iterative PLVA. Then, owing to the fact that the complexity of the j−th iteration is L (j) × larger than the VA, we compute the normalized complexity as where the expectation is over I . We evaluate the expression via Monte Carlo simulations.
When examining the computed values of C iPLVA for a TF of length K = 1768, as illustrated in Fig. 11, and for various maximum list sizes Lmax, it is apparent that at low E b /N 0 values, C iPLVA corresponds to the summation of all powers of two up to the employed maximum list size. This implies that, regardless of the list size, very few messages can be accurately decoded during the initial stages. However, for a target FER of 10 −7 , where E b /N 0 > 4 dB for ML decoding of the CRC+CC scheme, the average complexity of the iterative PLVA decoder approaches a value of 1 for all maximum list sizes C iPLVA , indicating that nearly all codewords in the concatenated scheme are correctly decoded during the first iteration, with only a small fraction requiring additional iterations. In particular, when focusing on Fig. 8 (K = 1768), by looking at the FER results at E b /N 0 = 4.5 dB, the Viterbi decoder achieves a FER of 2·10 −3 . This suggests that with the use of the iterative PLVA decoder, only approximately 0.2% of messages necessitate the execution of PLVA decoders with a list L ≥ 2.

VII. COMPARISON AGAINST THE OTHER CCSDS CHANNEL CODING OPTIONS
In this section we compare the performance of CCSDS CRC+CC codes under LVA decoding with the ones of other channel coding schemes for the CCSDS TM recommendation with similar length and rate. The comparison is performed on the AWGN channel with BPSK modulated signals. We use the CCSDS CRC+CC codes decoded using LVAs with L max = 2048 and compare them with the performance results reported in the CCSDS TM Green Book [32].

A. FRAME ERROR RATE
We report in Table 4 the rates of the various analyzed codes. The results are depicted in Fig. 12. The considered frame length is K = 1768 bits.
The results of the (255, 223) Reed-Solomon (RS) codes concatenated with CC codes with an interleaver of length 5 blocks and each code is represented by RS+CC-R CC , FIGURE 11. Performance comparison of the CCSDS CRC+CC code using BPSK modulation over an AWGN channel. The graph showcases the C iPLVA as a function of the SNR. The evaluation focuses on a TF of length K = 1768 bits, employing a CC encoder with a code rate of R CC = 1/2 which is decoded using the iterative PLVA with L max in the legend.

TABLE 4.
Effective rates of the CCSDS channel coding options compared in Fig. 12. E = 16, I = 5. Note that this code is more complex and longer than the CRC+CC on, with a frame size of 8920.
The LDPC codes used in the comparison have frame size of 1024 bits and they are iteratively decoded via belief propagation algorithm with 200 iterations, while the turbo code posses a frame size of 1784 bits and it is decoded with 10 iterations of the BCJR algorithm.
Looking at Fig. 12, we can see that the coding gain over the CRC+CC code of the LDPC codes decreases when the code rate increases. For instance, looking at a FER of 10 −5 , at a code rate of ≈ 1/2 the coding gain is nearly 1.2 dB, while it reduces to 0.7 dB at a rate of around 2/3, and it is of only 0.4 dB when the code rate is 4/5 for the LDPC code (and slightly higher for the CRC+CC code). An advantage of the CRC+CC codes to the LDPC codes is in their encoder, which can be realized with a simpler structure and it is the same for all rates, while the LDPC codes of the CCSDS TM recommendation possess a more complex encoder structure, with a different generator matrix for each rate-frame size pair. When compared with the RS+CC codes, with similar rates, the CRC+CC codes perform slightly better while possessing shorter frames.
The rate 1/2 turbo code with K = 1768 decreases its gain when the SNR increases due to the error floor phenomenon [33] because its minimum distance is 17, which is smaller than the CRC+CC one. Looking at a FER of 10 −5 the coding gain is of approximately 1.5 dB and it decreases down to 0.7 dB at a FER of 10 −10 .

B. DISTANCE FROM CAPACITY
To summarize the results we have compared the spectral efficiency in bits per channel use for the various code families, compared them with the capacity of the binary input AWGN channel. For the CRC+CC codes we have taken into account the performance of a LVA with L max = 2048. The results are shown in Fig. 13 for the target FER of 10 −5 . From  Fig. 13, we can see that by increasing the code rate, the gap between the CRC+CC performance and the channel capacity limit decreases as the gap from LDPC codes.

C. ENCODER COMPLEXITY
The CRC (Fig. 2) and CC (Fig. 3) encoders are shift registers, then their on-board implementation complexity is negligible. Moreover the same circuit is used for any coderate, through puncturing application. The LDPC encoders are based on their generator matrices. The LDPC parity check matrices are sparse, but this is not the case for the generator matrices which are dense, then the number of elementary operations for the large CCSDS TM LDPC codes is not negligible, even when some simplifications obtained by exploiting their block-circulant structure are applied [34]. Moreover, the CCSDS LDPC codes require a different generator matrix for each code-rate, making the onboard complexity not negligible. As for turbo codes, the most critical part of implementing their encoder is the realization 55934 VOLUME 11, 2023 Authorized licensed use limited to the terms of the applicable license agreement with IEEE. Restrictions apply.  of the long permutation that represents the interleaver, which involves a significant complexity that cannot be ignored. As a consequence, CRC+CC encoders are by far the best solution in case of on-board implementation for a satellite with limited resources.

VIII. CONCLUSION
In this study, we have investigated the application of list Viterbi decoding to the concatenation of CRC code with the inner convolutional code recommended by the CCSDS TM protocol. We have introduced a method for computing the concatenation's spectrum and employed it to derive union bounds on the maximum-likelihood FER. Through the analysis of these bounds, we have investigated the additional coding gain achievable with CRC-aided list decoding compared to the decoding of the inner convolutional code by means of the simpler Viterbi algorithm. Our findings indicate that list decoding can potentially offer an extra coding gain of approximately 3 dB. The extra coding gain achievable by the CRC-aided list decoding with respect to the plain Viterbi decoding of the inner convolutional code has been analyzed by means of union bounds on the maximumlikelihood FER. Notably, this gain can be attained with moderate list sizes, leading to a minimal increase in average complexity when compared to the Viterbi algorithm. The use of list decoders slightly increases the undetected frame  . Performance comparison of the CCSDS CRC+CC code using BPSK modulation over an AWGN channel. The graph showcases the FER as a function of the SNR. The evaluation focuses on a TF of length K = 1768 bits, employing a CC encoder with a code rate of R CC = 5/6. error rate, but the increase is small at moderate SNRs and diminishes at higher SNRs. If the ground systems receivers of space missions that rely on convolutional codes are equipped to support list Viterbi decoders, a remarkable outcome can be achieved. The transmit power can be halved, introducing only a marginal increase in ground-based complexity, and with only a slight increment in the undetected frame error rates. This signifies the tremendous potential of list decoding techniques, which not only enable significant power savings but also maintain the undetected frame error rates at a nearly unchanged level. Such an approach promises substantial benefits in terms of energy efficiency and computational requirements for ground-based operations. As an alternative, the extra-gain can be used to counter impairments such as additional interference, jamming, scintillation and others. When compared with other CCSDS coding options, the CRCaided list decoding has some coding losses that decrease when the code-rate increases. However, the convolutional code solution with CRC-aided list decoding on ground highly simplifies the on-board transmission chain in both flexibility for the various code rates and very limited resource utilization for both the encoding and the controllers at the transmitter side, contrary to the higher complexity of LPDC encoders (large dense generator matrices, different for each code-rate) and turbo codes (interleaver permutation implementation). This makes the CRC+CC solution a very interesting candidate for new small satellite missions, in addition to providing the opportunity to significantly improve the performance of already functioning missions using convolutional codes.

APPENDIX NUMERICAL RESULTS of CRC-AIDED LIST VITERBI DECODING SYSTEMS
This section presents additional outcomes concerning the FER analysis of the CRC+CC concatenation scheme applied to the CCSDS TM recommendation with CRC-aided list decoding. The investigation employs Monte Carlo simulations to evaluate the FER for different lengths denoted as K of the uncoded TF. The specific TF lengths examined are K ∈ {1768, 3552, 8904} bits, corresponding to standard CCSDS input lengths of 1784, 3568, and 8920 bits when considering the inclusion of the 16-bit CRC. The simulation assumes a BPSK modulated signal transmitted over an additive white Gaussian noise (AWGN) channel, with ideal frame and carrier synchronization at the receiver. The obtained results are presented in Figure 14 and Figure 15 for TF lengths of K = 3552 and K = 8904, respectively, with a fixed code rate of R CC = 1/2. Moreover, Figure 16 and Figure 17 depict the results for a fixed TF length of K = 1768, while employing code rates of R CC = 3/4 and R CC = 5/6, respectively. Open Access funding provided by 'Politecnico di Torino' within the CRUI CARE Agreement VOLUME 11, 2023