Method and device for determining the number of decoder iterations

By classifying the virtual code blocks that the decoder needs to process in the mobile communication system and determining the number of iterations, the problem of how to configure the number of iterations of the decoder when the system capacity is variable is solved, and the system performance is improved.

CN112118012BActive Publication Date: 2025-04-01ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN201910537729.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-06-20
Publication Date
2025-04-01
Estimated Expiration
2039-06-20

AI Technical Summary

Technical Problem

In mobile communication systems, when the system capacity is variable, how to configure the number of iterations of the decoder to maximize the ability of the decoder and improve system performance indicators.

Method used

Classify by determining the new transmission block TB and the virtual code block CB that the decoder needs to process in a time slot, and determine the number of iterations in the decoder based on each type of virtual CB.

Benefits of technology

Through this method, the number of iterations of the decoder can be effectively configured, the throughput utilization of the decoder can be improved, and the performance of the entire mobile communication system can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112118012B_ABST
    Figure CN112118012B_ABST
Patent Text Reader

Abstract

The present invention provides a method and device for determining the number of decoder iterations, wherein the method comprises: determining virtual CBs of newly transmitted TBs and retransmitted TBs that a decoder needs to process within a time slot; classifying the virtual CBs; and determining the number of iterations of each type of virtual CB in the decoder. This can solve the problem of how to configure the number of decoder iterations in the case of variable system capacity in the related art, and configure the number of decoder iterations by classifying CBs as TBs, thereby improving the throughput utilization of the decoder.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of mobile communications, and in particular to a method and device for determining the number of decoder iterations. Background Art

[0002] In mobile communication systems, decoders are used for bit-level processing, such as 5G's Low Density Parity Check Code (LDPC) decoder, 4G's Turbo decoder or convolution decoder, etc. The performance of these decoders is closely related to the number of iterations. Generally speaking, the more iterations, the better the performance. However, the decoder capacity is fixed under certain conditions. If a fixed number of iterations strategy is used, the decoder capacity will be wasted. For example, when the system capacity is small, the decoder's maximum performance cannot be exerted; or the number of iterations cannot be reasonably configured at the beginning. Too small or too large may cause the system capacity to decrease or even cause the system to crash.

[0003] Therefore, under the condition of variable system capacity, it is necessary to find a method to optimally configure the number of decoder iterations in order to maximize the use of the decoder's capabilities and improve the performance indicators of the mobile communication system.

[0004] Regarding the problem of how to configure the number of decoder iterations when the system capacity varies in the related art, no solution has been proposed yet. Summary of the invention

[0005] The embodiments of the present invention provide a method and device for determining the number of decoder iterations, so as to at least solve the problem of how to configure the number of decoder iterations in the case of variable system capacity in the related art.

[0006] According to an embodiment of the present invention, a method for determining the number of decoder iterations is provided, comprising:

[0007] Determine the virtual code blocks CB of the newly transmitted transport blocks TB and the retransmitted TB to be processed by the decoder in a time slot;

[0008] classifying the virtual CB;

[0009] The number of iterations of each type of virtual CB in the decoder is determined.

[0010] According to another embodiment of the present invention, there is also provided a device for determining the number of decoder iterations, comprising:

[0011] A first determination module is used to determine the virtual code blocks CB of the new transmission blocks TB and the retransmission TB to be processed by the decoder in a time slot;

[0012] A classification module, used for classifying the virtual CB;

[0013] The second determination module is used to determine the number of iterations of each type of virtual CB in the decoder.

[0014] According to yet another embodiment of the present invention, a storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above method embodiments when running.

[0015] According to yet another embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0016] Through the present invention, the virtual CBs of the newly transmitted TB and the retransmitted TB that the decoder needs to process in a time slot are determined; the virtual CBs are classified; and the number of iterations of each type of virtual CB in the decoder is determined. This can solve the problem of how to configure the number of iterations of the decoder in the case of variable system capacity in the related art. The number of decoder iterations is configured by classifying the CBs as TBs, thereby improving the throughput utilization of the decoder. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0018] Figure 1 It is a hardware structure block diagram of a base station of a method for determining the number of decoder iterations according to an embodiment of the present invention;

