Method for determining length of LDPC code word in UWB system and related device

By determining the length of the LDPC codeword to be 648 bits, 1296 bits, or 1944 bits based on the length of the information bits to be encoded in the UWB system, the impact of LDPC codeword length selection on error control performance is resolved, achieving better error control performance gain and reduced code rate loss.

CN119921899BActive Publication Date: 2025-11-11HUAWEI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411983526.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-10-31
Filing Date
2022-11-22
Publication Date
2025-11-11
Estimated Expiration
2042-11-22

AI Technical Summary

Technical Problem

In UWB systems, the choice of LDPC codeword length affects error control performance. Existing technologies have failed to effectively determine the LDPC codeword length to improve data transmission reliability and reduce code rate loss.

Method used

The length of the LDPC codeword is determined to be 648 bits, 1296 bits, or 1944 bits based on the length of the information bits to be encoded. The length of the LDPC codeword is determined using a preset code rate threshold and a reference code rate, and a check bit is generated for encoding.

Benefits of technology

It achieves better error control performance gains, while reducing bit rate loss, improving short packet performance, and ensuring that the effective bit rate is below a given threshold.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119921899B_ABST
    Figure CN119921899B_ABST
Patent Text Reader

Abstract

This application relates to a method and related apparatus for determining the length of LDPC codewords in a UWB system. The method includes: a communication device determining the LDPC code length based on the length of the information bits to be encoded; selecting a 648-bit LDPC code when the information bit length is 0 to L1; selecting a 1296-bit LDPC code when the information bit length is L1 to L2; and selecting a 1944-bit LDPC code when the information bit length is L2 to 648. Using the embodiments of this application, better performance gains and reduced code rate loss can be achieved. This application is applicable to UWB-based wireless personal area network systems, sensing systems, etc., including 802.15 series protocols, such as 802.15.4ab or its next-generation UWB protocol; it can also be applied to wireless area network systems using 802.11 series protocols, such as 802.11be or its next generation, Wi-Fi 8, etc.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application. The original application has the application number 202211467840.X and the original application date is November 22, 2022. The entire contents of the original application are incorporated herein by reference. Technical Field

[0002] This application relates to the field of communication technology, and in particular to a method and related apparatus for determining the length of low-density parity-check (LDPC) codewords in an ultra-wideband (UWB) system. Background Technology

[0003] The Institute of Electrical and Electronics Engineers (IEEE) 802.11n / ac / ax / be and other wireless local area network (WLAN) standards primarily focus on improving user experience in high-bandwidth scenarios such as 60GHz. This includes increasing average user throughput and energy efficiency of battery-powered devices. This requires achieving high-speed and reliable transmission of data, video, and other services on limited frequency and power resources, thus necessitating highly reliable and efficient channel coding and decoding schemes.

[0004] To date, Turbo codes and LDPC codes are the two most commonly used channel coding methods in the field of channel coding. Both offer performance close to the Shannon limit and have been widely applied in communications. Compared to Turbo codes, LDPC codes have significant advantages, such as: achieving good error performance without deep interleaving, better frame error rate performance, significantly reduced error floor, support for parallel decoding, and low decoding latency. Therefore, LDPC codes have become the standard channel coding scheme for low-frequency, short-range WLAN communication systems such as 802.11n / ac / ax.

[0005] To improve the transmission reliability of wireless transmission systems, LDPC codes have been widely used in WLAN standards. Next-generation UWB standards, such as the IEEE 802.15ab standard, consider introducing LDPC codes used in WLAN to enhance data transmission reliability. However, the choice of LDPC codeword length affects error control performance; therefore, determining the length of LDPC codewords in UWB systems requires further exploration. Summary of the Invention

[0006] This application provides a method and related apparatus for determining the length of LDPC codewords in a UWB system, which can achieve better error control performance gains and reduce code rate loss.

[0007] The present application is described below from different aspects. It should be understood that the different implementation methods and beneficial effects described below can be referenced from each other.

[0008] In a first aspect, this application provides a method for determining the length of an LDPC codeword in a UWB system. The method includes: a communication device acquiring the length of a bit of information to be encoded, and determining the length of an LDPC codeword based on the length of the bit. The parity check matrix corresponding to the LDPC codeword is used to encode the bit of information to be encoded to generate parity bits. The communication device determines the length of the LDPC codeword based on the length of the bit of information to be encoded, including one or more of the following operations: if the length of the bit of information to be encoded is greater than 0 and less than or equal to a first length, the communication device determines the length of the LDPC codeword to be 648 bits; if the length of the bit of information to be encoded is greater than the first length and less than or equal to a second length, the communication device determines the length of the LDPC codeword to be 1296 bits; if the length of the bit of information to be encoded is greater than the second length and less than or equal to a first value, the communication device determines the length of the LDPC codeword to be 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] For a detailed analysis of the beneficial effects of this application, please refer to the description of the method embodiments below, which will not be elaborated here. This application can achieve better error control performance gains and reduce code rate loss; at the same time, it can also ensure that the effective code rate of short packets (such as 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 short packet performance.

[0010] In this application, the information bit to be encoded refers to the information bit before channel coding, or the information bit input to the input terminal of the channel coding module. For example, the information bit to be encoded can be the data bit to be encoded (i.e., the payload bit), or the information bit to be encoded can include the data bit to be encoded and the CRC bit. This application does not impose any limitations on the embodiments.

[0011] In conjunction with the first aspect, in one possible implementation, the reference code rate of the above LDPC codeword is 0.5.

[0012] In conjunction with the first aspect, in one possible implementation, the aforementioned first length is determined based on the first codeword length, the reference code rate of the aforementioned 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, i.e., less than 0.5.

[0013] Optionally, the first preset bitrate threshold can be greater than or equal to 0.3 and less than or equal to 0.43.

[0014] Optionally, the first length satisfies:

[0015]

[0016] Where 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 This indicates rounding down x.

[0017] The rounding operation in this application can be rounded to an integer number of bits or bytes, or it can be rounded up or down to an integer multiple of 5 bits or bytes, or it can be rounded up or down to an integer multiple of 10 bits or bytes.

[0018] In conjunction with the first aspect, in one 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, i.e., less than 0.5.

[0019] Optionally, the second preset bitrate threshold can be greater than or equal to 0.3 and less than or equal to 0.43.

[0020] Optionally, the second length satisfies:

[0021]

[0022] Where 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 This indicates rounding down x.

[0023] It is understandable that determining the range of values ​​for the first preset bitrate threshold and the second preset bitrate threshold also determines the range of values ​​for the first length and the second length.

[0024] In conjunction with the first aspect, in one possible implementation, the first preset bitrate threshold and the second preset bitrate threshold may be the same or different.

[0025] In conjunction with the first aspect, in one possible implementation, the length of the information bit 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 bit to be encoded is greater than the first value and less than or equal to the third length, then 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, then 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, then 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 the third codeword length, the 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. For example, the value of the third preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.

[0027] For example, the third length satisfies:

[0028]

[0029] Where 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 This indicates rounding down x.

[0030] Optionally, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold, wherein the fourth preset code rate threshold is less than the reference code rate of the LDPC codeword. For example, the value range of the fourth preset code rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0031] For example, the fourth length satisfies:

[0032]

[0033] Where L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset code rate threshold (less than 0.5), [x] int This indicates rounding down x.

[0034] It is understandable that determining the range of values ​​for the third and fourth preset bitrate thresholds also determines the range of values ​​for the third and fourth lengths.

[0035] In conjunction with the first aspect, in one possible implementation, the aforementioned third preset bitrate threshold and the aforementioned fourth preset bitrate threshold may be the same or different.

[0036] In conjunction with the first aspect, in one possible implementation, the method further includes: the communication device transmitting the LDPC codeword, the LDPC codeword including the information bits to be encoded and the check bits. For example, the communication device generates 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 of the LDPC codeword, and then transmits the LDPC codeword.

[0037] In conjunction with the first aspect, in one possible implementation, the number of shortened 0 bits in the aforementioned 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 the reference code rate.

[0038] For example, the number of shortened 0 bits in this LDPC codeword is:

[0039] Padding_Num=mod(K-mod(Inf_Num,K),K);

[0040] Where 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 conjunction with the first aspect, in one possible implementation, the aforementioned bits of information to be encoded include cyclic redundancy check (CRC) bits.

[0042] Secondly, this application provides a communication device, including an acquisition unit and a determination unit. The acquisition unit is used to acquire the length of a bit of information to be encoded; the determination unit is used to determine the length of a low-density parity-check (LDPC) codeword based on the length of the bit of information to be encoded, wherein the parity-check matrix corresponding to the LDPC codeword is used to encode the bit of information to be encoded to generate parity bits. Specifically, the determination unit is used to perform one or more operations: when the length of the bit of information to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is determined to be 648 bits; when the length of the bit of information to be encoded is greater than the first length and less than or equal to a second length, the communication device determines the length of the LDPC codeword to be 1296 bits, and the length of the LDPC codeword is determined to be 1296 bits; when the length of the bit of information to be encoded is greater than the second length and less than or equal to a first value, the communication device determines the length of the LDPC codeword to be 1944 bits, and the length of the LDPC codeword is determined to be 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 conjunction with the second aspect, in one possible implementation, the reference code rate of the above LDPC codeword is 0.5.

[0044] In conjunction with the second aspect, in one 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, i.e., less than 0.5.

[0045] Optionally, the first preset bitrate threshold can be greater than or equal to 0.3 and less than or equal to 0.43.

[0046] Optionally, the first length satisfies:

[0047]

[0048] Where 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 This indicates rounding down x.

[0049] The rounding operation in this application can be rounded to an integer number of bits or bytes, or it can be rounded up or down to an integer multiple of 5 bits or bytes, or it can be rounded up or down to an integer multiple of 10 bits or bytes.

[0050] In conjunction with the second aspect, in one 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, i.e., less than 0.5.

[0051] Optionally, the second preset bitrate threshold can be greater than or equal to 0.3 and less than or equal to 0.43.

