Repeat-punctuRed supeRoRthogonal convolutional tuRbo codes on aWgn and flat Rayleigh fading channels

Vol. 106 No. 9/10 Page 1 of 11 ABSTRACT Repeat-punctured turbo codes, an extension of the conventional turbo-coding scheme, has shown a significant increase in bit-error rate performance at moderate to high signal-to-noise ratios for short frame lengths. Superorthogonal convolutional turbo codes (SCTC) makes use of superorthogonal signals to improve the performance of the conventional turbo codes and a coding scheme that applies the repeat-punctured technique into SCTC has shown to perform better. We investigated two new low-rate coding schemes, repeat-punctured superorthogonal convolutional turbo codes (RPSCTC) and dual-repeat-punctured superorthogonal convolutional turbo codes (DRPSCTC), that make use of superorthogonal signaling, together with repetition and puncturing, to improve the performance of SCTC for reliable and effective communications. Simulation results in the additive white Gaussian noise (AWGN) channel and the frequency non-selective Rayleigh fading channel are presented together with analytical bounds of bit error probabilities, derived from transfer function bounding techniques. From the simulation results and the analytical bounds presented, it is evident that RPSCTC and DRPSCTC offer a more superior performance than SCTC in the AWGN channel, as well as in flat Rayleigh non-line-of-sight fading channels. The distance spectrum is also presented for the new schemes and accounts for the performance improvement rendered in simulations. It is important to note that the improved performance that SCTC, and consequently RPSCTC and DRPSCTC, exhibit is achieved at the expense of bandwidth expansion and complexity and would be ideal for power-limited satellite communication links or interference-limited systems.


INTRODUCTION
Modern digital cellular systems employ some form of channel coding to improve bit-error rate (BER) performance.Convolutional coding is the most widely used in these systems.However, operating at high signal-to-noise ratios (SNRs) requires larger antennas and bandwidths to be used, resulting in a large link budget.In the early 1990s, turbo codes (TCs) were introduced by Berrou et al. 1 , who showed their performance to be a few tenths of a decibel (dB) from Shannon's theoretical limit.Typically, for large frame lengths, for example N = 16 384, SNRs, E b /N 0 , of -0.15 dB at a BER level of 10 -3 have been reported. 1,2,3TCs have three enhancements in the coding area, namely the use of recursive systematic convolutional codes, random interleaving and the separation of intrinsic and extrinsic information in the decoder for cooperation.The performance of TCs improves with increasing interleaver size, due to the larger interleaver gain. 3,4However, increasing the interleaver size requires a simultaneous increase in the information frame length, because the interleaver size is set identically to the information frame length for the conventional TC, which makes it difficult to use TCs in applications that demand low-transmission delays, such as real-time voice communications.An error floor manifests in the BER performance of TCs because of the presence of low-weight codewords with small multiplicities.Several techniques have been proposed to lower the error floor, 4,5,6 7,8,9 one of which is to use a repeat-punctured structure in the second parity branch of the conventional TC scheme. 4The repeat-punctured TC scheme proposed by Komulainen and Pehkonen not only increases the interleaver size, but also enlarges the low-weight codewords. 4Repeat-punctured turbo codes (RPTC) have shown a significant increase in performance at moderate to high SNRs. 4For example, for an information frame length N = 1024, simulation results have shown that the RPTC scheme has an approximate 2 dB coding gain over the conventional TCs, at a BER level of 10 -5 .Superorthogonal convolutional turbo codes (SCTC), introduced by Komulainen and Pehkonen 4 , is a low-rate coding scheme that is suitable for code spreading, for achieving coding gain and bandwidth expansion in direct-sequence code-division multiple access systems and for automatic repeat-request systems with partial retransmission. 3,4,5SCTC exhibits an improved performance over the classical turbo coding algorithm.For a small frame length (e.g.N = 200) and a constraint length K = 4, E b / N 0 values of approximately 0.7 dB at a BER level of 10 -3 have been reported.Motivated by the improved performance of RPTC, we investigated the performance of repeat-punctured superorthogonal convolutional turbo codes (RPSCTC).We can go one step further and include repetition and puncturing on both branches of the encoder.A scheme that utilises this configuration is referred to as dual-repeat-punctured superorthogonal convolutional turbo codes (DRPSCTC).Both of the above schemes use orthogonal signaling and parallel concatenation, together with repetition and puncturing, to improve the performance of SCTC for reliable and effective communications.Simulation results in the additive white Gaussian noise channel and the flat Rayleigh fading (FRF) channel are presented together with analytical bounds of bit error probabilities, derived from transfer function bounding techniques.The distance spectrum is also presented for the new scheme and compared to the low-rate SCTC scheme.The paper is organised as follows: firstly, the concept of RPSCTC together with the encoding and decoding structures is introduced.We then present the DRPSCTC scheme and evaluate the performance on the AWGN channel and the FRF channel.Thereafter we present some analysis followed by the simulation results for memory depths, m = 2 and m = 4, together with their analytical BER bounds for AWGN and FRF channels and the codeword distance spectrum.

