# Device and method for generating codes in communications system

FIELD: communication systems.

SUBSTANCE: method includes generating sets of sub-codes of quasi-additional turbo-codes with given encoding speeds, and given sub-codes are reorganized as a set of sub-codes with another encoding speed for use in next transfer of sub-code with given encoding speed.

EFFECT: higher efficiency.

9 cl, 13 dwg

The present invention relates in General to code generation in the data transmission system and, in particular, to a device and method of generating a two-dimensional quasitopological of turbocodes (CDTC) and adaptive CDTC, considering the characteristics of turbocodes in the system packet data using the retransmission scheme, or in a General communication system using a retransmission scheme.

The level of technology

In the General case of a system using a retransmission scheme (for example, a hybrid scheme of an automatic repeat request ASP, ARQ) merges with a mild solution to improve throughput. Methods of Association with a mild solution divided by the Association posted packets and combining the codes of the packets. These two schemes joins are usually referred to as Association packets with soft decision. Although the pattern of Association posted packet has a capacity of sub-optimal compared with the pattern of Association codes of the packets, but she preferred due to easier implementation with a small loss in throughput.

As indicated above, the system packet uses the pattern of Association codes of packages to improve throughput. The transmitter transmits the code with different encoding speed for each gear the package. If a received packet error is detected, the receiver requests retransmission and merges with a mild solution of the initial packet and the retransmitted packet. The retransmitted packet may have a code different from the code of the previous package. Join scheme code packages is the process of unification of the N received packets with rate R coding code with an effective bit rate of R/N to decode, in order thus to achieve coding efficiency.

As for the method of combining the posted packet, the transmitter sends the same code with rate R encoding in each packet transmission. If a received packet error is detected, the receiver requests retransmission and merges with a mild solution of the initial packet and the retransmitted packet. The retransmitted packet has a code identical to the code of the previous package. In this sense, the pattern of Association posted packets can be considered as the averaging symbol in the channel with randomly varying parameters. Join scheme spaced packets reduces the noise power by averaging the output signals from the soft decision input characters and achieves such an increase, explode, what is offered by the channel with multipath propagation, sweat the mu that the same code is repeatedly transmitted over the fading channel. However, the pattern of Association posted packets does not provide such additional coding efficiency, which is obtained for the structure of the code, which provides the pattern of Association codes of packages.

Because of the simplicity of the performance of most systems packet use the join scheme spaced packets, which is currently being developed for use with synchronous IS-2000 systems and asynchronous universal mobile communication systems (OSMS, UMTS). The reason is that the existing system packet using convolutional codes and even grouping of code packages that do not offer greater efficiency when using convolutional codes with rate transmission code data. If the system with R=1/3 supports retransmission, there is no big difference in bandwidth between the pattern of Association codes of packages and join scheme spaced packets. So, we can choose the pattern of Association posted packets, whereas smaller complexity of its implementation. However, the use of turbocodes as codes direct error correction (VEC, FEC), requires a different mechanism of Association of the packages, because turbocode developed codes as error correction, have performance characteristics that are very close to the Shannon limit access sposobnostey” and, obviously, their bandwidth is changed when changing the coding rate, unlike convolutional codes. Therefore, we can conclude that the grouping of code packages feasible for a system packet, which uses turbocode in the scheme of re-transmission to achieve the goal of optimal bandwidth.

In this context, to increase throughput in systems that use Association with a mild solution were proposed CDTC. For detailed acquaintance with CDTC see patent application Korea room R-62151, data submitted by the applicant.

Quasitopological turbocode (CDTC)

Next, description will be given of a system that selects the scheme obyedine codes, packages, or schema Association posted packages using conventional CDTC depending on the speed of data transfer.

For example, in a system using R=1/5 turbocode applies grouping of code packages, while the full encoding speed for codes produced by the Association with a mild solution of re-transmitted packets reaches 1/5. For subsequent re-transmitted packets merges posted packets and then merging code packages. If the first packet is transmitted with a data rate 1/3, then the required redundant symbols is provided at zaprasena retransmission, to make a complete encoding speed 1/5. Thus, when the receiver receives both packages, full encoding speed becomes equal to 1/5. Each of the following packages is repeated until the transmission, and the receiver merges posted packets and then merge codes packets are retransmitted with a data transfer rate of 1/5.

Figure 1 is a graph illustrating the difference in performance between the grouping of code packages and Association posted packets in case of turbocodes. As shown in figure 1, a turbo code with a low data rate 1/6 shows higher performance than the turbo code with a high bit rate 1/3 with the same energy Es symbol, and achieves a performance gain of 3 dB when combining code packages. Therefore, generation of turbocodes with R=1/3 by combining codes packages subcodes with R=1/6 creates a win, which show turbocode with the encoding speed is lower than 1/3, and at the same time gains, which offers the integration of the various codes.

More specifically, for the same energy Es of the code symbol and the same coding rate, turbocode provide performance close to the Shannon limit bandwidth”, depending on the coding rate only if iteration the second decoding fully implemented, unlike convolutional codes. From prior art it is known that the turbo code with low encoding speed offers a greater increase in performance than turbo code with a high bit rate in the same energy Es code symbol. For example, when R=1/3 is reduced to R=1/6, the change in performance can be evaluated by analyzing the change in the limit of Shannon's channel capacity”. The reason for adopting the same energy Es of the character regardless of R=1/3 or 1/6 for the curves in figure 1 is that the same energy Es symbol is used for each re-transmission in a hybrid system with automatic repeat request (GASP).

If your code with R=1/2 is repeated once and the two codes used “Association posted packets in a channel with additive white Gaussian noise (abgs AWGN), we get the maximum gain of 3 dB from the point of view of the relationship between the energy of the symbol-to-noise ratio (Es/No). The same result occurs in the case of a code with R=1/6. Thus, the performance curve for turbo code R=1/3 is shifted to the left in parallel at +3 dB from-behind win at Association of spaced packages and performance curve for a turbo code with R=1/6 also moves to the left in parallel at +3 dB, when you set the same energy of character. Here, performance curves for uchitsya depending on the relationship “energy-to-noise (Eb/No), which is measured to compare the performance of code depending on the coding rate. As a consequence, the difference between the curves of the performance of the turbo code is equivalent to the difference in performance between the Association posted packets and Association codes of packages. The difference in performance depending on the coding rate can be estimated from the limitations of Shannon's channel capacity”, and the minimum difference in performance can be obtained by using the minimum required signal-to-noise ratio (SNR, SNR).

In a system using turbocode with bit rate R and the very large size of the coding block L, the minimum ratio Eb/No required to ensure freedom from errors of the channel is expressed as follows:

According to the above equation, the minimum requirements for Eb/No in the channel with abgs each encoding speed for turbocodes are listed in table 1 below. In table 1 typical ratio Eb/No shows the ratio Eb/No required for a bit error ratio (UNCCD) below 0,00001 when the size L of the block coding turbocodes equal to 1024.

Table 1 | ||

Encoding speed | The desired ratio Eb/No (dB) | A typical ratio Eb/No (dB) for the BWC=10^{-5} |

3/4 | 0,86 | 3,310 |

2/3 | 0,57 | 2,625 |

1/2 | 0,00 | 1, 682 |

3/8 | -0,414 | 1,202 |

1/3 | be 0,55 | 0, 975 |

1/4 | -0,82 | 0,756 |

1/5 | -0,975 | 0, 626 |

1/6 | -1,084 | 0,525 |

0 | -1,62 | No data |

As shown in table 1, the required ratio Eb/No is 0,86, 0,57, 0,0, - 0,414, - 0,55, - 0,82, - 0,975 and - 1,084 dB, respectively, for velocity encoding 3/4, 2/3, 1/2, 3/8, 1/3, 1/4, 1/5 and 1/6. There is a difference of at least 0.53 dB in performance between a system that uses a code with R=1/3 and system that uses a code with R=1/6. This is the minimum difference in performance based on the limit of Shannon's channel capacity”. Considering the implementation of a real decoder and system environment, the difference becomes large. When modeling the observed difference in performance is approximately 1/12 dB between system using merge codes packages for codes with R=2/3, and the system that uses the Union of R is znesennya packages for codes with R=1/3.