[0052] Optionally, the second length satisfies:

[0053]

[0054] Where 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 This indicates rounding down x.

[0055] It is understandable that determining the range of values ​​for the first preset bitrate threshold and the second preset bitrate threshold also determines the range of values ​​for the first length and the second length.

[0056] In conjunction with the second aspect, in one possible implementation, the first preset bitrate threshold and the second preset bitrate threshold may be the same or different.

[0057] In conjunction with the second aspect, in one possible implementation, the aforementioned determining unit is further configured to perform one or more of the following operations: when 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 determined to be 1944 bits; when 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 determined to be 1296 bits; when the length of the information bit to be encoded is greater than the fourth length, the length of the LDPC codeword is determined to be 1944 bits.

[0058] Optionally, the third length is determined based on the third codeword length, the 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. For example, the value of the third preset code rate threshold can be greater than 0.4 and less than or equal to 0.5.

[0059] For example, the third length satisfies:

[0060]

[0061] Where 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 This indicates rounding down x.

[0062] Optionally, the fourth length is determined based on the second codeword length and a fourth preset code rate threshold, wherein the fourth preset code rate threshold is less than the reference code rate of the LDPC codeword. For example, the value range of the fourth preset code rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0063] For example, the fourth length satisfies:

[0064]

[0065] Where L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset code rate threshold (less than 0.5), [x] int This indicates rounding down x.

[0066] It is understandable that determining the range of values ​​for the third and fourth preset bitrate thresholds also determines the range of values ​​for the third and fourth lengths.

[0067] In conjunction with the second aspect, in one possible implementation, the aforementioned third preset bitrate threshold and the aforementioned fourth preset bitrate threshold may be the same or different.

[0068] In conjunction with the second aspect, in one possible implementation, the communication device further includes a transmission unit for transmitting the LDPC codeword, which includes the information bit to be encoded and the check bit.

[0069] In conjunction with the second aspect, in one possible implementation, the number of shortened 0 bits in the aforementioned 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 the reference code rate.

[0070] For example, the number of shortened 0 bits in this LDPC codeword is:

[0071] Padding_Num=mod(K-mod(Inf_Num,K),K);

[0072] Where 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 conjunction with the second aspect, in one possible implementation, the aforementioned information bits to be encoded include CRC bits.

[0074] Thirdly, this application provides a method for determining the length of an LDPC codeword in a UWB system. The method includes: a communication device acquiring the length of a bit to be encoded and determining the length of the LDPC codeword based on the length of the bit. The parity check matrix corresponding to the LDPC codeword is used to encode the bit to be encoded to generate parity bits. Specifically, the communication device determines the length of the LDPC codeword based on the length of the bit to be encoded, including one or more of the following operations: if the length of the bit to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to a third length, the communication device determines the length of the LDPC codeword to be 1944 bits; if the length of the bit to be encoded is greater than the third length and less than or equal to a fourth length, the communication device determines the length of the LDPC codeword to be 1296 bits; if the length of the bit to be encoded is greater than the fourth length, the communication device determines the length of the LDPC codeword to be 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] For a detailed analysis of the beneficial effects of this application, please refer to the description of the method embodiments below, which will not be elaborated here. This application can achieve better error control performance gains and can reduce bit rate loss.

[0076] In conjunction with the third aspect, in one possible implementation, the reference code rate of the above LDPC codeword is 0.5.

[0077] In conjunction with the third aspect, in one possible implementation, the aforementioned third length is determined based on the third codeword length, the 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 bitrate threshold can be greater than 0.4 and less than or equal to 0.5.

[0079] For example, the third length satisfies:

[0080]

[0081] Where 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 This indicates rounding down x.

[0082] In conjunction with the third aspect, in one possible implementation, the aforementioned 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 the reference code rate of the LDPC codeword.

[0083] Optionally, the fourth preset bitrate threshold can be greater than 0.4 and less than or equal to 0.5.

[0084] For example, the fourth length satisfies:

[0085]

[0086] Where L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset code rate threshold (less than 0.5), [x] int This indicates rounding down x.

[0087] It is understandable that determining the range of values ​​for the third and fourth preset bitrate thresholds also determines the range of values ​​for the third and fourth lengths.

[0088] In conjunction with the third aspect, in one possible implementation, the aforementioned third preset bitrate threshold and the aforementioned fourth preset bitrate threshold may be the same or different.

[0089] In conjunction with the third aspect, in one possible implementation, the above method further includes: the communication device transmitting the LDPC codeword, the LDPC codeword including the information bits to be encoded and the check bits. For example, the communication device generates 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 of the LDPC codeword, and then transmits the LDPC codeword.

[0090] In conjunction with the third aspect, in one possible implementation, the number of shortened 0 bits in the aforementioned 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 the reference code rate.

[0091] For example, the number of shortened 0 bits in this LDPC codeword is:

[0092] Padding_Num=mod(K-mod(Inf_Num,K),K);

[0093] Where 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 conjunction with the third aspect, in one possible implementation, the aforementioned information bits to be encoded include CRC bits.

[0095] Fourthly, this 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 a low-density parity-check (LDPC) codeword based on the length of the information bit to be encoded, wherein the parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. Specifically, the determination unit is used to perform one or more operations: when the length of the information bit to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to a third length, the length of the LDPC codeword is determined to be 1944 bits; when the length of the information bit to be encoded is greater than the third length and less than or equal to a fourth length, the length of the LDPC codeword is determined to be 1296 bits; when the length of the information bit to be encoded is greater than the fourth length, the length of the LDPC codeword is determined to be 1944 bits.

[0096] In conjunction with the fourth aspect, in one possible implementation, the reference code rate of the aforementioned LDPC codeword is 1 / 2.

[0097] In conjunction with the fourth aspect, in one possible implementation, the aforementioned third length is determined based on the third codeword length, the 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 bitrate threshold can be greater than 0.4 and less than or equal to 0.5.

[0099] For example, the third length satisfies:

[0100]

[0101] Where 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 This indicates rounding down x.

[0102] In conjunction with the fourth aspect, in one possible implementation, the aforementioned 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 the reference code rate of the LDPC codeword.

[0103] Optionally, the fourth preset bitrate threshold can be greater than 0.4 and less than or equal to 0.5.

[0104] For example, the fourth length satisfies:

[0105]

[0106] Where L4 represents the fourth length, N2 represents the second codeword length (equal to 1296 bits or 162 bytes), Rth4 represents the fourth preset code rate threshold (less than 0.5), [x] int This indicates rounding down x.

[0107] It is understandable that determining the range of values ​​for the third and fourth preset bitrate thresholds also determines the range of values ​​for the third and fourth lengths.

[0108] In conjunction with the fourth aspect, in one possible implementation, the third preset bitrate threshold and the fourth preset bitrate threshold may be the same or different.

[0109] In conjunction with the fourth aspect, in one possible implementation, the communication device further includes a transmission unit for transmitting the LDPC codeword, which includes the information bit to be encoded and the check bit.

[0110] In conjunction with the fourth aspect, in one possible implementation, the number of shortened 0 bits in the aforementioned 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 the reference code rate.

[0111] For example, the number of shortened 0 bits in this LDPC codeword is:

[0112] Padding_Num=mod(K-mod(Inf_Num,K),K);

[0113] Where 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 conjunction with the fourth aspect, in one possible implementation, the aforementioned information bits to be encoded include CRC bits.

[0115] Fifthly, this application provides a communication device including a processor for executing the methods shown in any possible implementation of the first aspect, the third aspect, or any of the above-described aspects. Alternatively, the processor is configured to execute a program stored in a memory, wherein when the program is executed, the methods shown in any possible implementation of the first aspect, the third aspect, or any of the above-described aspects are executed.

[0116] In conjunction with the fifth aspect, in one possible implementation, the memory is located outside the aforementioned communication device.

[0117] In conjunction with the fifth aspect, in one possible implementation, the memory is located within the aforementioned communication device.

[0118] In this embodiment of the application, the processor and memory can also be integrated into a single device, that is, the processor and memory can be integrated together.

[0119] In conjunction with the fifth aspect, in one possible implementation, the communication device further includes a transceiver for receiving or transmitting signals.

[0120] Sixthly, this application provides a communication device including a logic circuit and an interface, the logic circuit and the interface being coupled.

[0121] In one design, a logic circuit is used to obtain the length of the information bit to be encoded and determine the length of a low-density parity-check (LDPC) codeword based on the length of the information bit to be encoded. The parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. An interface is used to output the LDPC codeword, which includes the information bit to be encoded and the parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy 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 a first length, then 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 a second length, then 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 a first value, then 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 bit to be encoded and determine the length of the low-density parity-check (LDPC) codeword based on the length of the information bit to be encoded. The parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. An interface is used to output the LDPC codeword, which includes the information bit to be encoded and the parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bit to be encoded is greater than a first value and less than or equal to a third length, then 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 a fourth length, then 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, then 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, this application provides a computer-readable storage medium for storing a computer program that, when run on a computer, causes the methods shown in any possible implementation of the first aspect, the third aspect, or any of the aspects described above to be executed.

[0124] Eighthly, this application provides a computer program product comprising a computer program or computer code that, when run on a computer, causes the methods shown in any possible implementation of the first aspect, the third aspect, or any of the aspects described above to be executed.

[0125] Ninthly, this application provides a computer program that, when run on a computer, executes the methods shown in any possible implementation of the first aspect, the third aspect, or any of the aspects described above.

[0126] The technical effects achieved in the above aspects can be referred to each other or to the beneficial effects in the method embodiments shown below, which will not be repeated here. Attached Figure Description

[0127] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.

[0128] Figure 1 This is a schematic diagram of the structure of a wireless communication system provided in an embodiment of this application;

[0129] Figure 2 This is another schematic diagram of the wireless communication system provided in the embodiments of this application;

[0130] Figure 3a This is a schematic diagram of the LDPC code check matrix provided in an embodiment of this application;

