A communication method and apparatus
Patent Information
- Application Number
- CN202510405867.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-01
- Publication Date
- 2026-10-16
AI Technical Summary
但是,在极化码的编码长度(也即母码长度)为2的整数次幂时只有一种耦合方式,导致译码性能不好
Smart Images

Figure CN122932688A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a communication method and apparatus. Background Technology
[0002] Polar codes were chosen as the control channel coding scheme in the 5G communication standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, offering advantages such as good decoding performance and low complexity. The polar coding process includes polar kernel operations. During any polar kernel operation, multiple input bits are encoded using the matrix corresponding to the polar kernel to obtain output bits. The output bits obtained from different polar kernel operations can be coupled to obtain the polar coding result. However, when the polar code's coding length (i.e., the mother code length) is an integer power of 2, there is only one coupling method, leading to poor decoding performance.
[0003] How to ensure decoding performance when using polar coding requires further research. Summary of the Invention
[0004] This application provides a communication method and apparatus to increase the flexibility of polarization core selection and help ensure decoding performance.
[0005] Firstly, this application provides a communication method, which can be executed by a first device or a module in the first device (e.g., a processor, chip, or chip system). Optionally, the method can also be implemented by a logical node, logical module, or software capable of implementing all or part of the functions of the first device. The following example illustrates the execution of the communication method by the first device. The method may include the following steps: the first device acquires first information, wherein the first information describes the requirements of a coding / decoding scenario; then, the first device sends second information to a second device, wherein the second information includes first indication information, which is related to the first information, and is used to indicate a first matrix or a second matrix; the first matrix or the second matrix is used to polarize the information bit sequence; the row weight of each row of the first matrix is a power of 2, and the row weight of at least one row of the second matrix is not a power of 2.
[0006] In this method, the first device can more accurately determine the corresponding (or matching) matrix for encoding (or for polarization kernel operations during encoding) based on the requirements of the current encoding / decoding scenario. This increases the flexibility of polarization kernel selection (which can be understood as selecting the matrix corresponding to the polarization kernel) and allows for a balance between decoding performance and complexity, helping to ensure decoding performance and reduce resource waste (such as reducing decoding complexity or resources consumed during decoding). It is understood that this matrix can also be used for polarization kernel operations during the decoding process. Furthermore, by carrying the first indication information in the second information, the receiving device (e.g., the second device) can promptly know which matrix (e.g., the first matrix or the second matrix) the first device uses as the matrix corresponding to the polarization kernel during polarization kernel operations, further facilitating the receiving device (e.g., the second device) to accurately perform decoding operations based on this matrix.
[0007] Secondly, this application provides a communication method, which can be executed by a second device or a module in the second device (e.g., a processor, chip, or chip system). Optionally, the method can also be implemented by a logical node, logical module, or software capable of implementing all or part of the functions of the second device. The following example illustrates the execution of the communication method by a second device. The method may include the following steps: the second device receives second information, wherein the second information includes first indication information, the first indication information is related to the first information, the first information is used to describe the requirements of the encoding / decoding scenario, the first indication information is used to indicate a first matrix, or the first indication information is used to indicate a second matrix, the first matrix or the second matrix is used to decode a sequence to be decoded, the sequence to be decoded is obtained based on an information bit sequence, the row weight of each row of the first matrix is an integer power of 2, and the row weight of at least one row of the second matrix is not an integer power of 2.
[0008] The technical effects achievable in the second aspect are similar to those achievable in the first aspect, and will not be elaborated upon here.
[0009] Based on the first or second aspect, in one possible implementation, the first information includes p first parameters, where p is an integer greater than or equal to 1. If at least one of the p first parameters has a value less than or equal to a first threshold, the first indication information is used to indicate a first matrix; or if the values of the p first parameters are greater than the first threshold, the first indication information is used to indicate a second matrix.
[0010] The above implementation allows the first device to accurately determine whether to use a first matrix or a second matrix corresponding to the polarization kernel during the encoding process, based on the relationship between the p first parameters and a first threshold, when the first information includes p first parameters. This determination is made through first indication information. Using the first matrix results in lower decoding complexity, while using the second matrix results in lower decoding error rate. This allows the first device to flexibly adjust the decoding complexity and error rate according to actual needs, and increases the flexibility in selecting the matrix corresponding to the polarization kernel.
[0011] Based on the first or second aspect, in one possible implementation, if the values of p first parameters are greater than a first threshold, and if at least one of the p first parameters has a value greater than the first threshold and less than a second threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or if the values of p first parameters are greater than or equal to the second threshold and less than a third threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or if the values of p first parameters are greater than or equal to the third threshold, then the second matrix indicated by the first indication information belongs to the third matrix set, wherein the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0012] The above implementation method can enable the first device to flexibly balance the decoding complexity and error rate by using different matrix sets according to the different magnitude relationships between the p first parameters and the second and third thresholds when the values of the p first parameters are greater than the first threshold. It can also increase the flexibility of the selection of the second matrix (which can be understood as the matrix corresponding to the non-regular polarization kernel) (for example, selecting a second matrix of different sizes according to the different magnitude relationships between the p first parameters and the second and third thresholds, which is more in line with the actual needs of the encoding and decoding scenario).
[0013] Based on the first or second aspect, in one possible implementation, the p first parameters may include at least one of the following: code length, decoding error rate, or latency.
[0014] Based on the first or second aspect, in one possible implementation, the first information includes q second parameters, where q is an integer greater than or equal to 1. If at least one of the q second parameters has a value greater than or equal to a fourth threshold, the first indication information is used to indicate the first matrix; or if the values of the q second parameters are less than the fourth threshold, the first indication information is used to indicate the second matrix.
[0015] The above implementation can accurately determine whether to use the first matrix or the second matrix corresponding to the polarization kernel during the encoding process, based on the relationship between the q second parameters and the fourth threshold, when the first information includes q second parameters, and indicate this through the first indication information. Using the first matrix results in lower decoding complexity, while using the second matrix results in lower decoding error rate. This allows the first device to flexibly adjust the decoding complexity and error rate according to actual needs, and increases the flexibility in selecting the matrix corresponding to the polarization kernel.
[0016] Based on the first or second aspect, in one possible implementation, if the values of q second parameters are less than a fourth threshold, and if at least one of the q second parameters has a value less than the fourth threshold and greater than a fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or if the values of q second parameters are less than or equal to the fifth threshold and greater than a sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or if the values of q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set, wherein the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0017] The above implementation method can enable the first device to flexibly balance the decoding complexity and error rate by using different matrix sets according to the different magnitude relationships between the q second parameters and the fifth and sixth thresholds when the values of the q second parameters are less than the fourth threshold. It can also increase the flexibility of the selection of the second matrix (which can be understood as the matrix corresponding to the non-regular polarization kernel).
[0018] Based on the first or second aspect, in one possible implementation, the q second parameters may include at least one of the following: throughput, number of code blocks, spectral efficiency, operating frequency band, number of multiple-input multiple-output streams, coding and modulation scheme level, or modulation order.
[0019] Based on the first or second aspect, in one possible implementation, the first information includes p first parameters and q second parameters, where p and q are both integers greater than or equal to 1. If at least one of the p first parameters has a value less than or equal to a first threshold, and / or at least one of the q second parameters has a value greater than or equal to a fourth threshold, then the first indication information is used to indicate the first matrix; or if the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold, then the first indication information is used to indicate the second matrix.
[0020] The above implementation allows the first device to accurately determine whether to use the first matrix or the second matrix corresponding to the polarization kernel during the encoding process, based on the relationship between the p first parameters and the first threshold, and the relationship between the q second parameters and the fourth threshold, when the first information includes p first parameters and q second parameters. This determination is made through the first indication information. Using the first matrix results in lower decoding complexity, while using the second matrix results in lower decoding error rate. This allows the first device to flexibly adjust the decoding complexity and error rate according to actual needs, and increases the flexibility in selecting the matrix corresponding to the polarization kernel.
[0021] Based on the first or second aspect, in one possible implementation, when the values of p first parameters are greater than a first threshold and the values of q second parameters are less than a fourth threshold, if at least one of the p first parameters has a value greater than the first threshold and less than the second threshold, and / or at least one of the q second parameters has a value less than the fourth threshold and greater than the fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or if the values of p first parameters are greater than or equal to the second threshold and less than the third threshold, and / or the values of q second parameters are less than or equal to the fifth threshold and greater than the sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or if the values of p first parameters are greater than or equal to the third threshold and the values of q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set, wherein the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0022] The above implementation method can enable the first device to flexibly balance the decoding complexity and error rate by using different matrix sets based on the different magnitude relationships between the p first parameters and the second and third thresholds, and the different magnitude relationships between the q second parameters and the fifth and sixth thresholds, when the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold. It can also increase the flexibility of the selection of the second matrix (which can be understood as the matrix corresponding to the non-regular polarization kernel).
[0023] Based on the first or second aspect, in one possible implementation, the first information includes a bit rate; if the bit rate is less than a seventh threshold or greater than an eighth threshold, the first indication information is used to indicate a first matrix; or if the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, the first indication information is used to indicate a second matrix.
[0024] The above implementation allows the first device to accurately determine whether to use the first matrix or the second matrix corresponding to the polarization kernel during the encoding process, based on the relationship between the code rate and the seventh and eighth thresholds, and to provide indication through the first indication information, provided that the first matrix includes the code rate. Using the first matrix results in lower decoding complexity, while using the second matrix results in lower decoding error rate. This allows the first device to flexibly adjust the decoding complexity and error rate according to actual needs, and increases the flexibility in selecting the matrix corresponding to the polarization kernel.
[0025] Based on the first or second aspect, in one possible implementation, the first information further includes p first parameters, where p is an integer greater than or equal to 1. If the value of the p first parameters is less than or equal to the first threshold when the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or if the value of the p first parameters is greater than the first threshold and less than the second threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or if the value of the p first parameters is greater than or equal to the second threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. The size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0026] The above implementation allows the first device to determine which matrix set the second matrix belongs to for polarization kernel encoding at a specific code rate (e.g., a code rate greater than or equal to the seventh threshold and less than or equal to the eighth threshold). This is based on the different magnitude relationships between the p first parameters and the first, second, and third thresholds. This allows for a flexible balance between decoding complexity and error rate. For example, using a second matrix belonging to the first matrix set can reduce decoding complexity, using a second matrix belonging to the second matrix set can significantly reduce decoding complexity, and using a second matrix belonging to the third matrix set can drastically reduce the decoding error rate.
[0027] Based on the first or second aspect, in one possible implementation, the second information further includes second indication information, wherein the second indication information is used to indicate the rate matching mode of sub-block interleaving, or the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0028] In the above implementation, the rate matching mode using sub-block interleaving can be adapted to existing standards and reduce the complexity of polarization kernel construction. The rate matching mode using bit reversal shortening can reduce the decoding error rate when using the second matrix. In addition, by carrying second indication information in the second information, the receiving device (e.g., the second device) can promptly learn the rate matching mode used by the first device, further facilitating the receiving device to perform corresponding operations based on the rate matching mode used by the first device during the decoding process.
[0029] Based on the first or second aspect, in one possible implementation, the first information includes p first parameters, where p is an integer greater than or equal to 1. If at least one of the p first parameters has a value less than a second threshold, the second indication information is used to indicate the rate matching mode of sub-block interleaving; or if the values of the p first parameters are greater than or equal to the second threshold, the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0030] In the above implementation, the first device can accurately determine which rate matching mode to use for rate matching based on the relationship between the p first parameters and the second threshold, which helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0031] Based on the first or second aspect, in one possible implementation, the first information includes q second parameters, where q is an integer greater than or equal to 1. If at least one of the q second parameters has a value greater than a fifth threshold, the second indication information is used to indicate the rate matching mode of sub-block interleaving; or if the values of the q second parameters are less than or equal to the fifth threshold, the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0032] In the above implementation, the first device can accurately determine which rate matching mode to use for rate matching based on the relationship between the q second parameters and the fifth threshold, which helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0033] Based on the first or second aspect, in one possible implementation, the first information includes p first parameters and q second parameters, where p and q are both integers greater than or equal to 1. If at least one of the p first parameters has a value less than a second threshold, and / or at least one of the q second parameters has a value greater than a fifth threshold, then the second indication information is used to indicate the rate matching mode of sub-block interleaving. Alternatively, if the values of the p first parameters are greater than or equal to the second threshold, and the values of the q second parameters are less than or equal to the fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0034] In the above implementation, the first device can accurately determine which rate matching mode to use for rate matching based on the relationship between p first parameters and the second threshold and the relationship between q second parameters and the fifth threshold. This helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0035] Based on the first or second aspect, in one possible implementation, the first information includes the code rate; if the code rate is less than a seventh threshold or greater than an eighth threshold, the second indication information is used to indicate a rate matching mode for sub-block interleaving; or if the code rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, the second indication information is used to indicate a rate matching mode for bit reversal shortening.
[0036] In the above implementation, the first device can accurately determine which rate matching mode to use for rate matching based on the relationship between the bit rate and the seventh and eighth thresholds, which helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0037] Based on the first or second aspect, in one possible implementation, the first information further includes p first parameters, where p is an integer greater than or equal to 1. If the value of the p first parameters is less than the second threshold when the code rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, the second indication information is used to indicate the rate matching mode of sub-block interleaving; or if the value of the p first parameters is greater than or equal to the second threshold, the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0038] In the above implementation, at a specific bitrate (e.g., a bitrate greater than or equal to the seventh threshold and less than or equal to the eighth threshold), the first device accurately determines which rate matching mode to use for rate matching based on the relationship between p first parameters and the second threshold. This helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0039] Based on the first or second aspect, in one possible implementation, where the first indication information indicates the second matrix, the second information further includes third indication information, wherein the third indication information is used to indicate the size of the second matrix.
[0040] In the above implementation, by carrying third indication information in the second information, the receiving device (such as the second device) can promptly know the size of the second matrix used by the first device in the polarization kernel operation, which further facilitates the receiving device to accurately perform decoding operations based on the second matrix of that size.
[0041] Thirdly, this application provides a communication method that can be executed by a second device or a module within the second device (e.g., a processor, chip, or chip system). Optionally, the method can also be implemented by a logical node, logical module, or software capable of implementing all or part of the functions of the second device. The following example illustrates the execution of the communication method by the second device. The method may include the following steps: the second device acquires third information, wherein the third information is used to characterize the second device; subsequently, the second device may send fourth information to a first device, wherein the fourth information includes fourth indication information, which is related to the third information, and is used to indicate a first matrix or a second matrix. The first or second matrix is used to decode a sequence to be decoded, the sequence to be decoded being obtained based on an information bit sequence; the row weight of each row of the first matrix is a power of 2, and the row weight of at least one row of the second matrix is not a power of 2.
[0042] In this method, the second device determines the corresponding matrix for decoding (or for polarization kernel operations during decoding) based on its attribute information (such as one or more third parameters characterizing the second device). This allows the first device to encode according to the second device's expectations or requirements, increases the flexibility of polarization kernel selection, and balances decoding performance and complexity, helping to ensure decoding performance and reduce resource waste. It can be understood that this matrix is also the matrix the second device wants the first device to use for polarization kernel operations during the encoding process. Furthermore, by carrying fourth indication information in the fourth information, the receiving device (such as the first device) can promptly know which matrix (such as the first matrix or the second matrix) the second device wants the receiving device to use as the matrix corresponding to the polarization kernel during the polarization kernel operation, further facilitating the receiving device to accurately perform encoding operations based on this matrix.
[0043] Fourthly, this application provides a communication method, which can be executed by a first device or a module in the first device (e.g., a processor, chip, or chip system). Optionally, the method can also be implemented by a logical node, logical module, or software capable of implementing all or part of the functions of the first device. The following example illustrates the communication method executed by the first device. The method may include the following steps: the first device receives fourth information from a second device, wherein the fourth information includes fourth indication information, the fourth indication information is related to third information, the third information is used to characterize the second device, the fourth indication information is used to indicate a first matrix, or the fourth indication information is used to indicate a second matrix, the first matrix or the second matrix is used to polarize encode an information bit sequence, the row weight of each row of the first matrix is an integer power of 2, and the row weight of at least one row of the second matrix is not an integer power of 2.
[0044] The technical effects achievable in the fourth aspect are similar to those achievable in the third aspect above, and will not be elaborated upon here.
[0045] Based on the third or fourth aspect, in one possible implementation, the third information includes a third parameter. If the third parameter is included in the first parameter set, the fourth indication information is used to indicate the first matrix; or if the third parameter is included in the second parameter set, the fourth indication information is used to indicate the second matrix. The decoding error rate requirement corresponding to the first parameter set is lower than the decoding error rate requirement corresponding to the second parameter set, and the decoding complexity requirement corresponding to the first parameter set is higher than the decoding complexity requirement corresponding to the second parameter set.
[0046] In the above implementation, the second device accurately determines whether to use the first matrix or the second matrix corresponding to the polarization kernel during the decoding process based on whether the third parameter is included in the first parameter set or the second parameter set, and provides this indication through the fourth indication information. Using the first matrix results in lower decoding complexity, while using the second matrix results in a lower decoding error rate. This allows the second device to flexibly adjust the decoding complexity and error rate according to actual needs, and increases the flexibility in selecting the matrix corresponding to the polarization kernel, thus helping to meet the actual decoding requirements or capabilities of the second device.
[0047] Based on the third or fourth aspect, in one possible implementation, the second parameter set includes a first subset and a second subset. The decoding complexity requirement corresponding to the first subset is higher than that corresponding to the second subset, and the decoding error rate requirement corresponding to the first subset is lower than that corresponding to the second subset. If the third parameter is included in the first subset, then the second matrix indicated by the fourth indication information belongs to the fourth matrix set. Alternatively, if the third parameter is included in the second subset, then the second matrix indicated by the fourth indication information belongs to the fifth matrix set. The size of any matrix included in the fifth matrix set is greater than or equal to the size of any matrix included in the fourth matrix set.
[0048] In the above implementation, when the third parameter is included in the set of second parameters, the second device uses different sets of matrices to flexibly balance decoding complexity and error rate, depending on whether the third parameter is included in the first subset or the second subset of the set of second parameters, and can increase the flexibility of the second matrix selection.
[0049] Based on the third or fourth aspect, in one possible implementation, the fourth information may further include fifth indication information, wherein the fifth indication information is used to indicate the rate matching mode of sub-block interleaving, or the fifth indication information is used to indicate the rate matching mode of bit reversal shortening.
[0050] In the above implementation, the rate matching mode using sub-block interleaving can be adapted to existing standards and reduce the complexity of polarization kernel construction. The rate matching mode using bit reversal shortening can reduce the decoding error rate when using the second matrix. In addition, by carrying the fifth indication information in the fourth information, the receiving device (such as the first device) can promptly know which rate matching mode the second device wants the receiving device to use, further facilitating the receiving device to perform corresponding operations based on the rate matching mode after encoding.
[0051] Based on the third or fourth aspect, in one possible implementation, the third information includes a third parameter. If the third parameter is included in the first parameter set or in a first subset of the second parameter set, the fifth indication information is used to indicate the rate matching mode of sub-block interleaving; or if the third parameter is included in a second subset of the second parameter set, the fifth indication information is used to indicate the rate matching mode of bit reversal shortening, wherein the decoding error rate requirement corresponding to the first parameter set is lower than the decoding error rate requirement corresponding to the second parameter set, the decoding complexity requirement corresponding to the first parameter set is higher than the decoding complexity requirement corresponding to the second parameter set, the decoding complexity requirement corresponding to the first subset is higher than the decoding complexity requirement corresponding to the second subset, and the decoding error rate requirement corresponding to the first subset is lower than the decoding error rate requirement corresponding to the second subset.
[0052] In the above implementation, the second device can accurately determine which rate matching mode to use for rate matching based on whether the third parameter is included in the first subset or the second subset. This helps to increase the flexibility of rate matching mode selection and makes the selected rate matching mode more in line with the current actual needs.
[0053] Based on the third or fourth aspect, in one possible implementation, where the fourth indication information indicates the second matrix, the fourth information may further include a sixth indication information, wherein the sixth indication information is used to indicate the size of the second matrix.
[0054] In the above implementation, by carrying the sixth indication information in the fourth information, the receiving device (such as the first device) can promptly know the size of the second matrix that the second device wants the receiving device to use in the polarization kernel operation, and further facilitate the receiving device to accurately perform encoding operations based on the second matrix of that size.
[0055] Based on the third or fourth aspect, in one possible implementation, the third parameter may include at least one of the following: device type, decoding mode, device capability, power consumption mode, decoding complexity, receiver complexity, receiving mode, or power mode.
[0056] Fifthly, this application provides a communication device that performs the functions described in the first to fourth aspects above. For example, the communication device includes modules, units, or means corresponding to the operations described in the first to fourth aspects. These functions, units, or means can be implemented by software, hardware, or hardware executing corresponding software. For instance, in some examples, the communication device can be a first device or a module within a first device, and it performs the functions described in the first or fourth aspects. In other examples, the communication device can be a second device or a module within a second device, and it performs the functions described in the second or third aspects.
[0057] In one possible implementation, the communication device may include a transceiver module. Optionally, the communication device may further include one or more of a processing module and a storage module. The transceiver module can be used to transmit and receive signals to enable communication between the communication device and other devices; for example, the transceiver module can be used to send data to other communication devices. The processing module can be used to perform some internal operations of the communication device. The functions performed by the transceiver module and the processing module may correspond to the operations involved in the first to fourth aspects described above. The storage module is used to store the program code and / or data of the communication device.
[0058] In one possible implementation, the communication device includes at least one processor, which can be coupled to a memory. The memory can store necessary computer programs or instructions for implementing the functions described in the first to fourth aspects above. The processor can execute the computer programs or instructions stored in the memory, causing the communication device to implement the methods in any possible implementation of any of the first to fourth aspects above when the computer programs or instructions are executed.
[0059] In one possible implementation, the communication device includes at least one processor and a memory, the memory of which may store necessary computer programs or instructions for implementing the functions involved in the first to fourth aspects described above. The at least one processor may execute the computer programs or instructions stored in the memory, and when the computer programs or instructions are executed, cause the communication device to implement the methods in any possible implementation of any of the first to fourth aspects described above.
[0060] In one possible implementation, the communication device includes at least one processor and a communication interface, wherein the at least one processor is configured to communicate with other devices via the communication interface and execute the methods in any of the possible implementations of the first to fourth aspects described above. The communication interface is used to enable communication between the communication device and other devices, for example, to receive signals from other communication devices and transmit them to the at least one processor, or to send signals from the at least one processor of the communication device to other communication devices, such as the transmission or reception of data and / or signals. Exemplarily, the communication interface may be a transceiver, circuit, bus, module, or other type of communication interface.
[0061] It is understood that, in the fifth aspect mentioned above, the processor can be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor that reads software code stored in memory. Furthermore, there can be one or more processors, and one or more memories. The memory can be integrated with the processor, or the memory and processor can be separate. In specific implementations, the memory can be integrated with the processor on the same chip, or it can be set on different chips. This application does not limit the type of memory or the arrangement of the memory and processor.
[0062] Sixthly, this application provides a communication system that may include a first device and a second device. The first device may be used to perform the method described in the first aspect or any possible implementation of the first aspect, or it may also be used to perform the method described in the fourth aspect or any possible implementation of the fourth aspect. The second device may be used to perform the method described in the second aspect or any possible implementation of the second aspect, or it may also be used to perform the method described in the third aspect or any possible implementation of the third aspect.
[0063] In a seventh aspect, this application provides a computer program product comprising a computer program or instructions that, when executed on a communication device (or computer), cause the communication device (or computer) to perform the method in any possible implementation of any of the first to fourth aspects described above.
[0064] Eighthly, this application provides a computer-readable storage medium storing a computer program or instructions that, when executed by a communication device (or computer), cause the communication device (or computer) to perform the method in any possible implementation of any of the first to fourth aspects described above.
[0065] Ninthly, this application provides a chip that may include at least one processor and may also include a memory (or the chip may be coupled to the memory), the at least one processor executing program instructions in the memory to cause the chip to perform any possible implementation of any of the first to fourth aspects described above. Here, "coupling" means that two components are directly or indirectly connected to each other, such as coupling can refer to an electrical connection between two components.
[0066] Tenthly, this application also provides a chip system including at least one processor for supporting a computer device in implementing any possible implementation of the methods in any of the first to fourth aspects described above. In one possible implementation, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system may be composed of chips or may include chips and other discrete devices.
[0067] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Attached Figure Description
[0068] Figure 1 An exemplary schematic diagram of the architecture of a communication system provided in an embodiment of this application is shown;
[0069] Figure 2 This illustration shows a schematic diagram of an encoding and decoding process provided in an embodiment of this application;
[0070] Figure 3a An exemplary diagram of an 8×8 polarization transformation matrix provided in an embodiment of this application is shown.
[0071] Figure 3b An exemplary diagram illustrating the SC decoding calculation process provided in an embodiment of this application is shown.
[0072] Figure 3c This illustration shows a schematic diagram of the decoding path in the SCL decoding method provided in an embodiment of this application;
[0073] Figure 4 An exemplary flowchart of a communication method provided in an embodiment of this application is shown;
[0074] Figure 5 An exemplary flowchart of another communication method provided in an embodiment of this application is shown;
[0075] Figure 6 An exemplary schematic diagram of a communication device provided in an embodiment of this application is shown;
[0076] Figure 7An exemplary schematic diagram of another communication device provided in an embodiment of this application is shown. Detailed Implementation
[0077] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0078] The following describes the communication system architecture to which the communication method provided in this application is applicable. It should be noted that this description is for the convenience of those skilled in the art and does not constitute a limitation on the scope of protection claimed in this application.
[0079] The technical solutions of this application can be applied to various wireless communication systems, such as Universal Mobile Telecommunications System (UMTS), Wireless Local Area Network (WLAN), short-range wireless communication systems (such as sidelink, Wireless Fidelity (Wi-Fi), Bluetooth, etc.), wired networks, vehicle-to-everything (V2X) communication systems, device-to-device (D2D) communication systems, vehicle-to-everything (V2X) communication systems, 4th generation (4G) mobile communication systems (such as Long Term Evolution (LTE) systems), LTE Frequency Division Duplex (FDD) systems, LTE Time Division Duplex (TDD) systems, 5G mobile communication systems (such as New Radio (NR) systems), Future Communications systems, or other similar communication systems, and are not limited thereto. The embodiments of this application use... Figure 1 The communication system shown is used as an example for description. When the technical solutions of the embodiments of this application are applied to other communication systems, the devices, components, modules, etc. in the embodiments can be replaced with corresponding devices, components, modules in other communication systems without limitation.
[0080] Figure 1 This is a schematic diagram of the architecture of the communication system used in the embodiments of this application. Figure 1 As shown, the communication system includes an access network 100. Optionally, the communication system may also include a core network 200 and an Internet 300. The access network 100 may include at least one network device, such as... Figure 1 110a and 110b may also include at least one terminal device, such as Figure 1The series consists of 120a-120j. Specifically, 110a is a base station, 110b is a micro-station, 120a, 120e, 120f, and 120j are mobile phones, 120b is a car, 120c is a fuel dispenser, 120d is a home access point (HAP) deployed indoors or outdoors, 120g is a laptop, 120h is a printer, and 120i is a drone. The same terminal device or network device can provide different functions in different application scenarios. For example... Figure 1 The mobile phones included are 120a, 120e, 120f, and 120j. Mobile phone 120a can access base station 110a, connect to car 120b, communicate directly with mobile phone 120e, and access HAP. Car 120b can access HAP and communicate directly with mobile phone 120a. Mobile phone 120f can connect to micro-station 110b, connect to laptop 120g, and connect to printer 120h. Mobile phone 120j can control drone 120i.
[0081] The communication system provided in this application may also include artificial intelligence (AI) network elements to implement some or all AI-related operations. AI network elements can also be referred to as AI nodes, AI devices, AI entities, AI modules, AI models, or AI units, etc. The AI network elements may be built into the network elements of the communication system. For example, an AI network element may be an AI module built into: access network equipment, core network equipment, cloud servers, or operation, administration, and maintenance (OAM) systems to implement AI-related functions. The OAM system may act as the network management system for core network equipment and / or access network equipment. Alternatively, the AI network element may be an independently configured network element within the communication system. Optionally, the terminal or its built-in chip may also include an AI entity to implement AI-related functions.
[0082] (1) Network equipment
[0083] A network device is a network-side device with wireless transceiver capabilities. A network device can be a device in a radio access network (RAN) that provides wireless communication capabilities to terminal devices; this is called RAN equipment. The RAN can be an access network within the 3rd Generation Partnership Project (3GPP), such as a 4G network, a 5G network, or a future network. The RAN can also be an open RAN (O-RAN or ORAN), a cloud radio access network (CRAN), or a communication network combining two or more of these.
[0084] RAN equipment can also be a base station, an evolved NodeB (eNodeB), a transmission reception point (TRP), a next-generation NodeB (gNB) in a 5G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc.
[0085] RAN equipment can also be modules or units that perform some of the functions of a base station. For example, it can be a central unit (CU), a distributed unit (DU), or a radio unit (RU). The CU performs the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) of the base station, and can also perform the functions of the service data adaptation protocol (SDAP). The CU can be further divided into a CU control plane (CP) (i.e., CU-CP) and a CU user plane (UP) (i.e., CU-UP). The DU performs the functions of the radio link control (RLC) layer and medium access control (MAC) layer of the base station, and can also perform some or all of the physical layer functions. For specific descriptions of the above protocol layers, please refer to the relevant 3GPP technical specifications. The CU and DU can be set up separately, or they can be included in the same network element, such as in the baseband unit (BBU). The RU can be included in radio frequency equipment or radio frequency units, such as in a remote radio unit (RRU), an active antenna unit (AAU), or a remote radio head (RRH). In different systems, CU, DU, or RU may have different names, but those skilled in the art will understand their meaning. For example, in an ORAN system, CU can also be called O-CU (open CU), DU can also be called O-DU, and RU can also be called O-RU. Any of the units among CU (or CU-CP, CU-UP), DU, and RU in this application can be implemented through software modules, hardware modules, or a combination of software and hardware modules. RAN equipment can be a macro base station (such as...) Figure 1 110a in the text), can also be a micro base station or an indoor station (such as... Figure 1 In 110b), it can also be a relay node or a donor node, etc. The embodiments of this application do not limit the specific technology or device form used in the network equipment.
[0086] In the embodiments of this application, the functions of the network device can be executed by modules (such as chips) within the network device, or by a control subsystem that includes the functions of the network device. This control subsystem, which includes the functions of the network device, can be a control center in the aforementioned application scenarios such as smart grids, industrial control, intelligent transportation, and smart cities.
[0087] (2) Terminal equipment
[0088] A terminal device is a user-side device with wireless transceiver capabilities. Terminal devices can also be called terminals, user equipment (UE), mobile stations, mobile terminals, etc. Terminal devices can be widely used in various scenarios, such as D2D communication, V2X communication, machine-type communication (MTC), the Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, telemedicine, smart grids, smart furniture, smart offices, smart wearables, intelligent transportation, and smart cities. Terminal devices can be mobile phones, tablets, computers with wireless transceiver capabilities, wearable devices, vehicle devices (such as vehicle units, in-vehicle modules, in-vehicle chips, onboard units (OBUs) or telematics boxes (T-BOXs)), drones, helicopters, airplanes, ships, robots, robotic arms, smart home devices, satellite terminals, Internet of Things (IoT) terminals, virtual reality (VR) devices, augmented reality (AR) devices, smart point-of-sale (POS) machines, customer-premises equipment (CPE), light user equipment (UE), reduced capability UE (REDCAP UE), etc. In the embodiments of this application, the device used to implement the functions of the terminal device can be the terminal device itself, or a device capable of supporting the terminal device in implementing that function, such as a chip system or a combination of devices or components capable of implementing the functions of the terminal device. This device can be installed in the terminal device. The embodiments of this application do not limit the specific technology or specific device form used in the terminal device.
[0089] In this embodiment of the application, the functions of the terminal device can also be performed by modules (such as chips or modems) in the terminal device, or by a device containing the functions of the terminal device.
[0090] Network devices and terminal devices can be fixed in location or mobile. They can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water; and they can also be deployed in the air on airplanes, balloons, and artificial satellites. The embodiments of this application do not limit the application scenarios of the network devices and terminal devices.
[0091] The roles of network devices and terminal devices can be relative, for example, Figure 1 The helicopter or drone 120i can be configured as a mobile network device. For terminal devices 120j that access the wireless access network 100 via 120i, terminal device 120i is a network device; however, for network device 110a, 120i is a terminal device, meaning that 110a and 120i communicate via a wireless air interface protocol. Of course, 110a and 120i can also communicate via a network device-to-network device interface protocol; in this case, 120i is also a network device relative to 110a. Therefore, both network devices and terminal devices can be collectively referred to as communication devices. Figure 1 110a and 110b can be referred to as communication devices with network equipment functions. Figure 1 The 120a-120j in the text can be referred to as communication devices with terminal equipment functions.
[0092] Network devices and terminal devices, network devices and network devices, and terminal devices can communicate through licensed spectrum, unlicensed spectrum, or both simultaneously, without limitation.
[0093] The network architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. Those skilled in the art should understand that as network architectures evolve and new business scenarios emerge, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0094] The following is an explanation of the relevant terms used in the embodiments of this application. Unless otherwise specified, these explanations are provided to support the meaning of the relevant terms and to make the embodiments of this application easier to understand, and should not be regarded as a strict limitation of the relevant terms within the scope of protection claimed by this application.
[0095] (1) Channel coding and channel decoding
[0096] Figure 2 This is a schematic diagram illustrating a processing flow between the information source and the information sink. For example... Figure 2As shown, the transmitting end (i.e., the source) obtains the bit sequence to be encoded (i.e., the information bit sequence) through source coding, and then performs channel coding on the bit sequence to be encoded to obtain the encoded bit sequence. Correspondingly, after the receiving end (i.e., the sink) obtains the symbol sequence to be decoded, it performs channel decoding on the symbol sequence to be decoded to obtain the information bit sequence, and then performs source recovery on the information bit sequence to obtain useful information.
[0097] Since source coding does not consider interference resistance, if the bit sequence output from source coding is directly transmitted through the channel, noise interference in the channel will cause bit errors, reducing communication reliability. Therefore, channel coding, which encodes the bit sequence output from source coding again, can improve communication reliability. Channel decoding is the inverse process of channel coding.
[0098] There are various channel coding methods, such as polar coding or LDPC coding. Polar codes were selected as the control channel coding method in the 5G standard. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity, and have the advantages of good decoding performance and low complexity. LDPC codes were selected as the data channel coding method in the 5G standard. LDPC codes are linear block codes with a sparse parity-check matrix, which not only have good performance approaching the Shannon limit, but also have low decoding complexity and flexible structure.
[0099] (2) Modulation and demodulation
[0100] See Figure 2 As shown, the transmitting end can also map the encoded bit sequence to the modulation symbol sequence, and then transmit the modulation symbol sequence; correspondingly, the receiving end can receive the modulation symbol sequence and then demodulate it to obtain the symbol sequence to be decoded.
[0101] Modulation refers to the process by which the transmitting end maps the encoded bit sequence to a constellation based on a constellation diagram to obtain a modulated symbol sequence. Demodulation is the inverse process of modulation. Common modulation methods include quadrature amplitude modulation (QAM) and amplitude shift keying (ASK) modulation.
[0102] (3) Information bit sequence
[0103] An information bit sequence refers to a sequence of bits to be transmitted. For example, if the bits to be transmitted are 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, then the resulting information bit sequence is 10101100101. In this application, K represents the length of the information bit sequence. The information bits may include payload bits. Optionally, the information bits may also include check bits, such as cyclic redundancy check (CRC) bits.
[0104] (4) Code length
[0105] Code length refers to the length of the bit sequence to be transmitted obtained by encoding the information bit sequence. The code length is greater than or equal to the length of the information bit sequence. In this application, N represents the code length.
[0106] (5) Bitrate
[0107] The code rate is the ratio of the length of the information bit sequence to the code length. In this application, R represents the code rate, therefore R = K / N.
[0108] The length, code length, and code rate of the information bit sequence can be pre-configured by higher-layer signaling, MAC layer signaling, or downlink physical layer signals, and can also be obtained or calculated by the transmitting and receiving devices. For example, the transmitting and receiving devices can determine the code length based on the coding method, the frame structure used to transmit the information bits, the number of layers, and the modulation scheme. For example, the transmitting and receiving devices can obtain the code rate based on higher-layer signaling, MAC layer signaling, or downlink physical layer signals, or determine the code rate based on the modulation and coding scheme (MCS).
[0109] (6) Rate matching
[0110] Rate matching refers to removing some bits from the encoded bit sequence without transmitting them, or repeating some bits.
[0111] The rate matching method will be further explained in three categories below.
[0112] Punching: Punching refers to directly creating holes in certain bit positions within the encoded bit sequence without transmitting them, thus generating bit sequences of arbitrary length. On the decoding side, since there is no information at the corresponding punctured positions, the log-likelihood ratio (LLR) of the corresponding bit is set to 0.
[0113] Shortening: Shortening involves fixing certain bit positions in the encoded bit sequence so that they do not need to be transmitted. On the decoding side, since the corresponding "shortened" positions are known at the receiver (usually 0), the LLR of the corresponding bit is set to infinity.
[0114] Repetition: "Repetition" refers to obtaining a longer bit sequence by repeatedly sending a portion of the encoded bit sequence.
[0115] Taking polar codes as an example, when using a regular polar kernel, the encoding length (i.e., the mother code length) of a polar code is an integer power of 2. In practical applications, the required length may be a non-encoded length. In this case, it is necessary to remove some bits from the encoded bit sequence without transmitting them, or to repeatedly transmit some bits.
[0116] (7) Polar code
[0117] (7.1) Polar coding
[0118] Polar codes employ encoding strategies that utilize noiseless channels to transmit useful user information, or utilize noisy channels to transmit agreed-upon information or no information at all. The generator matrix of a polar code is G. N Its encoding process is as follows It is a binary row vector with a length of N. With the generating matrix G N After multiplication, we get the encoded bit sequence; the multiplication process is the encoding process.
[0119] During the encoding process of polar codes, A portion of the bits in the set is used to carry information and is called the information bit set, denoted by A. The other portion of the bits is set to fixed values agreed upon by the receiver and transmitter, called the fixed bit set or frozen bit set. The set of indices of the bits in the frozen bit set is denoted by the complement of A, A''. c These freeze bits are typically set to 0, but they can be set arbitrarily as long as the receiver and sender agree in advance.
[0120] Currently, in NR, the frozen bits and information bits of the polar code are determined based on the reliability sequence corresponding to the mother code length. The reliability sequence corresponding to the mother code length can be calculated offline to reduce the encoding complexity. The mother code length is an integer power of 2, which is the length of the bit sequence after polar code encoding; the mother code length can also be called the encoding length. Taking a mother code length of 8 as an example, assuming the reliability sequence is [0 1 2 4 3 5 6 7], the reliability of the bits from highest to lowest is: the bit corresponding to bit number 7, the bit corresponding to bit number 6, the bit corresponding to bit number 5, the bit corresponding to bit number 3, the bit corresponding to bit number 4, the bit corresponding to bit number 2, the bit corresponding to bit number 1, and the bit corresponding to bit number 0. Here, a bit can be understood as a bit sub-channel. The bit number can be understood as the index or identifier of the bit. For example, when constructing a polar code with a master code length of 8 and an information length of 4, the bits corresponding to bit number 7, bit number 6, bit number 5, and bit number 3 are selected from the end to the beginning as information bits, while the bits corresponding to bit number 4, bit number 2, bit number 1, and bit number 0 are selected as frozen bits.
[0121] Figure 3a An 8×8 polarization transformation matrix is shown, where the left side can be understood as the encoding side, with bits on the left denoted by u, and the right side can be understood as the encoding side (or codeword side), with bits on the right denoted by x. The process from left to right represents the encoding of the bit sequence at the transmitting end. The information bits to be encoded are represented by the sequence u(0, 0, 0, 0, 0, 0, 1, 1). After the polarization transformation matrix, the encoded bits are represented by the sequence x(0, 1, 0, 1, 0, 1, 0, 1). Then, x is mapped to modulation symbols for transmission on channel W. Bits corresponding to high channel reliability are used to map information bits, and bits corresponding to low channel reliability are used to map frozen bits. For example... Figure 3a As shown, {u0, u1, u2, u4} are frozen bits, i.e., the positions of frozen bits, and {u3, u5, u6, u7} are information bits, i.e., the positions of information bits. In this embodiment of the application, information bits are also called information bits, and frozen bits are also called frozen bits.
[0122] Understandably, the value of the frozen bit can be 0 or 1. Figure 3a The example given is that all frozen bits are 0. Figure 3a In the given information, u0 = 0, u1 = 0, u2 = 0, u4 = 0.
[0123] See Figure 3aIn the encoding process, two adjacent columns constitute a coding layer. The left column of bits represents the input bits of the coding layer, and the right column represents the output bits. For example, in the leftmost coding layer, the input bit sequence is (0, 0, 0, 0, 0, 0, 1, 1), and the output bit sequence is (0, 0, 0, 0, 0, 0, 0, 1). The operation symbols in the middle of the coding layer... This represents the XOR operation, specifically... express The bits in the current row and A single XOR operation between the bits in the row. The bits on the right represent the result of the operation. For example, in the leftmost coding layer, the first input bit (value 0) and the second input bit (value 0) are processed... The operation yields the first output bit (with a value of 0).
[0124] (7.2) Polarized nuclei
[0125] Polar coding involves several polarization kernel operations. Let's continue with... Figure 3a For example, any dashed rectangle represents a polarization kernel operation process. The polarization kernel operation process can be understood as encoding multiple input bits using the matrix corresponding to the polarization kernel to obtain the output bits. Figure 3a The polarization nucleus in the diagram is the Arikan polarization nucleus, and the matrix corresponding to this polarization nucleus is... That is, in Figure 3a In each polarization kernel operation, two input bits are encoded using the matrix corresponding to the polarization kernel to obtain two output bits. Based on Figure 3a It can be seen that polar codes can be constructed recursively. Taking an information bit length of K=4 and a code length of N=8 as an example, the 8-length polar code [01010101] can be seen as obtained by coupling two 4-length polar codes. As shown by the dashed ellipse in the figure, these two 4-length polar codes are the polar codes
[0000] corresponding to u0 to u3 and
[0101] corresponding to u4 to u7, respectively. Furthermore, these two 4-length polar codes can each be seen as obtained by coupling two 2-length polar codes, which are respectively... Figure 3a The output bits of the four polarization cores.
[0126] The Arikan polarization nucleus is a canonical polarization nucleus.
[0127] Taking a regular polarization kernel as an example, the generator matrix of a polar code can be represented as: Defined as the Kronecker product of log2 N matrices F2, x1 N It is the encoded bit sequence (also called a codeword). This G NAlso known as an Arikan polarization nucleus of length N or a canonical polarization nucleus.
[0128] (7.3) Polarization Decoding
[0129] There are several methods for decoding polar codes, such as successive cancellation (SC) decoding and successive cancellation list (SCL) decoding.
[0130] The SC decoding method involves calculating the LLR of each decoded bit based on the LLR sequence corresponding to the bit sequence to be decoded, and then making a bit-by-bit decision. When the decoded bit is an information bit, if the LLR of the decoded bit is greater than 0, then the decoded bit is 0; if the LLR of the decoded bit is less than 0, then the decoded bit is 1. When the decoded bit is a fixed bit, the decoding result is always set to 0 regardless of the LLR value. Figure 3b This is a schematic diagram of the SC decoding calculation process, taking 4 decoding bits as an example. Figure 3b There are a total of 8 computation nodes, including 4 f nodes and 4 g nodes. The f nodes and g nodes correspond to f operations and g operations, respectively. The f node operation requires two LLR inputs to its right, and the g node operation requires two LLR inputs to its right as well as the output of the previous level as input. The output can only be calculated after all the inputs have been calculated. According to the above computation rules... Figure 3b Starting from the right, the decoded bits are calculated sequentially as ①→②→③→④, and the decoding is now complete.
[0131] When using the Arikan polarization kernel, the SCL decoding method refers to using the LLR sequence corresponding to the bit sequence to be decoded, and saving the decoding results corresponding to 0 and 1 as two branch decoding paths (referred to as path splitting) when decoding each information bit. Figure 3c This is a schematic diagram of the decoding path in the SCL decoding method, as shown below. Figure 3c As shown, each level represents one decoded bit. If the decoding result is 0, the path is developed along the left subtree; if the decoding result is 1, the path is developed along the right subtree. When the total number of decoding paths exceeds the preset path width L (generally L = 2, 4, 8, 16, or 32), the L paths with the best path metric (PM) value are selected, saved, and the path development continues to decode subsequent bits. The PM value is used to judge the quality of the path, and the PM value is calculated using LLR. For each level of decoded bits, the PM values of the L paths are sorted in ascending order, and the correct path is selected by filtering out the PM values. This process is repeated until the last bit is decoded.
[0132] Polar codes have been selected as the control channel coding scheme in 5G communication standards. Polar codes are a coding scheme that can be rigorously proven to "achieve" the Shannon channel capacity and have the advantages of good decoding performance and low complexity.
[0133] One type of polarization kernel is the Arikan polarization kernel. It can be considered that, with the Arikan polarization kernel, a polar code of length N can be obtained by coupling two polar codes of length N / 2. Furthermore, a polar code of length N / 2 can be considered as obtained by coupling two polar codes of length N / 4, and so on. Using the Arikan polarization kernel, SC decoding of a polar code of length N can be completed on the decoding side using Nlog(N) f operations and Nlog(N) g operations. However, when the encoding length of the polar code is an integer power of 2, there is only one coupling method, which means that the decoding performance cannot reach its best at different information bit lengths K; that is, the decoding performance varies significantly for different information bit lengths K. When the encoding length of the polar code is not an integer power of 2, rate matching is required, leading to a decrease in decoding performance.
[0134] Another type of polarization kernel is the irregular kernel polar code. An irregular kernel polar code is constructed by arranging the polarization trellis connection method according to the channel state or the number of information bits K. It can accelerate polarization without increasing decoding complexity. The size of the matrix corresponding to the irregular kernel polar code can be N*N, where N is the code length, and the value of N does not have to be an integer power of 2. The irregular kernel polar code can be associated with the information bit length K; that is, the connection method of an N*N irregular kernel polar code can vary for different information bit lengths. Therefore, compared to the regular kernel polar code, the irregular kernel polar code can select the connection method according to the information bit length K to improve the reliability of K information bits, thereby achieving better coding error correction performance. However, existing irregular kernel polar codes do not consider the decoding capabilities and requirements of different user equipment, making the construction of the irregular kernel polar code inflexible, which also affects decoding performance. In this application, the size of the matrix can refer to the dimension of the matrix, that is, the number of rows and columns of the matrix.
[0135] In view of this, this application provides a communication method to increase the flexibility of polarization kernel selection (which can be understood as selecting the matrix corresponding to the polarization kernel) (for example, for polarization kernel operations in encoding and decoding scenarios, determining whether to use a regular polarization kernel or a non-regular polarization kernel according to actual needs), which helps to ensure decoding performance.
[0136] The specific implementation of the communication method in the embodiments of this application will be described in detail below with reference to the accompanying drawings. It is understood that this application uses a first device and a second device as examples of the execution subjects in the interactive illustration, but this application does not limit the execution subjects in the interactive illustration. For example, the method executed by the first device in this application can also be executed by a module applied to the first device (e.g., a communication module, a circuit or chip responsible for communication functions (such as a modem chip, or a SoC chip or SIP chip containing a modem core), a chip system, or a processor, etc.), or by a logic node, logic module, or software capable of implementing all or part of the functions of the first device, or it can be implemented through a combination of hardware and software. Similarly, the method executed by the second device in this application can also be executed by a module applied to the second device (e.g., a communication module, a circuit or chip responsible for communication functions (such as a modem chip, or a SoC chip or SIP chip containing a modem core), a chip system, or a processor, etc.), or by a logic node, logic module, or software capable of implementing all or part of the functions of the second device, or it can be implemented through a combination of hardware and software. For example, the first device can be... Figure 1 The network device shown (e.g., network device 110a), the second device can be... Figure 1 The terminal device shown (e.g., terminal device 120a).
[0137] Figure 4 This illustration shows a flowchart of a communication method provided in an embodiment of this application. The method is applicable to... Figure 1 The communication system architecture shown. For example... Figure 4 As shown, the method includes:
[0138] S401: The first device acquires the first information.
[0139] The first piece of information can be used to describe the requirements of the encoding and decoding scenario. For example, these requirements may include, but are not limited to, requirements for parameters such as code length, code rate, decoding error rate, latency, throughput, number of code blocks, spectral efficiency, operating frequency band, number of multiple-input multiple-output streams, coding / modulation scheme level, or modulation order. Different encoding and decoding scenarios have different requirements for these parameters, resulting in different matrices used for encoding.
[0140] It can be understood that the first information may include one or more of the following: code rate, p first parameters, and q second parameters. Here, p is an integer greater than or equal to 1, and q is an integer greater than or equal to 1. For example, the p first parameters may include at least one of the following: code length, decoding error rate, or latency. The q second parameters may include at least one of the following: throughput, number of code blocks, spectral efficiency, operating frequency band, number of multiple-input multiple-output streams, coding / modulation scheme level, or modulation order.
[0141] In one possible implementation, the first device can determine, based on the first information, which form of matrix (such as the first matrix or the second matrix) is used for the matrix corresponding to the polarization kernel (or foreign code) during the polarization kernel operation.
[0142] S402: The first device sends second information to the second device. Accordingly, the second device receives the second information from the first device.
[0143] For example, the second information may include the first instruction information.
[0144] In some embodiments, the first indication information can be used to indicate a first matrix. This can be understood as the first indication information indicating that the matrix corresponding to the polarization kernel is the first matrix, or that the first indication information indicates that the polarization kernel uses the first matrix during operation, or that the first indication information indicates that the matrix used in the polarization kernel operation is the first matrix, or that the first indication information indicates that the outer code of the polarization code uses the first matrix during polarization operation. In other embodiments, the first indication information can be used to indicate a second matrix. This can be understood as the first indication information indicating that the matrix corresponding to the polarization kernel is the second matrix, or that the first indication information indicates that the polarization kernel uses the second matrix during operation, or that the first indication information indicates that the outer code of the polarization code uses the second matrix during polarization operation.
[0145] Either the first matrix or the second matrix can be used for polar coding of the information bit sequence. The row weight of each row in the first matrix is a power of 2. The row weight of at least one row in the second matrix is not a power of 2.
[0146] Optionally, in this application, the first matrix can be described as "a regular matrix or a regular polarization kernel or an Arikan matrix or an Arikan polarization kernel or the matrix corresponding to an Arikan polarization kernel". The second matrix can be described as "a non-regular matrix or a non-regular polarization kernel or the matrix corresponding to a non-regular polarization kernel".
[0147] For example, the second piece of information could be downlink control information (DCI).
[0148] Optionally, when the second information is a DCI, the first indication information can be a newly added field in the DCI, such as field 1. For example, field 1 can be an irregular kernel indicator. Field 1 occupies 1 bit, and the first indication information can also be called 1-bit indication information. For example, field 1 can be used to indicate that the polar code's outer code uses an Arikan polar code during polarization operations, or field 1 can be used to indicate that the polar code's outer code uses an irregular polar code during polarization operations. See Table 1 for details. It is understood that Table 1 is merely a simple example for illustrating the technical solutions in the embodiments of this application and does not constitute a limitation on the technical solutions in the embodiments of this application.
[0149] Table 1
[0150]
[0151] In the embodiments of this application, the first indication information is related to the first information. For example, the first indication information being related to the first information may mean that the first indication information is determined based on the first information, or it may mean that the first indication information and the first information have a corresponding relationship. It can be understood that the first device can flexibly select the matching polar code construction method (such as whether the outer code of the polar code uses the first matrix or the second matrix during polarization operation) according to different encoding and decoding scenario requirements. This can increase the flexibility of non-regular kernel polar codes (such as increasing the flexibility of whether to use a regular polar kernel or a non-regular polar kernel in polar kernel operation, increasing the flexibility of selecting the length of the non-regular polar kernel (or the outer code length), increasing the flexibility of selecting the rate matching mode, etc.), and can balance decoding performance and complexity, which helps to ensure decoding performance and reduce resource waste.
[0152] The following describes several possible implementation methods related to the first instruction information and the first information.
[0153] Method a1: If the first information includes p first parameters, and at least one of the p first parameters has a value less than or equal to a first threshold, then the first indication information is used to indicate the first matrix. If the values of the p first parameters are greater than the first threshold, then the first indication information is used to indicate the second matrix.
[0154] For example, taking p as 1, where p first parameters include the code length. If the code length (or its value) is less than or equal to a first threshold, the first indication information is used to indicate the first matrix. If the code length value is greater than the first threshold, the first indication information is used to indicate the second matrix. It can be understood that the first threshold here can refer to the first threshold corresponding to the code length, that is, setting a corresponding first threshold for the code length.
[0155] For example, taking a code length corresponding to a first threshold of 128 as an example. If the code length value is less than or equal to 128, the first indication information indicates the first matrix. If the code length value is greater than 128, the first indication information is used to indicate the second matrix.
[0156] For example, consider a case where p is 2, and p first parameters include code length and decoding error rate. If the value of one or more parameters, such as code length and decoding error rate, is less than or equal to the corresponding first threshold, then the first indication information is used to indicate the first matrix. If the values of both code length and decoding error rate are greater than the corresponding first threshold, then the first indication information is used to indicate the second matrix.
[0157] For example, taking a first threshold of 128 corresponding to the code length and r1 corresponding to the decoding error rate as an example. If the value of the code length is less than or equal to 128 and / or the value of the decoding error rate is less than or equal to r1, then the first indication information indicates the first matrix. If the value of the code length is greater than 128 and the value of the decoding error rate is greater than r1, then the first indication information is used to indicate the second matrix.
[0158] The following examples illustrate how, when the values of the p first parameters are greater than the first threshold, the first indication information is used to indicate the relevant implementation of the second matrix.
[0159] Example b1: If the values of p first parameters are greater than a first threshold, and if at least one of the p first parameters has a value greater than the first threshold and less than a second threshold, then the second matrix indicated by the first indication information belongs to the first matrix set. Alternatively, the first indication information indicates a second matrix of a first size (or a first length), which is contained in the first matrix set.
[0160] In one possible implementation, continuing with p = 1, p first parameters including the code length are used as an example. If the code length value is greater than a first threshold and less than a second threshold, then the first indication information indicates a second matrix of a first length, which is contained in the set of matrices within the first length range.
[0161] For example, let's take a code length with a first threshold of 128, a second threshold of 1024, and a first length range of [4, 8]. If the code length is greater than 128 and less than 1024, then the first indication information indicates a matrix whose length falls within the first length range [4, 8] as the second matrix.
[0162] Example b2: If the values of p first parameters are greater than a first threshold, and if the values of p first parameters are greater than or equal to a second threshold and less than a third threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. Alternatively, the first indication information indicates a second matrix of a second size (or a second length), which is contained in the second matrix set. Wherein, the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0163] In one possible implementation, continuing with p = 1, p first parameters including the code length are used as an example. If the value of the code length is greater than or equal to the second threshold and less than the third threshold, then the first indication information indicates a second matrix of a second length, which is contained in the set of matrices within the second length range.
[0164] For example, let's take a code length with a second threshold of 1024, a code length with a third threshold of 4096, and a second length range of [8, 16]. If the code length is greater than or equal to 1024 and less than 4096, then the first indication information indicates a matrix whose length belongs to the second length range [8, 16] as the second matrix.
[0165] Example b3: If the values of p first parameters are greater than a first threshold, and if the values of p first parameters are greater than or equal to a third threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Alternatively, the first indication information indicates a second matrix of a third size (or a third length), which is contained in the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set.
[0166] In one possible implementation, continuing with p=1, p first parameters including the code length are used as an example. If the code length value is greater than or equal to the third threshold, the first indication information indicates a second matrix of a third length, which is contained in the set of matrices within the third length range.
[0167] For example, let's take a code length with a third threshold of 4096 and a third length range of [16, 32]. If the code length is greater than or equal to 4096, then the first indication information indicates a matrix whose length belongs to the third length range [16, 32] as the second matrix.
[0168] It should be understood that the above content is only an example of several ways to implement the first indication information indicating the second matrix of different sizes. Of course, there are other implementation methods (for example, when the values of p first parameters are greater than or equal to the third threshold and less than a certain threshold (such as the threshold v1 that is larger than the third threshold), the second matrix indicated by the first indication information belongs to the third matrix set; when the values of p first parameters are greater than or equal to the threshold v1, the second matrix indicated by the first indication information belongs to the sixth matrix set, where the size of any matrix included in the sixth matrix set is greater than or equal to the size of any matrix included in the third matrix set), which will not be listed here.
[0169] Method a2: If the first information includes q second parameters, and at least one of the q second parameters has a value greater than or equal to a fourth threshold, then the first indication information is used to indicate the first matrix. If the values of the q second parameters are less than the fourth threshold, then the first indication information is used to indicate the second matrix.
[0170] For example, taking q as 1, where q are the second parameters including throughput. If the throughput (or its value) is greater than or equal to the fourth threshold, the first indication information is used to indicate the first matrix. If the throughput value is less than the fourth threshold, the first indication information is used to indicate the second matrix. It can be understood that the fourth threshold here can refer to the fourth threshold corresponding to the throughput, that is, setting the corresponding fourth threshold for the throughput.
[0171] For example, let's take w1 as the fourth threshold corresponding to throughput. If the throughput value is greater than or equal to w1, the first indication information indicates the first matrix. If the throughput value is less than w1, the first indication information indicates the second matrix.
[0172] For example, consider a case where q is 2, and the q second parameters include throughput and the number of code blocks. If the value of one or more parameters, such as throughput and the number of code blocks, is greater than or equal to the corresponding fourth threshold, then the first indication information is used to indicate the first matrix. If the values of both throughput and the number of code blocks are less than the corresponding fourth threshold, then the first indication information is used to indicate the second matrix.
[0173] For example, let's take a fourth threshold corresponding to throughput as w1 and a fourth threshold corresponding to the number of code blocks as s1. If the value of throughput is greater than or equal to w1 and / or the value of the number of code blocks is greater than or equal to s1, then the first indication information indicates the first matrix. If the value of throughput is less than w1 and the value of the number of code blocks is less than s1, then the first indication information indicates the second matrix.
[0174] The following examples illustrate how, when the values of the q second parameters are less than the fourth threshold, the first indication information is used to indicate the relevant implementation of the second matrix.
[0175] Example c1: If the values of q second parameters are less than the fourth threshold, and if at least one of the q second parameters has a value less than the fourth threshold and greater than the fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set. Alternatively, the first indication information indicates a second matrix of a fourth size (or a fourth length), which is contained in the first matrix set.
[0176] In one possible implementation, continuing with the example of q = 1 and q second parameters including throughput, if the throughput value is less than a fourth threshold and greater than a fifth threshold, then the first indication information is used to indicate a second matrix of a fourth size, which is contained within a set of matrices of a first size range (or a first length range).
[0177] For example, let's take the fourth threshold corresponding to throughput as w1, the fifth threshold corresponding to throughput as w2, and the first length range as [4,8]. If the throughput value is less than w1 and greater than w2, then the first indication information indicates a matrix whose length belongs to the first length range [4,8] as the second matrix.
[0178] Example c2: If the values of q second parameters are less than the fourth threshold, and if the values of q second parameters are less than or equal to the fifth threshold and greater than the sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. Alternatively, the first indication information indicates a second matrix of a fifth size (or a fifth length), which is contained in the second matrix set. Wherein, the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
[0179] In one possible implementation, continuing with q=1, and q second parameters including throughput as an example, if the throughput value is less than or equal to the fifth threshold and greater than the sixth threshold, then the first indication information is used to indicate a second matrix of a fifth size, which is contained in a set of matrices within a second size range (or a second length range).
[0180] For example, let's take the fifth threshold corresponding to throughput as w2, the sixth threshold corresponding to throughput as w3, and the second length range as [8, 16]. If the throughput value is less than or equal to w2 and greater than w3, then the first indication information indicates a matrix whose length belongs to the second length range [8, 16] as the second matrix.
[0181] Example c3: If the values of q second parameters are less than the fourth threshold, and if the values of q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Alternatively, the first indication information indicates a second matrix of a sixth size (or sixth length), which is contained in the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set.
[0182] In one possible implementation, continuing with the example of q = 1 and q second parameters including throughput, if the value of throughput is less than or equal to a sixth threshold, then the first indication information is used to indicate a second matrix of a sixth size, which is contained within a set of matrices of a third size range (or a third length range).
[0183] For example, let's take the sixth threshold corresponding to throughput as w3, and the second length range as [16, 32]. If the throughput value is less than or equal to w3, then the first indication information indicates a matrix whose length belongs to the third length range [16, 32] as the second matrix.
[0184] Method a3: When the first information includes p first parameters and q second parameters, if at least one of the p first parameters has a value less than a first threshold, and / or at least one of the q second parameters has a value greater than or equal to a fourth threshold, then the first indication information is used to indicate the first matrix. If the values of the p first parameters are greater than the first threshold, and the values of the q second parameters are less than the fourth threshold, then the first indication information is used to indicate the second matrix.
[0185] In one possible implementation, taking p = 1, q = 1, p first parameters including code length, and q second parameters including throughput as an example: If the value of code length is less than or equal to a first threshold, and / or the value of throughput is greater than or equal to a fourth threshold, then the first indication information is used to indicate the first matrix. If the value of code length is greater than the first threshold and the value of throughput is less than the fourth threshold, then the first indication information is used to indicate the second matrix.
[0186] For example, let's take a first threshold of 128 corresponding to the code length and a fourth threshold of w1 corresponding to the throughput. If the code length is less than or equal to 128, and / or the throughput is greater than or equal to w1, then the first indication information indicates the first matrix. If the code length is greater than 128, and the throughput is less than w1, then the first indication information indicates the second matrix.
[0187] The following examples illustrate how, when the values of p first parameters are greater than the first threshold and the values of q second parameters are less than the fourth threshold, the first indication information is used to indicate the relevant implementation of the second matrix.
[0188] Example d1: Given that p first parameters have values greater than a first threshold and q second parameters have values less than a fourth threshold, if at least one of the p first parameters has a value greater than the first threshold and less than the second threshold, and / or at least one of the q second parameters has a value less than the fourth threshold and greater than the fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set. Alternatively, the first indication information indicates a second matrix of a seventh size (or a seventh length), which is contained in the first matrix set.
[0189] In one possible implementation, continuing with the example of p = 1, q = 1, p first parameters including code length, and q second parameters including throughput, if the code length value is greater than a first threshold and less than a second threshold, and / or the throughput value is less than a fourth threshold and greater than a fifth threshold, then the first indication information is used to indicate a second matrix of a seventh length, which is contained within the set of matrices of the first length range.
[0190] For example, let's take a code length with a first threshold of 128, a second threshold of 1024, a fourth threshold of w1, a fifth threshold of w2, and a first length range of [4,8]. If the code length is greater than 128 and less than 1024, and / or the throughput is less than w1 and greater than w2, then the first indication information indicates a matrix whose length falls within the first length range [4,8] as the second matrix.
[0191] Example d2: If the values of p first parameters are greater than a first threshold and the values of q second parameters are less than a fourth threshold, and if the values of p first parameters are greater than or equal to a second threshold and less than a third threshold, and / or the values of q second parameters are less than or equal to a fifth threshold and greater than a sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. Alternatively, the first indication information indicates a second matrix of an eighth size (or an eighth length), which is contained in the second matrix set.
[0192] In one possible implementation, continuing with the example of p = 1, q = 1, p first parameters including code length, and q second parameters including throughput, if the code length value is greater than or equal to the second threshold and less than the third threshold, and the throughput value is less than or equal to the fifth threshold and greater than the sixth threshold, then the first indication information is used to indicate a second matrix of an eighth length, which is contained in the set of matrices within the second length range.
[0193] For example, let's take a second threshold of 1024 for the code length, a third threshold of 4096 for the code length, a fifth threshold of w2 for the throughput, a sixth threshold of w3 for the throughput, and a second length range of [8, 16]. If the code length is greater than or equal to 1024 and less than 4096, and / or the throughput is less than or equal to w2 and greater than w3, then the first indication information indicates a matrix whose length falls within the second length range [8, 16] as the second matrix.
[0194] Example d3: If the values of p first parameters are greater than the first threshold and the values of q second parameters are less than the fourth threshold, and if the values of p first parameters are greater than or equal to the third threshold and the values of q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Alternatively, the first indication information indicates a second matrix of a ninth size (or a ninth length), which is contained in the first matrix set.
[0195] In one possible implementation, continuing with the example of p = 1, q = 1, p first parameters including code length, and q second parameters including throughput, if the code length value is greater than or equal to the third threshold, and the throughput value is less than or equal to the sixth threshold, then the first indication information is used to indicate a second matrix of a ninth length, which is contained in the matrix set within the third length range.
[0196] For example, let's take a code length corresponding to a third threshold of 4096, a throughput corresponding to a sixth threshold of w3, and a third length range of [16, 32]. If the code length is greater than or equal to 4096 and the throughput is less than or equal to w3, then the first indication information indicates a matrix whose length belongs to the second length range [16, 32] as the second matrix.
[0197] Method a4: If the first information includes the bit rate, and the bit rate is less than the seventh threshold or greater than the eighth threshold, then the first indication information is used to indicate the first matrix. If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, then the first indication information is used to indicate the second matrix.
[0198] For example, taking a seventh threshold of 1 / 8 and an eighth threshold of 7 / 8 as an example. If the bitrate is less than 1 / 8 or greater than 7 / 8, the first indication information indicates the first matrix. If the bitrate is greater than or equal to 1 / 8 and less than or equal to 7 / 8, the first indication information indicates the second matrix.
[0199] Further, if the bitrate is greater than or equal to the seventh threshold and less than or equal to the ninth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set. Alternatively, the first indication information indicates a second matrix of a first size, which is contained in the first matrix set. If the bitrate is greater than the ninth threshold and less than or equal to the eighth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. Alternatively, the first indication information indicates a second matrix of a second size, which is contained in the second matrix set. Wherein, the ninth threshold is less than the eighth threshold.
[0200] Optionally, if the first information includes the bitrate, the first information also includes p first parameters. If the bitrate is less than a seventh threshold or greater than an eighth threshold, the first indication information indicates a first matrix. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are less than or equal to the first threshold, the second matrix indicated by the first indication information belongs to the first matrix set. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are greater than the first threshold and less than the second threshold, the second matrix indicated by the first indication information belongs to the second matrix set. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are greater than the second threshold, the second matrix indicated by the first indication information belongs to the third matrix set.
[0201] For example, let p be 1, and p be the first parameters, including code length, a first threshold of 128 corresponding to the code length, a second threshold of 1024 corresponding to the code length, a seventh threshold of 1 / 8, an eighth threshold of 7 / 8, a first matrix set with a length range of [4, 8], a second matrix set with a length range of [8, 16], and a third matrix set with a length range of [16, 32]. If the code rate is less than 1 / 8 or greater than 7 / 8, the first indication information indicates the first matrix. If the code rate is greater than or equal to 1 / 8 and less than or equal to 7 / 8, and the code length is less than or equal to 128, the first indication information indicates a matrix within the matrix set with a length range of [4, 8] as the second matrix. If the code rate is greater than or equal to 1 / 8 and less than or equal to 7 / 8, and the code length is greater than 128 and less than 1024, the first indication information indicates a matrix within the matrix set with a length range of [8, 16] as the second matrix. If the code rate is greater than or equal to 1 / 8 and less than or equal to 7 / 8, and the code length is greater than 1024, then the first indication information indicates a matrix within the set of matrices with a length range of [16, 32] as the second matrix.
[0202] Optionally, if the first information includes the bitrate, the first information also includes q second parameters. If the bitrate is less than a seventh threshold or greater than an eighth threshold, the first indication information indicates a first matrix. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the q second parameters are greater than or equal to a fourth threshold, the second matrix indicated by the first indication information belongs to the first matrix set. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the q second parameters are less than the fourth threshold and greater than the fifth threshold, the second matrix indicated by the first indication information belongs to the second matrix set. If the bitrate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the q second parameters are less than or equal to the fifth threshold, the second matrix indicated by the first indication information belongs to the third matrix set.
[0203] In one possible implementation, the second information may further include second indication information. This second indication information is used to indicate the rate matching mode (or rate matching type) of the sub-block interleaving, or it is used to indicate a rate matching mode with bit reversal shortening.
[0204] It is understandable that the rate matching mode of sub-block interleaving is the rate matching scheme used by polar codes in the existing 5G standard. For details, please refer to 38.822 5.4.1 rate matching for polar code. The rate matching mode of bit reversal shortening is a shortening mode defined by simple rules. For details, please refer to the relevant introduction of bit reversal shortening in the existing technology, which will not be repeated here.
[0205] Optionally, when the second information is DCI, the second indication information can be a newly added field in the DCI, such as field 2. For example, field 2 can be a rate matching type indicator. Field 2 occupies 1 bit, and the second indication information can also be called 1-bit indication information. For example, field 2 can be used to indicate that the rate matching mode used is sub-block interleaving, or field 2 can be used to indicate that the rate matching mode used is bit-reversal shortening, as detailed in Table 2. It is understood that Table 2 is merely a simple example for illustrating the technical solutions in the embodiments of this application and does not constitute a limitation on the technical solutions in the embodiments of this application.
[0206] Table 2
[0207]
[0208] The following examples illustrate the indication scenarios of the second instruction information.
[0209] Example e1: If the first information includes p first parameters, and at least one of the p first parameters has a value less than a second threshold, then the second indication information indicates a rate matching mode for sub-block interleaving. If the values of the p first parameters are greater than or equal to the second threshold, then the second indication information indicates a rate matching mode for bit reversal shortening.
[0210] For example, taking p as 1, where p first parameters include the code length. If the code length value is less than the second threshold (e.g., 1024), the second indication information indicates the rate matching mode of sub-block interleaving. If the code length value is greater than or equal to the second threshold, the second indication information indicates the rate matching mode of bit reversal.
[0211] For example, consider a case where p is 2, and p first parameters include code length and decoding error rate. If the code length is less than the corresponding second threshold (e.g., 1024) and / or the decoding error rate is less than the corresponding second threshold (e.g., r2), then the second indication information indicates a rate-matching mode for sub-block interleaving. If the code length is greater than or equal to the corresponding second threshold (e.g., 1024) and the decoding error rate is greater than or equal to the corresponding second threshold (e.g., r2), then the second indication information indicates a rate-matching mode with bit reversal shortening.
[0212] Example e2: If the first information includes q second parameters, and at least one of the q second parameters has a value greater than the fifth threshold, then the second indication information indicates the rate matching mode of sub-block interleaving. If the values of the q second parameters are less than or equal to the fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0213] For example, taking q as 1, where q are the second parameters including throughput. If the throughput value is greater than the corresponding fifth threshold (e.g., w2), the second indication information indicates the rate matching mode for sub-block interleaving. If the throughput value is less than or equal to the corresponding fifth threshold, the second indication information indicates the rate matching mode for bit reversal shortening.
[0214] For example, consider a case where q is 2, and q second parameters include throughput and the number of code blocks. If the throughput value is greater than the corresponding fifth threshold (e.g., w2) and / or the number of code blocks is greater than the corresponding fifth threshold (e.g., s2), then the second indication information indicates a rate matching mode for sub-block interleaving. If the throughput value is less than or equal to the corresponding fifth threshold and the number of code blocks is less than or equal to the corresponding fifth threshold, then the second indication information indicates a rate matching mode for bit reversal and shortening.
[0215] Example e3: When the first information includes p first parameters and q second parameters, if at least one of the p first parameters has a value less than a second threshold, and / or at least one of the q second parameters has a value greater than a fifth threshold, then the second indication information is used to indicate the rate matching mode of sub-block interleaving. If the values of the p first parameters are greater than or equal to the second threshold, and the values of the q second parameters are less than or equal to the fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0216] For example, assuming p = 1, q = 1, p first parameters including code length, and q second parameters including throughput. If the code length value is less than the second threshold (e.g., 1024), and / or the throughput value is greater than the corresponding fifth threshold (e.g., w2), then the second indication information indicates the rate matching mode of sub-block interleaving. If the code length value is greater than or equal to the corresponding second threshold, and the throughput value is less than or equal to the corresponding fifth threshold, then the second indication information indicates the rate matching mode of bit reversal shortening.
[0217] Example e4: If the first information includes the code rate, and the code rate is less than the seventh threshold or greater than the eighth threshold, then the second indication information is used to indicate the rate matching mode of subblock interleaving. If the code rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0218] Optionally, in example e4, if the first information also includes p first parameters, then when the code rate is less than the seventh threshold or greater than the eighth threshold, the relationship between the p first parameters and the second threshold can be disregarded, and the second indication information is used to indicate the rate matching mode of sub-block interleaving. When the code rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, if the values of the p first parameters are less than the corresponding second threshold, the second indication information is used to indicate the rate matching mode of sub-block interleaving. If the values of the p first parameters are greater than or equal to the corresponding second threshold, the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0219] Optionally, in example e4, if the first information also includes q second parameters, then when the code rate is less than the seventh threshold or greater than the eighth threshold, the relationship between the q second parameters and the fifth threshold can be disregarded, and the second indication information is used to indicate the rate matching mode of sub-block interleaving. When the code rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, if the values of the q second parameters are greater than the corresponding fifth threshold, then the second indication information is used to indicate the rate matching mode of sub-block interleaving. If the values of the q second parameters are less than or equal to the corresponding fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
[0220] In one possible implementation, where the first indication information indicates the second matrix, the second information may further include third indication information. The third indication information is used to indicate the size (or length) of the second matrix.
[0221] Optionally, when the second information is DCI, the third indication information can be a newly added field in DCI, such as field 3. For example, field 3 can be irregular kernel length assignment.
[0222] In one example, the length of the second matrix (which can be understood as the length of the non-regular polarization kernel or the length of the non-regular polarization kernel as an outer code) is 8 or 16. Field 3 occupies 1 bit, and the third indication information can also be called 1-bit indication information. For example, field 3 can be used to indicate that the length of the non-regular polarization kernel is 8, or field 3 can be used to indicate that the length of the non-regular polarization kernel is 16, as detailed in Table 3. It is understood that Table 3 is merely a simple example, used to illustrate the technical solutions in the embodiments of this application, and does not constitute a limitation on the technical solutions in the embodiments of this application.
[0223] Table 3
[0224]
[0225]
[0226] In another example, consider a second matrix with lengths of 8, 16, 32, and 64 (which can be understood as the length of the non-regular polarization kernel or the length of the non-regular polarization kernel as an outer code). Field 3 occupies 2 bits, and the third indication information can also be called 2-bit indication information. For example, field 3 can be used to indicate a non-regular polarization kernel length of 8, 16, 32, or 64. See Table 4 for details. It is understood that Table 4 is merely a simple example for illustrating the technical solutions in this application and does not constitute a limitation on the technical solutions in this application.
[0227] Table 4
[0228]
[0229] As can be seen from S401 to S402 above, the first device can more accurately determine the corresponding matrix for encoding (or for polarization kernel operations during encoding) according to the requirements of the current encoding and decoding scenario. This increases the flexibility of polarization kernel selection (which can be understood as selecting the matrix corresponding to the polarization kernel), and allows for a balance between decoding performance and complexity, helping to ensure decoding performance and reduce resource waste. It can be understood that this matrix can also be used for polarization kernel operations during the decoding process. Furthermore, by carrying the first indication information in the second information, the receiving device (such as the second device) can promptly know which matrix (such as the first matrix or the second matrix) the first device uses as the matrix corresponding to the polarization kernel during polarization kernel operations, further facilitating the receiving device to accurately perform decoding operations based on this matrix.
[0230] Figure 5 This is a flowchart illustrating another communication method provided in an embodiment of this application. This method is applicable to... Figure 1 The communication system architecture shown. For example... Figure 5 As shown, the method includes:
[0231] S501: The second device acquires third information.
[0232] The third piece of information is used to characterize the second device.
[0233] For example, third information may include third parameters. These third parameters may include, but are not limited to: device type, decoding mode, device capabilities, power consumption mode, decoding complexity, receiver complexity, receiving mode, or power mode.
[0234] In one possible implementation, the second device can, based on third information, determine which form of matrix (e.g., the first matrix or the second matrix) the first device wants the polarization kernel (or foreign code) to be used in the polarization kernel operation. This allows the first device to use the corresponding polarization kernel matrix in a timely and effective manner based on the second device's expectations or requirements during the polarization kernel operation.
[0235] S502: The second device sends a fourth message to the first device. Accordingly, the first device receives the fourth message from the second device.
[0236] For example, the fourth information may include a fourth instruction.
[0237] In some embodiments, the fourth indication information can be used to indicate a first matrix. This can be understood as the fourth indication information indicating that the matrix corresponding to the polarization kernel is the first matrix, or that the fourth indication information indicates that the polarization kernel uses the first matrix during operation, or that the fourth indication information indicates that the matrix used in the polarization kernel operation is the first matrix, or that the fourth indication information indicates that the outer code of the polarization code uses the first matrix during polarization operation. In other embodiments, the fourth indication information can be used to indicate a second matrix. This can be understood as the fourth indication information indicating that the matrix corresponding to the polarization kernel is the second matrix, or that the fourth indication information indicates that the polarization kernel uses the second matrix during operation, or that the fourth indication information indicates that the outer code of the polarization code uses the second matrix during polarization operation.
[0238] The first or second matrix can be used by the first device to perform polar coding on the information bit sequence, or by the second device to decode the sequence to be decoded. The sequence to be decoded is obtained based on the information bit sequence. The row weight of each row in the first matrix is a power of 2. The row weight of at least one row in the second matrix is not a power of 2.
[0239] For example, the fourth information could be uplink control information (UCI) or user equipment capability information (UE) messages.
[0240] Optionally, when the fourth information is user equipment capability information, the fourth indication information can be a newly added field in the user equipment capability information, such as field 4. For example, field 4 can be UE-defined-IrregularKernel. For instance, field 4 can be used to indicate that the polar code's outer code uses an Arikan polar kernel during polarization operations, or field 4 can be used to indicate that the polar code's outer code uses a non-regular polar kernel during polarization operations.
[0241] In this embodiment, the fourth indication information is related to the third information. For example, the relationship between the fourth indication information and the third information may mean that the fourth indication information is determined based on the third information, or it may mean that there is a correspondence between the fourth indication information and the third information. It can be understood that the second device can flexibly select a matching polar code construction method based on the attribute information of the second device (such as one or more third parameters used to characterize the second device). This allows the first device to encode according to the expectations or needs of the second device, increases the flexibility of non-regular kernel polar codes, and balances decoding performance and complexity, helping to ensure decoding performance and reduce resource waste.
[0242] The following section describes the specific implementation of the fourth instruction information in relation to the third information.
[0243] If the third information includes a third parameter, and the third parameter is included in the first parameter set, then the fourth indication information is used to indicate the first matrix. If the third parameter is included in the second parameter set, then the fourth indication information is used to indicate the second matrix. The decoding error rate requirement corresponding to the first parameter set is lower than the decoding error rate requirement corresponding to the second parameter set, and the decoding complexity requirement corresponding to the first parameter set is higher than the decoding complexity requirement corresponding to the second parameter set.
[0244] For example, taking the third parameter as the device type. If the device type of the second device is included in (or belongs to) the first parameter set (which can be understood as the first device type set), then the fourth indication information is used to indicate the first matrix. If the device type of the second device is included in the second parameter set (which can be understood as the second device type set), then the fourth indication information is used to indicate the second matrix.
[0245] For example, taking the second device as the UE, the third parameter as the device type, the first parameter set including personal terminals and home terminals, and the second parameter set including office terminals and industrial terminals as an example. If the UE's device type is a personal terminal (such as a smartphone, tablet, etc.), then the UE's device type is included in the first parameter set, and the fourth indication information indicates the first matrix. If the UE's device type is a wireless terminal in industrial control, then the UE's device type is included in the second parameter set, and the fourth indication information indicates the second matrix.
[0246] For example, taking the second device as the UE, the third parameter as the power consumption mode, the first parameter set including power saving mode and sleep mode, and the second parameter set including continuous operation mode, intermittent operation mode, medium performance mode, and high performance mode. If the UE's power consumption mode is power saving mode (e.g., the user requests the UE to be in power saving mode), then the UE's power consumption mode is included in the first parameter set, and the fourth indication information indicates the first matrix. If the UE's power consumption mode is continuous operation mode (e.g., the user requests the UE to be in continuous operation), then the UE's power consumption mode is included in the second parameter set, and the fourth indication information indicates the second matrix.
[0247] The following examples illustrate how the fourth indication information is used to indicate the relevant implementation of the second matrix when the third parameter is included in the set of second parameters. For instance, the set of second parameters includes a first subset and a second subset. The decoding complexity requirement corresponding to the first subset is higher than that corresponding to the second subset, and the decoding error rate requirement corresponding to the first subset is lower than that corresponding to the second subset.
[0248] Example f1: If the third parameter is contained in the first subset, then the second matrix indicated by the fourth indicator information belongs to the fourth matrix set. Alternatively, the fourth indicator information indicates a second matrix of tenth size (or tenth length), which is contained in the fourth matrix set. It can be understood that the fourth matrix set and the first matrix set can be the same matrix set, partially the same matrix set, or different matrix sets.
[0249] Example f2: If the third parameter is contained in the second subset, then the second matrix indicated by the fourth indicator belongs to the fifth matrix set. Alternatively, the fourth indicator indicates a second matrix of eleventh size (or eleventh length), which is contained in the fifth matrix set. Wherein, the size of any matrix included in the fifth matrix set is greater than or equal to the size of any matrix included in the fourth matrix set. It can be understood that the fifth matrix set and the second matrix set can be the same set of matrices, partially the same set of matrices, or different set of matrices.
[0250] For example, taking the second device as the UE, the third parameter as the device type, the second parameter set including office terminals and industrial terminals, the first subset including office terminals, and the second subset including industrial terminals as an example. If the UE's device type is a desktop computer located in an office, then the UE's device type is included in the first subset. In this way, the fourth indication information can indicate a second matrix of tenth length, which is included in a matrix set of fourth length range (e.g., length range [4,8]). If the UE's device type is a wireless terminal in industrial control, then the UE's device type is included in the second subset. In this way, the fourth indication information can indicate a second matrix of eleventh length, which is included in a matrix set of fifth length range (e.g., length range [8,16]).
[0251] For example, taking the second device as the UE, the third parameter as the power consumption mode, and the second parameter set including continuous operation mode, intermittent operation mode, medium performance mode, and high performance mode, the first subset including intermittent operation mode and medium performance mode, and the second subset including continuous operation mode and high performance mode as an example. If the UE's power consumption mode is intermittent operation mode, then the UE's power consumption mode is included in the first subset, so the fourth indication information can indicate a second matrix of tenth length, which is included in a matrix set of fourth length range (e.g., length range [4,8]). If the UE's power consumption mode is continuous operation mode, then the UE's power consumption mode is included in the second subset, so the fourth indication information can indicate a second matrix of eleventh length, which is included in a matrix set of fifth length range (e.g., length range [8,16]).
[0252] In one possible implementation, the fourth information may further include fifth indication information. The fifth indication information is used to indicate the rate matching mode of sub-block interleaving (which can be understood as the second device wanting the first device to use the rate matching mode of sub-block interleaving), or the fifth indication information is used to indicate the rate matching mode of bit reversal shortening (which can be understood as the second device wanting the first device to use the rate matching mode of bit reversal shortening).
[0253] Optionally, when the fourth information is user equipment capability information, the fifth indication information can be a newly added field in the user equipment capability information, such as field 5. For example, field 5 can be UE-defined-RatematchingType. For instance, the type set corresponding to UE-defined-RatematchingType is {Type1, Type2, ...}. For example, field 5 can indicate that the rate matching type is Type1 (e.g., sub-block interleaving rate matching mode), or field 5 can indicate that the rate matching type is Type2 (e.g., bit reversal shortening rate matching mode).
[0254] The following examples illustrate the indication scenarios of the fifth instruction information.
[0255] Example g1: If the third information includes the third parameter, and the third parameter is contained in the first parameter set or in the first subset of the second parameter set, then the fifth indication information indicates the rate matching mode of the sub-block interleaving.
[0256] Example g2: If the third information includes the third parameter, and the third parameter is included in the second subset of the second parameter set, then the fifth indication information indicates a rate-matching mode with bit reversal shortening.
[0257] For example, continuing with the second device as the UE, the third parameter as the device type, the first parameter set including personal terminals and home terminals, and the second parameter set including office terminals and industrial terminals. If the UE's device type is a personal terminal, then the UE's device type is included in the first parameter set, and the fifth indication information indicates the rate matching mode for sub-block interleaving. Alternatively, if the UE's device type is a desktop computer located in an office, then the UE's device type is included in the first subset, and the fifth indication information also indicates the rate matching mode for sub-block interleaving. If the UE's device type is a wireless terminal in industrial control, then the UE's device type is included in the second subset, and the fifth indication information indicates a rate matching mode with bit reversal shortening.
[0258] In one possible implementation, where the fourth indication information indicates the second matrix, the fourth information may further include a sixth indication information. The sixth indication information is used to indicate the size of the second matrix (which can be understood as the length of the outer code or the length of the non-regular polarization kernel that the second device expects the first device to use during polarization kernel operations).
[0259] Optionally, when the fourth information is user equipment capability information, the fifth indication information can be a newly added field in the user equipment capability information, such as field 6. For example, field 6 could be UE-defined-maxIrregularkernellength. For instance, the length set corresponding to UE-defined-maxirregularkernellength is {8, 16, 32, ...}. For example, field 6 could indicate that the length of the second matrix is a certain length (such as 8 or 16).
[0260] It is understandable that the above user equipment capability information mainly involves three protocols, namely 38.306, 38.331 and 38.822.
[0261] For example, in section 38.306 4.2.7.10 Phy-Parameters, new fields indicating UE decoding capabilities are added, such as UE-defined-irregularkernel, UE-defined-maxirregularkernellength, and UE-defined-ratematchingtype. UE decoding capability can refer to whether a variable external code polar code is used (or whether a specific non-regular polar kernel is used; this can be understood as whether a specific non-regular polar kernel is used during polarization operations for the external code of the polar code), the maximum external code length that the UE can decode if a specific non-regular polar kernel is used, and the rate matching type supported by the UE.
[0262] Specifically, `UE-defined-irregularkernel` indicates whether to use a specific outer code depending on the outer coderate. `UE-defined-maxIrregularkernellength` defines the maximum outer code length of the polar code. `UE-defined-ratematchingtype` defines the rate matching type of the polar code.
[0263] For example, in section 38.331 6.3.3 UE Capability information elements, a new information element (IE) has been added to indicate the UE's decoding capabilities. For details, please refer to Phy-ParametersFRX-Diff below.
[0264]
[0265]
[0266] For example, a non-regular core polar code construction function has been added to the UE features section of 38.822 6.1 Layer-1. In 38.822 6.1.7 NR_UE_pow_sav_enh, components have been added to explain parameters such as limiting the range of the maximum outer code length and rate matching mode in order to support low power decoding. For details, please refer to 5.
[0267] Table 5
[0268]
[0269] As can be seen from S501 to S502 above, the second device determines the corresponding matrix for decoding (or for polarization kernel operations during decoding) based on its attribute information (such as one or more third parameters characterizing the second device). This allows the first device to encode according to the second device's expectations or requirements, increases the flexibility of polarization kernel selection, and balances decoding performance and complexity, helping to ensure decoding performance and reduce resource waste. It can be understood that this matrix is also the matrix the second device wants the first device to use for polarization kernel operations during the encoding process. Furthermore, by carrying fourth indication information in the fourth information, the receiving device (such as the first device) can promptly know which matrix (such as the first matrix or the second matrix) the second device wants the receiving device to use as the matrix corresponding to the polarization kernel during the polarization kernel operation, further facilitating the receiving device to accurately perform encoding operations based on this matrix.
[0270] The above mainly describes the solution provided by the embodiments of this application from the perspective of the interaction between the first device and the second device. It is understood that, in order to achieve the above functions, the first device and the second device may include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed by hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0271] In this application embodiment, the first device and the second device can be divided into functional units according to the above method example. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0272] When using integrated units, Figure 6 This diagram illustrates a possible exemplary block diagram of a communication device involved in an embodiment of this application. This communication device can be used to implement the functions of the first or second device in the above method embodiments, and therefore can also achieve the beneficial effects of the above method embodiments.
[0273] like Figure 6 As shown, the communication device 600 may include a transceiver module 601 (or a communication module, transceiver unit, or communication unit, used for sending and receiving data). The transceiver module 601 supports communication between the communication device 600 and other communication devices. Optionally, Figure 6 The communication device 600 shown may further include one or more of a processing module 602 (or processing unit) and a storage module 603 (or storage unit). For example, the transceiver module 601 may include a sending module and / or a receiving module, respectively used to perform the sending and receiving steps of the first device or the second device in the above method embodiments. The processing module 602 may be used to read instructions and / or data from the storage module to enable the communication device 600 to implement the aforementioned method embodiments. The storage module 603 is used to store the program code and / or data of the communication device 600.
[0274] When the communication device 600 is used to achieve the above Figure 4In the illustrated method embodiment, the first device functions as follows: a transceiver module 601 is used to acquire first information. This first information describes the requirements of the encoding / decoding scenario. The transceiver module 601 is also used to send second information to the second device. This second information includes first indication information. The first indication information is related to the first information. The first indication information is used to indicate a first matrix, or the first indication information is used to indicate a second matrix. The first matrix or the second matrix is used to perform polar coding on the information bit sequence. The row weight of each row of the first matrix is a power of 2, and the row weight of at least one row of the second matrix is not a power of 2. The processing module 602 is used to perform corresponding processing operations, such as calling the transceiver module 601 to execute the above... Figure 4 The sending and receiving actions that the first device needs to perform in the method embodiment shown can also be used to perform encoding operations, etc.
[0275] When the communication device 600 is used to achieve the above Figure 4 In the illustrated method embodiment, the function of the second device is as follows: A transceiver module 601 is used to receive second information from the first device. The second information includes first indication information. The first indication information is related to the first information. The first information describes the requirements of the encoding / decoding scenario. The first indication information is used to indicate a first matrix, or the first indication information is used to indicate a second matrix. The first matrix or the second matrix is used to perform polar coding on the information bit sequence. The row weight of each row of the first matrix is an integer power of 2, and the row weight of at least one row of the second matrix is not an integer power of 2. A processing module 602 is used to perform corresponding processing operations, such as calling the transceiver module 601 to execute the above... Figure 4 The transmitting and receiving actions that the second device needs to perform in the method embodiment shown can also be used to perform decoding operations, etc.
[0276] When the communication device 600 is used to achieve the above Figure 5 In the method embodiment shown, the second device functions as follows: a transceiver module 601 is used to acquire third information, which characterizes the second device. The transceiver module 601 is also used to send fourth information to the first device, which includes fourth indication information. The fourth indication information is related to the third information. The fourth indication information indicates a first matrix, or it indicates a second matrix. The first or second matrix is used to decode a sequence to be decoded, which is obtained based on an information bit sequence. The row weight of each row in the first matrix is a power of 2, and the row weight of at least one row in the second matrix is not a power of 2. The processing module 602 is used to perform corresponding processing operations, such as calling the transceiver module 601 to execute the above... Figure 5 The transmitting and receiving actions that the second device needs to perform in the method embodiment shown can also be used to perform decoding operations, etc.
[0277] When the communication device 600 is used to achieve the above Figure 5 In the method embodiment shown, the first device functions as follows: a transceiver module 601 is used to receive fourth information from the second device. The fourth information includes fourth indication information. The fourth indication information is used to indicate a first matrix, or it is used to indicate a second matrix. The first or second matrix is used to polarize the information bit sequence. The fourth indication information is related to third information, which is used to characterize the second device. The row weight of each row in the first matrix is a power of 2, and the row weight of at least one row in the second matrix is not a power of 2. A processing module 602 is used to perform corresponding processing operations, such as calling the transceiver module 601 to execute the above... Figure 5 The sending and receiving actions that the first device needs to perform in the method embodiment shown can also be used to perform encoding operations, etc.
[0278] For a more detailed description of the processing module 602 and the transceiver module 601, please refer to the above. Figure 4 or Figure 5 The relevant descriptions in the method embodiments shown will not be repeated here.
[0279] It should be understood that the transceiver module 601 in the embodiments of this application can be implemented by a communication interface or communication interface-related circuit components, and the processing module 602 can be implemented by a processor or processor-related circuit components.
[0280] It should be noted that the module division in the embodiments of this application is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, exist as separate physical entities, or have two or more units integrated into one unit. The integrated units described above can be implemented in hardware or as software functional units.
[0281] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, or a server, etc.) or processor to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.
[0282] Based on the same technical concept, embodiments of this application also provide a communication device for implementing the functions of the first or second device described above. For example... Figure 7 As shown, the communication device 700 can be a communication equipment or a component within a communication equipment (e.g., a processor, chip, or chip system). The communication device 700 includes a processor 701 and a communication interface 702. Optionally, the communication device 700 also includes a memory 703. The memory 703 can be independent of the processor 701 or integrated into the processor 701; no specific limitation is made. It is understood that... Figure 7 Only the main components of the communication device 700 are shown. In one possible implementation, the communication device 700 may further include input / output devices (not shown in the figure).
[0283] The processor 701 is used to execute the program code stored in the memory 703, specifically to perform the actions of the processing module 602 described above, which will not be described in detail here. The communication interface 702 is specifically used to perform the actions of the transceiver module 601 described above, which will not be described in detail here.
[0284] Processor 701 can be a central processing unit (CPU) or a digital processing unit, etc. Processor 701 can be used to process communication protocols and communication data, control the entire communication device, execute software programs, and process software program data, such as, but not limited to, baseband-related processing. Communication interface 702 can be used for transmitting and receiving signals, such as, but not limited to, radio frequency (RF) transceiver. The above-mentioned devices can be disposed on separate chips, or at least partially or entirely on the same chip. For example, processor 701 can be further divided into an analog baseband processor and a digital baseband processor. The analog baseband processor can be integrated with the transceiver on the same chip, while the digital baseband processor can be disposed on a separate chip. With the continuous development of integrated circuit technology, more and more devices can be integrated on the same chip. For example, a digital baseband processor can be integrated with multiple application processors (such as, but not limited to, graphics processors, multimedia processors, etc.) on the same chip. Such a chip can be called a system-on-a-chip (SoC). Whether to dispose of individual devices independently on different chips or integrate them on one or more chips often depends on the specific needs of the product design. The embodiments of this application do not limit the specific implementation of the above-mentioned devices.
[0285] The communication interface 702 can be a transceiver, an interface circuit such as a transceiver circuit, or a transceiver chip, etc. Optionally, the communication interface 702 may include a radio frequency (RF) circuit and an antenna. The RF circuit is mainly used for converting baseband signals to RF signals and processing RF signals. The antenna is mainly used for transmitting and receiving RF signals in the form of electromagnetic waves. Optionally, the communication interface 702 can be an input / output interface or a chip pin.
[0286] Input / output devices, such as touchscreens, displays, and keyboards, are primarily used to receive user input data and output data to the user.
[0287] Memory 703 is used to store programs executed by processor 701. Memory 703 can be non-volatile memory, such as a hard disk drive (HDD) or solid-state drive (SSD), or it can be volatile memory, such as cache or random-access memory (RAM). Memory 703 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited to these.
[0288] When the communication device is powered on, the processor 701 can read the software program in the memory 703, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be transmitted wirelessly, the processor 701 performs baseband processing on the data to be transmitted and outputs the baseband signal to the radio frequency (RF) circuit. The RF circuit processes the baseband signal and transmits the RF signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the RF circuit receives the RF signal through the antenna, converts the RF signal into a baseband signal, and outputs the baseband signal to the processor 701. The processor 701 converts the baseband signal into data and processes the data.
[0289] In another implementation, the radio frequency circuitry and antenna can be set up independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuitry and antenna can be arranged remotely, independent of the communication device.
[0290] This application embodiment does not limit the specific connection medium between the communication interface 702, processor 701, and memory 703. This application embodiment... Figure 7 The memory 703, processor 701, and communication interface 702 are connected via a bus 704. Figure 7 The connections between other components are shown in bold lines only and are not intended to be limiting. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, Figure 7 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0291] Optionally, the communication device described above can be a standalone device or part of a larger device. For example, the communication device can be:
[0292] (1) An independent integrated circuit (IC), or chip, or chip system or subsystem;
[0293] (2) A collection of one or more ICs, optionally including a storage component for storing data and instructions;
[0294] (3) Application-specific integrated circuit (ASIC), such as modem;
[0295] (4) Modules that can be embedded in other devices;
[0296] (5) Receivers, smart terminals, wireless devices, handheld devices, mobile units, vehicle-mounted devices, cloud devices, artificial intelligence devices, etc.;
[0297] (6) Others, etc.
[0298] Based on the same concept, this application also provides a communication system, including the first device and the second device involved in the above method embodiments.
[0299] Based on the same concept, this application also provides a computer program product, which includes a computer program or instructions that, when run on a communication device (or computer), cause the communication device (or computer) to perform the methods provided in the above embodiments.
[0300] Based on the same concept, embodiments of this application also provide a computer-readable storage medium storing a computer program or instructions that, when executed by a communication device (or computer), cause the communication device (or computer) to perform the methods provided in the above embodiments.
[0301] The storage medium can be any available medium that a computer can access. For example, but not limited to, a computer-readable medium can include RAM, ROM, electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
[0302] Based on the same concept, embodiments of this application also provide a chip, which may include a processor and a memory (or the chip may be coupled to the memory). The processor executes program instructions in the memory to cause the chip to perform the methods provided in the above embodiments. Here, "coupling" means that two components are directly or indirectly connected to each other, such as coupling can refer to an electrical connection between two components.
[0303] Based on the same concept, embodiments of this application also provide a chip system, which includes a processor for supporting a computer device in implementing the functions involved in the first or second device in the above embodiments. In one possible implementation, the chip system further includes a memory for storing necessary programs and data of the computer device. This chip system may be composed of chips or may include chips and other discrete components.
[0304] In this application embodiment, "multiple" can refer to two or more. Therefore, in this application embodiment, "multiple" can also be understood as "at least two". "At least one" can be understood as one or more, such as one, two, or more. For example, "including at least one" means including one, two, or more. For example, including at least one of A, B, and C, then it could include A, B, C, A and B, A and C, B and C, or A, B, and C. "And / or" describes the association relationship between related objects. Specifically, there can be three relationships. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / ", unless otherwise specified, generally indicates that the preceding and following related objects have an "or" relationship.
[0305] Furthermore, the terms "system" and "network" in the embodiments of this application can be used interchangeably, as can "according to" and "based on". The ordinal numbers such as "first" and "second" mentioned in the embodiments of this application are generally used to distinguish different objects and are not used to limit the order, sequence, priority, or importance of multiple objects. For example, the first device and the second device in the embodiments of this application are used to distinguish two communication devices, but do not limit the priority or importance of these two communication devices.
[0306] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0307] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0308] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0309] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
Claims
1. A communication method, characterized in that, The method, which applies to a first device or a chip in the first device, includes: Obtain first information, which describes the requirements of the compilation and decoding scenario; Send second information to a second device. The second information includes first indication information. The first indication information is used to indicate a first matrix, or the first indication information is used to indicate a second matrix. The first matrix or the second matrix is used to polarize the information bit sequence. The first indication information is related to the first information. The row weight of each row of the first matrix is an integer power of 2. The row weight of at least one row of the second matrix is not an integer power of 2.
2. A communication method, characterized in that, The method, which applies to a second device or a chip in the second device, includes: Receive second information from the first device; The second information includes first indication information, which is used to indicate a first matrix or a second matrix. The first matrix or the second matrix is used to decode the sequence to be decoded, which is obtained based on the information bit sequence. The first indication information is related to the first information, which is used to describe the requirements of the encoding and decoding scenario. The row weight of each row of the first matrix is an integer power of 2, and the row weight of at least one row of the second matrix is not an integer power of 2.
3. The method as described in claim 1 or 2, characterized in that, The first information includes p first parameters, where p is an integer greater than or equal to 1; If at least one of the p first parameters has a value less than or equal to a first threshold, then the first indication information is used to indicate the first matrix; or, If the values of the p first parameters are greater than the first threshold, then the first indication information is used to indicate the second matrix.
4. The method as described in claim 3, characterized in that, If the values of the p first parameters are greater than the first threshold, and if at least one of the p first parameters has a value greater than the first threshold and less than the second threshold, then the second matrix indicated by the first indication information belongs to the first matrix set. or, If the values of the p first parameters are greater than the first threshold, and if the values of the p first parameters are greater than or equal to the second threshold and less than the third threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. or, If the values of the p first parameters are greater than the first threshold, and if the values of the p first parameters are greater than or equal to the third threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
5. The method as described in claim 3 or 4, characterized in that, The p first parameters include at least one of the following: code length, decoding error rate, or latency.
6. The method as described in claim 1 or 2, characterized in that, The first information includes q second parameters, where q is an integer greater than or equal to 1; If at least one of the q second parameters has a value greater than or equal to the fourth threshold, then the first indication information is used to indicate the first matrix; or, If the values of the q second parameters are less than the fourth threshold, then the first indication information is used to indicate the second matrix.
7. The method as described in claim 6, characterized in that, If the values of the q second parameters are less than the fourth threshold, and if at least one of the q second parameters has a value less than the fourth threshold and greater than the fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or, If the values of the q second parameters are less than the fourth threshold, and if the values of the q second parameters are less than or equal to the fifth threshold and greater than the sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or, If the values of the q second parameters are less than the fourth threshold, and if the values of the q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
8. The method as described in claim 6 or 7, characterized in that, The q second parameters include at least one of the following: throughput, number of code blocks, spectral efficiency, operating frequency band, number of multiple-input multiple-output streams, coding and modulation scheme level, or modulation order.
9. The method as described in claim 1 or 2, characterized in that, The first information includes p first parameters and q second parameters, where p and q are both integers greater than or equal to 1; If at least one of the p first parameters has a value less than or equal to a first threshold, and at least one of the q second parameters has a value greater than or equal to a fourth threshold, then the first indication information is used to indicate the first matrix; or, If the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold, then the first indication information is used to indicate the second matrix.
10. The method as described in claim 9, characterized in that, If, when the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold, at least one of the p first parameters has a value greater than the first threshold and less than the second threshold, and / or at least one of the q second parameters has a value less than the fourth threshold and greater than the fifth threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or, If the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold, and if the values of the p first parameters are greater than or equal to the second threshold and less than the third threshold, and / or the values of the q second parameters are less than or equal to the fifth threshold and greater than the sixth threshold, then the second matrix indicated by the first indication information belongs to the second matrix set; or, If the values of the p first parameters are greater than the first threshold and the values of the q second parameters are less than the fourth threshold, and the values of the p first parameters are greater than or equal to the third threshold and the values of the q second parameters are less than or equal to the sixth threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
11. The method as described in claim 1 or 2, characterized in that, The first information includes the bit rate; If the bit rate is less than the seventh threshold or the bit rate is greater than the eighth threshold, then the first indication information is used to indicate the first matrix; or, If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, then the first indication information is used to indicate the second matrix.
12. The method as described in claim 11, characterized in that, The first information also includes p first parameters, where p is an integer greater than or equal to 1; If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are less than or equal to the first threshold, then the second matrix indicated by the first indication information belongs to the first matrix set; or, If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and if the values of the p first parameters are greater than the first threshold and less than the second threshold, then the second matrix indicated by the first indication information belongs to the second matrix set. or, If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are greater than or equal to the second threshold, then the second matrix indicated by the first indication information belongs to the third matrix set. Wherein, the size of any matrix included in the third matrix set is greater than or equal to the size of any matrix included in the second matrix set, and the size of any matrix included in the second matrix set is greater than or equal to the size of any matrix included in the first matrix set.
13. The method as described in claim 1 or 2, characterized in that, The second information also includes second indication information, which is used to indicate the rate matching mode of sub-block interleaving, or the second indication information is used to indicate the rate matching mode of bit reversal shortening.
14. The method as described in claim 13, characterized in that, The first information includes p first parameters, where p is an integer greater than or equal to 1; If at least one of the p first parameters has a value less than the second threshold, then the second indication information is used to indicate the rate matching mode of the sub-block interleaving; or, If the values of the p first parameters are greater than or equal to the second threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
15. The method as described in claim 13, characterized in that, The first information includes q second parameters, where q is an integer greater than or equal to 1; If at least one of the q second parameters has a value greater than the fifth threshold, then the second indication information is used to indicate the rate matching mode of the sub-block interleaving; or, If the values of the q second parameters are less than or equal to the fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
16. The method as described in claim 13, characterized in that, The first information includes p first parameters and q second parameters, where p and q are both integers greater than or equal to 1; If at least one of the p first parameters has a value less than the second threshold, and / or at least one of the q second parameters has a value greater than the fifth threshold, then the second indication information is used to indicate the rate matching mode of the sub-block interleaving; or, If the values of the p first parameters are greater than or equal to the second threshold, and the values of the q second parameters are less than or equal to the fifth threshold, then the second indication information is used to indicate the rate matching mode of bit reversal shortening.
17. The method as described in claim 13, characterized in that, The first information includes the bit rate; If the bitrate is less than the seventh threshold or the bitrate is greater than the eighth threshold, then the second indication information is used to indicate the rate matching mode of the sub-block interleaving; or, If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, then the second indication information is used to indicate the bit reverse shortening rate matching mode.
18. The method as described in claim 17, characterized in that, The first information also includes p first parameters; If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the value of the p first parameters is less than the second threshold, then the second indication information is used to indicate the rate matching mode of the sub-block interleaving. or, If the bit rate is greater than or equal to the seventh threshold and less than or equal to the eighth threshold, and the values of the p first parameters are greater than or equal to the second threshold, then the second indication information is used to indicate the bit reverse shortening rate matching mode.
19. The method according to any one of claims 1-18, characterized in that, In the case where the first indication information indicates the second matrix, the second information also includes third indication information, which is used to indicate the size of the second matrix.
20. A communication method, characterized in that, The method, which applies to a second device or a chip in the second device, includes: Obtain third information, which is used to characterize the second device; A fourth message is sent to the first device. The fourth message includes a fourth indication message, which is used to indicate a first matrix or a second matrix. The fourth indication message is related to the third message. The first matrix or the second matrix is used to decode a sequence to be decoded. The sequence to be decoded is obtained based on an information bit sequence. The row weight of each row of the first matrix is a power of 2, and the row weight of at least one row of the second matrix is not a power of 2.
21. A communication method, characterized in that, The method, which applies to a first device or a chip in the first device, includes: Receive fourth information from the second device, the fourth information including fourth indication information, the fourth indication information being used to indicate the first matrix, or the fourth indication information being used to indicate the second matrix; Wherein, the first matrix or the second matrix is used to polarize the information bit sequence, the fourth indication information is related to the third information, the third information is used to characterize the second device, the row weight of each row of the first matrix is an integer power of 2, and the row weight of at least one row of the second matrix is not an integer power of 2.
22. The method as described in claim 20 or 21, characterized in that, The third information includes a third parameter; If the third parameter is included in the first parameter set, then the fourth indication information is used to indicate the first matrix; or, If the third parameter is included in the second parameter set, then the fourth indication information is used to indicate the second matrix; Wherein, the decoding error rate requirement corresponding to the first parameter set is lower than the decoding error rate requirement corresponding to the second parameter set, and the decoding complexity requirement corresponding to the first parameter set is higher than the decoding complexity requirement corresponding to the second parameter set.
23. The method as described in claim 22, characterized in that, The second parameter set includes a first subset and a second subset. The decoding complexity requirement corresponding to the first subset is higher than that corresponding to the second subset, and the decoding error rate requirement corresponding to the first subset is lower than that corresponding to the second subset. If the third parameter is included in the first subset, then the second matrix indicated by the fourth indication information belongs to the fourth matrix set; or, If the third parameter is included in the second subset, then the second matrix indicated by the fourth indication information belongs to the fifth matrix set; Wherein, the size of any matrix included in the fifth matrix set is greater than or equal to the size of any matrix included in the fourth matrix set.
24. The method as described in claim 20 or 21, characterized in that, The fourth information also includes a fifth indication information, which is used to indicate the rate matching mode of sub-block interleaving, or the fifth indication information is used to indicate the rate matching mode of bit reversal shortening.
25. The method as described in claim 24, characterized in that, The third information includes a third parameter; If the third parameter is included in the first parameter set or the third parameter is included in a first subset of the second parameter set, then the fifth indication information is used to indicate the rate matching mode of the sub-block interleaving; or, If the third parameter is included in the second subset of the second parameter set, then the fifth indication information is used to indicate the bit reverse shortening rate matching mode; Wherein, the decoding error rate requirement corresponding to the first parameter set is lower than the decoding error rate requirement corresponding to the second parameter set, the decoding complexity requirement corresponding to the first parameter set is higher than the decoding complexity requirement corresponding to the second parameter set, the decoding complexity requirement corresponding to the first subset is higher than the decoding complexity requirement corresponding to the second subset, and the decoding error rate requirement corresponding to the first subset is lower than the decoding error rate requirement corresponding to the second subset.
26. The method according to any one of claims 20-25, characterized in that, In the case where the fourth indication information indicates the second matrix, the fourth information also includes a sixth indication information, which is used to indicate the size of the second matrix.
27. A communication device, characterized in that, It includes modules or units for performing the method as described in any one of claims 1-19, or modules or units for performing the method as described in any one of claims 20-26.
28. A communication device, characterized in that, Includes at least one processor and interface circuitry; The interface circuit is used to receive signals from other communication devices and transmit them to the at least one processor, or to send signals from the at least one processor to other communication devices. The at least one processor is configured to implement the method as described in any one of claims 1-19 or the method as described in any one of claims 20-26 via logic circuits or execution code instructions.
29. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed by a communication device, cause the method as described in any one of claims 1-19 or the method as described in any one of claims 20-26 to be implemented.
30. A computer program product, characterized in that, The computer program product includes a computer program or instructions that, when executed on a communication device, cause the method as described in any one of claims 1-19 or the method as described in any one of claims 20-26 to be implemented.