Table 2 shows the difference in performance between the grouping of code packages and Association posted packets after one retransmission in the system with velocity encoding subcode 2/3. As shown in table 2, the minimum difference in performance - 1,12 dB, and join scheme codes package creates a higher performance gain in a system using a turbo code.

Table 2 | ||

Merging packages | Association codes | |

Parent encoding speed Rm | 1/3 (X, Y0, Y'0) figure 2 | 1/3 (X, Y0, Y'0) figure 2 |

The block size (L) | 496 | 496 |

The maximum number of iterations | 8 | 8 |

Number of gears | 2 | 2 |

The actual TX encoding speed Re for each transmission | 2/3 (using puncturing) | 2/3(using puncturing) |

The choice of redundancy | Identical pattern for all transmission | Different template for all transmission |

Combining soft decision | The Association posted packages | Volume is inania codes packages |

Winning through retransmission | The gain in the repetition symbol | The gain in coding for low speed encoding |

The minimum required ratio Eb/No in the table 1 | + 0,57(dB) | R-2/3 + 0,57 (dB) R-2/6-0,55 (dB) |

The desired ratio Eb/No at 2 re-transmissions | + 0,57-3,0 (dB) | be 0,55-3/0 (dB) |

The relative performance gains | 0 | 1,12 (=0,57 + 0,55)dB |

Simulated the relative benefit (UNCCD=10^{-5}) | 0 | 2,5 (dB) |

As described above, the pattern of Association codes package provides superior performance in a system with re-transmission using turbo code. Therefore, the present invention provides a method of generating subcode for optimal Association codes of packets in the system with re-transmission using turbo code. Generation of subcodes to combine the codes of the packets according to the predetermined rule creates the aforementioned win when combining codes and maximizing system performance, which requires that the subcodes were the same size for each retransmission.

2 is a block diagram of a typical device generating subcodes used the eat turbocodes. As shown in figure 2, the device generating subcodes includes turbocodes, the generator 204 subcode and the controller 205.

First, with regard to turbocodes, the first constituent encoder 201 (encoder 1) encodes the bit stream of the input information, and outputs the first code symbols, i.e. the information symbols X and the first parity symbols Y_{0}and Y_{1}. Interleaver 202 punctuates the bitstream of the input information according to the predetermined rule. The second constituent encoder 203 (encoder 2) encodes this perenesennyj information bit stream, and outputs the second code symbols, i.e. the information symbols X' and the second parity symbols Y_{0}' and Y_{1}'. Thus, the output symbols of turbocodes are first and second code symbols. Since the information symbols X'generated by the second constituent encoder 203, in fact, are not transmitted, the encoding speed of turbolader equal to 1/5.

The generator 204 subcode generates the subcodes of the first and second code symbols received from the first and second constituent encoders 201 and 203, using puncturing and repetition under control of controller 205. The controller 205 stores the matrix vitaliani (and repetitions), generated by the algorithms shown in figure 4, 5 and 6, and outputs the selection signals of the character in accordance with the matrices vikalev the deposits of the generator 204 subcode. Then the generator 204 subcode selects a specified number of code symbols within a specified range puncturing in response to the selection signals of the symbol.

The characters used, to which reference is made, X, Y0, Y1, Y'0 and Y'1 are defined as follows.

X: a systematic code symbol or information symbol

Y0: symbol redundancy from the upper constituent encoder of this turbolader

Y1: symbol redundancy from the upper constituent encoder of this turbolader

Y’0: symbol redundancy from the lower constituent encoder of this turbolader

Y'1: symbol redundancy from the lower constituent encoder of this turbolader

4, 5 and 6 the sequence of operations, which show the generation procedure of subcode (or matrix vitaliani) according to a conventional technology. More specifically, figure 4 shows the procedure of generating the first subcode_{about}in a set of subcodes, figure 5 shows the procedure of generating medium subcodes from C_{1}to C_{s-2}in a set of subcodes, and Fig.6 shows the procedure of generating the last subcode C_{s-1}in a set of subcodes.

Hereinafter, ENC1 (referred to as the first code symbols) indicates the information symbols X and the first parity symbols Y0 and Y1, which are output from the first constituent encoder 201, and ENC2 (referred to as the second code symbols) ukazyvaete second parity symbols Y'0 and Y'1, which are output from the second constituent encoder 203.

Turning to figure 4, the maximum encoding speed (Rmax), is available to the transmitter is set in operation 401. It is mainly set in accordance with the data rate used in the system. The minimum bit rate (Rmin) is set in such a way that it was integral multiple from Rmax (=k/n). Here k is the number of input symbols and n is the number of output symbols. Although Rmin can be determined arbitrarily, it is usually equal to 1/6, 1/7 or below, since the coding efficiency is saturated with decreasing the coding rate to a value equal to or smaller R=4/7 for turbocodes. In addition, the actual encoding speed, i.e. the parent encoding speed (R) of the decoder in the receiver is determined. R is set larger than Rmin.

In real implementations of systems Rmax and Rmin are preinstalled. In a sense, Rmax is the encoding speed of subcodes that will be generated, and Rmin is the final encoding speed after code combining subcodes. In the General case, Rmin is the encoding rate of the encoder in the transmitter.

At operation 403, the number of subcodes (S) is calculated using the following equation, using Rmax and Rmin. Here the number of subcodes or the number of matrices vitaliani is the minimum integer previews is the ratio of Rmax to Rmin.

whererepresents the minimum integer equal to or greater than *.

At operation 405, the variable m is set to the initial value 1, and when the operation 407 is determined (=m× k). With the number of columns of each matrix vitaliani defined by Rmax. For example, for Rmax=3/4 C can be 3, 6, 9,... and set the minimum available value for the first subcode to be transmitted. Here is set at 3 for Rmax=3/4.

In operation 407, the number of characters to be selected from a matrix of vitaliani, Ns is calculated by multiplying the variable m to a code length, i.e. the number of code symbols n, Rmax=k/n. Ns is the number of selected characters or the number of selected positions in each matrix vitaliani, and it is calculated using C/Rmax.

At operation 409 (Ns-C) is compared with the number of constituent encoders of turbolader in the transmitter. This turbocodes in the General case is provided by two constituent encoders. Thus, it is assumed that there are two components of the encoder. At operation 409 determines whether (Ns-C) greater than or equal to 2, because turbocodes has two components encoder, connected in parallel with the interleaver set, as shown in figure 2, unlike conventional encoders using other single codes. Friend the words, at least one parity symbol from each component encoder must be passed after all information symbols are transmitted, in order to preserve the characteristics inherent in turbocodes.

If (Ns-C) is less than 2, only one symbol is selected or from the first set of parity symbols, or from the second set of parity symbols. From the point of view of turbocodes any case can cause problems. In the first case, the subcodes generated without the second parity symbols are not turbocode and convolutional codes with long constraint K=4 from the encoder, with only the first constituent encoder, and do not offer any advantage from the presence of the interleaver, which is available in turbocore. On the other hand, in the second case, only the systematic character without parity symbols from the first constituent encoder leads to the subcodes with encoding speed 1. This is equivalent to the unencrypted system without increasing the coding efficiency. Accordingly, the difference (Ns-C) must be greater than or equal to 2 in order to ensure the performance of turbochager.

If at operation 409 is (Ns-Sec) is greater than or equal to 2, then at operation 411 of the matrix vitaliani are selected With systematic information symbols, and other symbols are selected according to the specified type. For type 1 p and the operation 413 symbols selected from the first and second parity symbols using equation (3). The number of selected first symbols of parity greater than or equal to the selected number of second parity symbols. For example, if the number of characters (Ns-C) is equal to 3, the first and second parity symbols are selected using equation (3) and then another character is selected from the first parity symbols.

where [*] represents the maximum integer less than or equal to *.