REPEAT-PUNCTURED SUPERORTHOGONAL CONVOLUTIONAL TURBO CODES Encoder
Orthogonal, bi-orthogonal and superorthogonal convolutional codes are well documented. 4,10For an orthogonal convolutional encoder, all of the possible output sequences per branch of the trellis are mutually orthogonal.If we enlarge the orthogonal signal set to incorporate their complementary sequences, we have a bi-orthogonal signal set that has twice as many members for the same sequence length.By taking advantage of this extended set, we can have a bi-orthogonal convolutional code. 3hat is, all of the encoder output sequences that leave the same state are antipodal.For superorthogonal codes, all of the encoder output sequences that either leave the same state or merge within the same state are antipodal and only one sequence and its complement are needed for every two states of the trellis.Many methods for generating the orthogonal signal set exist; one possible choice for generating the set of orthogonal sequences is the Walsh functions, which can be obtained from Hadamard matrices. 3,4,10A SCTC is simply a parallel concatenation of superorthogonal recursive convolutional codes (SRCC).
Spectral thinning is primarily responsible for the near Shannoncapacity performance of TCs and consequently the performance of the schemes presented in this paper.This phenomenon ensures that the constituent codes in the conventional TC do not produce low-weight codewords simultaneously, which is achieved through the use of the pseudorandom interleaver in the conventional TCs.The information bits are first permuted by the interleaver and then encoded by the second component encoder, reducing the probability of both component recursive systematic convolutional encoders producing low-weight codewords at their outputs.The phenomenon of spectral thinning is demonstrated in Figure 1.It can be seen that, as the interleaver length B is increased towards infinity for hypothetical distance spectra, the distance spectrum begins to 'thin' for low-weight codewords.It is important to note that this thinning of the distance spectrum allows the free-distance asymptote of a TC to dominate the performance for lower SNRs and thus achieve near Shannon-capacity performance. 11TCs were introduced by Kim et al. 12 , who made use of a repeat-puncture mechanism to exploit the fact that larger interleavers increase the BER performance of the conventional TC. 3,4,12,13 In the conventional TC, the information frame length is set identically to the interleaver size, such that if we want to increase the interleaver size then we need to pass larger frames of information into the encoder.However, larger information frames correspond to larger processing delays, both in the encoder and the decoder and would not be tolerable in many applications, such as real-time voice communications.RPTCs employ a repetition operation block prior to interleaving, which allows for small frame lengths and larger interleavers to be used in the same system.Simulations show an improved performance over the classical TCs for moderate to high SNRs. 12With a pseudorandom interleaver, the weight-2 input sequence is known to produce low-weight codewords for the conventional TC.However, with RPTC, a weight-2 input sequence becomes a weight-2T input sequence, where T represents a repetition index.This significantly improves the performance of the TC, because the probability of the second constituent encoder producing a low-weight codeword is reduced, as a result of the recursive nature of the component encoders.
Figure 2 shows the structure of the RPSCTC encoder.Similar to the conventional SCTCs, the RPSCTC encoder consists of two parallel concatenated SRCCs.As an example, a more detailed diagram with memory m = 4 is depicted in Figure 3.The first parity sequence is produced from the first constituent code, SRCC 1, with an input data frame of length N. Because the parallel concatenated code is made up of superorthogonal recursive convolutional component codes, the length of the first parity sequence is 2 m-1 N for an input frame length N, 4,10 and thus corresponds to a rate: However, unlike the conventional TC, where the input data frame of length N is directly permuted by an interleaver of length N, the input data frame of length N is first repeated T times and thereafter interleaved by an interleaver, π, of length TN.The second parity sequence: is produced from the second constituent code, SRCC 2, with an interleaved data frame of length TN as input and in the same manner corresponds to a rate: The total code rate for RPSCTC is therefore: When we puncture, the objective is for T to look like unity.
In this paper, a repetition factor of T = 2 was used, however, T can be increased to lower the code rate even further, or to generate a series of rate-compatible codes.The distance spectrum shows that an RPTC with T = 3 has slightly more codewords at the low-weight end of the spectrum than when T = 2. 12 This difference is as a result of the excessive puncturing required when T = 3.
In addition, it is important to note that as T is increased, the computational complexity also increases.
In the case of RPSCTC and SCTC, there is no common channel output stream as in the case of conventional TCs because the systematic information bit is not explicitly sent via the channel -but with appropriate mapping of the Walsh functions, the outputs can be made systematic.Komulainen and Pehkonen explain how the recursive nature of a code leads to the codewords being systematic in the case of SCTC. 4,10As a repetition factor, T = 2, was employed prior to producing the second parity sequence, we are at liberty to puncture every second bit out of every T bits from the Walsh sequence (punctured bits are replaced by a dummy bit '0' at the receiver, representing an erasure) in order to recover the loss in code rate (Figure 4).In Figure 4, punctured bits are represented by the positions of the Source: Viterbi 16

