Sparse Vector Coding for Short-Packet Transmission on Industrial Communications: Reference Architecture and Design Challenges

Reliable, fast, and deterministic communications are fundamental for future industrial wireless systems. This goal requires multiple cooperating technologies that pertain to different areas of the communication arena. The weight of the waveform and coding technique choices are critical to match industrial use cases' reliability and latency requirements. Specifically, this article contributes to the field of channel coding in wireless fieldbus links. Classical block coding schemes were designed to maximize information bit rates without stringent latency requirements. Their performance in applications that use short messages degrades significantly. Recently, sparse vector coding (SVC) has been proposed as a coding approach suitable for short-packet communications with moderate complexity and low processing latency. This article presents a comprehensive analysis of SVC and a reference communication framework for its implementation on a wireless system. A set of simulations is also designed to establish the cross correlation between the different parameters involved in the code design. As a result, the coding matrix has been identified as a critical parameter that can improve coding performance. In addition, this article includes two new procedures for determining the matrix that could lead to a gain of up to 2 dB with respect to the current state of the art.

2) Critical communications are associated with the control of industrial processes, and the requirements are more challenging.

3) Safety communications prevent damage or interruption
of the manufacturing processes with stringent performance prerequisites. These scenarios cover different conditions, which depend on various metrics, including latency, reliability, number of links, data packet length, and refresh rate. Regarding latency, the values range from tens of milliseconds in process automation applications to a few milliseconds or even lower for functional safety systems. Regarding reliability, the packet error rate is consistently below 10 −7 . This last value requires a meticulous and coordinated design of the two lower layers of the open systems interconnection communication model: PHY and MAC.
Forward error correcting (FEC) techniques are the first tool for tackling error propagation in any wireless channel. Thus, many channel coding architectures for short-packet transmission have been investigated during the past few years. However, a few of them are applicable within the manufacturing environments [6], [7]. Samarawickrama et al. [8], for instance, optimize the design of the polar codes for achieving high reliability and transmission latency in the order of the submilliseconds. In contrast, other papers propose the implementation of low-density parity-check (LDPC) codes. In [9], the reliability and latency performance among two LDPC methodologies assuming factory automation applications is compared. The first tested methodology is progressive edge growth LDPC, which shows promising reliability performance for data sizes lower than 100 bit. The second is 5G LDPC and is adopted for the data transmission within the 5G new radio standard, which also offers good performance but with longer data blocks. A comprehensive survey with a broader range of alternatives was presented in [6]: Turbo, LDPC, Fountain, Polar, Cyclic, and Convolutional. Finally, Fanari et al. [7] study different channel coding techniques for the future IEEE 802.11be standard, one of the first standards with a mode specifically designed for industrial wireless applications.
In URLLC, the codes presented before are not at their prime. Their performance is highly affected by the short message lengths (on the order of tens of bits). Consequently, in [10], sparse vector codes (SVCs) were presented. This solution is explicitly designed to obtain optimum efficiency for short messages. SVCs are based on compressive sensing (CS) techniques [11]. These coding schemes have already shown a higher correction capability than polar or convolutional codes for URLLC environments [10]. However, SVCs have not been proposed in a communication architecture, and no analysis of the costs and benefits of such implementation has been done until now. Moreover, several parameters of the code, such as the coding matrix (C), are not optimized in the literature. This article aims to present a reference communication architecture for the SVC and highlight the main design challenges involved in their implementation in a wireless system. The different parts of the system are comprehensively studied, and the most relevant parameters are presented. Afterward, the proposal is evaluated based on a set of computer simulations, and eventually, the results are compared with other channel coding systems. In summary, the technical contributions of this article include the following: 1) analysis of the challenges and benefits of SVC for industrial communications; 2) design a reference end-to-end communications framework for SVC in a wireless system; 3) impact and cross-correlation influence of the different parameters involved in the coding process; 4) proposal of a new methodology for defining the coding matrix (C); 5) proposal of ideal and semi-ideal decoder solutions; 6) evaluation of the proposed framework against other solutions proposed in the literature. The rest of this article is organized as follows. Section II describes the related work. Section III focuses on the existing challenges for a system model design. In Section IV, the proposed reference architecture for performance evaluation is introduced, and eventually, in Section V, the results obtained for different evaluation metrics are presented. Finally, Section VI concludes this article.

