Method and related apparatus for determining the length of an LDPC codeword in a UWB system.

By determining LDPC codeword lengths based on information bit lengths and coding rate thresholds, the method improves error control performance and reduces coding rate loss in UWB systems.

JP2026515265APending Publication Date: 2026-05-15HUAWEI TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2023-10-31
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

The choice of LDPC codeword length in UWB systems significantly affects error control performance, necessitating a method to determine optimal codeword lengths for improved reliability and reduced coding rate loss.

Method used

A method for determining LDPC codeword length based on the length of information bits to be encoded, using predefined coding rate thresholds to select codeword lengths of 648, 1296, or 1944 bits, and generating parity bits using a parity check matrix.

Benefits of technology

This approach enhances error control performance and reduces coding rate loss, ensuring effective coding rates for short packets and improving overall transmission reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026515265000001_ABST
    Figure 2026515265000001_ABST
Patent Text Reader

Abstract

This application relates to a method and apparatus for determining the length of an LDPC codeword in a UWB system. The method includes the following: A communication device determines the LDPC code length based on the length of information bits to be encoded, selecting a 684-bit LDPC code if the length of the information bits is from 0 to L1, selecting a 1296-bit LDPC code if the length of the information bits is from L1 to L2, or selecting a 1944-bit LDPC code if the length of the information bits is from L2 to 648. According to embodiments of this application, better performance gains can be achieved and coding rate losses can be reduced. The present invention may be applied to UWB-based wireless personal local area network systems, sensing systems, etc., including 802.15 series protocols such as the 802.15.4ab protocol or the next-generation UWB protocol of the 802.15.4ab protocol, and may further be applied to wireless local area network systems based on 802.11 series protocols such as the 802.11be or the next-generation protocol of 802.11be such as Wi-Fi 8.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority to Chinese Patent Application No. 202211350638.9, entitled “Method and related apparatus for determining the length of an LDPC codeword in a UWB system,” filed with the China National Intellectual Property Administration on 31 October 2022, and Chinese Patent Application No. 202211467840.X, entitled “Method and related apparatus for determining the length of an LDPC codeword in a UWB system,” filed with the China National Intellectual Property Administration on 22 November 2022, both of which are incorporated herein by reference in their entirety. Technical field This application relates to the field of communication technology, and more particularly to a method and related apparatus for determining the length of a low-density parity-check (LDPC) codeword in an ultra-wideband (UWB) system. [Background technology]

[0002] Technical field to which the invention belongs The Institute of Electrical and Electronics Engineers (IEEE) 802.11n / ac / ax / be wireless local area network (WLAN) standards primarily study how to improve the user experience in 60GHz high-bandwidth scenarios, including increasing average user throughput and improving energy utilization of battery-based power supply devices. To achieve this, high-speed and reliable transmission of services such as data and video services must be realized over limited frequency and power resources. Therefore, reliable and efficient channel coding and decoding schemes are required.

[0003] Currently, turbo coding and LDPC coding are the two most commonly used channel coding schemes in the field of channel coding. Both achieve performance close to the Shannon limit and are widely used in the communications field. Compared to turbo coding, LDPC coding has significant advantages. For example, it can achieve very good bit error performance without deep interleaving, achieves better frame error rate performance, significantly reduces the error floor, supports parallel decoding, and has a short decoding delay. Therefore, LDPC coding has become the standard channel coding scheme for low-frequency short-range WLAN communication systems such as 802.11n / ac / ax systems.

[0004] LDPC coding is widely used in WLAN standards to improve the transmission reliability of wireless transmission systems. Next-generation UWB standards, such as IEEE 802.15ab, introduce LDPC coding used in WLANs to improve the data transmission reliability of the system. However, the choice of LDPC codeword length affects error control performance. Therefore, there is an urgent need to study how to determine LDPC codeword length in UWB systems. [Overview of the initiative] [Problems that the invention aims to solve]

[0005] Embodiments of the present invention provide a method and associated apparatus for determining the length of an LDPC codeword in a UWB system in order to achieve a higher error control performance gain and reduce coding rate loss.

[0006] The following describes the present invention from different perspectives. It should be understood that the following embodiments and the advantageous effects of the different perspectives are mutually referenced. [Means for solving the problem]

[0007] According to the first aspect, the present invention provides a method for determining the length of an LDPC codeword in a UWB system. The method includes: a communication device obtains the length of the information bits to be encoded and determines the length of the LDPC codeword based on the length of the information bits to be encoded; and encoding the information bits to be encoded and generating a parity bit using a parity check matrix corresponding to the LDPC codeword. The communication device determining the length of the LDPC codeword based on the length of the information bits to be encoded includes one or more of the following operations: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the communication device determines that the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the communication device determines that the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the communication device determines that the length of the LDPC codeword is 1944 bits, where the first value is 648 bits (or 81 bytes). At least one of the first or second length is determined based on a pre-set coding rate threshold.

[0008] For a detailed analysis of the beneficial effects of this invention, please refer to the description in the following method embodiment. Details are not described here. This application can achieve better error control performance gains and reduce coding rate loss. In addition, to improve the performance of short packets, it can be guaranteed that the effective coding rate of short packets (e.g., packets with a length of 648 bits or less of information bits to be coded) is below a given threshold.

[0009] In the present application, the information bits to be encoded are the information bits that have not undergone channel encoding, that is, the information bits input to the input end of the channel encoding module. For example, the information bits to be encoded may be the data bits to be encoded (i.e., payload bits), or the information bits to be encoded may include the data bits to be encoded and CRC bits. This is not limited in the embodiments of the present application.

[0010] In relation to the first aspect, in a possible implementation, the standard coding rate of the LDPC codeword is 0.5.

[0011] In relation to the first aspect, in a possible implementation, the first length is determined based on the first codeword length, the standard coding rate of the LDPC codeword, and the first preset coding rate threshold. The first codeword length is 648 bits or 81 bytes. The first preset coding rate threshold is smaller than the standard coding rate of the LDPC codeword, that is, smaller than 0.5.

[0012] Optionally, the value range of the first preset coding rate threshold may be 0.3 or more and 0.43 or less.

[0013] Optionally, the first length is

Number

[0014] The rounding operation in the present application may be rounding to an integer number of bits or bytes, or rounding up or down to an integer multiple of 5 bits or bytes, or rounding up or down to an integer multiple of 10 bits or bytes.

[0015] In relation to the first aspect, in a possible implementation, the second length is determined based on a second codeword length, a base coding rate for the LDPC codeword, and a second pre-set coding rate threshold. The second codeword length is 1296 bits or 162 bytes. The second pre-set coding rate threshold is less than the base coding rate for the LDPC codeword, i.e., less than 0.5.

[0016] Optionally, the range of the second pre-configured coding rate threshold may be 0.3 or greater and 0.43 or less.

[0017] Optionally, the second length is

number

[0018] It can be understood that once the value ranges for the first pre-configured coding rate threshold and the second pre-configured coding rate threshold are determined, the value ranges for the first length and the second length are also determined.

[0019] In relation to the first aspect, in a possible implementation, the first pre-configured coding rate threshold and the second pre-configured coding rate threshold may be the same or different.

[0020] In relation to the first aspect, in a possible implementation, the length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the length of the LDPC codeword is 1944 bits. At least one of the third or fourth length is determined based on a pre-set coding rate threshold.

[0021] Optionally, the third length is determined based on the third codeword length, the base coding rate of the LDPC codeword, and a third pre-set coding rate threshold. The third codeword length is 1944 bits or 243 bytes. The third pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. For example, the value range for the third pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0022] For example, the third length is

number

[0023] Optionally, the fourth length is determined based on the second codeword length and a fourth pre-set coding rate threshold, where the fourth pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. For example, the value range for the fourth pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0024] For example, the fourth length is

number

[0025] It can be understood that once the value ranges for the third and fourth pre-configured coding rate thresholds are determined, the value ranges for the third and fourth lengths are also determined.

[0026] In relation to the first aspect, in a possible implementation, the third pre-configured coding rate threshold and the fourth pre-configured coding rate threshold may be the same or different.

[0027] In relation to the first aspect, in a possible implementation, the method includes: a communication device transmitting an LDPC codeword, which includes information bits and parity bits to be encoded. For example, the communication device generates an LDPC codeword based on a determined length of the LDPC codeword, the information bits to be encoded, the base coding rate of the LDPC codeword, and other information, and transmits the LDPC codeword.

[0028] In relation to the first aspect, in a possible implementation, the number of shortening zero bits in an 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 an LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

[0029] For example, the number of shortening zero bits in an LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Here, Padding_Num represents the number of shortening zero 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, where N represents the length of the LDPC codeword and R represents the base coding rate of the LDPC codeword.

[0030] In relation to the first aspect, in a possible implementation, the information bits to be encoded include cyclic redundancy check (CRC) bits.

[0031] In a second aspect, the present invention provides a communication device including an acquisition unit and a determination unit. The acquisition unit is configured to acquire the length of information bits to be encoded. The determination unit is configured to determine the length of a low-density parity-checked LDPC codeword based on the length of the information bits to be encoded, and a parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate parity bits. Specifically, the determination unit is configured to perform one or more of the following operations: determine that the length of the LDPC codeword is 648 bits when the length of the information bits to be encoded is greater than 0 and less than or equal to a first length; determine that the length of the LDPC codeword is 1296 bits when the length of the information bits to be encoded is greater than a first length and less than or equal to a second length; or determine that the length of the LDPC codeword is 1944 bits when the length of the information bits to be encoded is greater than a second length and less than or equal to a first value. The first value is 648 bits (or 81 bytes). At least one of the first or second length is determined based on a pre-set coding rate threshold.

[0032] In relation to the second aspect, in one possible implementation, the base coding rate of the LDPC codeword is 0.5.

[0033] Referring to the second aspect, in a possible implementation, the first length is determined based on a first codeword length, a base coding rate for the LDPC codeword, and a first pre-set coding rate threshold. The first codeword length is 648 bits or 81 bytes. The first pre-set coding rate threshold is less than the base coding rate for the LDPC codeword, i.e., less than 0.5.

[0034] Optionally, the range of the first pre-set coding rate threshold may be 0.3 or greater and 0.43 or less.

[0035] Optionally, the first length is

number

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

[0037] In relation to the second aspect, in a possible implementation, the second length is determined based on a second codeword length, a base coding rate for the LDPC codeword, and a second pre-set coding rate threshold. The second codeword length is 1296 bits or 162 bytes. The second pre-set coding rate threshold is less than the base coding rate for the LDPC codeword, i.e., less than 0.5.

[0038] Optionally, the range of the second pre-configured coding rate threshold may be 0.3 or greater and 0.43 or less.

[0039] Optionally, the second length is

number

[0040] It can be understood that once the value ranges for the first pre-configured coding rate threshold and the second pre-configured coding rate threshold are determined, the value ranges for the first length and the second length are also determined.

[0041] In relation to the second aspect, in a possible implementation, the first pre-configured coding rate threshold and the second pre-configured coding rate threshold may be the same or different.

[0042] In relation to the second aspect, in a possible implementation, the decision unit is further calibrated to perform one or more of the following actions: determine that the length of the LDPC codeword is 1944 bits when the length of the information bits to be encoded is greater than a first value and less than or equal to a third length; determine that the length of the LDPC codeword is 1296 bits when the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length; or determine that the length of the LDPC codeword is 1944 bits when the length of the information bits to be encoded is greater than a fourth length.

[0043] Optionally, the third length is determined based on the third codeword length, the base coding rate of the LDPC codeword, and a third pre-set coding rate threshold. The third codeword length is 1944 bits or 243 bytes. The third pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. For example, the value range for the third pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0044] For example, the third length is

number

[0045] Optionally, the fourth length is determined based on the second codeword length and a fourth pre-set coding rate threshold, where the fourth pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. For example, the value range for the fourth pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0046] For example, the fourth length is

number

[0047] It can be understood that once the value ranges for the third and fourth pre-configured coding rate thresholds are determined, the value ranges for the third and fourth lengths are also determined.

[0048] In relation to the second aspect, in a possible implementation, the third pre-configured coding rate threshold and the fourth pre-configured coding rate threshold may be the same or different.

[0049] In relation to the second aspect, in a possible implementation, the communication device further includes a transmitting unit configured to transmit an LDPC codeword, the LDPC codeword comprising an information bit and a parity bit to be encoded.

[0050] In relation to the second aspect, in a possible implementation, the number of shortening zero bits in an 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 an LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

[0051] For example, the number of shortening zero bits in an LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Padding_Num indicates the number of shortening zero bits in the LDPC codeword, K indicates the number of information bits in the LDPC codeword, Inf_Num indicates the length of the information bits to be encoded, and mod indicates the modulo operation. K = N × R, where N is the length of the LDPC codeword and R is the base coding rate of the LDPC codeword.

[0052] In relation to the second aspect, in a possible implementation, the information bits to be encoded include the CRC bit.

