Method, device, chip, terminal and storage medium for wireless communication

By dynamically adjusting the number of decoding iterations and the compression rate driven by the block error rate, the problems of decoding performance and resource utilization efficiency in the HARQ process are solved, thereby improving the overall performance of the wireless communication system.

CN116155448BActive Publication Date: 2025-11-04伟光有限公司(CN)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211731127.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-30
Publication Date
2025-11-04
Estimated Expiration
2042-12-30

AI Technical Summary

Technical Problem

In existing HARQ technology, the fixed number of decoding iterations leads to insufficient utilization of the number of iterations when the signal-to-noise ratio is high, and insufficient iterations when the signal-to-noise ratio is low, affecting decoding performance; the fixed compression ratio in data storage leads to reduced merging efficiency when the signal-to-noise ratio changes; and unreasonable allocation of the prefetch memory area leads to resource waste.

Method used

The number of decoding iterations is dynamically adjusted, and the threshold for the number of iterations of subsequent coding blocks is updated based on the used decoding time and the total decoding time. The compression ratio of soft bit data is dynamically adjusted based on the block error rate. The prefetch memory area is reasonably allocated to adapt to changes in the signal-to-noise ratio.

Benefits of technology

It improves decoding performance, optimizes data storage and merging decoding efficiency, avoids resource waste, and enhances the overall performance of the communication system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116155448B_ABST
    Figure CN116155448B_ABST
Patent Text Reader

Abstract

The embodiment of the application discloses a kind of method, device, chip, terminal and storage medium for wireless communication, belong to wireless communication technical field.The method comprises: in the process of decoding transport block, the consumed used decoding time after the decoding of the i th code block group is obtained, transport block is divided into m code block groups, each code block group contains at least one code block, m is positive integer, i is less than or equal to m Positive integer;Determine the total time consumed by decoding transport block;Based on total time and used decoding time, update the decoding iteration number threshold of each code block in the i+1 th code block group, the decoding iteration number of each code block in the i+1 th code block group is less than or equal to decoding iteration number threshold.The method can dynamically adjust decoding iteration number, to improve the decoding performance of decoder.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and in particular to a method, apparatus, chip, terminal and storage medium for wireless communication. Background Technology

[0002] Hybrid Automatic Repeat Request (HARQ) refers to a mechanism where, in the event of decoding failure, the receiver saves the received soft bits and sends a retransmission control command to the sender, requesting retransmission. The receiver then merges the retransmitted data with the previously received data before decoding. During decoding, a maximum number of decoding iterations is set for each coded block. Once the maximum number of iterations is reached, decoding of the current coded block stops, and decoding of the next coded block begins. Summary of the Invention

[0003] This application provides a method, apparatus, chip, terminal, and storage medium for wireless communication. The technical solution is as follows:

[0004] On one hand, embodiments of this application provide a method for wireless communication, the method comprising:

[0005] During the decoding process of the transport block, the decoding time consumed after the decoding of the i-th coded block group is obtained. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m.

[0006] Determine the total decoding time required to decode the transport block;

[0007] Based on the total decoding time and the used decoding time, update the decoding iteration number threshold for each of the coded blocks in the (i+1)th coded block group, wherein the decoding iteration number for each of the coded blocks in the (i+1)th coded block group is less than or equal to the decoding iteration number threshold.

[0008] On the other hand, embodiments of this application provide an apparatus for wireless communication, the apparatus comprising:

[0009] The acquisition module is used to acquire the decoding time consumed after the decoding of the i-th coded block group is completed during the decoding process of the transport block. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m.

[0010] A determination module is used to determine the total decoding time required to decode the transport block;

[0011] An update module is used to update the decoding iteration number threshold of each of the coded blocks in the (i+1)th coded block group based on the total decoding time and the used decoding time, wherein the decoding iteration number of each of the coded blocks in the (i+1)th coded block group is less than or equal to the decoding iteration number threshold.

[0012] On the other hand, embodiments of this application provide a chip including programmable logic circuits and / or program instructions, which, when the chip is running, are used to implement the wireless communication method as described above.

[0013] On the other hand, embodiments of this application provide a terminal, the terminal including a processor and a memory, the memory storing at least one program, the at least one program being loaded and executed by the processor to implement the method for wireless communication as described above.

[0014] On the other hand, embodiments of this application provide a computer-readable storage medium storing at least one piece of program code, which is loaded and executed by a processor to implement the method for wireless communication as described above.

[0015] On the other hand, embodiments of this application provide a computer program product including computer instructions stored in a computer-readable storage medium. A terminal's processor reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the wireless communication methods provided in various optional implementations of the above aspects.

[0016] The technical solution provided in this application can bring the following beneficial effects:

[0017] By acquiring the decoding time consumed by the initial coded block group and the total decoding time required to decode the transmission block, the maximum number of decoding iterations available for each coded block when decoding subsequent coded block groups is dynamically updated. This allows for reserving more decoding time and iterations for later coded block groups when the signal-to-noise ratio is high in the early stages, enabling the decoding of coded blocks with more decoding iterations later on. This avoids the problem of limited decoding iterations for some coded blocks when the signal-to-noise ratio is low in the later stages, thereby improving the decoding performance of the decoder for transmission blocks. Attached Figure Description

[0018] Figure 1 This is a schematic diagram of the Hybrid Automatic Repeat (HARQ) process;

[0019] Figure 2 This is a schematic diagram illustrating the process of decoding transport blocks in related technologies;

[0020] Figure 3 A flowchart illustrating a method for wireless communication is shown in an exemplary embodiment of this application;

[0021] Figure 4 A flowchart illustrating a method for wireless communication is shown in another exemplary embodiment of this application;

[0022] Figure 5 This illustration shows a schematic diagram of the decoding iteration number threshold update process, as illustrated in an exemplary embodiment of this application.

[0023] Figure 6 A flowchart illustrating a method for wireless communication is shown in an exemplary embodiment of this application;

[0024] Figure 7 A flowchart illustrating a method for wireless communication is shown in another exemplary embodiment of this application;

[0025] Figure 8 A flowchart illustrating a method for wireless communication is shown in another exemplary embodiment of this application;

[0026] Figure 9 This invention provides a schematic diagram illustrating a process for dynamically adjusting the compression ratio, as shown in an exemplary embodiment of this application.

[0027] Figure 10 A flowchart illustrating a method for wireless communication is shown in an exemplary embodiment of this application;

[0028] Figure 11 A flowchart illustrating a method for wireless communication is shown in another exemplary embodiment of this application;

[0029] Figure 12 This invention provides a schematic diagram illustrating the partitioning of the prefetch memory area according to an exemplary embodiment of this application.

[0030] Figure 13 A schematic diagram illustrating the partitioning of the prefetch memory area is shown in another exemplary embodiment of this application;

[0031] Figure 14 A structural block diagram of an apparatus for wireless communication according to an embodiment of this application is shown;

[0032] Figure 15 A structural block diagram of a terminal provided in an exemplary embodiment of this application is shown. Detailed Implementation

[0033] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0034] In this article, "multiple" refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0035] The HARQ process is as follows: Figure 1 As shown, during data communication, the transmitting end 101 can encode the transmitted data to generate a transmission block and transmit it to the receiving end 102. The receiving end 102 decodes the received transmission block, and after decoding, it can obtain the correctly transmitted data and the data that was transmitted incorrectly. For the data that was transmitted incorrectly, the receiving end 102 needs to send a retransmission control command to the transmitting end 101 so that the transmitting end 101 can send a retransmission encoded block to the receiving end 102 according to the retransmission control command. Furthermore, the receiving end 102 can combine and decode the retransmission encoded block and the data that was transmitted incorrectly in the previous transmission to improve the transmission reliability and transmission efficiency of the communication system.

[0036] In related technologies, the HARQ process has been improved in three aspects: (1) During the decoding stage, when the decoder decodes the coded block, in order to ensure decoding efficiency and avoid undecoded coded blocks from hindering the decoding process, a maximum number of decoding iterations is set, that is, the number of decoding iterations for each coded block must be less than or equal to the maximum number of decoding iterations. Illustratively, the process of decoding the transport block in related technologies is as follows: Figure 2 As shown, each coded block in the transport block has the same maximum number of decoding iterations, meaning that the number of decoding iterations for each coded block cannot exceed the maximum number of decoding iterations. The formula for determining the maximum number of decoding iterations for each coded block can be shown in formula (1).

[0037] N_iteration=T / (m*t_per_iteration) (1)

[0038] Where N_iteration represents the maximum number of decoding iterations for each coded block, T represents the total decoding time for the transport block, m represents the total number of coded blocks contained in the transport block, and t_per_iteration represents the time for each iteration. For the same transport block, T, m, and t_per_iteration are all fixed values, so the maximum number of decoding iterations for each coded block is also a fixed value.

[0039] (2) During the data storage phase, in the HARQ process, the soft bit data of the transmission error needs to be temporarily stored in the receiver 102, for example, in the DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory) of the receiver 102. This allows the receiver 102 to read the soft bit data of the transmission error from the DDR when it receives a retransmission code block, and to merge and decode it together with the currently received retransmission code block. Since the amount of soft bit data of the transmission error is large, in order to reduce the memory space occupied by the soft bit data, it is necessary to compress the soft bit data of the transmission error and then store it in the DDR. Specifically, the compression ratio of the soft bit data is set according to the number of MIMO (Multiple Input Multiple Output) layers. That is, a higher compression ratio is used when there are more MIMO layers, and a lower compression ratio is used when there are fewer MIMO layers.