II. RELATED WORK A. COMPRESSED SENSING
CS is a signal processing technique for accurately recovering a sparse signal by finding solutions to undetermined linear systems [11], [12]. The y k-sparse signal is defined as a vector that contains few nonnull values (k) compared to its total length (n). At the receiver, the signal is recovered by a few measurements of the signal solving the following undetermined system: where C ∈ R m×n is a spreading matrix, y ∈ C n×1 is the ksparse vector that should be recovered, and x ∈ C m×1 is the reduced measurement vector, which is a linear combination of the matrix's rows. Nevertheless, if the position of the nonnull values of the k-sparse vector y is known, an overdetermined system is achieved (k < m). Consequently, the objective of the CS is to find the position of these k nonnull values and recover the vector y.
If the columns of the matrix were orthonormal, the operation described in (1) would be an isometry, and thus, the Pythagoras theorem would be fulfilled However, in a space of dimension m, only m orthogonal vectors can be achieved, and thus, the matrix could only have the dimension m × l when l ≤ m. Consequently, there cannot be obtained orthogonal columns in the CS problem. In [11], the restricted isometry property (RIP) is proposed as a generalization of the Pythagoras theorem for nonsquare matrices where C k is the submatrix obtained when choosing k columns of the C spreading matrix, y is the signal to be measured, and δ k is the restricted isometry constant (RIC), which is chosen to be the smallest constant that fulfills this condition [13]. In other words, the possible combinations of k columns of the matrix have to be almost orthogonal. However, there is no analytic method in the literature to design a matrix that fulfills the previous equation with a δ k value close to zero. Hence, the well-spread method for obtaining C is to generate random matrices with independent Bernoulli or Gauss inputs for each element. This approach ensures the recuperation of the signal with m = O(k log n) measurements [11]. However, in wireless communications, there will be a noise source (ν) that will corrupt the measurements, and hence, (1) will be altered as follows: The most straightforward approach to overcome this challenge is to design a spreading matrix with a better RIC by increasing the required number of measurements. Unfortunately, this is not a valid option from a communication perspective because it would significantly increase the code rate (CR). Therefore, the most efficient option is to obtain a better RIC without changing the size of the matrix. A possible solution would look for decreasing the linear dependence of the matrix columns.
On the other hand, another way of improving the system performance is to design better decoding techniques. The main decoding solutions are shown in Fig. 1. The algorithms are divided into three main families: convex and relaxation, greedy, and Bayesian. The first group algorithms are based on the assumption that the correct vector y will be the most sparse one. In this form, this problem requires unrealistic computational resources, so relaxation is proposed to minimize the sum of the nonnull values of the vector. The first algorithm of this family was the basis pursuit [15]. Their main advantage is their error correction capability, whereas the main shortcoming is the processing time at the receiver side [14]. Second, the greedy algorithms generate the combinations of k columns of the matrix that create the minimum possible error when comparing them with the measured vector. These algorithms are fast, but traditionally, they have less correcting potential than the convex and relaxation family ones. Multipath matching pursuit (MMP) has proved to have a great correction capacity [16]. Third, the Bayesian techniques are related to machine learning, and they require information about the received vector x [17]. In this family, the recuperation problem is not binary, and the work is done by calculating whether the probabilities of the k-sparse vector values are null or not. A remarkable point of this algorithm is that it can be seen if the reconstruction is accurate or not [18]. However, in the field of error codification, this fact is irrelevant and requires a great computational effort.