[0053] In a third aspect, the present invention provides a method for determining the length of an LDPC codeword in a UWB system. The method includes: a communication device obtains the length of the information bits to be encoded and determines the length of the LDPC codeword based on the length of the information bits to be encoded; and encoding the information bits to be encoded and generating a parity bit using a parity check matrix corresponding to the LDPC codeword. The communication device determining the length of the LDPC codeword based on the length of the information bits to be encoded includes one or more of the following operations: if the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to a third length, the communication device determines that the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the communication device determines that the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the communication device determines that the length of the LDPC codeword is 1944 bits. The first value is 648 bits (or 81 bytes). At least one of the third or fourth length is determined based on a pre-set coding rate threshold.

[0054] For a detailed analysis of the beneficial effects of this invention, please refer to the description in the method embodiment below. Details are not described here. This invention enables the achievement of higher error control performance gain and reduced coding rate loss.

[0055] In relation to the third aspect, in one possible implementation, the base coding rate of the LDPC codeword is 0.5.

[0056] Referring to the third aspect, in a possible implementation, the third length is determined based on a third codeword length, a base coding rate for the LDPC codeword, and a third pre-set coding rate threshold. The third codeword length is 1944 bits or 243 bytes. The third pre-set coding rate threshold is less than the base coding rate for the LDPC codeword.

[0057] Optionally, the value range of the third pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0058] For example, the third length

Number

[0059] In relation to the third aspect, in one possible implementation, the fourth length is determined based on the second codeword length and the fourth pre-set coding rate threshold. The second codeword length is 1296 bits or 162 bytes. The fourth pre-set coding rate threshold is less than the reference coding rate of the LDPC codeword.

[0060] Optionally, the value range of the fourth pre-set coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0061] For example, the fourth length

Number

[0062] Once the value ranges of the third pre-set coding rate threshold and the fourth pre-set coding rate threshold are determined, it can be understood that the value ranges of the third length and the fourth length are determined.

[0063] In relation to the third aspect, in a possible implementation, the third pre-configured coding rate threshold and the fourth pre-configured coding rate threshold may be the same or different.

[0064] In relation to the third aspect, in a possible implementation, the method further includes: the communication device transmits an LDPC codeword, which includes information bits and parity bits to be encoded. For example, the communication device generates an LDPC codeword based on a determined length of the LDPC codeword, the information bits to be encoded, the base coding rate of the LDPC codeword, and other information, and transmits the LDPC codeword.

[0065] Referring to the third aspect, in a possible implementation, the number of shortening zero bits in an 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 an LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

[0066] For example, the number of shortening zero bits in an LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Here, Padding_Num represents the number of shortening zero 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, where N represents the length of the LDPC codeword and R represents the base coding rate of the LDPC codeword.

[0067] In relation to the third aspect, in a possible implementation, the information bits to be encoded include the CRC bit.

[0068] According to a fourth aspect, the present application provides a communication device including an acquisition unit and a determination unit. The acquisition unit is configured to acquire the length of information bits to be encoded. The determination unit is configured to determine the length of a low-density parity-checked LDPC codeword based on the length of the information bits to be encoded, and a parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate parity bits. Specifically, the determination unit is configured to perform one or more of the following operations: determine that the length of the LDPC codeword is 1944 bits when the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to a third length; determine that the length of the LDPC codeword is 1296 bits when the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length; or determine that the length of the LDPC codeword is 1944 bits when the length of the information bits to be encoded is greater than a fourth length.

[0069] In relation to the fourth aspect, in one possible implementation, the base coding rate of the LDPC codeword is 1 / 2.

[0070] In relation to the fourth aspect, in a possible implementation, the third length is determined based on a third codeword length, a base coding rate for the LDPC codeword, and a third pre-set coding rate threshold. The third codeword length is 1944 bits or 243 bytes. The third pre-set coding rate threshold is less than the base coding rate for the LDPC codeword.

[0071] Optionally, the range of the third pre-configured coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0072] For example, the third length is

number

[0073] In relation to the fourth aspect, in a possible implementation, the fourth length is determined based on the second codeword length and a fourth pre-set coding rate threshold. The second codeword length is 1296 bits or 162 bytes. The fourth pre-set coding rate threshold is less than the base coding rate of the LDPC codeword.

[0074] Optionally, the range of the fourth pre-configured coding rate threshold may be greater than 0.4 and less than or equal to 0.5.

[0075] For example, the fourth length is

number

[0076] It can be understood that once the value ranges for the third and fourth pre-configured coding rate thresholds are determined, the value ranges for the third and fourth lengths are also determined.

[0077] In relation to the fourth aspect, in a possible implementation, the third pre-configured coding rate threshold and the fourth pre-configured coding rate threshold may be the same or different.

[0078] In relation to the fourth aspect, in a possible implementation, the communication device further includes a transmitting unit configured to transmit an LDPC codeword, the LDPC codeword comprising an information bit and a parity bit to be encoded.

[0079] In relation to the fourth aspect, in a possible implementation, the number of shortening zero bits in an 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 an LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

[0080] For example, the number of shortening zero bits in an LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Here, Padding_Num represents the number of shortening zero 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, where N represents the length of the LDPC codeword and R represents the base coding rate of the LDPC codeword.

[0081] In relation to the fourth aspect, in a possible implementation, the information bits to be encoded include the CRC bit.

[0082] According to the fifth aspect, the present application provides a communication device. The communication device includes a processor configured to perform the method according to the first aspect or the third aspect, or any possible implementation of the first aspect or the third aspect. Alternatively, the processor is configured to execute a program stored in memory, and when the program is executed, the method according to the first aspect or the third aspect, or any possible implementation of the first aspect or the third aspect, is performed.

[0083] In relation to the fifth aspect, in one possible implementation, the memory is located outside the communication device.

[0084] In relation to the fifth aspect, in one possible implementation, the memory is located inside the communication device.

[0085] In this embodiment of the present application, the processor and memory may alternatively be integrated into a single device, that is, the processor and memory may alternatively be integrated together.

[0086] In relation to the fifth aspect, in a possible implementation, the communication device further includes a transceiver. The transceiver is configured to receive or transmit signals.

[0087] According to the sixth aspect, the present application provides a communication device. The communication device includes a logic circuit and an interface, the logic circuit being coupled to the interface.

[0088] In one design, a logic circuit is configured to obtain the length of the information bits to be encoded and to determine the length of a low-density parity-checked LDPC codeword based on the length of the information bits to be encoded, and a parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. An interface is configured to output an LDPC codeword, which contains the information bits to be encoded and the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first or second length is determined based on a pre-set coding rate threshold.

[0089] In an alternative design, the logic circuit is configured to obtain the length of the information bits to be encoded and to determine the length of the low-density parity-check LDPC codeword based on the length of the information bits to be encoded, and the parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The interface is configured to output the LDPC codeword, which contains the information bits to be encoded and the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the length of the LDPC codeword is 1944 bits, and the first value is 648 bits or 81 bytes. At least one of the third or fourth length is determined based on a pre-set coding rate threshold.

[0090] According to the seventh aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium is configured to store a computer program. When the computer program is executed on a computer, the first aspect or the third aspect, or any possible implementation of the first aspect or the third aspect, is performed.

[0091] According to the eighth aspect, the present application provides a computer program product. The computer program product includes a computer program or computer code. When the computer program product is executed on a computer, the first aspect or the third aspect, or any possible implementation of the first aspect or the third aspect, is performed.

[0092] According to the ninth aspect, the present application provides a computer program. When the computer program is executed on a computer, the first aspect or the third aspect, or any possible implementation of the first aspect or the third aspect, is performed.

[0093] For the technical effects achieved in the aforementioned aspects, please refer to each other or to the technical effects in the following method embodiments. Details are not described here. [Brief explanation of the drawing]

[0094] To more clearly explain the technical solution in the embodiments of this application, the accompanying drawings illustrating the embodiments are briefly described below. [Figure 1] This is a diagram showing the structure of a wireless communication system according to one embodiment of the present invention. [Figure 2] This is a diagram showing another structure of a wireless communication system according to one embodiment of the present invention. [Figure 3a] This is a diagram of the LDPC code parity check matrix according to one embodiment of the present invention. [Figure 3b] This is a Tanner graph of an LDPC code according to one embodiment of the present invention. [Figure 4a] This is a diagram of an LDPC code parity check matrix with coding rate 1 / 2 and code length 648 according to one embodiment of the present invention. [Figure 4b] This is a diagram of a cyclic shift matrix P1 according to one embodiment of the present invention. [Figure 5] This is a diagram of the LDPC coding process in a WLAN according to one embodiment of the present invention. [Figure 6a] This is a diagram of an LDPC code parity check matrix with a coding rate of 1 / 2 and a code length of 1296 according to one embodiment of the present invention. [Figure 6b] This is a diagram of an LDPC code parity check matrix with coding rate 1 / 2 and code length 1944 according to one embodiment of the present invention. [Figure 7]This is a schematic flowchart of a method for determining the length of an LDPC codeword in a UWB system according to one embodiment of the present invention. [Figure 8] This is a diagram of the LDPC coding process in a UWB system according to one embodiment of the present invention. [Figure 9] This figure shows the number of shortening zero bits required by an LDPC code having different code lengths that vary with the length of the information bits to be encoded, according to one embodiment of the present invention. [Figure 10] This figure shows the effective coding rate of an LDPC code having different code lengths that vary with the length of the information bits to be coded, according to one embodiment of the present application. [Figure 11a] This figure shows how to select the length of an LDPC codeword according to one embodiment of the present invention. [Figure 11b] Another diagram illustrating the selection of LDPC codeword length according to one embodiment of the present invention. [Figure 11c] Another figure illustrating the selection of LDPC codeword length according to one embodiment of the present invention. [Figure 12] Another figure illustrating the selection of LDPC codeword length according to one embodiment of the present invention. [Figure 13] This is another schematic flowchart of a method for determining the length of an LDPC codeword in a UWB system according to one embodiment of the present invention. [Figure 14] Another figure illustrating the selection of LDPC codeword length according to one embodiment of the present invention. [Figure 15] This is a diagram showing the structure of a communication device according to one embodiment of the present invention. [Figure 16] This is a diagram showing the structure of a communication device 1000 according to one embodiment of the present invention. [Figure 17] This is a diagram showing another structure of a communication device according to one embodiment of the present invention. [Modes for carrying out the invention]

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

[0096] In this description, unless otherwise specified, " / " means "or". For example, A / B may represent A or B. The term "and / or" in this specification describes only the relational relationship between related subjects and indicates that three relationships may exist. For example, A and / or B may represent the following three cases: A exists only, both A and B exist, or B exists only. Also, "at least one" means one or more, and "plural" means two or more. At least one of the following items (elements) or similar expressions indicate any combination of these items, including a single item (element) or any combination of multiple items (elements). For example, at least one of a, b, or c may represent a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, and c may each be singular or plural.

[0097] Furthermore, the terms “includes,” “have,” and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a set of steps or units may, optionally, include further steps or units not listed, or optionally, other steps or units specific to those processes, methods, products, or devices.

[0098] In this application, the terms “example” or “for example” are used to indicate that an example, illustration, or explanation is being given. Any embodiment or design scheme described in this application as “example,” “etc.,” or “for example” should not be described as being preferable to or having more advantages than another embodiment or design scheme. More precisely, the use of words such as “example,” “etc.,” and “for example” is intended to present the relevant concepts in a particular way.

[0099] In this application, "when" and "in the case of" mean that the device performs the corresponding process in the intended circumstances, and are not intended to limit the time. These terms do not imply that the device is required to have a determination action during implementation, nor do they imply any other limitation.

[0100] In this application, unless otherwise specified, elements expressed in the singular form are intended to represent "one or more," but not "only one."

[0101] In the embodiments of this application, determining B based on A does not mean that B is determined solely on A, but rather that B may be determined alternatively based on A and / or other information.

[0102] The technical solutions provided herein are applicable to wireless personal area networks (WPANs) based on UWB technology. For example, the methods provided herein are applicable to IEEE 802.15 series protocols, such as the 802.15.4ab protocol or next-generation UWB WPAN standards. Examples are not listed one by one herein. The methods provided herein may be further applied to various communication systems such as Internet of Things (IoT) systems, Vehicle to Everything (V2X), and Narrowband Internet of Things (NB-IoT) systems, or to devices such as Vehicle to Everything, Internet of Things nodes, sensors in the Internet of Things (IoT), smart cameras, smart remote controls, and smart water or electricity meters in smart homes, sensors in smart cities, etc. The methods provided in this application are further applicable to LTE frequency division duplex (FDD) systems, LTE time division duplex (TDD) systems, universal mobile telecommunications systems (UMTS), worldwide interoperability for microwave access (WiMAX) communication systems, long-term evolution (LTE) systems, 5th-generation (5G) communication systems, 6th-generation (6G) communication systems, and the like.