For type 2 at operation 415 symbols selected from the first and second parity symbols using equation (4). If a and b are defined as the norm of the distribution of character for the first character parity and the second parity symbols, respectively, so many characters, what is the minimum integer equal to or greater than the ratio a(Ns-C) to (a+b)is selected from the first parity symbols, and so many characters, what is the maximum integer equal to or less than the ratio b(Ns-C) to (a+b)is selected from the second parity symbols.

where a+b=1 and a and b specify the distribution coefficients of symbols for ENC1 and ENC2, respectively.

If the condition specified at operation 409, no run, that is, (Ns-C) is less than 2, at operation 417, the variable m is incremented by 1 and the procedure returns to operation 407. The purpose of the operation 409 is determining whether the subcodes are able to retain the property curb the codes, to be generated within this range vitaliani (given the size of the matrix vitaliani). If the property turbocodes cannot be saved, at operation 417 extends the range of vitaliani.

As described above, the initial matrix vitaliani is created in such a way that selects all information symbols and at least one symbol is selected from each of the first and second sets of parity symbols in turbocore.

Now, description will be given of a method of generating an intermediate matrix vitaliani with reference to figure 5. By repeating the procedure shown in figure 5, are generated matrix vitaliani with C_{1}to C_{s-2}.

Referring to figure 5, depending on the specific type of operation 501 or 503. For type 1 operation 501 Ns symbols are selected from the first and second sets of parity symbols using equation (5). Ns is the product of m and n are defined from Rmax (=k/n). The number of selected first symbols of parity greater than or equal to the selected number of second parity symbols. Here are selected unselected characters from the previous matrices vitaliani.

For type 2, at operation 503 Ns symbols are selected from the first and second sets of parity symbols according to the specified relationship using equation (6). If a and b are defined as relations R is opredeleniya character for the first character parity and the second parity symbols, respectively, so many characters, what is the minimum integer greater than or equal to the ratio of a(Ns) (a+b)is selected from the first parity symbols and the number of characters, what is the maximum integer less than or equal to the ratio of b(Ns) (a+b)is selected from the second parity symbols. Here are selected unselected characters from the previous matrices vitaliani.

The method of generating the last matrix vitaliani C_{s-1}will be described below with reference to Fig.6.

Referring to Fig.6, in operation 601 selects all remaining unselected characters from the previous matrices vitaliani. The number of selected symbols is defined as Ns2. At operation 603 new number Ns is determined by (Ns-Ns2). Because the characters in all the positions are selected from the matrix of vitaliani in the process operations shown in figure 4, 5 and 6, the new number Ns is the number of characters that must be re-selected. At operation 605 determines whether a new number Ns greater than 0. If the new number Ns is set to 0, then the procedure ends. If it is greater than 0, then re-select the number of characters of information symbols, what is the new number Ns. In other words, these selected symbols to be retransmitted.

The above-described method of generating subcode according to the present invention will be explained below using a specific number of the s examples.

For Rmax=3/4 and R=1/5, Rmin=l/6 and S=6/(4/3)=4,5 → 5. So there are five matrices vitaliani.

{_{0}C_{1}C_{2}With_{3}With_{4}}:Rmax=3/4.

Since the encoding speed of subcodes is 3/4 and the number of subcodes is 5, after the merge codes, subcodes are encoding speed 3/20 ((1/S) × Rmax=(1/5)× (3/4)=3/20). This implies that 3 information bits, the receiver accepts the 20 coded symbols. However, since 15 characters are generated from S× n=5× 4=20 and S× k=5× 3=15, then 5 characters among these 15 characters to be retransmitted. Recurring characters are preferably information symbols. In the above example, if the information symbol X is repeated once in each subcode, when all's subcodes adopted, the decoder takes turbocode with R=1/5, in which information symbols appear twice for each S subcodes.

The resulting subcodes after the procedure, shown in figure 4, 5 and 6, are a kind of additional codes, but they are not additional codes in the strict sense of the term, because there are recurring characters, and each subcode has a different characteristic. Due to the fact that these subcodes are made of turbocodes, they will be called quasitopological turbocode (CDTC).

Figure 3 is a chart showing a comparison between what roizvoditelnost schemes GASP, using merge codes packages and performance schemes GASP using Association posted packets, from the point of view of the throughput of the data transmission channel for CDTC with R=2/3 and 3=4 according to the conventional technology. As shown in figure 3, scheme GASP 301 using merge codes packages for CDTC, and the scheme GASP 302 using Association posted packages for CDTC, show better performance than scheme GASP 303 without CDTC. For the same bandwidth real-time data (e.g., 0,25) about -4 dB Es/No required for schema GASP 301, about -1,3 dB schema 302 GASP and about 1 dB for a schema 303 GASP. Consequently, the use CDTC according to the present invention ensures a higher bandwidth at a lower energy of character.

The above-described method of generating subcode will be explained below by using specific numerical examples.

For Rmax=3/4, R=1/5 and Rmin=1/6, S=6/(4/3)=4,5→ 5. This creates a five matrices vitaliani.

{CO, C1, C2, C3, C4}: Rmax=3/4.

Since the encoding speed of subcodes is 3/4 and the number of subcodes is 5, then after the merge codes, subcodes are encoding speed 3/20 ((1/S)× Rmax=(1/5)× (3/4)=3/20). This implies that 3 information bits, the receiver accepts the 20 coded symbols. However, since 15 characters generated from × n=5× 4=20 and S× k=5× 3=15, then 5 given character among these 15 characters to be retransmitted. Recurring characters are preferably information symbols. In the above example, if the information symbol X is repeated once in each subcode, the decoder takes turbocode with R=1/5, in which information symbols appear twice in each of the S subcodes.

The resulting subcodes after the procedure, shown in figure 4, 5 and 6, are a kind of additional codes, although they are not additional codes in the strict sense of the term, because there are recurring characters, and each subcode has a different characteristic. Due to the fact that these subcodes are produced from turbocodes, they will be called CDTC.

In the conventional technology subcodes CDTC have specified the encoding speed. To transfer the unit from one of the information words are used subcodes CDTC with a specific encoding speed. In other words, the usual CDTC is a one-dimensional CDTC.

When changing the transmission medium or channel by changing the length of the input data word must be subcode with another encoding speed. However, there is no way to select and transfer CDTC with different encoding speed. In fact, it is preferable to use subcode new the DTK with a high bit rate (low bit rate), different from previous subcodes CDTC in a good transmission medium channel (in the bad environment of the transmission channel). In other words, there is a need for a method of determining CDTC depending on the transmission media channel or other factors.

The INVENTION

Therefore, the present invention is a device and method of use many CDTC with different velocity encoding in a communication system supporting retransmission.

Another objective of the present invention is to provide a device and method for reordering of the subcodes in the set of subcodes with different encoding speed, which must be passed after subcode with a given encoding speed in order to achieve optimal merge codes in the receiver of a communication system that supports retransmission using a variety CDTC.

An additional object of the present invention is to provide a device and method of generating subcode with the assigned encoding speed using grouping subcodes CDTC with a specific encoding speed so many times, how many grouping that are assigned a certain bit rate, and transmitting the generated subcode for optimal merge codes in the receiver of a communication system that supports re the absolute by means of a set CDTC.

The preceding and other objectives of the present invention are solved by creating a device and method of generating a two-dimensional CDTC. According to one aspect of the present invention generate a set of subcodes CDTC corresponding to the data set of velocity encoding. Here every subcode is a matrix with elements that represent the repetition and gouging. Then generate a new set of subcodes so that the matrix of each subcode had so many columns, what is the least common multiple of the number of columns of the subcodes in sets of subcodes. The priority matrix of the subcodes are defined in each new set of subcodes so that the matrix generated by combining matrices of two new sets of subcodes, had CDTC characteristic. Then the data matrix are reordered in each new subcode according to the priority.

According to another aspect of the present invention CDTC with the highest bit rate among CDTC with velocity encoding in General, times the ratio set as a primitive code in the group and generate subcodes primitive code. The number of subcodes, which will be grouped in the primitive code, determine to generate each of the other CDTC. Subcode to be transmitted, generated by grouping many is obchodov primitive code what is the number of grouping corresponding to the coding rate, since subcode following the previously transmitted by subcodes in the primitive code. Is then passed to the generated subcode.