[0040] (3) During the data reading phase, to avoid reading the previously transmitted erroneous data from the DDR during merging and decoding, thus reducing the read pressure on the DDR and lowering merging efficiency, a prefetch memory area is set up on the chip where the decoder is located. This area is used to pre-write the data in the DDR into the prefetch memory area before merging and decoding the retransmitted code block. This allows the data to be directly read from the on-chip prefetch memory area during merging and decoding, improving merging efficiency. Furthermore, the amount of data prefetched in the prefetch memory area is determined based on the maximum number of transmission blocks supported by the terminal in the same time slot, with a fixed Ncb size prefetch memory area allocated to each transmission block.

[0041] However, the following problems still exist in the HARQ process when using the methods in the related technologies: (1) Setting the maximum number of decoding iterations in the decoding stage can indeed avoid the impact of decoding errors on the decoding process of subsequent coding blocks. However, setting the same maximum number of decoding iterations for each coding block means that for the transport block, if the signal-to-noise ratio is high when decoding the previous coding block and low when decoding the subsequent coding block, each coding block only needs a few iterations to complete the decoding. If the maximum number of decoding iterations is fixed, the extra time cannot be used to decode the subsequent coding blocks, thereby reducing the decoding performance. (2) In the data storage stage, the compression ratio of the computed bit data is set only according to the number of MIMO layers. If a higher compression ratio is used when there are many MIMO layers, the number of soft bits (effective data) will be less, which will reduce the soft bit merging gain and thus reduce the performance of subsequent merging and decoding. Moreover, if the block error rate is low, using a higher compression ratio will result in a larger bandwidth redundancy of DDR. (3) During the data reading phase, the prefetch storage area is allocated according to the maximum number of transmission blocks supported by the terminal. If the terminal is configured with only one carrier, it may only need to prefetch 1 Ncb soft bit data. However, allocating the prefetch storage area according to the maximum number of transmission blocks will obviously result in a waste of the prefetch storage area.

[0042] In order to solve some of the problems in the above three aspects, this application has made improvements to the above three aspects respectively, and the improvement methods will be described in turn in the following embodiments.

[0043] First, in order to solve the problems caused by the aforementioned related technologies (1), this application provides a method for dynamically adjusting the maximum number of decoding iterations to further improve decoding performance. Please refer to... Figure 3 This document illustrates a flowchart of a method for wireless communication according to an exemplary embodiment of this application. The embodiments of this application use an application of this method to a terminal as an example. The method includes:

[0044] Step 301: During the decoding process of the transport block, obtain the decoding time consumed after the decoding of the i-th coded block group is completed. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m.

[0045] Since the number of decoding iterations required to complete the decoding of each coded block in the transport block is different, the coded blocks with high signal-to-noise ratio require fewer decoding iterations, while the coded blocks with low signal-to-noise ratio require relatively more decoding iterations. In order to reserve the number of iterations (iteration time) saved by decoding the previous coded blocks for subsequent coded blocks, in one possible implementation, during the decoding process of the transport block, the terminal can obtain the used decoding time from the start of decoding to the end of decoding the i-th coded block group, and the total decoding time consumed by decoding the transport block, and dynamically update the maximum number of decoding iterations that can be reserved for decoding subsequent coded blocks.

[0046] Optionally, when updating the decoding iteration threshold (maximum decoding iteration count), the threshold can be set to update the decoding iteration count of the next coding block immediately after the decoding of each coding block is completed; alternatively, the threshold can be set to update the decoding iteration count of the next coding block immediately after the decoding of every two or more coding blocks is completed. In this embodiment, the transport block is divided into m coding block groups according to the granularity of coding blocks, so that the decoding iteration count threshold of each coding block in the next coding block group is updated after the decoding of each coding block group is completed. Each coding block group can contain one coding block, or it can contain two or more coding blocks. Optionally, the number of coded blocks contained in different coded block groups can be the same. For example, if a transport block contains 100 coded blocks, it can be divided into 10 coded block groups, each containing 10 coded blocks. Alternatively, the number of coded blocks contained in different coded block groups can be different. For example, if a transport block contains 100 coded blocks, it can be divided into 10 coded block groups, with the number of coded blocks contained in different coded block groups being {10, 5, 15, 12, 8, 11, 9, 13, 7, 10}.

[0047] It should be noted that, in the embodiments of this application, when decoding the transport block, if the number of decoding iterations consumed by the encoded block after decoding is less than the maximum number of decoding iterations (decoding iteration threshold), the decoder will directly decode the next encoded block, thereby saving decoding time for subsequent encoded blocks.

[0048] Step 302: Determine the total decoding time required to decode the transmission block.

[0049] Optionally, the terminal can be configured with the total decoding time required to decode the transport block. This total decoding time can be directly obtained when updating the decoding iteration threshold. Optionally, different total decoding times can be set for transport blocks containing different numbers of coded blocks. For example, if the transport block contains a large number of coded blocks, a relatively long total decoding time can be set; if the transport block contains a small number of coded blocks, a relatively short total decoding time can be set.

[0050] Step 303: Based on the total decoding time and the used decoding time, update the decoding iteration threshold for each coded block in the (i+1)th coded block group, where the decoding iteration number of each coded block in the (i+1)th coded block group is less than or equal to the decoding iteration threshold.

[0051] Unlike related technologies, in this application embodiment, after each coded block group is decoded, the terminal can determine the remaining decoding time for subsequent coded block groups based on the consumed decoding time and the total decoding time. This allows the terminal to update the decoding iteration number threshold for each coded block in the (i+1)th coded block group, ensuring that the decoder can decode the (i+1)th coded block group based on the updated decoding iteration number threshold, thus guaranteeing that the decoding iteration number for each coded block in the (i+1)th coded block group is less than or equal to the decoding iteration number threshold.

[0052] In an exemplary example, if a transport block contains 100 coded blocks and the total decoding time is 100ms, it is divided into 10 coded block groups, each containing 10 coded blocks. If the decoder consumes 10ms to decode the first two coded block groups, then the decoder has 90ms available for decoding the subsequent eight coded block groups. This allows for more decoding time to be allocated to subsequent coded blocks, corresponding to a higher threshold for decoding iterations.

[0053] Optionally, after the (i+1)th coded block group is decoded, the decoding iteration threshold of each coded block in the (i+2)th coded block group can still be updated based on the used decoding time and total decoding time consumed from the first coded block group to the (i+1)th coded block group, until the transmission block decoding is completed.

[0054] In summary, in this embodiment, by obtaining the decoding time consumed by the early-stage coding block group and the total decoding time required to decode the transmission block, the maximum number of decoding iterations available for each coding block when decoding subsequent coding block groups is dynamically updated. This allows for reserving more decoding time and iterations for later coding block groups when the signal-to-noise ratio is high in the early stages, enabling the later coding blocks to be decoded using more decoding iterations. This avoids the problem of limited decoding iterations available for some coding blocks when the signal-to-noise ratio is low in the later stages, thereby improving the decoding performance of the decoder for transmission blocks.

[0055] In the process of updating the decoding iteration threshold based on the used decoding time and the total decoding time, the total number of decoding iterations available for subsequent coding block groups can be determined based on the used decoding time and the total decoding time. Then, based on the total number of decoding iterations, the maximum number of decoding iterations available for each coding block can be determined.

[0056] Please refer to Figure 4 This document illustrates a flowchart of a method for wireless communication according to another exemplary embodiment of this application. The embodiments of this application use an application of this method to a terminal as an example. The method includes:

[0057] Step 401: During the decoding process of the transport block, obtain the decoding time consumed after the decoding of the i-th coded block group is completed. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m.

[0058] Optionally, when dividing a transport block, the transport block can be divided according to the number of coded blocks contained within it. The process of dividing a transport block may include steps one and two.

[0059] Step 1: Obtain the number of second-order coded blocks contained in the transport block.

[0060] Step 2: Based on the number of second coding blocks, determine the number of coding block groups into which the transport block is divided. The number of coding block groups is positively correlated with the total number of coding blocks.

[0061] If a transport block contains a large number of coded blocks, to avoid a large granularity of coded block groups leading to a slow update frequency for the maximum decoding iteration count, thus failing to reserve more decoding iteration counts for subsequent coded blocks, in one possible implementation, the terminal can dynamically divide the transport block based on the number of second coded blocks it contains. For example, if the transport block contains a large number of coded blocks, it can be divided into relatively more coded block groups to increase the update frequency of the maximum decoding iteration count; if the transport block contains a small number of coded blocks, it can be divided into relatively fewer coded block groups to reduce the computational load for the maximum decoding iteration count.

[0062] Optionally, the terminal can be configured with a correspondence between the number of second coded blocks contained in the transport block and the number of coded block groups into which the transport block is divided. After obtaining the number of second coded blocks contained in the transport block, the terminal can map the number of corresponding coded block groups based on the number of second coded blocks, so as to divide the transport block into the corresponding number of coded block groups based on the number of coded block groups.

[0063] Step 402: Determine the total decoding time required to decode the transmission block.

[0064] Optionally, since the unit decoding time (time required for a single decoding operation) of the decoder is a fixed value, the total decoding time required to decode the transmission block will be determined by the size of the transmission block. If the transmission block contains a large number of coded blocks, the total decoding time required for that transmission block will be relatively large; if the transmission block contains a small number of coded blocks, the total decoding time required for that transmission block will be relatively small. In an exemplary example, step 402 may include steps 402A and 402B.