[0131] Figure 3b This is a Tanner diagram of the LDPC code provided in the embodiments of this application;

[0132] Figure 4a This is a schematic diagram of an LDPC code parity check matrix with a code rate of 1 / 2 and a code length of 648 provided in an embodiment of this application;

[0133] Figure 4b This is a schematic diagram of the cyclic shift matrix P1 provided in an embodiment of this application;

[0134] Figure 5 This is a schematic diagram of the LDPC encoding process in WLAN provided in an embodiment of this application;

[0135] Figure 6a This is a schematic diagram of an LDPC code parity check matrix with a code rate of 1 / 2 and a code length of 1296 provided in an embodiment of this application;

[0136] Figure 6b This is a schematic diagram of an LDPC code parity check matrix with a code rate of 1 / 2 and a code length of 1944 provided in an embodiment of this application;

[0137] Figure 7 This is a flowchart illustrating a method for determining the length of LDPC codewords in a UWB system provided in this application embodiment;

[0138] Figure 8 This is a schematic diagram of the LDPC encoding process in the UWB system provided in the embodiments of this application;

[0139] Figure 9 This is a schematic diagram illustrating the variation of the number of shortened 0 bits required for LDPC codes of different code lengths as the length of the information bits to be encoded, provided in the embodiments of this application.

[0140] Figure 10 This is a schematic diagram illustrating the variation of the effective code rate of LDPC codes with different code lengths as a function of the length of the information bits to be encoded, provided in the embodiments of this application.

[0141] Figure 11a This is a schematic diagram illustrating the length selection of an LDPC codeword according to an embodiment of this application;

[0142] Figure 11b This is a schematic diagram illustrating another LDPC codeword length selection provided in an embodiment of this application;

[0143] Figure 11c This is a schematic diagram illustrating another LDPC codeword length selection provided in an embodiment of this application;

[0144] Figure 12 This is a schematic diagram illustrating another LDPC codeword length selection provided in an embodiment of this application;

[0145] Figure 13 This is another flowchart illustrating the method for determining the length of LDPC codewords in the UWB system provided in this application embodiment;

[0146] Figure 14 This is another schematic diagram illustrating the length selection of LDPC codewords provided in the embodiments of this application;

[0147] Figure 15 This is a schematic diagram of the structure of the communication device provided in an embodiment of this application;

[0148] Figure 16 This is a schematic diagram of the structure of the communication device 1000 provided in the embodiments of this application;

[0149] Figure 17 This is another structural schematic diagram of the communication device provided in the embodiments of this application. Detailed Implementation

[0150] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings.

[0151] In the description of this application, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. "And / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, and B alone. Furthermore, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent: a, b, c; a and b; a and c; b and c; or a and b and c. Where a, b, and c can be single or multiple.

[0152] The terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or apparatus.

[0153] In this application, the words "exemplary" or "for example" are used to indicate that something is an example, illustration, or illustration. Any embodiment or design described as "exemplary," "for example," or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Rather, the use of the words "exemplary," "for example," or "for example" is intended to present the relevant concepts in a specific manner.

[0154] It should be understood that in this application, "when," "if," and "if" all refer to the device making a corresponding action under certain objective circumstances, and are not time-limited, nor do they require the device to make a judgment when it is implemented, nor do they imply any other limitations.

[0155] In this application, the use of singular designations for elements is intended to represent "one or more" rather than "one and only one," unless otherwise specified.

[0156] It should be understood that in the various embodiments of this application, determining B based on A does not mean determining B solely based on A; 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 (WPANs) based on UWB technology. For example, the method provided in this application can be applied to IEEE 802.15 series protocols, such as the 802.15.4ab protocol, or a future generation of UWB WPAN standards, etc., which will not be listed here. The method provided in this application can also be applied to various communication systems, such as Internet of Things (IoT) systems, vehicle-to-everything (V2X) systems, narrowband Internet of Things (NB-IoT) systems, devices applied in V2X systems, IoT nodes and sensors in IoT systems, smart cameras, smart remote controls, smart water and electricity meters in smart homes, and sensors in smart cities. The method provided in this application can also be applied to LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, universal mobile telecommunication system (UMTS), worldwide interoperability for microwave access (WiMAX) systems, long term evolution (LTE) systems, and also to 5th-generation (5G) and 6th-generation (6G) communication systems.

[0158] Ultra-wideband (UWB) technology is a novel wireless communication technology. It utilizes nanosecond-level non-sinusoidal narrow pulses to transmit data. By modulating impulse pulses with very steep rise and fall times, it occupies a wide spectral range, resulting in a bandwidth on the order of gigahertz (GHz). The bandwidth used by UWB is typically above 1 GHz. Because UWB systems do not require the generation of sinusoidal carrier signals and can directly transmit impulse sequences, they possess a wide spectrum and very low average power. UWB wireless communication systems offer advantages such as strong multipath resolution, low power consumption, and strong security, facilitating coexistence with other systems and thus improving spectrum utilization and system capacity. Furthermore, in short-range communication applications, the transmit power of UWB transmitters can typically be below 1 mW. Theoretically, the interference generated by UWB signals is equivalent to only white noise. This contributes to good coexistence between ultra-wideband and existing narrowband communications. Therefore, UWB systems can operate simultaneously with narrowband (NB) communication systems without interference. The method provided in this application can be implemented by a communication device within a wireless communication system. In a communication device, the device or chip implementing UWB system functions can be referred to as a UWB module, and the device or chip implementing narrowband communication system functions can be referred to as a narrowband communication module. The UWB module and the narrowband communication module can be different devices or chips; of course, they can also be integrated onto a single device or chip. The embodiments of this application do not limit the implementation of the UWB module and the narrowband communication module in the communication device. The communication device in this application includes a UWB module, and optionally also includes a narrowband communication module.

[0159] The method provided in this application can be implemented by a communication device in a wireless communication system. This communication device can be any device involved in a UWB system. For example, the communication device may include, but is not limited to, communication servers, routers, switches, bridges, computers, mobile phones, etc., that support UWB technology. As another example, the communication device may include user equipment (UE), which may include various handheld devices, in-vehicle devices (such as automobiles or components installed in automobiles), wearable devices, Internet of Things (IoT) devices, computing devices, or other processing devices connected to a wireless modem that support UWB technology, etc., and will not be listed exhaustively here. As yet another example, the communication device may include a central control point, such as a personal area network (PAN) or a PAN coordinator. The PAN coordinator or PAN may be a mobile phone, in-vehicle device, anchor, tag, or smart home device, etc. As yet another example, the communication device may include a chip, which may be located in a communication server, router, switch, or terminal device, etc., and will not be listed exhaustively here. It is understood that the above description of the communication device applies to the communication device in this application.

[0160] Optionally, the communication device in the embodiments of this application can be a device that supports multiple WPAN standards such as IEEE 802.15.4ab or later versions currently under discussion.

[0161] In this embodiment, the communication device may include a hardware layer, an operating system layer running on top of 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 memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Furthermore, this embodiment does not specifically limit the structure of the execution entity of the method provided in this embodiment, as long as it can communicate according to the method provided in this embodiment by running a program that records the code of the method provided in this embodiment.

[0162] For example, see Figure 1 , Figure 1 This is a schematic diagram of the structure of a wireless communication system provided in an embodiment of this application. Figure 1 As shown, the wireless communication system is a star topology, in which a central control node (e.g., Figure 1 The PAN coordinator (in this context) can communicate with one or more other devices. See also Figure 2 , Figure 2 This is another schematic diagram of the wireless communication system provided in an embodiment of this application. For example... Figure 2 As shown, this wireless communication system is a point-to-point topology, in which a central control node (such as...) Figure 2 The PAN coordinator can communicate with one or more other devices, and these other devices can also communicate with each other. Figure 1 and Figure 2 In this application, both "full-function device" and "reduced-function device" can be understood as the communication apparatus shown. The terms "full-function device" and "reduced-function device" are relative; for example, a reduced-function device cannot be a PAN coordinator. Furthermore, compared to a full-function device, a reduced-function device may lack coordination capabilities or have a lower communication rate. It is understood that... Figure 2 The PAN coordinator shown is merely an example. Figure 2 The other three full-function devices shown can also act as PAN coordinators, and will not be shown individually here. It should also be understood that the full-function and low-function devices shown in this application are merely examples of communication devices; any device capable of implementing the LDPC codeword length determination method provided in this application for the UWB system falls within the protection scope of this application.

[0163] The following is a brief introduction to some relevant content, terms, or nouns involved in this application.

[0164] I. LDPC code

[0165] The parity-check matrix of an LDPC code is a sparse matrix, meaning the number of non-zero elements is much smaller than the number of zero elements, or the ratio of row weight to code length and the ratio of column weight to code length are both very small. LDPC codes can be represented graphically, in a way called a Tanner graph. The Tanner graph corresponds one-to-one with the parity-check matrix and consists of two types of nodes: the first type represents code symbols, called variable nodes; the second type represents parity constraints, called parity nodes, with each parity node representing a parity constraint. For example, as shown... Figure 3a and Figure 3b As shown, Figure 3a This is a schematic diagram of the LDPC code check matrix provided in an embodiment of this application. Figure 3bThis is a Tanner diagram of the LDPC code provided in the embodiments of this application. Figure 3a and Figure 3b {V} i} represents the set of variable nodes, {C i} represents the set of verification nodes.

[0166] The LDPC code used in the 802.11ac / ax standard is a quasi-cyclic LDPC (QC-LDPC) code. QC-LDPC codes are a widely used type of structured LDPC code. Due to the unique structure of its parity-check matrix, encoding can be implemented using a simple feedback shift register, thus effectively addressing the encoding complexity issue of LDPC codes. See also... Figure 4a , Figure 4a This is a schematic diagram of an LDPC code parity check matrix with a code rate of 1 / 2 and a code length of 648 provided in an embodiment of this application. Figure 4a As shown, in an LDPC code parity-check matrix with code length N = 648 and code rate R = 1 / 2, each element represents a Z = N / 24 square matrix, where "0" represents a Z × Z identity matrix and "-" represents a Z × Z all-zero matrix. For example, Figure 4a The element "22" indicates that the Z×Z identity matrix P is circularly shifted 22 positions to the right to obtain the cyclic shift matrix P. 22 , Figure 4a Other non-zero elements are similar to element "22" and will not be described in detail. Among them, P... i This represents a cyclic shift matrix, where i (0 ≤ i ≤ Z⁻¹) represents the cyclic shift value. See also Figure 4b , Figure 4b This is a schematic diagram of the cyclic shift matrix P1 provided in an embodiment of this application. Figure 4b As shown, the cyclic shift matrix P1 represents the Z×Z identity matrix P shifted 1 position to the right.

[0167] Existing WLAN standards (such as 802.11n / ac) employ orthogonal frequency division multiplexing (OFDM) technology. The LDPC encoding module needs to encode the data bits (which can also be understood as payload bits) and then place them into an integer number of OFDM symbols. These encoded bits must also fit precisely into an integer number of LDPC codewords. Therefore, before transmission, the minimum number of OFDM symbols N required for this transmission needs to be calculated. SYM 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 This represents the number of coded bits that can be stored in each OFDM symbol. Then, based on the total number of coded bits N... TCB Determine the LDPC code length L used in the current transmission. LDPC and the required number of codewords N CW For most data bit lengths and coding modulation schemes, there are not enough data bits to fill all the information bit positions in the LDPC codeword. Therefore, a shortening operation is required before generating parity bits. This shortening operation involves filling the information bit positions of the LDPC codeword with a certain number of 0s before generating the parity bits, and then removing these 0s after the parity bits are generated. See also... Figure 5 , Figure 5 This is a schematic diagram of the LDPC encoding process in WLAN provided in an embodiment of this application. Figure 5 As shown, the LDPC encoding process in WLAN includes at least steps 1 to 6. Specifically, step 1 involves the data bits to be encoded, such as payload bits. Step 2 determines the length L of the LDPC codeword. LDPC And the number of codewords N CW The specific determination method is described below. Step 3: Shorten the data bits to be encoded by inserting shortened zero bits after the data bits to be encoded. Step 4: Encode the data bits to be encoded and the shortened zero bits in each LDPC codeword using the LDPC code parity check matrix to generate parity bits, and then delete these shortened zero bits. Step 5: Repeat a portion of the data bits to be encoded in the LDPC codeword or puncture the parity bits in the LDPC codeword so that the processed (punctured or repeated) codeword bits exactly fill the OFDM symbol to be transmitted. That is, the number of bits in the processed (punctured or repeated) codeword is equal to the number of bits that the OFDM symbol can carry. Step 6: Concatenate multiple codewords and perform stream parsing.

[0168] In this application, "LDPC code length" refers to the length of an LDPC codeword. "LDPC code length", "LDPC codeword length" and "LDPC codeword length" can be used interchangeably.

[0169] II. Method for determining the length of LDPC codewords in the 802.11ac / ax standard

[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 bitrates (referring to the reference bitrate): 1 / 2, 2 / 3, 3 / 4, and 5 / 6. For example... Figure 6a and Figure 6b As shown, LDPC code parity-check matrices with a code rate of 1 / 2 (i.e., R = 1 / 2) and code lengths of 1296 bits and 1944 bits are illustrated; an LDPC code parity-check matrix with a code rate of 1 / 2 and a code length of 648 bits is shown above. Figure 4a As shown. It should be understood that, Figure 6a and Figure 6b The meanings of each element are explained above. Figure 4a The meanings of each element are not elaborated here.

[0171] Optionally, in the 802.11ac / ax standard, the code rate is determined by the link-adaptive modulation and coding scheme (MCS). In WLAN, the LDPC code is selected from 12 parity-check matrices based on the code length and code rate; each parity-check matrix is ​​different for each code length and code rate. For a given code rate, existing WLAN standards jointly calculate the LDPC code length required for this data transmission based on the current packet length and the number of OFDM symbols.

[0172] Specifically, the calculation method for 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] Where, N SYM This indicates the number of OFDM symbols required for this data transmission, where length represents the length of the data packet (in bytes), and m STBC This indicates the space-time encoding mode of the data packet (this value is 1 when space-time encoding is not used), N DBPS This indicates the number of data bits carried by each OFDM symbol. This indicates rounding up, which will not be explained further below.

[0176] 2. Calculate the bit length of this data transmission after adding 16 bits of cyclic redundancy check (CRC):

[0177] N pld=8·length+16........................(1-2)

[0178] 3. Calculate the number of codeword bits in this data transmission:

[0179] N TCB =N CBPS ×N SYM .............................................(1-3)

[0180] Where, N TCB N represents the number of codeword bits in this data transmission. CBPS This indicates the number of codeword bits carried by each OFDM symbol.

[0181] 4. Based on the above parameters (N) TCB N pld The length of the LDPC codeword for this data transmission is determined by the following (etc.) and Table 1 below.

[0182] Table 1

[0183]

[0184] It should be understood that R in Table 1 represents the bit rate.

[0185] In addition to considering the above parameters (N), the selection of LDPC codeword length in the WLAN standard also takes into account the selection of LDPC codeword length. TCB N pld In addition to (etc.), the performance of long codes and the number of punctured bits also need to be considered. As mentioned above Figure 5 As shown in step 5, LDPC encoding in WLAN may require puncturing, meaning that several parity bits at the end are not transmitted. Punching increases the actual code rate (i.e., the actual code rate is greater than the reference code rate), resulting in some performance loss. Although longer LDPC code lengths offer better error control performance, longer codes should be chosen whenever possible. However, in practice, the choice of LDPC code length for WLAN requires a trade-off between long code length and the number of punctured bits. As shown in Table 1 above, the LDPC code length for WLAN does not monotonically increase with the data packet length, but may gradually regress to a shorter code length as the data packet length increases. Furthermore, because the encoded bits must fill at least one OFDM symbol, the minimum packet length (i.e., N) is required. TCB ≤648), the LDPC code for WLAN chooses the middle code length (1296 bits) instead of the shortest code length (648 bits).

[0186] As mentioned above, LDPC codes are widely used in WLAN standards to improve the transmission reliability of wireless transmission systems. Next-generation UWB standards, such as the IEEE 802.15ab standard, consider introducing LDPC codes with a code rate of 1 / 2 that of WLAN to enhance system transmission reliability. One important candidate is to reuse LDPC codes with a code rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits from WLAN. However, if LDPC codes with a code rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits are reused, the determination of the LDPC codeword length in the UWB system needs further exploration.

[0187] This application provides a method and related apparatus for determining the length of LDPC codewords in a UWB system. This method ensures that longer codewords are used as much as possible during UWB transmission to achieve better error control performance gains, while reducing the rate loss caused by excessive shortening of 0 bits. Furthermore, this application can also ensure that the effective code rate of short packets is below a given threshold, thereby improving the performance of short packets.

[0188] The technical solution provided in this application will be described in detail below with reference to more accompanying drawings.

[0189] To facilitate a clear description of the technical solutions of this application, multiple embodiments are described below. Unless otherwise specified, the same or similar parts between the various embodiments or implementations can be referenced interchangeably. In the various embodiments and implementation methods / methods within those embodiments, unless otherwise specified or logically conflicting, the terminology and / or descriptions between different embodiments and between different implementation methods / methods within those embodiments are consistent and can be mutually referenced. The technical features in different embodiments and between different implementation methods / methods within those embodiments can be combined according to their inherent logical relationships to form new embodiments, implementation methods, methods, or methods of implementation. The embodiments described below do not constitute a limitation on the scope of protection of this application. It should be understood that the order of the embodiments below does not represent their importance.

[0190] Example 1

[0191] Embodiment 1 of this application mainly introduces a method for determining the length of LDPC codewords when the length of the information bits to be encoded is less than or equal to 648 bits (or 81 bytes).

[0192] See Figure 7 , Figure 7 This is a flowchart illustrating a method for determining the length of LDPC codewords in a UWB system provided in this application. The communication device in this method can be one of the aforementioned... Figure 1or Figure 2 Any device in the. For example... Figure 7 As shown, the method for determining the length of LDPC codewords in this UWB system includes, but is not limited to, the following steps:

[0193] S101, the communication device obtains the length of the information bits to be encoded.

[0194] In this embodiment, the information bit to be encoded can refer to the information bit before channel coding, or the information bit input to the channel coding module. For example, the information bit to be encoded can be the data bit to be encoded (i.e., the payload bit), or the information bit to be encoded can include the data bit to be encoded and the CRC bit. This embodiment does not impose any limitations.

[0195] S102, the communication device determines the length of the LDPC codeword based on the length of the information bit to be encoded. The parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy 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 a first length, then 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 a second length, then 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 a first value, then the length of the LDPC codeword is 1944 bits.

[0196] The reference code rate R of this LDPC codeword is 1 / 2. This first value can 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; this embodiment does not impose any limitation. The first length can be determined based on the first codeword length, the reference code rate R of the LDPC codeword, and a 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 a 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 can be the same or different. Both the first preset code rate threshold and the second preset code rate threshold are less than or equal to the reference code rate R (i.e., 0.5).

[0198] For example, the first length satisfies the following formula (2-1):

[0199]

[0200] Where L1 represents the first length, and the same expressions below have the same meaning, so they will not be repeated. N1 represents the first codeword length, which is equal to 648 bits or 81 bytes. R represents the reference code rate, which is equal to 1 / 2. Rth1 represents the first preset code rate threshold, which is less than or equal to 1 / 2. [x] Int This indicates rounding down x. In this embodiment, rounding can be either rounding up or rounding down, and this embodiment does not limit the scope. The same symbols will have the same meaning in the following text and will not be repeated.

[0201] For example, the second length satisfies the following formula (2-2):

[0202]

[0203] Where L2 represents the second length, and the same expression in the following text has the same meaning, so it will not be 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 is understandable that if the length of the first codeword is in bits, such as 648 bits, then 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, by converting the result of the above formula (2-1) (in bits) into the size of bytes (if the converted result is not an integer number of bytes, then a rounding operation can be performed). If the length of the first codeword is in bytes, such as 81 bytes, then 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 elaborated here. Similarly, if the length of the second codeword is in bits, such as 1296 bits, then 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, by converting the result of the above formula (2-2) (in bits) into the size of bytes (if the converted result is not an integer number of bytes, then a rounding operation can be performed). If the length of the second codeword is in bytes, such as 162 bytes, then 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 elaborated here.

[0205] Optionally, the values ​​of the first preset bitrate threshold Rth1 and the second preset bitrate 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 bitrate threshold Rth1 can be a subset of the range greater than or equal to 0.3 and less than or equal to 0.43, and the value range of the second preset bitrate threshold Rth2 can also be a subset of the range greater than or equal to 0.3 and less than or equal to 0.43. It is understood that the value ranges of the first preset bitrate threshold Rth1 and the second preset bitrate threshold Rth2 are merely examples. When the first preset bitrate 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 scope of protection of this application; similarly, when the second preset bitrate 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 scope of protection of this application.

[0206] It is understandable that once the ranges of the first preset bitrate threshold Rth1 and the second preset bitrate threshold Rth2 are determined, the ranges of the first length and the second length are also determined based on the above formulas (2-1) and (2-2), which will not be listed one by one here. For example, taking the first length as represented by bits, when the range of the first preset bitrate threshold Rth1 is greater than 0.3 and less than 0.43, based on the above formula (2-1), the range of the first length can be determined to be 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, when the value range of the second preset code rate threshold Rth2 is greater than 0.3 and less than 0.43, based on the above formula (2-2), the value range of the second length can be determined to be 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, consider a first codeword length of 648 bits and a second codeword length of 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) is 244 bits (rounded down) or 245 bits (rounded up), and L2 calculated based on the above formula (2-2) is 488 bits (rounded down) or 489 bits (rounded up); or when Rth1 = Rth2 = 0.4, L1 calculated based on the above formula (2-1) is 216 bits, and L2 calculated based on the above formula (2-2) is 432 bits; or when Rth1 = ... When Rth2 = 0.33, L1 calculated using formula (2-1) is 159 bits (rounded down) or 160 bits (rounded up), and L2 calculated using formula (2-2) is 319 bits (rounded down) or 320 bits (rounded up). For example, when Rth1 = Rth2 = 0.3, L1 calculated using formula (2-1) is 138 bits (rounded down) or 139 bits (rounded up), and L2 calculated using formula (2-2) is 277 bits (rounded down) or 278 bits (rounded up).

[0208] For another example, consider a first codeword length of 648 bits and a second codeword length of 1296 bits. When the first preset code rate threshold and the second preset code rate threshold are not the same, 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 example, consider a first codeword length of 81 bytes and a second codeword length of 162 bytes. When the first and second preset codeword rate thresholds are the same, such as Rth1 = Rth2 = 0.43, L1 calculated using formula (2-1) is 30 bytes or 31 bytes, and L2 calculated using formula (2-2) is 61 bytes or 62 bytes. Alternatively, when Rth1 = Rth2 = 0.4, L1 is 27 bytes and L2 is 54 bytes. Furthermore, when Rth1 = Rth2 = 0.32, L1 is 19 bytes or 20 bytes, and L2 is 38 bytes or 39 bytes. When the first and second preset codeword rate thresholds are different, such as when Rth1 = 0.32, L1 is 19 bytes (rounded down) or 20 bytes (rounded up); when Rth2 = 0.4, L2 is 54 bytes.

[0210] For another example, let's consider a first codeword length of 648 bits, where the length is represented by the number of bytes. For instance, when Rth1 = 0.4, L1 = 216 bits, which translates to L1 = [216 / 8] bytes. Int = 27 bytes. For example, when Rth1 = 0.32, L1 = 152 bits (rounded down) or 153 bits (rounded up); converted to 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 example, taking a first codeword length (N1) of 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 Table 2a below. Taking a second codeword length (N2) of 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 Table 2b below.

[0212] Table 2a

[0213]

[0214]

[0215] Table 2b

[0216] Second preset bitrate threshold Rth2 <![CDATA[Second length L2]]> 0.43 61 bytes (rounded down) or 62 bytes (rounded up) 0.42 58 bytes (rounded down) or 59 bytes (rounded up) 0.41 56 bytes (rounded down) or 57 bytes (rounded up) 0.40 54 bytes 0.39 51 bytes (rounded down) or 52 bytes (rounded up) 0.38 49 bytes (rounded down) or 50 bytes (rounded up) 0.37 47 bytes (rounded down) or 48 bytes (rounded up) 0.36 45 bytes (rounded down) or 46 bytes (rounded up) 0.35 43 bytes (rounded down) or 44 bytes (rounded up) 0.34 41 bytes (rounded down) or 42 bytes (rounded up) 0.33 39 bytes (rounded down) or 40 bytes (rounded up) 0.32 38 bytes (rounded down) or 39 bytes (rounded up) 0.31 36 bytes (rounded down) or 37 bytes (rounded up) 0.30 34 bytes (rounded down) or 35 bytes (rounded up)

[0217] Based on Tables 2a and 2b above, 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 combined arbitrarily, 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 not the same. Due to space limitations, they will not be listed one by one here.

[0218] Furthermore, for different values ​​of Rth1 in Table 2a above, the first length L1 can be rounded up or down to a multiple of 5 bytes; or for different values ​​of Rth1 in Table 2a above, the first length L1 can be rounded up or down to a multiple of 10 bytes. These details will not be elaborated further here. Similarly, for different values ​​of Rth2 in Table 2b above, the second length L2 can be rounded up or down to a multiple of 5 bytes; or for different values ​​of Rth2 in Table 2b above, the first length L2 can be rounded up or down to a multiple of 10 bytes. These details will not be elaborated further 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, it 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 illustrative.

[0220] For 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 a multiple of 5 bytes, the second length is 65 bytes or 60 bytes; or if it is rounded up or down to a 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 a multiple of 5 bytes, the second length is 35 bytes or 30 bytes; or if it is rounded up or down to a 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 just illustrative examples.

[0221] It can also be understood that the first length L1 and the second length L2 in Tables 2a and 2b above 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 this 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 formula (2-1) and / or formula (2-2) above can be rounded 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 formula (2-1) and / or formula (2-2) above can be rounded up or down to an integer multiple of 5 bytes. In still other scenarios, when the first length and the second length are represented by the number of bytes, the rounding operation in formula (2-1) and formula (2-2) above can be rounded up or 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 formula (2-1) and / or formula (2-2) above can be rounded to an integer number of bits, or rounded up or down to an integer multiple of 5 bits, or rounded up or down to an integer multiple of 10 bits. The embodiments of this application do not limit the specific method of rounding in the above formulas (2-1) and (2-2).

[0223] For example, assuming the first and second preset bitrate thresholds are the same, and Rth1 = Rth2 = 0.4, and the first codeword length is 648 bits and the second codeword length is 1296 bits, represented by the number of bytes, then L1 = 216 bits and L2 = 432 bits; if rounded to an integer number of bytes, then L1 = [2^16 / 8]. Int = 27 bytes, L2 = [432 / 8] Int = 54 bytes. However, if rounded up or down to a multiple of 5, then L1 = 25 bytes or 30 bytes, and L2 = 50 bytes or 55 bytes; if rounded up or down to a multiple of 10, then L1 = 20 bytes or 30 bytes, and L2 = 50 bytes or 60 bytes.

[0224] For example, 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 3a or Table 3b below. For instance, 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. As 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. Yet 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 is understood that the same or similar descriptions below have the same or similar meanings and will not be listed individually.

[0225] Tables 3a and 3b can be standard-defined, preset, or negotiated between the communicating parties. In Tables 3a and 3b, "Inf_Num" represents the length of the information bits to be encoded; the same characters in the following text have the same meaning and will not be repeated. It is understood that Tables 3a and 3b are merely examples; in practical applications, the relationship between the length of the information bits to be encoded and the LDPC codeword length can be a subset of that in Tables 3a or 3b. That is, the rows shown in Table 3a can be decoupled, and in practical applications, some or all of the rows shown in Table 3a may exist. Similarly, the rows shown in Table 3b can be decoupled, and in practical applications, some or all of the rows shown in Table 3b may exist.

[0226] Table 3a

[0227]

[0228] Table 3b

[0229]

[0230] As is understandable, in Table 3a, L1 represents the first length and L2 represents the second length, both in bits. In Table 3b, L1 represents the first length and L2 represents the second length, both in bytes.

[0231] Optionally, the communication device can determine the length of the LDPC codeword based on the length of the acquired information bits to be encoded and at least one row from Table 3a above or Table 3b below. The parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate parity 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 a first length, the communication device determines the length of the LDPC codeword to be 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 communication device determines the length of the LDPC codeword to be 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 the length of the LDPC codeword to be 1944 bits.

[0232] Optionally, after step S102, the communication device can generate the LDPC codeword based on the determined length of the LDPC codeword, the aforementioned 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 a parity bit 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 method by which the communication device generates the LDPC codeword can be referred to the aforementioned... Figure 5 Steps 1 to 4. For example, the communication device can transmit the LDPC codeword to other communication devices or to the next module in the channel coding module for processing. For instance, the method by which the communication device transmits the LDPC codeword can be referred to the aforementioned... Figure 5 Step 6. In other words, because OFDM symbols do not exist in the UWB system, the LDPC encoding process in the UWB system does not have the aforementioned... Figure 5 Step 5 in the process.

[0233] In this embodiment, the number of shortened 0 bits in the LDPC codeword 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 zero bits shortened 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 modulo operation; the same expression below has the same meaning and will not be repeated. K = N × R, where N represents the length of the generated LDPC codeword, and R represents the reference code rate of the LDPC codeword.