B. SPARSE VECTOR CODING
SVC is a recently proposed FEC technique that exploits the sparsity of the information vector to control the multiuser interference [10]. The receiver is based on CS techniques. The coder is built on a modification on the input bits to facilitate their treatment as a CS problem. In this process, redundancy bits are added to the data, and the encoded block is mapped to the symbols of a constellation. The codification process has two parts. In the first, the message is mapped to a vector with few nonnull values. This vector is a k-sparse vector, where k indicates the number of nonnull values. Each message word must be related to a unique k-sparse vector. Hence, if the message word has b bits, the mapping process involves 2 b different k-sparse vectors. These vectors will be used in the second part of the coding steps, as they will be required for selecting k columns of the coding matrix. The coding matrix will be built based on the CS's requirements. After those transformations, the coded message is sent through a channel in which it will be degraded due to the noise and other perturbations associated with the propagation. Once it arrives at the receiver, it is decoded using CS techniques.
SVC may fit the requirements of certain application fields. Ji et al. [19] propose to use the SVC for delay-sensitive applications. They include the numerical evaluations on realistic channel settings and the decoding performance study to show the benefits. Later, Kim et al. [20] propose an improved SVC scheme, where part of the information is encoded to the sparse vector and the rest in the form of symbols at the chosen nonzero positions. This new technique offers models that perform around 2 dB better for extended pedestrian-A and extended vehicular-A channel. Zhang et al. [21] propose to use superimposed transmission (SVC-ST) scheme to further enhance the transmission reliability of SVC. This work shows that the proposed SVC-ST scheme can enhance the system throughput and reliability performance under some particular conditions compared with the previous ones.
Nevertheless, this is a relatively new technology, and there are still several challenges to be answered. The generation of the C matrix, for instance, is a critical aspect of the performance. There is not yet a solution for an optimum or suboptimum generation. On the other hand, system parameterization is also a key factor of SVC codes. A comprehensive analysis that independently addresses the different parameters' importance and the intercorrelation in their design is still missing. This work answers these questions.

III. CHALLENGES AND SOLUTIONS FOR AN EFFICIENT SYSTEM MODEL DESIGN
SVC-based channel coding is a promising alternative for short-packet wireless systems. Nevertheless, its implementation is not backward compatible with current standards. The SVCs follow a coded-modulation scheme [22], in which the channel encoder is directly connected to the modulator, associating several bits to one constellation symbol. One of the main differences with other codes is that, in this case, the modulation part is embedded within the coding process. This issue and other particularities of these codes are discussed in this section.

A. WIRELESS COMMUNICATION MODEL
The codification of the SVC codes can be divided into two independent phases, which are shown in Fig. 2.
In the first step, a mapping from the binary message words to k-sparse vectors is required to take advantage of CS. An example of this mapping can be observed as follows: Therefore, the mapping can be defined as a one-to-one transformation where β b refers to the subspace to which the binary vectors of size b bit belong, and n k refers to the subspace to which the k-sparse vectors of size n belong and with nonzero values equal to 1 belong. It is straightforward to note that the number of vectors living in β b can be calculated as 2 b . On the other hand, the number of vectors living in n k can be calculated as n k . Taking into account that the mapping M is a one-to-one transformation, the number of vectors in each subspace must be equal. From that statement, the following equation must be fulfilled Therefore, the sparse subspace ( n k ) can be defined as where y i are the k-sparse vectors and b i are the binary vectors belonging to β b .
In the second part of the coding process, the k-sparse vectors are linearly mapped to the coded vectors. These coded vectors will be later sent through the communication channel. In such a way, each k-sparse vector will be linearly related to a coded vector. Moreover, taking into account the previous coding step, every message vector is related to a k-sparse vector. Therefore, each message vector will be related to a single coded vector. In this case, the linear transformation from the k-sparse vector to the coded vector can be expressed as where γ m refers to the subspace to which the coded vectors belong The coded vectors will be of size m. Concretely, the linear transformation can be expressed as a matrix multiplication where the columns of C will be referred to as codewords. Hence, a linear combination of codewords will form each coded message. In the receptor, the matrix C will be used at the decoder as the measurement matrix of the CS problem. Therefore, it has to fulfill the RIP condition.
To sum up, the coding procedure can be described by two operations: 1) the nonlinear transformation M, which maps each message word to a k-sparse vector; 2) the lineal transformation L, which maps each k-sparse vector to a coded message word. It should be remarked that, by changing the number and value of nonnull values of the k-sparse vector, a transmission vector with modulated symbols instead of bits is generated. Thus, the bit modulation is part of the encoding process, and it cannot be longer understood as a separate step. This is one of the main differences when SVCs are compared to traditional communications systems.
Once the message is coded, it will be passed through a noisy channel that will add noise to the sent message. Therefore, at the receiver, a corrupt message will be obtained where ν is the additive white Gaussian noise. This problem is the same as the one represented in (4) for CS. Henceforth, the methods described for the CS can also be used for solving this equation system and finding the k-sparse vector y. At the receiver to infer the message word b from the transmission vector x, it will be enough with deducing the value of y. In this case, one of the main differences with other codes is that the demodulation and decoding are done in the same process.