BRIEF DESCRIPTION of DRAWINGS

The above and other objectives, features and advantages of the present invention will become more apparent from the following detailed description in conjunction with the accompanying drawings, in which

figure 1 is a graph illustrating the difference in performance between the grouping of code packages and Association posted packets in the system packet data using turbocode;

2 is a block diagram of a typical device generating subcode;

figure 3 is a graph illustrating the performance of the scheme with re-transmission without the use of subcodes, the performance of the scheme with re-transmission that realizes the unification of spaced packages using subcodes, and schemes with re-transmission, implements the merge codes using subcodes;

figure 4 - sequence of operations illustrating a conventional method of generating the first subcode in a set of subcodes quasitopological of turbocodes;

5 is a sequence illustrating a conventional method of generating intermediate subcodes in the set of subcodes kwasizabantu is lnyh of turbocodes;

6 is a sequence illustrating a conventional method of generating the last subcode in a set of subcodes quasitopological of turbocodes;

Fig.7 is a sequence of operations illustrating a method of generating a two-dimensional CDTC according to the first variant implementation of the present invention;

Fig - sequence of operations illustrating a method of generating adaptive CDTC according to the second variant of implementation of the present invention;

Fig.9 is a diagram illustrating an implementation of the generation of adaptive CDTC according to the first variant implementation of the present invention;

figure 10 is a chart illustrating another embodiment of the generation of adaptive CDTC according to the first variant implementation of the present invention;

11 is a sequence illustrating the transfer of subcode using adaptive CDTC according to the second variant of implementation of the present invention;

Fig - sequence of operations illustrating transmission of subcode using two-dimensional CDTC according to the first variant implementation of the present invention;

Fig - structural diagram of the transmission device for transmitting two-dimensional CDTC and adaptive CDTC according to the present invention.

A DETAILED description of the PREFERRED OPTIONS KHUJAND THE exercise of

Preferred embodiments of the present invention will be described hereinafter with reference to the accompanying drawings. In the following description of known functions or constructions are not described in detail because they shade the invention with unnecessary details.

The present invention provides a transfer method CDTC with different velocity encoding in accordance with the characteristics of turbocodes, media channel and transmission rate of the input data. There are two types CDTC: two-dimensional CDTC and adaptive CDTC. In the old scheme subcode CDTC choose among the many CDTC with different velocity encoding in each period of transmission time, and the last scheme subcodes specific KDD group before transmission in accordance with a given data rate.

Two-dimensional CDTC

Consideration will be made for the case when the communication system using CDTC, changes the data transmission rate depending on the data transmission channel before one CDTC fully transferred. Let 1k be the information word or block of data to be transmitted. If CDTC information word is encoded as follows:

where QCTC_ENC refers to CDTC coding, Cj(k) (j=0, 1, 2, 3,... , Si-1) is the j-th subcode CDTC, Shearer the form of 1k, and S is the size of the set CDTC, i.e. the number of subcodes, which form CDTC defined by the encoding speed of subcode and parent-rate encoding.

As you can see from the above equations, the current scheme with one-dimensional CDTC transmits symbols using subcodes one CDTC consecutively until 1k is not fully transferred. Thus, the subcodes are passed in this order C_{0}(k), C_{1}(k), C_{2}(k),... , C_{s-1}and change the coding rate (strictly speaking, the coding rate of subcodes) between the transmission was considered without the submission of specific way. If the communication system uses CDTC must use CDTC with the new encoding speed due to changes in the environment data channel before all subcodes CDTC transmitted with the speed of data transfer, it must be able to generate many CDTC with different velocity encoding.

where QCTC_ENC refers to the encoding CDTC, Ci](k) (i=0, 1, 2, 3,... , NS-1, j=0, 1, 2, 3,... , S_{i}-1) is the j-th subcodes i-CDTC generated from 1k, and Si is the size of the i-th CDTC, which is determined by the encoding speed of subcode and parent-rate encoding.

According to equation (11), the transmitter in a two-dimensional communication system that uses CDTC, selects one of the NS CDTC adaptability is about to change in the environment data, which include conditions change channel or change the data transmission speed. To optimize performance, the system must determine the optimal order transmission through the analysis of the relationship between NS CDTC. Since the receiver can combine the two-dimensional CDTC arbitrary way in contrast to one-dimensional CDTC, if the structure of the code after the unification CDTC does not satisfy the characteristics that must be turbocode, the performance may deteriorate. To minimize this problem, a two-dimensional CDTC must satisfy the following conditions.

Condition 1: the minimum number of subcodes CDTC should be combined to generate code with the parent encoding speed. In other words, the matrix vitaliani for each subcode should be formed so that the minimum number of subcodes were combined to achieve the parent encoding speed.

Condition 2: only if the condition 1 is that the matrix elements of vitaliani for the result code from the merger CDTC should have equal weight, if possible. I.e. the matrix elements of vitaliani code generated by combining the minimum number of subcodes, have a uniform distribution of repetitions and vitaliani.

Most important to condition 1 and condition 2 is fo the formation matrix vitaliani for each CDTC and determining the order of transmission of the subcodes in each CDTC. Such two-dimensional CDTC created using the optimum one-dimensional CDTC must have a higher efficiency than a randomly selected two-dimensional CDTC. In addition, the order of transmission of subcodes should be optimized, because it is an important factor in determining the performance of a two-dimensional CDTC. Hereinafter will be described the generation of two-dimensional CDTC based on the above two principles.

Used herein, the term “KDD” is defined as a set of subcodes, generated on the basis of the specified parent encoding speed and the set speed encoding subcode. As indicated above, the matrix vitaliani used in the same sense as subcodes.

Fig.7 is a sequence of operations illustrating a method of generating a two-dimensional CDTC according to the first variant implementation of the present invention. Referring to Fig.7, at step 701 generated sets of subcodes NS optimal one-dimensional CDTC with specified velocity encoding. Matrix vitaliani S_{i}subcodes C_{ij}(i=0, 1, 2,... , NS-1, j=0, 1, 2,... , S_{i}-1) are formed according to a given parent encoding speed and the specified speed encoding R_{i}. This is done in the same way as conventional generation CDTC except that many CDTC C_{i}generated with the availa able scientific C with prescribed velocity encoding.
At operation 703, the number of columns in the matrix vitaliani each elementary code CDTC having the largest size of a set S among NS CDTC, is defined as CWf (0≤ f≤ NS-1).

At operation 705 new matrix vitaliani with CWf columns formed by repetition of existing matrices vitaliani CDTC. If CWf not an integer multiple of the number of Cwi columns of each matrix vitaliani for CDTC C_{i}then the least common multiple (LCM) CWf and CWi is defined as a new number of CWf. Then must be re-formed matrix vitaliani with the new number of CWf.

At operation 707 matrices of vitaliani each set of subcodes assign priorities transmission in such a way that the matrix vitaliani created by combining matrices vitaliani two different sets of subcodes will have CDTC characteristics. For example, the sending priority of the subcodes C_{ij}in each set of subcodes_{0}and C_{1}must be defined so that the same weight, if possible, given the matrix elements of vitaliani new code, derived from the combination of the subcodes in CDTC_{0}and C_{1}. The assignment of equal weights means uniform distribution of elements representing the puncturing and repetition in the matrix vitaliani code words generated by combining the minimum number of OCCS is Dov.
The main condition that must be satisfied to generate CDTC, is that subcode_{i0}the initial transmission should have information code symbol. In other words, the information code symbols in the first row of subcode C_{i0}should be transmitted first.

At operation 709 matrix vitaliani are reordered in each set of subcodes. I.e. change the sequence of subcodes C_{ij}in each set of subcodes_{i}. Then, when you select a specific CDTC C_{i}the subcodes C_{ij}CDTC C_{i}passed in order of increasing j. For example, if the transmission CDTC is in the order C_{1}With_{3}and C_{1}the subcodes are passed in the order C_{10}With_{30}and C_{11}. In this context we can say that 7 illustrates the process of reordering the subcodes with another encoding speed, which will be transmitted after subcode transmitted with a certain velocity encoding.