FIGURE 1
Spectral thinning occurs with increasing interleaver size shaded blocks.One of the bits in the first parity sequence was punctured to increase the code rate to R = 1/15.These positions also represent the positions where dummy bits would be inserted at the receiving end.Puncturing causes a drop in the performance of the code; however, further puncturing strategies could be investigated to minimise this drop in performance.
The punctured second parity sequence is then transmitted together with the first parity sequence to the receiver front-end.The Walsh-Hadamard generator, shown in exploded view of SRCC 1 or SRCC 2 in Figure 3, uses Walsh functions obtained from Hadamard matrices to generate the orthogonal sequences.
The Walsh-Hadamard generator can be, simply, a lookup table with the superorthogonal output sequences.For memory, m = 4, corresponding to Figure 3, the Hadamard matrix, and its complementary matrix,

Information Source
need to be considered, as shown in Figure 5, where all the row and column sequences are Walsh sequences.Table 1 shows the state table for the SRCC with memory depth, m = 4, where the output sequences are Walsh sequences.
Corresponding to an input information stream, the output from SRCC 1 is and the output from the second constituent encoder prior to puncturing is The general structure of a SCTC encoder is derived in Box 1.All states are fed back to the input, making the structure recursive or an infinite impulse response.If necessary, one of the bits of the Walsh sequences can be punctured, similarly to ordinary TCs, to increase the code rate.The manner in which the trellis is terminated has an effect on the performance of the SCTCs, similar to classical TCs.The technique for trellis termination is outlined by Robertson. 14

Decoder
Unlike the Viterbi algorithm, which finds the most likely sequence to have been transmitted, the maximum a posteriori (MAP) algorithm determines the most likely information bit to have been transmitted at each bit time k.Using a posteriori probabilities, for a small probability of bit error (P b ), the performance difference between MAP and soft-output Viterbi algorithm (SOVA) is very small.However, at low E b / N 0 and high P b values, MAP outperforms the latter. 13The well-known MAP algorithm proceeds somewhat like the Viterbi algorithm, but in two directions, forward and backward, over a block of code bits. 2,8,13,15Similarly to the conventional TCs, RPSCTC uses the MAP algorithm in each of the component decoders.
The decoding structure shown in Figure 6