B. PARAMETERIZATION
Unlike other approaches like LDPC and Polar Codes, channel coding and modulation mapping are jointly accomplished in SVC. Consequently, the system parameterization differs significantly from other traditional wireless systems. The system model parameters are very flexible in SVC, and there is no structural restriction. This flexibility is an advantage that not all channel codes can show. In fact, this flexibility may allow these codes to adapt to the required message length and CR without restriction. Increasing the length of the message word (b), for instance, will increase the coding efficiency at the expense of increasing the latency. Moreover, the ratio of the length of the message word (b) and the codeword (m) will be proportional to the CR (CR ∝ b m ). This can be further observed in (12). The previously mentioned flexibility refers to the fact that these two values, i.e., the length of the message word (b) and the length of the codeword (m), can be freely elected. This freedom degrees are not present in many other FEC methods, in which the message lengths are somehow restricted.
Nevertheless, the design of the k-sparse vector can also impact the CR, as changing the nonnull values varies the constellation. If one or more of the null values are set to be the complex unity, i = √ −1 each value of the vector m will be treated as a phasor. In the case of k = 2, for instance, if we set one of the nonnull values to 1 and the other to i, m can be either 1 + i, 1 − i, −1 − i, or −1 + i. This is the way to perform a quadrature phase-shift keying (QPSK) constellation, and eventually, the CR is written as CR = b 2m . This also means that the possible size and shape of constellations is restricted. This is because using a higher number of nonnull values in the k-sparse vector can lead to nonuseful architectures. For example, constellations with values in the origin of the coordinates could be found, which does not make sense in the context of communications. A summary of the relations between the variables of the SVC can be observed in Table 1. The message word length and the codeword lengths are displayed in the first column. In the following ones, the CR and the size of the coding matrix can be seen. Only two examples are shown for the values of k due to the problems mentioned above.