[0065] Step 402A: Obtain the number of second coding blocks in the coding blocks contained in the transport block.

[0066] Step 402B: Based on the number of second coded blocks, determine the total decoding time required to decode the transmission block.

[0067] Optionally, the terminal can be configured with a correspondence between the transport block size and the total decoding time required. Once the terminal obtains the number of second coded blocks contained in the transport block, it can map the corresponding total decoding time based on the number of second coded blocks to determine the total decoding time required for the decoder to decode the transport block.

[0068] Optionally, the total decoding time is positively correlated with the number of coded blocks. If the number of second coded blocks in a transport block is more, the total decoding time that transport block may consume will be relatively more; if the number of second coded blocks in a transport block is less, the total decoding time that transport block may consume will be relatively less.

[0069] Step 403: Based on the total decoding time, the used decoding time, and the unit iteration time, determine the total number of decoding iterations available for decoding the (i+1)th to the mth coded block groups.

[0070] Here, the unit iteration time is the time required for the decoder to perform a single decoding operation on the coded block. Optionally, the unit iteration time may be affected by the code rate corresponding to the transport block. The terminal can determine the unit iteration time required to decode the coded block corresponding to the transport block based on the code rate of the transport block.

[0071] In one possible implementation, after the terminal obtains the total decoding time of the transport block and the used decoding time for decoding the preceding coded blocks (from the first coded block to the i-th coded block), it can determine the available decoding time from the (i+1)-th coded block group to the m-th coded block group based on the total decoding time and the used decoding time. Furthermore, the terminal can obtain the unit iteration time required for a single decoding operation, so as to determine the total number of decoding iterations available for decoding the (i+1)-th coded block group to the m-th coded block group based on the unit iteration time and the available decoding time. That is, the (i+1)-th to the m-th coded block group needs to be decoded after the total number of decoding iterations.

[0072] Step 404: Based on the total number of decoding iterations, update the decoding iteration threshold for each coded block in the (i+1)th coded block group.

[0073] Once the terminal obtains the total number of decoding iterations required from the (i+1)th to the mth coded block group, it can update the decoding iteration threshold for each coded block in the (i+1)th coded block group based on the total number of decoding iterations. In an exemplary example, step 404 may include steps 404A to 404C.

[0074] Step 404A: Determine the number of first-order coded blocks that have been decoded after the decoding of the i-th coded block group is completed.

[0075] Step 404B: Determine the number of second coded blocks in the coded blocks contained in the transport block.

[0076] Step 404C: Based on the number of first coding blocks, the number of second coding blocks, and the total number of decoding iterations, determine the threshold for the number of decoding iterations for each coding block in the (i+1)th coding block group.

[0077] In an exemplary example, the maximum number of decoding iterations (decoding iteration threshold) available for the (i+1)th coded block group can be determined as shown in Equation (2).

[0078] N_iteration=(T-T1) / (mn)*t_per_iteration(2)

[0079] Where N_iteration represents the maximum number of decoding iterations available for the (i+1)th coded block group, T represents the total decoding time, T1 represents the used decoding time, m represents the number of second coded blocks in the transport block, n represents the number of first coded blocks that have been decoded after the decoding of the i-th coded block group is completed, and t_per_iteration represents the unit iteration time.

[0080] As can be seen from formula (2), the terminal can obtain the used decoding time, the total decoding time, the number of first coding blocks of the coding blocks that have been decoded, the number of second coding blocks of the coding blocks contained in the transport block, and the unit iteration time, and use formula (2) to calculate the maximum number of decoding iterations available for the (i+1)th coding block group (decoding iteration threshold).

[0081] Optionally, the terminal can first determine the total number of decoding iterations available for the (i+1)th to the mth coding block groups based on the used decoding time, the total decoding time, and the unit iteration time; and obtain the number of first coding blocks that have been decoded after the ith coding block group has finished decoding, as well as the number of second coding blocks contained in the transport block, to determine the number of third coding blocks remaining to be decoded in the transport block. Then, based on the number of third coding blocks and the total number of decoding iterations, the terminal can determine the threshold number of decoding iterations for each coding block in the (i+1)th coding block group.

[0082] like Figure 5 The diagram illustrates an exemplary embodiment of this application, showing the process for updating the decoding iteration threshold. When the time consumed after decoding the coded block group (coded blocks CB0 to CBn-1) is T1, the maximum decoding iteration number N of the coded block CBn can be updated based on the total decoding time T, the used decoding time T1, the unit iteration time, the number of first coded blocks, and the number of second coded blocks.

[0083] In an exemplary example, if a transport block contains 100 coded blocks, divided into 10 coded block groups, with each group containing 10 coded blocks, and the total decoding time for the transport block is 600ms with a unit iteration time of 1ms, then using the methods in related technologies, the maximum number of iterations for each coded block is 6. However, using the method of dynamically updating the maximum number of iterations in this application embodiment, if the time required to decode the first 5 coded block groups is 200ms, then the available time for decoding the subsequent 5 coded block groups is 400ms. Therefore, the maximum decoding iteration time for each coded block in the subsequent 5 coded block groups can be increased to 8 times, thereby reserving more decoding iterations for subsequent coded blocks and improving the decoding success rate of each coded block.

[0084] Step 405: Send the updated decoding iteration number threshold to the decoder, and the decoder decodes the (i+1)th coded block group based on the decoding iteration number threshold.

[0085] In one possible implementation, the calculation of the decoding iteration number threshold is performed by the software layer. Once the software layer has calculated the updated decoding iteration number threshold, it can send the updated threshold to the decoder so that the decoder can decode the (i+1)th coded block group based on the updated threshold. Furthermore, during the decoding of the (i+1)th coded block group, the maximum number of decoding iterations for each coded block does not exceed the decoding iteration number threshold.

[0086] In this embodiment, by obtaining the used decoding time, total decoding time, number of first coding blocks of the completed decoding block, number of second coding blocks of the transmission block, and unit iteration time, the maximum number of decoding iterations available for the (i+1)th coding block group is calculated. This provides a method for calculating the maximum number of decoding iterations, which allows the maximum number of decoding iterations for each coding block group to be dynamically adjusted during the decoding process of the same transmission block, thereby improving the decoding performance of the decoder.

[0087] Secondly, in order to solve the problems caused by the aforementioned related technologies (2), this application embodiment also provides a method for dynamically adjusting the soft bit data compression rate based on the block error rate, so as to further improve the performance of merging and decoding. Please refer to Figure 6 This document illustrates a flowchart of a method for wireless communication according to an exemplary embodiment of this application. The embodiments of this application use an application of this method to a terminal as an example. The method includes:

[0088] Step 601: Determine the block error rate of the coded block group. The coded block group includes at least one coded block. The block error rate refers to the probability that an erroneous coded block is transmitted in the coded block group.

[0089] To improve the reliability and efficiency of communication system transmission, a HARQ mechanism is used for data transmission. Data blocks are encoded and transmitted to the receiving end, where they are decoded and subjected to CRC (Cyclic Redundancy Check). If the received data is corrupted, the receiving end stores the erroneous data in a specific storage area and sends retransmission control information to the sending end. This allows the sending end to retransmit the data corresponding to the erroneous data, enabling the receiving end to merge the retransmitted data with the stored data before decoding. As can be seen, the HARQ process involves storing erroneous data in a specific storage area and retrieving it from that area. To improve storage space utilization, erroneous data is often compressed before storage. Choosing an appropriate compression ratio directly affects subsequent data access and merging efficiency.

[0090] Since data access operations in a HARQ scenario target erroneous coded blocks (data), and the compression ratio aims to reduce the storage space occupied by this type of data, the compression ratio setting should be determined by the number of erroneous coded blocks. Therefore, in one possible implementation, the terminal obtains the block error rate of a coded block group to determine the probability of erroneous coded blocks within that group, and then dynamically sets the compression ratio based on the block error rate. A high block error rate indicates a large number of erroneous coded blocks in the group, potentially requiring a relatively high compression ratio; conversely, a low block error rate indicates fewer erroneous coded blocks, eliminating the need for a large compression ratio.

[0091] During data communication between the sending and receiving ends, data is often transmitted in the form of transport blocks. However, due to the large data volume of transport blocks, directly calculating the block error rate might result in a low compression rate when the data volume is large, failing to improve data access efficiency. Therefore, in one possible implementation, the transport block is divided into multiple coded block groups, each including at least one coded block. By dividing the transport block into coded block groups of appropriate granularity, data storage efficiency can be improved.

[0092] In an exemplary example, if a block group contains M blocks, and N blocks are transmitted incorrectly, then the block error rate (BER) = N / M, or the BER = N / M * 100%. For example, the BER is 50%.

[0093] Step 602: Based on the block error rate, determine the compression rate of the first coded block, which is the coded block in the coded block group that has transmission errors.

[0094] The terminal contains a table that establishes a correspondence between compression ratio and block error rate. Once the terminal obtains the block error rate of a coded block group, it can look up the corresponding compression ratio in the table based on the block error rate and determine it as the compression ratio for the first coded block. This first coded block is the coded block in the coded block group that has transmitted errors.

[0095] In an exemplary example, the correspondence between compression ratio and error block rate can be shown in Table 1.

[0096] Table 1

[0097]