FIGURE 5
Hadamard matrices for memory m = 4

Puncture positions
Punctured bit Transmitted bits  Assume that the memory of the general SCTC is m, which is shown in Figure A1.The states of the code are denoted as S 0 , S 1 , , S m-1 and the feedback addition is denoted as S f . Hence From the output of the Walsh function, we know that the last bit of the Walsh-Hadamard (WH) generator is the addition of all inputs, that is, If the systematic SCTC is required, then where By further derivation we get [Eqn A4] expresses that all states are fed back to the input if the system's superorthogonal turbo code is required.
decoder, Decoder 2, in cooperation produce soft decisions that are converted into extrinsic log-likelihood ratios (LLRs) that are mutually exchanged, thus increasing the reliability of the resulting decisions.In the first step of the decoding for RPSCTC, the punctured, corrupted first parity sequence from the channel is sent to Decoder 1.
Because the sequence was punctured before transmission, dummy bits now need to be added and, similarly, for the second parity sequence.Figure 7 illustrates the manner in which the dummy bits are added at the input of the decoder.The lightly shaded, dash-outlined blocks represent positions at which bits were punctured to increase the code rate.Before either corrupted parity sequence is sent to a component decoder, dummy bits, '0', are introduced into these positions.
These introductions serve to reconstruct the original parity sequences prior to puncturing at the encoder.The reconstructed first parity sequence [Sqn 3] is sent to the first decoder, Decoder 1. Decoder 1 assumes zero a priori information and uses the MAP algorithm to yield N soft LLRs, L 1 (d k | y), at its output.These LLRs need to be converted into N extrinsic decisions, which can be used to assist the second decoder, Decoder 2, in its LLR computations.Taking into account the channel measurement and zero a priori information, the extrinsic information is computed in a manner similar to that used in the conventional TC.At this point, it is important to consider Decoder 2's initial processing.The reconstructed second parity sequence [Sqn 4] is fed into Decoder 2. Because Decoder 2 is operating on enlarged sequences, the a priori information assigned to Decoder 1's extrinsic output has to be enlarged.These N extrinsic decisions from Decoder 1, are first repeated T times to yield, This process yields the extrinsic decisions, which are of the same form as the original input message sequence.Earlier it was pointed out that the second parity sequence from the encoder contained systematic bits, but in a permuted form.It is thus important to interleave the repeated extrinsic sequence, before input to Decoder 2. Decoder 2 now uses this second input to improve the reliability of its computation of These TN soft LLRs are routinely converted into TN extrinsic decisions, The extrinsic decisions are then de-interleaved and the de-interleaved sequence is averaged according to [Eqn 8] to produce N de-interleaved extrinsic decisions, L e21 [Sqn 10] where i = 0, 1, 2, 3.The process of averaging is responsible for a performance improvement in the decoding, since TN decisions

FIGURE 7
The position of the dummy bits that were introduced before decoding for the repeat-punctured superorthogonal convolutional turbo codes y p2, y p2, , y p2 from Decoder 2 are being converted into N decisions and this averaging mechanism is continuously working to improve the reliability of the assist information to Decoder 1.The mutual exchange of extrinsic information in the overall decoder is iterated several times.After a sufficient number of iterations, the soft output from Decoder 2, is de-interleaved and averaged similarly to [Eqn 8] to yield N soft decisions.The soft decisions are then converted into hard decisions, that is, the estimate of the original message sequence.