The above method of generating a two-dimensional CDTC will be explained with specific examples hereinafter in connection with Fig.7. Before describing agree that NS=4, the coding rate R_{i}CDTC C_{i}. ask how R_{0}=1/2, R_{1}=1/3, R_{2}=1/4 and R_{3}=1/8, and the parent encoding speed R=1/5.

Operation 701: generating a one-dimensional KDD R_{0}=1/2, C_{0}:

/img>

Operation 703: CWf=2

Operation 705

R_{0}=1/2, C_{0}:

Operation 707

R_{0}=1/2, C_{0}: the order of transmission is reset by placing_{00}at position_{02}C_{01}- at position_{00}and C_{02}in position C_{01}.

R_{1}=1/3, C_{1}: C_{10}replaced by_{11}in order of transmission.

As you can see from the above, the subcodes_{00}C_{01}and C_{02}are reordered in C_{01}With_{02}With_{00}in a set of subcodes_{0}and subcodes_{10}and C_{11}they change positions in the set of subcodes C_{1}for the fulfillment of the condition 1 and condition 2. Here subcodes in each set of subcodes passed in ascending order of sequence numbers of subcodes. For example, if the transmission CDTC is in the order C_{1}With_{3}and C_{1}the subcodes are passed in the order C_{10}With_{30}and C_{11}.

Table 3 shows the list shown above matrices vitaliani. As can be seen from table 3, the transfer of subcodes consistently perform in each set of subcodes (CDTC). While each matrix vitaliani for R_{1}=1/3 and R_{2}=1/4 should have two columns, it is shown that it has only one column. It is in the growing view.
Thus, we offer the same performance.

The mobile station and the system reads the matrix vitaliani in accordance with a given encoding speed (or data rate) and generate subcode using repetition and puncturing code symbols from turbolader with the parent encoding speed in accordance with the matrix vitaliani. Alternatively, they receive matrix vitaliani, using the specified algorithm, and generate subcode of the matrix vitaliani.

Adaptive CDTC

As described above, two-dimensional CDTC with improved performance is achieved by controlling the order of transmission of the subcodes in each of independent one-dimensional CDTC with specified velocity encoding. Generation of independent CDTC mainly facilitates optimization, but has a distinctive drawback such that when the encoding rate of the R_{1}specific CDTC Ci is an integer multiple from the coding rate R_{k}another CDTC (k=0, 1, 2,... , NS-1), the ratio CDTC can avoid optimization, even if there is sufficient space for optimization.

For R_{0}=1/2 and R_{2}=1/4, CDTC_{0}and C_{2}retrieved separately in the algorithm CDTC. To fully utilise the features CDTC, predpochtitel is but to fulfill the condition 1.
To do this, two serial subcode_{about}group for transmission of subcodes with R_{2}=1/4, thus, as With_{00}+C_{01}), (C_{01}+_{02}) or (C_{02}+C_{00}). Then, if subcode with R_{0}=1/2 unite with such subcodes can be achieved optimal performance.

One-dimensional CDTC with the highest bit rate among one-dimensional CDTC with velocity encoding in General fold ratio, defined as primitive code_{p}in the group (R is an integer between 0 and NS-1). When required subcode with the encoding speed is lower than a primitive code_{p}, subcode generate using the clutch (concatenation) or grouping of subcodes primitive code_{p}. This is called adaptive CDTC schema.

Fig - sequence of operations illustrating a method of generating adaptive CDTC according to another variant implementation of the present invention. Referring to Fig, in operation 801 CDTC with velocity encoding R_{i}divided into groups, and each group includes CDTC with velocity encoding, which are generally times the ratio. At operation 803 CDTC with the highest encoding speed is chosen from each group CDTC as primitive code_{p}. Thus, many primitive is W_{
p}can be determined in accordance with the number of groups.

At operation 805 establishes the rules clutch or grouping to generate subcodes for each CDTC in each group, using subcodes C_{pj}(j=0, 1, 2,..., Sp-1) of each primitive code_{p}. The rules may include the number of subcodes, which will be linked or grouped in each primitive code. In other words, the assigned subcode C_{ij}with the encoding speed R_{i}generate using the clutch or grouping of subcodes primitive code_{p}. Table grouping subcodes can be done in advance, considering all possible grouping of subcodes. In this case, it is preferable to group subcodes consistently in the primitive code_{p}.

As soon as encoding speed (or CDTC, or subcode) is specified, generate subcode CDTC with velocity encoding by concatenating the corresponding subcodes primitive code_{p}.

If a primitive group code grp (i.e. arbitrary group)_{p}and the size of the set S_{p}the subcodes CDTC in the group grp can be expressed as follows:

where j denotes the index of subcode and g is the number of subcodes, which will be grouped (i.e. the number of grouping). If g=1, then the subcodes primitive codes_{
p}use without grouping. If g=2, the subcodes primitive code_{p}group two. For rate R_{s}=2/3 coding primitive code_{p}if g=1, then the new subcode has a bit rate r=2/3. If g=2, r=1/3, because another set of code symbols generated in comparison with g=1. So the above matrix determines the coding rate CDTC, which can be obtained by grouping a number of subcodes primitive code_{p}and subcodes each CDTC. The maximum number of subcodes, which will be grouped, not limited, as it depends on the implementation of the system. Here, for example, can be grouped to four subcodes.

The number of rows in the matrix specifies the maximum number of grouping. Since the number of rows increases, the encoding speed CDTC, which can be done by grouping subcodes decreases. The number of columns in the matrix is determined using the size of the set S_{p}primitive code_{p}.

For example, if the encoding rate of the primitive code_{p}equal to R_{s}=1/2, then the first line at g=1 is subcodes primitive code_{p}with R_{s}=1/2. In other words, the elements of the first row in the matrix indicate the subcodes primitive code_{p}. The second line at g=2 includes subcodes KDTC the R_{
s}=1/4. The third line at g=3 has the subcodes CDTC with R_{s}=1/6 and the fourth line at g=4 - subcodes CDTC with R_{s}=1/8.

The following equation shows the relationship between each CDTC and primitive code_{p}in the same group. Group CDTC with the original code With_{p}when R_{s}=1/2 and S_{p}=3 is as follows:

Therefore, for groups with primitive code_{p}with R_{s}=1/2, the matrix shown in equation (12), is expressed using equation (14)below.

In the same way subcodes CDTC in the other group CDTC can be ordered in a matrix in accordance with the size of the set, and S_{p}its primitive code_{p}and the coding rate CDTC.

The above generation of adaptive CDTC will be explained using specific examples in connection with Fig. Before describing accept that NS=4, the coding rate R_{i}CDTC C_{i}specify how the R_{0}=1/2, R_{1}=1/3, R_{2}=1/4 and R_{3}=1/8, and the parent encoding speed R=1/5.

Operation 801: grouping code

Group 0={_{0}With_{2}With_{3}}={R_{0}, R_{2}, R_{3}) Encoding speed = {1/2, 1/4, 1/8}

Group 1={C_{1}}={R_{1}} Encoding speed = {1/3}

Operation 803: initial codes_{p}={_{0}C_{1}}

C_{0}(R_{0}=1/2): initial code group 0

C_{1}(R_{1}=1/3): initial code in group 1

Operation 805

Subcodes C_{ij}(i=0, 1, 2,... , NS-1, j=0, 1, 2,... , S_{i}-1) CDTC C_{i}each group is obtained using the primitive codes_{p}.

Group 0: CDTC with R_{s}=l/2

R_{0}=1/2: {C_{00}C_{01}With_{02}}

R_{2}=1/4: {(C_{00}C_{01}), (C_{01}C_{02}), (C_{02}C_{00})} (available up to three cases)

R_{3}=1/8: {(C_{00}C_{01}C_{02}C_{00}), (C_{01}C_{02}C_{00}C_{01}), (C_{02}C_{00}C_{01}C_{02})}