[0236] It is understandable that Tables 3a and 3b above reuse LDPC codes with code lengths of 648 bits, 1296 bits, and 1944 bits from WLAN. In some scenarios, to reduce power consumption in UWB systems, only short-length LDPC codes from WLAN, i.e., LDPC codes with code lengths of 648 bits and 1296 bits, can be reused. For example, the relationship between the length of the information bit to be encoded and the length of the LDPC codeword can satisfy one or more of the following: if the length of the information bit to be encoded is greater than 0 and less than or equal to a first length, then 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 a second length, then 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 a first value, then 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 this application will be explained in detail below with reference to the design concept of LDPC codeword length in the embodiments of this application.

[0238] As can be understood, the LDPC encoding process in a WLAN system is as described above. Figure 5 As shown, all encoded codeword bits need to be placed into the OFDM symbol to be transmitted. If the number of encoded codeword bits exceeds the number of bits that the OFDM symbol can carry, the codewords need to be punctured to fit them into the OFDM symbol to be transmitted. If the number of encoded codeword bits is less than the number of bits that the OFDM symbol can carry, some information bits in the codewords need to be repeated to fill the OFDM symbol.

[0239] Unlike WLAN systems, UWB systems do not use OFDM symbols. This means UWB transmission does not require loading the encoded codeword bits into OFDM symbols, and therefore does not need to punch out parity bits that might exceed the maximum number that an OFDM symbol can hold. Thus, the length selection of LDPC codewords in UWB systems needs to consider both performance and code rate waste (i.e., excessively shortening 0 bits), without needing to consider repeat bits and punched bits caused by OFDM symbols. In other words, the aforementioned considerations are unnecessary. Figure 5 The impact of step 5 on the selection of LDPC codeword length. In other words, the method for selecting (or determining) the LDPC codeword length in the UWB system is different from that 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 and short codes. This is because: consistently using long codes (such as 1944-bit LDPC codes) will result in better error control performance, but for shorter bits of information to be encoded, a large number of zero bits need to be shortened, resulting in a waste of code rate; while consistently using short codes (such as 648-bit LDPC codes), for long data packets, the performance of long data packets will be reduced compared to using long codes, meaning that consistently using short codes will lead to a performance loss for long data packets.

[0240] See Figure 8 , Figure 8 This is a schematic diagram of the LDPC encoding process in the UWB system provided in this application embodiment. For ease of description, as follows... Figure 8 As shown, taking the information bits to be encoded as the payload bits as an example, it should be understood that... Figure 8 The information bits to be encoded are not limited to payload bits; they can also be a combination of payload bits and CRC bits. In step 3, if the information bits to be encoded cannot fill all the information bit positions of the LDPC codeword, zeros need to be padded after the information bits to be encoded to fill the information bit positions of the LDPC codeword. Then, the check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and the shortening zero bits to generate check bits. After encoding the complete LDPC codeword, 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 results in a decrease in the actual code rate of the final transmitted codeword sequence compared to 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 parity bits M = N × (1 - R) = 1944 × (1 / 2) = 972 bits; if the 0 bits are shortened to 486 bits, the actual code rate R′ = (972 - 486) / (972 - 486 + 972) = 486 / 1458 = 1 / 3. However, the system requires a code rate of 1 / 2, but the actual code rate of the 1944-bit LDPC code is R′ = 1 / 3, resulting in wasted code rate and increased system transmission overhead.

[0242] According to the calculation method of the number of shortened 0 bits in formula (2-3) above, with the reference code rate fixed at 1 / 2, the number of shortened 0 bits required for LDPC codes of the three code lengths (i.e., 648 bits, 1296 bits, and 1944 bits) varies with the length of the information bits to be encoded as follows: Figure 9 As shown. Figure 9 The horizontal axis represents the length of the information bits to be encoded, and the vertical axis represents the number of zero bits shortened. Figure 9 In the figure, “①” represents the curve showing the change in 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 as a function of the length of the information bits to be encoded. Figure 9 The “②” in the figure represents the curve showing the change in 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 as a function of the length of the information bits to be encoded. Figure 9In the diagram, "③" represents the curve showing the change in the number of shortened zero 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. To reduce code rate waste (or transmission overhead), one can consider choosing the code length with the fewest shortened zero bits given the length of the information bits to be encoded. If multiple LDPC codes of different lengths require the same number of shortened zero bits, the longest LDPC code should be chosen because longer codes offer 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 zero bits leads to continuous switching between the three code lengths as the length of the information bits to be encoded increases. For long data packets, this results in the selection of a short code (e.g., a 648-bit LDPC code when the length of the information bits to be encoded is 1297-1620 bits), causing a performance loss. To reduce the performance loss of long data packets, this application embodiment considers using the effective code rate to assist in the selection of the code length. 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 parity 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] Where floor represents flooring. K represents the number of information bits in the LDPC codeword, and M represents the number of parity bits in the LDPC codeword. M = (1-R) ​​× N, where N represents the length of a single LDPC codeword.

[0247] According to the effective code rate (Rate_E) calculation method in formula (2-4), with the reference code rate fixed at 1 / 2, the effective code rates of LDPC codes with 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: Figure 10 As shown. Figure 10 The horizontal axis represents the length of the information bits to be encoded, and the vertical axis represents the effective code rate. Figure 10 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 as a function of the length of the information bits to be encoded. Figure 10 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 1296 bits as a function of the length of the information bits to be encoded. Figure 10 In the diagram, "③" represents the curve showing the effective code rate of 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. To reduce performance loss with long data packets, given the length of the information bits to be encoded, a code length with a higher effective code rate can be chosen. If multiple LDPC codes of different lengths have the same effective code rate, the longest LDPC code should be selected because longer codes offer better error control performance. For example, when the length of the information bits to be encoded is 0–324 bits, a 648-bit LDPC code should be chosen; when the length is 325–648 bits, a 1296-bit LDPC code should be chosen; when the length is 649–972 bits, a 1944-bit LDPC code should be chosen; when the length is 973–1296 bits, a 1296-bit LDPC code should be chosen, and so on.

[0248] Understandable, such as Figure 10 As shown, as the length of the information bits to be encoded increases, the effective code rate (Rate_E) gets closer and closer to half the reference code rate. Therefore, when the information bits to be encoded are very long, the code rate loss caused by shortening 0 bits is very small. That is, when the information bits to be encoded are very long, the longest code length (i.e., 1944 bits) of the LDPC code can be selected, because the error control performance gain of the long code is greater.

[0249] The embodiments of this application select the length of LDPC codewords based on a trade-off between effective code rate and long code performance.

[0250] In a possible implementation, a threshold Rth of an effective code rate Rate_E is set, that is, Rth1 = Rth2 = Rth. Then, 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, refer to Figures 11a to 11c which is a schematic diagram of the length selection of three LDPC codewords provided by an embodiment of the present application. Figure 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. Figure 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. Figure 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 it, "①" 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 [figure] respectively show the selection of code lengths. Specifically, as Figure 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 Figure 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 Figure 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 (the aforementioned formula (2-4)) of the effective code rate Rate_E = Rth1 and the effective code rate Rate_E = Rth2 respectively, the first length (i.e., the aforementioned formula (2-1)) corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 648 bits can be deduced, and the second length (i.e., the aforementioned formula (2-2)) corresponding to a single LDPC codeword with a reference code rate of 0.5 and a length of 1296 bits can be deduced.

[0255] For example, referring to Figure 12 , Figure 12 is a schematic diagram of the length selection of another LDPC codeword provided by an embodiment of the present application. Figure 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, Figure 12 the abscissa in [figure] represents the length of the information bits to be encoded, and the ordinate represents the effective code rate. Figure 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, Figure 12 the arrows in Figure 12 show the selection of the code length. Specifically, as Figure 12 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 Figure 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 performance of the long code, it can not only ensure that long codes are preferably used 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 performance of short packets.

[0258] Embodiment 2

[0259] Embodiment 2 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 Embodiment 2 of the present application can be jointly implemented with the foregoing Embodiment 1, or Embodiment 2 of the present application can also be implemented alone, and the present application does not limit this.

[0261] Refer to Figure 13 , Figure 13 which is another flowchart 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 the. For example... Figure 13 As shown, the method for determining the length of LDPC codewords in this UWB system includes, but is not limited to, the following steps:

[0262] S201, The communication device obtains the length of the information bits to be encoded.

[0263] In this embodiment, the information bit to be encoded can refer to the information bit before channel coding, or the information bit input to the channel coding module. For example, the information bit to be encoded can be the data bit to be encoded (i.e., the payload bit), or the information bit to be encoded can also include the data bit to be encoded and the CRC bit. This embodiment does not impose any limitations.

[0264] S202, the communication device determines the length of the LDPC codeword based on the length of the information bit to be encoded. The parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bit to be encoded is greater than a first value and less than or equal to a third length, then 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 a fourth length, then 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, then the length of the LDPC codeword is 1944 bits.

[0265] The reference code rate R of this LDPC codeword is 1 / 2. This first value can be 648 bits or 81 bytes.

[0266] Optionally, the first and second lengths can be characterized by the number of bits or bytes; this embodiment does not impose any limitation. The third length can be determined based on the third codeword length, the reference code rate of the LDPC codeword, and a 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 can be the same or different. Both the third preset code rate threshold and the fourth preset code rate threshold are less than or equal to the reference code rate R (i.e., 0.5).

[0267] For example, the third length satisfies the following formula (3-1):

[0268]

[0269] Where L3 represents the third length, and the same expression below has the same meaning, so it will not be repeated. N3 represents the third codeword length, which is equal to 1944 bits or 243 bytes. R represents the reference code rate, which is equal to 1 / 2. Rth3 represents the third preset code rate threshold, which is less than or equal to 1 / 2.

[0270] For example, the fourth length satisfies the following formula (3-2):

[0271]