[0103] UWB technology is a new wireless communication technology. In UWB technology, data is transmitted through narrow, non-sinusoidal pulses at the nanosecond level, and modulation is performed with impulses that have very steep rise and fall times. Therefore, UWB technology occupies a wide spectral range, and thereby the signal has a bandwidth of gigahertz (GHz). The bandwidth used by UWB is typically higher than 1 GHz. UWB systems do not need to generate a sinusoidal carrier signal and can transmit impulse signals directly. Therefore, UWB systems have a wide spectrum and low average power. UWB wireless communication systems have advantages such as strong multipath resolution, low power consumption, and high confidentiality. This facilitates coexistence with other systems, thereby improving spectral utilization and system capacity. In addition, for short-range communication applications, the transmission power of a UWB transmitter can typically be lower than 1 mW (milliwatt). Theoretically, the interference generated by UWB signals is only equivalent to white noise. This facilitates good coexistence between ultra-wideband communication and existing narrowband communication. Therefore, UWB systems and narrowband (NB) communication systems can operate simultaneously without interfering with each other. The method provided herein can be implemented by a communication device in a wireless communication system. In the communication device, a device or chip that implements the functionality of a UWB system may be called a UWB module, and a device or chip that implements the functionality of a narrowband communication system may be called a narrowband communication module. The UWB module and the narrowband communication module may be different devices or chips. Of course, the UWB module and the narrowband communication module may, alternatively, be integrated into a single device or chip. The implementation of the UWB module and the narrowband communication module in the communication device is not limited to the embodiments of this application. The communication device in this application includes a UWB module and optionally further includes a narrowband communication module.

[0104] The methods provided herein may be implemented by communication devices within a wireless communication system. The communication devices may also be devices in a UWB system. For example, communication devices may include, but are not limited to, communication servers, routers, switches, bridges, computers, and mobile phones that support UWB technology. In another example, communication devices may include user equipment (UE). User equipment may include a variety of devices that support UWB technology, such as handheld devices, in-vehicle devices (e.g., vehicles or components mounted in vehicles), wearable devices, Internet of Things (IoT) devices, computing devices, or other processing devices connected to a wireless modem. Examples are not listed one by one herein. In yet another example, communication devices may include a central control point, such as a personal area network (PAN) or PAN coordinator. The PAN coordinator or PAN may be a mobile phone, in-vehicle device, anchor, tag, smart home, etc. In yet another example, communication devices may include a chip, which may be located in a communication server, router, switch, terminal device, etc. Examples are not enumerated herein. The foregoing description of communication devices can be understood to be applicable to the communication devices of this application.

[0105] Optionally, the communication device in the embodiments of the present invention may be a device that supports multiple WPAN standards, such as IEEE 802.15.4ab or a later version, which is currently under discussion.

[0106] In embodiments of the present application, the communication device may include a hardware layer, an operating system layer operating on the hardware layer, and an application layer operating 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 may be any one or more types of computer operating systems that perform service processing through processes, for example, a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as a browser, an address book, document processing software, and instant messaging software. In addition, the specific structure of the implementer of the method provided in embodiments of the present application is not particularly limited in embodiments of the present application, as long as communication can be performed in accordance with the method provided in embodiments of the present application by executing a program that records the code of the method provided in embodiments of the present application.

[0107] For example, Figure 1 is a diagram of the structure of a wireless communication system according to one embodiment of the present invention. As shown in Figure 1, the wireless communication system has a star topology structure. In this structure, a central control node (e.g., the PAN coordinator in Figure 1) can perform data communication with one or more other devices. Figure 2 is a diagram of another structure of a wireless communication system according to one embodiment of the present invention. As shown in Figure 2, the wireless communication system has a peer-to-peer topology structure. In this structure, a central control node (e.g., the PAN coordinator in Figure 2) may perform data communication with one or more other devices, and other different devices may also perform data communication with each other. In Figures 1 and 2, both full-function devices and reduced-function devices can be understood as communication devices as shown in the present invention. A full-function device is a reduced-function device. For example, a reduced-function device cannot be a PAN coordinator. In another example, a reduced-function device may have no coordination capability or have a lower communication speed than a full-function device compared to a full-function device. The PAN coordinator shown in Figure 2 is merely an example, and it should be understood that each of the other three fully functional devices shown in Figure 2 could also be used as a PAN coordinator. Examples are not shown individually in this specification. It should be further understood that the fully functional and reduced-functional devices shown in this application are merely illustrative communication devices. Any device capable of implementing the method for determining the length of an LDPC codeword in a UWB system in this application falls within the scope of protection of this application.

[0108] The following provides a brief explanation of some relevant concepts, terms, or nouns used in this application.

[0109] 1.LDPC code The parity check matrix of an LDPC code is a sparse matrix. Specifically, the number of non-zero elements in the matrix is ​​far fewer than the number of zero elements, or the ratio of row weights to code lengths and the ratio of column weights to code lengths in the matrix are both very small. An LDPC code can be represented as a graph, and such a graph is called a Tanner graph. A Tanner graph has a one-to-one correspondence with the parity check matrix and contains two types of nodes. The first type of node represents the codeword symbol and is called a variable node. The second type of node represents check constraint relationships and is called a check node. Each check node represents one check constraint relationship. For example, as shown in Figures 3a and 3b, Figure 3a is a diagram of the LDPC code parity check matrix according to one embodiment of the present application, and Figure 3b is a Tanner graph of an LDPC code according to one embodiment of the present application. In Figures 3a and 3b, {V i} indicates a set of variable nodes, {C i} indicates the set of check nodes.

[0110] The LDPC codes used in the 802.11ac / ax standard are quasi-cyclic LDPC (QC-LDPC) codes. QC-LDPC codes are widely used structured LDPC codes. The parity check matrix of a QC-LDPC code has a unique structure, and coding can be performed by using a simple feedback shift register. Thus, the coding complexity problem of LDPC codes can be well solved. Figure 4a is a diagram of an LDPC code parity check matrix with a coding rate of 1 / 2 and code length 648 according to one embodiment of the present application. As shown in Figure 4a, each element of the LDPC code parity check matrix with code length N = 648 and coding rate R = 1 / 2 represents a Z-order matrix, where Z = N / 24, and "0" represents a Z × Z identity matrix, and "-" represents a Z × Z all-zero matrix. For example, element "22" in Figure 4a is a cyclic shift matrix P obtained by cyclically shifting a Z×Z identity matrix P to the right by 22 bits. 22 This shows that we obtain the following. The other non-zero elements in Figure 4a are similar to element "22". Details will not be explained again. Pi The cyclic shift matrix is ​​shown, and i (0 ≤ i ≤ Z-1) is the cyclic shift value. Figure 4b is a diagram of the cyclic shift matrix P1 according to one embodiment of the present invention. As shown in Figure 4b, the cyclic shift matrix P1 shows that the Z × Z identity matrix P is cyclically shifted to the right by 1 bit.

[0111] Existing WLAN standards (e.g., 802.11n / ac) use orthogonal frequency division multiplexing (OFDM) technology. An LDPC coding module encodes the data bits (which can also be understood as payload bits) and then arranges the encoded bits into an integer number of OFDM symbols. The encoded bits must also be precisely arranged into an integer number of LDPC codewords. Therefore, before transmission, the minimum number of OFDM symbols required for the current transmission, N, must be determined. SYM It is necessary to calculate the total number of encoded bits that can be stored in all OFDM symbols, which is N. SYM Furthermore, N is calculated based on the current modulation and encoding scheme. TCB =N CBPS ×N SYM Here, N CBPS This indicates the number of encoded bits that can be stored in each OFDM symbol. And the LDPC code length L used in the current transmission. LDPC And the number of required codewords N CW The total number of encoded bits N TCBThis is determined based on the following. However, for most of the length of the data bits to be encoded, as well as the modulation and encoding scheme, there are not enough data bits to fill the information bit positions in the LDPC codeword. Therefore, a shortening operation must be performed before the parity bit is generated. The shortening operation means inserting a certain number of zeros into the information bit positions in the LDPC codeword before the parity bit is generated through LDPC encoding. After the parity bit is generated by LDPC encoding, those zeros are removed. Figure 5 is a diagram of the LDPC encoding process in a WLAN according to one embodiment of the present invention. As shown in Figure 5, the LDPC encoding process in a WLAN includes at least steps 1 to 6. Specifically, step 1 includes the data bits to be encoded, for example, the payload bit. Step 2: Length L of the LDPC codeword LDPC and the number of codewords N CWDetermine the following. For specific determination methods, please refer to the explanation below. Step 3: Perform a shortening operation on the data bits to be encoded. Specifically, a shortening zero bit is inserted after the data bits to be encoded. Step 4: Encode the data bits and shortening zero bits to be encoded in each LDPC codeword using the LDPC code parity check matrix to generate the parity bit, and then remove the shortening zero bit. Step 5: Repeat some of the data bits to be encoded in the LDPC codeword, or puncture the parity bit in the LDPC codeword, so that the processed (punctured or repeated) codeword bits just fill the OFDM symbol to be transmitted. Specifically, the number of processed (punctured or repeated) codeword bits is equal to the number of bits that can be carried in the OFDM symbol. Step 6: Concatenate the multiple codewords and perform stream parsing.

[0112] In this application, "LDPC code length" refers to the LDPC codeword length, and "LDPC code length," "LDPC codeword length," and "LDPC codeword length" are interchangeable.

[0113] 2. Method for determining the length of an LDPC codeword in the 802.11ac / ax standard The 802.11ac / ax standard uses a total of 12 LDPC code parity check matrices, including three code lengths: 648 bits, 1296 bits, and 1944 bits. Each code length supports four different coding rates (where the coding rate is the base coding rate): 1 / 2, 2 / 3, 3 / 4, and 5 / 6. Figures 6a and 6b show the LDPC code parity check matrices for coding rate 1 / 2 (i.e., R=1 / 2) and code length 1296 bits, and the LDPC code parity check matrices for coding rate 1 / 2 and code length 1944 bits, respectively. The LDPC code parity check matrices for coding rate 1 / 2 and code length 648 bits are shown in Figure 4a. For the meaning of the elements in Figures 6a and 6b, please refer to the meaning of the elements in Figure 4a. Further details are again not explained herein.

[0114] Optionally, the choice of coding rate in the 802.11ac / ax standard is determined by the modulation and coding scheme (MCS) adaptively selected by the link. In WLANs, the LDPC code is selected from 12 parity check matrices based on the code length and coding rate, with different code lengths and coding rates corresponding to different parity check matrices. For a given coding rate, existing WLAN standards calculate the LDPC code length required for the current data transmission congruently based on the current data packet length and the current number of OFDM symbols.

[0115] Specifically, the method for calculating the LDPC codeword length in existing WLAN standards is as follows: 1. Calculate the number of OFDM symbols required for the current data transmission.

number

number

[0116] [Table 1] Please understand that R in Table 1 represents the coding rate.