C. CODING MATRIX
The coding matrix has a critical impact on the method's efficiency since the CS decoding methods are based on the degree of uncorrelation of the matrix columns. Furthermore, in the literature related to SVCs, it is highlighted that an important metric for the system's efficiency is the maximum correlation of all the correlations of pairs of columns of the matrix. This can be observed in the expression deduced in the work by Ji et al. [10] Here, the probability of decoding a vector successfully is described. μ * represents the maximum correlation between any two columns of the matrix C: μ * = max i = j |μ i j |. σ ν is the variance of the noise. m refers to the length of the coded message, and n is the length of the k-sparse vectors. As can be deduced from the equation, the nearer μ * is to zero, the greater the probability of success. Nevertheless, in the previous works (see [10], [23], and [24]), it is assumed that Bernoulli matrixes show enough small maximum correlations between two columns, and therefore, those kinds of random matrixes are used in the coding process. Nevertheless, no practical study of how this Bernoulli matrix's randomness affects the system's performance is done. What is more, no other alternatives for the generation of matrixes are researched.
In this article, we take a step further and fill the gap by analyzing, by means of simulations, the actual impact of the correlation among columns in a communication scenario for different matrix sizes in a two-step approach. Taking (12) into account, first, the impact of single pair of columns correlation value in the decoding performance is analyzed. Thus, in Fig. 3, four different cases are studied. The vertical axis shows the block error rate (BLER) at the receiver for a fixed signalto-noise ratio (SNR), whereas the horizontal axis shows the matrix columns' worst correlation value, in ascendant order. Each blue dot corresponds to a single matrix. The first significant outcome is that for shorter messages (see Fig. 3(a)) (b ≤ 4), the points are less dispersed and gathered following a linear trend between the correlation value and the number of errors. Consequently, the coding efficiency improves as the matrix columns' maximum correlation decreases. This tendency seems to be independent of the CR as CR = 1/2 and CR = 1/7 show a similar trend as can be seen in Fig. 3(b).  Nevertheless, for longer packets b = 12 (refer to Fig. 3(c) and (d)), there is no clear relation between the BLER and the worst correlation value. The values are much more dispersed, and it is difficult to extract a conclusion. Therefore, a different approach is presented to study the correlation impact on the system performance.
In a second step, the independent correlation values between two different columns are calculated for the whole matrix. Eventually, the correlation value of each pair is plotted against the column index and sorted from the minimum to the maximum. The results for a short message (b = 4 bit) with a robust modulation (binary phase-shift keying (BPSK), k = 1) are shown in Fig. 4(a), whereas the results for a longer message (b = 12 bit) with a less robust modulation (QPSK, k = 2) are included in Fig. 4(b). In both cases, two CRs, CR = 1/2 using blue dots and CR = 1/7 using red dots, are included for comparison purposes. The first thing that draws the attention is that all of those curves have a similar form that could be approximated to a logit function (i.e., f (x) = a log( x 1−x )). As expected from the previous analysis, increasing the message length increases the number of correlations, and thus, the curve is softer and more similar to the logit function. Moreover, it also impacts the parameter a, which makes the curve flatter (when it approaches a → 0) or steeper (when it approaches a → 1). In other words, there are more correlations near the value 0. This can be checked measuring the number of values under a certain threshold. For example, if the correlation values under ρ |0.2| are counted, it can be seen that in Fig. 4(a), the values from the 35th to the 223th fulfill the condition. Thus, taking into account that 272 values exist, the ratio of values smaller than |0.2| is σ a = 0.69. In Fig. 4(b), the ratio is σ b = 0.81. This fact is convenient for the SVC method because, in the decoder, the election of the correct codeword is done based on correlations.
These results are also enlightening when it comes to answering the outcomes observed in Fig. 3. Previously, it has been mentioned that only for small messages b = 4 bit, a relation between the maximum correlation and the efficiency of the method could be visualized. From Fig. 4, it can be deduced that minimizing the maximum correlation will have a more significant impact on matrixes made for short transmissions than for long ones. This is because, in matrixes related to short transmissions (see Fig. 4(a)), the sigmoid is not too flat. This is to say that most of the dots are far from zero. Thus, minimizing the maximum value will move most of the dots to smaller values. However, for longer messages (see Fig. 4(b)), most of the points already have near-zero values, especially for low CRs. Therefore, minimizing the maximum correlation will move fewer points to near-zero values. To sum up, it can be seen that reducing the maximum correlation in the matrix in short packets has a higher impact than in long messages. Eventually, it can be stated that matrixes with a low maximum correlation are more likely to be more performing than matrixes with a high maximum correlation, even if this is less significant as the message increases and the CRs diminish. This new information provides advantageous knowledge that can be used to construct coding matrixes that may be more performing than random ones. Further research in this area is done in Section IV-B.