[0272] Here, L4 represents the fourth length, and the same expression in the following text has the same meaning, so it will not be 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 is understandable that if the length of the third codeword is in bits, such as 1944 bits, then 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, by converting the result of the above formula (3-1) (in bits) into the size of bytes (if the converted result is not an integer number of bytes, then a rounding operation can be performed). If the length of the third codeword is in bytes, such as 243 bytes, then 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 elaborated here. Similarly, if the length of the second codeword is in bits, such as 1296 bits, then 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, by converting the result of the above formula (3-2) (in bits) into the size of bytes (if the converted result is not an integer number of bytes, then a rounding operation can be performed). If the length of the second codeword is in bytes, such as 162 bytes, then 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 elaborated here.

[0274] Optionally, the values ​​of the third preset bitrate threshold Rth3 and the fourth preset bitrate 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 bitrate threshold Rth3 can be a subset of the range greater than or equal to 0.4 and less than or equal to 0.5, and the value range of the fourth preset bitrate threshold Rth4 can also be a subset of the range greater than or equal to 0.4 and less than or equal to 0.5.

[0275] It is understandable that once the ranges of the third preset bitrate threshold Rth3 and the fourth preset bitrate threshold Rth4 are determined, the ranges of the third length and the fourth length are also determined based on the above formulas (3-1) and (3-2), which will not be listed one by one here. For example, taking the third length in bits as an example, when the range of the third preset bitrate threshold Rth3 is greater than 0.4 and less than 0.5, based on the above formula (3-1), the range of the third length can be determined to be greater than 648 bits and less than 972 bits. Taking the third length in bytes as an example, when the range of the third preset bitrate threshold Rth3 is greater than 0.4 and less than 0.5, based on the above formula (3-1), the range of the third length can be determined to be greater than 81 bytes and less than 121 bytes (rounded down) or 122 bytes (rounded up). Similarly, for example, taking the fourth length represented in bits, when the fourth preset bit rate threshold Rth4 is greater than 0.4 and less than 0.5, based on the above formula (3-2), the range of the fourth length can be determined to be greater than 864 bits and less than 1296 bits. Taking the fourth length represented in bytes, when the fourth preset bit rate threshold Rth4 is greater than 0.4 and less than 0.5, based on the above formula (3-2), the range of the third length can be determined to be greater than 108 bytes and less than 162 bytes.

[0276] In some scenarios, when the embodiments of this application are implemented in combination with the aforementioned Embodiment 1, the first preset bitrate threshold and the second preset bitrate threshold in the aforementioned Embodiment 1, as well as the third preset bitrate threshold and the fourth preset bitrate threshold in the embodiments of this application, may be different, partially the same, or all the same. The embodiments of this application do not impose any restrictions on this.

[0277] For example, consider a third codeword length of 1944 bits and a second codeword length of 1296 bits. When the third preset code rate threshold and the fourth preset code rate threshold are the same, such as 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); or 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 calculated based on the above formula (3-1) is 675 bits or 676 bits, and L4 calculated based on the above formula (3-2) is 900 bits or 901 bits; for another example, when Rth3 = Rth4 = 0.42, L3 calculated based on the above formula (3-1) is 703 bits or 704 bits, and L4 calculated based on the above formula (3-2) is 938 bits or 939 bits; for yet another example, when Rth3 = Rth4 = 0.5, L3 is 972 bits and L4 is 1296 bits.

[0278] For another example, consider a third codeword length of 1944 bits and a second codeword length of 1296 bits. When the third preset code rate threshold and the fourth preset code rate threshold are not the same, 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 example, consider a third codeword length of 243 bytes and a second codeword length of 162 bytes. When the third preset codeword threshold and the fourth preset codeword threshold are the same, such as Rth3 = Rth4 = 0.45, L3 = 99 bytes or 100 bytes, and L4 = 132 bytes or 133 bytes. When the third preset codeword threshold and the fourth preset codeword threshold are different, such as Rth3 = 0.43, L3 = 91 bytes or 92 bytes; and Rth4 = 0.48, L4 = 149 bytes or 150 bytes.

[0280] For example, let's take a third codeword length of 1944 bits, where the third length is represented by the number of bytes. For instance, when Rth3 = 0.43, L3 = 733 bits or 734 bits, which translates to 91 bytes or 92 bytes.

[0281] Optionally, similar to the foregoing embodiments, when the third and fourth lengths are represented by the number of bytes, the rounding operation in formula (3-1) and / or formula (3-2) can be rounded to an integer number of bytes. In some scenarios, when the third and fourth lengths are represented by the number of bytes, the rounding operation in formula (3-1) and / or formula (3-2) can be rounded up or down to an integer multiple of 5 bytes. In still other scenarios, when the third and fourth lengths are represented by the number of bytes, the rounding operation in formula (3-1) and formula (3-2) can be rounded up or down to an integer multiple of 10 bytes. Similarly, when the third and fourth lengths are represented by the number of bits, the rounding operation in formula (3-1) and / or formula (3-2) can be rounded to an integer number of bits, or rounded up or down to an integer multiple of 5 bits, or rounded up or down to an integer multiple of 10 bits. The embodiments of this application do not limit the specific method of rounding in the above formulas (3-1) and (3-2).

[0282] For example, assuming the third and fourth preset bitrate thresholds are the same, and Rth3 = Rth4 = 0.43, and the third codeword length is 1944 bits, the second codeword length is 1296 bits, and the third and fourth lengths are represented by the number of bytes; then L3 = 733 bits (rounded down) or 734 bits (rounded up), and 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 rounded up or down to a multiple of 5, the third length is 90 bytes or 95 bytes, and the fourth length is 120 bytes or 125 bytes; if rounded up or down to a multiple of 10, the third length is 90 bytes or 100 bytes, and the fourth length is 120 bytes or 130 bytes.

[0283] For example, 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. Tables 4 and 5 can be standard-defined, preset, or determined through negotiation between the communicating parties. In Tables 4 and 5, "Inf_Num" represents the length of the information bits to be encoded; the same characters in the following text have the same meaning and will not be repeated. It is understood that Tables 4 and 5 are merely examples; in practical 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 that in Table 4 or Table 5. That is, the rows shown in Table 4 can be decoupled, and in practical applications, some or all of the rows shown in Table 4 may exist. Similarly, the rows shown in Table 5 can be decoupled, and in practical applications, some or all of the rows shown in Table 5 may exist.

[0284] Table 4

[0285]

[0286] Table 5

[0287]

[0288]

[0289] As is understandable, in Table 4, L3 represents the third length and L4 represents the fourth length, both in bits. In Table 5, L3 represents the third length and L4 represents the fourth length, both in bytes.

[0290] Optionally, the communication device can determine the length of the LDPC codeword based on the length of the acquired information bits to be encoded and at least one row from Table 4 above or Table 5 below. The parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded to generate parity 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, then the communication device determines the length of the LDPC codeword to be 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, then the communication device determines the length of the LDPC codeword to be 1296 bits; if the length of the information bits to be encoded is greater than the fourth length, then the communication device determines the length of the LDPC codeword to be 1944 bits.

