WO2020134723A1 - Method and apparatus for processing check code, and electronic device - Google Patents

Method and apparatus for processing check code, and electronic device Download PDF

Info

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
Application number
PCT/CN2019/119545
Other languages
French (fr)
Chinese (zh)
Inventor
吴昊
王芳
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2020134723A1 publication Critical patent/WO2020134723A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-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

Disclosed are a method and apparatus for processing a check code, and an electronic device. The method comprises: acquiring the number of users scheduled in a predetermined time slot; determining, according to a magnitude value of a matrix scheduled by each user, an expansion factor of the matrix scheduled by each user and the number of code blocks, scheduled by each user, of a check code, an input time, a one-iteration decoding time and an output time of a code block scheduled by each user; determining, according to an input time and an output time of a code block scheduled by a new transmission user in the users and an input time and an output time of a code block scheduled by a re-transmission user in the users, the time for iteration decoding; determining, according to the time for iteration decoding, a one-iteration decoding time of the code block scheduled by the new transmission user and a one-iteration decoding time of the code block scheduled by the re-transmission user, the average number of iterations corresponding to each user; and determining, according to the average number of iterations corresponding to each user, the maximum number of iterations corresponding to each user.

Description

一种校验码的处理方法、装置及电子设备Method, device and electronic equipment for processing check code
交叉引用cross reference
本发明要求在2018年12月24日提交中国专利局、申请号为201811581246.7、发明名称为“一种校验码的处理方法、装置及电子设备”的中国专利申请的优先权,该申请的全部内容通过引用结合在本发明中。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.
技术领域Technical field
本申请涉及通信技术领域,尤其涉及一种校验码的处理方法、装置及电子设备。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.
背景技术Background technique
由于低密度奇偶校验码(low-density party-check code,LDPC)的性能接近香浓界限,因此,LDPC在很多无线通信系统中得到应用,如,LDPC可以应用于第三代合作伙伴计划新空口协议(3rd Generation Partnership Project New Radio,3GPP NR)和高级电视系统3.0(Advanced Television Systems Committee 3.0,ATSC 3.0)中等。但是,LDPC的功率消耗和译码时延会随着迭代次数的增加而增加,为此,在LDPC译码器中通常会设置有各种各样的早停机制,用以提高能源效率和增加系统吞吐量。Because the performance of low-density party-check codes (LDPC) is close to the Shannon limit, LDPC is used in many wireless communication systems. For example, LDPC can be applied to the new third-party partnership program. 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. However, the 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.
在对LDPC进行译码时,LDPC的译码性能与迭代次数之间存在较大关系,一般来说,迭代次数越多性能越好。当系统吞吐量较大时,可用迭代次数较小;当系统吞吐量较小时,可用迭代次数较多。通常,可以采用固定的迭代次数对LDPC进行译码。但是,上述方式无法有效利用硬件资源,使得LDPC译码性能较差,造成通信系统性能较差。When decoding LDPC, there is a large relationship between the decoding performance of LDPC and the number of iterations. Generally speaking, the higher the number of iterations, the better the performance. When the system throughput is large, the available iterations are small; when the system throughput is small, the available iterations are large. Usually, a fixed number of iterations can be used to decode the LDPC. However, the above method cannot effectively use hardware resources, which makes the LDPC decoding performance poor, resulting in poor communication system performance.
发明内容Summary of the invention
本申请实施例的目的是提供一种校验码的处理方法、装置及电子设备,以解决现有技术中无法有效利用硬件资源,使得LDPC译码性能较差,造成通信系统性能较差的问题。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 .
为解决上述技术问题,本申请实施例是这样实现的:To solve the above technical problems, the embodiments of the present application are implemented as follows:
第一方面,本申请实施例提供的一种校验码的处理方法,所述方法包括:获取预定时隙内调度的用户的数目;根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。In a first aspect, a method for processing a check code provided by an embodiment of the present application 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.
第二方面,本申请实施例提供的一种校验码的处理装置,所述装置包括:用户数获取模块,用于获取预定时隙内调度的用户的数目;第一时间确定模块,用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;第二时间确定模块,用于根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;平均次数确定模块,用于根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;最大次数确定模块,用于根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。In a second aspect, an apparatus for processing a check code provided by an embodiment of the present application, the apparatus 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 each user; the maximum number determination module is used to determine the maximum number of iterations corresponding to each user according to the average number of iterations corresponding to each user.
第三方面,本申请实施例提供的一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述第一方面所述的校验码的处理方法的步骤。According to a third aspect, 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. When the processor executes, it implements the steps of the method for processing the check code as described in the first aspect above.
第四方面,本申请实施例提供的一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的校验码的处理方法的步骤。According to a fourth aspect, 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.
附图说明BRIEF DESCRIPTION
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the embodiments of the present application or the technical solutions in the prior art, the following will briefly introduce the drawings used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only These are some of the embodiments described in this application. For those of ordinary skill in the art, without paying any creative labor, other drawings can also be obtained based on these drawings.
图1为本申请一种校验码的处理方法实施例;FIG. 1 is an embodiment of a method for processing a check code in this application;
图2为本申请一种校验码的处理系统的结构示意图;FIG. 2 is a schematic structural diagram of a verification code processing system of the present application;
图3为本申请另一种校验码的处理方法实施例;FIG. 3 is another embodiment of a method for processing a check code in this application;
图4为本申请一种校验码的处理装置实施例;FIG. 4 is an embodiment of a processing device for a check code of the present application;
图5为本申请一种电子设备实施例。FIG. 5 is an embodiment of an electronic device of the present application.
具体实施方式detailed description
本申请实施例提供一种校验码的处理方法、装置及电子设备。Embodiments of the present application provide a method, device, and electronic device for processing a check code.
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前 提下所获得的所有其他实施例,都应当属于本申请保护的范围。In order to enable those skilled in the art to better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the drawings in the embodiments of the present application. Obviously, the described The embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the scope of protection of this application.
实施例一Example one
如图1所示,本申请实施例提供一种校验码的处理方法,该方法的执行主体可以为电子设备,该电子设备可以是终端设备或网络侧的服务器等,其中,该终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机或电视机等设备。该网络侧的服务器可以是基站或者其它网络侧设备等,其中的服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该电子设备可以是基于某通信协议的通信网络中的电子设备等。该方法可以用于基于动态配置校验码迭代次数,以提高通信系统性能等应用中。该方法具体可以包括以下步骤:As shown in FIG. 1, 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:
在步骤S102中,获取预定时隙内调度的用户的数目。In step S102, the number of users scheduled in a predetermined time slot is acquired.
其中,预定时隙可以是通信技术领域中的时隙,例如LTE(Long Term Evolution,长期演进)中的一个或多个时隙等。本实施例中预定时隙内可以是一个slot内。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). In this embodiment, the predetermined time slot may be a slot.
在实施中,低密度奇偶校验码(low-density party-check code,LDPC)性能接近香浓界限,LDPC在很多无线通信系统中得到应用,比如,如图2所示,LDPC可以应用于第三代合作伙伴计划新空口协议(3rd Generation Partnership Project New Radio,3GPP NR)和高级电视系统3.0(Advanced Television Systems Committee 3.0,ATSC 3.0)中等,但是,LDPC的功率消耗和译码时延会随着迭代次数的增加而增加,为此,在LDPC译码器中通常会设置有各种各样的早停机制,用以提高能源效率和增加系统吞吐量,其中的早停机制可以通过如最大迭代次数方法、校验矩阵方法和循环冗余检验方法等实现。In the implementation, the performance of low-density parity check code (LDPC) is close to the Shannon limit. LDPC is used in many wireless communication systems. For example, as shown in FIG. 2, LDPC can be used in the first The 3rd Generation Partnership Project's New Air Port Agreement (3rd Generation Partnership Project 3Radio, 3GPP NR) and Advanced TV System 3.0 (Advanced Television Systems Systems Committee 3.0, ATSC 3.0) are moderate, but the power consumption and decoding delay of LDPC will increase with the The number of iterations increases and increases. For this reason, a variety of early stop mechanisms are usually provided in the LDPC decoder to improve energy efficiency and increase system throughput. The frequency method, check matrix method and cyclic redundancy check method are implemented.
在对LDPC进行译码时,LDPC的译码性能与迭代次数之间存在较大关系,一般来说,迭代次数越多性能越好。当系统吞吐量较大时,可用迭代次数较小;当系统吞吐量较小时,可用迭代次数较多。通常,可以采用固定的迭代次数对LDPC进行译码。但是,上述方式不能有效利用硬件资源,使得LDPC译码性能较差。为了使得LDPC译码性能最优,需要根据系统吞吐量动态调整迭代次数,为此,本申请实施例提供一种可动态调整校验码迭代次数的技术方案,具体可以包括以下内容:When decoding LDPC, there is a large relationship between the decoding performance of LDPC and the number of iterations. Generally speaking, the higher the number of iterations, the better the performance. When the system throughput is large, the available iterations are small; when the system throughput is small, the available iterations are large. Usually, a fixed number of iterations can be used to decode the LDPC. However, the above method cannot effectively use hardware resources, making the LDPC decoding performance poor. In order to optimize the LDPC decoding performance, it is necessary to dynamically adjust the number of iterations according to the system throughput. To this end, embodiments of the present application provide a technical solution that can dynamically adjust the number of iterations of the check code, which may specifically include the following:
当需要对某一时隙(slot)内(即预定时隙内)的用户调度校验码的迭代次数进行调整时,由于调整校验码的迭代次数可以是针对该时隙slot内的每一个用户,因此,可以先获取该时隙slot内调度的用户的数目,例如,某一时隙slot内可调度的用户包括1个或5个等。其中,该时隙slot内可调度的用户中可以包括新传用户和/或重传用户等。When it is necessary to adjust the number of iterations of a user's scheduling check code within a certain slot (ie, within a predetermined time slot), since the number of iterations of the adjustment check code may be adjusted for each user in the slot Therefore, 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.
在步骤S104中,根据每个用户调度矩阵的大小数值、每个用户调度矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间。In 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.
其中,用户调度矩阵可以是校验码中的检验矩阵。针对用户调度矩阵的扩展因子,为了实现低复杂度编码,并构造具有线性编码复杂度和准循环结构的LDPC码,可以对校验矩阵进行扩展(如进行二次扩展等),这样可以使得硬件实现简单、码长码率灵活可变,因此,在进行上述扩展的过程中会产生扩展因子。一次迭代译码时间可以是进行一次迭代译码所需要的时间长度等。The user scheduling matrix may be a check matrix in a check code. For the expansion factor of the user scheduling matrix, in order to realize low-complexity coding and construct an LDPC code with linear coding complexity and quasi-cyclic structure, the check matrix can be expanded (such as secondary expansion, etc.), which can make the hardware The implementation is simple and the code length and code rate are flexible and variable. Therefore, an expansion factor is generated during the above-mentioned expansion process. One iteration decoding time may be the length of time required for one iteration decoding and so on.
在实施中,在某一时隙slot内,可以获取该时隙slot内每个用户调度矩阵的大小数值,具体如46*68或5*27等,此外,还可以获取每个用户调度矩阵的扩展因子,具体如384等,同时,还可以获取每个用户调度校验码的码块数量,具体如10或8等。通过上述方式,获取到该时隙slot内每个用户调度矩阵的大小数值、每个用户调度矩阵的扩展因子和每个用户调度校验码的码块数量后,可以基于上述得到的数据进行计算,分别得到每个用户调度的码块的输入时间、每个用户调度的码块的一次迭代译码时间和每个用户调度的码块的输出时间,具体地,可以预先设定用于计算每个用户调度的码块的输入时间的算法,算法的设置具体可以根据实际情况进行设置或选取,该算法可以是基于用户调度矩阵的大小数值、用户调度矩阵的扩展因子和用户调度校验码的码块数量中的一项或多项确定的算法,例如,该算法可以是基于用户调度矩阵的大小数值、用户调度矩阵的扩展因子和用户调度校验码的码块数量,确定用户调度的码块的输入时间的算法,则可以将该时隙slot内每个用户调度矩阵的大小数值、每个用户调度矩阵的扩展因子和每个用户调度校验码的码块数量输入到上述设置的算法的公式中进行计算,得到每个用户调度的码块的输入时间。此外,该算法还可以是基于用户调度矩阵的大小数值和用户调度校验码的码块数量,确定用户调度的码块的输入时间的算法,则可以将该时隙slot内每个用户调度矩阵的大小数值和每个用户调度校验码的码块数量输入到上述设置的算法的公式中进行计算,得到每个用户调度的码块的输入时间等,或者,该算法还可以是基于用户调度矩阵的大小数值、用户调度矩阵的扩展因子和用户调度校验码的码块数量中的任一项,确定用户调度的码块的输入时间的算法等,本申请实施例对此不做限定。In the implementation, in a certain time slot, the size value of each user scheduling matrix in the time slot can be obtained, such as 46*68 or 5*27, etc. In addition, the expansion of each user scheduling matrix can also be obtained Factors, such as 384, etc. At the same time, you can also obtain the number of code blocks for each user scheduling check code, such as 10 or 8, etc. In the above manner, 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, for example, the algorithm 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 For 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. In addition, 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.
同样的,可以预先设定用于计算每个用户调度的码块的一次迭代译码时间的算法,算法的设置具体可以根据实际情况进行设置或选取,该算法可以是基于用户调度矩阵的大小数值、用户调度矩阵的扩展因子和用户调度校验码的码块数量中的一项或多项确定的算法。另外,还可以预先设定用于计算 每个用户调度的码块的输出时间的算法,算法的设置具体可以根据实际情况进行设置或选取,该算法可以是基于用户调度矩阵的大小数值、用户调度矩阵的扩展因子和用户调度校验码的码块数量中的一项或多项确定的算法。具体处理过程,可以参见上述内容和示例,在此不再赘述。Similarly, 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 determined by one or more of the expansion factor of the user scheduling matrix and the number of code blocks of the user scheduling check code. In addition, 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. For the specific processing procedure, you can refer to the above content and examples, which will not be repeated here.
在步骤S106中,根据上述用户中新传用户调度的码块的输入时间和输出时间,以及上述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间。In 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.
其中,在预定时隙内可调度的用户中可以包括新传用户和/或重传用户。Among them, the users schedulable in the predetermined time slot may include newly transmitted users and/or retransmitted users.
在实施中,可以从上述步骤S104中得到的每个用户调度的码块的输入时间和输出时间中,获取预定时隙slot内新传用户调度的码块的输入时间和输出时间,以及预定时隙slot内重传用户调度的码块的输入时间和输出时间,然后,可以获取预定时隙slot内支持的最大时长,可以从该最大时长中去除新传用户调度的码块的输入时间和输出时间,以及重传用户调度的码块的输入时间和输出时间,剩下的时长即可以作为用于迭代译码的时间,即可以使用该最大时长减去新传用户调度的码块的输入时间和输出时间,以及重传用户调度的码块的输入时间和输出时间,得到的差值即可以作为用于迭代译码的时间。In implementation, from the input time and output time of each user-scheduled code block obtained in step S104, 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 input time and output time of the user-scheduled code block are retransmitted in the slot, and then the maximum duration supported in the predetermined time slot slot can be obtained, and the input time and output of the newly transmitted user-scheduled code block can be removed from the maximum duration Time, as well as the input time and output time of the retransmission user-scheduled code block, the remaining time can be used as the time for iterative decoding, that is, the maximum time can be used minus the input time of the newly transmitted user-scheduled code block And 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.
例如,预定时隙slot内支持的最大时长为100000,新传用户调度的码块的输入时间为4896,新传用户调度的码块的输出时间为828,重传用户调度的码块的输入时间为8160,重传用户调度的码块的输出时间为1380,则用于迭代译码的时间为100000-4896-828-8160-1380=84736。For example, 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, and 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, and the time for iterative decoding is 100000-4896-828-8160-1380=84736.
在步骤S108中,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数。In 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.
在实施中,可以从上述步骤S104中得到的每个用户调度的码块的一次迭代译码时间中,获取预定时隙slot内新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,然后,可以设定每个用户的平均迭代次数的算法,该算法的设定方式可以根据实际情况设置或选择,本申请实施例对此不做限定。可以将上述得到的预定时隙slot内新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间代入到上述算法对应的公式中进行计算,得到每个用户的平均迭代次数。In implementation, 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.
例如,可以计算预定时隙slot内新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间的总和,可以将该总和的数值作为用户调度的码块的一次迭代译码时间,然后,可以使用用于迭代译码的时间除以用户调度的码块的一次迭代译码时间,得到相应的商。可以基于得 到的商每个用户的平均迭代次数。For example, 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.
在步骤S110中,根据上述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。In 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.
在实施中,针对预定时隙slot内每个用户调度校验码的迭代次数,可以预先设定预定时隙slot内每个用户调度校验码的迭代次数阈值,然后,可以将上述得到的每个用户的平均迭代次数与该迭代次数阈值进行比较,基于比较结果,确定每个用户的最大迭代次数,具体处理方式可以多种多样,例如,如果每个用户的平均迭代次数大于迭代次数阈值,则将每个用户的最大迭代次数设置为平均迭代次数的数值,如果每个用户的平均迭代次数小于迭代次数阈值,则将每个新传用户的最大迭代次数设置为迭代次数阈值,重传用户可以不进行迭代次数调整等。In the implementation, for the number of iterations of each user's scheduled check code in a predetermined time slot, 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. If the average number of iterations of each user is less than the threshold of the number of iterations, then set the maximum number of iterations of each new user to the threshold of the number of iterations and retransmit the user It is not necessary to adjust the number of iterations.
本申请实施例提供一种校验码的处理方法,通过获取预定时隙内调度的用户的数目,进而根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,然后,根据用户中新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数,最终,根据每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,这样,通过新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,进而确定每个用户对应的平均迭代次数,以确定每个用户对应的最大迭代次数,可以使得根据系统吞吐量动态调整每个用户对应的迭代次数,以使得LDPC译码性能最优,从而有效利用了硬件资源,并提高了通信系统性能。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. Finally, 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.
实施例二Example 2
如图3所示,本申请实施例提供一种校验码的处理方法,该方法的执行主体可以为电子设备,该电子设备可以是终端设备或网络侧的服务器等,其中,该终端设备可以如手机或平板电脑等移动终端设备,还可以如个人计算机或电视机等设备。该网络侧的服务器可以是基站或者其它网络侧设备等,其中的服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群,而且,该电子设备可以是基于某通信协议的通信网络中的电子设备等。该方法可以用于基于动态配置校验码迭代次数,以提高通信系统性能等应用中。该方法具体可以包括以下步骤。As shown in FIG. 3, 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.
在步骤S302中,获取预定时隙内调度的用户的数目。In step S302, the number of users scheduled in a predetermined time slot is acquired.
上述步骤S302的步骤内容与上述实施例一中步骤S102的步骤内容相同,步骤S302的具体处理过程可以参见上述实施例一中步骤S102的相关内容,在此不再赘述。The content of the step S302 is the same as the content of the step S102 in the first embodiment. For the specific processing procedure of the step S302, reference may be made to the relevant content of the step S102 in the first embodiment, and details are not described herein.
在步骤S304中,根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间。In 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.
其中,用户调度的校验码可以为低密度奇偶校验码等,本申请实施例以校验码为低密度奇偶校验码为例进行详细说明,对于其它类型的校验码,可以根据下述相关内容处理,在此不再赘述。Among them, the check code scheduled by the user may be a low-density parity check code, etc. In this embodiment of the present application, the check code is a low-density parity check code as an example for detailed description. For other types of check codes, the following The relevant content processing is described, and will not be repeated here.
在实施中,针对每个用户调度的码块的输入时间,如果预定时隙slot内可调度的用户数目为N,每个用户调度矩阵的大小数值分别为mb 0*kb 0,mb 1*kb 1,...,mb N-1*kb N-1,每个用户调度矩阵的扩展因子可以分别为Z 0,Z 1,...,Z N-1,每个用户调度的码块数量可以为C 0,C 1,...,C N-1,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则可以将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式(1)中。 In the implementation, for the input time of the code block scheduled by each user, if the number of users that can be scheduled in the predetermined time slot is N, 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, then 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).
cyclc0 j=C j*ceil(8*Z j/512)*kb j          (1) cyclc0 j = C j *ceil(8*Z j /512)*kb j (1)
进行计算,得到每个用户调度的码块的输入时间。Perform calculation to get the input time of the code block scheduled by each user.
可以将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式(2)中。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).
cyclc2 j=C j*ceil(1*Z j/128)*(1+kb j-mb j)      (2) cyclc2 j = C j *ceil(1*Z j /128)*(1+kb j -mb j ) (2)
进行计算,得到每个用户调度的码块的输出时间,其中,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.
例如,预定时隙slot内可调度的用户数目为1,该用户调度矩阵的大小数值为46*68,该用户调度矩阵的扩展因子可以为384,该用户调度的码块数量可以为12,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则将该用户调度的矩阵的大小数值46*68、该用户调度的矩阵的扩展因子384和该用户调度校验码的码块数量12,代入到上述公式(1)中,得到cyclc0 0=12*ceil(8*384/512)*68=4896,则4896即为该用户调度的码块的输入时间。可以将该用户调度的矩阵的大小数值46*68、该用户调度的矩阵的扩展因子384和该用户调度校验码的码块数量12,代入到上述公式(2)中,得到cyclc2 0=12*ceil(1*384/128)*(1+68-46)=828,则828即为该用户调度的码块的输出时间。 For example, 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 The number of code blocks of the code is 12, substituted into the above formula (1), and cyclc0 0 =12*ceil(8*384/512)*68=4896, then 4896 is the input time of the code block scheduled by the user. The size value of the user-scheduled matrix 46*68, the user-scheduled matrix expansion factor 384 and the user-scheduled check code number of code blocks 12 can be substituted into the above formula (2) to obtain cyclc2 0 = 12 *ceil(1*384/128)*(1+68-46)=828, then 828 is the output time of the code block scheduled by the user.
在步骤S306中,根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及上述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码块的一次迭代译码时间。In 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.
在实施中,可以将每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,代入到下述公式(3)中。In the implementation, 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).
cyclc1 j=C j*ceil(MatrixCycle(mb j))      (3) cyclc1 j =C j *ceil(MatrixCycle(mb j )) (3)
进行计算,得到每个用户调度的码块的一次迭代译码时间,其中,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 check code constructed by the above matrix row number index Decoding time.
例如,基于上述步骤S304的示例,预定时隙slot内可调度的用户数目为1,该用户调度矩阵的大小数值为46*68,该用户调度矩阵的扩展因子可以为384,该用户调度的码块数量可以为12,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则将该用户调度的矩阵的大小数值46*68和该用户调度校验码的码块数量12,以及矩阵行数索引构建的校验码译码所需时间MatrixCycle,代入到上述公式(3)中,得到cyclc1 0=12*472=5664,则5664即为该用户调度的码块的一次迭代译码时间。 For example, based on the above example of step S304, 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 The number of blocks is 12, and the time required for decoding the check code constructed by the matrix row index MatrixCycle is substituted into the above formula (3) to obtain cyclc1 0 = 12*472 = 5664, then 5664 is the code block scheduled by the user The decoding time of one iteration.
在步骤S308中,根据上述用户中新传用户调度的码块的输入时间和输出时间,以及上述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间。In 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.
在实施中,可以计算用户中所有新传用户调度的码块的输入时间的总和,以及所有新传用户调度的码块的输出时间的总和,同样的,可以计算用户中所有重传用户调度的码块的输入时间的总和,以及所有重传用户调度的码块的输出时间的总和,然后,可以从预定时隙slot的总时间中减去新传用户调度的码块的输入时间的总和和输出时间的总和,以及所有重传用户调度的码块的输入时间的总和和输出时间的总和,得到的差值即可以为用于迭代译码的时间。In the implementation, 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. Similarly, the schedule of all retransmission users scheduled by the user can be calculated. The sum of the input time of the code blocks, and the sum of the output time of all the retransmitted user-scheduled code blocks. Then, 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.
例如,如果预定时隙slot内可调度的用户为1个,且该用户为新传用户,且该用户调度矩阵的大小数值为46*68,该用户调度矩阵的扩展因子可以为384,该用户调度的码块数量可以为12,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则基于上述步骤S304和步骤S306的处理分别得到该用户调度的码块的输入时间为4896,该用户调度的码块的输出时间为828,因此,所有新传用户调度的码块的输入时间的总和为4896,输出时间的总和为828,所有重传用户调度的码块的输入时间的总和为0,输出时间的总和为0。然后,可以确定校验码译码总共可用cycle数目, 其中,系统留给处理芯片的处理时长不同,校验码译码总共可用cycle数目可以不同。如果处理芯片在预定时隙slot内支持的最大cycle数目是100000,则用于迭代译码的时间为100000-4896-828=94276。For example, if there are 1 schedulable users in a predetermined time slot, and the user is a new user, and the size of the user scheduling matrix is 46*68, 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. Therefore, the total input time of all newly transmitted user-scheduled code blocks is 4896, the total output time is 828, and all retransmitted user-scheduled code blocks The total input time is 0, and the total output time is 0. Then, the total number of available cycles for check code decoding can be determined, where the processing time left by the system to the processing chip is different, and the total number of available cycles for check code decoding can be different. If the maximum number of cycles supported by the processing chip in the predetermined time slot is 100000, the time for iterative decoding is 100000-4896-828=94276.
再例如,预定时隙slot内可调度的用户包括3个,其中,包含1个新传用户和2个重传用户,且3个用户调度矩阵的大小数值分别为5*27,46*68,46*68,3个用户调度矩阵的扩展因子分别为384,384,384,3个用户调度的码块数量分别为10,10,10,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则基于上述步骤S304和步骤S306的处理分别得到:第0个用户调度的码块的输入时间cyclc0 0=10*ceil(8*384/512)*27=1620,输出时间cyclc2 0=10*ceil(1*384/128)*(1+27-5)=690,第1个用户调度的码块的输入时间cyclc0 1=10*ceil(8*384/512)*68=4080,输出时间cyclc2 1=10*ceil(1*384/128)*(1+68-46)=690,第2个用户调度的码块的输入时间cyclc0 2=10*ceil(8*384/512)*68=4080,输出时间cyclc2 2=10*ceil(1*384/128)*(1+68-46)=690。如果新传用户索引为0,重传用户索引为1和2,则预定时隙slot内所有新传用户调度的码块的输入时间累加得到cyclc0New=1620,输出时间累加得到cyclc2New=690,预定时隙slot内所有重传用户输入时间累加得到cyclc0Old=4080+4080=8160,输出时间累加得到cyclc2Old=690+690=1380,因此,用于迭代译码的时间为100000-1620-690-8160-1380=88150。 For another example, 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. The time required for decoding is MatrixCycle, based on the processing in steps S304 and S306, respectively: the input time of the code block scheduled by the 0th user cyclc0 0 =10*ceil(8*384/512)*27=1620, Output time cyclc2 0 =10*ceil(1*384/128)*(1+27-5)=690, the input time of the code block scheduled by the first user cyclc0 1 =10*ceil(8*384/512) *68=4080, output time cyclc2 1 =10*ceil(1*384/128)*(1+68-46)=690, input time of code block scheduled by the second user cyclc0 2 =10*ceil(8 *384/512)*68=4080, output time cyclc2 2 =10*ceil(1*384/128)*(1+68-46)=690. If the index of new transmission users is 0 and the indexes of retransmission users are 1 and 2, then the input time of all code blocks scheduled by new users in the predetermined time slot will be accumulated to obtain cyclc0New=1620, and the output time will be accumulated to obtain cyclc2New=690, scheduled time The input time of all retransmission users in the slot is accumulated to obtain cyclc0Old=4080+4080=8160, and the output time is accumulated to obtain cyclc2Old=690+690=1380, so the time for iterative decoding is 100000-1620-690-8160-1380 = 88150.
在步骤S310中,根据上述用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数。In 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.
在实施中,可以将用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间代入到下述公式(4)中。In the implementation, 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=min(floor(TmpCycle/(cyclc1New+cyclc1Old)),31)–1  (4)IterationNum=min(floor(TmpCycle/(cyclc1New+cyclc1Old)), 31)–1 (4)
进行计算,得到平均迭代次数;其中,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, cyclc1Old represents the iterative decoding time of the code block scheduled by the retransmit user, and TmpCycle represents Time available for iterative decoding.
例如,基于上述步骤S308的示例,如果预定时隙slot内可调度的用户为1个,且该用户为新传用户,且该用户调度矩阵的大小数值为46*68,该用户调度矩阵的扩展因子可以为384,该用户调度的码块数量可以为12,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则一 次迭代译码时间累加得到cyclc1=5664,可用于迭代译码的时间为94276,可以将用于迭代译码的时间94276、一次迭代译码时间累加5664代入上述公式(4)中进行计算,得到该用户对应的平均迭代次数IterationNum=min(floor(94276/5664),31)-1=15。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. The time required for decoding the low-density parity check code constructed according to the above matrix row index is MatrixCycle, and then the iteration decoding time is accumulated to obtain cyclc1=5664, The time available for iterative decoding is 94276. The time for iterative decoding 94276 and the cumulative time of one iteration decoding 5664 can be substituted into the above formula (4) for calculation to obtain the average number of iterations corresponding to the user IterationNum=min( floor(94276/5664), 31)-1=15.
基于上述步骤S308的示例,预定时隙slot内可调度的用户包括3个,其中,包含1个新传用户和2个重传用户,且3个用户调度矩阵的大小数值分别为5*27,46*68,46*68,3个用户调度矩阵的扩展因子分别为384,384,384,3个用户调度的码块数量分别为10,10,10,根据上述矩阵行数索引构建的低密度奇偶校验码译码所需时间为MatrixCycle,则第0个用户调度的码块的一次迭代译码时间cyclc1 0=10*121=1210,第1个用户调度的码块的一次迭代译码时间cyclc1 1=10*472=4720,第2个用户调度的码块的一次迭代译码时间cyclc1 2=10*472=4720,预定时隙slot内所有新传用户对应的一次迭代译码时间累加得到cyclc1New=1210,预定时隙slot内所有重传用户对应的一次迭代译码时间累加得到cyclc1Old=4720+4720=9440,因此,每个用户对应的平均迭代次数IterationNum=min(floor(88150/(1210+9440)),31)-1=7。 Based on the example of step S308 above, 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. The parity check code decoding time is MatrixCycle, then the iteration decoding time of the code block scheduled by the 0th user is cyclc1 0 = 10*121 = 1210, and the iteration decoding time of the code block scheduled by the first user is 1 cyclc1 1 =10*472=4720, one iteration decoding time of the code block scheduled by the second user cyclc1 2 =10*472=4720, one iteration decoding time corresponding to all new transmission users in the predetermined time slot is accumulated cyclc1New = 1210, the iteration time corresponding to all retransmission users in the predetermined time slot is accumulated to get cyclc1Old = 4720 + 4720 = 9440, therefore, the average number of iterations corresponding to each user IterationNum = min (floor (88150/(1210 +9440)), 31)-1=7.
在步骤S312中,如果上述平均迭代次数大于或等于预定的迭代次数阈值,则新传用户和重传用户对应的最大迭代次数为预定的迭代次数阈值。In 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.
其中,预定的迭代次数阈值可以根据实际情况设定,具体如12或8等。The predetermined threshold of the number of iterations can be set according to actual conditions, such as 12 or 8, for example.
在实施中,基于上述步骤S308的示例,如果预定时隙slot内可调度的用户为1个,且该用户为新传用户,若预定的迭代次数阈值为12,则由于得到的该用户对应的平均迭代次数为15,因此,新传用户对应的最大迭代次数为15。In the implementation, based on the example in step S308 above, 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.
如果上述平均迭代次数小于预定的迭代次数阈值,则可以基于下述步骤S314~步骤S318处理。If 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.
在步骤S314中,如果上述平均迭代次数小于预定的迭代次数阈值,则新传用户的最大迭代次数为预定的迭代次数阈值。In 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.
在实施中,例如,基于上述步骤S308的示例,预定时隙slot内可调度的用户包括3个,其中,包含1个新传用户和2个重传用户,若预定的迭代次数阈值为8,则由于得到的每个用户对应的平均迭代次数为7,因此,新传用户对应的最大迭代次数可以为8。对于重传用户对应的最大迭代次数可以通过多种方式确定,也可以是不对重传用户对应的迭代次数进行调整等。以下提供一种对于重传用户对应的最大迭代次数的确定方式,具体可以参见下述步骤S316和步骤S318的处理。In implementation, for example, based on the example of step S308 above, 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.
在步骤S316中,获取用于重传用户的迭代译码时间。In step S316, iterative decoding time for retransmitting users is obtained.
在实施中,针对重传用户,可以按照校验码的码块误包率,对重传用户 进行升序排列,例如,基于上述步骤S308的示例,预定时隙slot内可调度的用户包括3个,其中,包含1个新传用户和2个重传用户,2个重传用户升序排列后为0和1。然后,计算可以用于重传用户的迭代译码时间,即TmpCycle’=MaxCycle-cyclc0New-cyclc2New-cyclc1New*(Threshold+1),得到TmpCycle’=100000-1620-690-1210*9=86800,其中,Threshold表示迭代次数阈值。In the implementation, for the retransmission users, 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. Then, calculate the iterative decoding time that can be used for retransmitting users, that is, TmpCycle' = MaxCycle-cyclc0New-cyclc2New-cyclc1New* (Threshold+1), and TmpCycle' = 100000-1620-690-1210*9 = 86800, where , Threshold represents the threshold of the number of iterations.
在步骤S318中,根据用于重传用户的迭代译码时间,确定每个重传用户对应的最大迭代次数。In step S318, according to the iterative decoding time for retransmitting users, the maximum number of iterations corresponding to each retransmitting user is determined.
在实施中,若重传用户按照码块误包率进行升序排列后为:ue0,ue1,...,uei,则重传用户对应的的最大迭代次数如下计算:即分别取index=ue0、ue1、...、或uei,计算T’=TmpCycle’-cyclc0index-cyclc2index-cyclc1index*(Threshold+1),其中TmpCycle’=MaxCycle-cyclc0New-cyclc2New-cyclc1New*(Threshold+1)。如果T’>0,则用户index最大迭代次数为迭代次数阈值。否则,index对应的用户到用户uei不进行调度。即基于上述步骤S316的示例,可以得到重传用户0对应的最大迭代次数为8,重传用户1对应的迭代次数不进行调度。In the implementation, if the retransmission users are arranged in ascending order according to the packet error rate of the code block: ue0, ue1, ..., uei, the maximum number of iterations corresponding to the retransmission user is calculated as follows: namely, index=ue0, ue1,..., or uei, calculate T'=TmpCycle'-cyclc0index-cyclc2index-cyclc1index*(Threshold+1), where TmpCycle'=MaxCycle-cyclc0New-cyclc2New-cyclc1New*(Threshold+1). If T’>0, the maximum number of iterations of the user index is the threshold of the number of iterations. Otherwise, the user-to-user uei corresponding to index is not scheduled. That is, based on the above example of 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.
本申请实施例提供一种校验码的处理方法,通过获取预定时隙内调度的用户的数目,进而根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,然后,根据用户中新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数,最终,根据每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,这样,通过新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,进而确定每个用户对应的平均迭代次数,以确定每个用户对应的最大迭代次数,可以使得根据系统吞吐量动态调整每个用户对应的迭代次数,以使得LDPC译码性能最优,从而有效利用了硬件资源,并提高了通信系统性能。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. Finally, 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.
实施例三Example Three
以上为本申请实施例提供的校验码的处理方法,基于同样的思路,本申请实施例还提供一种校验码的处理装置,如图4所示。The above is the method for processing the check code provided by the embodiment of the present application. Based on the same idea, the embodiment of the present application also provides a device for processing the check code, as shown in FIG. 4.
该校验码的处理装置包括:用户数获取模块401、第一时间确定模块402、第二时间确定模块403、平均次数确定模块404和最大次数确定模块405,其 中:用户数获取模块401,用于获取预定时隙内调度的用户的数目;第一时间确定模块402,用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;第二时间确定模块403,用于根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;平均次数确定模块404,用于根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;最大次数确定模块405,用于根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。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 retransmission user determine the average number of iterations corresponding to each user; the maximum number determination module 405 is used to The maximum number of iterations corresponding to each user is determined according to the average number of iterations corresponding to each user.
本申请实施例中,所述最大次数确定模块405,用于如果所述平均迭代次数大于或等于预定的迭代次数阈值,则所述新传用户和所述重传用户对应的最大迭代次数为所述预定的迭代次数阈值。In the embodiment of the present application, 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.
本申请实施例中,所述最大次数确定模块405,用于如果所述平均迭代次数小于预定的迭代次数阈值,则所述新传用户的最大迭代次数为所述预定的迭代次数阈值。In the embodiment of the present application, 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.
本申请实施例中,所述装置还包括:In the embodiment of the present application, 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.
本申请实施例中,所述第一时间确定模块402,包括:第一时间确定单元,用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间;第二时间确定单元,用于根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码块的一次迭代译码时间。In the embodiment of the present application, 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.
本申请实施例中,所述第一时间确定单元,用于:将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式cyclc0 j=C j*ceil(8*Z j/512)*kb 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个用户调度的矩阵的大小数值。 In the embodiment of the present application, the first time determining unit is used to substitute 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 Go to the following formula cyclc0 j =C j *ceil(8*Z j /512)*kb j to calculate to get the input time of the code block scheduled by each user; the size of the matrix scheduled by each user, each The expansion factor of the user-scheduled matrix and the number of code blocks for each user-scheduled check code are substituted into the following formula cyclc2 j =C j *ceil(1*Z j /128)*(1+kb j -mb j ) Calculate to get 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 The number of code blocks scheduled by the j users, Z j represents the expansion factor of the matrix scheduled by the jth user, and mbj*kbj represents the size of the matrix scheduled by the jth user.
本申请实施例中,所述第二时间确定单元,用于:将每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,代入到下述公式cyclc1 j=C j*ceil(MatrixCycle(mb j))进行计算,得到每个用户调度的码块的一次迭代译码时间,其中,cyclc1 j表示第j个用户调度的码块的一次迭代译码时间,MatrixCycle表示所述矩阵行数索引构建的校验码译码所需时间。 In the embodiment of the present application, 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 time required for code decoding is substituted into the following formula cyclc1 j =C j *ceil(MatrixCycle(mb j )) to calculate, and iterative decoding time for each user-scheduled code block is obtained, where cyclc1 j represents One iteration decoding time of the code block scheduled by the jth user, MatrixCycle represents the time required for decoding the check code constructed by the matrix row number index.
本申请实施例中,所述第二时间确定模块403,用于从所述预定时隙内支持的最大时长中减去所述新传用户调度的码块的输入时间和输出时间,以及所述重传用户调度的码块的输入时间和输出时间,得到相应的差值,并将得到的所述差值作为用于迭代译码的时间。In the embodiment of the present application, 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.
本申请实施例中,所述平均次数确定模块404,用于:In the embodiment of the present application, the average number of times determining module 404 is used to:
将所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间代入到下述公式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 formula
IterationNum=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.
本申请实施例提供一种校验码的处理装置,通过获取预定时隙内调度的用户的数目,进而根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,然后,根据用户中新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数,最终,根据每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,这样,通过新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,进而确定每个用户对应的平均迭代次数,以确定每个用户对应的最大迭代次数,可以使得根据系统吞吐量动态调整每个用户对应的迭代次数,以使得LDPC译码性能最优,从而有效利用了硬件资源,并提高了通信系统性能。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. Finally, 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.
实施例四Example 4
图5为实现本申请各个实施例的一种电子设备的硬件结构示意图,该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。5 is a schematic diagram of a hardware structure of an electronic device implementing various embodiments of the present application. 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. Those skilled in the art may understand that the structure of the electronic device shown in FIG. 5 does not constitute a limitation on the electronic device, and the electronic device may include more or less components than those illustrated, or combine certain components, or different components Layout.
其中,处理器510,用于获取预定时隙内调度的用户的数目;处理器510,还用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间;处理器510,还用于根据所述用户中新传用户调度的码块的输入时间和输出时间,以及所述用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间;处理器510,还用于根据所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数;所述处理器510,还用于根据所述每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数。Among them, 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 of iterations corresponding to each user.
此外,所述处理器510,还用于如果所述平均迭代次数大于或等于预定的迭代次数阈值,则所述新传用户和所述重传用户对应的最大迭代次数为所述预定的迭代次数阈值。In addition, 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.
此外,所述处理器510,还用于如果所述平均迭代次数小于预定的迭代次数阈值,则所述新传用户的最大迭代次数为所述预定的迭代次数阈值。In addition, 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.
此外,所述处理器510,还用于获取用于所述重传用户的迭代译码时间;根据用于所述重传用户的迭代译码时间,确定每个重传用户对应的最大迭代次数。In addition, 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 .
此外,所述处理器510,还用于根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间和输出时间;In addition, the 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;
所述处理器510,还用于根据每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,确定每个用户调度的码块的一次迭代译码时间。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.
此外,所述处理器510,还用于将每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量代入到下述公式cyclc0 j=C j*ceil(8*Z j/512)*kb 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个用户调度的矩阵的大小数值。 In addition, the processor 510 is also used to substitute 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 scheduling check code into the following formula cyclc0 j =C j *ceil(8*Z j /512)*kb j is calculated to get the input time of the code block scheduled by each user; the size of the matrix scheduled by each user and the expansion of the matrix scheduled by each user The factor and the number of code blocks for each user's scheduling check code are substituted into the following formula cyclc2 j =C j * ceil(1*Z j /128)*(1+kb j -mb j ) to calculate each user 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 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.
此外,所述处理器510,还用于将每个用户调度的矩阵的大小数值和每个用户调度校验码的码块数量,以及所述矩阵行数索引构建的校验码译码所需时间,代入到下述公式cyclc1 j=C j*ceil(MatrixCycle(mb j))进行计算,得到每个用户调度的码块的一次迭代译码时间,其中,cyclc1 j表示第j个用户调度的码块的一次迭代译码时间,MatrixCycle表示所述矩阵行数索引构建的校验码译码所需时间。 In addition, the processor 510 is also used for decoding the size value 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 check code required by the matrix row index Time is substituted into the following formula cyclc1 j =C j *ceil(MatrixCycle(mb j )) to calculate, and iterative decoding time of each user-scheduled code block is obtained, where cyclc1 j represents the j-th user scheduled 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.
此外,所述处理器510,还用于从所述预定时隙内支持的最大时长中减去所述新传用户调度的码块的输入时间和输出时间,以及所述重传用户调度的码块的输入时间和输出时间,得到相应的差值,并将得到的所述差值作为用于迭代译码的时间。In addition, 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.
此外,所述处理器510,还用于将所述用于迭代译码的时间、所述新传用户调度的码块的一次迭代译码时间和所述重传用户调度的码块的一次迭代译码时间代入到下述公式IterationNum=min(floor(TmpCycle/(cyclc1New+cyclc1Old)),31)-1进行计算,得到平均迭代次数;其中,IterationNum表示平均迭代次数,cyclc1New表示所述新传用户调度的码块的一次迭代译码时间,cyclc1Old表示所述重传用户调度的码块的一次迭代译码时间,TmpCycle表示可用于迭代译码的时间。In addition, 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 The decoding time is substituted into the following formula IterationNum=min(floor(TmpCycle/(cyclc1New+cyclc1Old)),31)-1 to calculate and obtain the average number of iterations; where IterationNum represents the average number of iterations and cyclc1New represents the new 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.
本申请实施例提供一种电子设备,通过获取预定时隙内调度的用户的数目,进而根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,然后,根据用户中新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数,最终,根据每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,这样,通过新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,进而确定每个用户对应的平均迭代次数,以确定每个用户对应的最大迭代次数,可以使得根据系统吞吐量动态调整每个用户对应的迭代次数,以使得LDPC译码性能最优,从而有效利用了硬件资源,并提高了通信系统性能。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. Finally, according to the average number of iterations corresponding to each user, the maximum number of iterations corresponding to each user is determined. In this way, 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.
应理解的是,本申请实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。It should be understood that, in the embodiment of the present application, 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. Generally, 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. In addition, the radio frequency unit 501 can also communicate with the network and other devices through a wireless communication system.
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。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.
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。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.
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。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.
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。The electronic device 500 further includes at least one sensor 505, such as a light sensor, a motion sensor, and other sensors. Specifically, 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. As a type of motion sensor, 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.
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。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.
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。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. Specifically, 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. Among them, 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. In addition, the touch panel 5071 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves. In addition to the touch panel 5071, the user input unit 507 may also include other input devices 5072. Specifically, 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.
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。Further, the touch panel 5071 may be overlaid on the display panel 5061. When 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. Although in FIG. 5, 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.
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。The interface unit 508 is an interface for connecting an external device to the electronic device 500. For example, 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.
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。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. In addition, 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.
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块, 以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。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.
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。The electronic device 500 may further include a power supply 511 (such as a battery) that supplies power to various components. Preferably, 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.
优选的,本申请实施例还提供一种电子设备,包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述校验码的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。Preferably, 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 The various processes of the embodiments of the method for processing the check code described above can achieve the same technical effect, and to avoid repetition, they will not be repeated here.
实施例五Example 5
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述校验码的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。Embodiments of the present application also provide a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium. When 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. Wherein, 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.
本申请实施例提供一种计算机可读存储介质,通过获取预定时隙内调度的用户的数目,进而根据每个用户调度的矩阵的大小数值、每个用户调度的矩阵的扩展因子和每个用户调度校验码的码块数量,确定每个用户调度的码块的输入时间、一次迭代译码时间和输出时间,然后,根据用户中新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,根据用于迭代译码的时间、新传用户调度的码块的一次迭代译码时间和重传用户调度的码块的一次迭代译码时间,确定每个用户对应的平均迭代次数,最终,根据每个用户对应的平均迭代次数,确定每个用户对应的最大迭代次数,这样,通过新传用户调度的码块的输入时间和输出时间,以及用户中重传用户调度的码块的输入时间和输出时间,确定用于迭代译码的时间,进而确定每个用户对应的平均迭代次数,以确定每个用户对应的最大迭代次数,可以使得根据系统吞吐量动态调整每个用户对应的迭代次数,以使得LDPC译码性能最优,从而有效利用了硬件资源,并提高了通信系统性能。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. Finally, 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.
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that 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.
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。This application is described with reference to flowcharts and/or block diagrams of methods, devices (systems), and computer program products according to embodiments of the application. It should be understood that each flow and/or block in the flowchart and/or block diagram and a combination of the flow and/or block in the flowchart and/or block diagram may be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, special-purpose computer, embedded processing machine, or other programmable data processing device to produce a machine that enables the generation of instructions executed by the processor of the computer or other programmable data processing device A device for realizing the functions specified in one block or multiple blocks of one flow or multiple flows of a flowchart and/or one block or multiple blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。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.
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, the computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。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.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。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. As defined in this article, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "include", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device that includes a series of elements not only includes those elements, but also includes Other elements not explicitly listed, or include elements inherent to such processes, methods, goods, or equipment. Without more restrictions, the element defined by the sentence "include one..." does not exclude that there are other identical elements in the process, method, commodity or equipment that includes the element.
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that 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.
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。The above is only an embodiment of the present application, and is not intended to limit the present application. For those skilled in the art, this application may have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application shall be included in the scope of the claims of this application.

Claims (16)

  1. 一种校验码的处理方法,其中,所述方法包括: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.
  2. 根据权利要求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.
  3. 根据权利要求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.
  4. 根据权利要求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.
  5. 根据权利要求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.
  6. 根据权利要求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 formula
    cyclc0 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 formula
    cyclc2 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.
  7. 根据权利要求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 formula
    cyclc1 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.
  8. 根据权利要求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.
  9. 根据权利要求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 formula
    IterationNum=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.
  10. 一种校验码的处理装置,其中,所述装置包括: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.
  11. 根据权利要求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.
  12. 根据权利要求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.
  13. 根据权利要求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.
  14. 根据权利要求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.
  15. 一种电子设备,其中,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求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.
  16. 一种计算机可读存储介质,其中,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求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.
PCT/CN2019/119545 2018-12-24 2019-11-19 Method and apparatus for processing check code, and electronic device WO2020134723A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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