[0098] As shown in Table 1, if the block error rate of the coding block group is high, it means that there are many first coding blocks that need to be accessed. In order to ensure data storage efficiency, a higher compression ratio needs to be set to compress the first coding block. If the block error rate of the coding block group is low, it means that there are few first coding blocks that need to be accessed. In order to ensure the subsequent merging performance, a relatively low compression ratio can be set to compress the first coding block.

[0099] Optionally, since there are many possible values ​​for the block error rate of the calculated coded block group, it would obviously not meet the actual needs to set a corresponding compression ratio for each block error rate. Therefore, in one possible implementation, a correspondence between the block error rate range and the compression ratio can be set, as shown in Table 2.

[0100] Table 2

[0101]

[0102] Specifically, the upper limit of block error rate range 1 is less than the lower limit of block error rate range 2, the upper limit of block error rate range 2 is less than the lower limit of block error rate range 3, and the upper limit of block error rate range 3 and the lower limit of block error rate range 4 are both defined. Once the terminal determines the block error rate of the coded block group, it can first determine the block error rate range to which the block error rate falls, and then determine the compression ratio corresponding to the block error rate range as the compression ratio of the first coded block.

[0103] Step 603: Compress the first coded block based on the compression ratio to obtain compressed data.

[0104] Once the terminal determines the compression ratio of the first encoded block, it can compress the first encoded block according to the compression ratio to obtain compressed data, and then store the compressed data in the storage area.

[0105] In summary, in this embodiment of the application, by obtaining the block error rate of the coded block group and dynamically adjusting the compression ratio of the coded blocks with transmission errors based on the block error rate, the compression ratio can be selected according to the actual data size to be read and written. For example, if the block error rate is high, a relatively large compression ratio can be selected, which can reduce the data read and write bandwidth in scenarios with high block error rates, so that the data read and write bandwidth is controlled within a reasonable range; if the block error rate is low, a relatively small compression ratio can be selected, which can ensure the performance of merging and decoding while reducing the pressure on data read and write bandwidth.

[0106] The HARQ process involves two stages: initial transmission and retransmission. During the initial transmission, only the first coded block (the data with transmission errors) needs to be stored in the storage area. However, during the retransmission, not only is it necessary to store the first coded block in the storage area, but it is also necessary to read the first coded block from the storage area so that the retransmitted coded block can be merged and decoded. Therefore, the data storage bandwidth requirement for retransmission is greater than that for initial transmission. Thus, under the same block error rate, different compression rates should be set for different transmission times.

[0107] Please refer to Figure 7 The diagram illustrates a flowchart of a method for wireless communication, as shown in another exemplary embodiment of this application, the method comprising:

[0108] Step 701: Determine the block error rate of the coded block group, which includes at least one coded block. The block error rate refers to the probability of transmitting an erroneous coded block in the coded block group.

[0109] During communication, the receiving end (terminal) needs to decode the received transmission block (coded block). During decoding, a CRC check is performed on the coded block to determine if an error occurred during data transmission. The block error rate of the coded block group can be determined by statistically analyzing the CRC result of each coded block. In an exemplary example, step 701 may include steps 701A to 701C.

[0110] Step 701A: Obtain the CRC result of each coded block in the coded block group. The CRC result is used to indicate whether the coded block has been transmitted incorrectly.

[0111] Step 701B: Based on the CRC result, determine the number of errors in the coded blocks that have been transmitted incorrectly in the coded block group.

[0112] During the decoding process of a coded block, a CRC check is performed on the coded block. The CRC check is used to determine whether an error occurred in the data of the coded block during transmission. If an error occurs, the sending end needs to retransmit the corresponding data. In one possible implementation, the number of erroneous coded blocks in the coded block group that have experienced transmission errors is determined by obtaining the CRC results of each coded block in the coded block group, which is then used to determine the block error rate of the coded block group.

[0113] Step 701C: The ratio of the number of errors to the total number of coded blocks is determined as the block error rate of the coded block group, where the total number of coded blocks is the total number of coded blocks contained in the coded block group.

[0114] The block error rate can be determined using the formula: Block Error Rate = Number of Errors / Total Number of Coded Blocks. Once the terminal obtains the number of errors in the coded blocks that have experienced transmission errors within the coded block group, the ratio of the number of errors to the total number of coded blocks in the group is determined as the block error rate of the coded block group.

[0115] Optionally, during the process of dividing coded block groups, the coded block groups can be determined by setting the statistical length of the block error rate. In an exemplary example, the process of determining coded block groups may include the following steps:

[0116] Step 1: Determine the statistical length of the error block rate.

[0117] Step 2: Based on the statistical length, determine the coding block group. The total number of coding blocks contained in the coding block group varies in different statistical lengths.

[0118] The total number of coded blocks contained in the coded block group varies depending on the statistical length. In one possible implementation, the terminal pre-sets a statistical length for the block error rate so that the coded block group is divided into units of the statistical length to obtain the corresponding block error rate.

[0119] Optionally, the statistical length can be set according to the needs of the business personnel; multiple optional statistical length values ​​can also be preset so that they can be dynamically adjusted according to the network transmission quality during actual use. For example, when the network transmission quality is good (the block error rate may be relatively low), a relatively long statistical length can be set, corresponding to a coding block group containing more coding blocks; when the network transmission quality is poor (the block error rate may be relatively high), a relatively short statistical length can be set, corresponding to a coding block group containing fewer coding blocks.

[0120] Step 702: Determine the timing for transmitting the coded block group.

[0121] Step 703: Determine the compression ratio of the first coded block based on the transmission timing and the block error rate.

[0122] In the HARQ process, there are two transmission opportunities for coded blocks: initial transmission and retransmission. If a coded block is transmitted incorrectly during the initial transmission, a retransmission control command needs to be sent to the sender so that the sender can retransmit the coded block that was transmitted incorrectly during the initial transmission. The bandwidth requirements for data access differ between the different transmission opportunities. The initial transmission only needs to store the erroneous coded block in the storage area, while the retransmission needs to retrieve the erroneous coded block from the initial transmission (or the previous retransmission) and also store the erroneous coded block from the current transmission in the storage area. Therefore, to alleviate the bandwidth pressure on the storage area during the retransmission process, in one possible implementation, the terminal needs to obtain the transmission opportunity of the coded block group so that the compression ratio corresponding to the first coded block can be determined jointly based on the transmission opportunity and the block error rate.

[0123] In an exemplary example, step 703 may include steps 703A and 703B.

[0124] Step 703A: When the transmission timing is the initial transmission, determine the first compression rate of the first coded block based on the transmission timing and the block error rate.

[0125] Step 703B: When the transmission timing is a retransmission, a second compression ratio of the first coded block is determined based on the transmission timing and the block error rate. The second compression ratio is greater than the first compression ratio.

[0126] Optionally, the terminal may configure the correspondence between block error rate and compression rate for different transmission times. In an exemplary example, the correspondence between transmission time, block error rate, and compression rate may be shown in Table 3.

[0127] Table 3

[0128]

[0129] When the terminal determines that the transmission timing of the coded block group is the initial transmission, it can select the corresponding relationship between the block error rate and the compression rate based on the initial transmission timing, and then select the first compression rate corresponding to the block error rate. For example, if the transmission timing is the initial transmission and the block error rate is 100%, then as shown in Table 3, the first compression rate determined based on the transmission timing and the block error rate is compression rate 3.

[0130] Optionally, when the terminal determines that the transmission timing of the coded block group is a retransmission, it can select the corresponding relationship between the block error rate and the compression rate based on the retransmission timing, and then select the second compression rate corresponding to the block error rate. For example, if the transmission timing is a retransmission and the block error rate is 100%, then as shown in Table 3, the second compression rate determined based on the transmission timing and the block error rate is compression rate 4.

[0131] Optionally, since retransmission requires more data access bandwidth than the initial transmission, in order to reduce the data read and write bandwidth in the retransmission scenario, the compression ratio corresponding to retransmission is set to be greater than that corresponding to the initial transmission when the block error rate is the same. That is, when the block error rate is the same, the second compression ratio corresponding to the retransmission scenario is greater than the first compression ratio corresponding to the initial transmission scenario.

[0132] Step 704: Compress the first coded block based on the compression ratio to obtain compressed data.

[0133] Optionally, when the transmission timing is the initial transmission, the compression rate of the first coded block is determined based on the transmission timing and the block error rate. Then, the first coded block can be compressed according to the first compression rate to obtain compressed data.

[0134] Optionally, when the transmission timing is the initial transmission, the compression rate of the first coded block is determined to be the second compression rate based on the transmission timing and the block error rate. Then, the first coded block can be compressed according to the second compression rate to obtain compressed data.

[0135] The implementation method of step 704 can be referred to the above embodiment, and will not be repeated here.

[0136] Step 705: Store the compressed data in the storage area. The compressed data will be used for merging and decoding with the next retransmitted encoded block.

[0137] Since the compressed data needs to be merged and decoded when the terminal receives the retransmitted coded block (data) again, after the compressed data is generated, it needs to be stored in the storage area so that after receiving the retransmitted coded block of the next transmission from the sending end, the compressed data can be read from the storage area so as to merge and decode according to the compressed data and the retransmitted coded block.

[0138] Optionally, the storage area can be DDR or other storage areas, and the embodiments of this application do not constitute a limitation.

[0139] In this embodiment, based on the data access bandwidth requirements under different transmission scenarios, a corresponding relationship between block error rate and compression rate is set for each transmission scenario, thereby meeting the bandwidth requirements for data access during retransmission. Furthermore, adopting a higher compression rate during retransmission can also improve the performance of subsequent merging and decoding. Moreover, by using the dynamically adjusted compression rate in this embodiment, even in scenarios with high data transfer rates and high block error rates, the maximum bandwidth requirement for the memory area (DDR) can be kept less than the peak bandwidth of the DDR.

