A method for matching a rate in a mobile communication system causes puncturing or repetition in a fixed pattern, in which puncturing or repetition is applied to each bitstream on transport channels supporting different services in a next generation mobile communication system of the W-CDMA (Wideband Code Division Multiple Access) system. The method comprises the steps of (1) subjecting a bitstream on a transport channel for use in supporting a particular service to channel coding, (2) determining an initial error offset value for use in avoiding all the puncturing only in a particular bitstream among one or more than one bitstreams produced by the channel coding, (3) periodically subtracting a decrement from the determined initial error offset value, for puncturing a bit at a relevant position when a result of the subtraction satisfies a puncturing condition, (4) adding an update error parameter determined as the maximum bit size among TF (transport format) transportable during one TTI (transport Time Interval) of the transport channel after the puncturing to a result of the subtraction, for updating an initial error offset value, and (5) periodically subtracting a decrement from the updated initial error offset value, for determining a position of a relevant bit to be punctured at the next time.
|
0. 49. An apparatus for a rate matching, the apparatus comprising:
a channel encoder for encoding a transport channel using a turbo coding which result in a systematic bit stream (X) and two parity bit streams (Y and Z); and
a rate matching block for performing the rate matching on the 2 parity bit streams by a unit of each bit of the 2 parity bit streams base on a current value of an error offset (e),
wherein an initial value of the error offset (e), a first update parameter corresponding to an amount of bits to be punctured or repeated on each of the 2 parity bit streams of the turbo encoded transport channel, and a second update parameter (Nup) for the turbo encoded transport channel are used by the rate matching block at the rate matching,
wherein the first update parameter has different values for each of the 2 parity bit streams, and
wherein the second update parameter corresponds to one thirds of maximum bit length among one or more transport formats in a transport format set available during one transmission time interval.
0. 41. A rate matching method comprising:
encoding, at a channel encoder, a transport channel using a turbo coding which result in a systematic bit stream (X) and two parity bit streams (Y and Z);
determining rate matching parameters to be used at the rate matching, the rate matching parameters including:
an initial value of error offset (e),
a first update parameter corresponding to an amount of bits to be punctured or repeated on each of the 2 parity bit streams of the turbo encoded transport channel, the first update parameter having different values for each of the 2 parity bit streams, and
a second update parameter (Nup) for the turbo encoded transport channel, the second update parameter corresponding to one thirds of maximum bit length among one or more transport formats in a transport format set available during one transmission time interval; and
performing, at a rate matching block, the rate matching on the 2 parity bit streams by a unit of each bit of the 2 parity bit streams base on a current value of the error offset (e).
0. 1. A method of performing rate matching in a communication system, comprising:
setting an initial offset value of a rate matching algorithm to ‘1’; and
performing one of puncturing and repetition according to the rate matching algorithm using the initial offset value, wherein the initial offset value sets an initial puncturing or repetition position for input bits.
0. 2. The method of
updating the initial error offset value to form and updated offset value;
performing one of puncturing and repetition according to the rate matching algorithm using the updated offset value.
0. 3. The method of
0. 4. The method of
0. 5. A method of performing rate matching in an uplink of a communication system, comprising:
setting an initial offset value of a rate matching algorithm for a radio frame to a prescribed value, the prescribed value being equal to a modulus of (a) a sum of ‘1’ plus a product of a shifting amount multiplied by a number of bits to be punctured, modulo (b) a number of bits in the radio frame; and
performing one of puncturing and repetition according to the rate matching algorithm using the initial offset value.
0. 6. The method of
0. 7. The method of
0. 8. The method of
0. 9. A device to match a rate in a mobile communication system, comprising:
a channel encoder, configured to output at least one bitstream; and
at least one rate matching block coupled to receive the at least one bit stream and adjust a transport code rate by one of puncturing and repetition according to a rate matching algorithm using an initial offset value of ‘1’, wherein the initial offset value sets an initial puncturing or repetition position.
0. 10. A method for matching a rate in a mobile communication system based on puncturing or repetition, the method comprising:
setting an initial offset value for input bits to be punctured or repeated;
updating the initial offset value by adding an update parameter, the update parameter being a maximum bit size among transport format transportable during one transport time interval in a transport format set; and
performing one of puncturing and repetition when the updated initial offset value is no greater than a prescribed value.
0. 11. The method of
0. 12. The method of
0. 13. The method of
0. 14. A method of rate matching comprising:
(a) convolutional encoding of input bits;
(b) rate matching the coded bits, wherein the rate matching step comprises:
(i) setting an initial value of a first parameter (e) for a rate matching algorithm, the initial value of the first parameter is used in the rate matching algorithm to decide a first bit position within the coded bits to be punctured or repeated and the initial value is a constant value equal to one;
(ii) performing puncturing or repetition of a coded bit based on the initial value.
0. 15. The method of
0. 16. The method of
0. 17. The method of
0. 18. The method of
0. 19. The method of
0. 20. The method of
0. 21. The method of
[(a*S(k))*|ΔN|+1] mod a*N, where a=2, S(k) is a first prescribed value, ΔN is a number of bits to be punctured or repeated and N is a second prescribed value.
0. 22. A method of rate matching comprising:
a) convolutional encoding of input bits;
b) rate matching by puncturing or repetition of a prescribed number of coded bits, wherein the rate matching step comprises:
i) setting a value of a parameter (e) to an initial value of one;
ii) updating a current value of the parameter (e) using a previous value of the parameter (e);
iii) performing puncturing or repetition of a coded bit at a corresponding bit index if the current value equals a predetermined value and updating the current value of the parameter (e), or otherwise, not performing puncturing or repetition of the coded bit; and
iv) repeating steps ii) and iii).
0. 23. The method of
0. 24. The method of
0. 25. The method of
0. 26. The method of
0. 27. The method of
0. 28. The method of
0. 29. The method of
0. 30. The method of
0. 31. A method of rate matching comprising:
outputting a plurality of coded bits by an encoder;
setting an initial value of a first parameter for a rate matching algorithm;
performing puncturing or repetition of a coded bit based on the first parameter using the rate matching algorithm; and
updating the first parameter based on a second parameter, wherein a value of the second parameter is a same value for every transport format of a transport format set in a transmission time interval.
0. 32. The method of
0. 33. The method of
0. 34. The method of
0. 35. The method of
0. 36. The method of
0. 37. The method of
0. 38. The method of
0. 39. The method of
0. 40. The method of
0. 42. The method of claim 41, wherein the performing the rate matching comprises:
updating the current value of error offset (e) by subtracting a multiple of the first update parameter from a previous value of the error offset (e) for a current bit of the 2 parity bit; and
when the updated current value of error offset (e) is below 0, then, puncturing the current bit and updating the current value of the error offset (e) by adding a multiple of the second update parameter to the current updated value of the error offset (e), otherwise, moving to a next bit of the 2 parity bit streams.
0. 43. The method of claim 42, wherein the multiple of the first update parameter corresponds to
‘a*first update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 44. The method of claim 42, wherein the multiple of the second update parameter corresponds to
‘a*second update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 45. The method of claim 41, wherein the performing the rate matching comprises:
updating the current value of error offset (e) by subtracting a multiple of the first update parameter from a previous value of the error offset (e) for a current bit of the 2 parity bit; and
when the updated current value of error offset (e) is below 0, then, repeating the current bit and updating the current value of the error offset (e) by adding a multiple of the second update parameter to the current updated value of the error offset (e), otherwise, moving to a next bit of the 2 parity bit streams.
0. 46. The method of claim 45, wherein the multiple of the first update parameter corresponds to
‘a*first update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 47. The method of claim 45, wherein the multiple of the second update parameter corresponds to
‘a*second update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 48. The method of claim 41, wherein the first update parameter corresponds to └ΔN/2┘ for a first parity bit stream of the two parity bit streams,
wherein the first update parameter corresponds to ┌ΔN/2┐ for a second parity bit stream of the two parity bit streams, and
wherein ΔN corresponds to an amount of bits to be punctured or repeated on both of the 2 parity bit streams.
0. 50. The apparatus of claim 49, wherein the rate matching block is adapted to:
update the current value of error offset (e) by subtracting a multiple of the first update parameter from a previous value of the error offset (e) for a current bit of the 2 parity bit; and
when the updated current value of error offset (e) is below 0, then, puncture the current bit and updating the current value of the error offset (e) by adding a multiple of the second update parameter to the current updated value of the error offset (e), otherwise, move to a next bit of the 2 parity bit streams.
0. 51. The apparatus of claim 50, wherein the multiple of the first update parameter corresponds to
‘a*first update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 52. The apparatus of claim 50, wherein the multiple of the second update parameter corresponds to
‘a*second update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 53. The apparatus of claim 49, wherein the rate matching block is adapted to:
update the current value of error offset (e) by subtracting a multiple of the first update parameter from a previous value of the error offset (e) for a current bit of the 2 parity bit; and
when the updated current value of error offset (e) is below 0, then, repeate the current bit and updating the current value of the error offset (e) by adding a multiple of the second update parameter to the current updated value of the error offset (e), otherwise, move to a next bit of the 2 parity bit streams.
0. 54. The apparatus of claim 53, wherein the multiple of the first update parameter corresponds to
‘a*first update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 55. The apparatus of claim 53, wherein the multiple of the second update parameter corresponds to
‘a*second update parameter’,
wherein different values of ‘a’ are used for the first parity bit stream and the second parity bit stream.
0. 56. The apparatus of claim 49, wherein the first update parameter corresponds to └ΔN/2┘ for a first parity bit stream of the two parity bit streams,
wherein the first update parameter corresponds to ┌ΔN/2┐ for a second parity bit stream of the two parity bit streams, and
wherein ΔN corresponds to an amount of bits to be punctured or repeated on both of the 2 parity bit streams.
|
On the other hand, in the fixed position rate matching, the initial error offset value eini is determined based on following equation (2).
In equations (1) and (2), the subscript i denotes an index representing a transport channel number, the subscript 1 denotes an index representing TF (Transport Format) available in one TTI (Transport Time Interval) in a TFS (Transport Format Set). In other word, in the case of fixed position rate matching, a maximum bit size among bits in the TFS representing TFs transportable during each TTI which denotes a bit transport period in each transport channel is determined as the eini.
Referring to
With regard to puncturing of a first bit (when m=1) among total 20 bits, since y=4, eini=20, and the update error value calculated according to “e=e−2*y” is 12, that does not satisfy the condition of “e≦0”, no puncturing occurs for the first bit. With regard to puncturing of a second bit (when m=2), since the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, such a result does not satisfy the condition of “e≦0”, and no puncturing occurs for the second bit.
Next, with regard to puncturing of a third bit (when m=3), since the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, that satisfies the condition of “e≦0”, a first puncturing occurs at the third bit. After the puncturing of the third bit, the error value is updated as e=36 according to “e=e+2*N”, and a loop is repeated for determining a next bit position to be punctured. A puncturing pattern (shaded bit positions) according to procedure is shown in
The next example is when the TTI bit size is changed to 5. Although the input bitstream size N has changed to N=5 for the rate matching, the initial error offset value eini is determined to be eini=20 according to equation (2) regardless of the TTI change. The procedure for application of the foregoing parameter values to current rate matching algorithm and puncturing four bits of the input bitstream (ΔN=−4) is as follows.
With regard to puncturing of a first bit (when m=1) among total 5 bits, since y=4, eini=20, and the update error value calculated according to “e=e−2*y” is 12, that can not satisfy the condition of “e≦0”, no puncturing occurs for the first bit. With regard to puncturing of a second bit (when m=2), since y=4, and the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit.
With regard to puncturing of a third bit (when m=3), since y=4, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit. After the puncturing of the third bit, the error value is updated as e=6 according to “e=e+2*N”, and a loop is continued for determining a bit position to be punctured at the next bit. In this specific instance, the puncturing occurs at the fourth bit, and the puncturing occurs at the fifth bit, as shown in the shaded bit position of
In the current rate matching algorithm based on parameters eini and ‘a’, the relevant bits are punctured (or repeated) when a result of a subtraction e=e−2*y satisfies a particular condition of e≦0, an error offset value is updated. Based on current procedure, there have been cases, as shown in
Such a problem causes puncturing (or repetition) concentrated on a portion of bits, failing to satisfying a uniform puncturing (or a uniform repetition) for the entire channel coded bitstreams X, Y, Z resulting in a deterioration of an overall code performance. If the initial error offset value in the aforementioned current rate matching algorithm is used when the channel encoder carries out 1/3 rate convolutional coding separately, there can be a worst case when the puncturing is occurred only in a particular bitstream (especially, Z bitstream) among the three bitstreams branched off from the convolutional coded output bitstream, resulting in a code performance deterioration.
As described above, even if an actual convolutional code is used, influences from respective output bitstreams to hamming weights for the bitstreams before coding are different. For example, if a length of input bitstream is fixed for a rate matching of 12, two bits are to be punctured in the input bitstream in the signaling determining procedure. With regard to puncturing of a first bit (when m=1) among total 12 bits, since y=2, eini=12, and the update error value calculated according to “e=e−2*y” is 8, which does not satisfy the condition of “e≦0”, no puncturing occurs at the first bit. With regard to puncturing of a second bit (when m=2), since y=2, and the update error value calculated according to “e=e−2*y” from e=8 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit. With regard to puncturing of a third bit (when m=3), since y=2, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is 0, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit.
Upon carrying out the foregoing procedure repeatedly for the entire input bitstream, a puncturing pattern as shown in
The above references are incorporated by reference herein where appropriate for appropriate teachings of additional or alternative details, features and/or technical background.
An object of the invention is to solve at least the above problems and/or disadvantages and to provide at least the advantages described hereinafter.
An object of the present invention is to provide a method for matching a rate in a mobile communication system, in which an initial error offset value used when a rate matching is carried out for a channel coded bitstream is fixed to a constant smaller than an input bitstream size, for elimination of the worst puncturing pattern for the 1/3 rate convolution code used in the W-CDMA system.
Other object of the present invention is to provide a method for matching a rate in a mobile communication system, in which a separate parameter that represent an updated error value is employed further when the puncturing (or repetition) is carried out while keep subtracting a decrement from a preset initial error offset value eini in the case of the fixed rate matching, for causing the puncture (or the repetition) occurred at fixed bit positions with uniform distance regardless of TTI bit size change.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, the method for matching a rate in a mobile communication system for causing puncturing or repetition in a fixed pattern includes the steps of (1) subjecting a bitstream on a transport channel for use in supporting a particular service to channel coding, (2) determining an initial error offset value for use in avoiding all the puncturing only in a particular bitstream among one or more than one bitstreams produced by the channel coding, (3) periodically subtracting a decrement from the determined initial error offset value, for puncturing a bit at a relevant position when a result of the subtraction satisfies a puncturing condition, (4) adding an update error parameter determined as the maximum bit size among TF (Transport Format) transportable during one TTI of the transport channel after the puncturing to a result of the subtraction, for updating an initial error offset value, and (5) periodically subtracting a decrement from the updated initial error offset value, for determining a position of a relevant bit to be punctured at the next time.
The initial error offset value is determined to be any one of constants equal to, or below an integer time of the maximum bit size among TFs transportable during one TTI of the transport channel. Particularly, the initial error offset value is determined to be ‘1’ fixedly or as the maximum bit size among the TFs transportable during the TTI of the transport channel.
The present invention can also be achieved in whole or in parts by a method for matching a rate in a mobile communication system based on puncturing or repetition, the method comprising the steps of (1) determining an initial error offset value for a plurality of bitstreams of different bit sizes to be punctured or repeated, (2) periodically updating the initial error offset value and performing one of puncturing and repetition when the updated initial error offset value is no greater than a prescribed value, (3) after puncturing or repetition, updating the updated initial error value based on a maximum bit size of said plurality of bitstreams, and (4) if applicable, repeating steps (2) and (3) for remaining bits of the bitstreams.
The present invention can also be achieved in whole or in parts by a method for matching a rate in a mobile communication system, for causing puncturing or repetition in a fixed pattern, the method comprising the steps of (1) determining a constant smaller than channel coded bitstream sizes as an initial error offset value, (2) updating the initial error offset value and performing one of puncturing and repetition when the offset value is equal to or below a prescribed value, and (3) if applicable, repeating step (2) such that the output bitstream produced by the channel coding has one of punctured and repeated bits at fixed intervals.
The present invention can also be achieved in whole or in parts by a method for matching rates in a mobile communication system, the method comprising the steps of subjecting a bitstream on a transport channel for use in a particular service to a prescribed coding, periodically subtracting a decrement from an initial error offset value determined to be no greater than a maximum bit size transportable during one transport time interval (TTI) of the transport channel, subjecting a relevant bit in the bitstreams produced by the prescribed coding to one of puncturing and repetition when a result of the subtraction becomes zero or below zero, and adding an update error parameter determined as the maximum bit size among transport format (TF) transportable during one TTI of the transport channel after the puncturing to a result of the subtraction which is zero or below zero for updating the initial error offset value.
The present invention can also be achieved in whole or in parts by a device for matching a rate in a mobile communication system comprising a channel encoder for subjecting a bitstream on a transport channel for use in supporting a particular service to channel coding, and at least one rate matching block for adjusting a transport code rate by using an initial error offset value and an update error parameter such that one of puncturing and repetition of only a particular bitstream from the channel encoder is avoided.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.
The invention will be described in detail with reference to the following drawings in which like reference numerals refer to like elements wherein:
The 1/3 rate convolutional code used in the 3GPP standard is obtained by using polynomials of “5578=1011011112”, “6638=1101100112”, and “7118=1110010012” at a channel encoder, where subscript “8” indicates an octal format and subscript “2” indicates a binary format. An output bitstream obtained by polynomial “5578=1011011112” is ‘X’, an output bitstream obtained by polynomial “6638=1101100112” is ‘Y’, and an output bitstream obtained by polynomial “7118=1110010012” is ‘Z’. When the channel encoder carries out a turbo coding, the systematic bit stream ‘X’ has a higher importance in comparison to the first parity bit stream ‘Y’ and the second parity bitstream ‘Z’. A rate matching algorithm for the convolution code makes a uniform puncturing (or uniform repetition) for a channel coded entire bitstream, which implies that all the output bitstreams have identical importance when the convolutional coding is carried out.
However, even if the channel encoder carries out a convolutional coding, influences from respective output bitstreams to hamming weights for the bitstreams before the coding are different. In conclusion, it is necessary to avoid the case when all the puncturing or repetition is imposed on a particular bitstream of a higher importance in the convolution coded output bitstreams, for enhancing the performance. Presently, it is preferable that the case when all the puncturing for the output bitstream ‘Z’ obtained from the polynomial “7118=1110010012” among the three convolutional coded output bitstreams be avoided.
As described above, there are situations when all the puncturing is occurred only in the output bitstream ‘Z’ obtained from the polynomial “7118=1110010012” if the existing initial error offset value eini is used, as shown in
The present invention uses a fixed initial error offset value eini of a parameter ‘e’ for determining a puncturing pattern (or a repetition pattern). In other words, instead of using an initial offset value eini according to equations (1) and (2), a constant value smaller than the input bitstream size is used. Specifically, the present invention sets a fixed initial error offset value. Both in the downlink fixed position rate matching or in the uplink flexible position rate matching, the value of ‘1’ is used as the initial error offset value eini. If the initial error offset value eini is set to be ‘1’, the worst puncturing pattern that imposes all the puncturing on the output bit stream “Z” can be naturally turned into the pattern that imposes all the puncturing on the output bit stream “X”. That is, the worst case can be easily avoided by using the initial offset value as ‘1’.
Accordingly, by setting the initial error offset value eini to ‘1’ in the current rate matching algorithm, a puncturing pattern of a better performance can be obtained, which occurs from the output bitstream ‘X’ from the polynomial “5578=1011011112” and the worst case puncturing pattern of
The present invention is applicable, not only to a downlink, but also to an uplink. Presently, an initial error offset value expressed as the following equation (3) is used in the uplink rate matching algorithm of the 3GPP standard.
eini=[(a*S(k))*|ΔN|+N] mod a*N (3)
However, if the above initial error offset value is applied to an existing rate matching algorithm, the worst situation may be occurred, as shown below as an example.
First, a case when the initial error offset value is calculated to be ‘0’ can be occurred, which is possible when N is an even number in equation (3). If eini=0 calculated in the signaling determining procedure to the uplink rate matching algorithm, either a desired amount of puncturing or a puncturing pattern with fixed intervals can not be obtained. Therefore, in addition to the initial error offset value by using equation (3), a ‘zero test’ procedure is also required. In other, in the related art uplink, after the initial error offset value eini is calculated according to equation (3), a ‘zero test’ is carried out according to the following equation (4) if the initial error offset value is determined to be ‘0’.
if (eini=0) eini=a*N (4)
Second, similar to the downlink, if the initial error offset value calculated according to the equation (3) is used in the case of the uplink, the worst case is unavoidable, where all the puncturing occurs in the ‘Z’ bitstream.
In comparison to the above cases, the preferred embodiment of the present invention can avoid the worst puncturing patten where the puncturing occurs only in the ‘Z’ bitstream, and avoids the additional operation of performing the ‘zero test’. If the initial error offset value of the present invention is applied to a uplink rate matching for the convolution code, the initial error offset value eini can be expressed as equation (5), below.
eini=[(a*S(k))*|ΔN|+1] mod a*N (5)
Next, the initial error offset value in accordance with the preferred embodiment of the present invention is introduced to a downlink fixed position rate matching as follows.
In a general rate matching, an initial error offset value eini is subtracted until “e≦0” condition is satisfied such that the puncturing (or repeating) is performed. After the puncturing (or repetition), a previous error value set is updated. The present invention can further employ an update parameter Nup representing an update error value for a fixed position rate matching pattern additionally, where a max operation, as shown in equation (6) is used in calculation of the update parameter Nup.
where the subscript ‘i’ denotes an index representing a transport channel number, and the subscript ‘1’ denotes an index representing a transport format one TTI may have in a TFS.
The various parameters used in the rate matching of the present invention can be summarized as follows.
N: an input bitstream size for a rate matching.
P: Puncturing rate or repetition rate.
ΔN: Total number of bits punctured (or repeated) at all RMB. (i.e., P*N).
Ni: an output bitstream size after the rate matching (i.e., =Ni+ΔN).
eini: an initial error offset value for calculating an initial puncturing bit position (or an initial repeating bit position).
Nup: an update parameter representing an update error value.
The foregoing parameters differ when the channel encoder carries out a convolutional coding from the case when the channel encoder carries out a turbo coding. The parameters used in the rate matching of the present invention is determined as follows when a convolutional coding is carried out.
ΔN=ΔNi,*TTI (7)
N=Ni,lTTI (8)
eini=1 (10)
The parameters used in the rate matching of the present invention when a turbo coding is carried out is as follows.
ΔN=└ΔNi,*TTI/2┘ [for, a first parity bitstream (Y)] (11)
ΔN=┌ΔNi,*TTI/2┐ [for, a second parity bitstream (Z)] (12)
N=Ni,lTTI/3 (13)
A value ‘a’ is used in the equation (15), because different values of ‘a’ can be used for the first and second parity sequences for turbo coding which is different from convolution coding. In this instance, in the rate matching following respective channel coding, a procedure for calculating ΔNi,*
First, a temporary parameter for intermediate calculation Ni,* is calculated for all transport channels according to the following equation (16).
In (16), Fi, represents the number of radio frames in the transmission time interval of transport channel i.
Next, the temporary parameter Ni,*, is used, and the following Z-Function is applied, for calculating a general puncturing (or repetition) bit size (ΔNi,*) which can be considered as a puncturing number over 10 ms radio frame. In the following, Z value represents an intermediate calculation variable for calculating the amount of puncturing or repetition for each transport channel.
Zo,j=0 (17)
ΔNij=Zij−Zi−1,j−Nij (19)
Where, i=1, - - - , I and represents total number of bits that are available for the multiplexed transport channel in a radio frames with transport combination j.
Finally, above ΔNi,* is applied to the following equation (20), to calculate ΔNi,*TTI for all transport channels and transport formats.
ΔNi,*TTI=Fi·ΔNi,* (20)
A rate matching algorithm of the present invention using the parameters fixed as the above will be described. Current uniform rate matching may be described as below, where ‘N’ denotes a channel coded input bitstream size, and Ni is a rate matched output bitstream size.
“if puncturing is to be performed,
y = −ΔN
; a number of bits to be punctured
e = eini
; initial error between current and desired puncturing ratio.
m =1
; index of current bit
do while m ≦ N
e = e − a*y; update error
if e ≦ 0 then; check if bit number m should be punctured
puncture bit m from set S0
e = e + a*Nup; update error
end if
m = m + 1
; index of next bit
end do
else
y = ΔN
; a number of bits to be repeated
e = eini
; initial error between current and desired repeating ratio
m = 1
; index of current bit
do while m ≦ N
e = e − a*y; update error
do while e ≦ 0; check if bit number m should be repeated
repeat bit m from set S0
e = e + a*Nup; update error
end do
m = m + 1; index of next bit
end do
end if”
In the rate matching of convolution code of the present invention, a parameter “a=2” is used fixedly in determining positions of code bits to be punctured (or repeated) and in the rate matching of turbo code, different values of ‘a’ may be used for the first parity sequence and the second parity sequence. The initial error offset value eini of the parameter ‘e’ for determining the puncturing pattern (or repetition pattern) is calculated in the parameter determining procedure.
An example of rate matching of the present invention will be described with reference to the attached drawings, where it is assumed that a TFS in a TTI has 5 bits, 10 bits, 15 bits, and 20 bits.
With regard to puncturing of a first bit (when m=1) among total 20 bits, since y=4, eini=1, and the update error value calculated according to “e=e−2*y” is −7, which satisfies the condition of “e≦0”, first puncturing occurs at the first bit. After the puncturing at the first bit, ‘e’ is updated to e=33 according to “e=e+2*Nup”, and a loop is continued for determining a next bit position to be punctured.
With regard to puncturing of the second bit (when m=2), since y=4, and the update error value calculated according to “e=e−2*y” from e=33 updated in the prior step is 25, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit. With regard to puncturing of successive third, fourth, and fifth bits (when m=3, 4, 5), since y=4, a decrement (−8) is subtracted repeatedly from the updated e=25, and the update error value calculated according to “e=e−2*y” does not satisfy the condition of “e≦0”, no puncturing is occurred at the third, fourth and fifth bits.
With regard to puncturing of a sixth bit (when m=6), since y=4, and the updated error value calculated according to “e=e−2*y” from the e=1 updated in the prior step is −7, which satisfies “e≦0”, a second puncturing occurs at the sixth bit. Again, in this instance, the ‘e’ is updated to e=33 according to “e=e+2*Nup” after the sixth bit puncturing, and the loop is continued for determining a bit position to be punctured at the next time. A first puncturing occurs at the first bit, and the puncturing occurs thereafter at every fifth bit as a puncturing interval.
With regard to puncturing of a first bit (when m=1) among total 5 bits, since y=4, e=1, and the update error value calculated according to “e=e−2*y” is −7, which satisfies the condition of “e≦0”, first puncturing occurs at the first bit. After the puncturing at the first bit, ‘e’ is updated to e=33 according to “e=e+2*Nup”, and a loop is continued for determining a bit position to be punctured at the next time.
With regard to puncturing of the second bit (when m=2), since y=4, and the update error value calculated according to “e=e−2*y” from e=33 updated in the prior step is 25, which does not satisfy the condition of “e≦0”, no puncturing occurs at the second bit. With regard to puncturing of successive third, fourth, and fifth bits (when m=3, 4, 5), since y=4, a decrement (−8) is subtracted repeatedly from the updated e=25, and the update error value calculated according to “e=e−2*y” can not satisfy the condition of “e≦0”, no puncturing occurs at the third, fourth and fifth bits.
As illustrated from the examples of
Different examples of the fixed position rate matching are illustrated in
With regard to puncturing of a first bit (when m=1) among total 20 bits, since y=4, eini=20, and the update error value calculated according to “e=e−2*y” is 12, which does not satisfy the condition of “e≦0”, no puncturing occurs at the first bit. With regard to puncturing of a second bit (when m=2), since the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs for the second bit. With regard to puncturing of a third bit (when m=3), since y=4, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit.
After the puncturing of the third bit, the error value is updated as e=36 according to “e=e+2*Nup”, and a loop is continued for determining a next bit position to be punctured. With regard to puncturing of a fourth bit (when m=4), since y=4, and the update error value calculated according to “e=e−2*y” from e=36 updated in the prior step is 28, that can not satisfy the condition of “e≦0”, no puncturing occurs at the fourth bit.
With regard to puncturing of successive fifth, sixth, and seventh bits (when m=5, 6, 7), since y=4, a decrement (−8) is subtracted repeatedly from the e=28 updated in the prior step, and the update error value calculated according to “e=e−2*y” can not satisfy the condition of “e≦0”, no puncturing occurs at the fifth, sixth, and seventh bits.
With regard to puncturing of an eighth bit (when m=8), since y=4, and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, which satisfies the condition of “e≦0”, a second puncturing occurs at the eighth bit. Again, after the puncturing of the eighth bit, the error value is updated as e=36 according to “e=e+2*Nup”, and a loop is continued for determining a next bit position to be punctured. In conclusion, the first puncturing is occurred at the third bit, and a puncturing is occurred at every 5th bit as a puncturing interval, as shown in
With regard to puncturing of a first bit (when m=1) among total of 5 bits, since y=4, e=20, and the update error value calculated according to “e=e−2*y” is 12, which does not satisfy the condition of “e≦0”, no puncturing occurs at the first bit. With regard to puncturing of the second bit (when m=2), since y=4, and the update error value calculated according to “e=e−2*y” from e=12 updated in the prior step is 4, which does not satisfy the condition of “e≦0”, no puncturing occurs at the second bit. With regard to puncturing of the third bit (when m=3), since y=4 and the update error value calculated according to “e=e−2*y” from e=4 updated in the prior step is −4, which satisfies the condition of “e≦0”, a first puncturing occurs at the third bit.
After the puncturing of the third bit, the error offset value ‘e’ is updated to e=36 according to “e=e+2*Nup”, and a loop is continued for determining a next bit position to be punctured. With regard to puncturing of successive fourth, and fifth bits (when m=4, 5), since y=4, a decrement (−8) is subtracted repeatedly from the e=36 updated in the prior step, and the update error value calculated according to “e=e−2*y” can not satisfy the condition of “e≦0”, no puncturing occurs at the fourth and fifth bits, eventually.
As illustrated from the examples of
As has been described, by using a value suggested in the present invention as the initial error offset value eini of the rate matching algorithm, the method for matching a rate of the present invention can avoid a case when all puncturing is occurred in an output bitstream ‘Z’ obtained by “7118=1110010012” polynomial among the three bitstreams branched off from an 1/3 convolutional coded output bitstream at the channel encoder.
Further because the puncturing (or repetition) occurs at uniform and fixed positions for entire convolutional coded bitstream X, Y, Z regardless of a size change of bitstreams transportable during one TTI according to a TF change in a fixed position rate matching, the method for matching a rate, not only improves overall decoding performance, but also supports a blind rate detection in which a reception bit rate is effectively determined.
The foregoing embodiments and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. The description of the present invention is intended to be illustrative, and not to limit the scope of the claims. Many alternatives, modifications, and variations will be apparent to those skilled in the art. In the claims, means-plus-function clauses are intended to cover the structures described herein as performing the recited function and not only structural equivalents but also equivalent structures.
Kim, Ki Jun, Lee, Young Jo, Yun, Young Woo, Kwon, Sung Lark, Hong, Sung Kwon
Patent | Priority | Assignee | Title |
9203444, | Oct 07 2010 | FUJITSI LIMITED | Rate adjustment apparatus and a rate adjustment method |
Patent | Priority | Assignee | Title |
5710792, | Dec 15 1993 | NTT Mobile Communications Network, Inc. | Adaptive equalizer |
5970085, | Aug 11 1997 | JPMorgan Chase Bank | Method and receiver for coded satellite digital audio broadcasting |
6222828, | Oct 30 1996 | Northrop Grumman Systems Corporation | Orthogonal code division multiple access waveform format for use in satellite based cellular telecommunications |
6397367, | Jun 05 1998 | Samsung Electronics, Co., Ltd.; SAMSUNG ELECTRONICS CO , LTD | Device and methods for channel coding and rate matching in a communication system |
6622277, | Jun 05 2000 | SubCom, LLC | Concatenated forward error correction decoder |
6671851, | Jul 10 1998 | KONINKLIJKE PHILIPS N V | Coding device and communication system using the same |
20050246610, | |||
JP1997018449, | |||
KR1019970031517, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 19 2007 | KIM, KI JUN | LG Information & Communications, Ltd | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 025481 | /0103 | |
Jul 21 2010 | LG Electronics Inc. | (assignment on the face of the patent) | / | |||
Feb 10 2020 | LG Electronics Inc | 3G LICENSING S A | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052192 | /0667 |
Date | Maintenance Fee Events |
Nov 20 2012 | ASPN: Payor Number Assigned. |
Dec 30 2013 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Dec 11 2017 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Aug 28 2015 | 4 years fee payment window open |
Feb 28 2016 | 6 months grace period start (w surcharge) |
Aug 28 2016 | patent expiry (for year 4) |
Aug 28 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 28 2019 | 8 years fee payment window open |
Feb 28 2020 | 6 months grace period start (w surcharge) |
Aug 28 2020 | patent expiry (for year 8) |
Aug 28 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 28 2023 | 12 years fee payment window open |
Feb 28 2024 | 6 months grace period start (w surcharge) |
Aug 28 2024 | patent expiry (for year 12) |
Aug 28 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |