Decoding method and apparatus
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HONOR DEVICE CO LTD
- Filing Date
- 2024-08-05
- Publication Date
- 2026-06-16
AI Technical Summary
In the field of communication technology, it is difficult to realize adaptive selection of the prior art in how to choose a suitable decoding algorithm to improve decoding reliability and reduce decoding delay, especially when channel quality changes.
By establishing a control channel, the receiving device estimates the channel quality and selects different decoding algorithms based on the channel quality. Specifically, when the channel quality is good, a first decoding algorithm with poor decoding reliability but small decoding delay is selected, and when the channel quality is poor, a second decoding algorithm with good decoding reliability but large decoding delay is selected.
Adaptive selection of decoding algorithms based on channel quality is realized, which improves decoding reliability and reduces decoding delay, thereby improving the overall reliability of the communication system.
Smart Images

Figure CN122228636A_ABST
Abstract
Description
Decoding method and device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 2, 2023, with application number 2023114534249 and invention name “Decoding Method and Device”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of communication technology, and in particular to a decoding method and device. Background Art
[0003] Channel coding algorithms are a core technology in the communications field. The transmitting device (referred to as the transmitter) uses a channel coding algorithm to add parity bits to the transmitted information bits to generate a bit sequence. The receiving device (referred to as the receiver) decodes the received bit sequence using a decoding algorithm. After decoding, the receiver verifies the decoded result. If the verification succeeds, the bit sequence is considered decoded successfully; if the verification fails, the decoding fails. Choosing a decoding algorithm is a pressing issue.
[0004] Summary of the Invention
[0005] This application provides a decoding method and apparatus that can adaptively select a decoding algorithm based on the channel quality of a control channel to improve decoding reliability and reduce decoding latency, thereby improving communication reliability. To achieve the above objectives, this application provides the following technical solutions:
[0006] In a first aspect, the present application provides a decoding method, which is applied to a receiving device, where a control channel is established between the receiving device and the transmitting device, and the decoding method includes: receiving a demodulation reference signal sent by the transmitting device through the control channel; estimating the channel quality of the control channel based on the demodulation reference signal; selecting a first decoding algorithm when the channel quality of the control channel meets a first condition; selecting a second decoding algorithm when the channel quality of the control channel meets a second condition; wherein the channel quality when the first condition is met is better than the channel quality when the second condition is met, the decoding delay of the first decoding algorithm is less than the decoding delay of the second decoding algorithm, and the decoding reliability of the first decoding algorithm is less than the decoding reliability of the second decoding algorithm, thereby realizing adaptive selection of the decoding algorithm according to the channel quality of the control channel.
[0007] In this embodiment, the adaptive decoding algorithm selection method is as follows: when the channel quality of the control channel meets the first condition (i.e., the channel quality is relatively good / excellent), a first decoding algorithm with poor decoding reliability but short decoding delay is selected; when the channel quality of the control channel meets the second condition (i.e., the channel quality is relatively poor), a second decoding algorithm with good decoding reliability but long decoding delay is selected. Although the first decoding algorithm has poor decoding reliability, when the channel quality is relatively good, there is less error information in the bit sequence, and the first decoding algorithm can correct the error information in a timely manner. This ensures decoding reliability and reduces decoding delay under good channel quality. Although the second decoding algorithm has a long decoding delay, its good decoding reliability enables the second decoding algorithm to correct the error information in the bit sequence in a timely manner and complete decoding in a shorter time. This improves decoding reliability and reduces decoding delay under poor channel quality. Therefore, by adaptively selecting a decoding algorithm, the receiving device can improve decoding reliability and reduce decoding delay, thereby improving communication reliability.
[0008] In one possible implementation, the method further includes: when the channel quality of the control channel satisfies the first condition, selecting a maximum number of decoding iterations of the first decoding algorithm based on the channel quality of the control channel, so as to select a maximum number of decoding iterations that matches the channel quality of the control channel, and reasonably use the first decoding algorithm to improve the decoding success rate.
[0009] In one possible implementation, the relationship between the channel quality of the control channel and the maximum number of decoding iterations is negatively correlated. The negative correlation can be that the better the channel quality of the control channel, the smaller the maximum number of decoding iterations. When the channel quality is better, there is less error information in the bit sequence. When the bit sequence has less error information, the receiving device can correct the error information by invoking the first decoding algorithm fewer times. Therefore, when the channel quality of the control channel is better, the maximum number of decoding iterations selected by the receiving device can be smaller, and when the channel quality of the control channel is worse, the maximum number of decoding iterations selected by the receiving device can be larger. According to the relationship between the channel quality and the maximum number of decoding iterations, the receiving device can select a maximum number of decoding iterations that matches the channel quality, so that the receiving device can reasonably invoke the first decoding algorithm to achieve successful decoding as much as possible when invoking the first decoding algorithm. When the channel quality is better, the receiving device can complete decoding using as few iterations as possible, thereby improving decoding reliability and reducing decoding delay.
[0010] In one possible implementation, the method further includes: selecting a second decoding algorithm when the number of iterations of the first decoding algorithm invoked by the receiving device equals the maximum number of decoding iterations and decoding fails. During the decoding process of invoking the first decoding algorithm by the receiving device, the receiving device may use the first processor to perform decoding. If the number of iterations reaches (equals) the maximum number of decoding iterations and decoding fails, the receiving device may select a second decoding algorithm with better decoding reliability and perform decoding using the second decoding algorithm to maximize the likelihood of successful decoding using the second decoding algorithm.
[0011] In one possible implementation, a receiving device includes a first processor and a second processor, the computing power of the first processor being less than that of the second processor. The method further includes: if the receiving device invokes a first decoding algorithm for a number of iterations equal to a maximum number of decoding iterations and decoding fails, the first processor invoking a second decoding algorithm for decoding, wherein the maximum search width of the second decoding algorithm is a default search width. The default maximum search width is used when invoking the second decoding algorithm. That is, if the second decoding algorithm is invoked after the first decoding algorithm fails, the maximum search width of the second decoding algorithm may be fixed and does not change with channel quality. Because the second decoding algorithm is invoked after the first decoding algorithm fails in scenarios with good channel quality and low bit sequence error information, the receiving device does not need to employ the more complex second decoding algorithm. Therefore, the default maximum search width of the second decoding algorithm may be a smaller value, such as 1. Furthermore, the receiving device may use the first processor to complete decoding, while the first processor invokes the second decoding algorithm for decoding, thereby reducing the occupancy of the second processor.
[0012] In one possible implementation, the method further includes: when the channel quality of the control channel satisfies the second condition, selecting a maximum search width of the second decoding algorithm according to the channel quality of the control channel, so as to reasonably use the second decoding algorithm to improve the decoding success rate.
[0013] In one possible implementation, the relationship between the channel quality of the control channel and the maximum search width is negatively correlated. This negative correlation can be explained by the fact that the better the channel quality of the control channel, the smaller the maximum search width. Specifically, the worse the channel quality, the more error information there is in the bit sequence, and the larger the maximum search width of the second decoding algorithm needs to be, thereby increasing the likelihood of successful decoding by the second decoding algorithm. Therefore, the smaller the maximum search width selected by the receiving device when the channel quality is better, and the larger the maximum search width selected when the channel quality is worse. Based on the relationship between the channel quality and the maximum search width, the receiving device can select a maximum search width that matches the channel quality, allowing the receiving device to reasonably invoke the second decoding algorithm and maximize the likelihood of successful decoding when invoking the second decoding algorithm.
[0014] In one possible implementation, a receiving device includes a first processor and a second processor, wherein the computing power of the first processor is smaller than that of the second processor. The method further includes: determining, from the first processor and the second processor, a processor to call the second decoding algorithm based on a maximum search width of the second decoding algorithm. The maximum search width may be the number of candidate paths retained by the receiving device when calling the second decoding algorithm for decoding. The receiving device may select, from the number of candidate paths, a path with the smallest path metric as a unique path. The labels of the edges traversed from the root node to the last leaf node in the unique path constitute the decoding result of the second decoding algorithm. Therefore, the larger the maximum search width, the greater the computing power required for the second decoding algorithm, and the smaller the maximum search width, the smaller the computing power required for the second decoding algorithm. Based on this rule, the receiving device may determine, from the first processor and the second processor, a processor to call the second decoding algorithm based on the maximum search width.
[0015] In one possible implementation, determining the processor to call the second decoding algorithm from the first processor and the second processor based on the maximum search width of the second decoding algorithm includes: when the maximum search width of the second decoding algorithm is greater than a preset value, determining that the second decoding algorithm is called by the second processor; when the maximum search width of the second decoding algorithm is less than or equal to a preset value, determining that the second decoding algorithm is called by the first processor. In this way, when the maximum search width is large, the receiving device calls the second decoding algorithm through the second processor to utilize the second processor with greater computing power to accelerate the decoding process, thereby completing the decoding as soon as possible.
[0016] In one possible implementation, the method further includes at least one of the following: the receiving device is a terminal, and the control channel is a physical downlink control channel; or, the receiving device is a network-side device, and the control channel is a physical uplink control channel; or, the channel quality of the control channel is represented by the signal-to-interference-and-noise ratio of the control channel; or, the first decoding algorithm is a belief propagation decoding algorithm; or, the second decoding algorithm is a serial cancellation list decoding algorithm.
[0017] In one possible implementation, when the channel quality of the control channel meets a first condition, a first decoding algorithm is selected, and when the channel quality of the control channel meets a second condition, a second decoding algorithm is selected. This includes: selecting a belief propagation decoding algorithm when the signal-to-interference-plus-noise ratio (SINR) of the control channel is greater than or equal to a preset threshold; and selecting a serial cancellation list decoding algorithm when the SINR of the control channel is less than the preset threshold. In this embodiment, a larger SINR of the control channel indicates better channel quality, while a smaller SINR indicates worse channel quality. Based on the relationship between the SINR and channel quality, the receiving device can set a preset threshold to determine the first and second conditions. For example, the first condition may be that the SINR of the control channel is greater than or equal to the preset threshold, and the second condition may be that the SINR of the control channel is less than the preset threshold. Thus, the receiving device can adaptively select a decoding algorithm based on the relationship between the SINR of the control channel and the preset threshold.
[0018] In one possible implementation, the method further includes: determining a maximum number of decoding iterations of a belief propagation decoding algorithm based on the signal-to-interference-plus-noise ratio of the control channel when the signal-to-interference-plus-noise ratio of the control channel is greater than or equal to a preset threshold, thereby enabling a receiving device to select the maximum number of decoding iterations of the belief propagation decoding algorithm through a table lookup, thereby simplifying a decoding algorithm selection process and reducing complexity; and / or determining a maximum search width of a serial cancellation list decoding algorithm based on the signal-to-interference-plus-noise ratio of the control channel when the signal-to-interference-plus-noise ratio of the control channel is less than a preset threshold.
[0019] In one possible implementation, the maximum number of decoding iterations may be searched from a preset correspondence table based on the signal-to-interference-plus-noise ratio of the control channel; and / or the maximum search width may be searched from a preset correspondence table based on the signal-to-interference-plus-noise ratio of the control channel. Thus, the receiving device may select the maximum search width of the serial cancellation list decoding algorithm by looking up the table, thereby simplifying the decoding algorithm selection process and reducing complexity.
[0020] In one possible implementation, a receiving device includes a first processor and a second processor, wherein the computing power of the first processor is less than that of the second processor. The method further includes: determining that the second processor invokes the serial cancellation list decoding algorithm when a maximum search width of the serial cancellation list decoding algorithm is greater than a preset value; and determining that the first processor invokes the serial cancellation list decoding algorithm when the maximum search width of the serial cancellation list decoding algorithm is less than or equal to the preset value. The preset value may be the maximum search width used when the receiving device does not accelerate the decoding process. Thus, when the maximum search width is greater than the preset value, the receiving device may have the second processor invoke the serial cancellation list decoding algorithm to accelerate the decoding process; and when the maximum search width is less than or equal to the preset value, the receiving device may have the first processor invoke the serial cancellation list decoding algorithm without accelerating the decoding process.
[0021] In a possible implementation, the first processor is a central processing unit, and the second processor is a coprocessor.
[0022] In a possible implementation, the coprocessor is any one of a graphics processor, a field programmable gate array circuit, a digital signal processor, and an application-specific integrated circuit.
[0023] In a second aspect, the present application provides a receiving device, comprising: one or more processors and a memory; the memory being configured to store computer program code, the computer program code comprising computer instructions, such that when the one or more processors execute the computer instructions, the receiving device performs the decoding method described above. The receiving device may be a terminal or a network-side device.
[0024] In a third aspect, the present application provides a computer-readable storage medium, which is used to store a computer program, and the computer program implements the above-mentioned decoding method when executed.
[0025] In a fourth aspect, the present application provides a chip system for use in a receiving device. The chip system includes at least one processor and an interface. The interface is used to receive instructions and transmit them to at least one processor. The at least one processor executes the instructions so that the receiving device executes the above-mentioned decoding method. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] FIG1 is a schematic diagram of a decoding method provided in an embodiment of the present application;
[0027] FIG2 is a schematic diagram of another decoding method provided in an embodiment of the present application;
[0028] FIG3 is a schematic diagram of the structure of a communication device provided in an embodiment of the present application;
[0029] FIG4 is a hardware structure diagram of a terminal provided in an embodiment of the present application;
[0030] FIG5 is a flowchart of a decoding method provided in an embodiment of the present application;
[0031] FIG6 is a flowchart of another decoding method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0032] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. The terms used in the following embodiments are only for the purpose of describing specific embodiments and are not intended to be limiting of the present application. As used in the specification and appended claims of the present application, the singular expressions "one", "a kind of", "said", "above", "the" and "this" are intended to also include expressions such as "one or more", unless there is a clear contrary indication in the context. It should also be understood that in the embodiments of the present application, "one or more" refers to one, two or more; "and / or" describes the association relationship of associated objects, indicating that three relationships may exist; for example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the related objects before and after are in an "or" relationship.
[0033] References to "one embodiment" or "some embodiments" in this specification mean that a particular feature, structure, or characteristic described in conjunction with that embodiment is included in one or more embodiments of the present application. Thus, phrases such as "in one embodiment," "in some embodiments," "in other embodiments," and "in yet other embodiments" appearing in various places in this specification do not necessarily refer to the same embodiment, but rather mean "one or more but not all embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.
[0034] The "multiple" involved in the embodiments of the present application means greater than or equal to two. It should be noted that in the description of the embodiments of the present application, the words "first" and "second" are only used for the purpose of distinguishing the description and cannot be understood as indicating or implying relative importance or order.
[0035] The bit sequence sent by the transmitter includes information bits and check bits. The receiver decodes the bit sequence using a decoding algorithm and then verifies the decoding result. If the verification succeeds, the bit sequence is considered decoded successfully; if the verification fails, the decoding fails. The decoding algorithm then corrects any errors generated during the transmission of the bit sequence. For example, when control commands, such as signaling, are transmitted over a control channel between the transmitter and receiver, these control commands can be encapsulated in the bit sequence. After receiving the bit sequence, the receiver decodes it using a polar code decoding algorithm.
[0036] Polar code decoding algorithms include the Successive Cancellation List (SCL) decoding algorithm and the Belief Propagation (BP) decoding algorithm. The SCL decoding algorithm is a serial algorithm that decodes bit by bit according to the search width L of the SCL decoding algorithm. Under limited code length, the SCL decoding algorithm can achieve good decoding reliability, but the decoding delay is high, which reduces throughput. The BP decoding algorithm is a parallel decoding algorithm with low decoding delay, but the decoding reliability is worse than (less than) the decoding reliability of the SCL decoding algorithm. The decoding reliability can be expressed by the block error rate.
[0037] In some examples, the receiver first calls the BP decoding algorithm to decode the bit sequence and obtain a decoding result. The receiver then verifies the decoding result. If the verification passes, the decoding is deemed successful. If the verification fails, the decoding is deemed unsuccessful and the receiver continues to call the BP decoding algorithm to decode the bit sequence until the maximum number of decoding iterations of the BP decoding algorithm is reached. If the decoding still fails after reaching the maximum number of decoding iterations, the receiver calls the SCL decoding algorithm to decode the bit sequence. As shown in Figure 1, the receiver first calls the BP decoding algorithm for decoding. When the number of decoding iterations of the BP decoding algorithm reaches the maximum number of decoding iterations and the decoding fails, the SCL decoding algorithm is called for decoding. In other words, the order in which the BP decoding algorithm and the SCL decoding algorithm are called is fixed, and the decoding algorithm cannot be adaptively selected based on channel quality. Moreover, when the channel quality is poor, the BP decoding algorithm is very likely to fail in decoding. However, the receiving end still calls the BP decoding algorithm first, and calls the SCL decoding algorithm after decoding for the maximum number of iterations, which increases the decoding delay and thus reduces the communication reliability.
[0038] Some embodiments of the present application provide a decoding method and apparatus, which can estimate the channel quality of a control channel, select a first decoding algorithm when the channel quality meets a first condition, and select a second decoding algorithm when the channel quality meets a second condition, wherein the channel quality when the first condition is met is better than the channel quality when the second condition is met, the decoding delay of the first decoding algorithm is less than the decoding delay of the second decoding algorithm, and the decoding reliability of the first decoding algorithm is less than the decoding reliability of the second decoding algorithm, thereby adaptively selecting a decoding algorithm according to the channel quality of the control channel.
[0039] As shown in Figure 2, when the channel quality is relatively good (good), the first decoding algorithm with poor decoding reliability but short decoding delay is selected. When the channel quality is poor, the second decoding algorithm with good decoding reliability but long decoding delay is selected. Although the first decoding algorithm has poor decoding reliability, when the channel quality is good, there is less error information in the bit sequence. The first decoding algorithm can correct the error information in a timely manner and complete the decoding with as few iterations as possible. This ensures decoding reliability and reduces decoding delay when the channel quality is good. Although the second decoding algorithm has a long decoding delay, its good decoding reliability allows it to correct the error information in the bit sequence in a timely manner and complete the decoding in a shorter time. This improves decoding reliability and reduces decoding delay when the channel quality is poor. Therefore, the receiver can improve decoding reliability and reduce decoding delay by adaptively selecting a decoding algorithm, thereby improving communication reliability.
[0040] In some embodiments, the above-mentioned receiving end can be a terminal or a network-side device. The network-side device can be a device deployed in the network to provide wireless communication functions for the terminal, such as a base station. The base station can include various forms, such as a macro base station, a micro base station (also known as a small station), a relay station, an access point, etc. In systems using different wireless access technologies, the names of the network-side devices may be different, such as a base transceiver station (BTS) in a global system for mobile communications (GSM) or a code division multiple access (CDMA) network, a NB (NodeB) in a wideband code division multiple access (WCDMA) network, an eNB or eNodeB (evolutionary NodeB) in a long term evolution (LTE), a base station in a 5G network or a future evolved public land mobile network (PLMN). The network-side device can also be a broadband network gateway (BNG), an aggregation switch, or a non-3GPP network device. In addition, the network side device may also be a wireless controller in a cloud radio access network (CRAN), or a transmission and reception point (TRP), or a device including a TRP, etc., and the embodiments of the present application do not specifically limit this.
[0041] The terminal involved in the embodiments of the present application can be a device with wireless transceiver functions, which can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on the water (such as a ship, etc.); can also be deployed in the air (for example, on an airplane, a balloon, and a satellite, etc.). Among them, the terminal can be a user equipment (UE), an access terminal, a terminal unit, a subscriber unit, a terminal station, a mobile station (MS), a mobile station, a remote station, a remote terminal, a mobile device, a wireless communication device, a terminal agent, or a terminal device in a 5G network or a future evolved PLMN. The access terminal may be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with wireless communication capabilities, a computing device or other processing device connected to a wireless modem, a vehicle-mounted device or a wearable device, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. The terminal may be mobile or fixed. The embodiments of the present application do not limit the specific type and structure of the terminal.
[0042] Optionally, the terminal and network-side device in the embodiment of the present application may adopt the composition structure shown in Figure 3 or include the components shown in Figure 3. Figure 3 is a structural diagram of a communication device provided in an embodiment of the present application, which includes one or more processors 101, a communication line 102, and at least one communication interface (Figure 3 is only exemplary, taking the communication interface 103 and one processor 101 as an example for explanation), and optionally may also include a memory 104.
[0043] The processor 101 may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present application.
[0044] The communication line 102 may include a pathway for communication between different components.
[0045] The communication interface 103 may be a transceiver module for communicating with other devices or communication networks, such as Ethernet, a radio access network (RAN), or a wireless local area network (WLAN). For example, the transceiver module may be a device such as a transceiver or a transceiver. Alternatively, the communication interface 103 may be a transceiver circuit within the processor 101, configured to implement signal input and output to the processor.
[0046] The memory 104 may be a device having a storage function. For example, it may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may be independent and connected to the processor via a communication line 102. The memory may also be integrated with the processor. Among them, the memory 104 is used to store computer-executable instructions for executing the solution of the present application, and is controlled by the processor 101 for execution. The processor 101 is used to execute the computer-executable instructions stored in the memory 104, thereby implementing the decoding method provided in the embodiment of the present application. Optionally, the computer-executable instructions in the embodiment of the present application can also be referred to as program codes, which is not specifically limited in the embodiment of the present application.
[0047] In some examples, the communication device may further include an output device 105 and an input device 106. The output device 105 communicates with the processor 101 and can display information in a variety of ways. For example, the output device 105 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device 106 communicates with the processor 101 and can receive user input in a variety of ways. For example, the input device 106 can be a mouse, a keyboard, a touch screen device, or a sensor device.
[0048] The communication device can be a general-purpose device or a dedicated device. For example, the communication device can be a desktop computer, a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet computer, a wireless terminal, an embedded device, the aforementioned terminal, the aforementioned network device, or a device having a similar structure to that shown in FIG3 . The embodiments of the present application do not limit the type of communication device.
[0049] Optionally, FIG4 shows an optional hardware structure of a terminal, which may include a processor, an external memory interface, an internal memory, a universal serial bus (USB) interface, a charging management module, a power management module, a battery, antenna 1, antenna 2, a mobile communication module, a wireless communication module, an audio module, a speaker, a receiver, a microphone, an earphone interface, a sensor module, a button, a motor, an indicator, a camera, a display, and a subscriber identity module (SIM) card interface, etc. The sensor module may include a pressure sensor, a gyroscope sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a distance sensor, a proximity light sensor, a fingerprint sensor, a temperature sensor, a touch sensor, an ambient light sensor, a bone conduction sensor, etc.
[0050] It should be understood that the structure illustrated in this embodiment does not constitute a specific limitation on the terminal. In other embodiments, the terminal may include more or fewer components than shown, or some components may be combined or separated, or arranged differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0051] The processor may include one or more processing units, for example: the processor may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Among them, different processing units can be independent devices or integrated into one or more processors. For example, in an embodiment of the present application, the processor can adaptively select a decoding algorithm based on the channel quality of the control channel, such as selecting a first decoding algorithm when the channel quality meets a first condition, and selecting a second decoding algorithm when the channel quality meets a second condition, wherein the channel quality when the first condition is met is better than the channel quality when the second condition is met, the decoding delay of the first decoding algorithm is less than the decoding delay of the second decoding algorithm, and the decoding reliability of the first decoding algorithm is less than the decoding reliability of the second decoding algorithm. For example, in some examples, the first decoding algorithm can be a BP decoding algorithm, and the second decoding algorithm can be an SCL decoding algorithm. Among them, the controller can be the nerve center and command center of the terminal. The controller can generate an operation control signal based on the instruction opcode and timing signal to control instruction fetching and execution. The processor can also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. This memory can store instructions or data that the processor has just used or is reusing. If the processor needs to use the instruction or data again, it can directly call it from the memory, avoiding repeated access, reducing processor waiting time, and thus improving system efficiency.
[0052] The wireless communication function of the terminal can be implemented through antenna 1, antenna 2, mobile communication module, wireless communication module, modem processor, and baseband processor. In some embodiments, antenna 1 of the terminal is coupled to the mobile communication module, and antenna 2 is coupled to the wireless communication module, so that the terminal can communicate with the network and other devices through wireless communication technology.
[0053] The terminal implements display functions through a GPU, display, and application processor. The GPU is a microprocessor for image processing that connects the display and application processor. The GPU performs mathematical and geometric calculations for graphics rendering. The processor may include one or more GPUs, which execute program instructions to generate or modify display information. The terminal implements camera functions through an ISP, camera, video codec, GPU, display, and application processor.
[0054] The external memory interface can be used to connect an external memory card, such as a Micro SD card, to expand the terminal's storage capacity. The external memory card communicates with the processor through the external memory interface to implement data storage. For example, you can save files such as music and videos to the external memory card.
[0055] The internal memory can be used to store computer executable program code, which includes instructions. The processor executes various functional applications and data processing of the terminal by running the instructions stored in the internal memory. For example, in this embodiment, the processor can select a decoding algorithm by executing the instructions stored in the internal memory. The internal memory may include a program storage area and a data storage area. The program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the terminal (such as audio data, a phone book, etc.), etc. In addition, the internal memory may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor executes various functional applications and data processing of the terminal by running the instructions stored in the internal memory and / or the instructions stored in the memory provided in the processor.
[0056] The following describes the decoding method provided in the embodiment of the present application, taking the example where the receiving end can be a terminal, the first decoding algorithm can be a BP decoding algorithm, and the second decoding algorithm can be an SCL decoding algorithm. Referring to FIG5 , an optional process of the decoding method provided in the embodiment of the present application is shown, which may include the following steps:
[0057] S101. The terminal receives a demodulation reference signal (DMRS) carried by a physical downlink control channel (PDCCH), and estimates a signal to interference plus noise ratio (SINR) of the physical downlink control channel based on the DMRS.
[0058] In this embodiment, the terminal characterizes the channel quality of the physical downlink control channel by the SINR of the physical downlink control channel. The larger the SINR of the physical downlink control channel, the better the channel quality of the physical downlink control channel, and the smaller the SINR of the physical downlink control channel, the worse the channel quality of the physical downlink control channel.
[0059] The better the channel quality, the less error information in the bit sequence received by the terminal. In this case, the terminal can call a decoding algorithm with poor decoding reliability but short decoding delay for decoding. Although the decoding reliability of the decoding algorithm called by the terminal is poor, the error information in the bit sequence is less, and the decoding algorithm is more likely to correct the error information and the time taken to correct the error information is shorter. Therefore, when the channel quality is good, the terminal can call a decoding algorithm with poor decoding reliability; and the worse the channel quality, the more error information in the bit sequence received by the terminal. In this case, the terminal can call a decoding algorithm with good decoding reliability but long decoding delay to correct the error information in the bit sequence in a timely manner.
[0060] For example, the decoding reliability of the BP decoding algorithm is lower than that of the SCL decoding algorithm, but the decoding delay of the BP decoding algorithm is lower than that of the SCL decoding algorithm. Therefore, when the channel quality is good, the terminal can use the BP decoding algorithm; when the channel quality is poor, the terminal can use the SCL decoding algorithm. The BP decoding algorithm and the SCL decoding algorithm are only examples, and this embodiment does not limit the decoding algorithm used by the terminal.
[0061] S102: Determine whether the SINR is greater than or equal to a preset threshold X. If the SINR is greater than or equal to the preset threshold X, execute step S103; if the SINR is less than the preset threshold X, execute step S105.
[0062] When SINR is used to characterize channel quality, the terminal can set a preset threshold X to divide the SINRs for calling different decoding algorithms by the preset threshold X. That is, multiple SINRs are divided by the preset threshold X to obtain the correspondence between SINR and decoding algorithm. According to the correspondence between SINR and decoding algorithm, the decoding algorithm that matches the SINR is selected.
[0063] For example, following the rule that a larger SINR indicates better channel quality and a smaller SINR indicates worse channel quality, if the SINR is greater than or equal to a preset threshold value X, the channel quality is good, and the terminal can execute step S103 to select the BP decoding algorithm. If the SINR is less than the preset threshold value X, the channel quality is poor, and the terminal can execute step S105 to select the SCL decoding algorithm.
[0064] S103: Select BP decoding algorithm. After selecting the BP decoding algorithm, the terminal calls the BP decoding algorithm for decoding.
[0065] S104. Based on the SINR, select a maximum number of decoding iterations N_max that matches the SINR. The maximum number of decoding iterations N_max may be the maximum number of times the terminal calls the BP decoding algorithm for decoding. Each time the terminal calls the BP decoding algorithm for decoding, the terminal may verify the decoding result. If the decoding result passes the verification, the decoding ends, even if the number of decoding iterations by the terminal is less than the maximum number of decoding iterations N_max. If the decoding result does not pass the verification, the terminal may continue to call the BP decoding algorithm for decoding until the number of decoding iterations reaches (equals) the maximum number of decoding iterations N_max. In some examples, the terminal may call a cyclic redundancy check (CRC) algorithm to verify the decoding result.
[0066] When the channel quality is better, the amount of error information in the bit sequence is less. When the amount of error information in the bit sequence is less, the terminal can correct the error information by calling the BP decoding algorithm fewer times. Therefore, when the SINR is larger, the maximum number of decoding iterations N_max selected by the terminal is smaller, and when the SINR is smaller, the maximum number of decoding iterations N_max selected by the terminal is larger. According to this rule, the terminal can select the maximum number of decoding iterations N_max that matches the SINR, so that the terminal can reasonably call the BP decoding algorithm to successfully decode as much as possible when calling the BP decoding algorithm.
[0067] S105: Select an SCL decoding algorithm. After selecting the SCL decoding algorithm, the terminal calls the SCL decoding algorithm for decoding.
[0068] S106: Select a maximum search width L_max that matches the SINR according to the SINR.
[0069] The maximum search width L_max may be the number of candidate paths retained by the terminal when invoking the SCL decoding algorithm for decoding. The terminal may select the path with the smallest path metric (PM) from the candidate paths as the unique path. The labels of the edges traversed from the root node to the last leaf node in the unique path constitute the decoding result of the SCL decoding algorithm.
[0070] When the channel quality is worse, there is more error information in the bit sequence, and the maximum search width L_max of the SCL decoding algorithm needs to be larger, so that the possibility of successful decoding of the SCL decoding algorithm is greater. Therefore, when the SINR is larger, the maximum search width L_max selected by the terminal is smaller, and when the SINR is smaller, the maximum search width L_max selected by the terminal is larger. According to this rule, the terminal can select the maximum search width L_max that matches the SINR, so that the terminal can reasonably call the SCL decoding algorithm to successfully decode as much as possible when calling the SCL decoding algorithm.
[0071] In some examples, the terminal can pre-set the correspondence between SINR, preset threshold X, decoding algorithm, maximum search width L_max and maximum number of decoding iterations N_max. After estimating the SINR of the physical downlink control channel, the terminal can use the correspondence to determine the decoding algorithm, and the maximum search width L_max or maximum number of decoding iterations N_max that matches the SINR.
[0072] As shown in Table 1, it shows a correspondence between the preset SINR, the preset threshold X, the decoding algorithm, the maximum search width L_max, and the maximum number of decoding iterations N_max. The preset threshold X may be 16. When the SINR is greater than or equal to 16, the terminal selects the BP decoding algorithm. When the SINR is between [16, 18], the maximum number of decoding iterations N_max is 5. When the SINR is between [19, 21], the maximum number of decoding iterations N_max is 4. When the SINR is between [22, 25], the maximum number of decoding iterations N_max is 3. When the SINR is greater than 25, the maximum number of decoding iterations N_max is 2.
[0073] When the SINR is less than 16, the terminal selects the SCL decoding algorithm, and when the SINR is in [12, 15], the maximum search width L_max is 1, and when the SINR is in [9, 11], the maximum search width L_max is 2. When the SINR is in [4, 8], the maximum search width L_max is 4, and when the SINR is less than 4, the maximum search width L_max is 8.
[0074] After the terminal estimates the SINR of the physical downlink control channel based on the DMRS, it can refer to Table 1 to select a decoding algorithm. After determining that the decoding algorithm is the BP decoding algorithm, the terminal can refer to Table 1 to select the maximum number of decoding iterations N_max according to the range of the SINR. After determining that the decoding algorithm is the SCL decoding algorithm, the terminal can refer to Table 1 to select the maximum search width L_max according to the range of the SINR.
[0075] Table 1 A correspondence between SINR, preset threshold X, decoding algorithm, maximum search width L_max and maximum number of decoding iterations N_max
[0076] Table 1 is only an example. This embodiment does not limit the corresponding relationship between SINR, preset threshold X, decoding algorithm, maximum search width L_max, and maximum number of decoding iterations N_max, which can be adjusted according to actual engineering values.
[0077] As shown in the decoding method shown in Figure 5, the terminal can select the BP decoding algorithm when the channel quality is good, and the SCL decoding algorithm when the channel quality is poor. Although the BP decoding algorithm has poor decoding reliability, when the channel quality is good, there is less error information in the bit sequence, and the BP decoding algorithm can correct the error information in a timely manner. Moreover, the better the channel quality, the smaller the maximum number of decoding iterations N_max of the BP decoding algorithm, allowing the terminal to complete decoding with as few iterations as possible. In this way, decoding reliability is guaranteed and decoding delay is reduced when the channel quality is good. Although the SCL decoding algorithm has a large decoding delay, the SCL decoding algorithm has good decoding reliability, allowing the SCL decoding algorithm to correct error information in the bit sequence in a timely manner and complete decoding in a shorter time. This improves decoding reliability and reduces decoding delay when the channel quality is poor. Therefore, by adaptively selecting a decoding algorithm, the terminal can improve decoding reliability and reduce decoding delay, thereby improving communication reliability.
[0078] Please refer to FIG6 , which shows an optional process of another decoding method provided in an embodiment of the present application, which may include the following steps:
[0079] S201: The terminal receives a DMRS carried by a PDCCH, and estimates an SINR of a physical downlink control channel according to the DMRS.
[0080] S202: Determine whether the SINR is greater than or equal to a preset threshold X. If the SINR is greater than or equal to the preset threshold X, execute step S203; if the SINR is less than the preset threshold X, execute step S209.
[0081] S203: Select BP decoding algorithm.
[0082] S204: According to the SINR, select a maximum number of decoding iterations N_max that matches the SINR.
[0083] S205: Call the BP decoding algorithm to perform decoding and obtain a decoding result.
[0084] S206: Determine whether the decoding result passes the verification. If the decoding result passes the verification, end; if the decoding result does not pass the verification, execute step S207.
[0085] S207. Determine whether the number of iterations reaches the maximum number of decoding iterations. If so, execute step S208. If not, return to step S205.
[0086] S208 : Select the SCL decoding algorithm, adopt the default maximum search width L_max, and select the CPU to call the SCL decoding algorithm.
[0087] S209: Select an SCL decoding algorithm.
[0088] S210 . Select a maximum search width L_max that matches the SINR according to the SINR.
[0089] S211. Determine whether the maximum search width L_max is greater than a preset value. If the maximum search width L_max is greater than the preset value Y, execute step S212; if the maximum search width L_max is less than or equal to the preset value Y, execute step S213.
[0090] S212. The coprocessor calls the SCL decoding algorithm.
[0091] S213. The CPU calls the SCL decoding algorithm.
[0092] Compared to the decoding method shown in Figure 5 , the decoding method shown in Figure 6 differs from the decoding method shown in Figure 5 in that when the terminal invokes the BP decoding algorithm for decoding, it can use the CPU for decoding. If the number of iterations reaches (or is equal to) the maximum number of decoding iterations N_max and the decoding result fails verification, the terminal can select the SCL decoding algorithm. When invoking the SCL decoding algorithm, the default maximum search width L_max is used. That is, if the SCL decoding algorithm is invoked after the BP decoding algorithm fails, the maximum search width L_max of the SCL decoding algorithm can be fixed and does not change with changes in the SINR.
[0093] Because the SCL decoding algorithm is invoked after the BP decoding algorithm fails in scenarios where channel quality is good and there is less error information in the bit sequence, the terminal does not need to use the more complex SCL decoding algorithm. Therefore, the default maximum search width L_max of the SCL decoding algorithm can be a smaller value, such as 1. Furthermore, the terminal can use the CPU to complete decoding, and the CPU invokes the SCL decoding algorithm for decoding.
[0094] In the scenario where the terminal selects the SCL decoding algorithm based on the SINR, in addition to selecting the matching maximum search width L_max based on the SINR, it also decides whether to accelerate the decoding process based on the relationship between the maximum search width L_max and the preset value Y, so that the terminal can complete the decoding as quickly as possible.
[0095] Among them, the preset value Y can be the maximum search width L_max used when the terminal does not accelerate the decoding process. Therefore, when the maximum search width L_max is greater than the preset value Y, the terminal accelerates the decoding process. When the maximum search width L_max is less than or equal to the preset value Y, the terminal does not accelerate the decoding process.
[0096] In some examples, the terminal may accelerate the decoding process by using a coprocessor for decoding, which calls the SCL decoding algorithm for decoding. The coprocessor may be, but is not limited to, a GPU, a field programmable gate array (FPGA) circuit, a DSP, an ASIC, or other hardware accelerator. The terminal may not accelerate the decoding process by using a CPU for decoding, which calls the SCL decoding algorithm for decoding. Because the larger the maximum search width L_max of the SCL decoding algorithm, the greater the complexity of the SCL decoding algorithm, and the more computing resources the SCL decoding algorithm requires, when the maximum search width L_max is greater than a preset value Y, a coprocessor with better computing power is used for decoding to accelerate the decoding process, so that the terminal can complete the decoding as quickly as possible.
[0097] Table 2 shows an example of the preset value Y. The preset value Y may be 4. When the maximum search width L_max is 8, the maximum search width L_max is greater than the preset value Y, and the processor functions as a coprocessor to accelerate decoding. When the maximum search width L_max is 4, the maximum search width L_max is equal to the preset value Y, and the processor functions as a CPU, and decoding is not accelerated. When the maximum search width L_max is 2 or 1, the maximum search width L_max is equal to the preset value Y, and the processor functions as a CPU, and decoding is not accelerated.
[0098] Table 2: Correspondence between SINR, preset threshold X, decoding algorithm, maximum search width L_max, maximum number of decoding iterations N_max, and processor
[0099] Table 2 is only an example. This embodiment does not limit the preset value Y, and it can be adjusted according to the actual project value.
[0100] It can be seen from the decoding method shown in Figure 6 that when the channel quality is poor, the terminal can decide whether to accelerate the decoding based on the relationship between the maximum search width L_max and the preset value Y. For example, when the maximum search width L_max is large, the terminal can use a coprocessor for decoding to accelerate the decoding, so that the terminal can complete the decoding as quickly as possible when using the more complex SCL decoding algorithm.
[0101] It should be noted here that the decoding method shown in Figures 5 and 6 above selects a decoding algorithm based on the relationship between SINR and a preset threshold value X. The decoding method shown in Figure 6 can also select a processor based on the relationship between the maximum search width L_max and a preset value Y. These are only examples. The decoding method provided in some embodiments of the present application can select a decoding algorithm based on the relationship between SINR and the decoding algorithm, and select a processor based on the relationship between the maximum search width L_max and the processor. For example, the terminal can try to call the BP decoding algorithm and the SCL decoding algorithm for decoding under the same SINR to test the effect of decoding using different decoding algorithms under the same SINR. Based on the test results (such as the results of multiple tests), the decoding algorithm is configured for the SINR. When trying to call the SCL decoding algorithm, the terminal can try to use the coprocessor and the CPU for decoding to test the effect of decoding using different processors under the same SINR. Based on the test results (such as the results of multiple tests), the processor is configured for the SCL decoding algorithm under the SINR. After the configuration is completed, the terminal obtains the relationship between the SINR and the decoding algorithm and the relationship between the maximum search width L_max and the processor. Of course, the terminal can also obtain the relationship between the BP decoding algorithm and the maximum number of decoding iterations N_max, and the relationship between the SCL decoding algorithm and the maximum search width L_max through multiple tests, which will not be detailed here.
[0102] The decoding method provided in the embodiment of the present application is described below with reference to Table 2 in conjunction with specific examples.
[0103] Example 1: In a scenario with good channel quality and a preset threshold of X = 15, the decoding process is as follows:
[0104] 1. The terminal estimates the DMRS carried by the PDCCH and obtains an SINR of 22;
[0105] 2. According to the SINR lookup table 2, select the BP decoding algorithm and determine the maximum number of decoding iterations N_max to be 3;
[0106] 3. Each time the BP decoding algorithm is called to complete decoding, the decoding result is verified. If the decoding result passes the verification and the decoding is successful, the system exits early and the decoding ends. Otherwise, the BP decoding algorithm is continued to be called for decoding;
[0107] 4. Determine whether the number of decoding times reaches the maximum number of decoding iterations N_max. If it reaches the maximum number of decoding iterations N_max and no decoding is successful, select the SCL decoding algorithm. The maximum search width L_max of the SCL decoding algorithm is the default value, and the CPU performs decoding.
[0108] Example 2: In a scenario with poor channel quality, the preset threshold X = 12 and the preset value Y = 4. The decoding process is as follows:
[0109] 11. The terminal estimates the DMRS carried by the PDCCH and obtains a SINR of 8.
[0110] 12. According to SINR lookup table 2, select the SCL decoding algorithm and set the maximum search width L_max to 4;
[0111] 13. Because L_max=Y, select CPU for decoding and do not accelerate the decoding process.
[0112] Example 3: In a scenario with very poor channel quality, the preset threshold X = 12, the preset value Y = 4, and the decoding process is as follows
[0113] 21. The terminal estimates the DMRS carried by the PDCCH and obtains an SINR of 3;
[0114] 22. According to SINR lookup table 2, select the SCL decoding algorithm and set the maximum search width L_max to 8;
[0115] 23. Since L_max>Y, select the coprocessor for decoding to accelerate the decoding process.
[0116] As can be seen from the above example, the decoding method provided in the embodiment of the present application can adaptively select the BP decoding algorithm or the SCL decoding algorithm for decoding based on the SINR that represents the channel quality. If the BP decoding algorithm is selected and the number of decoding iterations reaches the maximum number of decoding iterations and the decoding fails, the SCL decoding algorithm is selected for decoding. Furthermore, after the SCL decoding algorithm is selected based on the SINR, it can also be selected whether to perform decoding acceleration based on the maximum search width L_max of the SCL decoding algorithm.
[0117] The above embodiment is described using the example that the receiving end can be a terminal. The decoding method provided in the embodiment of the present application can also be applied to a network-side device. The difference from the decoding method applied to the terminal is that the network-side device can receive the DMRS carried by the Physical Uplink Control Channel (PUCCH) and estimate the SINR of the physical uplink control channel based on the DMRS. The process of the decoding method implemented by the network-side device is as follows:
[0118] 1) The network-side device receives the DMRS carried by the PUCCH and estimates the SINR of the PUCCH based on the DMRS.
[0119] 2) Determine whether the SINR is greater than or equal to a preset threshold X. If the SINR is greater than or equal to the preset threshold X, execute 3); if the SINR is less than the preset threshold X, execute 9).
[0120] 3) Select BP decoding algorithm.
[0121] 4) According to the SINR, select the maximum number of decoding iterations N_max that matches the SINR.
[0122] 5) Call the BP decoding algorithm to perform decoding and obtain the decoding result.
[0123] 6) Determine whether the decoding result passes the verification. If the decoding result passes the verification, end; if the decoding result does not pass the verification, execute 7).
[0124] 7) Determine whether the number of iterations has reached the maximum number of decoding iterations. If so, execute 8); if not, return to 5).
[0125] 8) Select the SCL decoding algorithm, use the default maximum search width L_max, and select the CPU to call the SCL decoding algorithm.
[0126] 9) Select the SCL decoding algorithm.
[0127] 10) According to the SINR, select a maximum search width L_max that matches the SINR.
[0128] 11) Determine whether the maximum search width L_max is greater than a preset value. If the maximum search width L_max is greater than the preset value Y, execute 12); if the maximum search width L_max is less than or equal to the preset value Y, execute 13).
[0129] 12) The coprocessor calls the SCL decoding algorithm.
[0130] 13) The CPU calls the SCL decoding algorithm.
[0131] An embodiment of the present application also provides a receiving device, which includes: one or more processors and a memory; the memory is used to store computer program code, and the computer program code includes computer instructions. When one or more processors execute the computer instructions, the receiving device executes the decoding method as described above.
[0132] An embodiment of the present application further provides a computer-readable storage medium, which is used to store a computer program, and the above-mentioned decoding method is implemented when the computer program is executed.
[0133] An embodiment of the present application also provides a chip system, which is applied to a receiving device. The chip system includes at least one processor and an interface, and the interface is used to receive instructions and transmit them to at least one processor; at least one processor runs the instructions so that the receiving device executes the above-mentioned decoding method.
[0134] The above are only specific embodiments of the present application, but the scope of protection of the present application is not limited thereto. Any changes or replacements within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A decoding method, characterized in that: Applied to a receiving device, a control channel is established between the receiving device and the transmitting device, and the decoding method includes: receiving a demodulation reference signal sent by the transmitting end device through the control channel; estimating a channel quality of the control channel according to the demodulation reference signal; When the channel quality of the control channel satisfies a first condition, selecting a first decoding algorithm; When the channel quality of the control channel satisfies a second condition, selecting a second decoding algorithm; Among them, the channel quality when the first condition is met is better than the channel quality when the second condition is met, the decoding delay of the first decoding algorithm is smaller than the decoding delay of the second decoding algorithm, and the decoding reliability of the first decoding algorithm is smaller than the decoding reliability of the second decoding algorithm.
2. The method according to claim 1, characterized in that: The method further includes: when the channel quality of the control channel satisfies the first condition, selecting a maximum number of decoding iterations of the first decoding algorithm according to the channel quality of the control channel.
3. The method according to claim 2, characterized in that The relationship between the channel quality of the control channel and the maximum number of decoding iterations is negatively correlated.
4. The method according to claim 2 or 3, characterized in that: The method further includes: selecting the second decoding algorithm when the number of iterations of the first decoding algorithm called by the receiving end device is equal to the maximum number of decoding iterations and decoding fails.
5. The method according to claim 4, characterized in that The receiving end device includes a first processor and a second processor, the computing capability of the first processor is smaller than the computing capability of the second processor, and the method further includes: When the number of iterations of the first decoding algorithm called by the receiving end device is equal to the maximum number of decoding iterations and decoding fails, the first processor calls the second decoding algorithm for decoding, and the maximum search width of the second decoding algorithm is a default search width.
6. The method according to any one of claims 1 to 5, characterized in that The method further includes: selecting a maximum search width of the second decoding algorithm according to the channel quality of the control channel when the channel quality of the control channel satisfies a second condition.
7. The method according to claim 6, characterized in that The relationship between the channel quality of the control channel and the maximum search width is a negative correlation.
8. The method according to claim 6 or 7, characterized in that: The receiving device includes a first processor and a second processor, the computing power of the first processor is smaller than the computing power of the second processor, and the method further includes: determining a processor that calls the second decoding algorithm from the first processor and the second processor according to the maximum search width of the second decoding algorithm.
9. The method according to claim 8, characterized in that The determining, according to the maximum search width of the second decoding algorithm, a processor from the first processor and the second processor to call the second decoding algorithm comprises: determining that the second processor calls the second decoding algorithm when the maximum search width of the second decoding algorithm is greater than a preset value; When the maximum search width of the second decoding algorithm is less than or equal to a preset value, determining The processor calls the second decoding algorithm.
10. The method according to any one of claims 1 to 9, characterized in that The method further includes at least one of the following: the receiving device is a terminal, and the control channel is a physical downlink control channel; or, The receiving end device is a network side device, and the control channel is a physical uplink control channel; or, The channel quality of the control channel is represented by a signal to interference and noise ratio of the control channel; or, The first decoding algorithm is a belief propagation decoding algorithm; or, The second decoding algorithm is a serial cancellation list decoding algorithm.
11. The method according to claim 10, characterized in that The selecting the first decoding algorithm when the channel quality of the control channel satisfies the first condition, and the selecting the second decoding algorithm when the channel quality of the control channel satisfies the second condition, comprises: selecting the belief propagation decoding algorithm when the signal to interference plus noise ratio of the control channel is greater than or equal to a preset threshold; When the signal to interference plus noise ratio of the control channel is less than the preset threshold, the serial cancellation list decoding algorithm is selected.
12. The method according to claim 11, characterized in that The method further includes: determining a maximum number of decoding iterations of the belief propagation decoding algorithm according to the signal to interference plus noise ratio of the control channel when the signal to interference plus noise ratio of the control channel is greater than or equal to the preset threshold; and / or, When the signal to interference plus noise ratio of the control channel is less than the preset threshold, the maximum search width of the serial cancellation list decoding algorithm is determined according to the signal to interference plus noise ratio of the control channel.
13. The method according to claim 12, characterized in that The maximum number of decoding iterations may be searched from a preset corresponding relationship table according to the signal to interference noise ratio of the control channel; and / or, The maximum search width may be searched from the preset corresponding relationship table according to the signal to interference plus noise ratio of the control channel.
14. The method according to any one of claims 11 to 13, characterized in that The receiving end device includes a first processor and a second processor, the computing capability of the first processor is smaller than the computing capability of the second processor, and the method further includes: determining that the second processor calls the serial cancellation list decoding algorithm when the maximum search width of the serial cancellation list decoding algorithm is greater than a preset value; In a case where the maximum search width of the serial cancellation list decoding algorithm is less than or equal to a preset value, it is determined that the serial cancellation list decoding algorithm is called by the first processor.
15. The method according to any one of claims 5, 8, 9 and 14, characterized in that: The first processor is a central processing unit, and the second processor is a coprocessor.
16. The method according to claim 15, characterized in that The coprocessor is any one of a graphics processor, a field programmable logic gate array circuit, a digital signal processor and a specific application integrated circuit.
17. A receiving device, characterized in that: The receiving end device comprises: one or more processors and memory; The memory is used to store computer program code, which includes computer instructions. When the one or more processors execute the computer instructions, the receiving device executes the decoding method as described in any one of claims 1 to 16.
18. A computer-readable storage medium, characterized in that: The computer-readable storage medium is used to store a computer program, and when the computer program is executed, it implements the decoding method according to any one of claims 1 to 16.