[0140] Under the same transmission conditions, different block error rates require different compression ratios. Since a higher block error rate indicates a larger amount of data to be accessed, a relatively higher compression ratio is needed to reduce the bandwidth pressure on data access. Conversely, a lower block error rate indicates a smaller amount of data to be accessed, so a relatively lower compression ratio can be set to improve the performance of subsequent merging and decoding and avoid significant loss of effective data due to a higher compression ratio.

[0141] exist Figure 7 On the basis of, such as Figure 8 As shown, step 703 can be replaced by steps 801 to 804.

[0142] Step 801: When the transmission time is the initial transmission and the block error rate is the first block error rate, determine the third compression rate of the first coded block.

[0143] Step 802: When the transmission time is the initial transmission and the block error rate is the second block error rate, determine the fourth compression rate of the first coded block, wherein the first block error rate is greater than the second block error rate and the third compression rate is greater than the fourth compression rate.

[0144] As shown in Table 3, under the same transmission timing, different block error rates result in different compression ratios. A higher block error rate corresponds to a relatively higher compression ratio, while a lower block error rate corresponds to a relatively lower compression ratio. In one possible implementation, when the transmission timing is the initial transmission and the first block error rate is greater than the second block error rate, a third compression ratio is determined based on the first block error rate, and a fourth compression ratio is determined based on the second block error rate, with the third compression ratio being greater than the fourth compression ratio.

[0145] In an exemplary example, in the initial transmission case, if the block error rate of coded block group A is 50% and the block error rate of coded block group B is 100%, then in the compression ratio determined based on the block error rate, the compression ratio 1 corresponding to coded block group A is less than the compression ratio 2 corresponding to coded block group B.

[0146] Optionally, when the correspondence between block error rate and compression ratio is a correspondence between block error rate range and compression ratio, block error rates within the same block error rate range can correspond to the same compression ratio. For example, if the correspondence between block error rate and compression ratio indicates that a block error rate of 80% to 100% corresponds to a compression ratio of 3, and at the initial transmission time, the block error rate corresponding to coded block group A is 85%, and the block error rate corresponding to coded block group B is 90%, both of which are within the block error rate range of 80% to 100%, then based on the block error rate, the compression ratios of the two are determined to be the same, both being a compression ratio of 3.

[0147] Step 803: When the transmission timing is a retransmission and the block error rate is the third block error rate, determine the fifth compression rate of the first coded block.

[0148] Step 804: When the transmission timing is retransmission and the block error rate is the fourth block error rate, determine the sixth compression rate of the first coded block, wherein the third block error rate is greater than the fourth block error rate and the fifth compression rate is greater than the sixth compression rate.

[0149] Similar to the initial transmission, under the same transmission timing, different compression ratios are set for different block error rates. A higher block error rate corresponds to a relatively higher compression ratio, while a lower block error rate corresponds to a relatively lower compression ratio. In one possible implementation, when the transmission timing is a retransmission and the third block error rate is greater than the fourth block error rate, a fifth compression ratio is determined based on the third block error rate, and a sixth compression ratio is determined based on the fourth block error rate, with the fifth compression ratio being greater than the sixth compression ratio.

[0150] In an exemplary example, in the case of retransmission, if the block error rate of coded block group A is 50% and the block error rate of coded block group B is 100%, then in the compression ratio determined based on the block error rate, the compression ratio 1 corresponding to coded block group A is less than the compression ratio 2 corresponding to coded block group B.

[0151] Optionally, when the correspondence between block error rate and compression ratio is a correspondence between block error rate range and compression ratio, block error rates within the same block error rate range can correspond to the same compression ratio. For example, if the correspondence between block error rate and compression ratio indicates that a block error rate of 80% to 100% corresponds to a compression ratio of 4, and under retransmission conditions, the block error rate corresponding to coded block group A is 85%, and the block error rate corresponding to coded block group B is 90%, both of which are within the block error rate range of 80% to 100%, then based on the block error rate, the compression ratios of the two are determined to be the same, both being a compression ratio of 4.

[0152] In this embodiment, under the same transmission timing, a relatively high compression ratio is set for the coding block group with a high block error rate to reduce the data access bandwidth in the scenario of high block error rate; while for the coding block group with a low block error rate, a relatively low compression ratio is set. While ensuring low data access bandwidth, the proportion of effective data in subsequent merging and decoding can also be increased, thereby ensuring the performance of subsequent merging and decoding.

[0153] Please refer to Figure 9 This illustration shows a schematic diagram of a process for dynamically adjusting the compression ratio, as illustrated in an exemplary embodiment of this application. The process consists of five parts:

[0154] (1) Compression rate and block error rate settings: Set the correspondence between block error rate and compression rate under different transmission conditions. The settings for the initial transmission and retransmission are different. Retransmission involves both soft bit offload to DDR and soft bit onload from DDR. The bandwidth requirement of DDR is greater than that of the initial transmission, so the compression rate is higher than that of the initial transmission, and the number of bits under the compression rate is smaller than that of the initial transmission.

[0155] (2) Block Error Rate Statistics: After the decoder completes the decoding of each coded block, it reports the CRC result to the software. The software sets a sliding window (statistical length) to count the CRC results. For example, the length of the sliding window is L, and the step size is S. Assuming that there are N coded blocks within a window length, and M of them have CRC errors, then the error rate of the coded blocks within the window length L is M / N.

[0156] (3) Map compression ratio levels based on block error rate: Based on the initial transmission and retransmission and the statistical block error rate, find the compression ratio and block error rate level table to obtain the compression ratio of soft bits (coded blocks).

[0157] (4) Using the mapped compression ratio: After the software obtains the compression ratio corresponding to the block error rate according to the configuration, it can compress the coded blocks (soft bits) with transmission errors according to the compression ratio.

[0158] (5) Soft bit storage: Store the compressed soft bits in DDR.

[0159] In addition, to address the problems caused by the aforementioned related technologies (3), this application embodiment also provides a method for dynamically adjusting the prefetch memory allocation based on network configuration, thereby further improving the efficiency of merge decoding. Please refer to... Figure 10 This document illustrates a flowchart of a method for wireless communication according to an exemplary embodiment of this application. The embodiments of this application use an application of this method to a terminal as an example. The method includes:

[0160] Step 1001: Obtain the network type of the terminal when transmitting retransmitted coded blocks.

[0161] Because different network standards have different network configurations, and these configurations affect the number of transport blocks transmitted by the terminal, the number of error-coded blocks that need to be pre-stored in the prefetch memory is related to the number of transport blocks. Therefore, the size of the storage space that should be pre-allocated in the prefetch memory for error-coded blocks is also related to the network standard. This embodiment provides a prefetch memory allocation strategy. By obtaining the network standard of the terminal when transmitting retransmitted code blocks, different prefetch memory allocation strategies are set according to different network standard types.

[0162] Step 1002: Based on the network standard type, determine the allocation strategy of the prefetch memory area. The prefetch memory area is used to pre-store the error code blocks of the last transmission error. The allocation strategy is used to indicate the size of the storage area occupied by the error code blocks in the prefetch memory area.

[0163] The terminal is configured with a prefetch memory allocation strategy corresponding to different network standards. Optionally, the network standards in this embodiment may include three scenarios: SA (NR only), LTE only, and ENDC. SA is a 5G-only scenario, LTE only is a 4G-only scenario, and ENDC is a scenario using both 4G and 5G.

[0164] In one possible implementation, once the terminal obtains the network standard type of the current transmission retransmission coding block, it can match the allocation strategy of the prefetch memory area corresponding to the network standard type, and then divide the prefetch memory area according to the allocation strategy.

[0165] Step 1003: Based on the allocation strategy, the prefetch storage area is divided into at least two sub-storage areas.

[0166] The allocation strategy indicates how the prefetch memory area is divided into at least two sub-memory areas, the size of each sub-memory area, and the use of error-coded blocks from the previous transmission error in each sub-memory area. In one possible implementation, once the terminal obtains the allocation strategy for the prefetch memory area, it can divide the prefetch memory area into at least two sub-memory areas according to the sub-memory area division method indicated by the allocation strategy.

[0167] Optionally, the prefetch memory is located on-chip where the decoder is located. It is used to pre-store the error code blocks from the previous transmission. When the terminal receives the retransmission code block, it can read the error code block from the prefetch memory to merge the error code block and the retransmission code block. The decoder then decodes the merged code block. Since the capacity of the prefetch memory is limited, if all error code blocks are prefetched directly into the prefetch memory, some currently unnecessary error code blocks will occupy the prefetch memory, causing the currently needed error code blocks to still be stored in other non-on-chip storage areas. This would require reading the error code blocks from non-on-chip storage areas, which would obviously reduce the efficiency of subsequent merging and decoding. Therefore, in this embodiment, according to the needs of the retransmission code block, a sub-storage area of ​​a specific size needs to be pre-allocated in the prefetch memory for the corresponding error code block. This allows for the pre-fetching of the required error code blocks into the prefetch memory, thus making full use of the prefetch memory and meeting the needs of subsequent merging and decoding of the retransmission code block.