[0019] Figure 2 is a flow chart of a time slot aggregation method according to an embodiment of the present invention;

[0020] Figure 3 is a block diagram of a device for determining the number of decoder iterations according to an embodiment of the present invention;

[0021] Figure 4 is a block diagram of a decoder iteration number determination device according to a preferred embodiment of the present invention. Figure 1 ;

[0022] Figure 5 is a block diagram of a decoder iteration number determination device according to a preferred embodiment of the present invention. Figure 2 . DETAILED DESCRIPTION

[0023] The present invention will be described in detail below with reference to the accompanying drawings and in combination with embodiments. It should be noted that the embodiments and features in the embodiments of the present application can be combined with each other without conflict.

[0024] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0025] Example 1

[0026] The method embodiment provided in the first embodiment of the present application can be executed in a base station, a mobile terminal, a computer terminal or a similar computing device. Taking running on a base station as an example, Figure 1 is a hardware structure block diagram of a base station of a method for determining the number of decoder iterations according to an embodiment of the present invention, such as Figure 1 As shown, the base station 10 may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. Optionally, the base station may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above base station. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations are shown.

[0027] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the message receiving method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories can be connected to the mobile terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0028] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the base station 10. In one example, the transmission device 106 includes a network adapter (Network INterface CoNtroller, referred to as NIC), which can be connected to other network devices through the base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet wirelessly.

[0029] Based on the above base station, a method for determining the number of decoder iterations is provided in this embodiment. Figure 2 is a flow chart of a method for determining the number of decoder iterations according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0030] Step S202, determining the virtual CBs of the newly transmitted TBs and the retransmitted TBs to be processed by the decoder in a time slot;

[0031] Step S204, classifying the virtual CB;

[0032] Step S206, determining the number of iterations of each type of virtual CB in the decoder.

[0033] Through the above steps S202 to S206, the problem of how to configure the number of decoder iterations in the case of variable system capacity in the related art can be solved. The number of decoder iterations is configured by CB classified as TB, thereby improving the throughput utilization of the decoder.

[0034] In the embodiment of the present invention, the above step S204 may specifically include:

[0035] The virtual CBs are classified to obtain X-type virtual CBs, and a minimum iteration number limit and a maximum iteration number limit are set for the X-type virtual CBs, where X is an integer greater than or equal to 1.

[0036] In the embodiment of the present invention, the above step S206 may specifically include: determining the number of iterations of the X-type virtual CB in the decoder according to the minimum number of iterations limit and the maximum number of iterations limit.

[0037] Furthermore, the above step S206 may specifically include:

[0038] S2061, determining the initial iteration number E0 of all virtual CBs;

[0039] S2062, determining the number of iterations L0 of the first type of virtual CB in the decoder according to the initial number of iterations E0, the minimum number of iterations limit of the first type of virtual CB, and the maximum number of iterations limit;

[0040] S2063, repeatedly determine the initial iteration number E of the j-th virtual CB j-1 ; According to the initial iteration number E of the j-th virtual CB j-1 , the minimum iteration limit and the maximum iteration limit of the j-th virtual CB determine the iteration number L of the j-th virtual CB in the decoder j-1 ;

[0041] j=2, j++, until the number of iterations of the X-type virtual CB in the decoder is determined.

[0042] Optionally, the above step S2061 may specifically include:

[0043] Determine the number of all initially available cycles for decoding allocation in a time slot according to the operating frequency of the decoder and the decoding time allocated by the system;

[0044] The ratio of the initial number of all available cycles to the sum of the number of cycles corresponding to a single iteration of the decoder required by all virtual CBs is determined as the initial number of iterations E0 of all virtual CBs.

[0045] Optionally, the above step S2062 may specifically include:

[0046] Compare the maximum iteration number limit MAX0 of the first type of virtual CB with the initial iteration number E0;

[0047] Obtain the smaller value F0 between MAX0 and E0;

[0048] Compare the F0 with a minimum iteration limit MIN0 of the first type of virtual CB;

[0049] The larger value of the F0 and the MIN0 is obtained to obtain the number of iterations L0 of the first type of virtual CB in the decoder.

