[0001] This application claims priority to an application entitled “Flexible Data Transmission Apparatus and Method in a Data Communication System” filed in the Korean Industrial Property Office on Apr. 21, 2000 and assigned Serial No. 2000-22039; an application entitled “Flexible Data Transmission Apparatus and Method in a Data Communication System” filed in the Korean Industrial Property Office on Apr. 24, 2000 and assigned Serial No. 2000-21672; an application entitled “Flexible Data Transmission Apparatus and Method in a Data Communication System” filed in the Korean Industrial Property Office on Apr. 26, 2000 and assigned Serial No. 2000-22295; and an application entitled “Flexible Data Transmission Apparatus and Method in a Data Communication System” filed in the Korean Industrial Property Office on Apr. 27, 2000 and assigned Serial No. 2000-22521, the contents of all of which are hereby incorporated by reference.
[0002] 1. Field of the Invention
[0003] The present invention relates generally to a data communication system, and in particular, to an apparatus and method for matching a frame having coded symbols flexibly determined according to variation of a data rate to an interleaver size.
[0004] 2. Description of the Related Art
[0005] In a radio communication system such as a satellite system, an ISDN (Integrated Services Digital Network) system, a digital cellular system, a W-CDMA (Wideband Code Division Multiple Access) system, a UMTS (Universal Mobile Telecommunications System) system, and IMT-2000 (International Mobile Telecommunication-2000) system, a channel coding scheme chiefly uses a convolutional code, and a linear block code for which a single decoder is used. Symbols coded by such a channel coding scheme are generally interleaved by a channel interleaver.
[0006] A typical channel interleaver was designed to perform interleaving by receiving a frame having coded symbols, the number of which is identical to an interleaver size per frame. However, a recent FDRT (Flexible Data Rate Transmission) channel interleaver performs interleaving by receiving a frame having coded symbols, the number of which is different from an interleaver size per frame.
[0007]
[0008] Referring to
[0009]
[0010] Referring to
[0011] When the data rate increases from 20 Kbps to 38.4 Kbps as stated above, null data is written by an upper layer in an empty interval corresponding to an interval excepting the 20 Kbps×20 msec period out of the data symbols input to a channel encoder (not shown). That is, the channel interleaver with size N writes (38.4−20)/38.4=47.92% of its output with null data before transmission. Therefore, from the viewpoint of reception symbol energy Es, it can be presumed that 47.92% of energy is lost. The reason that an energy loss occurs is because the physical layer has no way to process the null data in the non-FDRT scheme. Even though the null data is subjected to symbol repetition before transmission, a forward supplemental channel (F-SCH) scheme has a disadvantage that it cannot perform symbol combining. Further, since the null data is different according to a data rate of the input data, the upper layer must previously send the null data to the base station and the mobile station. In addition, energy of the null data must be restored before the null data passes through a channel decoder, and the upper layers L
[0012] The FDRT scheme has been proposed to solve the problem and improve the performance of the non-FDRT scheme. Active research has been made on the FDRT rate matching technique for increasing the data transmission efficiency of the channel coding scheme and improving the system performance in a multiple access and multi-channel system using the channel coding scheme. The principles of the FDRT technique are based on the assumption that the used channel code is a convolutional code, a linear block code, or a convolutional code using a concatenated code. In particular, for the 3GPP (3
[0013]
[0014] Prior to describing TABLE 1 Terms Definitions c[n] Coded symbols (0 . . . L-1) from Channel encoder r[n] Repeated coded symbols (0 . . . LM-1) by repetition f[n] Punctured coded symbols (0 . . . N-1) by FDRT d[n] Interleaved coded symbols (0 . . . N-1) by Channel interleaver
[0015] In Table 1, c[n] indicates coded symbols output from the a channel encoder (not shown), and r[n] indicates coded symbols repeated by a repeater
[0016] For reference, since L≦N in the FDRT scheme, the input coded symbols are always subjected to repetition. This is because the FDRT scheme is so designed as to guarantee a data rate of input transmission data to be matched with an IS-2000 channel interleaver size. Hence, the FDRT scheme includes the puncturer used for matching the interleaver size N=LM−P after repetition, so that the number of transmitted symbols is fundamentally higher than the number L of the coded symbols.
[0017] Referring to
[0018]
[0019] Specifically,
[0020] Referring to
[0021] In
[0022] Table 2 below discloses the FDRT algorithm defined in the IS-2000 specification. In the following description, the FDRT algorithm will be described using the original terminologies excerpted from the original document, for convenience of explanation.
TABLE 2 If variable-rate Reverse Supplemental Channel operation, flexible data rates, or both are supported, puncturing after symbol repetition is calculated as described here. However, the puncturing in 3.1.3.1.6.1 and 3.1.3.1.6.2 is used for the frame formats listed in Table 3.1.3.10.2-1 for the Forward Dedicated Control Channel, Table 3.1.3.11.2-1 for the Forward Fundamental Channel, or Tables 3.1.3.12.2-1, 3.1.3.12.2-2, or 3.1.3.12.2-3 for the Forward Supplemental Channel. The number of repeated symbols punctured per frame is defined by P = LM − N where L = Number of specified encoded symbols per frame at encoder output N = Desired channel interleaver size (N ≧ L) M = ┌N/L┐ is the symbol repetition factor for flexible data rate If P is equal to 0, then puncturing is not required. If puncturing is necessary, every D the required number of punctured symbols per frame, P, is achieved. That is, if the unpunctured symbols are numbered from 1 to LM, then symbols numbered D, 2D, 3D, . . . are deleted. D = └LM/P┘ for P > 0; otherwise, puncturing is not required.
[0023] As shown in the FDRT algorithm of Table 2, the parameter D is determined from given parameters L and N, and then, every D
[0024] The convolutional code and the linear block code using a single decoder are generally used for the channel coding scheme. In this case, the following conditions should be fully considered and reflected during puncturing in the FDRT scheme for increasing a data transmission efficiency of the channel encoding scheme and improving the system performance in the multiple access and multi-channel system using the channel encoding scheme.
[0025] Condition (1): An input symbol sequence is punctured with a puncturing pattern having a specific period;
[0026] Condition (2): The number of the punctured bits of the input symbols is minimized, if possible; and
[0027] Condition (3): The coded symbols output from an encoder are punctured using a uniform puncturing pattern.
[0028] The foregoing conditions are based on the assumption that error sensitivity of the coded symbols output from the channel encoder is almost similar with respect to every symbol in one frame (or codeword). When data is actually transmitted in the FDRT mode, it is possible to obtain an affirmative outcome by using the above conditions as major puncturing restriction factors. However, in most cases, the IS-2000 FDRT scheme does not satisfy the above conditions.
[0029] TABLE 3 IS-2000 RC3 (Code rate R = 1/4) Maximum Assigned Data Rate 19.2 kbps N = 1536 bits Input Data Rate 15 kbps Coded symbols per frame (L) = 1200 bits M = ┌N/L┐ = ┌1536/1200┐ = 2 P = 864 bits (LM − N = 2400 − 1536) D =└LM/P┘ = └2400/864┘ = └2.778┘ = 2
[0030] Referring to
[0031]
[0032] Referring to
[0033] The occurrence of the non-uniform puncturing is caused by the value D which determines the puncturing pattern. That is, when LM/P is not an integer, the conventional IS-2000 FDRT algorithm defines the value D as └LM/P┘ indicating a maximum integer smaller than LM/P. In this case, only P×D symbols are actually punctured, and the puncturing is not performed in the remaining P×(LM/P−D)-bit interval. In
[0034] The conventional FDRT scheme has the following disadvantages:
[0035] 1) The FDRT scheme using the convolutional code or liner block code requires a uniform puncturing scheme in view of the property that error sensitivity of coded symbols output from the channel encoder is almost similar with respect to every symbol within one frame (or codeword). However, since such an assumption is not conducted in the existing IS-2000 FDRT scheme, it is necessary to modify the existing FDRT scheme.
[0036] 2) From the viewpoint of symbol repetition, the existing IS-2000 FDRT scheme fundamentally regards the FDRT scheme as a repetition scheme, considering that the puncturing pattern is not affected greatly. However, this should be interpreted in the same context as the puncturing. That is, a uniform repetition scheme should be used for the FDRT scheme with optimal performance even in case of the repetition, in view of the property that error sensitivity of the coded symbols output from the channel encoder is almost similar with respect to every symbol within one frame (or codeword). However, since such an assumption is not conducted in the existing IS-2000 FDRT scheme, it is necessary to modify the existing FDRT scheme.
[0037] It is, therefore, an object of the present invention to provide an apparatus and method for guaranteeing optimal performance without performance degradation when matching a frame having coded symbols flexibly determined according to variation of a data rate to an interleaver size in a data communication system.
[0038] It is another object of the present invention to provide a flexible data rate transmission (FDRT) apparatus and method which flexibly operates according to a data rate by simply adjusting its structure and initial setting value in a data communication system using a convolutional code or a linear block code.
[0039] To achieve the above and other objects, there is provided a method for generating a stream of N symbols by puncturing a stream of repeated symbols in a system including an encoder for generating a stream of L symbols, a repeater for repeating the stream of L symbols, and a puncturer for puncturing the stream of repeated symbols and generating a stream of N symbols, where N is larger than L. The method comprises generating a stream of LM repeated symbols by repeating the stream of L symbols M times, where M is an minimum integer larger than N/L; calculating a first puncturing interval D
[0040] The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056] A preferred embodiment of the present invention will be described herein below with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.
[0057] The present invention provides an improved FDRT scheme capable of securing uniform puncturing or repetition, thereby solving a problem of the conventional FDRT scheme. To this end, a uniform puncturing pattern or a uniform repetition pattern is required. Therefore, the present invention provides a method for creating a new puncturing pattern for FDRT and then puncturing the coded symbols according to the created new puncturing pattern.
[0058] The determination of a proper puncturing distance D is important in performing the uniform puncturing or uniform repetition in the FDRT scheme. In other words, the non-uniform puncturing or repetition is caused by the parameter D for determining the puncturing pattern or the repetition pattern. That is, in the conventional IS-2000 FDRT algorithm, when LM/P is not an integer, └LM/P┘ indicating the maximum integer smaller than LM/P is defined as the parameter D. Therefore, in this case, only P×D bits are actually punctured and the puncturing is not performed in the remaining P×(LM/P−D)-bit period. For example, since LM/P=2.778, D=2 and LM/P−D=0.778. Therefore, the puncturing is performed in the P×D=864×2=1728-bit interval, while the puncturing is not performed in the P×(LM/P−D)=864×0.778=672-bit interval. In conclusion, the non-uniform puncturing occurs due to a difference of (LM/P−D) in the process of determining the value D. To solve this problem, the following basic conditions are introduced, and then an algorithm based on the conditions will be described.
[0059] FDRT Condition (1): P×D determined from L and N should satisfy P×D≧LM. That is, D should satisfy D≧LM/P. Here, P and D are integers.
[0060] FDRT Condition (2): (P−└LM/D┘) symbols determined from the parameter value D satisfying FDRT Condition (1) are punctured or repeated as uniformly (or at regular intervals) as possible over LM symbols. Here, the determined symbol position should not overlap with the position determined by the parameter D satisfying FDRT Condition (1).
[0061] FDRT Condition (3): The non-uniform repetition or puncturing due to a difference of (LM/P−D) in the process of determining the parameter D should be minimized.
[0062] Now, an operation of the FDRT scheme according to an embodiment of the present invention will be described, considering the above FDRT conditions. First, a description will be made of an embodiment to which the FDRT algorithm according to the present invention is applied. Subsequently, a generalized FDRT algorithm will be described.
[0063] New Flexible Data Rate Transmission Algorithm Type 1
[0064] A description will be made of an embodiment to which the FDRT algorithm according to the present invention is applied. The conditions used in this embodiment are shown in Table 4 below, and the algorithm is shown in Table 5 below.
[0065] Referring to Table 4, the embodiment of the present invention is applied to IS-2000 RC3. The maximum assigned data rate is 19.2 Kbps, the interleaver size is N=1536 bits, and an input data rate is 15 Kbps. Further, the number of coded symbols per frame is L=1200 bits. Therefore, the number of repetitions for the L=1200 coded symbols becomes M=2. The repetition number M is defined as the minimum integer larger than N/L (=(interleaver size)/(coded symbols per frame)). That is, the repetition number M is defined as M=┌N/L┐. The number P of coded symbols to be punctured is determined by subtracting the interleaver size N from the repeated coded symbols LM. The puncturing distance D is defined as D=┌LM/P┐.
TABLE 4 IS-2000 RC3 (Code rate R = 1/4) Maximum Assigned Data Rate 19.2 kbps [N = 1536 bits] N = 1536 bits Input Data Rate = 15 kbps Coded symbols per frame (L) = 1200 bits M = ┌N/L┐ = ┌1536/1200┐ = 2 P = 864 bits (LM-N = 2400 − 1536) D = ┌LM/P┐ = ┌2400/864┐ = ┌2.778┐ = 3
[0066]
TABLE 5 D = ┌LM/P┐ = 3 The repeated symbol is deleted if the following condition is satisfied. If (k mod 3 = 2 or k mod 36 = 0) then Puncturing where k = 0, 1, 2, . . . , 2399
[0067] Referring to Table 5, in the algorithm according to an embodiment of the present invention, “k mod(?) 3” indicates a modulo-3 operation of calculating a remainder determined by dividing k by 3. FDRT Condition (1) is used in the process of calculating D, and FDRT Condition (2) is used in the process having a variable ‘36’.
[0068]
[0069] Referring to
[0070]
[0071] Referring to
[0072] Generalized Flexible Data Rate Transmission Algorithm GFDRTA-I
[0073] A generalized flexible data rate transmission algorithm according to the present invention will be described. The FDRT algorithm and the parameters used in the algorithm are defined in Table 6.
TABLE 6 P = LM − N where L = Number of specified encoded symbols per frame at encoder output N Desired channel interleaver size (N ≧ L) M = ┌N/L┐ is the symbol repetition factor for flexible data rate
[0074] In table 6, L indicates the number of coded symbols per frame, out of streams of the coded symbols output from the encoder. Further, N indicates a predetermined channel interleaver size, and is defined as a value larger than or equal to the number L of the coded symbols per frame. In addition, M indicates the number of repetitions for the coded symbols, and is defined as ┌N/L┐. That is, the repetition number M is defined as the minimum integer larger than N/L. Therefore, the number P of the coded symbols to be punctured is defined as P=LM−N.
[0075] As a first embodiment, in the algorithm of Table 6, if P=0, then the puncturing is not performed. In the puncturing process, every D1
[0076] As a second embodiment, in the algorithm of
[0077] In Equation (1), s indicates the maximum integer out of integers within a range satisfying Equation (2) below.
[0078] Referring to Equations (1) and (2), the puncturing distance (or interval) D
[0079] In Table 6 and Equations (1) and (2), in order to match a stream of L (<N) coded symbols to the interleaver size N, the stream of the L coded symbols is repeated M times thus generating a stream of LM coded symbols, and the stream of the LM repeated coded symbols is punctured at the first puncturing interval D
[0080] In other words, for the stream of the LM repeated coded symbols, P
[0081]
[0082] Referring to
[0083] In the operation of steps
[0084]
[0085] Referring to
[0086] The channel encoder
[0087] The symbol index generator
[0088] D
[0089] Referring to
[0090]
[0091] Referring to
[0092] In
[0093]
[0094] Referring to
[0095] The channel encoder
[0096] The symbol index generator
[0097] D
[0098] Referring to
[0099] Performance Analysis
[0100] In the following description, a change in performance according to puncturing of the coded symbols encoded with the convolutional code is analyzed, and an average performance change of a convolutional code with a code rate R according to a puncturing rate and a repetition rate is described. From this, it is possible to predict a performance difference between the conventional IS-2000 FDRT algorithm and the novel FDRT algorithm proposed in the invention, and an average performance value.
[0101] First, the reference letters used herein will be defined as follows:
[0102] R: a code rate of the convolutional code, R=k/n;
[0103] Rst: (data rate of coded symbols actually transmitted over the channel)×R, Rst=NR(bits/sec); and
[0104] Rfdrt: (data rate of coded symbol output from the channel encoder in the FDRT mode)×R, Rfdrt=LR(bits/sec).
[0105] When the uniform puncturing or repetition pattern is used, a performance change caused by the puncturing or repetition is given by Equation (3) below. Here, when Rfdrt<Rst, the FDRT scheme performs symbol repetition, so that the performance, i.e., coding gain, is improved. However, in contrast, when Rfdrt>Rst, the FDRT scheme performs symbol puncturing, so that the performance, i.e., coding gain, is degraded. As mentioned before, however, since N>L, the FDRT scheme generally performs symbol repetition, thus increasing the performance, i.e., coding gain. The point at issue is how the coding gain can be increased according to the pattern.
[0106] For example, when Rst=19.2 Kbps, the coding gains according to Rfdrt are shown in Table 7. Therefore, if the puncturing pattern or the repetition pattern is properly determined and the FDRT algorithm is used, the coding gains shown in Table 7 should be guaranteed.
TABLE 7 Rst Rfdrt Average Coding Gain CASE 1 19.2 Kbps 17.5 Kbps 0.40 (dB) CASE 2 19.2 Kbps 15 Kbps 1.07 (dB) CASE 3 19.2 Kbps 10 Kbps 2.83 (dB)
[0107]
[0108] TABLE 8 CASE (1) Data Rate 15 kbps (Pure info + CRC + Tail bit = 300 bit) L (Encoded size) = 1200 M = 2, N (Channel Interleaver Size) = 1536, P (Num of Puncturing) = L × M − N = 864 D (Puncturing Depth) = └(L × M)/P┘ = 2 Puncturing Pattern → Comparison Subject: 15 kbps signal (Same Puncturing Symbol Number) → Puncturing Pattern 15KBER_SEC, 15KFER_SEC: NEW Algorithm Type 1 Used if (k%3 = 2 ∥ k%36=0)(k = 0,1,2, . . . , 2399) Then Puncturing 15KBER_IS2000, 15KFER_IS2000: Old Puncturing Pattern Used
[0109]
TABLE 9 CASE (2) Data Rate 10 kbps (Pure info + CRC + Tail bit = 200 bit) L (Encoded size) = 800 M = 2, N (Channel Interleaver Size) = 1536, P (Num of Puncturing) = L × M − N = 64 D (Puncturing Depth) = └(L × M)/P┘ = 25 Old Puncturing Pattern Used
[0110]
TABLE 10 REFERENCE) Reference Curve: 19.2 kbps, No Puncturing. No Repetition.
[0111] Referring to
[0112] TABLE 11 CASE (1) Data Rate 15 kbps (Pure info + CRC + Tail bit = 300 bit) L (Encoded size) = 600 M = 2, N (Channel Interleaver Size) = 768, P (Num of Puncturing) = L × M − N = 432 D (Puncturing Depth) = └(L × M)/P┘ = 2 Puncturing Pattern → Comparison Subject: 15 kbps signal (Same Puncturing Symbol Number) → Puncturing Pattern 15KBER_SEC, 15KFER_SEC: NEW Algorithm Type 1 Used if (k%3 = 2 ∥ k%36 = 0)(k = 0, 1, 2, . . . , 2399) Then Puncturing 15KBER_IS2000, 15KFER_IS2000: Old Puncturing Pattern Used
[0113]
TABLE 12 CASE (2) Data Rate 17.5 kbps (Pure info + CRC + Tail bit = 350 bit) L (Encoded size) = 700 M = 2, N (Channel Interleaver Size) = 768, P (Num of Puncturing) = L × M − N = 632 D (Puncturing Depth) = └(L × M)/P┘ = 2 Old Puncturing Pattern Used
[0114]
TABLE 13 CASE (3) Data Rate 10 kbps (Pure info + CRC + Tail bit = 200 bit) L (Encoded size) = 400 M = 2, N (Channel Interleaver Size) = 768, P (Num of Puncturing) = L × M − N = 32 D (Puncturing Depth) = └(L × M)/P┘ = 25 Old Puncturing Pattern Used
[0115] Referring to
[0116] What is important next is the 10 Kbps performance. In this case, the conventional FDRT algorithm almost approaches the average coding gain 2.83 dB shown in Table 7. Such results are obtained because the puncturing distance D for the case of 10 Kbps is set to an integer, so that the non-uniform puncturing due to the difference of LM/P−D does not occur in the process of determining the puncturing distance D. Therefore, this is a good example showing that the performance is linked directly with the prior condition that the difference of LM/P−D should be fully considered in the process of determining the puncturing distance D. Table 14 below shows the simulation environment for this performance.
TABLE 14 Data Rate 10 kbps (Pure info + CRC + Tail bit = 200 bit) L (Encoded size) = 800 M = 2, N (Channel Interleaver Size) = 1536, P (Num of Puncturing) = LM − N = 64 D (Puncturing Depth) = └LM/P┘ = 1600/64 = 25 = 25 Old Puncturing Pattern Used
[0117] As described above, the novel FDRT scheme according to the present invention matches a frame having coded symbols flexibly determined according to variation of a data rate to the interleaver size in the data communication system. The FDRT scheme uniformly distributes the puncturing pattern or repetition pattern within the frame by adjusting initial setting values, thereby making it possible to flexibly transmit data according to a data rate without performance degradation.
[0118] While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.