[0291] Optionally, after step S202, the communication device may generate the LDPC codeword according to information such as the determined length of the LDPC codeword, the aforementioned 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 after encoding the information bits to be encoded (or the information bits to be encoded and the 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 aforementioned 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 aforementioned Figure 5 Step 6. In other words, since there are no OFDM symbols in the UWB system, there is no such Figure 5 Step 5 in the LDPC encoding process in the UWB system.

[0292] Among them, 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 above 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 first embodiment above.

[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 above formula (3-1) and formula (3-2).

[0295] For example, referring to Figure 14 , Figure 14 is a schematic diagram of another length selection of the LDPC codeword provided by the embodiment of the present application. Figure 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, Figure 14 the abscissa in represents the length of the information bits to be encoded, and the ordinate represents the effective code rate. Figure 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, Figure 14 "X" in it represents the third length, and "Y" represents the fourth length.

[0296] According to a similar principle in Embodiment 1, Figure 14 the arrow in it shows the selection of the code length. Specifically, as Figure 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 Figure 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 aforementioned 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 performance of long codes, and can also avoid the code rate loss caused by too many shortened 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 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 schematic, 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 of the embodiments of this application is described in detail.

[0301] See Figure 15 , Figure 15 This is a schematic diagram of the structure of a communication device provided in an embodiment of this application. Figure 15 As shown, the communication device includes an acquisition unit 10 and a determination unit 20. Optionally, the communication device further includes a transmission unit 30.

[0302] In one design, an acquisition unit 10 is used to acquire the length of the information bit to be encoded; a determination unit 20 is used to determine the length of the LDPC codeword based on the length of the information bit to be encoded, wherein the parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy 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 a first length, then 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 a second length, then 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 a first value, then 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 one possible implementation, the transmission unit 30 is used to transmit the LDPC codeword, which includes the information bit to be encoded and the check bit.

[0304] In another design, the acquisition unit 10 is used to acquire the length of the information bit to be encoded; the determination unit 20 is used to determine the length of the LDPC codeword based on the length of the information bit to be encoded, and the parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bit to be encoded is greater than a first value and less than or equal to a third length, then 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 a fourth length, then 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, then 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 one possible implementation, the transmission unit 30 is used to transmit the LDPC codeword, which includes the information bit to be encoded and the check bit.

[0306] The acquisition unit 10, the determination unit 20, and the transmission unit 30 can be integrated into a single unit or module, such as a processing unit. Optionally, the transmission unit 30 can also be a transceiver or a transceiver unit.

[0307] In this embodiment of the application, specific descriptions of the first value, first length, second length, third length, fourth length, and preset bitrate threshold can be found in the method embodiments shown above (including...). Figure 7 and Figure 13 (These will not be detailed here.)

[0308] It should be understood that the specific functions or execution steps of each of the above units can be referred to the above method embodiments, and will not be described in detail here.

[0309] The communication device according to embodiments of this application has been described above. The following describes possible product forms of the communication device. It should be understood that any device possessing the above-described features... Figure 15 Any form of the communication device described herein falls within the protection scope of the embodiments of this application. It should also be understood that the following description is merely illustrative and does not limit the form of the communication device in the embodiments of this application to this specific example.

[0310] Figure 15 In the communication device shown, the acquisition unit 10, the determination unit 20, and the transmission unit 30 can be implemented by one or more processors. See also Figure 16 , Figure 16 This is a schematic diagram of the structure of the communication device 1000 provided in the embodiments of this application. Figure 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, a memory 1003, and input / output devices (not shown). The processor 1001 and the transceiver 1002 may be coupled, etc. The connection method between the processor and the transceiver is not limited in this embodiment.

[0311] The processor 1001 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process the data of the software programs. The memory 1003 is mainly used to store software programs and data. The transceiver 1002 may include control circuitry and an antenna. The control circuitry is mainly used for converting baseband signals to radio frequency signals and processing radio frequency signals. The antenna is mainly used for transmitting and receiving radio frequency signals in the form of electromagnetic waves. Input / output devices, such as touchscreens, displays, and keyboards, are mainly used to receive user input data and output data to the user.

[0312] After the communication device is powered 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 transmitted wirelessly, the processor 1001 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF 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 radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.

[0314] The processor 1001, transceiver 1002, and memory 1003 can be connected via a communication bus.

[0315] In one design, the communication device 1000 can be used to perform the functions described in Embodiment 1 above; the processor 1001 can be used to perform... Figure 7 Steps S101 and S102, and / or other processes used to perform the techniques described herein; transceiver 1002 can be used for transmitting and receiving. Figure 7 Information or data required in the process, and / or other processes used in the techniques described herein.

[0316] In another design, the communication device 1000 can be used to perform the functions described in Embodiment 2 above: the processor 1001 can be used to perform... Figure 13 Steps S201 and S202, and / or other processes used to perform the techniques described herein; transceiver 1002 can be used for transmitting and receiving. Figure 13 Information or data required in the process, and / or other processes used in the techniques described herein.

[0317] In any of the above designs, the processor 1001 may include a transceiver for implementing receiving and transmitting functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, interface, or interface circuit for implementing receiving and transmitting functions may be separate or integrated. The aforementioned transceiver circuit, interface, or interface circuit may be used for reading and writing code / data, or it may be used for transmitting or relaying signals.

[0318] In any of the above designs, the processor 1001 may store instructions, which may be computer programs. These computer programs, running on the processor 1001, cause the communication device 1000 to execute the methods described in the above method embodiments. The computer program may be embedded in the processor 1001; in this case, the processor 1001 may be implemented in hardware.

[0319] In one implementation, the communication device 1000 may include circuitry capable of performing the functions of transmitting, receiving, or communicating as described in the foregoing method embodiments. The processor and transceiver described in this application can be implemented on integrated circuits (ICs), analog ICs, radio frequency integrated circuits (RFICs), mixed-signal ICs, application-specific integrated circuits (ASICs), printed circuit boards (PCBs), electronic devices, etc. The processor and transceiver can also be manufactured using various IC process technologies, such as complementary metal-oxide semiconductors (CMOS), n-metal-oxide-semiconductor (NMOS), positive-channel metal-oxide semiconductors (PMOS), bipolar junction transistors (BJTs), bipolar CMOS (BiCMOS), silicon-germanium (SiGe), gallium arsenide (GaAs), etc.

[0320] It is understood that the communication device shown in the embodiments of this application may also have more than Figure 16 This application does not limit the use of other components or other related elements. The methods performed by the processor and transceiver shown above are merely examples; for the specific steps performed by the processor and transceiver, please refer to the description of the method embodiments above.

[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 be unrestricted. Figure 16 The communication device may be a standalone device or 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) A collection of one or more ICs, optionally including storage components 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, etc.

[0328] In another possible implementation, Figure 15 In the communication device shown, the acquisition unit 10 and the determination unit 20 can be implemented by one or more logic circuits. The transmission unit 30 can be an input / output interface, or a communication interface, or an interface circuit, or an interface, etc. Alternatively, the transmission unit 30 can also be a transmitting unit and a receiving unit. The transmitting unit can be an output interface, and the receiving unit can be an input interface. The transmitting unit and the receiving unit are integrated into one unit, such as an input / output interface. See also Figure 17 , Figure 17 This is another structural schematic diagram of the communication device provided in the embodiments of this application. For example... Figure 17 As shown, Figure 17 The communication device shown includes logic circuitry 901 and interface 902. The logic circuitry 901 can be a chip, processing circuitry, integrated circuit, or system-on-chip (SoC) chip, etc., and the interface 902 can be a communication interface, input / output interface, pins, etc. For example, Figure 17 The above-mentioned communication device is used as an example of a chip, which includes a logic circuit 901 and an interface 902.

[0329] In this embodiment, the logic circuit and the interface can also be coupled to each other. The specific connection method between the logic circuit and the interface is not limited in this embodiment.

[0330] For example, when the communication device is used to execute the method, function, or step performed by the communication device in the first embodiment described above, 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 based on the length of the information bit to be encoded. The parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. Interface 902 is used to output the LDPC codeword, which includes the information bit to be encoded and the parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy 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 a first length, then 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 a second length, then 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 a first value, then 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] For example, when the communication device is used to execute the method, function, or step performed by the communication device in the aforementioned embodiment two, 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 based on the length of the information bit to be encoded. The parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. Interface 902 is used to output the LDPC codeword, which includes the information bit to be encoded and the parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bit to be encoded is greater than a first value and less than or equal to a third length, then 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 a fourth length, then 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, then 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 this embodiment of the application, specific descriptions of the first value, first length, second length, third length, fourth length, and preset bitrate threshold can be found in the method embodiments shown above (including...). Figure 7 and Figure 13 (These will not be detailed here.)

[0333] It is understood that the communication device shown in the embodiments of this application can implement the method provided in the embodiments of this application in hardware form or in software form, etc., and the embodiments of this application do not limit it in this way.

[0334] for Figure 17 For specific implementations of the various embodiments shown, please refer to the above embodiments, which will not be described in detail here.

[0335] This application also provides a computer program for implementing the operations and / or processes performed by the communication device in the method provided in this application.

[0336] This application also provides a computer-readable storage medium storing computer code that, when executed on a computer, causes the computer to perform the operations and / or processes performed by the communication device in the method provided in this application.

[0337] This application also provides a computer program product, which includes computer code or a computer program that, when run on a computer, causes the operations and / or processes performed by the communication device in the method provided in this application to be executed.

[0338] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, or it may be an electrical, mechanical, or other form of connection.

[0339] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected according to actual needs to achieve the technical effects of the solutions provided in the embodiments of this application.

[0340] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0341] If the integrated unit is implemented as 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 this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned readable storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0342] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the 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 bits of the information to be encoded. The communication device determines the length of the low-density parity check (LDPC) codeword based on the length of the information bit to be encoded, and the parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The lengths of the information bits to be encoded and the length of the LDPC codeword satisfy 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, then 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, then 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, then 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, then the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, then 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 includes: The communication device transmits the LDPC codeword, which includes the information bit to be encoded and the check bit.

4. The method according to any one of claims 1-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. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the 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 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-5, characterized in that, The bits of information 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 bits of the information to be encoded. The communication device determines the length of the low-density parity check (LDPC) codeword based on the length of the information bit to be encoded, and the parity check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy the following conditions: if the length of the information bit to be encoded is greater than 121 bytes and less than or equal to 162 bytes, then the length of the LDPC codeword is 1296 bits; if the length of the information bit to be encoded is greater than 162 bytes, then 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 includes: The communication device transmits the LDPC codeword, which includes the information bit to be encoded and the check bit.

10. The method according to any one of claims 7-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. The number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the 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 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-11, characterized in that, The bits of information to be encoded include cyclic redundancy check (CRC) bits.

13. A communication device, characterized in that, include: The acquisition unit is used to acquire the length of the bits of the information to be encoded. The determining unit is used to determine the length of the low-density parity-check (LDPC) codeword based on the length of the information bit to be encoded, wherein the parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The lengths of the information bits to be encoded and the length of the LDPC codeword satisfy 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, then 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, then 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, then 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, then the length of the LDPC codeword is 1296 bits; if the length of the information bits to be encoded is greater than 162 bytes, then the length of the LDPC codeword is 1944 bits.

14. The apparatus according to claim 13, characterized in that, The device further includes a transmission unit for transmitting the LDPC codeword, the LDPC codeword including the information bit to be encoded and the check bit.

15. A communication device, characterized in that, include: The acquisition unit is used to acquire the length of the bits of the information to be encoded. The determining unit is used to determine the length of the low-density parity-check (LDPC) codeword based on the length of the information bit to be encoded, wherein the parity-check matrix corresponding to the LDPC codeword is used to encode the information bit to be encoded to generate parity bits. The length of the information bit to be encoded and the length of the LDPC codeword satisfy the following conditions: if the length of the information bit to be encoded is greater than 121 bytes and less than or equal to 162 bytes, then the length of the LDPC codeword is 1296 bits; if the length of the information bit to be encoded is greater than 162 bytes, then the length of the LDPC codeword is 1944 bits.

16. The apparatus according to claim 15, characterized in that, The device further includes a transmission unit for transmitting the LDPC codeword, the LDPC codeword including the information bit to be encoded and the check bit.

17. A communication device, characterized in that, Including processor and memory; The memory is used to store instructions; The processor is configured to execute the instructions to cause the method described in any one of claims 1 to 12 to be performed.

18. A communication device, characterized in that, Includes logic circuits and interfaces, wherein the logic circuits and interfaces are coupled; The interface is used to input and / or output code instructions, and the logic circuit is used to execute the code instructions to cause the method of any one of claims 1 to 12 to be performed.

19. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program, which, when executed, performs the method according to any one of claims 1 to 12.

20. A computer program product, characterized in that, The computer program product includes a computer program or computer code that, when run on a computer, performs the method as described in any one of claims 1 to 12.

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