DUAL-REPEAT-PUNCTURED SUPERORTHOGONAL CONVOLUTIONAL TURBO CODES Encoder
The dual-repeat-punctured superorthogonal convolutional turbo codes (DRPSCTC) scheme is an extension of the RPSCTC scheme.A simple modification to the structure, that is, dual repetition, can further improve the performance.The structure of the encoder for DRPSCTC is shown in Figure 8.
The structure is almost identical to the encoder used for RPSCTC, with the major difference being that a repetition block is used prior to encoding both parity sequences.The message sequence of length N is first sent through a repeater structure which enlarges the sequence to TN entries.On their respective branches, the enlarged sequences are interleaved and then encoded with superorthogonal signals to yield sequences of length 2 m-1 TN.To control the code the sequences need to be punctured using a special technique.
The aim of the special puncturing technique is to puncture the sequences at the same rate used to investigate the lowrate RPSCTC and SCTC schemes, so that comparisons can be made between these schemes.Figure 9 illustrates the technique employed in the puncturing of DRPSCTC-coded outputs.For memory m = 4 and repetition index T = 2, there should be 2 m-1 TN, bits at the output of the branch for every input bit (i.e.16 bits), which equates to a total of 32 bits at the output for two parity sequences (Figure 9).The completely shaded blocks in Figure 9 represent the bits that are punctured.One bit still requires puncturing to increase the code rate to R = 1/15.On the right side of Figure 9, two bits, represented by the hatched blocks, are monitored for a '+1' or a '−1', respectively.The first of these two bits is punctured if a '+1' is detected.However if a '+1' is not found, then the second of these two bits is checked for a '−1' and punctured correspondingly.
In the event of both these bits holding the opposite value (a probability of 0.25), then both these bits are punctured, which is still on average effectively a code rate of R = 1/15.

Decoder
The decoder for DRPSCTC is similar to the structure of the decoder for RPSCTC.However, there is no explicit systematic output in the DRPSCTC decoder, thus eliminating the need for interleaving at the input.Firstly, the sequences need to be reconstructed before being sent to the constituent decoders.Figure 10 illustrates how the sequences are reconstructed.On reception of the parity sequences, the lengths of each of these sequences need to be checked to determine which sequence was punctured for an extra bit.If the first parity sequence is only shorter by one bit, then a '+1' is introduced into the sequence.Similarly, if the second parity sequence is found to be the shorter sequence, then a '−1' is introduced.Alternatively, if both sequences are short by a single bit, then a '−1' is introduced into the first sequence and a '+1' is introduced to the second.
This technique eliminates any probability of error of this bit, represented by the hatched, dash-outlined blocks in the right portion of the diagram.At this point, each of the parity sequences should be of length 2 m-1 N. Next, dummy bits '0' are inserted into previously punctured bit positions, which are indicated by the lightly shaded, dash-outlined blocks in Figure 10.
The structure of the decoder of DRPSCTC is shown in Figure 11.
In the first iteration, Decoder 1 has a single input: the corrupted first parity sequence reconstructed to length 2 m-1 TN.Using this input the MAP algorithm is used to generate soft LLRs at the decoder output.Note that the soft LLRs are in a π 1 permuted format and are thus denoted by a single dash.[Sqn 12] is then converted into soft extrinsic information in a manner similar to the conventional turbo decoding and the ensuing schemes are discussed.This extrinsic information is deinterleaved by the first interleaver mapping, then interleaved by the second interleaver mapping.It is important to note that the order of interleaving and de-interleaving here depends on the order of interleaving done within the encoder.The resulting sequence of scrambled extrinsic decisions is then followed by averaging and repetition to improve the reliability of the assist information to Decoder 1. Decoder 2 takes two inputs, namely the a priori information sent from Decoder 1 and the second corrupted parity sequence with dummy bits in previously punctured positions, to produce soft LLRs in a π 2 permuted format.The extrinsic sequence is then de-interleaved by the second interleaver mapping to yield [Sqn 9], which is then permuted by π 1 .
These TN elements are then averaged and repeated T times to produce a priori information suitable for improving the error performance of Decoder 1. Averaging is performed similarly to the method described for the RPSCTC scheme in [Eqn 8].
After the mutual exchange of information between the decoders is iterated several times, the soft output from Decoder 2 is deinterleaved then averaged to yield N soft decisions, which are converted into hard decisions to yield an estimate of the original message sequence.

