Length determination method of LDPC code word in UWB system and related device
By determining the LDPC codeword length based on the bit length of the information to be encoded in the UWB system, the problem of how to determine the LDPC codeword length in the UWB system is solved, and better error control performance and code rate efficiency are achieved.
Patent Information
- Application Number
- CN202411983526.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-31
- Filing Date
- 2022-11-22
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-11-22
AI Technical Summary
In UWB systems, how the length of the LDPC codeword is determined to improve error control performance and reduce bit rate loss, especially with different bit lengths of information to be encoded.
The length of the information bit to be encoded is obtained by the communication device, and the length of the LDPC codeword is determined based on the length. The specific method includes: if the length of the information bit to be encoded is within some preset range, it is determined that the length of the LDPC codeword is 648 bits, 1296 bits, or 1944 bits. The determination of this length is based on a preset code rate threshold, ensuring optimized error control performance and bit rate efficiency at different packet lengths.
The optimization determination of LDPC codeword length in UWB system is realized, which improves error control performance and reduces code rate loss, especially when processing short and long packets.
Smart Images

Figure CN119921899A_ABST
Abstract
Description
[0001] This application is a divisional application. The application number of the original application is 202211467840.X, and the original application date is November 22, 2022. The entire contents of the original application are incorporated into this application by reference. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a method for determining the length of a low-density parity-check (LDPC) codeword in an ultra-wideband (UWB) system and a related device. Background Art
[0003] The Institute of Electrical and Electronics Engineers (IEEE) 802.11n / ac / ax / be and other wireless local area network (WLAN) standards mainly focus on improving user experience in 60GHz large bandwidth scenarios, including improving average user throughput and energy efficiency of battery-powered devices. This requires high-speed and reliable transmission of data, video and other services on limited frequency and power resources, and therefore requires highly reliable and efficient channel coding solutions.
[0004] So far, in the field of channel coding, Turbo code and LDPC code are the two most commonly used channel codes. They both have performance close to the Shannon limit and have been widely used in the communication field. Compared with Turbo code, LDPC code has obvious advantages, such as: no need for deep interleaving to obtain good bit error performance, better frame error rate performance, greatly reduced error floor, support for parallel decoding, small decoding delay, etc. Therefore, LDPC code has become the standard channel coding scheme for low-frequency short-range WLAN communication systems such as 802.11n / ac / ax.
[0005] In order to improve the transmission reliability of wireless transmission systems, LDPC codes have been widely used in WLAN standards. The next generation of UWB standards, such as the IEEE 802.15ab standard, considers introducing LDPC codes used in WLAN to improve the data transmission reliability of the system. However, the length of the LDPC codeword will affect the error control performance, so how to determine the length of the LDPC codeword in the UWB system needs to be explored. Summary of the invention
[0006] The embodiment of the present application provides a method for determining the length of an LDPC codeword in a UWB system and a related device, which can not only obtain a better error control performance gain, but also reduce code rate loss.
[0007] The present application is introduced below from different aspects. It should be understood that the implementation methods and beneficial effects of the following different aspects can be referenced to each other.
[0008] In a first aspect, the present application provides a method for determining the length of an LDPC codeword in a UWB system, the method comprising: a communication device obtains the length of information bits to be encoded, and determines the length of the LDPC codeword according to the length of the information bits to be encoded. The check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. Among them, the communication device determines the length of the LDPC codeword according to the length of the information bits to be encoded, including one or more of the following operations: if the length of the information bits to be encoded is greater than 0 and less than or equal to the first length, the communication device determines that the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to the second length, the communication device determines that the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to the first value, the communication device determines that the length of the LDPC codeword is 1944 bits. The first value is 648 bits (or 81 bytes). At least one of the first length and the second length is determined based on a preset code rate threshold.
[0009] The beneficial effects of the present application are specifically analyzed in the description of the method embodiment below, which is not described in detail here. The present application can obtain better error control performance gain and reduce code rate loss; at the same time, it can also ensure that the effective code rate of short packets (for example, the length of the information bits to be encoded is less than or equal to 648 bits) is lower than a given threshold, thereby improving the performance of short packets.
[0010] In the present application, the information bits to be encoded refer to the information bits before channel coding, or the information bits input at the input end of the channel coding module. Exemplarily, the information bits to be encoded may be data bits to be encoded (i.e., payload bits), or the information bits to be encoded include data bits to be encoded and CRC bits, which are not limited in the embodiments of the present application.
[0011] In combination with the first aspect, in a possible implementation manner, the reference code rate of the LDPC codeword is 0.5.
[0012] In combination with the first aspect, in a possible implementation, the first length is determined based on the first codeword length, the reference code rate of the LDPC codeword, and a first preset code rate threshold. The first codeword length is 648 bits or 81 bytes. The first preset code rate threshold is less than the reference code rate of the LDPC codeword, that is, less than 0.5.
[0013] Optionally, the value range of the first preset bit rate threshold may be greater than or equal to 0.3 and less than or equal to 0.43.
[0014] Optionally, the first length satisfies:
[0015]
[0016] Wherein, L1 represents the first length, N1 represents the first codeword length (equal to 648 bits or 81 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth1 represents the first preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0017] The rounding operation in the present application may be rounding to an integer number of bits or bytes, rounding up or rounding down to an integer multiple of 5 bits or bytes, or rounding up or rounding down to an integer multiple of 10 bits or bytes.
[0018] In combination with the first aspect, in a possible implementation, the second length is determined based on the second codeword length, the reference code rate of the LDPC codeword, and a second preset code rate threshold. The second codeword length is 1296 bits or 162 bytes. The second preset code rate threshold is less than the reference code rate of the LDPC codeword, that is, less than 0.5.
[0019] Optionally, the value range of the second preset bit rate threshold may be greater than or equal to 0.3 and less than or equal to 0.43.
[0020] Optionally, the second length satisfies:
[0021]
[0022] Wherein, L2 represents the second length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), R represents the reference code rate of the LDPC codeword (less than 0.5), Rth2 represents the second preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0023] It can be understood that once the value ranges of the first preset bit rate threshold and the second preset bit rate threshold are determined, the value ranges of the first length and the second length are also determined.
[0024] In combination with the first aspect, in a possible implementation manner, the first preset bit rate threshold and the second preset bit rate threshold may be the same or different.
[0025] In combination with the first aspect, in a possible implementation, the length of the information bits to be encoded and the length of the LDPC codeword further satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits. At least one of the third length and the fourth length is determined based on a preset code rate threshold.
[0026] Optionally, the third length is determined based on a third codeword length, a reference code rate of the LDPC codeword, and a third preset code rate threshold. The third codeword length is 1944 bits or 243 bytes. The third preset code rate threshold is less than the reference code rate of the LDPC codeword. Exemplarily, the value range of the third preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.
[0027] Exemplarily, the third length satisfies:
[0028]
[0029] Wherein, L3 represents the third length, N3 represents the third codeword length (equal to 1944 bits or 243 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth3 represents the third preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0030] Optionally, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold, and the fourth preset code rate threshold is less than the reference code rate of the LDPC codeword. Exemplarily, the value range of the fourth preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.
[0031] Exemplarily, the fourth length satisfies:
[0032]
[0033] Wherein, L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset bit rate threshold (less than 0.5), [x] int Indicates rounding x.
[0034] It can be understood that once the value ranges of the third preset bit rate threshold and the fourth preset bit rate threshold are determined, the value ranges of the third length and the fourth length are also determined.
[0035] In combination with the first aspect, in a possible implementation manner, the third preset bit rate threshold and the fourth preset bit rate threshold may be the same or different.
[0036] In combination with the first aspect, in a possible implementation, the method further includes: the communication device transmits the LDPC codeword, the LDPC codeword includes the information bits to be encoded and the check bits. Exemplarily, the communication device generates the LDPC codeword based on the determined LDPC codeword length, the information bits to be encoded, the reference code rate of the LDPC codeword, and transmits the LDPC codeword.
[0037] In combination with the first aspect, in a possible implementation, the number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
[0038] Exemplarily, the number of shortened 0 bits in the LDPC codeword is:
[0039] Padding_Num=mod(K-mod(Inf_Num,K),K);
[0040] Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents the modulo operation. K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
[0041] In combination with the first aspect, in a possible implementation manner, the information bits to be encoded include cyclic redundancy check (CRC) bits.
[0042] In a second aspect, the present application provides a communication device, including an acquisition unit and a determination unit. The acquisition unit is used to acquire the length of the information bit to be encoded; the determination unit is used to determine the length of the low-density parity check LDPC codeword according to the length of the information bit to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate a check bit. Among them, the determination unit is specifically used to perform one or more operations: when the length of the information bit to be encoded is greater than 0 and less than or equal to the first length, the length of the LDPC codeword is determined to be 648 bits; when the length of the information bit to be encoded is greater than the first length and less than or equal to the second length, the communication device determines that the length of the LDPC codeword is 1296 bits, and determines that the length of the LDPC codeword is 1296 bits; when the length of the information bit to be encoded is greater than the second length and less than or equal to the first value, the communication device determines that the length of the LDPC codeword is 1944 bits, and determines that the length of the LDPC codeword is 1944 bits. The first value is 648 bits (or 81 bytes). At least one of the first length and the second length is determined based on a preset code rate threshold.
[0043] In combination with the second aspect, in a possible implementation manner, the reference code rate of the above LDPC codeword is 0.5.
[0044] In conjunction with the second aspect, in a possible implementation, the first length is determined based on the first codeword length, the reference code rate of the LDPC codeword, and a first preset code rate threshold. The first codeword length is 648 bits or 81 bytes. The first preset code rate threshold is less than the reference code rate of the LDPC codeword, that is, less than 0.5.
[0045] Optionally, the value range of the first preset bit rate threshold may be greater than or equal to 0.3 and less than or equal to 0.43.
[0046] Optionally, the first length satisfies:
[0047]
[0048] Wherein, L1 represents the first length, N1 represents the first codeword length (equal to 648 bits or 81 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth1 represents the first preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0049] The rounding operation in the present application may be rounding to an integer number of bits or bytes, rounding up or rounding down to an integer multiple of 5 bits or bytes, or rounding up or rounding down to an integer multiple of 10 bits or bytes.
[0050] In conjunction with the second aspect, in a possible implementation, the second length is determined based on the second codeword length, the reference code rate of the LDPC codeword, and a second preset code rate threshold. The second codeword length is 1296 bits or 162 bytes. The second preset code rate threshold is less than the reference code rate of the LDPC codeword, that is, less than 0.5.
[0051] Optionally, the value range of the second preset bit rate threshold may be greater than or equal to 0.3 and less than or equal to 0.43.
[0052] Optionally, the second length satisfies:
[0053]
[0054] Wherein, L2 represents the second length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), R represents the reference code rate of the LDPC codeword (less than 0.5), Rth2 represents the second preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0055] It can be understood that once the value ranges of the first preset bit rate threshold and the second preset bit rate threshold are determined, the value ranges of the first length and the second length are also determined.
[0056] In combination with the second aspect, in a possible implementation manner, the first preset bit rate threshold and the second preset bit rate threshold may be the same or different.
[0057] In combination with the second aspect, in a possible implementation, the above-mentioned determination unit is also used to perform one or more of the following operations: when the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, determining that the length of the LDPC codeword is 1944 bits; when the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, determining that the length of the LDPC codeword is 1296 bits; when the length of the information bits to be encoded is greater than the fourth length, determining that the length of the LDPC codeword is 1944 bits.
[0058] Optionally, the third length is determined based on a third codeword length, a reference code rate of the LDPC codeword, and a third preset code rate threshold. The third codeword length is 1944 bits or 243 bytes. The third preset code rate threshold is less than the reference code rate of the LDPC codeword. Exemplarily, the value range of the third preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.
[0059] Exemplarily, the third length satisfies:
[0060]
[0061] Wherein, L3 represents the third length, N3 represents the third codeword length (equal to 1944 bits or 243 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth3 represents the third preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0062] Optionally, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold, and the fourth preset code rate threshold is less than the reference code rate of the LDPC codeword. Exemplarily, the value range of the fourth preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.
[0063] Exemplarily, the fourth length satisfies:
[0064]
[0065] Wherein, L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset bit rate threshold (less than 0.5), [x] int Indicates rounding x.
[0066] It can be understood that once the value ranges of the third preset bit rate threshold and the fourth preset bit rate threshold are determined, the value ranges of the third length and the fourth length are also determined.
[0067] In combination with the second aspect, in a possible implementation manner, the third preset bit rate threshold and the fourth preset bit rate threshold may be the same or different.
[0068] In combination with the second aspect, in a possible implementation manner, the communication device further includes a transmission unit, configured to transmit the LDPC codeword, wherein the LDPC codeword includes the information bits to be encoded and the check bits.
[0069] In conjunction with the second aspect, in a possible implementation, the number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
[0070] Exemplarily, the number of shortened 0 bits in the LDPC codeword is:
[0071] Padding_Num=mod(K-mod(Inf_Num,K),K);
[0072] Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents the modulo operation. K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
[0073] In combination with the second aspect, in a possible implementation manner, the information bits to be encoded include CRC bits.
[0074] In a third aspect, the present application provides a method for determining the length of an LDPC codeword in a UWB system, the method comprising: a communication device obtains the length of information bits to be encoded, and determines the length of the LDPC codeword according to the length of the information bits to be encoded. The check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. Among them, the communication device determines the length of the LDPC codeword according to the length of the information bits to be encoded, including one or more of the following operations: if the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to the third length, the communication device determines that the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the communication device determines that the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the communication device determines that the length of the LDPC codeword is 1944 bits. The first value is 648 bits (or 81 bytes). At least one of the third length and the fourth length is determined based on a preset code rate threshold.
[0075] The beneficial effects of the present application are specifically analyzed in the description of the method embodiment below, which will not be described in detail here. The present application can obtain better error control performance gain and reduce bit rate loss.
[0076] In combination with the third aspect, in a possible implementation manner, the reference code rate of the above LDPC codeword is 0.5.
[0077] In conjunction with the third aspect, in a possible implementation, the third length is determined based on a third codeword length, a reference code rate of the LDPC codeword, and a third preset code rate threshold. The third codeword length is 1944 bits or 243 bytes. The third preset code rate threshold is less than the reference code rate of the LDPC codeword.
[0078] Optionally, the value range of the third preset bit rate threshold may be greater than 0.4 and less than or equal to 0.5.
[0079] Exemplarily, the third length satisfies:
[0080]
[0081] Wherein, L3 represents the third length, N3 represents the third codeword length (equal to 1944 bits or 243 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth3 represents the third preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0082] In conjunction with the third aspect, in a possible implementation, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold. The second codeword length is 1296 bits or 162 bytes. The fourth preset code rate threshold is less than a reference code rate of the LDPC codeword.
[0083] Optionally, the value range of the fourth preset bit rate threshold may be greater than 0.4 and less than or equal to 0.5.
[0084] Exemplarily, the fourth length satisfies:
[0085]
[0086] Wherein, L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset bit rate threshold (less than 0.5), [x] int Indicates rounding x.
[0087] It can be understood that once the value ranges of the third preset bit rate threshold and the fourth preset bit rate threshold are determined, the value ranges of the third length and the fourth length are also determined.
[0088] In combination with the third aspect, in a possible implementation manner, the third preset bit rate threshold and the fourth preset bit rate threshold may be the same or different.
[0089] In conjunction with the third aspect, in a possible implementation, the method further includes: the communication device transmits the LDPC codeword, the LDPC codeword includes the information bits to be encoded and the check bits. Exemplarily, the communication device generates the LDPC codeword based on the determined LDPC codeword length, the information bits to be encoded, the reference code rate of the LDPC codeword, and transmits the LDPC codeword.
[0090] In conjunction with the third aspect, in a possible implementation, the number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
[0091] Exemplarily, the number of shortened 0 bits in the LDPC codeword is:
[0092] Padding_Num=mod(K-mod(Inf_Num,K),K);
[0093] Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents the modulo operation. K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
[0094] In combination with the third aspect, in a possible implementation manner, the information bits to be encoded include CRC bits.
[0095] In a fourth aspect, the present application provides a communication device, including an acquisition unit and a determination unit. The acquisition unit is used to acquire the length of the information bits to be encoded; the determination unit is used to determine the length of the low-density parity check LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. Among them, the determination unit is specifically used to perform one or more operations: when the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to the third length, the length of the LDPC codeword is determined to be 1944 bits; when the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is determined to be 1296 bits; when the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is determined to be 1944 bits.
[0096] In combination with the fourth aspect, in a possible implementation, the reference code rate of the above LDPC codeword is 1 / 2.
[0097] In conjunction with the fourth aspect, in a possible implementation, the third length is determined based on a third codeword length, a reference code rate of the LDPC codeword, and a third preset code rate threshold. The third codeword length is 1944 bits or 243 bytes. The third preset code rate threshold is less than the reference code rate of the LDPC codeword.
[0098] Optionally, the value range of the third preset bit rate threshold may be greater than 0.4 and less than or equal to 0.5.
[0099] Exemplarily, the third length satisfies:
[0100]
[0101] Wherein, L3 represents the third length, N3 represents the third codeword length (equal to 1944 bits or 243 bytes), R represents the reference code rate of the LDPC codeword (equal to 0.5), Rth3 represents the third preset code rate threshold (less than 0.5), [x] int Indicates rounding x.
[0102] In conjunction with the fourth aspect, in a possible implementation, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold. The second codeword length is 1296 bits or 162 bytes. The fourth preset code rate threshold is less than a reference code rate of the LDPC codeword.
[0103] Optionally, the value range of the fourth preset bit rate threshold may be greater than 0.4 and less than or equal to 0.5.
[0104] Exemplarily, the fourth length satisfies:
[0105]
[0106] Wherein, L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset bit rate threshold (less than 0.5), [x] int Indicates rounding x.
[0107] It can be understood that once the value ranges of the third preset bit rate threshold and the fourth preset bit rate threshold are determined, the value ranges of the third length and the fourth length are also determined.
[0108] In conjunction with the fourth aspect, in a possible implementation manner, the third preset bit rate threshold and the fourth preset bit rate threshold may be the same or different.
[0109] In combination with the fourth aspect, in a possible implementation, the communication device also includes a transmission unit, which is used to transmit the LDPC codeword, and the LDPC codeword includes the information bits to be encoded and the check bits.
[0110] In conjunction with the fourth aspect, in a possible implementation, the number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
[0111] Exemplarily, the number of shortened 0 bits in the LDPC codeword is:
[0112] Padding_Num=mod(K-mod(Inf_Num,K),K);
[0113] Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents the modulo operation. K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
[0114] In combination with the fourth aspect, in a possible implementation manner, the information bits to be encoded include CRC bits.
[0115] In a fifth aspect, the present application provides a communication device, the communication device comprising a processor, configured to execute the method described in any possible implementation of the first aspect, the third aspect, or any of the aspects. Alternatively, the processor is configured to execute a program stored in a memory, and when the program is executed, the method described in any possible implementation of the first aspect, the third aspect, or any of the aspects is executed.
[0116] In combination with the fifth aspect, in a possible implementation manner, the memory is located outside the above-mentioned communication device.
[0117] In combination with the fifth aspect, in a possible implementation, the memory is located within the above-mentioned communication device.
[0118] In the embodiment of the present application, the processor and the memory may also be integrated into one device, that is, the processor and the memory may also be integrated together.
[0119] In combination with the fifth aspect, in a possible implementation, the communication device further includes a transceiver, and the transceiver is used to receive a signal or send a signal.
[0120] In a sixth aspect, the present application provides a communication device, which includes a logic circuit and an interface, and the logic circuit and the interface are coupled.
[0121] In one design, a logic circuit is used to obtain the length of information bits to be encoded, and determine the length of a low-density parity check LDPC codeword based on the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; an interface is used to output the LDPC codeword, and the LDPC codeword includes the information bits to be encoded and the check bits. Wherein, the length of the information bits to be encoded and the length of the LDPC codeword meet one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first length and the second length is determined based on a preset code rate threshold.
[0122] In another design, a logic circuit is used to obtain the length of the information bits to be encoded, and determine the length of the low-density parity check LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; an interface is used to output the LDPC codeword, and the LDPC codeword includes the information bits to be encoded and the check bits. Wherein, the length of the information bits to be encoded and the length of the LDPC codeword meet one or more of the following conditions: if the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits; the first value is 648 bits or 81 bytes. At least one of the third length and the fourth length is determined based on a preset code rate threshold.
[0123] In a seventh aspect, the present application provides a computer-readable storage medium for storing a computer program, which, when executed on a computer, enables the method shown in any possible implementation of the first aspect, the third aspect, or any aspect thereof to be executed.
[0124] In an eighth aspect, the present application provides a computer program product, which includes a computer program or a computer code, and when the computer program product is run on a computer, the method shown in any possible implementation of the first aspect, the third aspect or any aspect thereof is executed.
[0125] In a ninth aspect, the present application provides a computer program. When the computer program is run on a computer, the method shown in the first aspect, the third aspect, or any possible implementation of any aspect therein is executed.
[0126] The technical effects achieved in the above-mentioned aspects can be referred to each other or to the beneficial effects in the method embodiments shown below, and will not be described in detail here. BRIEF DESCRIPTION OF THE DRAWINGS
[0127] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for describing the embodiments are briefly introduced below.
[0128] Figure 1 is a structural diagram of a wireless communication system provided in an embodiment of the present application;
[0129] Figure 2 is another structural diagram of a wireless communication system provided in an embodiment of the present application;
[0130] Figure 3a Schematic diagram of the LDPC code check matrix provided in the embodiment of the present application;
[0131] Figure 3b is the Tanner graph of the LDPC code provided in the embodiment of the present application;
[0132] Figure 4a It is a schematic diagram of an LDPC code check matrix with a code rate of 1 / 2 and a code length of 648 provided in an embodiment of the present application;
[0133] Figure 4b is a schematic diagram of a cyclic shift matrix P1 provided in an embodiment of the present application;
[0134] Figure 5 It is a schematic diagram of the LDPC encoding process in WLAN provided by an embodiment of the present application;
[0135] Figure 6a It is a schematic diagram of an LDPC code check matrix with a code rate of 1 / 2 and a code length of 1296 provided in an embodiment of the present application;
[0136] Figure 6b It is a schematic diagram of an LDPC code check matrix with a code rate of 1 / 2 and a code length of 1944 provided in an embodiment of the present application;
[0137] Figure 7 It is a flow chart of a method for determining the length of an LDPC codeword in a UWB system provided by an embodiment of the present application;
[0138] Figure 8 It is a schematic diagram of the LDPC encoding process in the UWB system provided in an embodiment of the present application;
[0139] Fig. 9 This is a schematic diagram showing how the number of shortened 0 bits required for LDPC codes with different code lengths provided in an embodiment of the present application varies with the length of the information bits to be encoded;
[0140] Fig.10 Schematic diagram showing how the effective code rate of LDPC codes with different code lengths provided in an embodiment of the present application varies with the length of information bits to be encoded;
[0141] Fig.11a This is a schematic diagram of selecting the length of an LDPC codeword provided in an embodiment of the present application;
[0142] Fig.11b It is another schematic diagram of selecting the length of an LDPC codeword provided in an embodiment of the present application;
[0143] Fig.11c This is another schematic diagram of selecting the length of an LDPC codeword provided in an embodiment of the present application;
[0144] Fig.12 This is another schematic diagram of selecting the length of an LDPC codeword provided in an embodiment of the present application;
[0145] Fig.13 It is another flowchart of the method for determining the length of an LDPC codeword in a UWB system provided by an embodiment of the present application;
[0146] Fig.14 This is a schematic diagram of selecting the length of yet another LDPC codeword provided in an embodiment of the present application;
[0147] Fig.15 is a schematic diagram of a structure of a communication device provided in an embodiment of the present application;
[0148] Fig.16 is a schematic diagram of the structure of a communication device 1000 provided in an embodiment of the present application;
[0149] Fig.17 It is another structural schematic diagram of the communication device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0150] The technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0151] In the description of this application, unless otherwise specified, " / " means "or", for example, A / B can mean A or B. "And / or" in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, "at least one" means one or more, and "plurality" means two or more. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c; a and b; a and c; b and c; or a, b, and c. Among them, a, b, and c can be single or multiple.
[0152] The terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units that are not listed, or may optionally include other steps or units that are inherent to these processes, methods, products or devices.
[0153] In this application, the words "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described in this application as "exemplary", "for example" or "for example" should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of the words "exemplary", "for example" or "for example" is intended to present the related concepts in a concrete way.
[0154] It should be understood that in the present application, "when", "if" and "if" all mean that the device will take corresponding actions under certain objective circumstances, and do not limit the time, nor do they require that the device must have a judgment action when it is implemented, nor do they mean that there are other limitations.
[0155] Elements used in the singular herein are intended to mean "one or more" rather than "one and only one" unless specifically stated otherwise.
[0156] It should be understood that in the embodiments of the present application, determining B based on A does not mean determining B only based on A, but B can also be determined based on A and / or other information.
[0157] The technical solution provided in this application can be applied to wireless personal area networks (WPAN) based on UWB technology. For example, the method provided in this application can be applied to IEEE 802.15 series protocols, such as 802.15.4ab protocol, or a future generation of UWB WPAN standards, which are not listed here one by one. The method provided in this application can also be applied to various communication systems, for example, it can be an Internet of Things (IoT) system, a vehicle to X (V2X), a narrow band internet of things (NB-IoT) system, devices in the vehicle network, IoT nodes, sensors, etc. in the Internet of Things (IoT), smart cameras in smart homes, smart remote controls, smart water meters and electricity meters, and sensors in smart cities, etc. The method provided in the present application can also be applied to LTE frequency division duplex (FDD) system, LTE time division duplex (TDD), universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) communication system, long term evolution (LTE) system, and can also be a fifth-generation (5G) communication system, a sixth-generation (6G) communication system, etc.
[0158] UWB technology is a new type of wireless communication technology. It uses nanosecond non-sinusoidal narrow pulses to transmit data, and modulates impulse pulses with very steep rise and fall times, so the spectrum range it occupies is very wide, so that the signal has a bandwidth of the order of GHz. The bandwidth used by UWB is usually above 1GHz. Because the UWB system does not need to generate a sinusoidal carrier signal and can directly transmit an impulse sequence, the UWB system has a very wide spectrum and a very low average power. The UWB wireless communication system has the advantages of strong multipath resolution, low power consumption, and strong confidentiality, which is conducive to coexistence with other systems, thereby improving spectrum utilization and system capacity. In addition, in short-distance communication applications, the transmission power of the UWB transmitter can usually be less than 1mW (milliwatt). Theoretically, the interference generated by the UWB signal is only equivalent to white noise. This helps to achieve good coexistence between ultra-wideband and existing narrowband communications. Therefore, the UWB system can work simultaneously with a narrowband (narrowband, NB) communication system without interfering with each other. The method provided in the present application can be implemented by a communication device in a wireless communication system. In a communication device, a device or chip that implements the UWB system function can be called a UWB module, and a device or chip that implements the narrowband communication system function can be called a narrowband communication module. The UWB module and the narrowband communication module can be different devices or chips. Of course, the UWB module and the narrowband communication module can also be integrated in one device or chip. The embodiments of the present application do not limit the implementation of the UWB module and the narrowband communication module in the communication device. The communication device in the present application includes a UWB module and optionally also includes a narrowband communication module.
[0159] The method provided in the present application can be implemented by a communication device in a wireless communication system. The communication device can be a device involved in a UWB system. For example, the communication device may include, but is not limited to, a communication server, a router, a switch, a bridge, a computer, a mobile phone, etc. that supports UWB technology. For another example, the communication device may include a user equipment (UE), which may include various handheld devices, vehicle-mounted devices (such as cars or components installed on cars, etc.), wearable devices, Internet of Things (IoT) devices, computing devices, or other processing devices connected to a wireless modem that support UWB technology, which are not listed here one by one. For another example, the communication device may include a central control point, such as a personal area network (PAN) or a PAN coordinator, etc. The PAN coordinator or PAN may be a mobile phone, a vehicle-mounted device, an anchor, a tag, or a smart home, etc. For another example, the communication device may include a chip, which may be set in a communication server, a router, a switch, or a terminal device, etc., which are not listed here one by one. It can be understood that the above description of the communication device is applicable to the communication device in the present application.
[0160] Optionally, the communication device in the embodiment of the present application may be a device that supports multiple WPAN standards such as IEEE802.15.4ab or subsequent versions currently under discussion.
[0161] In an embodiment of the present application, the above-mentioned communication device may include a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and a memory (also called main memory). The operating system may be any one or more computer operating systems that implement business processing through a process, such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, a word processing software, and an instant messaging software. In addition, the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application, as long as it can communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application.
[0162] For example, see Figure 1 , Figure 1 Schematic diagram of a wireless communication system provided by an embodiment of the present application. Figure 1 As shown, the wireless communication system is a star topology structure, in which a central control node (such as Figure 1 A PAN coordinator in a PAN can communicate data with one or more other devices. Figure 2 , Figure 2 is another structural diagram of the wireless communication system provided in the embodiment of the present application. Figure 2 As shown, the wireless communication system is a point-to-point topology structure, in which the central control node (such as Figure 2 The PAN coordinator in the PAN can communicate data with one or more other devices, and other different devices can also communicate data with each other. Figure 1 and Figure 2 In the present application, both the full-function device and the reduced-function device can be understood as the communication device shown in the present application. The full-function device and the reduced-function device are relative, such as a reduced-function device cannot be a PAN coordinator. Another example is that compared with a full-function device, the reduced-function device may not have coordination capabilities or the communication rate may be lower than that of a full-function device. It can be understood that Figure 2 The PAN coordinator shown is an example only. Figure 2 The other three full-function devices shown can also serve as PAN coordinators, and are not shown one by one here. It can also be understood that the full-function device and low-function device shown in this application are only examples of communication devices, and any device that can implement the method for determining the length of LDPC codewords in the UWB system provided by this application belongs to the protection scope of this application.
[0163] The following is a brief introduction to some relevant contents, terms or nouns involved in this application.
[0164] 1. LDPC Code
[0165] The check matrix of the LDPC code is a sparse matrix, that is, the number of non-zero elements in the matrix is much smaller than the number of zero elements, or the ratio of the row weight to the code length and the ratio of the column weight to the code length are both very small values. LDPC codes can be represented by a graph, which is called a Tanner graph. The Tanner graph corresponds to the check matrix one-to-one and consists of two types of nodes: the first type of node represents the codeword symbol, called a variable node; the second type of node represents the check constraint relationship, called a check node, and each check node represents a check constraint relationship. For example, Figure 3a and Figure 3b As shown, Figure 3a is a schematic diagram of an LDPC code check matrix provided in an embodiment of the present application, Figure 3bIt is the Tanner graph of the LDPC code provided in the embodiment of the present application. Figure 3a and Figure 3b {V i} represents a variable node set, {C i} represents the check node set.
[0166] The LDPC code used in the 802.11ac / ax standard is a quasi cyclic LDPC (QC-LDPC) code. QC-LDPC code is a widely used structured LDPC code. Due to the unique structure of its check matrix, it can be encoded using a simple feedback shift register, so it can better solve the coding complexity problem of LDPC codes. Figure 4a , Figure 4a Schematic diagram of the LDPC code check matrix with a code rate of 1 / 2 and a code length of 648 provided in the embodiment of the present application. Figure 4a As shown, each element in the LDPC code check matrix with code length N=648 and code rate R=1 / 2 represents a square matrix of order Z=N / 24, where "0" represents a Z×Z unit matrix and "-" represents a Z×Z all-zero matrix. For example, Figure 4a The element "22" in the middle represents the Z×Z unit matrix P which is cyclically shifted 22 places to the right to obtain the cyclic shift matrix P 22 , Figure 4a The other non-zero elements in are similar to element "22" and will not be described in detail. i represents the cyclic shift matrix, i (0≤i≤Z-1) represents the cyclic shift value. Figure 4b , Figure 4b Schematic diagram of the cyclic shift matrix P1 provided in the embodiment of the present application. Figure 4b As shown, the cyclic shift matrix P1 represents the Z×Z unit matrix P cyclically shifted to the right by 1 bit.
[0167] Existing WLAN standards (such as 802.11n / ac, etc.) use orthogonal frequency division multiplexing (OFDM) technology. The LDPC encoding module needs to encode the data bits (also known as payload bits) and put them into an integer number of OFDM symbols, and these encoded bits must also fit into an integer number of LDPC code words. Therefore, before transmission, it is necessary to calculate the minimum number of OFDM symbols N required for this transmission. SYM , and then according to N SYM Calculate the total number of coded bits N that can be stored in all OFDM symbols using the current coding and modulation scheme TCB =N CBPS ×N SYM , where NCBPS Indicates the number of coded bits that can be stored in each OFDM symbol. Then, according to the total number of coded bits N TCB Determine the LDPC code length L used in the current transmission LDPC and the number of codewords N required CW . However, for most of the lengths of the data bits to be encoded and the coding modulation schemes, there are not enough data bits to fill the information bit positions in the LDPC codeword, so a shortening operation is required before generating the parity bits. The shortening operation refers to filling a certain number of zeros in the information bit positions of the LDPC codeword before the LDPC encoding generates the parity bits, and then deleting these zeros after the LDPC encoding generates the parity bits. See Figure 5 , Figure 5 FIG. 1 is a schematic diagram of the LDPC encoding process in a WLAN provided in an embodiment of the present application. Figure 5 As shown, the LDPC encoding process in WLAN includes at least step 1 to step 6. Specifically, step 1 is to encode data bits, such as payload bits. Step 2 determines the length L of the LDPC codeword. LDPC and the number of codewords N CW , please refer to the description below for the specific determination method. Step 3 shortens the data bits to be encoded, that is, fills in shortened zero bits after the data bits to be encoded. Step 4 uses the LDPC code check matrix to encode the data bits to be encoded and the shortened zero bits in each LDPC codeword to generate check bits, and then deletes these shortened zero bits. Step 5 repeats (repeat) part of the data bits to be encoded in the LDPC codeword or punctures (puncture) the check bits in the LDPC codeword so that the codeword bits after processing (puncturing or repetition) just fill the OFDM symbols to be transmitted, that is, the number of codeword bits after processing (puncturing or repetition) is equal to the number of bits that the OFDM symbol can carry. Step 6 concatenates multiple codewords and performs stream parsing (stream parsing).
[0168] In this application, "LDPC code length" refers to the length of an LDPC codeword (LDPC code word length), and "LDPC code length", "LDPC code word length", and "LDPC code word length" can be used interchangeably.
[0169] 2. Method for determining the length of LDPC codewords in 802.11ac / ax standards
[0170] The 802.11ac / ax standard adopts 12 LDPC code check matrices, with three code lengths: 648 bits, 1296 bits, and 1944 bits. Each code length supports four different bit rates (the bit rate here refers to the reference bit rate): 1 / 2, 2 / 3, 3 / 4, and 5 / 6. Figure 6a and Figure 6b As shown, the LDPC code check matrix with a code rate of 1 / 2 (ie, R = 1 / 2) and a code length of 1296 bits and 1944 bits respectively is shown; the LDPC code check matrix with a code rate of 1 / 2 and a code length of 648 bits is shown above Figure 4a It should be understood that Figure 6a and Figure 6b The meaning of each element in the Figure 4a The meaning of each element is not elaborated here.
[0171] Optionally, the code rate selection in the 802.11ac / ax standard is determined by the modulation and coding scheme (MCS) selected by the link adaptive selection. In WLAN, the LDPC code is selected from 12 check matrices based on the code length and code rate, and the check matrix is different for each code length and code rate. For a given code rate, the existing WLAN standard jointly calculates the LDPC code length required for this data transmission based on the current data packet length and the number of OFDM symbols.
[0172] Specifically, the calculation method of the LDPC codeword length in the existing WLAN standard is as follows:
[0173] 1. Calculate the number of OFDMs required for this data transmission:
[0174]
[0175] Among them, N SYM Indicates the number of OFDM symbols required for this data transmission, length indicates the length of the data packet (in bytes), m STBC Indicates the space-time coding mode of the data packet (the value is 1 when space-time coding is not used), N DBPS Indicates the number of data bits carried by each OFDM symbol. Indicates rounding up, which will not be described in detail below.
[0176] 2. Calculate the bit length of this data transmission plus the 16-bit cyclic redundancy check (CRC):
[0177] N pld=8·length+16................................(1-2)
[0178] 3. Calculate the number of codeword bits for this data transmission:
[0179] N TCB =N CBPS ×N SYM ...........................................(1-3)
[0180] Among them, N TCB Indicates the number of codeword bits for this data transmission, N CBPS Indicates the number of codeword bits carried by each OFDM symbol.
[0181] 4. According to the above parameters (N TCB 、N pld etc.) and the following Table 1 determine the LDPC codeword length for this data transmission.
[0182] Table 1
[0183]
[0184] It should be understood that R in Table 1 represents a code rate.
[0185] In addition to considering the above parameters (N TCB , N pld In addition to the long code performance and the number of punctured bits, it is also necessary to comprehensively consider the long code performance and the number of punctured bits. Figure 5 As shown in step 5, puncturing may be required after LDPC encoding in WLAN, that is, several check bits at the end are not transmitted. Puncturing will lead to an increase in the actual code rate (that is, the actual code rate is greater than the reference code rate), resulting in a certain performance loss. Although the longer the LDPC code length, the better the error control performance, so the long code should be selected as much as possible in the selection of code length. However, in practice, the code length selection of WLAN's LDPC code needs to balance the long code and the number of punctured bits. As shown in Table 1 above, the code length selection of WLAN's LDPC code does not increase monotonically with the increase of data packet length, but may continue to regress to a shorter code length with the increase of data packet length. In addition, because the encoded bits must at least fill a single OFDM symbol, under the shortest packet length (that is, N TCB ≤648), the LDPC code of WLAN selects the intermediate code length (1296 bits) instead of the shortest code length (648 bits).
[0186] As can be seen from the above content, in order to improve the transmission reliability of wireless transmission systems, LDPC codes have been widely used in WLAN standards. The next generation of UWB standards, such as the IEEE 802.15ab standard, considers introducing LDPC codes with a code rate of 1 / 2 in WLAN to improve the transmission reliability of the system. One of the important candidate solutions is to reuse LDPC codes with a code rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits in WLAN. However, if the LDPC codes with a code rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits in WLAN are reused, how to determine the length of the LDPC codeword in the UWB system needs to be explored.
[0187] The present application provides a method and related device for determining the length of an LDPC codeword in a UWB system, which can ensure that long codes are used as much as possible during UWB transmission to obtain better error control performance gain, and can reduce the code rate loss caused by shortening too many 0 bits. Furthermore, the present application can also ensure that the effective code rate of a short packet is lower than a given threshold, thereby improving the performance of a short packet.
[0188] The technical solution provided by this application will be described in detail below with reference to more drawings.
[0189] In order to facilitate the clear description of the technical solution of the present application, the present application is described through multiple embodiments, see below for details. In the present application, unless otherwise specified, the same or similar parts between the various embodiments or implementations can refer to each other. In the various embodiments in the present application, and the various implementation methods / implementation methods / implementation methods in the various embodiments, if there is no special description and logical conflict, the terms and / or descriptions between the different embodiments and the various implementation methods / implementation methods / implementation methods in the various embodiments are consistent and can be referenced to each other, and the technical features in the different embodiments and the various implementation methods / implementation methods / implementation methods in the various embodiments can be combined to form new embodiments, implementation methods, implementation methods, or implementation methods according to their inherent logical relationships. The implementation methods of the present application described below do not constitute a limitation on the scope of protection of the present application. It should be understood that the order of the following embodiments does not represent the degree of importance.
[0190] Embodiment 1
[0191] Embodiment 1 of the present application mainly introduces a method for determining the length of an LDPC codeword when the length of information bits to be encoded is less than or equal to 648 bits (or 81 bytes).
[0192] See also Figure 7 , Figure 7 1 is a flow chart of a method for determining the length of an LDPC codeword in a UWB system provided by an embodiment of the present application. The communication device in the method may be the aforementioned Figure 1or Figure 2 Any device in Figure 7 As shown, the method for determining the length of the LDPC codeword in the UWB system includes but is not limited to the following steps:
[0193] S101, the communication device obtains the length of information bits to be encoded.
[0194] The information bits to be encoded in the embodiment of the present application may refer to information bits before channel coding, or information bits input at the input end of the channel coding module. Exemplarily, the information bits to be encoded may be data bits to be encoded (i.e., payload bits), or the information bits to be encoded include data bits to be encoded and CRC bits, which are not limited in the embodiment of the present application.
[0195] S102, the communication device determines the length of the LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; wherein the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to the first value, the length of the LDPC codeword is 1944 bits.
[0196] The reference code rate R of the LDPC codeword is 1 / 2. The first value may be 648 bits or 81 bytes.
[0197] Optionally, the first length and the second length can be characterized by the number of bits or bytes, and the embodiments of the present application are not limited. The first length can be determined based on the first codeword length, the reference code rate R of the LDPC codeword, and the first preset code rate threshold. The second length can be determined based on the second codeword length, the reference code rate R of the LDPC codeword, and the second preset code rate threshold. The first codeword length is 648 bits or 81 bytes, and the second codeword length is 1296 bits or 162 bytes. The first preset code rate threshold and the second preset code rate threshold may be the same or different. The first preset code rate threshold and the second preset code rate threshold are both less than or equal to the reference code rate R (i.e., 0.5).
[0198] Exemplarily, the first length satisfies the following formula (2-1):
[0199]
[0200] Wherein, L1 represents the first length, and the same expressions below represent the same meanings and are not repeated here. N1 represents the first codeword length, which is equal to 648 bits or 81 bytes. R represents the reference bit rate, which is equal to 1 / 2. Rth1 represents the first preset bit rate threshold, which is less than or equal to 1 / 2. [x] Int Indicates that x is rounded, and the rounding in the embodiment of the present application can be rounded up or rounded down, which is not limited in the embodiment of the present application. The same symbols below represent the same meaning and will not be repeated.
[0201] Exemplarily, the second length satisfies the following formula (2-2):
[0202]
[0203] Wherein, L2 represents the second length, and the same expressions below represent the same meanings and are not repeated. N2 represents the second codeword length, which is equal to 1296 bits or 162 bytes. Rth2 represents the second preset code rate threshold, which is less than or equal to 1 / 2.
[0204] It can be understood that if the length of the first codeword is in bits, such as 648 bits, the first length can also be represented by the number of bits; of course, the first length can also be represented by the number of bytes (where 8 bits = 1 Byte), for example, the result (in bits) calculated by the above formula (2-1) is converted into a byte size (if it is not an integer byte after conversion, a rounding operation can be performed). If the length of the first codeword is in bytes, such as 81 bytes, the first length can also be represented by the number of bytes; of course, the first length can also be represented by the number of bits, which will not be repeated here. Similarly, if the length of the second codeword is in bits, such as 1296 bits, the second length can also be represented by the number of bits (where 1 Byte = 8 bits); of course, the second length can also be represented by the number of bytes, for example, the result (in bits) calculated by the above formula (2-2) is converted into a byte size (if it is not an integer byte after conversion, a rounding operation can be performed). If the second codeword length is in bytes, such as 162 bytes, the second length can also be represented by the number of bytes; of course, the second length can also be represented by the number of bits, which will not be repeated here.
[0205] Optionally, the value ranges of the first preset bit rate threshold Rth1 and the second preset bit rate threshold Rth2 can both be greater than or equal to 0.3 and less than or equal to 0.43. Alternatively, the value range of the first preset bit rate threshold Rth1 can be a subset greater than or equal to 0.3 and less than or equal to 0.43, and the value range of the second preset bit rate threshold Rth2 can also be a subset greater than or equal to 0.3 and less than or equal to 0.43. It can be understood that the value ranges of the first preset bit rate threshold Rth1 and the second preset bit rate threshold Rth2 are only examples. When the first preset bit rate threshold Rth1 is near 0.3, such as 0.29 or 0.28, or near 0.43, such as 0.45 or 0.44, it is within the protection scope of this application; similarly, when the second preset bit rate threshold Rth2 is near 0.3, such as 0.29 or 0.28, or near 0.43, such as 0.45 or 0.44, it is also within the protection scope of this application.
[0206] It can be understood that the value ranges of the first preset code rate threshold Rth1 and the second preset code rate threshold Rth2 are determined, and the value ranges of the first length and the second length are determined based on the above formula (2-1) and the above formula (2-2), which are not listed here one by one. Exemplarily, taking the first length represented by bits as an example, when the value range of the first preset code rate threshold Rth1 is greater than 0.3 and less than 0.43, based on the above formula (2-1), it can be determined that the value range of the first length is greater than 138 bits (rounded down) and less than 244 bits (rounded down), or greater than 139 bits (rounded up) and less than 245 bits (rounded up), or greater than 138 bits and less than 245 bits, or greater than 139 bits and less than 244 bits, etc. Similarly, for example, taking the second length represented by bits as an example, when the value range of the second preset bit rate threshold Rth2 is greater than 0.3 and less than 0.43, based on the above formula (2-2), it can be determined that the value range of the second length is greater than 277 bits (rounded down) and less than 488 bits (rounded down), or greater than 278 bits (rounded up) and less than 489 bits (rounded up), or greater than 277 bits and less than 489 bits, or greater than 278 bits and less than 488 bits, etc.
[0207] For example, take the first codeword length as 648 bits and the second codeword length as 1296 bits. When the first preset code rate threshold and the second preset code rate threshold are the same, such as when Rth1=Rth2=0.43, L1 calculated based on the above formula (2-1)=244 bits (rounded down) or 245 bits (rounded up), and L2 calculated based on the above formula (2-2)=488 bits (rounded down) or 489 bits (rounded up); for another example, when Rth1=Rth2=0.4, L1 calculated based on the above formula (2-1)=216 bits, and L2 calculated based on the above formula (2-2)=432 bits; for another example, when Rth1= When Rth2=0.33, L1 calculated based on the above formula (2-1) is 159 bits (rounded down) or 160 bits (rounded up), and L2 calculated based on the above formula (2-2) is 319 bits (rounded down) or 320 bits (rounded up); for example, when Rth1=Rth2=0.3, L1 calculated based on the above formula (2-1) is 138 bits (rounded down) or 139 bits (rounded up), and L2 calculated based on the above formula (2-2) is 277 bits (rounded down) or 278 bits (rounded up).
[0208] For another example, taking the first codeword length as 648 bits and the second codeword length as 1296 bits, when the first preset code rate threshold and the second preset code rate threshold are different, such as when Rth1=0.32, L1=152 bits (rounded down) or 153 bits (rounded up); when Rth2=0.4, L2=432 bits.
[0209] For another example, take the first codeword length as 81 bytes and the second codeword length as 162 bytes. When the first preset code rate threshold and the second preset code rate threshold are the same, such as Rth1=Rth2=0.43, L1=30 bytes or 31 bytes calculated based on the above formula (2-1), and L2=61 bytes or 62 bytes calculated based on the above formula (2-2); for another example, when Rth1=Rth2=0.4, L1=27 bytes, L2=54 bytes; for another example, when Rth1=Rth2=0.32, L1=19 bytes or 20 bytes, L2=38 bytes or 39 bytes. When the first preset code rate threshold and the second preset code rate threshold are different, such as when Rth1=0.32, L1=19 bytes (rounded down) or 20 bytes (rounded up); when Rth2=0.4, L2=54 bytes.
[0210] For example, the first codeword length is 648 bits, and the first length is represented by the number of bytes. For example, when Rth1=0.4, L1=216 bits, which is converted into a byte size of L1=[216 / 8] Int =27 bytes. For another example, when Rth1=0.32, L1=152 bits (rounded down) or 153 bits (rounded up); converted into byte size, it is 19 bytes (rounded down) or 20 bytes (rounded up), that is, the first length can be 19 bytes or 20 bytes.
[0211] For another example, taking the first codeword length (N1) as 648 bits as an example, when the value range of the first preset code rate threshold (Rth1) is greater than or equal to 0.3 and less than or equal to 0.43, the first length (L1) calculated according to the above formula (2-1) is converted into bytes as shown in the following Table 2a. Taking the second codeword length (N2) as 1296 bits as an example, when the value range of the second preset code rate threshold (Rth2) is greater than or equal to 0.3 and less than or equal to 0.43, the second length (L2) calculated according to the above formula (2-2) is converted into bytes as shown in the following Table 2b.
[0212] Table 2a
[0213]
[0214]
[0215] Table 2b
[0216] The second preset bit rate threshold Rth2 <![CDATA[Second length L2]]> 0.43 61 bytes (round down) or 62 bytes (round up) 0.42 58 bytes (round down) or 59 bytes (round up) 0.41 56 bytes (round down) or 57 bytes (round up) 0.40 54 bytes 0.39 51 bytes (round down) or 52 bytes (round up) 0.38 49 bytes (round down) or 50 bytes (round up) 0.37 47 bytes (round down) or 48 bytes (round up) 0.36 45 bytes (round down) or 46 bytes (round up) 0.35 43 bytes (round down) or 44 bytes (round up) 0.34 41 bytes (round down) or 42 bytes (round up) 0.33 39 bytes (round down) or 40 bytes (round up) 0.32 38 bytes (round down) or 39 bytes (round up) 0.31 36 bytes (round down) or 37 bytes (round up) 0.30 34 bytes (round down) or 35 bytes (round up)
[0217] Based on the above Table 2a and Table 2b, the first length L1 can be any value in Table 2a, and the second length L2 can be any value in Table 2b; the first length L1 and the second length L2 can be arbitrarily combined, including but not limited to: any combination of L1 and L2 when Rth1 and Rth2 are the same, and any combination of L1 and L2 when Rth1 and Rth2 are different. Due to space limitations, they are not listed one by one here.
[0218] In addition, for different values of Rth1 in Table 2a above, the first length L1 can also be rounded up or down to an integer multiple of 5 bytes; or for different values of Rth1 in Table 2a above, the first length L1 can also be rounded up or down to an integer multiple of 10 bytes, which will not be described in detail here. Similarly, for different values of Rth2 in Table 2b above, the second length L2 can also be rounded up or down to an integer multiple of 5 bytes; or for different values of Rth2 in Table 2b above, the first length L2 can also be rounded up or down to an integer multiple of 10 bytes, which will not be described in detail here.
[0219] For example, when Rth1=0.43, if the first length is rounded up to an integer number of bytes, the first length is 31 bytes; if it is rounded up or down to an integer multiple of 5 bytes, the first length is 35 bytes or 30 bytes; or if it is rounded up or down to an integer multiple of 10 bytes, the first length is 40 bytes or 30 bytes. When Rth1=0.3, if the first length is rounded up or down to an integer number of bytes, the first length is 18 bytes or 17 bytes; if it is rounded up or down to an integer multiple of 5 bytes, the first length is 20 bytes or 15 bytes; or if it is rounded up or down to an integer multiple of 10 bytes, the first length is 20 bytes or 10 bytes. Of course, for other values of the first length in Table 2a above, they can also be rounded up or down to an integer multiple of 5 bytes, or rounded up or down to an integer multiple of 10 bytes. The above examples are only for illustrative purposes.
[0220] For another example, when Rth2=0.43, if the second length is rounded up or down to an integer number of bytes, the second length is 62 bytes or 61 bytes; if it is rounded up or down to an integer multiple of 5 bytes, the second length is 65 bytes or 60 bytes; or if it is rounded up or down to an integer multiple of 10 bytes, the second length is 70 bytes or 60 bytes. When Rth2=0.3, if the second length is rounded up or down to an integer number of bytes, the second length is 35 bytes or 34 bytes; if it is rounded up or down to an integer multiple of 5 bytes, the second length is 35 bytes or 30 bytes; or if it is rounded up or down to an integer multiple of 10 bytes, the second length is 40 bytes or 30 bytes. Of course, for other values of the second length in Table 2b above, they can also be rounded up or down to an integer multiple of 5 bytes, or rounded up or down to an integer multiple of 10 bytes. The above examples are only for illustrative purposes.
[0221] It can also be understood that the first length L1 and the second length L2 in Table 2a and Table 2b are both in bytes. In practical applications, the first length L1 in Table 2a can also be in bits, and the second length L2 in Table 2b can also be in bits. The embodiments of the present application do not limit the units of the first length and the second length.
[0222] Optionally, when the first length and the second length are represented by the number of bytes, the rounding operation in the above formula (2-1) and / or the above formula (2-2) may be rounding to an integer number of bytes. In some scenarios, when the first length and the second length are represented by the number of bytes, the rounding operation in the above formula (2-1) and / or the above formula (2-2) may be rounding up or rounding down to an integer multiple of 5 bytes. In some other scenarios, when the first length and the second length are represented by the number of bytes, the rounding operation in the above formula (2-1) and the above formula (2-2) may be rounding up or rounding down to an integer multiple of 10 bytes. Similarly, when the first length and the second length are represented by the number of bits, the rounding operation in the above formula (2-1) and / or the above formula (2-2) may be rounding to an integer number of bits, or rounding up or rounding down to an integer multiple of 5 bits, or rounding up or rounding down to an integer multiple of 10 bits. The embodiments of the present application do not limit the specific method of rounding in the above formula (2-1) and the above formula (2-2).
[0223] For example, the first preset code rate threshold and the second preset code rate threshold are the same, Rth1 = Rth2 = 0.4. Assume that the first code word length is 648 bits, the second code word length is 1296 bits, and the first length and the second length are represented by the number of bytes respectively; then L1 = 216 bits, L2 = 432 bits; if rounded to an integer byte, then L1 = [216 / 8] Int =27 bytes, L2 = [432 / 8] Int =54 bytes. However, if the value is rounded up or down to an integer multiple of 5 bytes, then L1 = 25 bytes or 30 bytes, L2 = 50 bytes or 55 bytes; if the value is rounded up or down to an integer multiple of 10 bytes, then L1 = 20 bytes or 30 bytes, L2 = 50 bytes or 60 bytes.
[0224] Exemplarily, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword can be shown as in at least one row of Table 3a or Table 3b below. For example, when the length of the information bits to be encoded is greater than 0 and less than or equal to L1 bits or L1 bytes, the length of the LDPC codeword is 648 bits. For another example, when the length of the information bits to be encoded is greater than or equal to L1 bits or L1 bytes and less than or equal to L2 bits or L2 bytes, the length of the LDPC codeword is 1296 bits. For another example, when the length of the information bits to be encoded is greater than or equal to L2 bits or L2 bytes and less than or equal to 648 bits or 81 bytes, the length of the LDPC codeword is 1944 bits. It can be understood that the same or similar descriptions below represent the same or similar meanings and are not listed one by one.
[0225] Among them, Table 3a and Table 3b can be defined by the standard, can be preset, or can be determined by negotiation between the communicating parties, etc. "Inf_Num" in Table 3a and Table 3b represents the length of the information bits to be encoded. The same characters below represent the same meaning and will not be repeated. It can be understood that Table 3a and Table 3b are only examples. In actual applications, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword can be a subset of Table 3a or Table 3b. In other words, the rows shown in Table 3a can be decoupled, and some or all of the rows shown in Table 3a can exist in actual applications. Similarly, the rows shown in Table 3b can be decoupled, and some or all of the rows shown in Table 3b can exist in actual applications.
[0226] Table 3a
[0227]
[0228] Table 3b
[0229]
[0230] It can be understood that in Table 3a, L1 represents the first length, L2 represents the second length, and the unit is bits. In Table 3b, L1 represents the first length, L2 represents the second length, and the unit is bytes.
[0231] Optionally, the communication device may determine the length of the LDPC codeword based on the length of the information bits to be encoded and at least one row in the above Table 3a or the following Table 3b. The check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. The communication device determines the length of the LDPC codeword based on the length of the information bits to be encoded, including: if the length of the information bits to be encoded is greater than 0 and less than or equal to the first length, the communication device determines that the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to the second length, the communication device determines that the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to 648 bits (or 81 bytes), the communication device determines that the length of the LDPC codeword is 1944 bits.
[0232] Optionally, after step S102, the communication device may generate the LDPC codeword based on the determined length of the LDPC codeword, the above-mentioned information bits to be encoded, the reference code rate (1 / 2) of the LDPC codeword, and transmit the LDPC codeword. The LDPC codeword includes the information bits to be encoded and the check bits generated by encoding the information bits to be encoded (or the information bits to be encoded and shortened 0 bits) using the check matrix corresponding to the LDPC codeword. For example, the way in which the communication device generates the LDPC codeword can refer to the aforementioned Figure 5 Steps 1 to 4 of the present invention. Exemplarily, the communication device may transmit the LDPC codeword to other communication devices, or to the next module of the channel coding module for processing. For example, the communication device may transmit the LDPC codeword in a manner as described above. Figure 5 In other words, since there are no OFDM symbols in the UWB system, the LDPC coding process in the UWB system does not exist in the above step. Figure 5 Follow step 5 in the
[0233] Among them, the number of shortened 0 bits in the LDPC codeword of the embodiment of the present application can be determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the reference code rate. Specifically, the number of shortened 0 bits is:
[0234] Padding_Num=mod(K-mod(Inf_Num,K),K)......................(2-3)
[0235] Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, and Inf_Num represents the length of the information bits to be encoded. mod represents the modulo operation, and the same expressions below represent the same meanings, which will not be repeated here. K = N × R, N represents the length of the generated LDPC codeword, and R represents the reference code rate of the LDPC codeword.
[0236] It can be understood that the above Table 3a and Table 3b reuse LDPC codes with code lengths of 648 bits, 1296 bits, and 1944 bits in WLAN. In some scenarios, in order to reduce power consumption in the UWB system, only LDPC codes with medium and short code lengths in WLAN, that is, LDPC codes with code lengths of 648 bits and 1296 bits, can be reused. Exemplarily, the relationship between the length of the above-mentioned information bits to be encoded and the length of the above-mentioned LDPC codeword can satisfy one or more of the following: if the length of the information bits to be encoded is greater than 0 and less than or equal to the first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to the second length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to the first value, the length of the LDPC codeword is 1296 bits. The first value can be 648 bits or 81 bytes.
[0237] The beneficial effects of the embodiments of the present application are described in detail below in combination with the design concept of the LDPC codeword length in the embodiments of the present application.
[0238] It can be understood that the LDPC encoding process in the WLAN system is as described above. Figure 5 As shown, all the encoded codeword bits need to be placed in the OFDM symbol to be transmitted; if the number of all the encoded codeword bits exceeds the number of bits that the OFDM symbol can carry, it is necessary to perform a puncturing operation on the codeword, so that all the encoded codeword bits are punctured to just fit into the OFDM symbol to be transmitted; if the number of all the encoded codeword bits is less than the number of bits that the OFDM symbol can carry, it is necessary to repeat the operation on some information bits in the codeword to fill the OFDM symbol.
[0239] Unlike WLAN systems, UWB systems do not have OFDM symbols, which means that UWB transmission does not need to load the encoded codeword bits into OFDM symbols, and does not need to puncture some check bits that may exceed the maximum number that OFDM symbols can load. Therefore, the selection of LDPC codeword length in UWB systems needs to consider performance and code rate waste (that is, too much shortening of 0 bits), without considering the repeated bits (repeat bits) and punctured bits caused by OFDM symbols. In other words, there is no need to consider the aforementioned Figure 5 The impact of step 5 on the selection of LDPC codeword length in the above figure. In other words, the selection (or determination) method of the LDPC codeword length in the UWB system is different from the selection (or determination) method of the LDPC codeword length in the WLAN system. However, the selection (or determination) of the LDPC codeword length in the UWB system also requires a trade-off between long codes and short codes. This is because: always using long codes (such as LDPC codes with a length of 1944 bits) will achieve better error control performance, but for shorter information bits to be encoded, a large number of shortening zero bits are required, resulting in a waste of code rate; while always using short codes (such as LDPC codes with a length of 648 bits), for long data packets, the performance of long data packets will be reduced when using short codes compared to using long codes, that is, always using short codes will result in performance loss of long data packets.
[0240] See also Figure 8 , Figure 8 Schematic diagram of LDPC coding process in UWB system provided by the embodiment of the present application. Figure 8 As shown, taking the information bits to be encoded as payload bits as an example, it should be understood that Figure 8 The information bits to be encoded are not limited to payload bits, but can also be a set of payload bits and CRC bits. In step 3, if the information bits to be encoded cannot fill the information bit positions of the LDPC codeword, it is necessary to add zeros after the information bits to fill the information bit positions of the LDPC codeword; then use the check matrix corresponding to the LDPC codeword to encode the information bits to be encoded and shorten the zero bits to generate the check bits. After the complete LDPC codeword is encoded, the shortened zero bits added in step 3 are deleted as shown in step 4 to obtain the final transmitted codeword sequence.
[0241] like Figure 8As shown, the shortening operation in step 3 will cause the actual code rate of the codeword sequence finally transmitted to be lower than the reference code rate of the LDPC codeword. For example, for an LDPC code with a reference code rate of 1 / 2 (i.e., R=1 / 2) and a code length of 1944 bits (i.e., N=1944), the number of information bits K=N×R=1944×(1 / 2)=972 bits, and the number of check bits M=N×(1-R)=1944×(1 / 2)=972 bits; if the 0 bit is shortened to 486 bits, the actual code rate R′=(972-486) / (972-486+972)=486 / 1458=1 / 3. However, the code rate required for system transmission is 1 / 2 at this time, but the actual code rate of the LDPC code with a length of 1944 bits is R′=1 / 3, resulting in a waste of code rate and increasing the transmission overhead of the system.
[0242] According to the calculation method of the shortened 0 bits number in the above formula (2-3), when the reference code rate is fixed at 1 / 2, the shortened 0 bits number required for the three code lengths (i.e., 648 bits, 1296 bits, and 1944 bits) of the LDPC code varies with the length of the information bits to be encoded as follows: Fig. 9 shown. Fig. 9 The horizontal axis represents the length of the information bits to be encoded, and the vertical axis represents the number of shortened 0 bits. Fig. 9 The “①” in the figure represents the curve in which the number of shortened 0 bits required for an LDPC code with a reference code rate of 1 / 2 and a code length of 648 bits varies with the length of the information bits to be encoded. Fig. 9 The “②” in the figure indicates the curve of the number of shortened 0 bits required for an LDPC code with a reference code rate of 1 / 2 and a code length of 1296 bits changing with the length of the information bits to be encoded. Fig. 9"③" in the figure indicates the curve of the number of shortened 0 bits required for an LDPC code with a reference code rate of 1 / 2 and a code length of 1944 bits as a function of the length of the information bits to be encoded. In order to reduce code rate waste (or transmission overhead), it is possible to consider selecting the code length with the least shortened 0 bits given the length of the information bits to be encoded; if the number of shortened 0 bits required for LDPC codes of multiple code lengths is the same, then the LDPC code with the longest code length is selected, because the long code has better error control performance. For example, when the length of the information bits to be encoded is 0 to 324 bits, a 648-bit LDPC code is selected; when the length of the information bits to be encoded is 325 to 648 bits, a 1296-bit LDPC code is selected; when the length of the information bits to be encoded is 649 to 972 bits, a 1944-bit LDPC code is selected; when the length of the information bits to be encoded is 973 to 1296 bits, a 1296-bit LDPC code is selected; when the length of the information bits to be encoded is 1297 to 1620 bits, a 648-bit LDPC code is selected; when the length of the information bits to be encoded is 1621 to 1944 bits, a 1944-bit LDPC code is selected; and so on.
[0243] However, minimizing the number of shortened 0 bits will result in switching back and forth between the three code lengths as the length of the information bits to be encoded increases, which will result in the selection of a short code for long data packets (such as when the length of the information bits to be encoded is 1297 to 1620 bits, a 648-bit LDPC code will be selected), resulting in performance loss. In order to reduce the performance loss of long data packets, an embodiment of the present application considers assisting the selection of code length by an effective code rate. Among them, the effective code rate (Rate_E) can be determined based on the length of the information bits to be encoded (Inf_Num), the number of information bits in the LDPC codeword (K), and the number of check bits in the LDPC codeword (M). Specifically, the effective code rate (Rate_E) can be expressed as:
[0244] Rate_E=Inf_Num / Trans_Bits................................(2-4)
[0245] Trans_Bits=Inf_Num+(floor((Inf_Num-1) / K)+1)*M.............(2-5)
[0246] Wherein, floor means rounding down. K means the number of information bits in the LDPC codeword, and M means the number of check bits in the LDPC codeword. M=(1-R)×N, where N means the length of a single LDPC codeword.
[0247] According to the calculation method of the effective code rate (Rate_E) in formula (2-4), when the reference code rate is fixed at 1 / 2, the effective code rates of the LDPC codes of three code lengths (i.e., 648 bits, 1296 bits, and 1944 bits) vary with the length of the information bits to be encoded as follows: Fig.10 shown. Fig.10 The horizontal axis represents the length of the information bits to be encoded, and the vertical axis represents the effective code rate. Fig.10 “①” in the figure indicates the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 648 bits varying with the length of the information bits to be encoded. Fig.10 The “②” in the figure indicates the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1296 bits varying with the length of the information bits to be encoded. Fig.10 "③" in the figure indicates the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1944 bits changing with the length of the information bits to be encoded. In order to reduce the performance loss of long data packets, it is possible to consider selecting a code length with a higher effective code rate given the length of the information bits to be encoded; if the effective code rates of LDPC codes of multiple code lengths are the same, the LDPC code with the longest code length is selected, because the error control performance of the long code is better. For example, when the length of the information bits to be encoded is 0 to 324 bits, a LDPC code with a length of 648 bits is selected; when the length of the information bits to be encoded is 325 to 648 bits, a LDPC code with a length of 1296 bits is selected; when the length of the information bits to be encoded is 649 to 972 bits, a LDPC code with a length of 1944 bits is selected; when the length of the information bits to be encoded is 973 to 1296 bits, a LDPC code length of 1296 bits is selected; and so on.
[0248] Understandable, such as Fig.10 As shown in the figure, as the length of the information bits to be encoded increases, the effective code rate (Rate_E) is getting closer and closer to the reference code rate 1 / 2. Therefore, when the information bits to be encoded are very long, the code rate loss caused by shortening the 0 bits is very small, that is, when the information bits to be encoded are very long, the LDPC code with the longest code length (i.e., 1944 bits) can be selected, because the error control performance gain of the long code is greater.
[0249] The embodiment of the present application selects the length of the LDPC codeword based on the trade-off between the effective code rate and the long code performance.
[0250] In a possible implementation, a threshold Rth of the effective code rate Rate_E is set, that is, Rth1 = Rth2 = Rth. According to the calculation formula of the effective code rate Rate_E = Rth (the aforementioned formula (2-4)), the first length corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 648 bits (i.e., the aforementioned formula (2-1)) can be deduced inversely, and the second length corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 1296 bits (i.e., the aforementioned formula (2-2)) can be deduced inversely.
[0251] When Inf_Num (the length of the information bits to be encoded) is less than or equal to 648 bits, first select an LDPC code with a code length of 648 bits for encoding; as Inf_Num increases, if the effective code rate increases to Rate_E > Rth, and there are other code lengths (such as 1296 bits and 1944 bits) with Rate_E < Rth under this Inf_Num, then select the code length with a higher effective code rate Rate_E (1296 bits) among the other code lengths. As Inf_Num continues to increase, if the effective code rate increases to Rate_E > Rth again, and there is another code length (1944 bits) with Rate_E < Rth under this Inf_Num, then select the code length with a higher effective code rate Rate_E (1944 bits) among the other code lengths.
[0252] For example, referring to Figures 11a to 11c is a schematic diagram of the length selection of three LDPC codewords provided by an embodiment of the present application. Fig.11a Taking Rth = 0.4 as an example, the first value is 648 bits, the first length L1 = 216 bits, and the second length L2 = 432 bits. Fig.11b Taking Rth = 0.33 as an example, the first value is 648 bits, assuming the first length L1 = 160 bits and the second length L2 = 320 bits. Fig.11c Taking Rth = 0.3 as an example, the first value is 648 bits, assuming the first length L1 = 138 bits and the second length L2 = 278 bits. Among them, Figures 11a to 11c the abscissa represents the length of the information bits to be encoded, and the ordinate represents the effective code rate. Figures 11a to 11c In [the figure], "①" represents the curve of the effective code rate of an LDPC code with a reference code rate of 1 / 2 and a code length of 648 bits changing with the length of the information bits to be encoded; "②" represents the curve of the effective code rate of an LDPC code with a reference code rate of 1 / 2 and a code length of 1296 bits changing with the length of the information bits to be encoded; "③" represents the curve of the effective code rate of an LDPC code with a reference code rate of 1 / 2 and a code length of 1944 bits changing with the length of the information bits to be encoded.
[0253] According to the above principle, Figures 11a to 11cThe arrows in it respectively show the selection of code lengths. Specifically, as Fig.11a shown, when 0 < Inf_Num ≤ 216 bits, an LDPC codeword with a code length of 648 bits is selected for encoding; when 216 bits < Inf_Num ≤ 432 bits, an LDPC codeword with a code length of 1296 bits is selected for encoding; when 432 bits < Inf_Num ≤ 648 bits, an LDPC codeword with a code length of 1944 bits is selected for encoding. As Fig.11b shown, when 0 < Inf_Num ≤ 160 bits, an LDPC codeword with a code length of 648 bits is selected for encoding; when 160 bits < Inf_Num ≤ 320 bits, an LDPC codeword with a code length of 1296 bits is selected for encoding; when 320 bits < Inf_Num ≤ 648 bits, an LDPC codeword with a code length of 1944 bits is selected for encoding. As Fig.11c shown, when 0 < Inf_Num ≤ 138 bits, an LDPC codeword with a code length of 648 bits is selected for encoding; when 138 bits < Inf_Num ≤ 278 bits, an LDPC codeword with a code length of 1296 bits is selected for encoding; when 278 bits < Inf_Num ≤ 648 bits, an LDPC codeword with a code length of 1944 bits is selected for encoding.
[0254] In another possible implementation, two thresholds of the effective code rate Rate_E are set, that is, the aforementioned first preset code rate threshold Rth1 and the aforementioned second preset code rate threshold Rth2 are different. Then, according to the calculation formulas of the effective code rate Rate_E = Rth1 and the effective code rate Rate_E = Rth2 (the aforementioned formula (2-4)), the first length corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 648 bits (i.e., the aforementioned formula (2-1)) can be deduced inversely, and the second length corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 1296 bits (i.e., the aforementioned formula (2-2)) can be deduced inversely.
[0255] For example, referring to Fig.12 , Fig.12 is a schematic diagram of the length selection of another LDPC codeword provided by the embodiment of the present application. Fig.13 Taking Rth1 = 0.32 and Rth2 = 0.4 as an example, the first value is 648 bits. If the first length L1 = 152 bits and the second length L2 = 432 bits. Among them, Fig.12 the abscissa in it represents the length of the information bits to be encoded, and the ordinate represents the effective code rate. Fig.12In it, "①" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 648 bits varying with the length of the information bits to be encoded; "②" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1296 bits varying with the length of the information bits to be encoded; "③" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1944 bits varying with the length of the information bits to be encoded. According to the above principle, Fig.12 the arrow in Fig.12 shows the selection of the code length. Specifically, as
[0256] shown, when 0 < Inf_Num ≤ 152 bits, select the LDPC codeword with a code length of 648 bits for encoding; when 152 bits < Inf_Num ≤ 432 bits, select the LDPC codeword with a code length of 1296 bits for encoding; when 152 bits < Inf_Num ≤ 648 bits, select the LDPC codeword with a code length of 1944 bits for encoding.
[0256] From the above Figures 11a to 11c and Fig.12 it can be known that when different values of Rth are selected, when the length of the information bits to be encoded is greater than the first length and less than or equal to the second length, the LDPC code with a code length of 1296 bits will be selected, so as to achieve a good balance between the error control performance and the effective code rate within this data length range.
[0257] Therefore, in the method for determining the length of the LDPC codeword in the embodiment of the present application, through the trade-off between the effective code rate and the long code performance, it can not only ensure that long codes are used as much as possible in UWB transmission to obtain better error control performance gain, but also avoid the code rate loss caused by excessive shortening of 0 bits when the length of the information bits to be encoded is short; at the same time, it can also ensure that the effective code rate of short packets (such as when the length of the information bits to be encoded is less than or equal to 648 bits) is lower than a given threshold, thereby improving the short packet performance.
[0258] Embodiment 2
[0259] This embodiment of the present application mainly introduces a method for determining the length of the LDPC codeword when the length of the information bits to be encoded is greater than 648 bits (or 81 bytes).
[0260] It can be understood that this embodiment of the present application can be jointly implemented with the foregoing Embodiment 1, or this embodiment of the present application can also be implemented alone, and the present application does not make any restrictions in this regard.
[0261] Refer to Fig.13 , Fig.13 which is another schematic flow diagram of the method for determining the length of the LDPC codeword in the UWB system provided by the embodiment of the present application. The communication device in this method can be the foregoing Figure 1 or Figure 2 Any device in Fig.13 As shown, the method for determining the length of the LDPC codeword in the UWB system includes but is not limited to the following steps:
[0262] S201, the communication device obtains the length of information bits to be encoded.
[0263] The information bits to be encoded in the embodiment of the present application may refer to information bits before channel coding, or information bits input at the input end of the channel coding module. Exemplarily, the information bits to be encoded may be data bits to be encoded (i.e., payload bits), or the information bits to be encoded may also include data bits to be encoded and CRC bits, which are not limited in the embodiment of the present application.
[0264] S202, the communication device determines the length of the LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; wherein, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits.
[0265] The reference code rate R of the LDPC codeword is 1 / 2. The first value may be 648 bits or 81 bytes.
[0266] Optionally, the first length and the second length can be characterized by the number of bits or bytes, and the embodiment of the present application is not limited. The third length can be determined based on the third codeword length, the reference code rate of the LDPC codeword, and the third preset code rate threshold. The fourth length can be determined based on the second codeword length and the fourth preset code rate threshold. The third codeword length is 1944 bits or 243 bytes, and the second codeword length is 1296 bits or 162 bytes. The third preset code rate threshold and the fourth preset code rate threshold may be the same or different. The third preset code rate threshold and the fourth preset code rate threshold are both less than or equal to the reference code rate R (i.e., 0.5).
[0267] Exemplarily, the third length satisfies the following formula (3-1):
[0268]
[0269] Wherein, L3 represents the third length, and the same expression means the same meaning below, which will not be repeated. N3 represents the third codeword length, which is equal to 1944 bits or 243 bytes. R represents the reference bit rate, which is equal to 1 / 2. Rth3 represents the third preset bit rate threshold, which is less than or equal to 1 / 2.
[0270] Exemplarily, the fourth length satisfies the following formula (3-2):
[0271]
[0272] Wherein, L4 represents the fourth length, and the same expressions below represent the same meanings and are not repeated. N2 represents the second codeword length, which is equal to 1296 bits or 162 bytes. Rth4 represents the fourth preset code rate threshold, which is less than or equal to 1 / 2.
[0273] It can be understood that if the third codeword length is in bits, such as 1944 bits, the third length can also be represented by the number of bits; of course, the third length can also be represented by the number of bytes (where 8 bits = 1 Byte), for example, the result (in bits) calculated by the above formula (3-1) is converted into a byte size (if it is not an integer byte after conversion, a rounding operation can be performed). If the third codeword length is in bytes, such as 243 bytes, the third length can also be represented by the number of bytes; of course, the third length can also be represented by the number of bits, which will not be repeated here. Similarly, if the second codeword length is in bits, such as 1296 bits, the fourth length can also be represented by the number of bits (where 1 Byte = 8 bits); of course, the fourth length can also be represented by the number of bytes, for example, the result (in bits) calculated by the above formula (3-2) is converted into a byte size (if it is not an integer byte after conversion, a rounding operation can be performed). If the second codeword length is in bytes, such as 162 bytes, the fourth length can also be represented by the number of bytes; of course, the fourth length can also be represented by the number of bits, which will not be repeated here.
[0274] Optionally, the value ranges of the third preset bit rate threshold Rth3 and the fourth preset bit rate threshold Rth4 can both be greater than 0.4 and less than or equal to 0.5. Alternatively, the value range of the third preset bit rate threshold Rth3 can be a subset of greater than or equal to 0.4 and less than or equal to 0.5, and the value range of the fourth preset bit rate threshold Rth4 can also be a subset of greater than or equal to 0.4 and less than or equal to 0.5.
[0275] It can be understood that the value ranges of the third preset code rate threshold Rth3 and the fourth preset code rate threshold Rth4 are determined, and the value ranges of the third length and the fourth length are determined based on the above formula (3-1) and the above formula (3-2), which are not listed here one by one. Exemplarily, taking the third length represented by bits as an example, when the value range of the third preset code rate threshold Rth3 is greater than 0.4 and less than 0.5, based on the above formula (3-1), it can be determined that the value range of the third length is greater than 648 bits and less than 972 bits. Taking the third length represented by bytes as an example, when the value range of the third preset code rate threshold Rth3 is greater than 0.4 and less than 0.5, based on the above formula (3-1), it can be determined that the value range of the third length is greater than 81 bytes and less than 121 bytes (rounded down) or 122 bytes (rounded up). Similarly, illustratively, taking the fourth length represented by bits as an example, when the value range of the fourth preset code rate threshold Rth4 is greater than 0.4 and less than 0.5, based on the above formula (3-2), it can be determined that the value range of the fourth length is greater than 864 bits and less than 1296 bits. Taking the fourth length represented by bytes as an example, when the value range of the fourth preset code rate threshold Rth4 is greater than 0.4 and less than 0.5, based on the above formula (3-2), it can be determined that the value range of the third length is greater than 108 bytes and less than 162 bytes.
[0276] In some scenarios, when the embodiments of the present application are implemented in combination with the aforementioned embodiment 1, the first preset bit rate threshold and the second preset bit rate threshold in the aforementioned embodiment 1 and the third preset bit rate threshold and the fourth preset bit rate threshold in the embodiments of the present application may be different, or partially the same, or all the same, and the embodiments of the present application are not limited to this.
[0277] For example, the third codeword length is 1944 bits and the second codeword length is 1296 bits. When the third preset code rate threshold and the fourth preset code rate threshold are the same, such as when Rth3=Rth4=0.43, L3 calculated based on the above formula (3-1) is 733 bits (rounded down) or 734 bits (rounded up), and L4 calculated based on the above formula (3-2) is 977 bits (rounded down) or 978 bits (rounded up); for example, when Rth3=Rth4=0.45, L3 calculated based on the above formula (3-1) is 795 bits (rounded down) or 796 bits (rounded up), and L4 calculated based on the above formula (3-2) is 1063 bits (rounded down). For example, when Rth3=Rth4=0.41, L3=675 bits or 676 bits calculated based on the above formula (3-1), and L4=900 bits or 901 bits calculated based on the above formula (3-2); for example, when Rth3=Rth4=0.42, L3=703 bits or 704 bits calculated based on the above formula (3-1), and L4=938 bits or 939 bits calculated based on the above formula (3-2); for example, when Rth3=Rth4=0.5, L3=972 bits, and L4=1296 bits.
[0278] For another example, taking the third codeword length as 1944 bits and the second codeword length as 1296 bits, when the third preset code rate threshold and the fourth preset code rate threshold are different, such as when Rth3=0.43, L3=733 bits (rounded down) or 734 bits (rounded up); when Rth4=0.45, L4=1063 bits.
[0279] For another example, take the third codeword length as 243 bytes and the second codeword length as 162 bytes. When the third preset code rate threshold and the third preset code rate threshold are the same, such as Rth3=Rth4=0.45, L3=99bytes or 100bytes, L4=132bytes or 133bytes. When the third preset code rate threshold and the fourth preset code rate threshold are different, such as Rth3=0.43, L3=91bytes or 92bytes; Rth4=0.48, L4=149bytes or 150bytes.
[0280] For another example, the third codeword length is 1944 bits, and the third length is represented by the number of bytes. For example, when Rth3=0.43, L3=733 bits or 734 bits, which is converted into byte size of 91 bytes or 92 bytes.
[0281] Optionally, similar to the above embodiment, when the third length and the fourth length are represented by the number of bytes, the rounding operation in the above formula (3-1) and / or the above formula (3-2) may be rounded to an integer number of bytes. In some scenarios, when the third length and the fourth length are represented by the number of bytes, the rounding operation in the above formula (3-1) and / or the above formula (3-2) may be rounded up or rounded down to an integer multiple of 5 bytes. In some other scenarios, when the third length and the fourth length are represented by the number of bytes, the rounding operation in the above formula (3-1) and the above formula (3-2) may be rounded up or rounded down to an integer multiple of 10 bytes. Similarly, when the third length and the fourth length are represented by the number of bits, the rounding operation in the above formula (3-1) and / or the above formula (3-2) may be rounded to an integer number of bits, may be rounded up or rounded down to an integer multiple of 5 bits, or may be rounded up or rounded down to an integer multiple of 10 bits. The embodiments of the present application do not limit the specific method of rounding in the above formula (3-1) and the above formula (3-2).
[0282] For example, the third preset code rate threshold and the fourth preset code rate threshold are the same, Rth3 = Rth4 = 0.43. Assume that the third code word length is 1944 bits, the second code word length is 1296 bits, and the third length and the fourth length are represented by the number of bytes respectively; then L3 = 733 bits (rounded down) or 734 bits (rounded up), L4 = 977 bits (rounded down) or 978 bits (rounded up). If rounded to an integer number of bytes, the third length is [733 / 8] Int or [734 / 8] Int , that is, 91 bytes or 92 bytes; the fourth length is [977 / 8] Int or [978 / 8] Int , that is, 122 bytes or 123 bytes. However, if the number is rounded up or down to an integer multiple of 5 bytes, the third length is 90 bytes or 95 bytes, and the fourth length is 120 bytes or 125 bytes; if the number is rounded up or down to an integer multiple of 10 bytes, the third length is 90 bytes or 100 bytes, and the fourth length is 120 bytes or 130 bytes.
[0283] Exemplarily, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword can be shown in at least one row of Table 4 or Table 5 below. Among them, Tables 4 and 5 can be defined by the standard, can be preset, can be determined by negotiation between the communicating parties, etc. "Inf_Num" in Tables 4 and 5 represents the length of the information bits to be encoded, and the same characters below represent the same meaning, which will not be repeated. It can be understood that Tables 4 and 5 are only examples. In actual applications, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword can be a subset of Table 4 or Table 5. In other words, the rows shown in Table 4 can be decoupled, and some or all of the rows shown in Table 4 can exist in actual applications. Similarly, the rows shown in Table 5 can be decoupled, and some or all of the rows shown in Table 5 can exist in actual applications.
[0284] Table 4
[0285]
[0286] Table 5
[0287]
[0288]
[0289] It can be understood that L3 in Table 4 represents the third length, L4 represents the fourth length, and the unit is bits. L3 in Table 5 represents the third length, L4 represents the fourth length, and the unit is bytes.
[0290] Optionally, the communication device may determine the length of the LDPC codeword based on the length of the information bits to be encoded and at least one row in the above Table 4 or the following Table 5. The check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. The communication device determines the length of the LDPC codeword based on the length of the information bits to be encoded, including: if the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to the third length, the communication device determines that the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the communication device determines that the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the communication device determines that the length of the LDPC codeword is 1944 bits.
[0291] Optionally, after step S202, the communication device may generate the LDPC codeword based on information such as the determined length of the LDPC codeword, the information bits to be encoded, and the reference code rate (1 / 2) of the LDPC codeword, and transmit the LDPC codeword. The LDPC codeword includes the information bits to be encoded and the parity bits generated by encoding the information bits to be encoded (or the information bits to be encoded and shortened 0 bits) using the parity check matrix corresponding to the LDPC codeword. For example, the manner in which the communication device generates the LDPC codeword may refer to the foregoing Figure 5 Steps 1 to 4. Exemplarily, the communication device may transmit the LDPC codeword to other communication devices, or transmit it to the next module of the channel coding module for processing. For example, the manner in which the communication device transmits the LDPC codeword may refer to the foregoing Figure 5 Step 6. In other words, since there is no OFDM symbol in the UWB system, the LDPC encoding process in the UWB system does not have the foregoing Figure 5 Step 5.
[0292] Wherein, the number of shortened 0 bits in the LDPC codeword of the embodiment of the present application may be determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the reference code rate. Specifically, the number of shortened 0 bits is determined according to the foregoing formula (2-3).
[0293] It can be understood that the design concept of the LDPC codeword length in the embodiment of the present application is similar to the design concept of the LDPC codeword length in the foregoing Embodiment 1.
[0294] Specifically, two thresholds of the effective code rate Rate_E are set: Rth3 and Rth4, and the third length (648 bits (or 81 bytes) < L3 ≤ 972 bits (121 bytes or 122 bytes)) and the fourth length (L4 > L3) are calculated according to these two thresholds and the foregoing formula (3-1) and formula (3-2).
[0295] For example, referring to Fig.14 Fig.14 is a schematic diagram of another length selection of the LDPC codeword provided by the embodiment of the present application. Fig.14 Taking Rth3 = Rth4 = 0.46 as an example, the first value is 648 bits, the third length L3 = 828 bits, and the fourth length L4 = 1104 bits. Among them, Fig.14 the abscissa represents the length of the information bits to be encoded, and the ordinate represents the effective code rate. Fig.14In it, "①" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 648 bits varying with the length of the information bits to be encoded; "②" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1296 bits varying with the length of the information bits to be encoded; "③" represents the curve of the effective code rate of the LDPC code with a reference code rate of 1 / 2 and a code length of 1944 bits varying with the length of the information bits to be encoded. Additionally, Fig.14 "X" in it represents the third length, and "Y" represents the fourth length.
[0296] According to a similar principle in Embodiment 1, Fig.14 the arrow in it shows the selection of the code length. Specifically, as Fig.14 shown, when 648 bits < Inf_Num ≤ 828 bits, select the LDPC codeword with a code length of 1944 bits for encoding; when 828 bits < Inf_Num ≤ 1104 bits, select the LDPC codeword with a code length of 1296 bits for encoding; when 1104 bits < Inf_Num ≤ 1296 bits, select the LDPC codeword with a code length of 1944 bits for encoding.
[0297] From the above Fig.14 it can be known that when the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the LDPC code with a code length of 1296 bits will be selected, so as to achieve a good balance between the error control performance and the effective code rate within this data length range.
[0298] The beneficial effects of the embodiments of the present application and the beneficial effects of the foregoing Embodiment 1 can be referred to each other. Specifically, the embodiments of the present application still ensure that long codes are preferably used in UWB transmission to obtain a better error control performance gain through the trade-off between the effective code rate and the long code performance, and can also avoid the code rate loss caused by excessive shortening of 0 bits when the length of the information bits to be encoded is short.
[0299] The above content elaborates in detail the method provided by the present application. To facilitate the implementation of the above solutions of the embodiments of the present application, the embodiments of the present application also provide corresponding devices or equipment.
[0300] The present application divides the communication device into functional modules according to the above method embodiments. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation. Next, it will be combined with Figures 15 to 17The communication device according to the embodiment of the present application is described in detail.
[0301] See also Fig.15 , Fig.15 is a schematic diagram of a structure of a communication device provided in an embodiment of the present application. Fig.15 As shown, the communication device includes an acquisition unit 10 and a determination unit 20. Optionally, the communication device also includes a transmission unit 30.
[0302] In one design, the acquisition unit 10 is used to obtain the length of the information bits to be encoded; the determination unit 20 is used to determine the length of the LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first length and the second length is determined based on a preset code rate threshold.
[0303] In a possible implementation, the transmission unit 30 is used to transmit the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
[0304] In another design, the acquisition unit 10 is used to obtain the length of the information bits to be encoded; the determination unit 20 is used to determine the length of the LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits. Wherein, the length of the information bits to be encoded and the length of the LDPC codeword meet one or more of the following conditions: if the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits; the first value is 648 bits or 81 bytes. At least one of the third length and the fourth length is determined based on a preset code rate threshold.
[0305] In a possible implementation, the transmission unit 30 is used to transmit the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
[0306] The acquisition unit 10, the determination unit 20 and the transmission unit 30 may be integrated into one unit or module, such as a processing unit. Optionally, the transmission unit 30 may also be a transceiver or a transceiver unit.
[0307] In the embodiment of the present application, the specific description of the first value, the first length, the second length, the third length, the fourth length, and the preset bit rate threshold, etc. can refer to the method embodiment shown above (including Figure 7 and Fig.13 ), which will not be described in detail here.
[0308] It should be understood that the specific functions or execution steps of each of the above-mentioned units can be referred to the above-mentioned method embodiments and will not be described in detail here.
[0309] The above describes the communication device of the embodiment of the present application, and the following describes possible product forms of the communication device. It should be understood that any device having the above Fig.15 Any form of product with the functions of the communication device described above falls within the protection scope of the embodiments of the present application. It should also be understood that the following description is only an example and does not limit the product form of the communication device of the embodiments of the present application to this.
[0310] Fig.15 In the communication device shown in FIG. 1 , the acquisition unit 10, the determination unit 20 and the transmission unit 30 may be implemented by one or more processors. Fig.16 , Fig.16 It is a schematic diagram of the structure of the communication device 1000 provided in an embodiment of the present application. Fig.16 Only the main components of the communication device 1000 are shown. In addition to the processor 1001, the communication device may further include a transceiver 1002 and a memory 1003, as well as an input and output device (not shown). The processor 1001 and the transceiver 1002 may be coupled, etc. The embodiment of the present application does not limit the connection method between the processor and the transceiver.
[0311] The processor 1001 is mainly used to process the communication protocol and communication data, and to control the entire communication device, execute the software program, and process the data of the software program. The memory 1003 is mainly used to store the software program and data. The transceiver 1002 may include a control circuit and an antenna. The control circuit is mainly used to convert the baseband signal and the radio frequency signal and process the radio frequency signal. The antenna is mainly used to send and receive radio frequency signals in the form of electromagnetic waves. The input and output devices, such as a touch screen, a display screen, a keyboard, etc., are mainly used to receive data input by the user and output data to the user.
[0312] After the communication device is turned on, the processor 1001 can read the software program in the memory 1003, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be sent wirelessly, the processor 1001 performs baseband processing on the data to be sent, and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then sends the radio frequency signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 1001. The processor 1001 converts the baseband signal into data and processes the data.
[0313] In another implementation, the RF circuit and antenna may be arranged independently of the processor performing baseband processing. For example, in a distributed scenario, the RF circuit and antenna may be arranged remotely from the communication device.
[0314] The processor 1001 , the transceiver 1002 , and the memory 1003 may be connected via a communication bus.
[0315] In one design, the communication device 1000 may be used to perform the functions of the above-mentioned embodiment 1: the processor 1001 may be used to execute Figure 7 Steps S101 and S102 in the above, and / or other processes for performing the techniques described herein; the transceiver 1002 may be used to transmit and receive Figure 7 information or data required, and / or other processes for the technology described in this article.
[0316] In another design, the communication device 1000 may be used to perform the functions of the second embodiment described above: the processor 1001 may be used to execute Fig.13 Steps S201 and S202 in the above, and / or other processes for performing the technology described herein; the transceiver 1002 may be used to transmit and receive Fig.13 information or data required, and / or other processes for the technology described in this article.
[0317] In any of the above designs, the processor 1001 may include a transceiver for implementing the receiving and sending functions. For example, the transceiver may be a transceiver circuit, or an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing the receiving and sending functions may be separate or integrated. The above transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or the above transceiver circuit, interface, or interface circuit may be used for transmitting or delivering signals.
[0318] In any of the above designs, the processor 1001 may store instructions, which may be computer programs. The computer programs run on the processor 1001, and the communication device 1000 may execute the method described in the above method embodiment. The computer program may be fixed in the processor 1001, in which case the processor 1001 may be implemented by hardware.
[0319] In one implementation, the communication device 1000 may include a circuit that can implement the functions of sending or receiving or communicating in the aforementioned method embodiment. The processor and transceiver described in the present application can be implemented in an integrated circuit (IC), an analog IC, a radio frequency integrated circuit (RFIC), a mixed signal IC, an application specific integrated circuit (ASIC), a printed circuit board (PCB), an electronic device, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal oxide semiconductor (CMOS), N-type metal oxide semiconductor (nMetal-oxide-semiconductor, NMOS), P-type metal oxide semiconductor (positive channel metal oxide semiconductor, PMOS), bipolar junction transistor (bipolar junction transistor, BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), gallium arsenide (GaAs), etc.
[0320] It is understandable that the communication device shown in the embodiment of the present application may also have Fig.16 The embodiments of the present application do not limit the number of components and the like. The methods executed by the processor and transceiver shown above are only examples, and the specific steps executed by the processor and transceiver can refer to the introduction of the above method embodiments.
[0321] For example, the scope of the communication device described in this application is not limited thereto, and the structure of the communication device may not be limited thereto. Fig.16 The communication device may be an independent device or may be part of a larger device. For example, the communication device may be:
[0322] (1) Independent integrated circuit IC, or chip, or chip system or subsystem;
[0323] (2) having a set of one or more ICs, and optionally, the IC set may also include a storage component for storing data and computer programs;
[0324] (3) ASIC, such as modem;
[0325] (4) Modules that can be embedded in other devices;
[0326] (5) Receivers, terminals, smart terminals, cellular phones, wireless devices, handheld devices, mobile units, vehicle-mounted devices, network devices, cloud devices, artificial intelligence devices, etc.;
[0327] (6)Others
[0328] In another possible implementation, Fig.15 In the communication device shown, the acquisition unit 10 and the determination unit 20 may be implemented by one or more logic circuits, and the transmission unit 30 may be an input / output interface, or a communication interface, or an interface circuit, or an interface, etc. Alternatively, the transmission unit 30 may be a sending unit and a receiving unit, the sending unit may be an output interface, the receiving unit may be an input interface, and the sending unit and the receiving unit may be integrated into one unit, such as an input / output interface. Fig.17 , Fig.17 is another structural diagram of the communication device provided in the embodiment of the present application. Fig.17 As shown, Fig.17 The communication device shown includes a logic circuit 901 and an interface 902. The logic circuit 901 may be a chip, a processing circuit, an integrated circuit or a system on chip (SoC) chip, etc. The interface 902 may be a communication interface, an input / output interface, a pin, etc. For example, Fig.17 The above communication device is taken as an example of a chip, and the chip includes a logic circuit 901 and an interface 902 .
[0329] In the embodiment of the present application, the logic circuit and the interface may also be coupled to each other. The embodiment of the present application does not limit the specific connection method between the logic circuit and the interface.
[0330] Exemplarily, when the communication device is used to execute the method, function or step executed by the communication device in the aforementioned embodiment 1, the logic circuit 901 is used to obtain the length of the information bit to be encoded, and determine the length of the low-density parity check LDPC codeword according to the length of the information bit to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate the check bit; the interface 902 is used to output the LDPC codeword, and the LDPC codeword includes the information bit to be encoded and the check bit. Among them, the length of the information bit to be encoded and the length of the LDPC codeword meet one or more of the following conditions: if the length of the information bit to be encoded is greater than 0 and less than or equal to the first length, the length of the LDPC codeword is 648 bits; if the length of the information bit to be encoded is greater than the first length and less than or equal to the second length, the length of the LDPC codeword is 1296 bits; if the length of the information bit to be encoded is greater than the second length and less than or equal to the first value, the length of the LDPC codeword is 1944 bits. At least one of the first length and the second length is determined based on a preset code rate threshold.
[0331] Exemplarily, when the communication device is used to execute the method, function or step executed by the communication device in the aforementioned embodiment 2, the logic circuit 901 is used to obtain the length of the information bit to be encoded, and determine the length of the low-density parity check LDPC codeword according to the length of the information bit to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate the check bit; the interface 902 is used to output the LDPC codeword, and the LDPC codeword includes the information bit to be encoded and the check bit. Among them, the length of the information bit to be encoded and the length of the LDPC codeword meet one or more of the following conditions: if the length of the information bit to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bit to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; if the length of the information bit to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits; the first value is 648 bits or 81 bytes. At least one of the third length and the fourth length is determined based on a preset code rate threshold.
[0332] In the embodiment of the present application, the specific description of the first value, the first length, the second length, the third length, the fourth length, and the preset bit rate threshold, etc. can refer to the method embodiment shown above (including Figure 7 and Fig.13 ), which will not be described in detail here.
[0333] It can be understood that the communication device shown in the embodiment of the present application can implement the method provided in the embodiment of the present application in the form of hardware, or can implement the method provided in the embodiment of the present application in the form of software, etc., and the embodiment of the present application is not limited to this.
[0334] for Fig.17 The specific implementation methods of the various embodiments shown can also refer to the above embodiments, which will not be described in detail here.
[0335] The present application also provides a computer program, which is used to implement the operations and / or processing performed by the communication device in the method provided by the present application.
[0336] The present application also provides a computer-readable storage medium, in which computer codes are stored. When the computer codes are executed on a computer, the computer executes the operations and / or processes performed by the communication device in the method provided by the present application.
[0337] The present application also provides a computer program product, which includes a computer code or a computer program. When the computer code or the computer program runs on a computer, the operations and / or processing performed by the communication device in the method provided by the present application are executed.
[0338] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or it can be an electrical, mechanical or other form of connection.
[0339] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the technical effects of the solutions provided in the embodiments of the present application.
[0340] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0341] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or partly contributed to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a readable storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned readable storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0342] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A method for determining the length of a low-density parity check codeword in an ultra-wideband system, characterized in that: include: The communication device obtains the length of the information bits to be encoded; The communication device determines the length of a low-density parity check LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; Among them, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to 21 bytes, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than 21 bytes and less than or equal to 44 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 44 bytes and less than or equal to 121 bytes, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than 121 bytes and less than or equal to 162 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, the length of the LDPC codeword is 1944 bits.
2. The method according to claim 1, characterized in that The reference code rate of the LDPC codeword is 1 / 2.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: The communication device transmits the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
4. The method according to any one of claims 1 to 3, characterized in that The number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword, and the number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
5. The method according to claim 4, characterized in that The number of shortened 0 bits in the LDPC codeword is: Padding_Num=mod(K-mod(Inf_Num,K),K); Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents a modulo operation; K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
6. The method according to any one of claims 1 to 5, characterized in that The information bits to be encoded include cyclic redundancy check CRC bits.
7. A method for determining the length of a low-density parity check codeword in an ultra-wideband system, characterized in that: include: The communication device obtains the length of the information bits to be encoded; The communication device determines the length of a low-density parity check LDPC codeword according to the length of the information bits to be encoded, and the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; Among them, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 121 bytes and less than or equal to 162 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, the length of the LDPC codeword is 1944 bits.
8. The method according to claim 7, characterized in that The reference code rate of the LDPC codeword is 1 / 2.
9. The method according to claim 7 or 8, characterized in that: The method further comprises: The communication device transmits the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
10. The method according to any one of claims 7 to 9, characterized in that: The number of shortened 0 bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword, and the number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and a reference code rate.
11. The method according to claim 10, characterized in that The number of shortened 0 bits in the LDPC codeword is: Padding_Num=mod(K-mod(Inf_Num,K),K); Wherein, Padding_Num represents the number of shortened 0 bits in the LDPC codeword, K represents the number of information bits in the LDPC codeword, Inf_Num represents the length of the information bits to be encoded, and mod represents a modulo operation; K = N × R; N represents the length of the LDPC codeword, and R represents the reference code rate of the LDPC codeword.
12. The method according to any one of claims 7 to 11, characterized in that: The information bits to be encoded include cyclic redundancy check CRC bits.
13. A communication device, characterized in that: include: An acquisition unit, used to acquire the length of the information bits to be encoded; A determination unit, configured to determine the length of a low-density parity check (LDPC) codeword according to the length of the information bits to be encoded, wherein the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; Among them, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to 21 bytes, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than 21 bytes and less than or equal to 44 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 44 bytes and less than or equal to 121 bytes, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than 121 bytes and less than or equal to 162 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, the length of the LDPC codeword is 1944 bits.
14. The device according to claim 13, characterized in that The device also includes a transmission unit, which is used to transmit the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
15. A communication device, characterized in that: include: An acquisition unit, used to acquire the length of the information bits to be encoded; A determination unit, configured to determine the length of a low-density parity check (LDPC) codeword according to the length of the information bits to be encoded, wherein the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate check bits; Among them, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 121 bytes and less than or equal to 162 bytes, the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, the length of the LDPC codeword is 1944 bits.
16. The device according to claim 15, characterized in that The device also includes a transmission unit, which is used to transmit the LDPC codeword, where the LDPC codeword includes the information bits to be encoded and the check bits.
17. A communication device, characterized in that: including a processor and a memory; The memory is used to store instructions; The processor is configured to execute the instructions so that the method according to any one of claims 1 to 12 is performed.
18. A communication device, characterized in that: comprising a logic circuit and an interface, wherein the logic circuit and the interface are coupled; The interface is used to input and / or output code instructions, and the logic circuit is used to execute the code instructions so that the method according to any one of claims 1 to 12 is executed.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program. When the computer program is executed, the method according to any one of claims 1 to 12 is executed.
20. A computer program product, characterized in that The computer program product comprises a computer program or a computer code, and when the computer program product is run on a computer, the method according to any one of claims 1 to 12 is performed.
Citation Information
Patent Citations
LDPC (Low Density Parity Check Code) coding method and coding device and communication device
CN107733439A
Code block segmentation depending on LDPC base matrix selection
CN110249537A
Extremely High Coding Rates For Next-Generation WLAN Systems
CN113014268A
LDPC code encoding method and communication device
WO2021136540A1