[0117] The WLAN standard specifies the aforementioned parameter (N TCB , N pldIn addition to the above, the performance of longer codes and the number of bits punctured must be comprehensively considered when selecting the LDPC codeword length. As shown in step 5 of Figure 5, in a WLAN, the puncturing operation may need to be performed after LDPC encoding. Specifically, some parity bits at the end are not transmitted. However, puncturing causes an increase in the actual coding rate (specifically, the actual coding rate is greater than the baseline coding rate) and results in some performance loss. The longer the LDPC code length, the better the error control performance. Therefore, when selecting the code length, the longest possible code should be chosen. However, in practice, the code length of an LDPC code in a WLAN must be selected based on a trade-off between the length of the code and the number of bits punctured. As shown in Table 1, the code length to be selected for an LDPC code in a WLAN may not increase monotonically with increasing data packet length, but rather may decrease sequentially to shorter code lengths with increasing data packet length. In addition, since the encoded bits must satisfy at least a single OFDM symbol, the shortest packet length (specifically, N) must be considered. TCB When ≤648 is used, the intermediate code length (1296 bits) is selected for LDPC coding in WLANs instead of the shortest code length (648 bits).

[0118] From the above, it is clear that LDPC codes are widely used in WLAN standards to improve the transmission reliability of wireless transmission systems. Next-generation UWB standards such as IEEE 802.15ab will introduce LDPC codes with a coding rate of 1 / 2 that are used in WLANs to improve the transmission reliability of the system. An important candidate solution is to reuse LDPC codes from WLANs that have a coding rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits. However, if LDPC codes from WLANs with a coding rate of 1 / 2 and code lengths of 648 bits, 1296 bits, and 1944 bits are reused, it is urgently necessary to study how to determine the length of the LDPC codeword in a UWB system.

[0119] This application provides a method and associated apparatus for determining the length of an LDPC codeword in a UWB system to ensure that the longest possible code is used in UWB transmission to achieve a higher error control performance gain and to reduce coding rate loss caused by excessive shortening zero bits. Furthermore, this application can improve short packet performance by further ensuring that the effective coding rate of short packets is less than a given threshold.

[0120] The technical solutions provided in this application will be described in detail below with reference to further attached drawings.

[0121] To clearly illustrate the technical solutions of this application, this application is described by using multiple embodiments. For details, please refer to the description below. In this application, unless otherwise noted, the same or similar parts of embodiments or implementations refer to one another. In the embodiments and implementations / implementation methods of this application, unless otherwise noted or unless a logical inconsistency arises, the terminology and / or descriptions are consistent and may refer to one another between different embodiments and between implementations / implementation methods of embodiments. The technical features and implementations / implementation methods of different embodiments may be combined to form new embodiments, implementations, or implementation methods based on their internal logical relationships. The following implementations of this application are not intended to limit the scope of protection of this application. Please understand that the order of the following embodiments does not indicate importance.

[0122] Embodiment 1 Embodiment 1 of the present invention primarily describes a method for determining the length of an LDPC codeword when the length of the information bits to be encoded is 648 bits (or 81 bytes) or less.

[0123] Figure 7 is a schematic flowchart of a method for determining the length of an LDPC codeword in a UWB system according to one embodiment of the present invention. The communication device in this method can be any device shown in Figure 1 or Figure 2. As shown in Figure 7, the method for determining the length of an LDPC codeword in a UWB system includes, but is not limited to, the following steps.

[0124] S101: The communication device obtains the length of the information bits to be encoded.

[0125] In this embodiment of the present application, the information bits to be encoded may be information bits that have not undergone channel encoding, i.e., information bits input to the input terminal of a channel encoding module. For example, the information bits to be encoded may be data bits to be encoded (i.e., payload bits), or the information bits to be encoded may include data bits and CRC bits to be encoded. This is not limited to the embodiments of the present application.

[0126] S102: The communication device determines the length of the LDPC codeword based on the length of the information bits to be encoded, and the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than a first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits.

[0127] The base coding rate R for LDPC codewords is 1 / 2. The first value can be 648 bits or 81 bytes.

[0128] Optionally, the first and second lengths may be expressed using the number of bits or the number of bytes. This is not limited to the embodiments of the present application. The first length may be determined based on a first codeword length, a base coding rate R for the LDPC codeword, and a first pre-set coding rate threshold. The second length may be determined based on a second codeword length, a base coding rate R for the LDPC codeword, and a second pre-set coding 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 pre-set coding rate threshold and the second pre-set coding rate threshold may be the same or different. Both the first pre-set coding rate threshold and the second pre-set coding rate threshold are less than or equal to the base coding rate R (i.e., 0.5).

[0129] For example, the first length satisfies equation (2-1) below.

number

[0130] For example, the second length satisfies equation (2-2) below.

number

[0131] If the first codeword length is in bits, for example 648 bits, it can be understood that the first length may be expressed using the number of bits. Of course, the first length may also be expressed using the number of bytes (8 bits = 1 byte). For example, the result (in bits) calculated using the above formula (2-1) is converted to a byte size (if the byte size obtained through the conversion is not an integer, rounding may be performed). If the first codeword length is in bytes, for example 81 bytes, the first length may also be expressed using the number of bytes. Of course, the first length may also be expressed using the number of bits. Further details are again not described herein. Similarly, if the second codeword length is in bits, for example 1296 bits, the second length may also be expressed using the number of bits (1 byte = 8 bits). Of course, the second length may also be expressed in bytes, for example, the result (in bits) calculated using the above formula (2-2) is converted to a byte size (if the byte size obtained through the conversion is not an integer, rounding may be performed). If the second codeword length is in bytes, for example 162 bytes, the second length may be expressed using the number of bytes. Of course, the second length may also be expressed using the number of bits. Further details are again not described herein.

[0132] Optionally, the ranges of values ​​for both the first pre-configured coding rate threshold Rth1 and the second pre-configured coding rate threshold Rth2 may be between 0.3 and 0.43. Alternatively, the range of value for the first pre-configured coding rate threshold Rth1 may be a subset of the range between 0.3 and 0.43, and the range of value for the second pre-configured coding rate threshold Rth2 may be a subset of the range between 0.3 and 0.43. It should be understood that these ranges for the first pre-configured coding rate threshold Rth1 and the second pre-configured coding rate threshold Rth2 are merely examples. A first pre-configured coding rate threshold Rth1 close to 0.3, for example, 0.29 or 0.28, or close to 0.43, for example, 0.45 or 0.44, also falls within the scope of protection of this application. Similarly, a second pre-set coding rate threshold Rth2, which is close to 0.3, for example 0.29 or 0.28, or close to 0.43, for example 0.45 or 0.44, also falls within the scope of protection of this application.

[0133] Once the value ranges for the first pre-configured coding rate threshold Rth1 and the second pre-configured coding rate threshold Rth2 are determined, it can be understood that the value ranges for the first length and the second length are determined according to equations (2-1) and (2-2) above. Examples are not listed one by one herein. For example, the first length is shown by using bits. When the value range for the first pre-configured coding rate threshold Rth1 is greater than 0.3 and less than 0.43, the value range for the first length may be determined according to equation (2-1) above to be greater than 138 bits (truncate) and less than 244 bits (truncate), or greater than 139 bits (round up) and less than 245 bits (round up), or greater than 138 bits and less than 245 bits, or greater than 139 bits and less than 244 bits, and so on. Similarly, for example, the second length is shown by using bits. If the range of the second pre-set coding rate threshold Rth2 is greater than 0.3 and less than 0.43, then according to equation (2-2) above, the range of the second length may be determined to be greater than 277 bits (truncate) and less than 488 bits (truncate), or greater than 278 bits (round up) and less than 489 bits (round up), or greater than 277 bits and less than 489 bits, or greater than 278 bits and less than 488 bits, and so on.

[0134] For example, the first codeword length is 648 bits and the second codeword length is 1296 bits. If the first pre-set coding rate threshold is the same as the second pre-set coding rate threshold, for example, if Rth1=Rth2=0.43, then L1 calculated according to equation (2-1) above is 244 bits (truncate) or 245 bits (round up), and L2 calculated according to equation (2-2) above is 488 bits (truncate) or 489 bits (round up). In another example, if Rth1=Rth2=0.4, then L1 calculated according to equation (2-1) above is 216 bits, and L2 calculated according to equation (2-2) above is 432 bits. In another example, if Rth1 = Rth2 = 0.33, then L1 calculated according to equation (2-1) above is 159 bits (truncate) or 160 bits (round up), and L2 calculated according to equation (2-2) above is 319 bits (truncate) or 320 bits (round up). In yet another example, if Rth1 = Rth2 = 0.3, then L1 calculated according to equation (2-1) above is 138 bits (truncate) or 139 bits (round up), and L2 calculated according to equation (2-2) above is 277 bits (truncate) or 278 bits (round up).

[0135] In another example, the first codeword length is 648 bits and the second codeword length is 1296 bits. If the first pre-set coding rate threshold is different from the second pre-set coding rate threshold, for example, if Rth1=0.32, L1=152 bits (truncate) or 153 bits (round up), and if Rth2=0.4, L2=432 bits.

[0136] In another example, the first codeword length is 81 bytes and the second codeword length is 162 bytes. When the first pre-set coding rate threshold is the same as the second pre-set coding rate threshold, for example, when Rth1=Rth2=0.43, L1 calculated according to equation (2-1) above is 30 bytes or 31 bytes, and L2 calculated according to equation (2-2) above is 61 bytes or 62 bytes. In another example, when Rth1=Rth2=0.4, L1=27 bytes and L2=54 bytes. In yet another example, when Rth1=Rth2=0.32, L1=19 bytes or 20 bytes and L2=38 bytes or 39 bytes. If the first pre-configured coding rate threshold differs from the second pre-configured coding rate threshold, for example, if Rth1=0.32, L1=19 bytes (truncate) or 20 bytes (round up), and if Rth2=0.4, L2=54 bytes.

[0137] In another example, the first codeword length is 648 bits, and the first length is shown using the number of bytes. For example, when Rth1=0.4, L1=216 bits, and the byte size obtained through the conversion is L1=[216 / 8] Int = 27 bytes. In another example, when Rth1 = 0.32, L1 = 152 bits (truncate) or 153 bits (round up), and the byte size obtained through the conversion is 19 bytes (truncate) or 20 bytes (round up). In other words, the first length can be 19 bytes or 20 bytes.

[0138] In another example, the first codeword length (N1) is 648 bits. If the range of the first pre-set coding rate threshold (Rth1) is between 0.3 and 0.43, the first length (L1), calculated according to equation (2-1) above after conversion to bytes, is shown in Table 2a below. For example, the second codeword length (N2) is 1296 bits. If the range of the second pre-set coding rate threshold (Rth2) is between 0.3 and 0.43, the second length (L2), calculated according to equation (2-2) above after conversion to bytes, is shown in Table 2b below. [Table 2a] [Table 2b]

[0139] In view of Tables 2a and 2b, the first length L1 may be any value in Table 2a, and the second length L2 may be any value in Table 2b. The first length L1 and the second length L2 may be randomly combined, including: any combination of L1 and L2 values ​​when Rth1 and Rth2 are the same, and any combination of L1 and L2 values ​​when Rth1 and Rth2 are different. Due to space limitations, details are not listed one by one in this specification.

[0140] In addition, for different values ​​of Rth1 in Table 2a, the first length L1 may be rounded up or down to an integer multiple of 5 bytes. Alternatively, for different values ​​of Rth1 in Table 2a, the first length L1 may be rounded up or down to an integer multiple of 10 bytes. Further details are not provided herein. Similarly, for different values ​​of Rth2 in Table 2b, the second length L2 may be further rounded up or down to an integer multiple of 5 bytes. Alternatively, for different values ​​of Rth2 in Table 2b, the first length L2 may be rounded up or down to an integer multiple of 10 bytes. Further details are not provided herein.

[0141] For example, when Rth1 = 0.43, if the first length is rounded up to an integer byte, the first length is 31 bytes; or if the first length is rounded up to an integer multiple of 5 bytes or truncated, the first length is 35 bytes or 30 bytes; or if the first length is rounded up to an integer multiple of 10 bytes or truncated, the first length is 40 bytes or 30 bytes. When Rth1 = 0.3, if the first length is rounded up to an integer number of bytes or truncated, the first length is 18 bytes or 17 bytes; or if the first length is rounded up to an integer multiple of 5 bytes or truncated, the first length is 20 bytes or 15 bytes; or if the first length is rounded up to an integer multiple of 10 bytes or truncated, the first length is 20 bytes or 10 bytes. Of course, alternative values ​​for the first length in Table 2a may 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 example is for illustrative purposes only.

[0142] In another example, when Rth2 = 0.43, the second length is 62 or 61 bytes if the second length is rounded up or down to an integer number of bytes; or the second length is 65 or 60 bytes if the second length is rounded up or down to an integer multiple of 5 bytes; or the second length is 70 or 60 bytes if the second length is rounded up or down to an integer multiple of 10 bytes. When Rth2 = 0.3, the second length is 35 or 34 bytes if the second length is rounded up or down to an integer number of bytes; or the second length is 35 or 30 bytes if the second length is rounded up or down to an integer multiple of 5 bytes; or the second length is 40 or 30 bytes if the second length is rounded up or down to an integer multiple of 10 bytes. Of course, the other values ​​for the second length in Table 2b may alternatively 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 for illustrative purposes only.

[0143] It may be further understood that both the first length L1 and the second length L2 in Tables 2a and 2b are in units of bytes. In practical applications, the first length L1 in Table 2a may alternatively be in units of bits, and the second length L2 in Table 2b may alternatively be in units of bits. The units of the first and second lengths are not limited to the embodiments of this application.

[0144] Optionally, when the first and second lengths are indicated using the number of bytes, the rounding operation in equations (2-1) and / or (2-2) above may be rounding to an integer number of bytes. In some scenarios, when the first and second lengths are indicated using the number of bytes, the rounding operation in equations (2-1) and / or (2-2) above may be rounding up or down to an integer multiple of 5 bytes. In some other scenarios, when the first and second lengths are indicated using the number of bytes, the rounding operation in equations (2-1) and (2-2) above may be rounding up or down to an integer multiple of 10 bytes. Similarly, when the first and second lengths are indicated using the number of bits, the rounding operation in equations (2-1) and / or (2-2) above may be rounding to an integer number of bits, or rounding up or down to an integer multiple of 5 bits, or rounding up or down to an integer multiple of 10 bits. The specific rounding methods in the aforementioned formulas (2-1) and (2-2) are not limited to those of the present invention.

[0145] For example, suppose the first pre-set coding rate threshold is the same as the second pre-set coding rate threshold, and Rth1 = Rth2 = 0.4. Suppose the first codeword length is 648 bits and the second codeword length is 1296 bits, and the first and second lengths are shown separately using the number of bytes. In this case, when L1 = 216 bits and L2 = 432 bits, rounding to an integer number of bytes gives L1 = [216 / 8] Int =27 bytes, L2=[432 / 8] Int This results in 54 bytes. However, if rounding up or down to an integer multiple of 5 bytes is performed, L1 will be 25 or 30 bytes, and L2 will be 50 or 55 bytes. If rounding up or down to an integer multiple of 10 is performed, L1 will be 20 or 30 bytes, and L2 will be 50 or 60 bytes.

[0146] For example, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword may be shown in at least one row of Table 3a or Table 3b below. For example, if 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. In another example, if 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. In yet another example, if 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. The following same or similar descriptions may be understood to represent the same or similar meanings. Further details will not be explained again.

[0147] Tables 3a and 3b may be defined in the standard, pre-configured, or determined by both communication entities through negotiation or other means. In Tables 3a and 3b, "Inf_Num" indicates the length of the information bits to be encoded. In the following description, the same symbols have the same meaning. Details will not be explained again. It should be understood that Tables 3a and 3b are merely examples. In actual application, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword may be a subset of Table 3a or Table 3b. In other words, the rows shown in Table 3a may be separated from each other, and in actual application, some or all of the rows shown in Table 3a may exist. Similarly, the rows shown in Table 3b may be separated from each other, and in actual application, some or all of the rows shown in Table 3b may exist.

[0148] [Table 3a] [Table 3b] In Table 3a, L1 represents the first length and L2 represents the second length, and both L1 and L2 are units of bits. In Table 3b, L1 represents the first length and L2 represents the second length, and both L1 and L2 are units of bytes.

[0149] Optionally, the communication device may determine the length of the LDPC codeword based on the acquired length of the information bits to be encoded and at least one row of Table 3a or Table 3b above. The parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The communication device determining the length of the LDPC codeword based on the length of the information bits to be encoded includes: 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 that the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the communication device determines that the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to 648 bits (or 81 bytes), the communication device determines that the length of the LDPC codeword is 1944 bits.

[0150] Optionally, after step S102, the communication device may generate an LDPC codeword based on the determined length of the LDPC codeword, the information bits to be encoded, the base coding rate (1 / 2) of the LDPC codeword, and other information, 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 a shortening zero bit) using the parity check matrix corresponding to the LDPC codeword. For example, see steps 1 to 4 in Figure 5 for a scheme in which the communication device generates an LDPC codeword. For example, the communication device may transmit the LDPC codeword to another communication device, or to the next module of the channel coding module for processing. For example, see step 6 in Figure 5 for a scheme in which the communication device transmits an LDPC codeword. In other words, since the UWB system does not contain OFDM symbols, the LDPC coding process in the UWB system does not include step 5 in Figure 5.