MAXIMUM-LIKELIHOOD PERFORMANCE BOUNDS
There are two main tools for the performance evaluation of TCs: computer simulation and the standard union bounds.Computer simulation generates reliable probability of error estimates as low as 10 -6 and is useful for rather low SNRs, because the error probabilities for larger SNRs are too small to simulate.The union bound provides an upper bound on the performance analysis of RPSCTCs and DRPSCTCs with maximum-likelihood decoding averaged over all possible interleavers.
The union bounds for the RPSCTC and DRPSCTC schemes are all evaluated using the same transfer function method discussed by Divsalar et al. 16 and by Xu and Takawira 5 .In this section, we need only present the expressions for the encoders for the RP-SCTC and DRPSCTC schemes.

FIGURE 9
Positioning of the puncturing at the transmitter for the dual-repeat-punctured superorthogonal convolutional turbo codes

FIGURE 10
Sequence reconstruction prior to decoding for dual-repeat-punctured superorthogonal convolutional turbo codes For RPSCTC, the probability of producing a codeword fragment of weight d given a randomly selected length N input sequence of weight i for Encoder 1 is given by and by for Encoder 2, where t(•) is the transfer function for the constituent encoder obtained by using the technique presented by Divsalar et al. 16 , d 1 and d 2 are the codeword weights for Encoder 1 and Encoder 2, respectively and the denominator in [Eqn 10] and [Eqn 11] represents the total number of codewords for information weight i and Ti, respectively.
As a result of the dual structure for DRPSCTC, both component encoders take as input a message block of length TN.Thus the probability of producing a codeword of weight d conditioned on a weight i input sequence is given by where q = 1 for Encoder 1 and q = 2 for Encoder 2.
The codeword distance spectra are given by for RPSCTC and for DRPSCTC; where x,y represents the number of codewords of SRCC1 where the input sequence is of weight x and the output parity sequence is of weight y and

Second parity sequence
Puncture positions

Transmitted bits
One of these two bits are punctured depending on a '1'.x,y is represented similarly.These coefficients can be obtained using the techniques employed by Komulainen and Pehkonen 4 , and by Kim et al. 12 The union bound can then be obtained from where the two-codeword probability for the AWGN channel is denoted by where Q(.)is the Q-function and R is the rate of the code and E b / N 0 is the SNR.
For application of the union bound to Rayleigh fading channels, 10,17,18,19 two-codeword probability is necessary.The two-codeword probability, p 2 (d), with channel state in fullyinterleaved channel is obtained by

SIMULATION RESULTS
In order to investigate the performance of RPSCTC and DRPSCTC, we simulated the schemes in the AWGN channel and the flat Rayleigh non-line-of-sight (NLOS) fading channel.An input frame of length N = 200 was used.A uniform interleaver was chosen and a straightforward puncturing pattern was employed, although other extravagant patterns could be investigated to yield better performances.For the decoder, 18 iterations were chosen, although this could be decreased at higher SNRs to shorten simulation time without compromising on accuracy.SNR has been previously defined for AWGN and Rayleigh fading channels 13,19,20,21 The simulation results for the AWGN channel are illustrated in Figure 12 for memory m = 2 and code rate R = 1/3 (punctured from R = 1/4 to R = 1/3) and in Figure 13 for memory m = 4 and code rate R = 1/15 (punctured from R = 1/16 to R = 1/15).The performance curves are shown converging to the bounds.It can be seen that a coding gain of approximately 0.5 dB was achieved at a BER level of 10 -3 and a coding gain of almost 1.5 dB was achieved at a BER level of 10 -6 for a constraint length K = 3.
Rayleigh fading is a statistical model for the effect of a propagation environment (or the heavy build-up of urban environments) on a radio signal and is a reasonable model for tropospheric and ionospheric signal propagation.
For NLOS between the transmitter and receiver, the scheme was also simulated in a Rayleigh fading channel, the results for which are presented in Figures 14 and 15.Again, the measure of quality of service chosen is a plot of BER versus SNR.As a stopping criterion for the simulations for both SCTC and RPSCTC, 150 frame errors were used.The velocity used for the moving receiver was v c = 50 km/h and a f c = 2 GHz carrier frequency was used with Doppler frequency f d given by [ Eqn 18].The speed of light c is 3 x 10 8 m/s.
Again, a frame length of N = 200 was considered at a code rate of R = 1/15.An SNR range of 2 dB -11 dB was considered so that the performance for low probability of errors could be investigated.
A coding gain of almost 1 dB was achieved throughout the SNR range of SCTC and RPSCTC.