[0168] In summary, in this embodiment of the application, considering the different demand for error coding blocks during the retransmission process under different network configurations, different allocation strategies are set for the prefetch storage area based on different network standard types. This allows the prefetch storage area to be pre-divided into the required storage area size based on the network standard type and its corresponding allocation strategy, according to the demand for error coding blocks. This fully utilizes the storage space of the prefetch storage area to prefetch more error coding blocks, thereby reducing the waiting time for subsequent merging and decoding and improving the efficiency of subsequent merging and decoding.

[0169] In a single network standard, the number of prefetch error coding blocks is related to the carrier bandwidth and the number of MIMO (Multiple Input Multiple Output) layers. In a hybrid network standard, the number of prefetch error coding blocks is related not only to the carrier bandwidth and the number of MIMO layers, but also to the at least two network standard types included in the hybrid network standard. Therefore, in one possible implementation, different prefetch memory allocation strategies are set according to whether the network standard type is single or hybrid.

[0170] Please refer to Figure 11This document illustrates a flowchart of a method for wireless communication according to another exemplary embodiment of this application. The embodiments of this application use an application of this method to a terminal as an example. The method includes:

[0171] Step 1101: Obtain the network type of the terminal when transmitting retransmitted coded blocks.

[0172] Based on the characteristics of various network configurations, different network scenarios are divided into two network standard types: single network standard type and hybrid network standard type. A single network standard type refers to a terminal using only one network standard for data transmission, while a hybrid network standard type refers to a terminal using two or more network standards for data transmission. For example, SA (NR only) and LTE only are single network standards, while ENDC is a hybrid network standard.

[0173] Step 1102: If the network type is a single network type, determine the first allocation strategy for the prefetch memory area.

[0174] Since the factors affecting the number of prefetch error coding blocks differ under different network standards, and consequently affect the size of the prefetch memory allocated to it, in one possible implementation, the terminal sets different prefetch memory allocation strategies for different network standards. That is, a first allocation strategy for the prefetch memory is set for a single network standard, and a second allocation strategy is set for a mixed network standard. When the terminal obtains that the network standard is a single network standard, it can determine the first allocation strategy for the prefetch memory under that single network standard, and then use the first allocation strategy to divide the prefetch memory.

[0175] Step 1103: If the first allocation strategy is determined, obtain the first carrier configuration parameters and the first MIMO layer configuration parameters of the terminal.

[0176] Under a single network standard, whether it's 4G or 5G only, the number of prefetch error coding blocks depends solely on the carrier configuration and the number of MIMO layers. Therefore, the first allocation strategy instructs for dynamic allocation of the prefetch memory area according to the carrier bandwidth and the number of MIMO layers. Each carrier corresponds to a sub-memory area, the size of which is determined by the carrier bandwidth and the number of MIMO layers. In one possible implementation, after the terminal obtains the first allocation strategy, it needs to obtain the terminal's first carrier configuration parameters and first MIMO layer configuration parameters to dynamically allocate the prefetch memory area based on these parameters.

[0177] Optionally, the first carrier configuration parameters include at least the carrier bandwidth of at least two first carriers configured for the terminal, and the first MIMO layer configuration parameters include the number of first MIMO layers corresponding to each first carrier, wherein the number of first MIMO layers is the maximum number of MIMO layers supported by the carrier.

[0178] Step 1104: Based on the first carrier configuration parameters and the first MIMO layer configuration parameters, the prefetch storage area is divided into at least two sub-storage areas, and different sub-storage areas are used to pre-store error coding blocks corresponding to different carriers.

[0179] Once the terminal obtains the first carrier configuration parameters and the first MIMO layer configuration parameters, it can divide the prefetch memory into at least two word memory areas based on these parameters. This determines the sub-memory area corresponding to each first carrier and the size of each sub-memory area.

[0180] In an exemplary example, step 1104 may include steps 1104A to 1104C.

[0181] Step 1104A: Obtain the total storage capacity of the prefetch storage area.

[0182] Step 1104B: Determine the carrier bandwidth and the MIMO layer number corresponding to the carrier carrying the retransmission coded block transmission. The carrier carrying the retransmission coded block transmission belongs to the first carrier.

[0183] Step 1104C: Based on the product of carrier bandwidth and MIMO layer number, the sum of the products of carrier bandwidth and first MIMO layer number of each first carrier, and the total storage capacity, determine the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block transmission.

[0184] Taking a terminal configured with two NR carriers as an example (in an NR-only scenario), such as Figure 12 The diagram illustrates a prefetch memory partitioning scheme according to an exemplary embodiment of this application. The total size of the prefetch memory is S. Within the prefetch memory, sub-memory area 0 is partitioned for carrier 0, and sub-memory area 1 is partitioned for carrier 1. The size of sub-memory area 0 is determined by formula (3), and the size of sub-memory area 1 is determined by formula (4).

[0185] S1=B0*L0 / (B0*L0+B1*L1)*S (3)

[0186] S2=B1*L1 / (B0*L0+B1*L1)*S (4)

[0187] Where S1 represents the storage area size of sub-storage area 0, B0 represents the carrier bandwidth of carrier 0, L0 represents the maximum number of MIMO layers of carrier 0, B1 represents the carrier bandwidth of carrier 1, L1 represents the maximum number of MIMO layers of carrier 1, S2 represents the storage area size of sub-storage area 1, and S represents the storage area size of prefetch storage area.

[0188] As shown in formulas (3) and (4), under a single network standard, the prefetch memory is dynamically allocated based on the carrier bandwidth and the maximum number of MIMO layers supported by each carrier. The allocation principle is as follows: more prefetch memory is allocated to carriers with large carrier bandwidth and a large number of supported maximum MIMO layers, and relatively smaller prefetch memory is allocated to carriers with small carrier bandwidth and a small number of supported maximum MIMO layers. That is, the size of S1 and S2 is determined by their corresponding carrier bandwidth and number of MIMO layers. If B1*L1 is greater than B0*L0, then the capacity of the prefetch memory (sub-memory 2) allocated to carrier 1 is greater than the capacity of the prefetch memory (sub-memory 1) allocated to carrier 0.

[0189] Regarding the process of calculating the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block (the carrier carrying the retransmission coded block belongs to one of the first carriers), in one possible implementation, the terminal needs to first obtain the total storage capacity of the prefetch storage area, the carrier bandwidth of the carrier carrying the retransmission coded block, the number of MIMO layers corresponding to the carrier carrying the retransmission coded block, the carrier bandwidth and the number of first MIMO layers of each first carrier, and substitute them into formula (3) or formula (4) to calculate the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block. This sub-storage area is used to store the erroneous coded block corresponding to the retransmission coded block, so that the retransmission coded block and the erroneous coded block can be merged and decoded subsequently.

[0190] Step 1105: If the network standard type is a hybrid network standard, determine the second allocation strategy for the prefetch memory area. The hybrid network standard indicates that the terminal uses at least two network standards for data transmission at the same time, and the first allocation strategy and the second allocation strategy are different.

[0191] Optionally, when the terminal obtains that the network standard type is a hybrid network standard, it can determine a second allocation strategy for the prefetch memory area under the hybrid network standard, so as to use the second allocation strategy to divide the prefetch memory area.

[0192] Step 1106: Given the second allocation strategy, allocate a first sub-storage area for the first network standard based on the number of transport blocks in the first network standard.

[0193] When the network type is a hybrid network type, the number of prefetch error coding blocks is not only related to the carrier configuration and the number of MIMO layers, but also needs to be distinguished according to different network types. Therefore, the second allocation strategy indicates that different sub-storage areas should be divided for different network types first, and dynamic allocation should be carried out in different sub-storage areas according to the carrier bandwidth and the number of MIMO layers.

[0194] Optionally, when the terminal determines that the hybrid network standard includes a first network standard and a second network standard, a first sub-storage area can be allocated for the first network standard and a second sub-storage area can be allocated for the second network standard. In each sub-storage area, dynamic allocation can be performed according to the carrier bandwidth and the number of MIMO layers. For example, the second sub-storage area can be divided into multiple sub-areas, with different sub-areas corresponding to different carriers.

[0195] For example, if the first network standard is 4G (LTE), since there is one carrier configured in the LTE scenario and each carrier corresponds to two transport blocks, the terminal can allocate a first sub-storage area for the first network standard according to the number of transport blocks in the first network standard. The size of the first sub-storage area is 2 Ncb, and each transport block corresponds to one Ncb.

[0196] Step 1107: Obtain the second carrier configuration parameters and the second MIMO layer configuration parameters of the terminal under the second network standard, and allocate a second sub-storage area for the second network standard based on the second carrier configuration parameters and the second MIMO layer configuration parameters.

[0197] The first sub-storage area is a fixed-size region within the prefetch storage area. The region within the prefetch storage area excluding the first sub-storage area (the second sub-storage area) is used to store erroneous coded blocks transmitted under the second network standard. The second sub-storage area still needs to be dynamically allocated according to the carrier configuration parameters and MIMO layer configuration parameters. In one possible implementation, the terminal can obtain the terminal's second carrier configuration parameters and second MIMO layer configuration parameters under the second network standard, so as to allocate the second sub-storage area based on the second carrier configuration parameters and second MIMO layer configuration parameters.

[0198] Optionally, the second carrier configuration parameters include at least the carrier bandwidth of at least two second carriers configured for the terminal under the second network standard, and the second MIMO layer configuration parameters include at least the number of second MIMO layers corresponding to each second carrier, wherein the number of second MIMO layers is the maximum number of MIMO layers supported by the second carrier.

[0199] In an exemplary example, step 1107 may include steps 1107A to 1107C.