D. DECODING
The application of SVC to industrial communications involves limited processing and short latencies. In consequence, the greedy family is an appropriate decoding algorithm choice. Convex and relaxation algorithms imply long processing times, despite their significant error correcting capacity. Moreover, convex and relaxation approaches assume that the correct k-sparse vector is the most sparse one, which could not be the case in communications, where the sparsity of the vectors depends on the CR. On the other hand, one of the main advantages of the Bayesian family is that they can offer information on the accuracy of the estimation. However, this fact is not relevant in communications because the aim is to recover the message correctly.
Moreover, with the proposal of MMP, the error-correcting power has grown significantly in the greedy family. In fact, the MMP is one of the best performing decoding algorithms in terms of both error correction and latency minimization [16]. It is also the algorithm implemented in the most recent bibliography [10], [23], [24] for SVC codes. This algorithm focuses on selecting a set of codification vectors similar to the noisy received vector. Later, linear combinations are performed with the rest of the coding vectors for each previously selected solutions. Once these combinations are performed, the ones more similar to the noisy vector are chosen. This process is repeated the number of times that the nonnull elements that the k-sparse vector has.
On the other hand, ideal and semi-ideal decoders have been proposed. These are computationally very demanding algorithms that, in general, are not worthy of being applied due to the enormous latency they involve. However, they do not add parameters to be tuned, which may be helpful to provide an unbiased analysis of the SVC encoding performance. The ideal decoder consists in comparing the received signal with all the possible messages that can be made up as combinations of the encoding matrix C. The correlation between the two vectors will be measured for comparison purposes. In the case of a BPSK (k = 1), the received message should be compared to each of the matrix columns. In the case of a QPSK (k = 2), the received message should be compared to all the two column combinations of the matrix columns.
This last case is too demanding, even for research purposes. Therefore, a semi-ideal decoder has been proposed in this article. This decoder will split the messages obtained in the case of a QPSK in their real and imaginary parts. Later, each of the parts will be compared to all possible matrix rows. In this way, the number of operations together with the latency will be diminished significantly at the expense of performance. The pseudocode for the ideal decoder is presented in Algorithm 1. It should be remarked that the logic and execution of the ideal decoder is almost identical to the semi-ideal one.

IV. REFERENCE ARCHITECTURE FOR PERFORMANCE EVALUATION
As explained before, the design of SVC communication systems poses several challenges that are not so common for traditional wireless communication systems. Consequently, this section proposes a reference architecture for designing and evaluating an SVC-based communication system that could be compared against current wireless standards for short-packet transmission on industrial communications.

A. PARAMETERS
SVC channel coding is a promising alternative for shortpacket transmission in harsh environments, and thus, loworder modulations are preferred in combination with them. This kind of harsh communications requiring few errors are typical of industrial wireless communications. In particular, BPSK and QPSK are reference constellation designs. This selection simplifies the decoding process significantly. Hence, the sparse vector nonnull values will be k = 1 (for the BPSK) and k = 2 (for the QPSK). Second, the length of the sparse vector (n) will be defined as soon as the length of the message (b) and the modulation are set [see (6)]. Overall, the packet length should be short, and the CR should be low for good-performing SVC codes. This last requirement comes from the fact that low CRs enable the generation of coding matrixes suitable to CS methods. The configurations proposed for designing a reference architecture are gathered in Table 2. It should be remarked that the message lengths used refer to those in the PHY layer, and when implemented, the size will change in the way the next layers require to. The proposed use cases provide enough information to deduce the importance of the coding matrix and the effects on efficiency that the change of different parameters causes.

B. MATRIX
The matrix design is a crucial step in designing any CS-based system. Therefore, in this article, we propose to go one step further and slightly modify the random matrix to improve its performance. For instance, improving its design for the use cases in which the number of rows is similar to the number of columns. This is because the likelihood of finding an outstanding matrix is smaller in those cases.
The algorithm used for this low correlation matrix obtention can be seen in Algorithm 2. As can be observed, in this method, the starting point is a random matrix. Then, a specific maximum correlation is decided, and any column that surpasses that correlation with any other column of the matrix is changed. This is done iteratively until the maximum correlation is smaller than the one imposed. It can be appreciated that the assessed value can be made smaller with specific steps obtaining matrixes with smaller maximum correlation in each step. From Section III, it must be underlined that the best matrix may not necessarily be always the one with the minimum correlation, but the matrix obtained with this method will be within the best candidates. It should be remarked that the being of the matrix will not alter the complexity of the SVC method.