FIGURE 16
Comparison of the simulations for superorthogonal convolutional turbo codes (SCTC) with repeat-punctured superorthogonal convolutional turbo codes (RPSCTC) and dual-RPSCTC plus the analytical bounds in the additive white Gaussian noise channel Simulation results for NLOS channels (modelled by the Rayleigh distribution) are exemplified in Figures 14 and 15.For frequency non-selective (FRF) channels with side information, a coding gain of approximately 0.5 dB was achieved at all BER values.
Figure 16 shows the simulation in the AWGN channel for DRPSCTC for a frame length N = 200, memory m = 4 and code rate R = 1/15, supported by its bound.The BER versus SNR for DRPSCTC is plotted together with the simulations for RPSCTC and SCTC for memory m = 4 with their bounds.It can be seen that, as the SNR increases, the performance of DRPSCTC starts to improve, in comparison to RPSCTC.The turning point for this scenario can be seen at approximately 0.2 dB.
Figure 17 depicts the codeword distance spectra of the SCTC, RPSCTC and the DRPSCTC schemes with multiplicity on the ordinate axis and codeword distance on the abscissa axis.The distance spectrum verifies the performance improvement shown in the previous graphs (Figures 12-16).It can be seen that the number of codewords with low weights (small distances, d) has been decreased and the spectrum has been shifted to the right as a result of the presence of a larger number of high-weight codewords.

CONCLUSION
We have presented the results for two new schemes, RPSCTC and DRPSCTC, simulated in the AWGN and the FRF channels and presented together with their union bound, based on maximum-likelihood, derived from transfer function bounding techniques and the codeword distance spectrum.From the simulations and the analytical bounds presented, it is evident that RPSCTC and DRPSCTC offer a superior performance to that of SCTC in the AWGN channel, as well as in NLOS channels.The codeword distance spectrum that was presented motivates for this performance improvement.It is important to note that the improved performance that SCTC, and consequently RPSCTC and DRPSCTC, exhibit is achieved at the expense of bandwidth expansion and complexity and would be ideal for power-limited satellite communication links or interference-limited systems.One of the drawbacks of SCTC, RPSCTC and DRPSCTC would be the fact that the rate of the code is exponentially related to the memory depth of the constituent encoders used.Thus many more extravagant puncturing strategies could be investigated to yield better BER performances.In addition, the low-rate coding schemes presented above can be compared with low-rate turbo-Hadamard codes.

FIGURE 2 16 FIGURE 3
FIGURE 2Simple structure of the encoder of the repeat-punctured superorthogonal convolutional turbo codes

2 FIGURE 4
FIGURE 4Example of puncturing for the repeat-punctured superorthogonal convolutional turbo codes

1
Derivation of the general structure of the encoder of superorthogonal convolutional turbo codes (SCTC) FIGURE A1Structure of the superorthogonal recursive convolutional code

FIGURE 6
FIGURE 6Structure of the decoder of the repeat-punctured superorthogonal convolutional turbo codes

8
FIGURE 8Structure of the encoder of the dual-repeat punctured superorthogonal convolutional turbo codes SRCC, superorthogonal recursive convolutional codes

11
FIGURE 11Structure of the decoder of the dual-repeat-punctured superorthogonal convolutional turbo codes

2 FIGURE 15
FIGURE 15Superorthogonal convolutional turbo codes (SCTC) and repeat-punctured SCTC (RPSCTC) simulation in a flat Rayleigh fading channel, including the analytical bounds

TABLE 1
State table for the superorthogonal recursive convolutional codes