[0200] Step 1107A: Determine the remaining storage capacity of the second sub-storage area based on the total storage capacity and the storage capacity of the first sub-storage area.

[0201] Step 1107B: Obtain the carrier bandwidth and corresponding MIMO layer number of the carrier carrying the retransmission coded block transmission. The carrier carrying the retransmission coded block transmission belongs to the second carrier.

[0202] Step 1107C: Based on the product of carrier bandwidth and MIMO layer number, the sum of the product of carrier bandwidth and MIMO layer number of each second carrier, and the remaining storage capacity, determine the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block transmission.

[0203] Taking a hybrid network standard that includes the first network standard (4G) and the second network standard (5G) as an example, such as Figure 13 The diagram illustrates a prefetch memory partitioning scheme according to another exemplary embodiment of this application. The total size of the prefetch memory is S. Within the prefetch memory, a first sub-memory area is partitioned for the first network standard, and a second sub-memory area is partitioned for the second network standard. Both the first and second sub-memory areas are of fixed size: the size of the first sub-memory area is 2Ncb, and the size of the second sub-memory area is S-2Ncb. The second sub-memory area is further partitioned according to different carriers. In the case of two carriers, the second sub-memory area has a sub-memory area 0 for NR carrier 0 and a sub-memory area 1 for NR carrier 1. The size of sub-memory area 0 is determined by formula (5), and the size of sub-memory area 1 is determined by formula (6).

[0204] S3=B0*L0 / (B0*L0+B1*L1)*(S-2Ncb) (5)

[0205] S4=B1*L1 / (B0*L0+B1*L1)*(S-2Ncb) (6)

[0206] Where S3 represents the storage area size of sub-storage area 0, B0 represents the carrier bandwidth of NR carrier 0, L0 represents the maximum number of MIMO layers of NR carrier 0, B1 represents the carrier bandwidth of NR carrier 1, L1 represents the maximum number of MIMO layers of NR carrier 1, S4 represents the storage area size of sub-storage area 1, S represents the storage area size of prefetch storage area, and 2Ncb represents the size of the first sub-storage area.

[0207] From formulas (5) and (6), it can be seen that under the hybrid network standard, a prefetch storage area of ​​size 2*Ncb is first allocated to the first network standard (LTE). The remaining prefetch storage area is still allocated according to the carrier bandwidth and the number of MIMO layers. The allocation principle is (that is, the allocation principle of the second sub-storage area is): more prefetch storage area is allocated to NR carriers with large carrier bandwidth and supporting more maximum MIMO layers, and relatively smaller prefetch storage area is allocated to NR carriers with small carrier bandwidth and supporting fewer maximum MIMO layers. That is, the size of S3 and S4 is determined by their corresponding carrier bandwidth and MIMO layer. If B1*L1 is greater than B0*L0, then the capacity of the prefetch storage area (sub-storage area 1) allocated to NR carrier 1 is greater than the capacity of the prefetch storage area (sub-storage area 0) allocated to NR carrier 0.

[0208] Regarding the process of calculating the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block (the carrier carrying the retransmission coded block belongs to one of the second carriers), in one possible implementation, the terminal needs to first obtain the total storage capacity of the prefetch storage area, the remaining storage capacity of the second sub-storage area (obtained by subtracting the storage capacity of the first sub-storage area from the total storage capacity), the carrier bandwidth of the carrier carrying the retransmission coded block, the number of MIMO layers corresponding to the carrier carrying the retransmission coded block, the carrier bandwidth and the number of second MIMO layers of each second carrier, and substitute them into formula (5) or formula (6) to calculate the sub-storage capacity of the sub-storage area corresponding to the carrier carrying the retransmission coded block. This sub-storage area is used to store the erroneous coded block corresponding to the retransmission coded block, so that the retransmission coded block and the erroneous coded block can be merged and decoded subsequently.

[0209] Step 1108: Prefetch the error code block of the sub-storage capacity from DDR according to the sub-storage capacity of the sub-storage area.

[0210] Before the terminal decodes the retransmitted encoded block, it first needs to prefetch the erroneous encoded block from the DDR and store it in the prefetch memory area so that the erroneous encoded block can be merged and decoded with the retransmitted encoded block later. In order to prefetch enough erroneous encoded blocks in advance, this embodiment allocates corresponding storage space in the prefetch memory area according to the needs of the retransmitted encoded block, so that the terminal can prefetch erroneous encoded blocks of the size of the sub-storage area from the DDR according to the sub-storage area capacity of each sub-storage area and store them in the prefetch memory area.

[0211] Optionally, before storing the erroneous encoded blocks prefetched from DDR into DDR, the compression rate can be dynamically adjusted according to the block error rate in the above embodiment, thereby reducing the data read bandwidth of DDR and further ensuring the performance of subsequent merging and decoding.

[0212] Step 1109: Merge the erroneous coding block and the retransmission coding block to obtain the merged coding block.

[0213] When the terminal decodes the retransmission code block, it can read the corresponding error code block from the prefetch memory and merge the error code block and the retransmission code block to obtain the merged code block.

[0214] Step 1110: Decode the merged coded block.

[0215] The terminal sends the merged coded block into the decoder, which decodes the merged coded block to obtain the decoded soft bit data.

[0216] Optionally, the decoding process of the merged coded blocks can be improved by dynamically adjusting the maximum number of decoding iterations in the following embodiments.

[0217] In this embodiment, prefetch memory allocation strategies are set for different network standard types. Under a single network standard, the prefetch memory can be dynamically allocated based on the carrier bandwidth and the maximum number of supported MIMO layers. A larger prefetch memory is allocated based on the carrier bandwidth and the number of MIMO layers. This allows for the prefetching of more erroneous coded blocks into the prefetch memory when the data transmission rate is high and coded blocks are concatenated incorrectly. This reduces DDR read operations and delays the decoder's backpressure on the preceding stage without causing timing errors. Simultaneously, it fully utilizes the capacity of the prefetch memory, improving its utilization rate.

[0218] In summary, the HARQ process after the improvements in the above three aspects is as follows (this process mainly includes: data storage stage, data retrieval stage, and decoding stage):

[0219] In the data storage stage: After the decoder decodes the transmission block, it calculates the block error rate of the coded block group based on the CRC result obtained during the decoding process, so as to map the corresponding compression rate according to the block error rate, and then uses the compression rate to compress the coded block with transmission errors, and stores the compressed data (compressed soft bit data) in the storage area, which can be DDR, so as to merge and decode it with the retransmitted coded block later.

[0220] During the data reading phase: the allocation strategy of the prefetch memory area can be selected according to the network standard type, and the prefetch memory area is allocated according to the allocation principle of carrier bandwidth and MIMO layer number. A suitable storage area is reserved for the error coding blocks required for merging, so that more soft bit data (i.e. compressed data stored in DDR during the data storage phase) can be prefetched according to the amount of error coding blocks required for merging, thereby reducing the direct reading operation of compressed data in DDR and improving the efficiency of merging and decoding.

[0221] In the decoding stage: Whether in the initial transmission stage or the retransmission stage (the initial transmission stage only decodes the transmitted coded blocks, while the retransmission stage requires decoding the merged coded blocks), the transmission block to be decoded can be divided into multiple coded block groups. After the decoding of each coded block group is completed, the maximum number of decoding iterations for each coded block in the subsequent coded block group can be updated based on the consumed decoding time, the total decoding time, the number of decoded coded blocks, and the total number of coded blocks in the transmission block. This allows for more decoding time and decoding iterations to be reserved for subsequent coded blocks when the signal-to-noise ratio is high in the early stages, thereby increasing the maximum number of decoding iterations for subsequent coded blocks, increasing the decoding success rate of subsequent coded blocks, and further improving the decoding performance of subsequent coded blocks.

[0222] Please refer to Figure 14 This illustration shows a structural block diagram of a device for wireless communication according to an embodiment of this application. The device includes:

[0223] The acquisition module 1401 is used to acquire the time consumed after the decoding of the i-th coded block group is completed during the decoding process of the transmission block. The transmission block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m.

[0224] The determining module 1402 is used to determine the total decoding time required to decode the transmission block;

[0225] The update module 1403 is used to update the decoding iteration number threshold of each of the coding blocks in the (i+1)th coding block group based on the total decoding time and the used decoding time, wherein the decoding iteration number of each of the coding blocks in the (i+1)th coding block group is less than or equal to the decoding iteration number threshold.

[0226] In an optional embodiment, the update module 1403 is further configured to:

[0227] Based on the total decoding time, the used decoding time, and the unit iteration time, determine the total number of decoding iterations available for decoding the (i+1)th coded block group to the mth coded block group;

[0228] Based on the total number of decoding iterations, update the threshold for the number of decoding iterations for each of the coded blocks in the (i+1)th coded block group.

[0229] In an optional embodiment, the update module 1403 is further configured to;

[0230] Determine the number of first-order coded blocks that have been decoded after the i-th coded block group has been decoded;

[0231] Determine the number of second coded blocks contained in the coded block of the transport block;

[0232] Based on the number of the first coding blocks, the number of the second coding blocks, and the total number of decoding iterations, the threshold number of decoding iterations for each coding block in the (i+1)th coding block group is determined.

[0233] In an optional embodiment, the apparatus further includes:

[0234] An acquisition module is used to acquire the number of second coded blocks contained in the coded block in the transport block;