[0151] In this embodiment of the present application, the number of shortening zero bits in an LDPC codeword 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 an LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate. Specifically, the number of shortening zero bits is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) (2-3) Padding_Num indicates the number of shortening zero bits in the LDPC codeword, K indicates the number of information bits in the LDPC codeword, Inf_Num indicates the length of the information bits to be encoded, and mod indicates the modulo operation. The same expression in the following explanation has the same meaning. Details will not be explained again. K = N × R, where N is the length of the generated LDPC codeword and R is the base coding rate of the LDPC codeword.

[0152] Tables 3a and 3b show that LDPC codes with code lengths of 648 bits, 1296 bits, and 1944 bits are reused in the WLAN. In some scenarios, to reduce power consumption in the UWB system, only LDPC codes with short and intermediate code lengths, i.e., LDPC codes with code lengths of 648 bits and 1296 bits, may be reused in the WLAN. For example, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword may satisfy one or more of the following: If the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1296 bits. The first value can be 648 bits or 81 bytes.

[0153] The beneficial effects of the embodiments of this invention will be described in detail below, with reference to the design concept of LDPC codeword length in the embodiments of this invention.

[0154] The LDPC coding process in a WLAN system is shown in Figure 5, where it can be understood that all coded bits of a codeword must be placed in the OFDM symbol to be transmitted. If the total number of coded bits in a codeword is greater than the number of bits that can be carried in the OFDM symbol, a puncturing operation must be performed on the codeword to ensure that the bits obtained by puncturing all coded bits of the codeword are accurately placed in the OFDM symbol to be transmitted. If the total number of coded bits in a codeword is less than the number of bits that can be carried in the OFDM symbol, an iterative operation must be performed on some of the information bits in the codeword to fill the OFDM symbol.

[0155] Unlike WLAN systems, UWB systems do not include OFDM symbols. Specifically, during UWB transmission, the coded bits of a codeword do not need to be carried by OFDM symbols, and therefore, some parity bits that may exceed the maximum number of bits that can be carried by OFDM symbols do not need to be removed through puncturing. Therefore, when selecting the length of an LDPC codeword in a UWB system, it is necessary to consider performance and coding rate waste (i.e., excessive shortening zero bits), but it is not necessary to consider repeat bits or punctured bits caused by OFDM symbols, and specifically, the effect of step 5 in Figure 5 on the selection of the length of an LDPC codeword does not need to be considered. In other words, the method for selecting (or determining) the length of an LDPC codeword in a UWB system is different from the method for selecting (or determining) the length of an LDPC codeword in a WLAN system. However, when selecting (determining) the length of an LDPC codeword in a UWB system, the trade-off between long and short codes must also be considered. The reasons for this are as follows. If long codes (e.g., LDPC codes with a length of 1944 bits) are always used, better error control performance is achieved, but a large number of shortening zero bits are required for the information bits to be encoded with a short length, resulting in a waste of coding rate. If short codes (e.g., LDPC codes with a length of 648 bits) are always used, the performance of long data packets is degraded compared to when long codes are used. In other words, if short codes are always used, there is a performance loss for long data packets.

[0156] Figure 8 is a diagram of the LDPC coding process in a UWB system according to one embodiment of the present invention. For ease of explanation, as shown in Figure 8, for example, the information bits to be coded are payload bits. It should be understood that the information bits to be coded in Figure 8 are not necessarily limited to payload bits, but may alternatively be a set of payload bits and CRC bits. In step 3, if the information bits to be coded cannot fill the information bit positions in the LDPC codeword, zeros must be added after the information bits to be coded to fill the information bit positions in the LDPC codeword, and then the information bits to be coded and the shortening zero bits are coded by using the parity check matrix corresponding to the LDPC codeword to generate parity bits. After the complete LDPC codeword is obtained through coding, the shortening zero bits added in step 3 are removed to obtain the final codeword sequence to be transmitted, as shown in step 4.

[0157] As shown in Figure 8, the shortening operation in step 3 results in a reduction in the actual coding rate of the final codeword sequence to be transmitted compared to the base coding rate of the LDPC codeword. For example, for an LDPC code with a base coding 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 in the LDPC code is: K=N×R=1944×(1 / 2)=972 bits; and the number of parity bits is: M=N×(1-R)=1944×(1 / 2)=972 bits. If the shortening zero bits are 486 bits, the actual coding rate of the LDPC code is: R'=(972-486) / (972-486+972)=486 / 1458=1 / 3. In this case, the coding rate required for system transmission is 1 / 2, but the actual coding rate R' of a 1944-bit LDPC code is 1 / 3. This leads to coding rate waste and increases the overhead of system transmission.

[0158] Figure 9 shows how, in the method for calculating the number of shortening zero bits in equation (2-3), when the base coding rate is fixed at 1 / 2, the number of shortening zero bits required by LDPC codes with three code lengths (648 bits, 1296 bits, and 1944 bits) changes with the length of the information bits to be encoded. In Figure 9, the horizontal coordinates represent the length of the information bits to be encoded, and the vertical coordinates represent the number of shortening zero bits. Figure 9(1) [the circled numbers are written this way for convenience] shows the curve of the number of shortening zero bits required by an LDPC code with a base coding rate of 1 / 2 and a code length of 648 bits, which changes with the length of the information bits to be encoded. Figure 9(2) shows the curve of the number of shortening zero bits required by an LDPC code with a base coding rate of 1 / 2 and a code length of 1296 bits, which changes with the length of the information bits to be encoded. Figure 9(3) shows a curve of the number of shortening zero bits required by an LDPC code with a base coding rate of 1 / 2 and a code length of 1944 bits, which varies with the length of the information bits to be encoded. To reduce coding rate (or transmission overhead) waste, given the length of the information bits to be encoded, the code length with the fewest shortening zero bits may be selected. If multiple LDPC codes of different code lengths require the same number of shortening zero bits, the LDPC code with the longest code length is selected because the error control performance of longer codes is better.For example, if the length of the information bits to be encoded is in the range of 0 to 324 bits, an LDPC code with a length of 648 bits is selected; if the length of the information bits to be encoded is in the range of 325 to 648 bits, an LDPC code with a length of 1296 bits is selected; if the length of the information bits to be encoded is in the range of 649 to 972 bits, an LDPC code with a length of 1944 bits is selected; if the length of the information bits to be encoded is in the range of 973 to 1296 bits, an LDPC code with a length of 1296 bits is selected; if the length of the information bits to be encoded is in the range of 1297 to 1620 bits, an LDPC code with a length of 648 bits is selected; if the length of the information bits to be encoded is in the range of 1621 to 1944 bits, an LDPC code with a length of 1944 bits is selected, and so on.

[0159] However, minimizing the number of shortening zero bits results in continuous switching between three code lengths as the length of the information bits to be encoded increases. As a result, a shorter code is selected for long data packets (for example, when the length of the information bits to be encoded ranges from 1297 bits to 1620 bits, an LDPC code with a length of 648 bits is selected), causing a loss of performance. To reduce the loss of performance for long data packets, embodiments of the present application may use an effective code rate to assist in code length selection. The effective code rate (Rate_E) may 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) may be expressed as follows:

[0160] Rate_E=Inf_Num / Trans_Bits (2-4) Trans_Bits=Inf_Num+(floor((Inf_Num-1) / K)+1)×M (2-5) Here, `floor` indicates truncation. 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 is the length of a single LDPC codeword.

[0161] In the method for calculating the effective coding rate (Rate_E) in equation (2-4), when the base coding rate is fixed at 1 / 2, Figure 10 shows how the effective coding rate of LDPC codes with three code lengths (648 bits, 1296 bits, and 1944 bits) changes with the length of the information bits to be coded. In Figure 10, the horizontal coordinate represents the length of the information bits to be coded, and the vertical coordinate represents the effective coding rate. Figure 10(1) shows the curve of the effective coding rate of an LDPC code with a base coding rate of 1 / 2 and a code length of 648 bits, which changes with the length of the information bits to be coded. Figure 10(2) shows the curve of the effective coding rate of an LDPC code with a base coding rate of 1 / 2 and a code length of 1296 bits, which changes with the length of the information bits to be coded. Figure 10(3) shows the curve of the effective coding rate of an LDPC code with a base coding rate of 1 / 2 and a code length of 1944 bits, which changes with the length of the information bits to be coded. To reduce performance loss in long data packets, given the length of the information bits to be encoded, a code length with a higher effective coding rate may be selected. If multiple LDPC codes of different code lengths have the same effective coding rate, the LDPC code with the longest code length is selected because longer codes offer better error control performance. For example, if the length of the information bits to be encoded ranges from 0 to 324 bits, an LDPC code with a length of 648 bits is selected; if the length of the information bits to be encoded ranges from 325 to 648 bits, an LDPC code with a length of 1296 bits is selected; if the length of the information bits to be encoded ranges from 649 to 972 bits, an LDPC code with a length of 1944 bits is selected; and if the length of the information bits to be encoded ranges from 973 to 1296 bits, an LDPC code with a length of 1296 bits is selected, and so on.

[0162] As shown in Figure 10, it can be seen that the effective coding rate (Rate_E) approaches half the reference coding rate as the length of the information bits to be coded increases continuously. Therefore, when the information bits to be coded are very long, the coding rate loss caused by shortening zero bits is very small. Specifically, when the information bits to be coded are very long, an LDPC code with the maximum code length (i.e., 1944 bits) may be selected because longer codes have a higher error control performance gain.

[0163] In the embodiments of the present application, the length of the LDPC codeword is selected based on a trade-off between the performance of long codes and the effective coding rate.

[0164] In one possible implementation, a threshold Rth for the effective coding rate Rate_E is set, i.e., Rth1 = Rth2 = Rth. Then, a first length (i.e., equation (2-1) above) corresponding to a single LDPC codeword with a base coding rate of 0.5 and a length of 648 bits may be derived, and a second length (i.e., equation (2-2) above) corresponding to a single LDPC codeword with a base coding rate of 0.5 and a length of 1296 bits may be derived according to the formula for calculating the effective coding rate Rate_E = Rth (i.e., equation (2-4) above).

[0165] When Inf_Num (the length of the information bits to be symbolized) is 648 bits or less, an LDPC code having a code length of 648 bits is first selected for encoding. As Inf_Num increases, the effective coding rate increases to Rate_E > Rth. When there are other code lengths (for example, 1296 bits and ills and 1944 bits) in Inf_Num that satisfy Rate_E < Rth, a code length (1296 bits) with a higher effective coding rate is selected from the other code lengths. As Inf_Num continues to increase, the effective coding rate increases again to Rate_E > Rth. When there is another code length (1944 bits) in Inf_Num that satisfies Rate_E < Rth, a code length (1944 bits) with a higher effective coding rate is selected from that other code length.

[0166] For example, FIGS. 11a to 11c are three diagrams for selecting the length of an LDPC codeword according to an embodiment of the present application. In FIG. 11a, Rth = 0.4 is used as an example. The first value is 648 bits, the first length L1 is 216 bits, and the second length L2 is 432 bits. In FIG. 11b, Rth = 0.33 is used as an example. The first value is 648 bits. Let the first length L1 be 160 bits and the second length L2 be 320 bits. In FIG. 11c, Rth = 0.3 is used as an example. The first value is 648 bits. Let the first length L1 be 138 bits and the second length L2 be 278 bits. In FIGS. 11a to 11c, the horizontal coordinate indicates the length of the information bits to be encoded, and the vertical coordinate indicates the effective coding rate. In FIGS. 11a to 11c, (1) shows the curve of the effective coding rate of an LDPC code having a reference coding rate of 1 / 2 and a code length of 648 bits, which changes with the length of the information bits to be encoded, (2) shows the curve of the effective coding rate of an LDPC code having a reference coding rate of 1 / 2 and a code length of 1296 bits, which changes with the length of the information bits to be encoded, and (3) shows the curve of the effective coding rate of an LDPC code having a reference coding rate of 1 / 2 and a code length of 1944 bits, which changes with the length of the information bits to be encoded.

[0167] According to the above principle, the arrows in FIGS. 11a to 11c separately indicate the selection of the code length. Specifically, as shown in FIG. 11a, 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 shown in FIG. 11b, 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 shown in FIG. 11c, 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.

[0168] In another possible implementation, two thresholds of the effective coding rate Rate_E are set. Specifically, the first pre-set coding rate threshold Rth1 and the second pre-set coding rate threshold Rth2 are different. Then, the first length corresponding to the reference coding rate of 0.5 and a single LDPC codeword with a length of 648 bits (i.e., the aforementioned formula (2-1)) may be derived, and the second length corresponding to the reference coding rate of 0.5 and a single LDPC codeword with a length of 1296 bits (i.e., the aforementioned formula (2-2)) may be separately derived according to the calculation formulas of the effective coding rate Rate_E = Rth1 and the effective coding rate Rate_E = Rth2 (the aforementioned formula (2-4)).

[0169] For example, FIG. 12 is yet another diagram for selecting the length of an LDPC codeword according to an embodiment of the present application. In FIG. 13, as an example, Rth1 = 0.32 and Rth2 = 0.4 are used. The first value is 648 bits. Assume that the first length L1 is 152 bits and the second length L2 is 432 bits. In FIG. 12, the horizontal coordinate indicates the length of information bits to be encoded, and the vertical coordinate indicates the effective encoding rate. In FIG. 12, (1) shows the curve of the effective encoding rate of an LDPC code having a reference encoding rate of 1 / 2 and a code length of 648 bits, which changes with the length of information bits to be encoded, (2) shows the curve of the effective encoding rate of an LDPC code having a reference encoding rate of 1 / 2 and a code length of 1296 bits, which changes with the length of information bits to be encoded, and (3) shows the curve of the effective encoding rate of an LDPC code having a reference encoding rate of 1 / 2 and a code length of 1944 bits, which changes with the length of information bits to be encoded. According to the above principle, the arrow in FIG. 12 indicates the selection of the code length. Specifically, as shown in FIG. 12, when 0 < Inf_Num ≤ 152 bits, an LDPC codeword having a code length of 648 bits is selected for encoding. When 152 bits < Inf_Num ≤ 432 bits, an LDPC codeword having a code length of 1296 bits is selected for encoding. When 152 bits < Inf_Num ≤ 648 bits, an LDPC codeword having a code length of 1944 bits is selected for encoding.

[0170] From FIGS. 11a to 11c and FIGS. 12, when different values are selected for Rth, it can be seen that when the length of information bits to be encoded is greater than the first length and less than or equal to the second length, an LDPC code having a code length of 1296 bits is selected to achieve a good balance between error control performance and effective encoding rate within the data length range.

[0171] Therefore, the method for determining the length of an LDPC codeword in the embodiments of the present invention ensures that a trade-off between effective coding rate and the performance of long codes is achieved, ensuring that as many long codes as possible are used in UWB transmission to obtain a better error control performance gain, and that coding rate loss caused by excessive shortening zero bits can be avoided when the length of information bits to be coded is short. In addition, to improve the performance of short packets, it can be ensured that the effective coding rate of short packets (e.g., packets with a length of information bits to be coded of 648 bits or less) is below a given threshold.

[0172] (Embodiment 2) Embodiment 2 of the present invention primarily describes a method for determining the length of an LDPC codeword when the length of the information bits to be encoded is greater than 648 bits (or 81 bytes).

[0173] Embodiment 2 of the present application may be implemented jointly with Embodiment 1, or Embodiment 2 of the present application may be implemented separately. This is not limited to the present application.

[0174] Figure 13 is another schematic flowchart of a method for determining the length of an LDPC codeword in a UWB system according to one embodiment of the present invention. The communication device in this method may be any of the devices in Figure 1 or Figure 2. As shown in Figure 13, the method for determining the length of an LDPC codeword in a UWB system includes, but is not limited to, the following steps:

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

[0176] In this embodiment of the present application, the information bits to be encoded may be information bits that have not undergone channel encoding, i.e., information bits input to the input terminal of a channel encoding module. For example, the information bits to be encoded may be data bits to be encoded (i.e., payload bits), or the information bits to be encoded may include data bits to be encoded and CRC bits. This is not limited to this embodiment of the present application.

[0177] S202: The communication device determines the length of the LDPC codeword based on the length of the information bits to be encoded. Here, the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: if the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits.

[0178] The base coding rate R for LDPC codewords is 1 / 2. The first value can be 648 bits or 81 bytes.

[0179] Optionally, the first and second lengths may be expressed using the number of bits or the number of bytes. This is not limited to the embodiments of the present application. The third length may be determined based on the third codeword length, the base coding rate of the LDPC codeword, and the third pre-set coding rate threshold. The fourth length may be determined based on the second codeword length and the fourth pre-set coding 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 and fourth pre-set coding rate thresholds may be the same or different. Both the third and fourth pre-set coding rate thresholds are less than or equal to the base coding rate R (i.e., 0.5).

[0180] For example, the third length satisfies equation (3-1) below.

number

[0181] For example, the fourth length satisfies equation (3-2) below.

number

[0182] If the third codeword length is in bits, for example 1944 bits, it can be understood that the third length may alternatively be expressed using the number of bits. Of course, the third length may alternatively be expressed using the number of bytes (8 bits = 1 byte). For example, the result (in bits) calculated using the above formula (3-1) is converted to a byte size (if the byte size obtained through the conversion is not an integer, rounding may be performed). If the third codeword length is in bytes, for example 243 bytes, the third length may alternatively be expressed using the number of bytes. Of course, the third length may alternatively be expressed using the number of bits. Further details are again not described herein. Similarly, if the second codeword length is in bits, for example 1296 bits, the fourth length may be expressed by the number of bits (1 byte = 8 bits). Of course, the fourth length may also be expressed in bytes, for example, the result (in bits) calculated using the above formula (3-2) is converted to a byte size (if the byte size obtained through the conversion is not an integer, rounding may be performed). If the second codeword length is in bytes, for example 162 bytes, the fourth length may also be expressed using the number of bytes. Of course, the fourth length may also be expressed using the number of bits. Further details are again not described herein.

[0183] Optionally, the value ranges for both the third pre-configured coding rate threshold Rth3 and the fourth pre-configured coding rate threshold Rth4 may be greater than 0.4 and less than or equal to 0.5. Alternatively, the value range for the third pre-configured coding rate threshold Rth3 may be a subset of the range between 0.4 and 0.5, and the value range for the fourth pre-configured coding rate threshold Rth4 may be a subset of the range between 0.4 and 0.5.

[0184] Once the value ranges for the third pre-configured coding rate threshold Rth3 and the fourth pre-configured coding rate threshold Rth4 are determined, it can be understood that the value ranges for the third and fourth lengths are determined according to equations (3-1) and (3-2) above. Examples are not listed one by one herein. For example, the third length is shown using bits. When the value range for the third pre-configured coding rate threshold Rth3 is greater than 0.4 and less than 0.5, according to equation (3-1) above, the value range for the third length may be determined to be greater than 648 bits and less than 972 bits. For example, the third length is shown using bytes. When the value range for the third pre-configured coding rate threshold Rth3 is greater than 0.4 and less than 0.5, according to equation (3-1) above, the value range for the third length may be greater than 81 bytes and less than 121 bytes (rounded down) or 122 bytes (rounded up). Similarly, for example, the fourth length is shown using bits. When the value range of the fourth pre-set coding rate threshold Rth4 is greater than 0.4 and less than 0.5, the value range of the fourth length may be determined to be greater than 864 bits and less than 1296 bits according to equation (3-2) above. For example, the fourth length is shown using bytes. When the value range of the fourth pre-set coding rate threshold Rth4 is greater than 0.4 and less than 0.5, the value range of the third length may be determined to be greater than 108 bytes and less than 162 bytes according to equation (3-2) above.

[0185] In some scenarios, when this embodiment of the present application is implemented in combination with Embodiment 1, the first and second pre-set coding rate thresholds in Embodiment 1, and the third and fourth pre-set coding rate thresholds in this embodiment of the present application, may be different, partially the same, or completely the same. This is not limited to the embodiments of the present application.

[0186] For example, the third codeword length is 1944 bits and the second codeword length is 1296 bits. If the third pre-set coding rate threshold is the same as the fourth pre-set coding rate threshold, for example, when Rth3 = Rth4 = 0.43, then L3 calculated according to equation (3-1) above is 733 bits (truncate) or 734 bits (round up), and L4 calculated according to equation (3-2) above is 977 bits (truncate) or 978 bits (round up). In another example, when Rth3 = Rth4 = 0.45, then L3 calculated according to equation (3-1) above is 795 bits (truncate) or 796 bits (round up), and L4 calculated according to equation (3-2) above is 1063 bits (truncate) or 1064 bits (truncate). In another example, when Rth3 = Rth4 = 0.41, L3 calculated according to equation (3-1) above is 675 bits or 676 bits, and L4 calculated according to equation (3-2) above is 900 bits or 901 bits. In another example, when Rth3 = Rth4 = 0.42, L3 calculated according to equation (3-1) above is 703 bits or 704 bits, and L4 calculated according to equation (3-2) above is 938 bits or 939 bits. In yet another example, when Rth3 = Rth4 = 0.5, L3 = 972 bits and L4 = 1296 bits.

[0187] In another example, the third codeword length is 1944 bits and the second codeword length is 1296 bits. If the third pre-set coding rate threshold is different from the fourth pre-set coding rate threshold, for example, if Rth3=0.43, L3=733 bits (truncate) or 734 bits (round up), and if Rth4=0.45, L4=1063 bits.

[0188] In another example, the third codeword length is 243 bytes and the second codeword length is 162 bytes. When the third pre-set coding rate threshold is the same as the third pre-set coding rate threshold, for example, when Rth3=Rth4=0.45, L3=99 bytes or 100 bytes and L4=132 bytes or 133 bytes. When the third pre-set coding rate threshold is different from the fourth pre-set coding rate threshold, for example, when Rth3=0.43, L3=91 bytes or 92 bytes, and when Rth4=0.48, L4=149 bytes or 150 bytes.

[0189] In another example, the third codeword length is 1944 bits, and the third length is indicated by using the number of bytes. For example, when Rth3 = 0.43, L3 = 733 bits or 734 bits, and the byte size obtained through the conversion is 91 bytes or 92 bytes.

[0190] Optionally, as in the embodiments described above, when the third and fourth lengths are indicated by the number of bytes, the rounding operation in equations (3-1) and / or equation (3-2) described above may be rounding to an integer number of bytes. In some scenarios, when the third and fourth lengths are indicated by the number of bytes, the rounding operation in equations (3-1) and / or equation (3-2) described above may be rounding up or down to an integer multiple of 5 bytes. In some other scenarios, when the third and fourth lengths are indicated by the number of bytes, the rounding operation in equations (3-1) and equation (3-2) described above may be rounding up or down to an integer multiple of 10 bytes. Similarly, when the third and fourth lengths are indicated by the number of bits, the rounding operation in equations (3-1) and / or (3-2) above may be rounding to an integer number of bits, or rounding up or down to an integer multiple of 5 bits, or rounding up or down to an integer multiple of 10 bits. The specific methods of rounding in equations (3-1) and (3-2) above are not limited to the embodiments of the present application.

[0191] For example, suppose the third pre-set coding rate threshold is the same as the fourth pre-set coding rate threshold, so Rth3 = Rth4 = 0.43. Suppose the third codeword length is 1944 bits and the second codeword length is 1296 bits, and the third and fourth lengths are shown separately using the number of bytes. In this case, L3 = 733 bits (truncate) or 734 bits (round up) and L4 = 977 bits (truncate) or 978 bits (round up). If rounding to an integer byte is performed, the third length is [733 / 8] Int or [734 / 8] Int That is, 91 bytes or 92 bytes, and the fourth length is [977 / 8] Int or [978 / 8] IntThat is, 122 bytes or 123 bytes. However, if rounding up or down to an integer multiple of 5 bytes is performed, the third length is 90 bytes or 95 bytes, and the fourth length is 120 bytes or 125 bytes. If rounding up or down to an integer multiple of 10 bytes is performed, the third length is 90 bytes or 100 bytes, and the fourth length is 120 bytes or 130 bytes.

[0192] For example, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword may be shown in at least one row of Table 4 or Table 5 below. Tables 4 and 5 may be defined by the standard, pre-configured, or determined by both communication entities through negotiation or the like. "Inf_Num" in Tables 4 and 5 indicates the length of the information bits to be encoded. In the following description, the same symbol has the same meaning. Details will not be explained again. It should be understood that Tables 4 and 5 are merely examples. In actual application, the relationship between the length of the information bits to be encoded and the length of the LDPC codeword may be a subset of Table 4 or Table 5. In other words, the rows shown in Table 4 may be separated from each other, and in actual application, some or all of the rows shown in Table 4 may exist. Similarly, the rows shown in Table 5 may be separated from each other, and in actual application, some or all of the rows shown in Table 5 may exist.

[0193] [Table 4] [Table 5] In Table 4, L3 represents the third length and L4 represents the fourth length, and both L3 and L4 are units of bits. In Table 5, L3 represents the third length and L4 represents the fourth length, and both L3 and L4 are units of bytes.

[0194] Optionally, the communication device may determine the length of the LDPC codeword based on the acquired length of the information bits to be encoded and at least one row in Table 4 or Table 5 above. The parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The communication device determining the length of the LDPC codeword based on the length of the information bits to be encoded includes: If the length of the information bits to be encoded is greater than 648 bits (or 81 bytes) and less than or equal to a third length, the communication device determines that the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the communication device determines that the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the communication device determines that the length of the LDPC codeword is 1944 bits.

[0195] Optionally, after step S202, the communication device may generate an LDPC codeword based on the determined length of the LDPC codeword, the information bits to be encoded, the base coding rate (1 / 2) of the LDPC codeword, and other information, 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 a shortening zero bit) using the parity check matrix corresponding to the LDPC codeword. For example, see steps 1 to 4 in Figure 5 for a scheme in which the communication device generates an LDPC codeword. For example, the communication device may transmit the LDPC codeword to another communication device, or to the next module of the channel coding module for processing. For example, see step 6 in Figure 5 for a scheme in which the communication device transmits an LDPC codeword. In other words, since the UWB system does not contain OFDM symbols, the LDPC coding process in the UWB system does not include step 5 in Figure 5.

[0196] In this embodiment of the present application, the number of shortening zero 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 coding rate. Specifically, the number of shortening zero bits is determined according to Equation (2-3).

[0197] It can be understood that the design concept of the length of the LDPC codeword in this embodiment of the present application is the same as that of the length of the LDPC codeword in Embodiment 1.

[0198] Specifically, two thresholds Rth3 and Rth4 of the effective coding rate Rate_E are set, and the third length (6,48 bits (or 81 bytes) < L3 ≤ 972 bits (121 bytes or 122 bytes)) and the fourth length (L4 > L3) are calculated based on these two thresholds and the aforementioned Equations (3-1) and (3-2).

[0199] For example, FIG. 14 is yet another diagram for selecting the length of the LDPC codeword according to an embodiment of the present application. In FIG. 14, Rth3 = Rth4 = 0.46 is used as an example. The first value is 648 bits, the third length L3 is 828 bits, and the fourth length L4 is 1,104 bits. In FIG. 14, the horizontal coordinate represents the length of the information bits to be encoded, and the vertical coordinate represents the effective coding rate. In FIG. 14, (1) shows the curve of the effective coding rate of the LDPC code having a reference coding rate of 1 / 2 and a code length of 648 bits that changes with the length of the information bits to be encoded, (2) shows the curve of the effective coding rate of the LDPC code having a reference coding rate of 1 / 2 and a code length of 1,296 bits that changes with the length of the information bits to be encoded, and (3) shows the curve of the effective coding rate of the LDPC code having a reference coding rate of 1 / 2 and a code length of 1,944 bits that changes with the length of the information bits to be encoded. Also, in FIG. 14, "X" represents the third length, and "Y" represents the fourth length.

[0200] Based on the same principle as in Embodiment 1, the arrows in FIG. 14 indicate the selection of the code length. Specifically, as shown in FIG. 14, when 648 bits < Inf_Num ≤ 828 bits, an LDPC codeword with a code length of 1944 bits is selected for encoding. When 828 bits < Inf_Num ≤ 1104 bits, an LDPC codeword with a code length of 1296 bits is selected for encoding. When 1104 bits < Inf_Num ≤ 1296 bits, an LDPC codeword with a code length of 1944 bits is selected for encoding.

[0201] From FIG. 14, it can be seen 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, an LDPC code with a code length of 1296 bits is selected to achieve a good balance between the error control performance and the effective coding rate within the data length range.

[0202] Regarding the beneficial effects of this embodiment of the present application, please refer to the beneficial effects of Embodiment 1. Specifically, in this embodiment of the present application, still, a trade-off is made between the performance of long codes and the effective coding rate, and it is ensured that as many long codes as possible are used in UWB transmission to achieve a higher error control performance gain, and the coding rate loss caused by excessive shortening zero bits when the length of the information bits to be encoded is small is avoided.

[0203] The foregoing content has described the method provided in the present application in detail. To facilitate the implementation of the foregoing solutions in the embodiments of the present application, the embodiments of the present application further provide corresponding devices or apparatuses.

[0204] In this application, the communication device is divided into functional modules based on embodiments of the method described above. For example, each functional module may be divided into corresponding functions, or two or more functions may be integrated into a single processing module. The aforementioned integrated module may be implemented in hardware form or in the form of a software functional module. Note that in this application, the module division is merely an example and is simply a logical functional division. In actual implementations, other division methods may be used. The communication device in embodiments of this application will be described in detail below with reference to Figures 15 to 17.

[0205] Figure 15 is a diagram showing the structure of a communication device according to one embodiment of the present invention. As shown in Figure 15, the communication device includes an acquisition unit 10 and a determination unit 20. Optionally, the communication device further includes a transmission unit 30.

[0206] In one design, the acquisition unit 10 is configured to acquire the length of the information bits to be encoded. The determination unit 20 is configured to determine the length of the LDPC codeword based on the length of the information bits to be encoded, and the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first length or the second length is determined based on a pre-set coding rate threshold.

[0207] In one possible implementation, the transmitting unit 30 is configured to transmit an LDPC codeword, which includes an information bit and a parity bit to be encoded.

[0208] In an alternative design, the acquisition unit 10 is configured to acquire the length of the information bits to be encoded. The determination unit 20 is configured to determine the length of the LDPC codeword based on the length of the information bits to be encoded. Here, the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the length of the LDPC codeword is 1944 bits, and the first value is 648 bits or 81 bytes. At least one of the third or fourth length is determined based on a pre-set coding rate threshold.

[0209] In one possible implementation, the transmitting unit 30 is configured to transmit an LDPC codeword, which includes an information bit and a parity bit to be encoded.

[0210] The acquisition unit 10, the decision unit 20, and the transmission unit 30 may be integrated into a single unit or module, for example, a processing unit. Optionally, the transmission unit 30 may be a transceiver, a transceiver unit, or the like.

[0211] In this embodiment of the present application, please refer to the previously described method embodiments (including Figures 7 and 13) for a specific description of the first value, first length, second length, third length, fourth length, and preset coding rate threshold. Further details are not described herein.

[0212] Please understand that specific functions of the aforementioned units or steps performed by the aforementioned units should be referred to the method embodiments. Further details are not described herein.

[0213] The above describes the communication device in the embodiment of the present application. The following describes possible product forms of the communication device. It should be understood that any form of product having the functionality of the communication device shown in Figure 15 falls within the scope of protection of the embodiment of the present application. Furthermore, it should be understood that the following description is merely an example and does not limit the product form of the communication device in the embodiment of the present application.

[0214] In the communication device shown in Figure 15, the acquisition unit 10, the determination unit 20, and the transmission unit 30 may be implemented using one or more processors. Figure 16 is a diagram of the structure of a communication device 1000 according to one embodiment of the present application. Figure 16 shows only the main components of the communication device 1000. In addition to the processor 1001, the communication device may further include a transceiver 1002, a memory 1003, and an input / output device (not shown). The processor 1001 and the transceiver 1002 may be coupled to each other, for example. The method of connection between the processor and the transceiver is not limited to this embodiment of the present application.

[0215] Processor 1001 is mainly configured to process communication protocols and communication data, control the entire communication device, execute software programs, and process data of software programs. Memory 1003 is mainly configured to store software programs and data. Transceiver 1002 may include a control circuit and an antenna. The control circuit is mainly configured to perform conversion between a baseband signal and a radio frequency signal and process the radio frequency signal. The antenna is mainly configured to receive and transmit radio frequency signals in the form of electromagnetic waves. An input / output device, such as a touch screen, a display, or a keyboard, is mainly configured to receive data input by a user and output data to the user.

[0216] After the communication device is powered on, processor 1001 may read a software program in 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, processor 1001 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency circuit. The radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal externally through the antenna in the form of electromagnetic waves. When data is transmitted to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to processor 1001. Processor 1001 converts the baseband signal into data and processes the data.

[0217] In another implementation, the radio frequency circuit and the antenna may be arranged independently of the processor that performs baseband processing. For example, in a distributed scenario, the radio frequency circuit and the antenna may be arranged independently away from the communication device.

[0218] Processor 1001, transceiver 1002, and memory 1003 may be connected through a communication bus.

[0219] In one design, the communication device 1000 can be configured to perform the functions in Embodiment 1. The processor 1001 may be configured to execute steps S101 and S102 in FIG. 7, and / or may be configured to execute another process of the technology described herein. The transceiver 1002 is configured to transmit and receive the information, data, etc. required in FIG. 7, and / or may be configured to execute another process of the technology described herein.

[0220] In another design, the communication device 1000 can be configured to perform the functions of Embodiment 2. The processor 1001 may be configured to execute steps S201 and S202 in FIG. 13, and / or may be configured to execute another process of the technology described herein. The transceiver 1002 is configured to transmit and receive the information, data, etc. required in FIG. 13, and / or may be configured to execute another process of the technology described herein.

[0221] In any one of the foregoing designs, the processor 1001 may include a transceiver configured to implement reception and transmission functions. For example, the transceiver may be a transceiver circuit, an interface, or an interface circuit. The transceiver circuit, the interface, or the interface circuit configured to implement reception and transmission functions may be separated or integrated together. The transceiver circuit, the interface, or the interface circuit may be configured to read and write code / data. Alternatively, the transceiver circuit, the interface, or the interface circuit may be configured to transmit or transfer signals.

[0222] In any of the aforementioned designs, the processor 1001 may store instructions. These instructions may be computer programs. The computer programs are executed on the processor 1001, thereby enabling the communication device 1000 to perform the methods described in the embodiments of the aforementioned methods. The computer programs may be fixed to the processor 1001. In this case, the processor 1001 may be implemented by hardware.

[0223] In some implementations, the communication device 1000 may include a circuit that implements the transmit, receive, or communicate functions described in the method embodiments described above. The processors and transceivers described herein may be mounted 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, and the like. Processors and transceivers can also be manufactured using various IC technologies, such as complementary metal-oxide-semiconductors (CMOS), N-channel metal-oxide-semiconductors (NMOS), positive-channel metal-oxide-semiconductors (PMOS), bipolar junction transistors (BJT), bipolar CMOS (BiCMOS), silicon germanium (SiGe), and gallium arsenide (GaAs).

[0224] It can be understood that the communication device shown in this embodiment of the present application may alternatively include more components than those shown in Figure 16. This is not limited to this embodiment of the present application. The methods described above performed by the processor and transceiver are merely examples. For specific steps performed by the processor and transceiver, please refer to the description in the above-mentioned method embodiments.

[0225] For example, the scope of the communication device described in this application is not limited to this, and the structure of the communication device is not limited to Figure 16. The communication device may be a standalone device or part of a larger device. For example, the communication device (1) Independent integrated circuits (ICs), chips, or chip systems or subsystems (2) A set comprising one or more ICs, wherein the set of ICs may optionally further include a storage component configured to store data and computer programs. (3) ASIC, for example, a modem (4) A module that can be incorporated into other devices. (5) Receivers, terminals, intelligent terminals, mobile phones, wireless devices, handheld devices, mobile units, in-vehicle devices, network devices, cloud devices, or artificial intelligence devices, (6) Others.

[0226] In another possible implementation, in the communication device shown in Figure 15, the acquisition unit 10 and the determination unit 20 may be implemented using one or more logic circuits, and the transmission unit 30 may be an input / output interface, also called a communication interface, interface circuit, or interface. Alternatively, the transmission unit 30 may be a transmission unit and a reception unit. The transmission unit may be an output interface, and the reception unit may be an input interface. The transmission unit and the reception unit are integrated into a single unit, for example, an input / output interface. Figure 17 shows another structure of a communication device according to one embodiment of the present application. As shown in Figure 17, the communication device shown in Figure 17 includes a logic circuit 901 and an interface 902. The logic circuit 901 may be a chip, a processing circuit, an integrated circuit, a system on a chip (SoC), etc. The interface 902 may be a communication interface, an input / output interface, a pin, etc. For example, Figure 17 shows an example where the communication device is a chip. The chip includes a logic circuit 901 and an interface 902.

[0227] In this embodiment of the present application, logic circuits and interfaces can be coupled to one another. The specific method of connection between logic circuits and interfaces is not limited to this embodiment of the present application.

[0228] For example, when a communication device is configured to perform a method, function, or step performed by the communication device in Embodiment 1, the logic circuit 901 is configured to obtain the length of the information bits to be encoded and to determine the length of a low-density parity-check LDPC codeword based on the length of the information bits to be encoded, and the parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. Interface 902 is configured to output an LDPC codeword, which includes the information bits to be encoded and the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first or second length is determined based on a pre-set coding rate threshold.

[0229] For example, when a communication device is configured to perform a method, function, or step performed by the communication device in Embodiment 2, the logic circuit 901 is configured to obtain the length of the information bits to be encoded and to determine the length of a low-density parity-check LDPC codeword based on the length of the information bits to be encoded, and the parity-check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate the parity bit. Interface 902 is configured to output an LDPC codeword, which includes the information bits to be encoded and the parity bit. The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: If the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than a third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than a fourth length, the length of the LDPC codeword is 1944 bits, and the first value is 648 bits or 81 bytes. At least one of the third or fourth length is determined based on a pre-set coding rate threshold.

[0230] In this embodiment of the present application, for specific descriptions of the first value, first length, second length, third length, fourth length, and preset coding rate threshold, please refer to the embodiments of the method described above (including Figures 7 and 13). Further details are not described herein.

[0231] It can be understood that the communication device shown in the embodiments of this application may implement the method provided in the embodiments of this application in hardware form, or in software form, and so on. This is not limited to the embodiments of this application.

[0232] For a specific implementation of the embodiment shown in Figure 17, please refer further to the embodiments described above. Further details are not described again in this specification.

[0233] This application further provides a computer program used to implement operations and / or processes performed by a communication device in the manner provided herein.

[0234] The present invention further provides a computer-readable storage medium for storing computer code. When the computer code is executed on a computer, the computer becomes capable of performing operations and / or processes performed by a communication device in the manner provided in the present invention.

[0235] This application further provides a computer program product, which includes computer code or a computer program. When the computer code or computer program is executed on a computer, the operations and / or processes performed by the communication device in the manner provided in this application are performed.

[0236] In some embodiments provided herein, it should be understood that the disclosed systems, apparatus, and methods may be implemented in other ways. For example, the described apparatus embodiments are merely examples. For example, the division into units is merely a logical functional division, and other divisions may be used in actual implementations. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the mutual coupling, direct coupling, or communication connection shown or discussed may be implemented through some interfaces, indirect coupling or communication connection between apparatus or units, or through electrical, mechanical, or other forms of connection.

[0237] The units described as separate parts may or may not be physically separate, and the parts presented as units may or may not be physical units. They may be arranged at one position or may be distributed over multiple network units. Some or all of those units may be selected based on the actual requirements for implementing the technical effects of the solutions provided in the embodiments of this application.

[0238] In addition, the functional units in the embodiments of this application may be integrated into one processing unit. Each of the units may physically exist alone, or two or more units may be integrated into one unit. The integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0239] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, the integrated unit may be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of this application is essentially, or the part contributing to the prior art, or all or part of the technical solution may be implemented in the form of a software product. The computer software product is stored in a readable storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, etc.) to execute all or part of the steps of the methods described in the embodiments of this application. The readable storage medium includes any medium capable of storing program codes, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0240] The foregoing description is merely an individual implementation of the present application and is not intended to limit the scope of protection of the present application. Any modifications or substitutions that are readily conceivable by a person skilled in the art within the scope of the art disclosed herein shall fall within the scope of protection of the present application. Accordingly, the scope of protection of the present application shall be subject to the scope of protection of the claims.

Claims

1. A method for determining the length of a low-density parity check codeword in an ultra-broadband system, wherein: The communication device obtains the length of the information bits to be encoded; The steps include: determining the length of a low-density parity check (LDPC) codeword based on the length of the information bits to be encoded using the communication device, wherein the parity check matrix corresponding to the LDPC codeword encodes the information bits to be encoded to generate parity bits; and Includes, The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: namely: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first length or the second length is determined based on a pre-set coding rate threshold. method.

2. The method according to claim 1, wherein the base coding rate of the LDPC codeword is 1 / 2.

3. The method according to claim 1 or 2, wherein the first value is 648 bits or 81 bytes.

4. The first length is determined based on a pre-set coding rate threshold: The first length is determined based on a first codeword length, the base coding rate of the LDPC codeword, and a first pre-set coding rate threshold, wherein the first codeword length is 648 bits or 81 bytes, and the first pre-set coding rate threshold is smaller than the base coding rate of the LDPC codeword. The method according to any one of claims 1 to 3.

5. The first length is [Number 19] Satisfying L 1 represents the first length, N 1 [x] represents the first codeword length, R represents the base coding rate of the LDPC codeword, and Rth1 represents the first pre-set coding rate threshold. int This indicates rounding x. The method according to claim 4.

6. The fact that the second length is determined based on a pre-set coding rate threshold is: The second length is determined based on a second codeword length, the base coding rate of the LDPC codeword, and a second pre-set coding rate threshold, wherein the second codeword length is 1296 bits or 162 bytes, and the second pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. The method according to any one of claims 1 to 5.

7. The length of the second preceding is [Number 20] Satisfying L 2 The above indicates the second length, N 2 [x] represents the second codeword length, R represents the base coding rate of the LDPC codeword, and Rth2 represents the second pre-set coding rate threshold. int This indicates rounding x. The method according to claim 6.

8. The method according to any one of claims 1 to 7, wherein the first pre-set coding rate threshold is the same as the second pre-set coding rate threshold.

9. The length of the information bits to be encoded and the length of the LDPC codeword are determined by the following conditions, namely: If the length of the information bits to be encoded is greater than the first value and less than or equal to the third length, then the length of the LDPC codeword is 1944 bits; If the length of the information bits to be encoded is greater than the third length and less than or equal to the fourth length, then the length of the LDPC codeword is 1296 bits; or If the length of the information bits to be encoded is greater than the fourth length, then the length of the LDPC codeword is 1944 bits. One or more of the following conditions must be met: At least one of the third length or the fourth length is determined based on a pre-set coding rate threshold. The method according to any one of claims 1 to 8.

10. The third length is determined based on a pre-set coding rate threshold: The third length is determined based on a third codeword length, the base coding rate of the LDPC codeword, and a third pre-set coding rate threshold, wherein the third codeword length is 1944 bits or 243 bytes, and the third pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. The method according to claim 9.

11. The third length is [Math 21] satisfies, L 3 represents the third length, N 3 represents the third codeword length, R represents the reference coding rate of the LDPC codeword, Rth3 represents the third preset coding rate threshold, [x] int indicates rounding x The method according to claim 10.

12. The fourth length is determined based on a pre-set coding rate threshold: The fourth length is determined based on the second codeword length and a fourth pre-set coding rate threshold, wherein the fourth pre-set coding rate threshold is smaller than the reference coding rate of the LDPC codeword. The method according to any one of claims 9 to 11.

13. The length of the fourth above is [Number 22] Satisfying L 4 The above-mentioned fourth length is N 2 [x] represents the second codeword length, Rth4 represents the fourth pre-set coding rate threshold, and [x] int This indicates rounding x. The method according to claim 12.

14. The method according to any one of claims 10 to 13, wherein the third pre-set coding rate threshold is the same as the fourth pre-set coding rate threshold.

15. The method further: The communication device further comprises the step of transmitting the LDPC codeword, wherein the LDPC codeword includes the information bits to be encoded and the parity bits. The method according to any one of claims 1 to 14.

16. The method according to any one of claims 1 to 15, wherein the number of shortening zero bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword, and the number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

17. The number of shortening zero bits in the aforementioned LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Padding_Num indicates the number of shortening zero bits in the LDPC codeword, K indicates the number of information bits in the LDPC codeword, Inf_Num indicates the length of the information bits to be encoded, and mod indicates the modulo operation. K = N × R, N represents the length of the LDPC codeword, and R represents the base coding rate of the LDPC codeword. The method according to claim 16.

18. The method according to any one of claims 1 to 17, wherein the information bits to be encoded include cyclic redundancy check (CRC) bits.

19. A method for determining the length of a low-density parity check codeword in an ultra-broadband system, wherein: The communication device obtains the length of the information bits to be encoded; The communication device includes the step of determining the length of a low-density parity check LDPC codeword based on the length of the information bits to be encoded, wherein the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate parity bits, The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions, namely: if the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits, wherein the first value is 648 bits or 81 bytes. At least one of the third length or the fourth length is determined based on a pre-set coding rate threshold. method.

20. The method according to claim 19, wherein the base coding rate of the LDPC codeword is 1 / 2.

21. The third length is determined based on a pre-set coding rate threshold: The third length is determined based on a third codeword length, the base coding rate of the LDPC codeword, and a third pre-set coding rate threshold, wherein the third codeword length is 1944 bits or 243 bytes, and the third pre-set coding rate threshold is less than the base coding rate of the LDPC codeword. The method according to claim 19 or 20.

22. The third length is [Number 23] Satisfying L 3 This indicates the third length, N 3 [x] represents the third codeword length, R represents the base coding rate of the LDPC codeword, and Rth3 represents the third pre-set coding rate threshold. int This indicates rounding x. The method according to claim 21.

23. The fourth length is determined based on a pre-set coding rate threshold: The fourth length is determined based on a second codeword length and a fourth pre-set coding rate threshold, wherein the second codeword length is 1296 bits or 162 bytes, and the fourth pre-set coding rate threshold is less than the reference coding rate of the LDPC codeword. The method according to any one of claims 19 to 22.

24. The length of the fourth above is [Number 24] Satisfying L 4 The above-mentioned fourth length is N 2 [x] represents the second codeword length, Rth4 represents the fourth pre-set coding rate threshold, and [x] int This indicates rounding x. The method according to claim 23.

25. The method according to any one of claims 21 to 24, wherein the third pre-set coding rate threshold is the same as the fourth pre-set coding rate threshold.

26. The method further: The communication device further comprises the step of transmitting the LDPC codeword, wherein the LDPC codeword includes the information bits to be encoded and the parity bits. The method according to any one of claims 19 to 25.

27. The method according to any one of claims 19 to 26, wherein the number of shortening zero bits in the LDPC codeword is determined based on the length of the information bits to be encoded and the number of information bits in the LDPC codeword, and the number of information bits in the LDPC codeword is determined based on the length of the LDPC codeword and the base coding rate.

28. The number of shortening zero bits in the aforementioned LDPC codeword is as follows: Padding_Num=mod(K-mod(Inf_Num,K),K) Padding_Num indicates the number of shortening zero bits in the LDPC codeword, K indicates the number of information bits in the LDPC codeword, Inf_Num indicates the length of the information bits to be encoded, and mod indicates the modulo operation. K = N × R, Here, N represents the length of the LDPC codeword, and R represents the base coding rate of the LDPC codeword. The method according to claim 27.

29. The method according to any one of claims 19 to 28, wherein the information bits to be encoded include cyclic redundancy check (CRC) bits.

30. A retrieval unit configured to obtain the length of the information bits to be encoded; A decision unit configured to determine the length of a low-density parity check LDPC codeword based on the length of the information bits to be encoded, wherein the parity check matrix corresponding to the LDPC codeword encodes the information bits to be encoded to generate parity bits, and A communication device having, The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions: namely: if the length of the information bits to be encoded is greater than 0 and less than or equal to a first length, the length of the LDPC codeword is 648 bits; if the length of the information bits to be encoded is greater than the first length and less than or equal to a second length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the second length and less than or equal to a first value, the length of the LDPC codeword is 1944 bits. At least one of the first length or the second length is determined based on a pre-set coding rate threshold. Device.

31. The apparatus according to claim 30, further comprising a transmitting unit configured to transmit the LDPC codeword, wherein the LDPC codeword includes the information bits to be encoded and the parity bits.

32. A retrieval unit configured to obtain the length of the information bits to be encoded; A decision unit configured to determine the length of a low-density parity check LDPC codeword based on the length of the information bits to be encoded, wherein the parity check matrix corresponding to the LDPC codeword is used to encode the information bits to be encoded and generate parity bits, and A communication device having, The length of the information bits to be encoded and the length of the LDPC codeword satisfy one or more of the following conditions, namely: if the length of the information bits to be encoded is greater than a first value and less than or equal to a third length, the length of the LDPC codeword is 1944 bits; if the length of the information bits to be encoded is greater than the third length and less than or equal to a fourth length, the length of the LDPC codeword is 1296 bits; or if the length of the information bits to be encoded is greater than the fourth length, the length of the LDPC codeword is 1944 bits, wherein the first value is 648 bits or 81 bytes. At least one of the third length or the fourth length is determined based on a pre-set coding rate threshold. Device.

33. The apparatus according to claim 32, further comprising a transmitting unit configured to transmit the LDPC codeword, the LDPC codeword comprising the information bits to be encoded and the parity bits.

34. A communication device having a processor and memory, The memory is configured to store instructions, The processor is configured to execute the instruction so that the method described in any one of claims 1 to 29 is performed. Communication device.

35. A communication device having a logic circuit and an interface, wherein the logic circuit is coupled to the interface, The interface is configured to input and / or output code instructions, and the logic circuit is configured to execute the code instructions so that the method according to any one of claims 1 to 29 is performed. Communication device.

36. A computer-readable storage medium, wherein the computer-readable storage medium is configured to store a computer program, and when the computer program is executed, the method according to any one of claims 1 to 29 is executed.