[0050] Optionally, the above step S2063 may specifically include:

[0051] Subtract the sum of the time required for the number of iterations of the first type of virtual CB in the decoder to the number of iterations of the j-1th type of virtual CB in the decoder from all available decoding times allocated for decoding, to obtain a remaining decoding time, wherein all available decoding times allocated for decoding are determined according to the initial number of all available cycles allocated for decoding in a time slot;

[0052] The ratio of the remaining decoding time to the sum of the times required for the iterations of the j-th virtual CB in the decoder is determined as the initial iteration number E. j-1 .

[0053] Optionally, the above step S2063 may specifically include:

[0054] Set the maximum number of iterations of the j-th virtual CB to MAX j-1 The initial iteration number E of the j-th virtual CB j-1 Make comparisons;

[0055] Get the MAX j-1 With the E j-1 The smaller value F j-1 ;

[0056] The F j-1 and the minimum iteration number limit MIN of the j-th virtual CB j-1 Make comparisons;

[0057] Get the F j-1 and the MIN j-1 The larger value of the first type of virtual CB block in the decoder is obtained by j-1 .

[0058] In the embodiment of the present invention, the above step S202 may specifically include:

[0059] The CBs of the new transmission TB and the retransmission TB are virtualized to obtain virtual CBs of the new transmission TB and the retransmission TB.

[0060] The TB in the embodiment of the present invention includes a new transmission TB and a retransmission TB, and virtualizing the CBs of the new transmission TB and the retransmission TB to obtain the virtual CBs of the new transmission TB and the retransmission TB may specifically include:

[0061] Acquire the new transmission TB that needs to be processed in the current processing time period, calculate the number of CBs included in the new transmission TB, and virtualize the number of CBs (i.e., multiply the number of CBs by a virtual factor) to obtain the virtual number of CBs of the new transmission TB;

[0062] The retransmission TB that needs to be processed in the current processing time period is obtained, the position and number of CBs that need to be actually processed by the retransmission TB are calculated, and the number of CBs is virtualized to obtain the number of virtual CBs of the retransmission TB.

[0063] The embodiment of the present invention provides an adaptive method for determining the number of decoding iterations, which can better utilize the capabilities of a decoder and is applicable to a bit-level processing link in mobile communications, including:

[0064] 1. CB number virtualization processing, including:

[0065] 1) Calculate the virtualized number of new transmission CB blocks to be processed in this processing time period, specifically including: collect the new transmission TBs to be processed in this processing time period, calculate the number of CBs contained in each new transmission TB, and multiply the number of CBs by the virtual factor to calculate the number of virtual CBs of this TB (the virtualized CBs are hereinafter referred to as virtual CBs);

[0066] 2) Calculating the number of retransmitted virtual CB blocks to be processed in this processing time period, specifically including: collecting the retransmitted TBs to be processed in this processing time period, obtaining the positions and number of CB blocks that need to be actually processed by the retransmitted TBs, and calculating the number of virtual CBs of this retransmitted TB according to the number and position of the CB blocks;

[0067] 2. Calculate the initial number of iterations for each type of CB, including:

[0068] 1) Classify the virtual CBs in this processing time period and set the minimum and maximum iteration limits for each type of virtual CB;

[0069] 2) Calculating the initial iteration number of the remaining virtual CBs, including: calculating the initial iteration number of all virtual CBs within this period of time according to the working frequency of the decoder, the number of cycles corresponding to a single iteration of the decoder required for each virtual CB, and the decoding time allocated by the system;

[0070] 3) calculating the initial number of iterations of the first type of virtual CB, including: comparing the maximum number of iterations set for the first type of virtual CB with the initial number of iterations of the remaining types of virtual CBs to obtain a minimum value, comparing the minimum value with the minimum number of iterations configured for this type of virtual CB, taking the maximum value, and obtaining the initial configuration iteration number of the first type of virtual CB block;

[0071] 4) Calculate the initial iteration number of the second type of virtual CB, including:

[0072] The time required for the calculated initial configuration iteration number of the first type of virtual CB is removed from the overall decoding time, and the initial iteration number of all virtual CBs of the remaining types is calculated according to the remaining decoding time, the parameters of the remaining types of virtual CBs and their corresponding decoders (matrix size, matrix type, expansion factor and single iteration cycle number), and the maximum number of iterations set for the second type of virtual CB is compared with the initial number of iterations of all virtual CBs of the remaining types to obtain the minimum value, and the minimum value is compared with the minimum number of iterations configured for this type of virtual CB, and the maximum value is taken to obtain the initial configuration iteration number of the second type of virtual CB block;

[0073] 5) Calculate the number of initial configuration iterations of the third type of virtual CB, including:

[0074] The time required for the initial configuration iterations of the first and second virtual CBs calculated respectively is removed from the overall decoding time. The initial iterations of all virtual CBs of the remaining classes are calculated according to the remaining decoding time, the parameters of the remaining virtual CBs and their corresponding decoders (matrix size, matrix type, expansion factor, and number of single iteration cycles). The maximum number of iterations set for the third virtual CB is compared with the initial number of iterations of all virtual CBs of the remaining classes to obtain the minimum value. The minimum value is compared with the minimum number of iterations configured for this type of virtual CB, and the maximum value is taken to obtain the initial configuration iteration number of the third virtual CB block.

[0075] 6) By analogy, the initial configuration iteration times of the remaining virtual CBs of other classes are obtained in turn.

[0076] The specific implementation of the present invention is described in detail below by taking m+n TBs scheduled in one slot as an example.

[0077] Assume that this slot includes: the number of newly transmitted TBs is m and the number of retransmitted TBs is n; the number of all initially available cycles allocated for decoding in one slot is S.

[0078] The number of cycles that the decoder processes in a single iteration indexed by TB (including new transmission TB and retransmission TB) is: X0, X1, X2, ..., X m-1 ,X m ,X m+1 ,X m+2 ,......,X m+n-1 ;

[0079] The number of new transmission CBs of TB (including new transmission TB and retransmission TB) is C0, C1, ..., C m-1 , C m , C m+1, ..., C m+n+1 ;

[0080] The virtual factors of new TB are: α0, α1, α2, ..., α m-1 ;

[0081] The virtual factor of the new transmission TB can be calculated according to the position of the time when each TB starts the i-th CB block of this TB in the entire available cycle. Assuming that the time when the i-th new transmission TB starts the calculation of the i-th CB block of this TB is Ti, then

[0082] α i =(S / T i )*C i

[0083] Then the number of virtual CBs of the new TB is: α0*C0, α1*C1, α2*C2, ..., α m-1 *C m-1 ;

[0084] The number of CBs that were decoded incorrectly last time by the retransmitted TB is O0, O1, O2, ..., O n-1 ;

[0085] The virtual factor of the retransmitted TB can also be calculated according to the position of the time when each TB starts calculating the i-th CB block of this TB in the entire available period, which is: β0, β1, β2, ..., β n-1 ;

[0086] Then the number of virtual CBs for retransmitting TB is: β0*O0, β1*O1, β2*O2, ..., β n-1 *O n-1 ;

[0087] Virtual CBs are divided into multiple categories, for example, into three categories:

[0088] The virtual CB included in the new TB is of the first type, assuming that its iteration number range is [MIN0:MAX0];

[0089] The virtual CBs included in the TBs with a retransmission error rate <= 10% are of the second type, and it is assumed that there are p TBs with a retransmission error rate < 10%, and the number of iterations is in the range of [MIN1:MAX1];

[0090] The virtual CBs included in the TBs with a retransmission error rate greater than 10% are of the third category, and the number of TBs with a retransmission error rate greater than 10% is np, and the range of its iteration times is [MIN2:MAX2];

[0091] Use the available cycle calculation unit and the first-level iteration calculation unit to calculate the initial iteration number E0 of all virtual CBs according to the following formula:

[0092]

[0093] Use the secondary iteration number calculation unit to compare MAX0 and E0, take the smaller value F0, and compare F0 and MIN0, take the larger value, and obtain the iteration number L0 of the first type of virtual CB in the decoder;

