WO2020134723A1 - Method and apparatus for processing check code, and electronic device - Google Patents
Method and apparatus for processing check code, and electronic device Download PDFInfo
- Publication number
- WO2020134723A1 WO2020134723A1 PCT/CN2019/119545 CN2019119545W WO2020134723A1 WO 2020134723 A1 WO2020134723 A1 WO 2020134723A1 CN 2019119545 W CN2019119545 W CN 2019119545W WO 2020134723 A1 WO2020134723 A1 WO 2020134723A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- scheduled
- time
- code
- iterations
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
Definitions
- the present invention requires the priority of the Chinese patent application filed on December 24, 2018 in the Chinese Patent Office, with the application number 201811581246.7 and the invention titled "A verification code processing method, device, and electronic equipment.” The content is incorporated by reference in the present invention.
- the present application relates to the field of communication technology, and in particular, to a method, device, and electronic device for processing a check code.
- LDPC low-density party-check codes
- Air interface agreement (3rd Generation Partnership Project New Radio, 3GPP NR) and Advanced Television System 3.0 (Advanced Television Systems Systems 3.0, ATSC 3.0) are medium.
- Air interface agreement (3rd Generation Partnership Project New Radio, 3GPP NR)
- Advanced Television System 3.0 Advanced Television Systems Systems 3.0, ATSC 3.0
- power consumption and decoding delay of LDPC will increase with the number of iterations. For this reason, various early stop mechanisms are usually set in the LDPC decoder to improve energy efficiency and increase System throughput.
- the purpose of the embodiments of the present application is to provide a method, device and electronic device for processing a check code, to solve the problem that the existing technology cannot effectively use hardware resources, which results in poor LDPC decoding performance and poor communication system performance .
- a method for processing a check code includes: obtaining the number of users scheduled in a predetermined time slot; according to the size value of the matrix scheduled by each user, each user schedules The expansion factor of the matrix and the number of code blocks for each user scheduling check code, determine the input time, one iteration decoding time and output time of each user-scheduled code block; according to the newly transmitted user-scheduled code among the users The input time and output time of the block, and the input time and output time of the user-retransmitted code block scheduled by the user, determine the time for iterative decoding; according to the time for iterative decoding, the new Determine the average number of iterations corresponding to each user; and determine the average number of iterations corresponding to each user; To determine the maximum number of iterations corresponding to each user.
- an apparatus for processing a check code includes: a user number acquisition module for acquiring the number of users scheduled in a predetermined time slot; a first time determination module for According to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks of each user's scheduled check code, determine the input time of each user's scheduled code block and the time of one iteration decoding And the output time; the second time determining module is used for input time and output time of the code block scheduled by the newly transmitted user in the user, and input time and output time of the code block scheduled by the user for the retransmission, Determining the time for iterative decoding; the average number determining module is used to determine the time for iterative decoding, the iterative decoding time of the code block scheduled by the new transmission user and the time scheduled by the retransmission user The decoding time of one iteration of the code block determines the average number of iterations corresponding to
- an electronic device provided by an embodiment of the present application is characterized by including a processor, a memory, and a computer program stored on the memory and executable on the processor.
- the processor executes, it implements the steps of the method for processing the check code as described in the first aspect above.
- a computer-readable storage medium provided by an embodiment of the present application is characterized in that a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, it is implemented as described in the first aspect above The steps of the processing method of the verification code described above.
- FIG. 1 is an embodiment of a method for processing a check code in this application
- FIG. 2 is a schematic structural diagram of a verification code processing system of the present application
- FIG. 3 is another embodiment of a method for processing a check code in this application.
- FIG. 4 is an embodiment of a processing device for a check code of the present application
- FIG. 5 is an embodiment of an electronic device of the present application.
- Embodiments of the present application provide a method, device, and electronic device for processing a check code.
- an embodiment of the present application provides a method for processing a check code.
- the method may be executed by an electronic device, and the electronic device may be a terminal device or a server on the network side.
- the terminal device may Mobile terminal devices such as mobile phones or tablet computers can also be devices such as personal computers or televisions.
- the server on the network side may be a base station or other network side equipment, etc.
- the server may be an independent server or a server cluster composed of multiple servers, and the electronic device may be a communication network based on a communication protocol Electronic equipment, etc.
- This method can be used in applications such as dynamic configuration of check code iterations to improve communication system performance.
- the method may specifically include the following steps:
- step S102 the number of users scheduled in a predetermined time slot is acquired.
- the predetermined time slot may be a time slot in the field of communication technology, for example, one or more time slots in LTE (Long Term Evolution).
- the predetermined time slot may be a slot.
- LDPC low-density parity check code
- 3rd Generation Partnership Project 3Radio 3rd Generation Partnership Project NR
- Advanced TV System 3.0 Advanced Television Systems Systems Committee 3.0, ATSC 3.0
- the frequency method, check matrix method and cyclic redundancy check method are implemented.
- the number of users scheduled in the slot of the time slot can be obtained first, for example, the number of users that can be scheduled in a slot includes 1 or 5 and so on.
- the schedulable users in the time slot may include newly transmitted users and/or retransmitted users.
- step S104 according to the size value of each user scheduling matrix, the expansion factor of each user scheduling matrix and the number of code blocks of each user scheduling check code, the input time and one iteration of the code blocks scheduled by each user are determined Decoding time and output time.
- the user scheduling matrix may be a check matrix in a check code.
- the check matrix can be expanded (such as secondary expansion, etc.), which can make the hardware.
- One iteration decoding time may be the length of time required for one iteration decoding and so on.
- the size value of each user scheduling matrix in the time slot can be obtained, such as 46*68 or 5*27, etc.
- the expansion of each user scheduling matrix can also be obtained Factors, such as 384, etc.
- each user scheduling matrix in the time slot After obtaining the size value of each user scheduling matrix in the time slot, the expansion factor of each user scheduling matrix, and the number of code blocks of each user scheduling check code, it can be calculated based on the data obtained above , Get the input time of each user-scheduled code block, the iterative decoding time of each user-scheduled code block, and the output time of each user-scheduled code block, specifically, it can be preset to calculate The algorithm for the input time of code blocks scheduled by a user.
- the algorithm can be set or selected according to the actual situation.
- the algorithm can be based on the size of the user scheduling matrix, the expansion factor of the user scheduling matrix, and the user scheduling check code.
- One or more algorithms for determining the number of code blocks may be based on the size value of the user scheduling matrix, the expansion factor of the user scheduling matrix, and the number of code blocks of the user scheduling check code to determine the user scheduling code
- the algorithm of the input time of the block, the size value of each user scheduling matrix in the slot, the expansion factor of each user scheduling matrix, and the number of code blocks of each user scheduling check code can be input to the algorithm set above Calculate in the formula to get the input time of the code block scheduled by each user.
- the algorithm can also be an algorithm that determines the input time of the user-scheduled code blocks based on the size of the user scheduling matrix and the number of code blocks of the user scheduling check code, then each user scheduling matrix in the slot
- the value of the size and the number of code blocks for each user's scheduling check code are input into the formula of the algorithm set above to calculate, and the input time of the code block for each user scheduling is obtained, or the algorithm can also be based on user scheduling Any one of the size value of the matrix, the expansion factor of the user scheduling matrix and the number of code blocks of the user scheduling check code, the algorithm for determining the input time of the user scheduled code blocks, etc., is not limited in the embodiments of the present application.
- an algorithm for calculating the decoding time of one iteration of each user-scheduled code block can be preset.
- the algorithm setting can be set or selected according to the actual situation.
- the algorithm can be based on the size of the user scheduling matrix.
- an algorithm for calculating the output time of each user-scheduled code block can also be preset.
- the algorithm setting can be set or selected according to the actual situation.
- the algorithm can be based on the size of the user scheduling matrix, user scheduling An algorithm determined by one or more of the expansion factor of the matrix and the number of code blocks of the user scheduling check code.
- step S106 the time for iterative decoding is determined according to the input time and output time of the code block scheduled by the newly transmitted user in the user, and the input time and output time of the code block scheduled by the retransmitted user in the user.
- the users schedulable in the predetermined time slot may include newly transmitted users and/or retransmitted users.
- the input time and output time of the newly-transmitted user-scheduled code block in the predetermined time slot and the predetermined time can be obtained
- the output time, as well as the input time and output time of the retransmission of the user-scheduled code block the resulting difference can be used as the time for iterative decoding.
- the maximum duration supported in the predetermined time slot is 100,000
- the input time of the code block scheduled by the new transmission user is 4896
- the output time of the code block scheduled by the new transmission user is 828
- the input time of the code block scheduled by the retransmission user Is 8160
- the output time of the code block scheduled by the retransmission user is 1380
- step S108 the average iteration corresponding to each user is determined according to the time for iterative decoding, the time for one iteration of the code block scheduled by the newly transmitted user, and the time of one iteration for the retransmission of the code block scheduled by the user frequency.
- one iteration decoding time and retransmission user of the code block scheduled by the newly transmitted user in the predetermined time slot may be obtained from the one iteration decoding time of each user-scheduled code block obtained in the above step S104
- the decoding time of one iteration of the scheduled code block, and then, an algorithm for the average number of iterations of each user can be set, and the setting method of the algorithm can be set or selected according to actual conditions, which is not limited in the embodiments of the present application.
- One iteration decoding time of the newly transmitted user-scheduled code blocks and one iteration decoding time of the retransmitted user-scheduled code blocks in the predetermined time slot obtained above can be substituted into the formula corresponding to the above algorithm for calculation to obtain each Average number of iterations per user.
- the sum of one iteration decoding time of newly transmitted user-scheduled code blocks and one iteration decoding time of retransmitted user-scheduled code blocks in a predetermined time slot can be calculated, and the value of the sum can be used as the user-scheduled code
- One iteration decoding time of the block then the time used for iterative decoding can be divided by the one iteration decoding time of the code block scheduled by the user to obtain the corresponding quotient. It can be based on the average number of iterations of each user of the obtained quotient.
- step S110 the maximum number of iterations corresponding to each user is determined according to the above-mentioned average number of iterations corresponding to each user.
- the threshold of the number of iterations of each user's scheduled check code in the predetermined time slot may be set in advance.
- the average number of iterations of each user is compared with the threshold of the number of iterations. Based on the comparison result, the maximum number of iterations for each user is determined.
- Specific processing methods can be varied. For example, if the average number of iterations per user is greater than the threshold of the number of iterations, Then set the maximum number of iterations of each user to the value of the average number of iterations.
- An embodiment of the present application provides a method for processing a check code, by obtaining the number of users scheduled in a predetermined time slot, and then according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and each The number of code blocks for user-scheduled check codes, to determine the input time, one-iteration decoding time, and output time of each user-scheduled code block, and then, based on the input time and output time of the newly-transmitted user-scheduled code blocks, And the input time and output time of retransmitting user-scheduled code blocks among users, determining the time for iterative decoding, according to the time used for iterative decoding, the iterative decoding time and the retransmission time of the newly transmitted user-scheduled code blocks
- the decoding time of one iteration of the code block scheduled by the user is transmitted to determine the average number of iterations corresponding to each user.
- the maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
- the input time and output time of the user-scheduled code block, and the input time and output time of the user-retransmitted user-scheduled code block determine the time for iterative decoding, and then determine the average number of iterations corresponding to each user, to Determining the maximum number of iterations corresponding to each user can dynamically adjust the number of iterations corresponding to each user according to the system throughput to optimize the LDPC decoding performance, thereby effectively using hardware resources and improving the performance of the communication system.
- an embodiment of the present application provides a method for processing a check code.
- the method may be executed by an electronic device, and the electronic device may be a terminal device or a server on the network side.
- the terminal device may Mobile terminal devices such as mobile phones or tablet computers can also be devices such as personal computers or televisions.
- the server on the network side may be a base station or other network side equipment, etc.
- the server may be an independent server or a server cluster composed of multiple servers, and the electronic device may be a communication network based on a communication protocol Electronic equipment, etc.
- This method can be used in applications such as dynamic configuration of check code iterations to improve communication system performance.
- the method may specifically include the following steps.
- step S302 the number of users scheduled in a predetermined time slot is acquired.
- the content of the step S302 is the same as the content of the step S102 in the first embodiment.
- step S304 according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks for each user scheduling check code, the input time and Output time.
- the check code scheduled by the user may be a low-density parity check code, etc.
- the check code is a low-density parity check code as an example for detailed description.
- the relevant content processing is described, and will not be repeated here.
- the size of each user scheduling matrix is mb 0 *kb 0 , mb 1 *kb 1 , ..., mb N-1 *kb N-1
- the expansion factor of each user scheduling matrix can be Z 0 , Z 1 , ..., Z N-1
- the number of code blocks scheduled by each user Can be C 0 , C 1 , ..., CN N-1
- the time required for decoding the low-density parity check code constructed according to the above matrix row index is MatrixCycle
- the size of the matrix scheduled by each user can be The numerical value, the expansion factor of the matrix scheduled by each user, and the number of code blocks of the check code scheduled by each user are substituted into the following formula (1).
- the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks of the check code for each user scheduling can be substituted into the following formula (2).
- cyclc0 j represents the input time of the code block scheduled by the jth user
- cyclc2 j represents the output time of the code block scheduled by the jth user
- C j represents The number of code blocks scheduled by the jth user
- Z j represents the expansion factor of the matrix scheduled by the jth user
- mbj*kbj represents the size value of the matrix scheduled by the jth user.
- the number of users that can be scheduled in a predetermined time slot is 1, the size of the user scheduling matrix is 46*68, the expansion factor of the user scheduling matrix can be 384, and the number of code blocks scheduled by the user can be 12, according to
- the time required for decoding the low-density parity check code constructed by the above matrix row index is MatrixCycle, then the size value of the user-scheduled matrix is 46*68, the expansion factor of the user-scheduled matrix is 384, and the user scheduling check
- step S306 according to the size value of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the time required for decoding the check code constructed by the above matrix row index, determine the schedule of each user The decoding time of one iteration of the code block.
- the size value of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the time required for decoding the check code constructed by the matrix row index can be substituted into the following In formula (3).
- the number of users that can be scheduled in the predetermined time slot is 1, the size of the user scheduling matrix is 46*68, the expansion factor of the user scheduling matrix can be 384, and the user scheduling code
- the number of blocks can be 12, and the time required for decoding the low-density parity check code constructed according to the above matrix row index is MatrixCycle, then the size value of the user-scheduled matrix is 46*68 and the code of the user-scheduled check code
- step S308 the time for iterative decoding is determined according to the input time and output time of the code block scheduled by the newly transmitted user in the user, and the input time and output time of the code block scheduled by the retransmitted user in the user.
- the sum of the input time of the code blocks scheduled by all new transmission users in the user and the sum of the output time of the code blocks scheduled by all new transmission users can be calculated.
- the schedule of all retransmission users scheduled by the user can be calculated.
- the sum of the input time of the newly-transmitted user-scheduled code blocks can be subtracted from the total time of the predetermined time slot.
- the sum of the output time, and the sum of the input time and the sum of the output time of all the retransmission user-scheduled code blocks, the obtained difference can be the time used for iterative decoding.
- the expansion factor of the user scheduling matrix may be 384, the user
- the number of scheduled code blocks can be 12, and the time required for decoding the low-density parity check code constructed according to the matrix row number index is MatrixCycle, and the user-scheduled code blocks are obtained based on the processing in steps S304 and S306, respectively.
- the input time is 4896, and the output time of the code block scheduled by the user is 828.
- the total input time of all newly transmitted user-scheduled code blocks is 4896
- the total output time is 828
- all retransmitted user-scheduled code blocks The total input time is 0, and the total output time is 0.
- the size values of the scheduling matrix of the 3 users are 5*27, 46*68, 46*68
- the expansion factors of the three user scheduling matrices are 384, 384, 384
- the number of code blocks scheduled by the three users is 10, 10, and 10, respectively.
- step S310 according to the above-mentioned time for iterative decoding, one iteration decoding time of the code block scheduled by the new transmission user and one iteration decoding time of the code block scheduled by the retransmission user, determine the average value corresponding to each user The number of iterations.
- the time for iterative decoding, the time for one iteration of the code block scheduled by the newly transmitted user, and the time of one time for the retransmission of the code block scheduled by the user can be substituted into the following formula (4) .
- IterationNum represents the average number of iterations
- cyclc1New represents the iterative decoding time of the code block scheduled by the new user
- cyclc1Old represents the iterative decoding time of the code block scheduled by the retransmit user
- TmpCycle represents Time available for iterative decoding.
- step S308 For example, based on the example of step S308 above, if there are 1 users that can be scheduled in the slot of the predetermined time slot, and the user is a newly transmitted user, and the size value of the user scheduling matrix is 46*68, the expansion of the user scheduling matrix The factor can be 384, and the number of code blocks scheduled by the user can be 12.
- step S308 there are 3 users that can be scheduled in the slot of the predetermined time slot, including 1 new transmission user and 2 retransmission users, and the size values of the scheduling matrix of the 3 users are 5*27, 46*68, 46*68, the expansion factors of the three user scheduling matrices are 384, 384, 384, and the number of code blocks scheduled by the three users is 10, 10, and 10, respectively.
- step S312 if the above-mentioned average number of iterations is greater than or equal to a predetermined threshold for the number of iterations, the maximum number of iterations corresponding to the newly transmitted user and the retransmitted user is the predetermined threshold for the number of iterations.
- the predetermined threshold of the number of iterations can be set according to actual conditions, such as 12 or 8, for example.
- step S308 if there are 1 schedulable users in the predetermined time slot, and the user is a new transmission user, if the predetermined number of iterations threshold is 12, then the user’s corresponding The average number of iterations is 15, so the maximum number of iterations corresponding to new users is 15.
- the above-mentioned average number of iterations is less than the predetermined threshold of the number of iterations, it may be processed based on the following steps S314 to S318.
- step S314 if the above-mentioned average number of iterations is less than a predetermined threshold for the number of iterations, the maximum number of iterations for the newly transmitted user is the predetermined threshold for the number of iterations.
- step S308 there are 3 users that can be scheduled in the predetermined time slot, including 1 new transmission user and 2 retransmission users. If the predetermined number of iteration thresholds is 8, Then, since the average number of iterations corresponding to each user obtained is 7, the maximum number of iterations corresponding to newly transmitted users may be 8.
- the maximum number of iterations corresponding to the retransmission user may be determined in various ways, or the number of iterations corresponding to the retransmission user may not be adjusted. The following provides a method for determining the maximum number of iterations corresponding to retransmission users. For details, refer to the processing in step S316 and step S318 described below.
- step S316 iterative decoding time for retransmitting users is obtained.
- the retransmission users can be sorted in ascending order according to the packet error rate of the code block of the check code. For example, based on the above example of step S308, the schedulable users in the predetermined time slot include 3 , Which contains 1 new retransmission user and 2 retransmission users, and the 2 retransmission users are 0 and 1 in ascending order.
- step S318 according to the iterative decoding time for retransmitting users, the maximum number of iterations corresponding to each retransmitting user is determined.
- step S316 it can be obtained that the maximum number of iterations corresponding to retransmission user 0 is 8, and the number of iterations corresponding to retransmission user 1 is not scheduled.
- An embodiment of the present application provides a method for processing a check code, by obtaining the number of users scheduled in a predetermined time slot, and then according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and each The number of code blocks for user-scheduled check codes, to determine the input time, one-iteration decoding time, and output time of each user-scheduled code block, and then, based on the input time and output time of the newly-transmitted user-scheduled code blocks, And the input time and output time of retransmitting user-scheduled code blocks among users, determining the time for iterative decoding, according to the time used for iterative decoding, the iterative decoding time and the retransmission time of the newly transmitted user-scheduled code blocks
- the decoding time of one iteration of the code block scheduled by the user is transmitted to determine the average number of iterations corresponding to each user.
- the maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
- the input time and output time of the user-scheduled code block, and the input time and output time of the user-retransmitted user-scheduled code block determine the time for iterative decoding, and then determine the average number of iterations corresponding to each user, to Determining the maximum number of iterations corresponding to each user can dynamically adjust the number of iterations corresponding to each user according to the system throughput to optimize the LDPC decoding performance, thereby effectively using hardware resources and improving the performance of the communication system.
- the embodiment of the present application also provides a device for processing the check code, as shown in FIG. 4.
- the processing device for the check code includes: a user number acquisition module 401, a first time determination module 402, a second time determination module 403, an average number determination module 404, and a maximum number determination module 405, wherein: the user number acquisition module 401 is used to To obtain the number of users scheduled in a predetermined time slot; the first time determining module 402 is used to determine the size of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the scheduling check code of each user The number of code blocks determines the input time, one iteration decoding time and output time of each user-scheduled code block; the second time determination module 403 is used to determine the input time and The output time, and the input time and output time of the user-retransmitted user-scheduled code block determine the time for iterative decoding; the average number of times determination module 404 is used to determine the time for iterative decoding, One iteration decoding time of the code block scheduled by the new transmission user and one iteration decoding time of the code block scheduled by
- the maximum number of times determining module 405 is configured to: if the average number of iterations is greater than or equal to a predetermined threshold for the number of iterations, the maximum number of iterations corresponding to the new transmission user and the retransmission user is The predetermined threshold for the number of iterations.
- the maximum number of times determining module 405 is configured to: if the average number of iterations is less than a predetermined threshold of number of iterations, the maximum number of iterations of the newly transmitted user is the predetermined threshold of number of iterations.
- the device further includes:
- a third time determining module configured to obtain an iterative decoding time for the retransmission user
- the retransmission user iteration determination module is used to determine the maximum number of iterations corresponding to each retransmission user according to the iterative decoding time for the retransmission user.
- the first time determining module 402 includes: a first time determining unit, configured to determine the size of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the scheduling of each user
- the number of code blocks of the check code determines the input time and output time of the code blocks scheduled by each user
- the second time determination unit is used to determine the size of the matrix scheduled by each user and the size of the check code scheduled by each user
- the number of code blocks and the time required for decoding the check code constructed by the matrix row index determine the decoding time of one iteration of the code blocks scheduled by each user.
- the second time determining unit is used to: adjust the size value of the matrix scheduled by each user and the number of code blocks of the check code for each user scheduling, and the calibration constructed by the matrix row index
- the second time determining module 403 is configured to subtract the input time and output time of the code block scheduled by the new transmission user from the maximum duration supported in the predetermined time slot, and the The input time and output time of the code block scheduled by the user are retransmitted to obtain a corresponding difference value, and the obtained difference value is used as the time for iterative decoding.
- the average number of times determining module 404 is used to:
- IterationNum represents the average number of iterations
- cyclc1New represents the iterative decoding time of the code block scheduled by the new user
- cyclc1Old represents the iterative decoding of the code block scheduled by the retransmit user Time
- TmpCycle represents the time available for iterative decoding.
- An embodiment of the present application provides a check code processing device, by acquiring the number of users scheduled in a predetermined time slot, and then according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and each The number of code blocks for user-scheduled check codes, to determine the input time, one-iteration decoding time, and output time of each user-scheduled code block, and then, based on the input time and output time of the newly-transmitted user-scheduled code blocks, And the input time and output time of retransmitting user-scheduled code blocks among users, determining the time for iterative decoding, according to the time used for iterative decoding, the iterative decoding time and the retransmission time of the newly transmitted user-scheduled code blocks The decoding time of one iteration of the code block scheduled by the user is transmitted to determine the average number of iterations corresponding to each user.
- the maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
- the input time and output time of the user-scheduled code block, and the input time and output time of the user-retransmitted user-scheduled code block determine the time for iterative decoding, and then determine the average number of iterations corresponding to each user, to Determining the maximum number of iterations corresponding to each user can dynamically adjust the number of iterations corresponding to each user according to the system throughput to optimize the LDPC decoding performance, thereby effectively using hardware resources and improving the performance of the communication system.
- the electronic device 500 includes but is not limited to: a radio frequency unit 501, a network module 502, an audio output unit 503, an input unit 504, a sensor 505, and a display unit 506, user input unit 507, interface unit 508, memory 509, processor 510, power supply 511 and other components.
- a radio frequency unit 501 includes but is not limited to: a radio frequency unit 501, a network module 502, an audio output unit 503, an input unit 504, a sensor 505, and a display unit 506, user input unit 507, interface unit 508, memory 509, processor 510, power supply 511 and other components.
- the processor 510 is used to obtain the number of users scheduled in a predetermined time slot; the processor 510 is also used to determine the size of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user and each user The number of code blocks for scheduling check codes to determine the input time, one-iteration decoding time, and output time of each user-scheduled code block; the processor 510 is also used to determine the number of code blocks scheduled by new users in the user Input time and output time, and the input time and output time of the user-retransmitted user-scheduled code block, to determine the time for iterative decoding; the processor 510 is also used to determine the time for iterative decoding Time, one iteration decoding time of the code block scheduled by the new transmission user and one iteration decoding time of the code block scheduled by the retransmission user, to determine the average number of iterations corresponding to each user; the processor 510, It is also used to determine the maximum number of iterations corresponding to each user according to the average number
- the processor 510 is further configured to: if the average number of iterations is greater than or equal to a predetermined threshold for the number of iterations, the maximum number of iterations corresponding to the new transmission user and the retransmission user is the predetermined number of iterations Threshold.
- the processor 510 is further configured to: if the average number of iterations is less than a predetermined threshold for the number of iterations, the maximum number of iterations of the newly transmitted user is the predetermined threshold for the number of iterations.
- the processor 510 is also used to obtain the iterative decoding time for the retransmission user; according to the iterative decoding time for the retransmission user, determine the maximum number of iterations corresponding to each retransmission user .
- processor 510 is also used to determine the size of each user's schedule based on the size of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks for each user's scheduling check code Input time and output time of code block;
- the processor 510 is further used to calculate the size of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the time required for decoding the check code constructed by the matrix row index, Determine the iterative decoding time for each user-scheduled code block.
- the output time of the scheduled code block where cyclc0 j represents the input time of the code block scheduled by the jth user, cyclc2 j represents the output time of the code block scheduled by the jth user, and C j represents the code scheduled by the jth user Number of blocks, Z
- the decoding time of one iteration of the code block, MatrixCycle represents the time required for decoding the check code constructed by the matrix row number index.
- the processor 510 is further configured to subtract the input time and output time of the code block scheduled by the new transmission user and the code scheduled by the retransmission user from the maximum duration supported in the predetermined time slot The input time and output time of the block obtain corresponding difference values, and use the obtained difference values as time for iterative decoding.
- the processor 510 is further configured to decode the time for iterative decoding, the iterative decoding time of the code block scheduled by the new transmission user, and the iteration of the code block scheduled by the retransmission user
- One iteration decoding time of the scheduled code block, cyclc1Old represents one iteration decoding time of the retransmission user-scheduled code block, and TmpCycle represents time available for iterative decoding.
- An embodiment of the present application provides an electronic device, which obtains the number of users scheduled in a predetermined time slot, and then according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the scheduling check of each user
- the number of code blocks of the code determine the input time, decoding time and output time of each user-scheduled code block, and then, according to the input time and output time of the user-scheduled code block newly transmitted by the user, and the user's weight
- the input time and output time of the user-scheduled code block determine the time for iterative decoding, according to the time used for iterative decoding, the iterative decoding time of the newly transmitted user-scheduled code block and the retransmission user-scheduled time
- the decoding time of one iteration of the code block determines the average number of iterations corresponding to each user.
- the maximum number of iterations corresponding to each user is determined.
- the code scheduled by the new user is transmitted
- the input time and output time of the block, as well as the input time and output time of the user-retransmitted user-scheduled code block determine the time for iterative decoding, and then determine the average number of iterations corresponding to each user to determine each user
- the corresponding maximum number of iterations can make it possible to dynamically adjust the number of iterations corresponding to each user according to the system throughput, so as to optimize the LDPC decoding performance, thereby effectively using hardware resources and improving the performance of the communication system.
- the radio frequency unit 501 may be used to receive and send signals during sending and receiving information or during a call. Specifically, after receiving the downlink data from the base station, it is processed by the processor 510; The uplink data is sent to the base station.
- the radio frequency unit 501 includes but is not limited to an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
- the radio frequency unit 501 can also communicate with the network and other devices through a wireless communication system.
- the electronic device provides wireless broadband Internet access for the user through the network module 502, such as helping the user to send and receive emails, browse web pages, and access streaming media.
- the audio output unit 503 may convert the audio data received by the radio frequency unit 501 or the network module 502 or stored in the memory 509 into an audio signal and output as sound. Moreover, the audio output unit 503 may also provide audio output related to a specific function performed by the electronic device 500 (eg, call signal reception sound, message reception sound, etc.).
- the audio output unit 503 includes a speaker, a buzzer, a receiver, and the like.
- the input unit 504 is used to receive audio or video signals.
- the input unit 504 may include a graphics processor (Graphics, Processing, Unit, GPU) 5041 and a microphone 5042.
- the graphics processor 5041 is for a still picture or video image obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode
- the data is processed.
- the processed image frame may be displayed on the display unit 506.
- the image frame processed by the graphics processor 5041 may be stored in the memory 509 (or other storage medium) or sent via the radio frequency unit 501 or the network module 502.
- the microphone 5042 can receive sound, and can process such sound into audio data.
- the processed audio data can be converted into a format that can be sent to the mobile communication base station via the radio frequency unit 501 in the case of a telephone call mode and output.
- the electronic device 500 further includes at least one sensor 505, such as a light sensor, a motion sensor, and other sensors.
- the light sensor includes an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 5061 according to the brightness of the ambient light, and the proximity sensor can close the display panel 5061 and the electronic device 500 when moving to the ear /Or backlight.
- the accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes), and can detect the magnitude and direction of gravity when at rest, and can be used to identify the posture of electronic devices (such as horizontal and vertical screen switching, related games) , Magnetometer attitude calibration), vibration recognition related functions (such as pedometer, tap), etc.; sensor 505 can also include fingerprint sensor, pressure sensor, iris sensor, molecular sensor, gyroscope, barometer, hygrometer, thermometer, Infrared sensors, etc. will not be repeated here.
- the display unit 506 is used to display information input by the user or information provided to the user.
- the display unit 506 may include a display panel 5061, and the display panel 5061 may be configured in the form of a liquid crystal display (Liquid Crystal) (LCD), an organic light emitting diode (Organic Light-Emitting Diode, OLED), or the like.
- LCD Liquid Crystal
- OLED Organic Light-Emitting Diode
- the user input unit 507 may be used to receive input numeric or character information, and generate key signal input related to user settings and function control of the electronic device.
- the user input unit 507 includes a touch panel 5071 and other input devices 5072.
- the touch panel 5071 also known as a touch screen, can collect user's touch operations on or near it (for example, the user uses any suitable objects or accessories such as fingers, stylus, etc. on or near the touch panel 5071 operating).
- the touch panel 5071 may include a touch detection device and a touch controller.
- the touch detection device detects the user's touch orientation, and detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device and converts it into contact coordinates, and then sends To the processor 510, the command sent by the processor 510 is received and executed.
- the touch panel 5071 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
- the user input unit 507 may also include other input devices 5072.
- other input devices 5072 may include, but are not limited to, physical keyboards, function keys (such as volume control keys, switch keys, etc.), trackballs, mice, and joysticks, which are not repeated here.
- the touch panel 5071 may be overlaid on the display panel 5061.
- the touch panel 5071 detects a touch operation on or near it, it is transmitted to the processor 510 to determine the type of touch event, and then the processor 510 according to the touch The type of event provides corresponding visual output on the display panel 5061.
- the touch panel 5071 and the display panel 5061 are implemented as two independent components to realize the input and output functions of the electronic device, in some embodiments, the touch panel 5071 and the display panel 5061 may be integrated
- the implementation of the input and output functions of the electronic device is not limited here.
- the interface unit 508 is an interface for connecting an external device to the electronic device 500.
- the external device may include a wired or wireless headset port, an external power (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device with an identification module, audio input/output (I/O) port, video I/O port, headphone port, etc.
- the interface unit 508 may be used to receive input from external devices (eg, data information, power, etc.) and transmit the received input to one or more elements within the electronic device 500 or may be used in the electronic device 500 and external Transfer data between devices.
- the memory 509 can be used to store software programs and various data.
- the memory 509 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, application programs required by at least one function (such as a sound playback function, an image playback function, etc.), etc.; the storage data area may store Data created by the use of mobile phones (such as audio data, phonebooks, etc.), etc.
- the memory 509 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state storage devices.
- the processor 510 is the control center of the electronic device, and uses various interfaces and lines to connect the various parts of the entire electronic device, by running or executing the software programs and/or modules stored in the memory 509, and calling the data stored in the memory 509 , Perform various functions and process data of electronic devices, so as to monitor the electronic devices as a whole.
- the processor 510 may include one or more processing units; preferably, the processor 510 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, and application programs, etc.
- the processor mainly deals with wireless communication. It can be understood that, the foregoing modem processor may not be integrated into the processor 510.
- the electronic device 500 may further include a power supply 511 (such as a battery) that supplies power to various components.
- a power supply 511 (such as a battery) that supplies power to various components.
- the power supply 511 may be logically connected to the processor 510 through a power management system, so as to manage charging, discharging, and power consumption management through the power management system And other functions.
- an embodiment of the present application further provides an electronic device, including a processor 510, a memory 509, and a computer program stored on the memory 509 and executable on the processor 510, when the computer program is executed by the processor 510.
- an electronic device including a processor 510, a memory 509, and a computer program stored on the memory 509 and executable on the processor 510, when the computer program is executed by the processor 510.
- Embodiments of the present application also provide a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium.
- a computer program is stored on the computer-readable storage medium.
- the computer program is executed by a processor, each process of the foregoing method embodiment for processing a check code is implemented, and can be achieved. The same technical effect will not be repeated here to avoid repetition.
- the computer-readable storage medium such as read-only memory (Read-Only Memory, ROM for short), random access memory (Random Access Memory, RAM for short), magnetic disk or optical disk, etc.
- An embodiment of the present application provides a computer-readable storage medium, by acquiring the number of users scheduled in a predetermined time slot, and then according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and each user
- the number of code blocks that schedule check codes determine the input time, one-iteration decoding time, and output time of each user-scheduled code block, and then, according to the input time and output time of the user-scheduled code block newly transmitted by the user, and Input time and output time of retransmission of user-scheduled code blocks among users, determine the time for iterative decoding, according to the time used for iterative decoding, the time of one iteration decoding and retransmission of newly transmitted user-scheduled code blocks One iteration decoding time of the code block scheduled by the user to determine the average number of iterations corresponding to each user.
- the maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
- the input time and output time of the scheduled code block, and the input time and output time of the user-retransmitted code block of the user determine the time for iterative decoding, and then determine the average number of iterations corresponding to each user to determine
- the maximum number of iterations corresponding to each user can dynamically adjust the number of iterations corresponding to each user according to the system throughput, so as to optimize the LDPC decoding performance, thereby effectively using hardware resources and improving the performance of the communication system.
- the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
- computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- These computer program instructions may also be stored in a computer readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, the instructions
- the device implements the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
- These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
- the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.
- the computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
- processors CPUs
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- the memory may include non-permanent memory, random access memory (RAM) and/or non-volatile memory in a computer-readable medium, such as read only memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
- RAM random access memory
- ROM read only memory
- flash RAM flash memory
- Computer readable media including permanent and non-permanent, removable and non-removable media, can store information by any method or technology.
- the information may be computer readable instructions, data structures, modules of programs, or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, read-only compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
- computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.
- the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the present application may take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
- computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
Description
Claims (16)
- 一种校验码的处理方法,其中,所述方法包括:A check code processing method, wherein the method includes:获取预定时隙内调度的用户的数目;Get the number of users scheduled in a predetermined time slot;根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;According to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks of each user's scheduled check code, determine the input time of each user's scheduled code block and the time of one iteration decoding And output time;根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;Determine the time for iterative decoding based on the input time and output time of the code block scheduled by the newly transmitted user in the user, and the input time and output time of the code block scheduled by the retransmitted user in the user;根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;Determine the average value corresponding to each user according to the time for iterative decoding, the time for one iteration of the code block scheduled by the newly transmitted user, and the time for one iteration of the code block scheduled by the retransmitted user Number of iterations根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。The maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
- 根据权利要求1所述的方法,其中,所述根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,包括:The method according to claim 1, wherein the determining the maximum number of iterations corresponding to each user according to the average number of iterations corresponding to each user comprises:如果所述平均迭代次数大于或等于预定的迭代次数阈值,则所述新传用户和所述重传用户对应的最大迭代次数为所述预定的迭代次数阈值。If the average number of iterations is greater than or equal to a predetermined threshold for the number of iterations, the maximum number of iterations corresponding to the new transmission user and the retransmission user is the predetermined threshold for the number of iterations.
- 根据权利要求1所述的方法,其中,所述根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,包括:The method according to claim 1, wherein the determining the maximum number of iterations corresponding to each user according to the average number of iterations corresponding to each user comprises:如果所述平均迭代次数小于预定的迭代次数阈值,则所述新传用户的最大迭代次数为所述预定的迭代次数阈值。If the average number of iterations is less than a predetermined threshold for the number of iterations, the maximum number of iterations for the newly transmitted user is the predetermined threshold for the number of iterations.
- 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1, wherein the method further comprises:获取用于所述重传用户的迭代译码时间;Acquiring the iterative decoding time for the retransmission user;根据用于所述重传用户的迭代译码时间,确定每个重传用户对应的最大迭代次数。The maximum number of iterations corresponding to each retransmission user is determined according to the iterative decoding time for the retransmission user.
- 根据权利要求1所述的方法,其中,所述根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,包括:The method according to claim 1, wherein said each user is determined according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks of the check code scheduled by each user The input time, decoding time and output time of a scheduled code block include:根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间;Determine the input time and output time of each user-scheduled code block according to the size value of each user-scheduled matrix, the expansion factor of each user-scheduled matrix, and the number of code blocks for each user-scheduled check code;根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码 块的一次迭代译码时间。According to the size value of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the time required for decoding the check code constructed by the matrix row index, determine the One iteration decoding time.
- 根据权利要求5所述的方法,其中,所述根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间,包括:The method according to claim 5, wherein the user is determined according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks for each user's scheduling check code Input time and output time of scheduled code blocks, including:将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式Substitute the size of each user-scheduled matrix, the expansion factor of each user-scheduled matrix, and the number of code blocks for each user-scheduled check code into the following formulacyclc0 j=C j*ceil(8*Z j/512)*kb j cyclc0 j = C j *ceil(8*Z j /512)*kb j进行计算,得到每个用户调度的码块的输入时间;Perform calculation to get the input time of the code block scheduled by each user;将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式Substitute the size of each user-scheduled matrix, the expansion factor of each user-scheduled matrix, and the number of code blocks for each user-scheduled check code into the following formulacyclc2 j=C j*ceil(1*Z j/128)*(1+kb j-mb j) cyclc2 j = C j *ceil(1*Z j /128)*(1+kb j -mb j )进行计算,得到每个用户调度的码块的输出时间,其中,cyclc0 j表示第j个用户调度的码块的输入时间,cyclc2 j表示第j个用户调度的码块的输出时间,C j表示第j个用户调度的码块数量,Z j表示第j个用户调度的矩阵的扩展因子,mbj*kbj表示第j个用户调度的矩阵的大小数值。 Perform calculations to obtain the output time of the code block scheduled by each user, where cyclc0 j represents the input time of the code block scheduled by the jth user, cyclc2 j represents the output time of the code block scheduled by the jth user, and C j represents The number of code blocks scheduled by the jth user, Z j represents the expansion factor of the matrix scheduled by the jth user, and mbj*kbj represents the size value of the matrix scheduled by the jth user.
- 根据权利要求6所述的方法,其中,所述根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码块的一次迭代译码时间,包括:The method according to claim 6, wherein the size of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the check code decoding constructed by the matrix row index The required time determines the decoding time of one iteration of the code block scheduled by each user, including:将每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,代入到下述公式Substitute the size value of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, and the time required to decode the check code constructed by the matrix row index into the following formulacyclc1 j=C j*ceil(MatrixCycle(mb j)) cyclc1 j = C j *ceil(MatrixCycle(mb j ))进行计算,得到每个用户调度的码块的一次迭代译码时间,其中,cyclc1 j表示第j个用户调度的码块的一次迭代译码时间,MatrixCycle表示所述矩阵行数索引构建的校验码译码所需时间。 Perform calculations to obtain one iteration decoding time for each user-scheduled code block, where cyclc1 j represents one iteration decoding time for the j-th user-scheduled code block, and MatrixCycle represents the verification of the matrix row number index construction Time required for code decoding.
- 根据权利要求1所述的方法,其中,所述根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,包括:The method according to claim 1, wherein the input time and output time of the code block scheduled by the new user in the user and the input time and output time of the code block scheduled by the user in the retransmission of the user , Determine the time for iterative decoding, including:从所述预定时隙内支持的最大时长中减去所述新传用户调度的码块的输入时间和输出时间,以及所述重传用户调度的码块的输入时间和输出时间,得到相应的差值,并将得到的所述差值作为用于迭代译码的时间。Subtract the input time and output time of the code block scheduled by the new transmission user and the input time and output time of the code block scheduled by the retransmission user from the maximum duration supported in the predetermined time slot to obtain the corresponding The difference, and use the obtained difference as the time for iterative decoding.
- 根据权利要求1所述的方法,其中,所述根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应平均迭代次数,包括:The method according to claim 1, wherein, according to the time for iterative decoding, the time of one iteration decoding of the code block scheduled by the new transmission user and the time of the code block scheduled by the retransmission user One iteration decoding time, to determine the average number of iterations corresponding to each user, including:将所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间代入到下述公式Substituting the time for iterative decoding, the one-time decoding time of the code block scheduled by the new transmission user, and the one-time decoding time of the code block scheduled by the retransmission user into the following formulaIterationNum=min(floor(TmpCycle/(cyclc1New+cyclc1Old)),31)-1IterationNum=min(floor(TmpCycle/(cyclc1New+cyclc1Old)), 31)-1进行计算,得到平均迭代次数;其中,IterationNum表示平均迭代次数,cyclc1New表示所述新传用户调度的码块的一次迭代译码时间,cyclc1Old表示所述重传用户调度的码块的一次迭代译码时间,TmpCycle表示可用于迭代译码的时间。Perform calculations to obtain the average number of iterations; where IterationNum represents the average number of iterations, cyclc1New represents the iterative decoding time of the code block scheduled by the new user, and cyclc1Old represents the iterative decoding of the code block scheduled by the retransmit user Time, TmpCycle represents the time available for iterative decoding.
- 一种校验码的处理装置,其中,所述装置包括:A verification code processing device, wherein the device includes:用户数获取模块,用于获取预定时隙内调度的用户的数目;The user number acquisition module is used to acquire the number of users scheduled in a predetermined time slot;第一时间确定模块,用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;The first time determination module is used to determine the size of each user-scheduled code block according to the size of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks scheduled by each user Input time, one iteration decoding time and output time;第二时间确定模块,用于根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;The second time determination module is used to determine the iteration time according to the input time and output time of the code block scheduled by the new user in the user, and the input time and output time of the code block scheduled by the user in the retransmission user Decoding time;平均次数确定模块,用于根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;The average number of times determining module is used for determining the iterative decoding time, the iterative decoding time of the code block scheduled by the new transmission user and the iterative decoding time of the code block scheduled by the retransmission user, Determine the average number of iterations corresponding to each user;最大次数确定模块,用于根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。The maximum number determining module is configured to determine the maximum number of iterations corresponding to each user according to the average number of iterations corresponding to each user.
- 根据权利要求10所述的装置,其中,所述最大次数确定模块,用于如果所述平均迭代次数大于或等于预定的迭代次数阈值,则所述新传用户和所述重传用户对应的最大迭代次数为所述预定的迭代次数阈值。The apparatus according to claim 10, wherein the maximum number of times determining module is configured to: if the average number of iterations is greater than or equal to a predetermined threshold for the number of iterations, the maximum corresponding to the newly transmitted user and the retransmitted user The number of iterations is the predetermined threshold of the number of iterations.
- 根据权利要求10所述的装置,其中,所述最大次数确定模块,用于如果所述平均迭代次数小于预定的迭代次数阈值,则所述新传用户的最大迭代次数为所述预定的迭代次数阈值。The apparatus according to claim 10, wherein the maximum number of times determining module is configured to: if the average number of iterations is less than a predetermined number of iterations threshold, the maximum number of iterations of the newly transmitted user is the predetermined number of iterations Threshold.
- 根据权利要求10所述的装置,其中,所述装置还包括:The device of claim 10, wherein the device further comprises:第三时间确定模块,用于获取用于所述重传用户的迭代译码时间;A third time determining module, configured to obtain an iterative decoding time for the retransmission user;重传用户迭代确定模块,用于根据用于所述重传用户的迭代译码时间,确定每个重传用户对应的最大迭代次数。The retransmission user iteration determination module is used to determine the maximum number of iterations corresponding to each retransmission user according to the iterative decoding time for the retransmission user.
- 根据权利要求10所述的装置,其中,所述第一时间确定模块,包括:The apparatus according to claim 10, wherein the first time determination module comprises:第一时间确定单元,用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间;The first time determining unit is used to determine the size of the code block scheduled by each user according to the size value of the matrix scheduled by each user, the expansion factor of the matrix scheduled by each user, and the number of code blocks of the check code scheduled by each user Input time and output time;第二时间确定单元,用于根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码块的一次迭代译码时间。The second time determining unit is used to determine the size of the matrix scheduled by each user and the number of code blocks of the check code scheduled by each user, as well as the time required for decoding the check code constructed by the matrix row index One iteration decoding time of code block scheduled by each user.
- 一种电子设备,其中,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至9中任一项所述的校验码的处理方法的步骤。An electronic device, including a processor, a memory, and a computer program stored on the memory and executable on the processor, the computer program being implemented by the processor as claimed in claims 1 to 9 The steps of the check code processing method described in any one of the above.
- 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的校验码的处理方法的步骤。A computer-readable storage medium, wherein a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the check code according to any one of claims 1 to 9 is processed Method steps.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811581246.7 | 2018-12-24 | ||
CN201811581246.7A CN111355494A (en) | 2018-12-24 | 2018-12-24 | Check code processing method and device and electronic equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020134723A1 true WO2020134723A1 (en) | 2020-07-02 |
Family
ID=71129653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/119545 WO2020134723A1 (en) | 2018-12-24 | 2019-11-19 | Method and apparatus for processing check code, and electronic device |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111355494A (en) |
WO (1) | WO2020134723A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054741B (en) * | 2020-08-06 | 2022-06-03 | 深圳市杉川机器人有限公司 | Motor control method and device, terminal equipment and storage medium |
CN112152636B (en) * | 2020-09-08 | 2023-09-29 | Oppo广东移动通信有限公司 | Decoding method and device, equipment and storage medium |
CN113411167B (en) * | 2021-06-28 | 2022-07-19 | 展讯通信(上海)有限公司 | Decoding method and device, readable storage medium and terminal |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113149A1 (en) * | 2005-10-26 | 2007-05-17 | Broadcom Corporation | Power savings technique for iterative decoding |
CN101442316A (en) * | 2007-11-21 | 2009-05-27 | 中国科学院微电子研究所 | Parity check code iterative interpretation method capable of dynamically regulating most iterative number |
CN102420671A (en) * | 2011-01-24 | 2012-04-18 | 展讯通信(上海)有限公司 | Self-adaptive Turbo decoding iterations selection method |
-
2018
- 2018-12-24 CN CN201811581246.7A patent/CN111355494A/en active Pending
-
2019
- 2019-11-19 WO PCT/CN2019/119545 patent/WO2020134723A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070113149A1 (en) * | 2005-10-26 | 2007-05-17 | Broadcom Corporation | Power savings technique for iterative decoding |
CN101442316A (en) * | 2007-11-21 | 2009-05-27 | 中国科学院微电子研究所 | Parity check code iterative interpretation method capable of dynamically regulating most iterative number |
CN102420671A (en) * | 2011-01-24 | 2012-04-18 | 展讯通信(上海)有限公司 | Self-adaptive Turbo decoding iterations selection method |
Non-Patent Citations (1)
Title |
---|
XIE, TIANJIAO ET AL.: "A Max Iterative Variable LDPC Decoder Based on FPGA", SPACE ELECTRONIC TECHNOLOGY, 31 December 2015 (2015-12-31), DOI: 20200215175102A * |
Also Published As
Publication number | Publication date |
---|---|
CN111355494A (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7258041B2 (en) | Sidelink transmission method and terminal | |
CN111277388B (en) | HARQ-ACK codebook generating method, information sending method and equipment | |
US20210160778A1 (en) | Sidelink information transmission method and terminal | |
KR102473470B1 (en) | Side link link failure checking method and terminal | |
KR20220028081A (en) | UCI transmission method, reception method, terminal and network device | |
WO2020134723A1 (en) | Method and apparatus for processing check code, and electronic device | |
US20220368469A1 (en) | Transmission processing method and device | |
US20220022184A1 (en) | Transport block size determining method and communications device | |
CN111800867B (en) | Feedback method of semi-persistent scheduling physical downlink shared channel and terminal equipment | |
WO2020182124A1 (en) | Transmission method, network device, and terminal | |
WO2019154320A1 (en) | Method and device for determining detection information in search space | |
US20210320691A1 (en) | Transmission method, terminal, network device, and computer-readable storage medium | |
EP3389314A1 (en) | Communication device, and method and apparatus for reducing power consumption of communication device | |
WO2020228537A1 (en) | Resource determination method, resource indication method, terminal and network side device | |
KR20220041223A (en) | Transmission method, setting method, terminal and network side device | |
WO2020119243A1 (en) | Physical uplink control channel transmission method, network side device, and terminal | |
WO2019161764A1 (en) | Power configuration method and terminal | |
WO2020192673A1 (en) | Resource configuration method, resource determining method, network side device, and terminal | |
KR20220028107A (en) | Sidelink information transmission method, terminal and control node | |
US20230025146A1 (en) | Resource overhead determining method and related device | |
US20220272666A1 (en) | Feedback information transmission method and apparatus, device, and medium | |
CN112559532B (en) | Data insertion method and device based on red and black trees and electronic equipment | |
KR20220131384A (en) | Physical uplink control channel transmission method, apparatus, equipment and medium | |
KR20220125312A (en) | PDCCH setting method and terminal | |
CN112769521A (en) | Method and terminal for determining size of transmission block |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19905245 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19905245 Country of ref document: EP Kind code of ref document: A1 |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16.11.2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19905245 Country of ref document: EP Kind code of ref document: A1 |