Apparatus and method for transmitting and receiving data in communication system
11552733 · 2023-01-10
Assignee
Inventors
- Hong-Sil Jeong (Seoul, KR)
- Sung-Ryul Yun (Gyeonggi-do, KR)
- Hyun-Koo Yang (Seoul, KR)
- Se-Ho Myung (Gyeonggi-do, KR)
- Alain Mourad (Middlesex, GB)
- Ismael Gutierrez (Richmond, GB)
Cpc classification
H03M13/1165
ELECTRICITY
International classification
H04L1/00
ELECTRICITY
H03M13/35
ELECTRICITY
H03M13/00
ELECTRICITY
Abstract
Apparatuses for transmitting and receiving a signal in a communication system are provided. An apparatus of a receive device includes a receiver configured to receive, from a transmit device, a signal comprising remaining bits of parity bits after puncturing, wherein the parity bits are obtained by adding at least one shortened bit to information bits to obtain input bits for an encoding, if a number of the information bits is less than a number of the input bits for the encoding; and a hardware processor configured to determine a number of puncture bits for the parity bits, generate an output signal by adding at least one value corresponding to the number of the puncture bits to the signal, and decode the output signal.
Claims
1. An apparatus of a receive device, the apparatus comprising: a receiver configured to receive, from a transmit device, a signal comprising data corresponding to information bits and remaining parity bits of parity bits, the remaining parity bits are remained from among parity bits after puncturing, wherein the parity bits are obtained by.sup., encoding input bits, the input bits for the encoding being added at least one shortened bit to the information bits, if a number of the information bits is less than a number of the input bits for the encoding; and a hardware processor configured to: determine a number of puncture bits for the parity bits, generate output values by inserting at least one value corresponding to the number of the puncture bits to values corresponding to the data, and decode the output values, wherein the number of puncture bits is determined by adjusting a number of temporary puncture bits based on a modulation order of the signal, wherein the number of temporary puncture bits is determined by using a first parameter and a second parameter, wherein the first parameter and the second parameter are determined based on a type of the signal, the type of the signal corresponding to a protection level of the signal, wherein the first parameter is related to a ratio of a number of bits to be punctured to a number of bits to be shortened, and is multiplied by a number of the at least one bit shortened to generate a multiplication result, and wherein the second parameter is related to an integer that is added to the multiplication result to determine the number of temporary puncture bits.
2. The apparatus of claim 1, wherein the type of the signal indicates whether the signal is generated based on additional parity bits, and wherein a number of the additional parity bits is determined based on the number of puncture bits for the parity bits.
3. The apparatus of claim 1, wherein the type of the signal comprises at least one of L1-pre, L1-config, L1-dyn, and a transmission location of parity bits of a transmitted information word.
4. The apparatus of claim 1, wherein the first parameter and the second parameter satisfy a value of intersection point of a frame error rate (FER) performance required by a communication system, and wherein the intersection point is a point which satisfies no performance difference between a bit error rate (BER) performance and the FER performance.
5. The apparatus of claim 1, wherein the number of puncture bits is determined based on:
N.sub.punc=└A×(K.sub.LDPC−K.sub.sig)+B┘ wherein N.sub.punc denotes the number of the puncture bits, A denotes the first parameter, K.sub.LDPC denotes an information word length of a low density parity check (LDPC) code, K.sub.sig denotes a number of bits of an information word after a shortening of at least one bit for the LDPC code, and B denotes the second parameter.
6. An apparatus of a transmit device, the apparatus comprising: a transmitter configured to transmit, to a receive device, by a transmitter, a signal comprising data corresponding to information bits and remaining parity bits, the remaining parity bits are remained from among parity bits after puncturing, wherein the parity bits are obtained by encoding input bits, the input bits for the encoding being added at least one shortened bit to the information bits, if a number of the information bits is less than a number of the input bits for the encoding, wherein a number of puncture bits is determined by adjusting a number of temporary puncture bits based on a modulation order of the signal, wherein the number of the temporary puncture bits is determined by using a first parameter and a second parameter, wherein the first parameter and the second parameter are determined based on a type of the signal, the type of the signal corresponding to a protection level of the signal, wherein the first parameter is related to a ratio of a number of bits to be punctured to a number of bits to be shortened, and is multiplied by a number of the at least one shortened bit to generate a multiplication result, and wherein the second parameter is related to an integer that is added to the multiplication result to determine the number of the temporary puncture bits.
7. The apparatus of claim 6, wherein the type of the signal indicates whether the signal is generated based on additional parity bits, and wherein a number of the additional parity bits is determined based on the number of puncture bits for the parity bits.
8. The apparatus of claim 6, wherein the type of the signal comprises at least one of L1-pre, L1-config, L1-dyn, and a transmission location of parity bits of a transmitted information word.
9. The apparatus of claim 6, wherein the first parameter and the second parameter satisfy a value of intersection point of a frame error rate (FER) performance required by a communication system, and wherein the intersection point is a point which satisfies no performance difference between a bit error rate (BER) performance and the FER performance.
10. The apparatus of claim 6, wherein the number of puncture bits is determined based on:
N.sub.punc=└A×(K.sub.LDPC−K.sub.sig)+B┘ wherein N.sub.punc denotes the number of the puncture bits, A denotes the first parameter, K.sub.LDPC denotes an information word length of a low density parity check (LDPC) code, K.sub.sig denotes a number of bits of an information word after a shortening of at least one bit for the LDPC code, and B denotes the second parameter.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The above and other aspects, features, and advantages of certain embodiments of the present invention will be more apparent from the following description taken in conjunction with the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15) Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE PRESENT INVENTION
(16) The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of embodiments of the invention as defined by the claims and their equivalents. It includes various details to assist in that understanding but these should be regarded as examples. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Additionally, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
(17) The terms and words used in the following description and claims are not limited to the dictionary meanings, but are merely used by the inventor(s) to enable a clear and consistent understanding of the invention. Accordingly, it should be apparent to those skilled in the art that the following description of embodiments of the present invention is provided for illustrative purposes only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
(18) It is to be understood that the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise.
(19) The term “substantially” means that the recited characteristic, parameter, or value need not be exact, but that deviations or variations, including for example, tolerances, measurement error, measurement accuracy limitations and other factors known to those of skill in the art, may occur in amounts that do not preclude the effect the characteristic was intended to provide.
(20) Embodiments of the present invention provide a technique for controlling a code rate based on data transmission and reception in a communication system.
(21) Hereinafter, descriptions are based on Digital Video Broadcasting (DVB)-the 2nd Generation Terrestrial (T2) system and DVB-Next Generation Handheld (NGH) system, which are European DVB standards. However, the code rate can also be controlled in other systems.
(22) While it is assumed that the code rate is controlled according to transmission of signaling information, the code rate can also be controlled when other information is transmitted.
(23) In a transmitter of a broadcasting communication system, the signaling information of an information word input to an encoder is of a variable length. The transmitter can shorten the information word input into the encoder or puncture the codeword output from the encoder. For example, when the information word including K.sub.sig-ary bits is input to the encoder and K.sub.LDPC−K.sub.sig bits are shortened, the number of the punctured bits for the shortened bits can be determined based on Equations (1), (2), (3) and (4), as shown below It is assumed that the encoder employs a concatenated coding scheme of a Bose, Chaudhuri, Hocquenghem (BCH) and Low Density Parity Check (LDPC) encoder.
(24) When an LDPC code and a BCH code are concatenated and the information word length of the BCH code is K.sub.bch, the number of the shortened bits is K.sub.bch−K.sub.sig and, thus, the number of punctured bits can be determined based on Equation (1).
N.sub.punc=└A×(K.sub.bch−K.sub.sig)−B┘ where 0≤B (1)
(25) In Equation (1), N.sub.punc denotes the number of the punctured bits, A denotes a ratio of the punctured bits to the shortened bits, K.sub.bch denotes the information word length of the BCH code, K.sub.sig denotes the number of bits of the information word input to the encoder after shortening, and B denotes a correction factor.
(26) Meanwhile, when the LDPC code and the BCH code are not concatenated, the number of the shortened bits is K.sub.LDPC−K.sub.sig and accordingly the number of the punctured bits can be determined based on Equation (2).
N.sub.punc=└A×(K.sub.LDPC−K.sub.sig)−B┘ where 0≤B (2)
(27) In Equation (2), N.sub.punc denotes the number of punctured bits, A denotes the ratio of punctured bits to the shortened bits, K.sub.LDPC denotes the information word length of the LDPC code, K.sub.sig denotes the number of bits of the information word input to the encoder after shortening, and B denotes the correction factor.
(28) When the number of the punctured bits is determined based on Equation (1) or Equation (2), the transmitter can encode data at a lower code rate than the code rate of non-shortening and puncturing.
(29) For example, when the LDPC code and the BCH code are concatenated, the number of shortened bits is K.sub.bch−K.sub.sig and accordingly the number of punctured bits can be determined based on Equation (3).
N.sub.punc=└A×(K.sub.bch−K.sub.sig)+B┘ where 0≤B<N.sub.parity−A(K.sub.bch−K.sub.sig_min) (3)
(30) In Equation (3), N.sub.punc denotes the number of punctured bits, A denotes the ratio of punctured bits to shortened bits, K.sub.bch denotes the information word length of the BCH code, K.sub.sig denotes the number of bits of the information word input to the encoder after shortening, B denotes the correction factor, and K.sub.sig_min denotes the number of bits of the smallest information word among the information words input to the encoder after shortening.
(31) When the LDPC code and the BCH code are not concatenated, the number of the shortened bits is K.sub.LDPC−K.sub.sig and, accordingly, the number of the punctured bits can be determined based on Equation (4).
N.sub.punc=└A×(K.sub.LDPC−K.sub.sig)+B┘ where 0≤B<N.sub.parity−A(K.sub.LDPC−K.sub.sig_min) (4)
(32) In Equation (4), N.sub.punc denotes the number of punctured bits, A denotes the ratio of punctured bits to the shortened bits, K.sub.LDPC denotes the information word length of the LDPC code, K.sub.sig denotes the number of bits of the information word input to the encoder after shortening, B denotes the correction factor, and K.sub.sig_min denotes the number of bits of the smallest information word among the information words input to the encoder after shortening.
(33) The punctured bits N.sub.punc fall below the parity bits N.sub.parity only when the condition of B<N.sub.parity−A(K.sub.LDPC−K.sub.sig_min) in Equations (3) and (4) is satisfied.
(34) In Equations (1), (2), (3) and (4), the number of the punctured bits can be adjusted according to A and B. That is, A and B vary the code rate as shown in
(35)
(36) In
(37) As shown in
(38)
(39) In
(40) As shown in
(41) As stated above, the code rate of the actual transmission and the performance of the transmitted code vary according to A and B. Particularly, there are multiple point of intersections where there is no difference in Bit Error Rate (BER)/Frame Error Rate (FER) performance according to A and B. For example, when A is greater, a relatively high code rate is used for the short-length input bits and the point of intersection occurs at a higher area, as shown in
(42)
(43) When A is 15/4 in
(44) For example, when A is small, the code rate is relatively low for the short input bits and the point of intersection generates in a low area as shown in
(45)
(46) When A is 11/3 in
(47) As such, the code rate varies according to the number of puncture bits determined by A and B, and the point of intersection of the BER/FER differs based on the variation of the code rate.
(48) The transmitter can adaptively select A and B to satisfy the requirement of the signaling as shown in
(49)
(50) In step 501, the transmitter checks the signaling type for the transmission. For example, referring to the Digital Video Broadcasting (DVB) standard such as the DVB-T2 standard (ETSI EN 302 755), physical (L1) signaling information is delivered through L1-pre, L1-config and L1-dyn. In the DVB-T2 standard, the L1-pre signaling includes basic information to decode, L1-config signaling includes parameters that remain the same for some duration, and L1-dyn signaling includes parameters that are changeable frequently. The transmitter determines which of L1-pre, L1-config, and L1-dyn is the type of the signaling to transmit.
(51) In step 503, the transmitter checks the required FER based on the signaling type. For example, when the signaling type is L1-pre, the transmitter checks the performance required by the receiver to decode the signal of L1-pre received from the transmitter.
(52) In step 505, the transmitter selects a variable for satisfying the point of intersection of the required FER confirmed in step 503. Herein, the variable includes A and B used to determine the number of puncture bits in Equation (1), (2), (3) and (4).
(53) In step 507, the transmitter checks the number of bits to puncture using the selected variable. For example, the transmitter determines the number of bits to puncture by applying the selected A and B to Equation (1) or (2).
(54) In step 509, the transmitter punctures the parity bit according to the number of bits confirmed in step 507. Next, the transmitter finishes this process.
(55)
(56) When the transmitter sends the information in the (i+1)-th frame as shown in
(57) The receiver decodes the information word and the first parity bits received in the (i+1)-th frame. When failing to decode the information word and the first parity bits received in the (i+1)-th frame, the receiver decodes them using the second parity bits received in the i-th frame as well. For example, when failing to decode the information word and the first parity bits received in the (i+1)-th frame, the receiver recognizes the signaling decoding failure. Hence, the receiver stores the second parity bits of the (i+1)-th frame and then receives the (i+2)-th frame.
(58) As such, when the receiver decodes the information word, the FER performance required to decode the information word and the first parity bits can differ from the FER performance required to decode the information word and the first parity together with the second parity. Thus, the transmitter can use different A and B of the first parity bits and the second parity bits as shown in
(59)
(60) In step 701, the transmitter checks the signaling type for the transmission. For example, the transmitter checks the first parity bits of the corresponding information word and the second parity bits, as shown in
(61) In step 703, the transmitter determines whether the checked signaling is the first parity bits.
(62) When the signaling is the first parity bits, the transmitter checks the required FER of the first parity bits in step 705. For example, the transmitter checks the required FER performance when the receiver decodes the information word and the first parity received from the transmitter.
(63) In step 707, the transmitter selects the variable for satisfying the point of intersection of the required FER confirmed in step 705. The variable includes A and B used to determine the number of bits to puncture in Equation (1) and (2).
(64) In step 709, the transmitter checks the number of bits to puncture using the selected variable. For example, the transmitter determines the bits to puncture as shown in
(65) In step 711, the transmitter sends the parity bits. When there are the bits to puncture in step 709, the transmitter punctures and transmits the parity based on the bits to puncture checked in step 709.
(66) When the signaling is the second parity bits in step 703, the transmitter checks the required FER of the second parity bits in step 713. For example, the transmitter checks the required FER performance when the receiver decodes the information word and the first parity bits together with the second parity bits received from the transmitter.
(67) In step 715, the transmitter selects the variable for satisfying the point of intersection of the required FER. Herein, the variable includes A and B used to determine the number of bits to puncture in Equation (1), (2), (3) and (4).
(68) In step 717, the transmitter checks the number of bits to puncture using the selected variable. For example, the transmitter determines the bits to puncture as shown in
(69) In step 719, the transmitter checks the number of the additional parity bits. For example, the transmitter determines the length of the second parity bits added to the previous frame of the frame including the information word as shown in
(70) In step 711, the transmitter sends the parity bits. When there are the bits to puncture in step 717, the transmitter punctures and transmits the parity bits based on the bits to puncture checked in step 717. Next, the transmitter finishes this process.
(71)
(72) Upon checking the number of bits to puncture in the first parity bits, the transmitter determines the number of temporary puncture bits in step 801. For example, the transmitter determines the temporary puncture bits N.sub.punc_temp by applying A and B checked in step 707 of
(73) In step 803, the transmitter determines a temporary N.sub.post(N.sub.post_temp) using the temporary puncture bits. For example, the transmitter determines the temporary N.sub.post(N.sub.post_temp) based on Equation (5) as shown in
N.sub.post_temp=K.sub.sig+N.sub.bch_parity+N.sub.LDPC×(1−R.sub.eff_LDPC)−N.sub.punc_temp (5)
(74) In Equation (5), N.sub.post_temp denotes the temporary N.sub.post, K.sub.sig denotes the number of bits of the information word input to the encoder, N.sub.bch_parity denotes the parity bit of the BCH code when the BCH code is used, N.sub.LDPC denotes the number of codeword bits of the LDPC code, R.sub.eff_LDPC denotes the code rate without the puncture and the shortening, and N.sub.punc_temp denotes the number of temporary puncture bits. That is, N.sub.LDPC×(1−R.sub.eff_LDPC)−N.sub.punc_temp represents the number of parity bits prior to the puncturing. When the BCH code is not used, the transmitter sets N.sub.bch_parity of Equation (5) to zero.
(75) In step 805, the transmitter determines N.sub.post using the temporary N.sub.post. The transmitter needs to correct the temporary N.sub.post in the case in which the number of the transmitted bits is limited. For example, according to 16 Quadrature Amplitude Modulation (16-QAM), the number of the transmitted bits should be twice the number of bits η.sub.MOD of a modulation signal. Accordingly, the transmitter determines the bits N.sub.post actually transmitted based on Equation (6) as shown in
(76)
(77) In Equation (6), N.sub.post denotes the number of bits actually transmitted bits, η.sub.MOD denotes a modulation order, and N.sub.post_temp denotes the temporary N.sub.post. The modulation order includes 1, 2, 4 and 6 for representing Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), 16-QAM, and 64-QAM.
(78) In step 807, the transmitter determines the number of bits to puncture in the first parity bits using the temporary puncture bits, N.sub.post, and the temporary N.sub.post. For example, the transmitter determines the number of bits to puncture in the first parity bits based on Equation (7).
N.sub.punc=N.sub.punc_temp−(N.sub.post−N.sub.post_temp) (7)
(79) In Equation (7), N.sub.punc denotes the number of bits to puncture in the first parity bits, N.sub.punc_temp denotes the number of temporary puncture bits, N.sub.post denotes the bits actually transmitted, and N.sub.post_temp denotes the temporary N.sub.post. Next, the transmitter finishes this process.
(80)
(81) Upon confirming the number of bits to puncture in the second parity bits, the transmitter determines the number of temporary puncture bits in step 901. For example, the transmitter determines the number of temporary puncture bits N.sub.punc_temp by applying A and B confirmed in step 715 of
(82) In step 903, the transmitter determines the temporary N.sub.post(N.sub.post_temp) using the number of temporary puncture bits. For example, the transmitter determines the temporary N.sub.post(N.sub.post_temp) based on Equation (8).
N.sub.post_temp=N.sub.punc−N.sub.punc_temp_add (8)
(83) In Equation (8), N.sub.post_temp denotes the temporary N.sub.post, N.sub.punc denotes the number of puncture bits of the first parity bits, and N.sub.post_temp_add denotes the number of temporary puncture bits of the second parity bits.
(84) In step 905, the transmitter determines N.sub.post using the temporary N.sub.post. Herein, the transmitter determines N.sub.post based on Equation (6). In step 907, the transmitter determines the number of bits to puncture in the second parity bits using the number of temporary puncture bits, N.sub.post, and the temporary N.sub.post. For example, the transmitter determines the number of bits to puncture in the second parity bits based on Equation (7).
(85) In step 909, the transmitter determines the number of bits of the second parity bits. For example, the transmitter determines the number of bits of the second parity bits based on Equation (9).
N.sub.add_parity=N.sub.punc−N.sub.punc_add_parity (9)
(86) In Equation (9), N.sub.add_parity denotes the number of bits of the second parity bits, N.sub.punc denotes the number of puncture bits of the first parity bits, and N.sub.punc_add_parity denotes the number of temporary puncture bits of the second parity bits. Next, the transmitter finishes this process.
(87) A method of receiving a signal from a transmitter in which the signal is shortened and punctured will now be described.
(88)
(89) Referring
(90) Next, in step 1003, the receiver demodulates the signal considering the modulation scheme of the transmitter. For example, the receiver determines the probability that each bit of the received signal is a 1 at the transmitter (probability 1) and probability that each bit of the received signal is a 0 at the transmitter (probability 2). Thereafter, the receiver determines a Log Likelihood Ratio (LLR), which is a ratio between probability 1 and probability 2.
(91) Next, in step 1005, the received determines the number of bits in the signal which is punctured at the transmitter prior to transmission. For example, the receiver may determine the number of bits that are punctured at the transmitter according to the signaling type as shown in
(92) After determining the number of bits that are punctured at the transmitter, the receiver, in step 1007, adds the number of bits that are punctured at the transmitter to the demodulated signal. The number of shortened bits may also be added. For example, the receiver adds “0” which is the number of bits that are shortened and punctured at the transmitter to the signal demodulated in step 1003.
(93) In step 1009, the receiver decodes the signal to which the number of bits that are shortened and punctured is added. And by decoding, the receiver determines the information word in the received signal from the transmitter.
(94) As stated above, the receiver determines the number bits that are punctured at the transmitter after demodulation of the received signal.
(95) Moreover, the receiver may determine the number bits that are punctured at the transmitter and then may demodulate the received signal. A structure of the transmitter for adjusting the shortening/puncturing ratio according to the required performance of the system will now be explained.
(96)
(97) As shown in
(98) The encoder 1101 outputs the coded bits generated by encoding the information bits to transmit. For example, when the encoder 1101 is the BCH/LDPC encoder, the encoder 1101 BCH-encodes the K.sub.bch-ary information bits and, thus, generates the BCH codeword including the K.sub.LDPC-ary bits. The encoder 1001 then generates and outputs the LDPC codeword including the N.sub.LDPC-ary bits by LDPC-encoding the BCH codeword.
(99) The puncturer 1103 punctures the codeword output from the encoder 1101 according to a puncture pattern and the number of puncture bits provided from the puncture controller 1105.
(100) The puncture controller 1105 determines the number of puncture bits according to the required performance of the system. For example, the puncture controller 1105 determines A and B in order to satisfy the required performance of the system based on the type of signaling to transmit from the transmitter as shown in
(101) The modulator 1107 modulates and outputs the signal fed from the puncturer 1103 according to the corresponding modulation scheme.
(102) The RF processor 1109 converts the modulated signal output from the modulator 1107 to an RF signal and sends the RF signal over an antenna.
(103) As set forth above, the shortening/puncturing ratio is selected adaptively according to the channel state condition required in the communication system. Thus, the system stability is sustained irrespective of the length of the information word.
(104) Additionally, the diversity gain for the signaling information can be achieved by selectively determining the amount of parity bits transmitted over the different frame in the communication system.
(105) A receiver for receiving a signal from a transmitter in which the signal is shortened and punctured will now be described.
(106)
(107) Referring to
(108) The RF processor (1201) converts a high frequency signal received via an antenna (not shown) to a base band signal and provides the base band signal to the demodulator (1203).
(109) The demodulator (1203) demodulates the signal from the RF processor (1201) according to the corresponding modulation scheme. For example, the demodulator determines the probability that each bit of the received signal is a 1 at the modulator (1107) of the transmitter (probability 3) and probability that each bit of the received signal is a 0 at the modulator (1107) of the transmitter (probability 4). The demodulator then determines the LLR, which is a ratio between the probability 3 and the probability 4.
(110) The puncturing processor (1205) adds the number of bits that are punctured provided from the puncturing controller (1209) to the demodulated signal from the demodulator (1203). The number of shortened bits may also be added. For example, the puncturing processor (1205) adds “0” which is the number of bits that are shortened and punctured to the signal demodulated by the demodulator (1203).
(111) The puncturing controller (1209) determines the number of bits in the received signal that are punctured at the transmitter. For example, the puncturing controller (1209) may be an A value and a B value which are satisfactory for the performance of a communication system according to the signaling type as shown in
(112) The decoder (1207) decodes a signal from the puncturing processor (1205) and outputs an information word bit. For example, if BCH/LDPC code is used, the decoder (1207) decodes received LLR values in the number of N.sub.LDPC and restores bits in the number of N.sub.LDPC and outputs information words in the number of K.sub.BCH via BCH decoding.
(113)
(114) While the invention has been shown and described with reference to certain embodiments 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 and their equivalents.