Group 1: CDTC with R_{1}=1/3

R_{1}=1/3: {C_{20}C_{21}}

When transmit subcode CDTC with R_{2}=1/4, there are two ways to determine which of subcode is transferred subcodes.

(1) Implicit identification of subcode

If the transmitter and receiver have information on the transfer of subcodes, the transmitter should not transmit information on the selected channel. For example, in the case of group 0, the receiver stores the index of the previously accepted subcode for each coding rate, i.e. R=1/2, 1/4 or 1/8, so after getting a new subcode in the same group, the receiver can determine the position of the new subcode.

(2) a Clear identification of subcode

The transmitter notifies the receiver about the type of the current subcode. Then, the receiver combines the adopted subcodes, respectively. In the em case, if the conditions in the channel is not very bad, it is quite implicit identification of subcode. In the present invention selectively uses two means of identification depending on the reliability of the message channel in the system.

Fig.9 is a diagram illustrating an implementation of the generation of adaptive CDTC according to the second variant of implementation of the present invention. Figure 9 the encoding rate of the parent code R=1/5, CDTC speeds coding 1/2, 1/4, 1/8 are in group 0, and CDTC speeds coding 1/3 and 1/6 are in group 1. For group 0 CDTC speed 1/2 - primitive code_{p}but for a group 1 CDTC speed 1/3 - primitive code_{p}. CDTC speeds coding 1/2, 1/4, 1/8 and 1/3 generate using primitive code_{p}.

For group 0, if CDTC speed 1/2 - C_{3}the subcodes speed 1/4 and subcodes speed 1/8 generate using sequential grouping of subcodes_{30}With_{31}and C_{32}according to the numbers grouping. For example, the subcodes speed 1/4 produce by grouping two subcodes, such as (C_{30}With_{01}), (C_{32}With_{30}) and (C_{31}With_{32}), and subcodes speed 1/8 - by grouping four subcodes (C_{30}With_{31}With_{32}With_{30}). For group 1, if CDTC speed 1/3 - C2, the subcodes speed 1/6 generate using grupero the project for two subcodes,
for example (C_{20}C_{21}).

Figure 10 is a diagram illustrating another implementation of the generation of adaptive CDTC according to the second variant of implementation of the present invention. Figure 10 the encoding rate of the parent code R=1/5, CDTC speeds coding 1/2, 1/4 and 1/8 are in group 0, and CDTC with velocity encoding 2/3, 1/3 and 1/6 are in group 1. For group 0 CDTC speed 1/2 - primitive code_{p}but for a group 1 CDTC speed 2/3 - primitive code_{p}. CDTC speeds coding 1/2, 1/4, 1/8, 2/3, 1/3 and 1/6 generate using primitive code_{p}.

For group 0, if CDTC speed 1/2 - C_{3}the subcodes speed 1/4 and subcodes speed 1/8 generate using sequential grouping of subcodes_{30}With_{31}and C_{32}depending on the number of grouping. For example, the subcodes speed 1/4 produce by grouping two subcodes, for example, (C_{30}C_{01}), (C_{32}With_{30}) and (C_{31}With_{32}), and subcodes speed 1/8 provide by grouping four subcodes (C_{30}With_{31}With_{32}With_{30}). For group 1, if CDTC speed 2/3 - C_{1}the subcodes speed 1/3 and subcodes speed 1/6 generate using sequential grouping of subcodes_{10}With_{11}C_{12}and C_{13}according to the numbers grouping. Concrete is about,
subcodes speed 1/3 generated by grouping two subcodes primitive code_{p}with rate 2/3 coding, for example, (C_{10}With_{11}), (C_{12}C_{12}) or (C_{10}With_{11}), and subcodes speed 1/6 generated by grouping the four subcodes primitive code_{p}with rate 2/3 coding, for example (C_{10}With_{11}C_{12}C_{13}). The structure of the code, shown in figure 10, is more adaptive to changes in channel conditions and data transfer rate.

If the system HASP uses CDTC with different velocity encoding depending on the data transmission channel, it is preferable GASP II. Then require subcodes with higher speeds encoding, and thus as a primitive code will be used CDTC with R=2/3. It is obvious that the primitive code is determined from the maximum coding rate required by the system, the description of which is beyond the scope of the present invention, and adaptive CDTC generate the manner described above. For example, for R=3/4 subcodes with R=3/4, R=2/3, R=1/3, R=1/6, etc. can be generated in the same way.

Table 4 shows a list of matrices vitaliani subcodes, which generate using a simple code_{p}with R=1/2 and R=1/3. Table 5 shows a list of matrices vitaliani su the codes,
which generate using a simple code_{p}with R=1/2 and R=2/3.

As can be seen from table 4 and table 5, the subcodes are manufactured using grouping subcodes primitive code_{p}. Subcodes CDTC with this encoding speed generated by a sequential grouping of subcodes primitive code_{p}. In table 4 describe the two groups CDTC that have primitive codes with R=1/2 and R=1/3. Matrix vitaliani are the matrix elements of subcodes, shown in equation (12). For example,

1 |

p0 |

1 |

p1 |

1 |

p2 |

_{00}C

_{01}and C

_{02}when R

_{0}=1/2, respectively.

2 |

p1 |

2 |

p2 |

_{11}(C

_{02}∪

_{}With

_{00}and third subcode C

_{12}(C

_{01}∪

_{}C

_{02}) when R

_{1}=1/4, respectively. Table 5 illustrates the subcodes of two groups with primitive codes with R=1/2 and R=2/3.

Mobile station and system include a table such as table 4 and table 5, of which are read matrix vitaliani with this encoding speed (or data rate). Subcodes generate using repetition and puncturing symbols from turbolader with the parent encoding speed in accordance with the matrix of vitaliani. Alternative matrix vitaliani get using the specified algorithm, and subcodes generate on the basis of the matrices vitaliani.

Fig - structural diagram of the transmission device, intended for transfer to a two-dimensional CDTC and adaptive CDTC according to the present invention. Referring to Fig, encoder 1301 channel encodes the characters of the input information with the encoding rate of the parent code, e.g. R=1/5, and outputs code symbols. The generator 1302 CDTC generates subcode using puncturing and repetition code under the control of the controller 1303 selection subcode.

The controller 1303 has a memory for storing matrices vitaliani, which are shown in alizah 3 through 5, with the help of which generate subcodes. The controller 1303 controls the generator 1302 CDTC according to the algorithm shown in Fig, when generating a two-dimensional CDTC, and according to the algorithm shown figure 11, when generating the adaptive CDTC.

Alternative controller 1303 may transmit a signal index on the generator 1302 CDTC to select one of the matrices vitaliani shown in table 3 through 5, by executing algorithms, shown at 11 and Fig during transmission of each subcode. In this case, the generator 1302 CDTC reads the matrix vitaliani in accordance with the index of tables 3 through 5 and generates subcode using puncturing and repetition of symbols output from the encoder 1301 channel, based on the matrix vitaliani.

Hereinafter will be given the choice (or transfer) of subcode controller 1303.

11 is a sequence illustrating the transfer of subcode using one-dimensional adaptive CDTC according to the second variant of implementation of the present invention. Referring to 11, after generation of the new block encoder in operation 1100, in operation 1101, the controller 1303 sets all variables (j_current, j_pre, g_current and g_pre) to the initial values. In operation 1103, the controller 1303 selects a group CDTC, which includes CDTC with a given encoding speed and determines the number of the group g, i.e. the number of subcodes,
which will be grouped into primitive code_{p}. Here, the encoding speed is determined depending on the channel status and the baud rate of the input data in the transmitter. The number of grouping g is a variable, which indicates CDTC included in the group. After you define a group and the number of grouping controller 1303 reads the variable j_pre saved for CDTC C_{1}with this encoding speed and sets the variable j_current in this matter is in operation 1105. This value j_current specifies the ordinal of subcode in KDD. Then, the controller 1303 selects subcode CDTC with room j_current corresponding variable g_current in the group by operation 1107, and when the operation 1109 transmits the encoded symbol corresponding to the selected subcode. For the next transmission variables g_current and j_current are stored as variables g_pre and j_pre. Subcodes corresponding j_current (=0), i.e. the first subcodes CDTC, expressed as

Then subcode corresponding g_current (or g), is selected among the first subcodes.

After the transfer of subcode controller 1303 determines whether the other subcode, i.e. whether by operation 1113 request received from the receiver for retransmission. At the request of another subcode in operation 1113 controller 1303 transmits subcode a given speed Kadirova the Oia. Otherwise, the controller 1303 returns to operation 1100 for the adoption of the new encoded block.

Meanwhile, the controller 1303 selects a group (g_current) CDTC, which includes CDTC with a given encoding speed, which is determined at operation 1115, depending on the data transmission channel.

When the operation 1117 controller 1303 determines the sequence number j_current of subcode to be transmitted (element in the matrix groups) according to the following equation 16 and returns to the operation 1107, in which subcode corresponding variable g_current, passed among the subcodes, the relevant variable j_current.

In the above equation, the left part “[((j_pre+1)* g_pre mod Sp)-1]” means subcode, which ends the previous group, and the right part(j_current*g_current) mod Sp” means subcode from which to start the next group. Therefore, in the case of adding 1 to “[((j_pre+1)*g_pre mod Sp)-1]”, this means subcode from which to start the next group, so each part of the equation has the same value. Thus can be obtained is j_current.

In the above equation A mod is In operation achievements of the private from division And Century, I.e. if the variable g_pre specifies the number of grouping subcodes primitive code to generate the previous subcode, i.e. identificazione the room CDTC with the previous subcode,
and j_pre specifies the sequence number of the previous subcode, the number of the current subcode to be transmitted, j_current, is determined using equation (16). Among the subcodes in the column corresponding to the variable j_current, subcode is selected in the row corresponding to the variable g_current, which is determined depending on the coding rate. The reason for using “mod S_{p}” in equation (16) is that the number of columns in matrix groups less than or equal to S_{p}. Since the number of subcodes primitive code is S_{p}, “Sp mod” allows recursive selection of the first subcode_{p0}after the transfer of all subcodes in each row (see figures 9 and 10).

Work sequence figure 11 will be described in more detail by using specific numerical examples.

Provided that the encoding rate of the primitive code R_{s}=1/2, the number of rows in the matrix group g=4 (i.e. before CDTC with R=1/8 can be generated), S_{p}=3, the coding rate change of order R_{s}=1/2, R_{s}=1/4, R_{s}=1/2, R_{s}=1/8, and then dry=0, j_current=0,g_current=0 and j_pre=0 (the initial value), then

1. R=1/2: g_current=1 and j_current=0, so g_pre=1 and j_pre=0. Selected subcode:^{1}p_{0}

2. R=1/4: g_current=2 and j_current=2, so g_pre=2 and j_pre=1. Selected subcode: C

2 |

p2 |

3. R=1/2: g_current=1 and j_current=0, so g_pre=1 j_pre=0. Selected subcode:

1 |

P0 |

4. R=1/8: g_current=4 and j_current=l, so g_pre=4 and j_pre=1. Selected subcode:

4 |

p1 |

5. R=1/2: g_current=l and j_current=2, so g_pre=1 and j_pre=2. Selected subcode: C

1 |

p2 |

Subcode within each group are chosen in accordance with equation (16), and the group selected in accordance with the encoding speed, which depends on the transmission medium channel and the speed of the input data. As shown in figures 9 and 10, the initial transfer subcode perform with j=0. While matrix vitaliani for subcodes each CDTC listed in the table memory, for example in tables 3 through 5 in the embodiment of the present invention, may be further considered another variant implementation, when provided subcodes primitive code for each group, and assigned subcode generate using grouping subcodes primitive code using equation (16). In the latter case, if j_current calculated according to equation(16), the controller may generate passed subcode by grouping g serial subcodes primitive code, starting with subcode corresponding j_current.

Fig - sequence of operations illustrating transmission of subcode using two-dimensional CDTC according to the first variant implementation of the present invention. Referring to Fig, after generation of the new block encoder in operation 1200, when the operation controller 1201 1303 sets all the variables (j and j_saved) to the initial values. In operation 1203, the controller 1303 determine CDTC C_{i}in accordance with a given encoding speed. Here, the encoding speed is determined in accordance with the state of the channel and the transmission rate of the input data in the transmitter. In operation 1205, the controller 1303 reads the variable j_saved saved for CDTC C_{i}when the operation 1207 selects the j-th subcode C_{ij}among the subcodes CDTC, and when the operation 1209 transmits the encoded symbol using the selected subcode.

After the transfer of subcode controller 1303 determines whether the other subcode, i.e. whether by operation 1211 request received from the receiver for retransmission. At the request of another subcode when the operation controller 1213 1303 selects subcode with encoding speed determined in accordance with the environment data channel. Otherwise, the controller 1303 in which rotates in operation 1200 for verification was it adopted a new block encoder.

Meanwhile, when the operation 1215 controller 1303 determines identical whether the selected subcode previous. If they are identical, the controller 1303 modifies the variable j using equation (17) and returns to operation 1207. If they are different, when the operation 1219 controller 1303 increases by 1 variable j representing the previous subcode, and stores the (j+1) as a variable j_saved and returns to the operation 1203.

where S_{i}- the size of the set CDTC C_{i}. The reason for using “mod Si” in equation (17) is the ability of the recursive selection of the first subcode after the transfer of all subcodes CDTC.

In accordance with the present invention described above, the communication system with re-transmission can choose different CDTC adaptive in accordance with a given data rate or bit rate. In other words, two-dimensional CDTC and adaptive CDTC used for retransmission of the packet, thus greatly increasing the throughput.

While the invention shown and described with reference to some preferred variations in its implementation, specialists in the art will understand that various changes in form and details may be made without departure from the nature and volume of the mA of the invention, which is described by the attached claims.

1. The way to change the order of the two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that generate sets of subcodes CDTC with preset speeds coding and change the order of the subcodes, which must be transmitted after subcode with a given encoding speed, from a set of subcodes with another encoding speed in accordance with the priority of subcodes.

2. The method according to claim 1, characterized in that subcode is a matrix with elements that are gouging and repetition.

3. The method according to claim 1, characterized in that during operation reorder generate a new set of subcodes, and the matrix for each subcode each new set of subcodes has as many columns, what is the least common multiple of the number of columns of each subcode in sets of subcodes, and determine the priority matrix of the subcodes in each new set of subcodes so that the matrix generated by combining matrices of two new sets of subcodes, had the characteristic CDTC, and change the order of the matrices in each new subcode according to the priority, and characteristic CDTC is that the matrix elements have a uniform distribution of repetition and puncturing.

4. The mode of transmission symbols using subcodes DV is measured quasitopological of turbocodes (CDTC), namely, that generate sets of subcodes CDTC with specified velocity encoding, change the order of the subcodes in sets of subcodes CDTC in accordance with the priority of subcodes and retain the subcodes in the modified order, choose CDTC with the speed of the encoding defined for transmission, and transmit symbols using subcode from a set of subcodes selected CDTC.

5. The method according to claim 4, characterized in that during the operation of the reorder generate a new set of subcodes, and the matrix of each subcode from a new set of subcodes has as many columns, what is the least common multiple of the number of columns of each of the subcodes in sets of subcodes, determine the priority matrix of the subcodes in each new set of subcodes so that the matrix generated by combining matrices of two new sets of subcodes, had the characteristic CDTC, and characteristic CDTC is that the matrix elements have a uniform distribution of repetition and puncturing, and change the order of the matrices in each new subcode in accordance with the priority.

6. The method of generating a two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that generate subcodes CDTC with the highest bit rate among CDTC with velocity encoding, which are generally times the ratio and the corresponding velocity encoding, and set CDTC with the highest encoding speed as primitive code, determine the number of grouping subcodes, which are grouped into primitive code for generating each of the other CDTC, in accordance with the encoding speed and generate subcodes other CDTC using grouping subcodes primitive code in accordance with the number of grouping and encoding speed.

7. The method according to claim 6, characterized in that it further transmit subcode following the previously transmitted by subcodes in a set of subcodes CDTC, with the speed of the encoding defined for the transfer.

8. The mode of transmission symbols using a two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that generate subcodes CDTC with the highest bit rate among CDTC with velocity encoding, which are generally times the ratio between their respective speeds encoding, and set CDTC with the highest encoding speed as primitive code, determine the number of grouping subcodes, which must be grouped in the primitive code for generating each of the other CDTC, in accordance with the encoding speed and generate subcode from other CDTC by grouping many subcodes of primitivnosti, what is the number of grouping corresponding to a specific coding rate for transmission, starting with subcode following the previously transmitted by subcodes in the primitive code, and transmit symbols using the generated subcode.

9. The mode of transmission symbols using a two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that generate subcodes CDTC with the highest bit rate among CDTC with velocity encoding, which are generally times the ratio between their respective speeds encoding, and set CDTC with the highest encoding speed as primitive code, generate subcodes other CDTC using grouping subcodes primitive code in accordance with the encoding speed, at a given coding rate for transmission to determine the ordinal position of subcode j_current that should be used in the transfer, using the following equation: [((j_pre+l)*g_pre mod Sp)-1]+1=(j_current*g_current) mod Sp, where j_pre - ordinal subcode used for the previous transmission, g_pre - number grouping used for the previous transmission, g_current - a certain number of grouping and Sp is the size of the set of primitive code, and transmit symbols using subcode corresponding to a specific ordinal position among with whom badov CDTC in accordance with a particular encoding speed.

10. The method of generating a two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that group CDTC in accordance with the speed of encoding, with each group CDTC includes CDTC with velocity encoding, which are generally times the ratio between their respective speeds encoding, generate subcodes CDTC with the highest bit rate in each group CDTC and set CDTC with the highest encoding speed as primitive code, determine the number of grouping subcodes, which will be grouped in the primitive code, in order to generate each of the remaining CDTC in each group CDTC, and generate subcode by grouping many subcodes primitive code, what is the number of grouping corresponding to the coding rate.

11. The mode of transmission symbols using a two-dimensional subcodes quasitopological of turbocodes (CDTC), namely, that group CDTC in accordance with the speed of encoding, with each group CDTC includes CDTC with velocity encoding, which are generally times the ratio between their respective speeds encoding, generate subcodes CDTC with the highest bit rate in each group CDTC and set CDTC with the higher the speed of the encoding as a primitive code, determine the number of grouping subcodes, which are grouped into primitive code for generating each of the other CDTC in each group CDTC, and generate subcode by grouping many subcodes primitive code, what is the number of grouping corresponding to a specific coding rate for transmission, and transmit symbols using the generated subcode.

12. Device for changing the order of two-dimensional subcodes quasitopological of turbocodes (CDTC)containing turbocodes to encode the bit stream input at a given speed of encoding and output code symbols, the controller for generating sets of subcodes CDTC in accordance with multiple preset speeds encoding, change the order of the subcodes in the set of subcodes and storage subcodes in the modified procedure of choice CDTC with the speed of the encoding defined for transmission, and generation of control signals puncturing and repetition for the matrix that follows the matrix used for the previous transmission, among the subcodes in the modified order of the selected CDTC, and the generator CDTC to generate subcode, to be transmitted, by using puncturing and repetition of code symbols, taken from turbolader, in accordance with the control signals puncturing and repetition.

13. The device according to item 12, distinguish what Eesa fact, the controller changes the order of the matrices in each set of subcodes so that the matrix is created by combining matrices of two different sets of subcodes, had the characteristic CDTC, and characteristic CDTC is that the matrix elements have a uniform distribution of repetition and puncturing.

14. Device for transmitting symbols using two-dimensional subcodes quasitopological of turbocodes (CDTC)containing turbocodes to encode a bit stream input at a given speed of encoding and output code symbols, the controller for storing the set of matrices which generate the subcodes CDTC with the highest bit rate among CDTC with velocity encoding, which are generally times the ratio between their respective speeds, coding, installation CDTC with the highest encoding speed as primitive code generation subcodes CDTC using grouping subcodes primitive code, select subcode CDTC in accordance with a particular encoding speed for a given coding rate, for transmission, and generation of control signals puncturing and repetition in accordance with the selected subcode, and the generator CDTC to generate subcode to be transmitted, by using puncturing and repetition code symbol is, taken from turbolader, in accordance with the control signals puncturing and repetition.

15. The device according to 14, wherein the controller selects subcode according to the sequence number of subcode j_current of subcode, which is defined as [((j_pre+l)*g_pre mod Sp)-1]+1=(j_current*g_current) mod Sp,

where j_pre - ordinal subcode used in the previous transmission, g_pre - number grouping used for the previous transmission, g_current - a certain number of grouping and Sp is the size of the set of primitive code.

16. The device according to item 15, wherein the controller controls the many groups CDTC, with each group CDTC have CDTC with velocity encoding, which are generally times the ratio between their respective speeds encoding.

**Same patents:**

FIELD: communications engineering; network remote measuring and control systems.

SUBSTANCE: proposed noise-immune cyclic code codec designed for data transfer without pre-phasing has on sending end code-word information section shaper incorporating shift-register memory elements, units for computing verifying parts of noise-immune code of code-word information section, and modulo two adder of code-word information section shaper; code-word synchronizing section shaper and modulo two adder of code-word synchronizing section; on receiving end it has binary filter incorporating binary-filter shift register memory elements, computing units for verifying parts of binary-filter noise-immune code, and binary-filter modulo two adder; shift register of code word information section; decoder; accumulator; error correction unit; unit for shaping synchronizing section of code word; and modulo two adder units.

EFFECT: enhanced speed of device.

1 cl, 1 dwg

FIELD: communications engineering; network remote measuring and control systems.

SUBSTANCE: proposed noise-immune cyclic code codec designed for data transfer without pre-phasing has on sending end code-word information section shaper incorporating shift-register memory elements, units for computing verifying parts of noise-immune code of code-word information section, and modulo two adder of code-word information section shaper; code-word synchronizing section shaper and modulo two adder of code-word synchronizing section; on receiving end it has binary filter incorporating binary-filter shift register memory elements, computing units for verifying parts of binary-filter noise-immune code, and binary-filter modulo two adder; shift register of code word information section; decoder; accumulator; error correction unit; unit for shaping synchronizing section of code word; and modulo two adder units.

EFFECT: enhanced speed of device.

1 cl, 1 dwg

**FIELD: communications engineering.**

**SUBSTANCE: proposed device and method for mobile code-division multiple access communication system including device for transferring channel of backward-link transmission speed indicator afford generation of optimal code words ensuring optimal coding for all types of coding procedures from optimal type (24.1) up to optimal coding procedure 24.7 and supporting all optimal-coding devices.**

**EFFECT: optimized capacity.**

**74 cl, 21 dwg, 44 tbl**

FIELD: Witterby algorithm applications.

SUBSTANCE: system has first memory element for storing metrics of basic states, multiplexer, capable of selection between first and second operating routes on basis of even and odd time step, adding/comparing/selecting mechanism, which calculates metrics of end states for each state metric. Second memory element, connected to adding/comparing/selecting mechanism and multiplexer is used for temporary storage of end states metrics. Multiplexer selects first operating route during even time steps and provides basic states metrics, extracted from first memory element, to said mechanism to form end state metrics. During odd cycles multiplexer picks second operating route for access to second memory element and use of previously calculated end state metrics as metrics of intermediate source states.

EFFECT: higher efficiency.

2 cl, 9 dwg

FIELD: communication systems.

SUBSTANCE: method includes generating sets of sub-codes of quasi-additional turbo-codes with given encoding speeds, and given sub-codes are reorganized as a set of sub-codes with another encoding speed for use in next transfer of sub-code with given encoding speed.

EFFECT: higher efficiency.

9 cl, 13 dwg