[0235] The determining module is used to determine the number of coding block groups into which the transport block is divided based on the second number of coding blocks, wherein the number of coding block groups is positively correlated with the total number of coding blocks.

[0236] In an optional embodiment, the determining module 1402 is further configured to:

[0237] Obtain the number of second coded blocks contained in the coded block in the transport block;

[0238] Based on the number of the second coded blocks, the total decoding time required to decode the transport block is determined.

[0239] In an optional embodiment, the apparatus further includes:

[0240] An acquisition module is used to acquire the bit rate of the transport block;

[0241] A determination module is used to determine the unit iteration time for decoding the coded block based on the code rate.

[0242] In an optional embodiment, the apparatus further includes:

[0243] The sending module is used to send the updated decoding iteration number threshold to the decoder, and the decoder decodes the (i+1)th coded block group based on the iteration number threshold.

[0244] In summary, in this embodiment, by obtaining the decoding time consumed by the early-stage coding block group and the total decoding time required to decode the transmission block, the maximum number of decoding iterations available for each coding block when decoding subsequent coding block groups is dynamically updated. This allows for reserving more decoding time and decoding iterations for later coding block groups when the signal-to-noise ratio is high in the early stages, enabling the later coding blocks to be decoded using more decoding iterations. This avoids situations where some coding blocks have fewer available decoding iterations when the signal-to-noise ratio is low in the later stages, thereby improving the decoding performance of the decoder for transmission blocks.

[0245] Please refer to Figure 15 This illustration shows a structural block diagram of a terminal 1500 provided in an exemplary embodiment of this application. The terminal 1500 in this application may include one or more of the following components: a processor 1510, a memory 1520, a receiver 1530, and a transmitter 1540.

[0246] Processor 1510 may include one or more processing cores. Processor 1510 connects to various parts within terminal 1500 using various interfaces and lines, and performs various functions and processes data of terminal 1500 by running or executing instructions, programs, code sets, or instruction sets stored in memory 1520, and by calling data stored in memory 1520. Optionally, processor 1510 may be implemented using at least one hardware form of Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), or Programmable Logic Array (PLA). Processor 1510 may integrate one or a combination of several of the following: Central Processing Unit (CPU), Graphics Processing Unit (GPU), and modem. The CPU primarily handles the operating system, user interface, and applications; the GPU is responsible for rendering and drawing the content required for display; and the modem handles wireless communication. It is understood that the modem may also not be integrated into processor 1510 and may be implemented separately using a baseband chip.

[0247] The memory 1520 may include random access memory (RAM) or read-only memory (ROM). Optionally, the memory 1520 may include a non-transitory computer-readable storage medium. The memory 1520 may be used to store instructions, programs, code, code sets, or instruction sets. The memory 1520 may include a program storage area and a data storage area. The program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as touch functionality, sound playback functionality, image playback functionality, etc.), instructions for implementing the various method embodiments described above, etc. The operating system may be an Android system (including systems deeply developed based on the Android system), an iOS system developed by Apple Inc. (including systems deeply developed based on the iOS system), or other systems. The data storage area may also store data created by the terminal 1500 during use (such as phonebook data, audio and video data, chat log data, etc.).

[0248] The receiver 1530 and the transmitter 1540 can be implemented as a communication component, which can be a baseband chip.

[0249] In addition, those skilled in the art will understand that the structure of the terminal 1500 shown in the above figures does not constitute a limitation on the terminal 1500. Electronic devices may include more or fewer components than shown, or combine certain components, or have different component arrangements. For example, the terminal 1500 also includes radio frequency circuits, imaging components, sensors, audio circuits, Wireless Fidelity (WiFi) components, power supplies, Bluetooth components, etc., which will not be described in detail here.

[0250] This application also provides a chip, which includes programmable logic circuitry and / or program instructions, and when the chip is running, it is used to implement the wireless communication method as described above.

[0251] This application also provides a computer-readable storage medium storing at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the method for wireless communication provided in any of the above exemplary embodiments.

[0252] This application provides a computer program product including computer instructions stored in a computer-readable storage medium. A terminal's processor reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the terminal to perform the wireless communication method provided in the optional implementation described above.

[0253] Those skilled in the art will recognize that the functions described in the embodiments of this application in one or more of the above examples can be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions can be stored in a computer-readable medium or transmitted as one or more instructions or code on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transfer of a computer program from one place to another. Storage media can be any available medium that can be accessed by a general-purpose or special-purpose computer.

[0254] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A method for wireless communication, characterized in that, The method includes: During the decoding process of the transport block, the decoding time consumed after the decoding of the i-th coded block group is obtained. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m. The number of coded block groups is positively correlated with the number of coded blocks contained in the transport block. Determine the total decoding time required to decode the transport block, wherein the total decoding time is positively correlated with the number of coded blocks contained in the transport block; Based on the total decoding time, the used decoding time, and the unit iteration time, determine the total number of decoding iterations available for decoding the (i+1)th to the mth coded block group; based on the total number of decoding iterations, update the decoding iteration threshold for each coded block in the (i+1)th coded block group, wherein the decoding iteration number for each coded block in the (i+1)th coded block group is less than or equal to the decoding iteration threshold; During the retransmission of the coded block, the network type of the terminal is obtained when the retransmitted coded block is transmitted. Based on the network standard type, a prefetch memory allocation strategy is determined. The prefetch memory is used to pre-store error code blocks from the previous transmission. The allocation strategy indicates the size of the storage area occupied by the error code blocks in the prefetch memory. Specifically, when the network standard type is a single network standard, the allocation strategy for the prefetch memory is a first allocation strategy; when the network standard type is a mixed network standard, the allocation strategy for the prefetch memory is a second allocation strategy. The mixed network standard indicates that the terminal simultaneously uses at least two network standards for data transmission, and the first allocation strategy differs from the second allocation strategy. Based on the allocation strategy, the prefetch storage area is divided into at least two sub-storage areas.

2. The method according to claim 1, characterized in that, The step of updating the decoding iteration count threshold for each coded block in the (i+1)th coded block group based on the total number of decoding iterations includes: Determine the number of first-order coded blocks that have been decoded after the i-th coded block group has been decoded; Determine the number of second coded blocks contained in the coded block of the transport block; Based on the number of the first coding blocks, the number of the second coding blocks, and the total number of decoding iterations, the threshold number of decoding iterations for each coding block in the (i+1)th coding block group is determined.

3. The method according to any one of claims 1 to 2, characterized in that, The method further includes: Obtain the number of second coded blocks contained in the coded block in the transport block; Based on the second number of coded blocks, the number of coded block groups into which the transport block is divided is determined.

4. The method according to any one of claims 1 to 2, characterized in that, Determining the total decoding time required to decode the transport block includes: Obtain the number of second coded blocks contained in the coded block in the transport block; Based on the number of the second coded blocks, the total decoding time required to decode the transport block is determined.

5. The method according to any one of claims 1 to 2, characterized in that, The method further includes: Obtain the bit rate of the transport block; Based on the code rate, the unit iteration time for decoding the coded block is determined.

6. The method according to any one of claims 1 to 2, characterized in that, The method further includes: The decoder sends the updated decoding iteration number threshold to the decoder, which decodes the (i+1)th coded block group based on the iteration number threshold.

7. A device for wireless communication, characterized in that, The device includes: The acquisition module is used to acquire the decoding time consumed after the decoding of the i-th coded block group is completed during the decoding process of the transport block. The transport block is divided into m coded block groups, each coded block group contains at least one coded block, where m is a positive integer and i is a positive integer less than or equal to m. The number of coded block groups is positively correlated with the number of coded blocks contained in the transport block. A determining module is used to determine the total decoding time required to decode the transport block, wherein the total decoding time is positively correlated with the number of coded blocks contained in the transport block; An update module is used to determine the total number of decoding iterations available for decoding the (i+1)th to the mth coded block groups based on the total decoding time, the used decoding time, and the unit iteration time; and to update the decoding iteration threshold for each coded block in the (i+1)th coded block group based on the total decoding iterations, wherein the decoding iterations for each coded block in the (i+1)th coded block group are less than or equal to the decoding iteration threshold. This module is used to: obtain the network type of the terminal during the transmission of retransmitted code blocks; determine the allocation strategy of the prefetch memory area based on the network type, wherein the prefetch memory area is used to pre-store erroneous code blocks from the previous transmission, and the allocation strategy indicates the size of the storage area occupied by the erroneous code blocks in the prefetch memory area; wherein, when the network type is a single network type, the allocation strategy of the prefetch memory area is a first allocation strategy; when the network type is a mixed network type, the allocation strategy of the prefetch memory area is a second allocation strategy, wherein the mixed network type indicates that the terminal simultaneously uses at least two network types for data transmission, and the first allocation strategy is different from the second allocation strategy; and divide the prefetch memory area into at least two sub-storage areas based on the allocation strategy.

8. A chip, characterized in that, The chip includes programmable logic circuitry and / or program instructions, which, when the chip is running, are used to implement the method for wireless communication as described in any one of claims 1 to 6.

9. A terminal, characterized in that, The terminal includes a processor and a memory, the memory storing at least one program, which is loaded and executed by the processor to implement the method for wireless communication as described in any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores at least one piece of program code, which is loaded and executed by a processor to implement the method for wireless communication as described in any one of claims 1 to 6.

11. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, which a processor reads from and executes to implement the method for wireless communication as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Parity check code iterative interpretation method capable of dynamically regulating most iterative number

    CN101442316A

  • Decoding method and device, equipment and storage medium

    CN112152636A