[0094] Continue to use the first-level iteration number calculation unit to calculate the initial iteration number E1 of the second type of virtual CB according to the following formula:

[0095]

[0096] Continue to use the secondary iteration number calculation unit, compare MAX1 and E1, take the smaller value as F1, and compare F1 and MIN1, take the larger value, and you can get the iteration number L1 of the second type CB block in the decoder;

[0097] Continue to use the available cycle calculation unit and the first-level iteration number calculation unit to calculate the initial iteration number E2 of the third type of virtual CB according to the following formula:

[0098]

[0099] Continue to use the secondary iteration number calculation unit, compare MAX2 and E2, take the smaller value as F2, and compare F2 and MIN2, take the larger value, and get the iteration number L2 of the third type of virtual CB in the decoder;

[0100] Depending on the number of iterations configured for each CB block, parallel decoding or serial decoding is performed until all CBs in this slot are decoded.

[0101] Through the embodiment of the present invention, a method of classifying and calculating the number of CB iterations after virtualizing the CB of each TB is adopted, so that the number of decoder iterations can be adaptively configured for the TB, thereby greatly improving the throughput utilization of the decoder, thereby improving the performance of the entire mobile communication system.

[0102] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0103] Example 2

[0104] In this embodiment, a decoder iteration number determination device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0105] Figure 3 is a block diagram of a device for determining the number of decoder iterations according to an embodiment of the present invention. Figure 3 As shown, including:

[0106] A first determination module 32 is used to determine the virtual CBs of the newly transmitted TBs and the retransmitted TBs to be processed by the decoder in a time slot;

[0107] A classification module 34, used for classifying the virtual CB;

[0108] The second determination module 36 is used to determine the number of iterations of each type of virtual CB in the decoder.

[0109] Optionally, the classification module 34 is also used to

[0110] The virtual CBs are classified to obtain X-type virtual CBs, and a minimum iteration number limit and a maximum iteration number limit are set for the X-type virtual CBs, where X is an integer greater than or equal to 1.

[0111] Optionally, the second determining module 36 is further configured to:

[0112] The number of iterations of the X-type virtual CB in the decoder is determined according to the minimum number of iterations limit and the maximum number of iterations limit.

[0113] Figure 4 is a block diagram of a decoder iteration number determination device according to a preferred embodiment of the present invention. Figure 1 ,like Figure 4 As shown, the second determination module 36 includes:

[0114] A first determining unit 42 is used to determine the initial iteration number E0 of all virtual CBs;

[0115] A second determining unit 44 is configured to determine the number of iterations L0 of the first type of virtual CB in the decoder according to the initial number of iterations E0, the minimum number of iterations limit of the first type of virtual CB, and the maximum number of iterations limit;

[0116] The third determining unit 46 is used to repeatedly determine the initial iteration number E of the j-th type virtual CB j-1 ; According to the initial iteration number E of the j-th virtual CB j-1 , the minimum iteration limit and the maximum iteration limit of the j-th virtual CB determine the iteration number L of the j-th virtual CB in the decoder j-1 ;

[0117] j=2, j++, until the number of iterations of the X-type virtual CB in the decoder is determined.

[0118] Optionally, the first determining unit 42 is further configured to:

[0119] Determine the number of all initially available cycles for decoding allocation in a time slot according to the operating frequency of the decoder and the decoding time allocated by the system;

[0120] The ratio of the initial number of all available cycles to the sum of the number of cycles corresponding to a single iteration of the decoder required by all virtual CBs is determined as the initial number of iterations E0 of all virtual CBs.

[0121] Optionally, the second determining unit 44 is further configured to

[0122] Compare the maximum iteration number limit MAX0 of the first type of virtual CB with the initial iteration number E0;

[0123] Obtain the smaller value F0 between MAX0 and E0;

[0124] Compare the F0 with a minimum iteration limit MIN0 of the first type of virtual CB;

[0125] The larger value of the F0 and the MIN0 is obtained to obtain the number of iterations L0 of the first type of virtual CB in the decoder.

[0126] Optionally, the third determining unit 46 is further configured to:

[0127] Subtract the sum of the time required for the number of iterations of the first type of virtual CB in the decoder to the number of iterations of the j-1th type of virtual CB in the decoder from all available decoding times allocated for decoding, to obtain a remaining decoding time, wherein all available decoding times allocated for decoding are determined according to the initial number of all available cycles allocated for decoding in a time slot;

[0128] The ratio of the remaining decoding time to the sum of the times required for the iterations of the j-th virtual CB in the decoder is determined as the initial iteration number E. j-1 .

[0129] Optionally, the third determining unit 46 is further configured to:

[0130] Set the maximum number of iterations of the j-th virtual CB to MAX j-1 The initial iteration number E of the j-th virtual CB j-1 Make comparisons;

[0131] Get the MAX j-1 With the E j-1 The smaller value F j-1 ;

[0132] The F j-1 and the minimum iteration number limit MIN of the j-th virtual CB j-1 Make comparisons;

[0133] Get the F j-1 and the MIN j-1 The larger value of the first type of virtual CB block in the decoder is obtained by j-1 .

[0134] Optionally, the first determining module 32 is further configured to:

[0135] The CBs of the new transmission TB and the retransmission TB are virtualized to obtain virtual CBs of the new transmission TB and the retransmission TB.

[0136] Figure 5 is a block diagram of a decoder iteration number determination device according to a preferred embodiment of the present invention. Figure 2 ,like Figure 5 As shown, the first determining module 32 includes:

[0137] A first virtualization processing unit 52 is used to obtain a new transmission TB that needs to be processed in the current processing time period, calculate the number of CBs included in the new transmission TB, and perform virtualization processing on the number of CBs to obtain the number of virtual CBs of the new transmission TB;

[0138] The second virtualization processing unit 54 is used to obtain the retransmission TB that needs to be processed in the current processing time period, calculate the position and number of CBs that need to be actually processed by the retransmission TB, and virtualize the number of CBs to obtain the number of virtual CBs of the retransmission TB.

[0139] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0140] Example 3

[0141] An embodiment of the present invention further provides a storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0142] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:

[0143] S11, determining the virtual CB of the newly transmitted TB and the retransmitted TB to be processed by the decoder in a time slot;

[0144] S12, classifying the virtual CB;

[0145] S13, determining the number of iterations of each type of virtual CB in the decoder.

[0146] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store computer programs.

[0147] Example 4

[0148] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0149] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0150] Optionally, in this embodiment, the processor may be configured to perform the following steps through a computer program:

[0151] S11, determining the virtual CB of the newly transmitted TB and the retransmitted TB to be processed by the decoder in a time slot;

[0152] S12, classifying the virtual CB;

[0153] S13, determining the number of iterations of each type of virtual CB in the decoder.

[0154] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.

[0155] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, and optionally, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0156] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for determining the number of decoder iterations, characterized in that: include: Determine the virtual code blocks CB of the newly transmitted transport blocks TB and the retransmitted TB to be processed by the decoder in a time slot; Classifying the virtual CBs, including: classifying the virtual CBs to obtain X-type virtual CBs, and setting a minimum iteration limit and a maximum iteration limit for the X-type virtual CBs, where X is an integer greater than or equal to 1; Determining the number of iterations of each type of virtual CB in the decoder includes: determining the number of iterations of the X-type virtual CB in the decoder according to the minimum number of iterations limit and the maximum number of iterations limit.

2. The method according to claim 1, characterized in that Determining the number of iterations of the X-type virtual CB in the decoder according to the minimum number of iterations limit and the maximum number of iterations limit includes: Determine the initial iteration number E0 of all virtual CBs; Determine the number of iterations L0 of the first type of virtual CB in the decoder according to the initial number of iterations E0, the minimum number of iterations limit of the first type of virtual CB, and the maximum number of iterations limit; Repeatedly determine the initial iteration number E of the j-th virtual CB j-1 ; According to the initial iteration number E of the j-th virtual CB j-1 , the minimum iteration limit and the maximum iteration limit of the j-th virtual CB determine the iteration number L of the j-th virtual CB in the decoder j-1 ; j=2, j++, until the number of iterations of the X-type virtual CB in the decoder is determined.