C. DECODER
To properly evaluate an SVC-based proposal, it is convenient to test the results with an ideal decoder, thus eliminating possible biased results from implementing a suboptimal method. We also proposed an ideal and semi-ideal decoder for SVC matrixes in this article. By measuring the correlation, the receiver will compare the received and corrupted signal with all the possible messages, which are linear combinations of the matrix columns. The number of comparisons that need to be done will be equal to the number of messages that can be generated It is clear that as the length of the message b increases, the number of operations will increase exponentially. In the case of BPSK (k = 1), the message lengths (b) that can be used are small enough to perform all of the comparisons (# = 2 b = n). This becomes privative in some cases, particularly when QPSK (k = 2) is used, where b can be higher. In those cases, the implementation of a semi-ideal decoder is recommended. In it, the message generated as a linear combination of two columns is split into two, reducing the number of where (6) has been used; this diminishing of the number of operations is done at the expense of a specific decoding capacity. The decoder used in the simulations has been the ideal one (explained in Section III-D) for cases 1 and 2 of Table 2. This decoder does not pose any restrictions in the system, and thus, a clearer understanding of the evaluated code can be extracted. This ideal decoder is not as efficient as the ones proposed for the CS problem in terms of simulation time. However, it has proved to be fast enough for use cases 1 and 2, meaning that the simulation did not take a prohibitive amount of time in the  used equipment. On the other hand, for use cases 3, 4, and 5, it was excessively slow, and therefore, an MMP has been used, whose working scheme can be observed in Fig. 5.

V. RESULTS AND DISCUSSION
Based on the previously defined reference architecture, the five use cases defined in Table 2 are evaluated with computer simulations . First, a randomly generated matrix will be used. In Fig. 6, cases 1 (blue line) and 2 (red line) are studied, which show the performance curves for the most robust designs. Hence, BPSK modulation and very short message lengths are used.
The first important conclusion is that the message length impacts the method performance. In this case, for BLER = 10 −5 , the gain is of approximately 2 dB for b = 8 with respect to b = 4, as can be seen in Fig. 6. Then, in Fig. 7, a similar study is performed, but for use cases 3-5. These represent the less robust cases where QPSK modulation is used, and even if the message lengths are short, they are longer than those used before. In this case, it is also proved that the longer the message, the better the performance. Furthermore, for four bits of difference, the SNR gain in BLER = 10 −5 is of approximately 1 dB. However, it must be noted that the message size will impact the latency, making it slower to decode a longer message. Therefore, the correcting capacity of the code is gained at the expense of the latency involved in the process. More information about the complexity as a function of the message size is shown in Section VI. This increase of latency and performance proportional to the message length is a common behavior in the FEC codes; in fact, it is the reason why short packages cannot be transmitted reliably. In the concrete case of the SVCs, this behavior comes from the fact that making the length of the signal bigger while maintaining the sparsity of the k-sparse vector constant makes it to be more sparse, making it easier for the CS algorithms to decode the signal.
Next, the importance and the possible impact of the matrix design in the SVC performance is shown in Fig. 8. In this case, the blue line evaluates the performance of the use case 4 parameters with a randomly generated matrix. In contrast, the red one depicts the performance of the matrix design process proposed in Section IV. As can be seen, the customized matrix offers more than 2 dB of gain compared to the random one, which is used in the bibliography. From this, a suitable matrix design is crucial for the optimized functioning of the system. In addition, the method used has been proven helpful when used iteratively. Owing to the amount of sent messages in the conducted simulation (of the order of 10 7 ), and taking into account that no unusual behavior is observed in the performance  of the code, it can be supposed that the matrix generated iteratively does not present irregularities that could affect to the transmission's robustness.
To sum up, with Fig. 8, it has been proved that the current SVC method's efficiency can be enhanced by the design of the coding matrix. In order to locate the coding efficiency of the SVC, Ji et al. [25] compare the results with some of the current methods that are used in the bibliography for industrial communications. Nevertheless, a slight modification should be done to their results. This is due to the fact that the frequency diversity is used. Hence, the same message is sent L times in L different frequencies. As the authors mention, this enhances the efficiency, displacing the BLER versus SNR curve −10 log 10 (L) dB. As the message is repeated eight times (L = 8)), the axis should be displaced ∼ 9.03 dB. Taking that into account, the approximate SNR in which a BLER of 10 −5 is obtained for the different techniques can be observed in Table 3. As can be seen, the lower SNR value is achieved by the SVC code with the matrix proposed in this article.
From the results obtained above, the nature of the SVC method can be understood. First of all, as it is expected of an FEC technique, making the message word longer increases the coding capacity of the technique. Second, it can be observed that the election of the coding matrix is crucial when it comes to taking advantage of the method efficiently. This can be done using the methods iteratively proposed in the article, allowing efficient search in the set of matrixes for each configuration.
Finally, it has been proved that the SVC is a promising technique that allows excellent performance in use cases in which the rest of the codes lose significant efficiency.

VI. COMPLEXITY
The complexity of the channel coding scheme is an essential feature for practical application in standards. The fast transmission and reception of messages is particularly critical in future industrial wireless systems. Hence, an analysis of the complexity of the method is provided here. First, it should be remarked that the complexity of the encoder is negligible compared to the one of the decoder. Thus, the complexity analyzed here will be the one of the decoder. In the work [26], the complexity of the orthogonal matching pursuit (OMP) decoding algorithm is defined as in (15). It should be remarked that the decoder algorithm used in this article is the MMP, not exactly the OMP. Nevertheless, they both belong to the greedy family of algorithms and work similarly. Therefore, this complexity can be used as an approximation to the one of the MMP where i is the number of nonnull values in each iteration, which in this case is always smaller than i = 2. U and M are the number of users and the number of base station antennas, respectively, which are both one in this case. Finally, F × N is the size of the coding matrix. Thus, if the relation of the size of codebook and the message length is taken into account, for a CR of a seventh (CR = 1 7 ), the complexity can be expressed as It should be taken into account that the algorithm used is a general benchmark to test the relevance of the matrix and the benefits of choosing it properly. Nevertheless, it may not be the most optimum decoder in terms of complexity. Moreover, now that the performance gain of the SVCs has been tested, further research should be carried out so as to develop less complex decoders that maintain their outstanding performance.
If the described complexity of the SVCs is compared to other state-of-the-art codes such as polar codes, it can be seen that the complexity is comparable but worst. In fact, the complexity of polar codes can be described as [27] To sum up, while it is true that the complexity of the polar codes is lower than the complexity of the used decoder, further research on performing low-complexity decoders for SVCs should be done. Moreover, it should be taken into account that the aim of this article has not been to choose a low-complexity decoder, because the main idea of this article is to remark the relevance of the coding matrix and the benefits that it can provide.

VII. CONCLUSION AND GUIDELINES FOR PRACTICAL APPLICATIONS
SVCs are suitable for short-packet and low-latency communications [10], [23], [24], and therefore, these two features should be emphasized in the code parameter selection. It must be bear in mind that by increasing the message length, the performance is improved in terms of BLER, but at the expense of the latency involved. Therefore, the right balance between decoding performance and latency is one of the key challenges of SVC configuration. In this article, several practical use cases are proposed to show the flexibility of this coding method. The first practical proposed case is in the field of very short and reliable communications, where latency is crucial. It has been shown that a good choice is to use a message length of b = 4 bit, a BPSK modulation (k = 1), and a code rate of CR = 1/7. This is the case of safety communications, which are defined in Section I. However, this could be used for a robust kind of critical communications as well.
On the other hand, if a longer message length is required, the best choice is a QPSK modulation (k = 2). In these cases, the advantage on coding efficiency provided by the ideal or semi-ideal decoders is insufficient compared to the excessive latency they require. Therefore, the MMP decoder should be used. A good tradeoff between performance and complexity is achieved when the message length is set to b = 12 bit. A practical application scenario for this task would be critical communications, also defined in Section I. Nevertheless, this could also be used for a safety scenario whenever it fits the requirements.
Finally, in this article, the knowledge of the structure of the random matrixes and a method for finding suboptimum matrixes has been proposed. It has been proved that following this method, it is feasible to obtain a matrix with which SVCs outperform by at least 2 dB the method that uses random matrixes. This improvement in the reliability is beneficial for the application scenarios of the industrial wireless communications mentioned in the introduction.
In conclusion, the most efficient FEC techniques have been classically designed for long messages and low CRs, where Shannon's capacity has almost been reached. However, a lack of appropriate codes for very short packet communications is still present. This article has proven that SVCs can outperform other candidates such as polar codes.
Future research related to SVC should seek to apply the knowledge developed in this article, which presents the capability of generating suboptimum coding matrixes, in the enhanced SVC technique proposed in [20]. It is very likely that this combination will significantly augment the performance of the technique.