3. The method according to claim 2, characterized in that Determining the initial iteration number E0 of all virtual CBs includes: Determine the number of all initially available cycles for decoding allocation in a time slot according to the operating frequency of the decoder and the decoding time allocated by the system; The ratio of the initial number of all available cycles to the sum of the number of cycles corresponding to a single iteration of the decoder required by all virtual CBs is determined as the initial number of iterations E0 of all virtual CBs.

4. The method according to claim 2, characterized in that: Determining the number of iterations L0 of the first type of virtual CB in the decoder according to the initial number of iterations E0, the minimum number of iterations limit and the maximum number of iterations limit of the first type of virtual CB includes: Compare the maximum iteration number limit MAX0 of the first type of virtual CB with the initial iteration number E0; Obtain the smaller value F0 between the MAX0 and the E0; Compare the F0 with a minimum iteration limit MIN0 of the first type of virtual CB; The larger value of the F0 and the MIN0 is obtained to obtain the number of iterations L0 of the first type of virtual CB in the decoder.

5. The method according to claim 2, characterized in that: Determine the initial iteration number E of the j-th virtual CB j-1 include: Subtract the sum of the time required for the number of iterations of the first type of virtual CB in the decoder to the number of iterations of the j-1th type of virtual CB in the decoder from all available decoding times allocated for decoding, to obtain a remaining decoding time, wherein all available decoding times allocated for decoding are determined according to the initial number of all available cycles allocated for decoding in a time slot; The ratio of the remaining decoding time to the sum of the times required for the iterations of the j-th virtual CB in the decoder is determined as the initial iteration number E. j-1 .

6. The method according to claim 2, characterized in that According to the initial iteration number E of the j-th virtual CB j-1 , the minimum iteration limit and the maximum iteration limit of the j-th virtual CB determine the iteration number L of the j-th virtual CB in the decoder j-1 include: Set the maximum number of iterations of the j-th virtual CB to MAX j-1 The initial iteration number E of the j-th virtual CB j-1 Make comparisons; Get the MAX j-1 With the E j-1 The smaller value F j-1 ; The F j-1 and the minimum iteration number limit MIN of the j-th virtual CB j-1 Make comparisons; Get the F j-1 and the MIN j-1 The larger value of the first type of virtual CB in the decoder is obtained by j-1 .

7. The method according to any one of claims 1 to 6, characterized in that The virtual CB for determining the new transmission TB and the retransmission TB in a time slot includes: The CBs of the new transmission TB and the retransmission TB are virtualized to obtain virtual CBs of the new transmission TB and the retransmission TB.

8. The method according to claim 7, characterized in that The CB of the new transmission TB and the retransmission TB is virtualized to obtain the virtual CB of the new transmission TB and the retransmission TB, including: Acquire the new transmission TB that needs to be processed in the current processing time period, calculate the number of CBs included in the new transmission TB, and virtualize the number of CBs to obtain the virtual number of CBs of the new transmission TB; The retransmission TB that needs to be processed in the current processing time period is obtained, the position and number of CBs that need to be actually processed by the retransmission TB are calculated, and the number of CBs is virtualized to obtain the number of virtual CBs of the retransmission TB.

9. A device for determining the number of decoder iterations, characterized in that: include: A first determination module is used to determine the virtual code blocks CB of the new transmission blocks TB and the retransmission TB to be processed by the decoder in a time slot; A classification module, used for classifying virtual CBs, including: classifying the virtual CBs to obtain X-type virtual CBs, and setting a minimum iteration limit and a maximum iteration limit for the X-type virtual CBs, where X is an integer greater than or equal to 1; The second determination module is used to determine the number of iterations of each type of virtual CB in the decoder, including: determining the number of iterations of the X-type virtual CB in the decoder according to the minimum iteration limit and the maximum iteration limit.

10. A storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method according to any one of claims 1 to 8 when executed.

11. An electronic device comprising a memory and a processor, characterized in that: A computer program is stored in the memory, and the processor is configured to run the computer program to perform the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Iterative decoding scaling factor optimization method based on polarization code of parallel cascade system

    CN108023679A

  • Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks

    US20080225965A1