A method, apparatus, and device for enhancing adaptive data transmission
By using a combination of master code and punch verification sequences on the encoding and decoding ends, the problem of performance fluctuations in existing adaptive data transmission schemes under complex channel conditions is solved, and the smooth transmission performance adjustment and overhead reduction under complex channel conditions is achieved.
Patent Information
- Application Number
- CN202211314264.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-25
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-10-25
AI Technical Summary
The existing adaptive data transmission scheme cannot effectively adjust the encoding and modulation method under complex and variable channel conditions, resulting in performance fluctuations in the case of channel mutations and high computing and storage overhead.
The enhanced adaptive data transmission method is adopted to adaptively adjust the encoding rate by using the combination of the master code and the punch verification sequence at the encoding end and the decoding end, reducing the calculation and storage overhead, and stably adjusting the transmission performance when the channel conditions change.
Under complex and variable channel conditions, adaptive adjustment of transmission performance is achieved, computing and storage overhead is reduced, and the applicability and robustness of the system are improved.
Smart Images

Figure CN115694766B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication, and in particular, to a method, apparatus, and device for enhancing adaptive data transmission. Background Art
[0002] In related technologies, the adaptive data transmission scheme mainly selects an appropriate modulation and coding scheme MCS (Modulation and Coding Scheme) based on the Adaptive Modulation and Coding (AMC) technology by feeding back channel state information (CSI). It controls the transmission rate of information by adjusting the modulation and coding method depending on a look-up table to ensure that the system can effectively transmit information. Similar variant schemes mainly optimize the MCS-related table based on different requirement criteria.
[0003] In practical applications, under complex and changeable channel conditions, it is impossible to design corresponding error correction codes for various channel conditions to meet different requirements, nor can it afford to store and calculate multiple different compilers and decoders with a large amount of software and hardware resources. That is, it is not practical to construct a large MCS look-up table to meet different application requirements. In addition, under the existing mechanism, the code type is switched depending on a pre-set MCS-related table, and it is difficult to define clearly the transition band (switching interval) between different code switches, resulting in a step-like fluctuation in performance in the case of sudden channel changes. Summary of the Invention
[0004] This application provides a method, apparatus, and device for enhancing adaptive data transmission, which is used to reduce the calculation and storage overhead during data transmission and simultaneously achieve adaptive adjustment of transmission performance under complex and changeable channel conditions.
[0005] In a first aspect, this application provides a method for enhancing adaptive data transmission, which is applied to an encoding end and includes:
[0006] Obtain information to be encoded, and when it is determined that a positive acknowledgment ACK feedback is received, determine whether the code rate up-cut or down-cut condition is met;
[0007] When it is determined that the code rate up-cut condition is met and the mother code does not need to be switched, encode the current information to be encoded using the mother code selected in the previous encoding, and update the obtained check sequence after encoding using a puncturing check sequence with a higher compatible code rate than the previous one, and then send it;
[0008] When it is determined that the code rate down-cut condition is met and the mother code does not need to be switched, encode the current information to be encoded using the mother code selected in the previous encoding, and update the obtained check sequence after encoding using a puncturing check sequence with a lower compatible code rate than the previous one, and then send it;
[0009] Among them, the mother code is the sequence code in the MCS table, and different puncturing check sequences are used to indicate the puncturing positions of the check sequences obtained after encoding using the mother code. The puncturing check sequence with more puncturing positions corresponds to a higher compatible code rate.
[0010] In one or more embodiments, when it is determined that the code rate upshift condition is met and the mother code does not need to be switched, the mother code selected for the previous encoding is used to encode the current information to be encoded, and the check sequence obtained after encoding is updated using a puncturing check sequence with a higher code rate than the previous one, including:
[0011] When it is determined that the code rate upshift condition is met and the mother code does not need to be switched, determine the different puncturing check sequences corresponding to the mother code;
[0012] Use the puncturing check sequence with a compatible code rate one level higher than the puncturing check sequence used last time to update the check sequence obtained after encoding.
[0013] In one or more embodiments, when it is determined that the code rate downshift condition is met and the mother code does not need to be switched, the mother code selected for the previous encoding is used to encode the current information to be encoded, and the check sequence obtained after encoding is updated using a puncturing check sequence with a lower code rate than the previous one, including:
[0014] When it is determined that the code rate downshift condition is met and the mother code does not need to be switched, determine the different puncturing check sequences corresponding to the mother code;
[0015] Use the puncturing check sequence with the lowest compatible code rate to update the check sequence obtained after encoding.
[0016] In one or more embodiments, the method further includes:
[0017] When it is determined that the code rate upshift condition is met and the mother code needs to be switched, encode the current information to be encoded using a mother code with a higher code rate than the mother code selected for the previous encoding and then send it;
[0018] When it is determined that the code rate downshift condition is met and the mother code needs to be switched, use a mother code with a lower code rate than the mother code selected for the previous encoding and the puncturing check sequence corresponding to the highest compatible code rate of the low code rate mother code to encode the current information to be encoded and then send it.
[0019] In one or more embodiments, determining that the code rate upshift condition is met and the mother code needs to be switched includes:
[0020] When it is determined that the upshift condition is met according to the current error correction rate and the puncturing check sequence used last time is the puncturing check sequence with the highest compatible code rate corresponding to the mother code, determine that the mother code needs to be switched.
[0021] In one or more embodiments, determining that the code rate downshift condition is met and the mother code needs to be switched includes:
[0022] Determining that the code rate downshift condition is met according to the current error correction rate, and when the puncturing check sequence used last time is the puncturing check sequence corresponding to the lowest compatible code rate of the mother code, determining that the mother code needs to be switched.
[0023] In one or more embodiments, the method further includes:
[0024] When it is determined that the code rate upshift condition and the downshift condition are not met, encoding the current information to be encoded by using the mother code selected in the last encoding;
[0025] When it is determined that the puncturing check sequence was not selected for use in the last encoding, sending the information obtained after encoding, otherwise sending the check sequence obtained after encoding after updating it by using the puncturing check sequence selected for use last time.
[0026] In one or more embodiments, the method further includes:
[0027] When it is determined that a negative acknowledgment NACK feedback is received and the mother code does not need to be switched, retransmitting the corresponding information bits according to the information bit identifier of the information to be retransmitted in the feedback and according to the information cached after the last encoding;
[0028] Alternatively, when it is determined that a negative acknowledgment NACK feedback is received and the mother code does not need to be switched, determining to use a puncturing check sequence different from the previous one, and re-updating the check sequence obtained after encoding by using the mother code last time and then sending it.
[0029] In one or more embodiments, the method further includes:
[0030] When it is determined that a negative acknowledgment NACK feedback is received and the mother code needs to be switched, encoding the current information to be encoded by using a mother code with a lower code rate than the mother code selected in the last encoding and then sending it.
[0031] In a second aspect, the present application provides a method for enhancing adaptive data transmission, which is applied to a decoding end and includes:
[0032] Obtaining the information to be decoded, and decoding the information to be decoded by using the mother code selected last time and a puncturing check sequence with a higher compatible code rate than the previous one according to the first indication of the encoding end;
[0033] Alternatively, decoding the information to be decoded by using the mother code selected last time and a puncturing check sequence with a lower compatible code rate than the previous one according to the second indication of the encoding end;
[0034] When it is determined that the decoding is successful, feedbacking an ACK message, otherwise feedbacking a NACK message;
[0035] Among them, the mother code is the sequence code in the MCS table, and different puncturing check sequences are used to indicate the puncturing positions of the check sequences obtained after encoding using the mother code. The puncturing check sequence with more puncturing positions corresponds to a higher compatible code rate;
[0036] The first indication is to determine that the code rate is upshifted and the mother code does not need to be switched; the second indication determines that the code rate is downshifted and the mother code does not need to be switched.
[0037] In one or more embodiments, decoding the information to be decoded by using the previously selected mother code and a puncturing check sequence with a higher compatible code rate than the previous one includes:
[0038] Determine different puncturing check sequences corresponding to the mother code;
[0039] Decode the information to be decoded by using a puncturing check sequence with a compatible code rate one level higher than the previously used puncturing check sequence.
[0040] In one or more embodiments, decoding the information to be decoded by using the previously selected mother code and a puncturing check sequence with a lower compatible code rate than the previous one includes:
[0041] Determine different puncturing check sequences corresponding to the mother code;
[0042] Decode the information to be decoded by using the puncturing check sequence with the lowest compatible code rate.
[0043] In one or more embodiments, the method further includes:
[0044] Determine the upshifted mother code, and decode the information to be decoded by using a mother code with a higher code rate than the mother code selected in the previous encoding;
[0045] Determine the downshifted mother code, and decode the information to be decoded by using a mother code with a lower code rate than the mother code selected in the previous encoding and the puncturing check sequence with the highest compatible code rate corresponding to the low code rate mother code.
[0046] In one or more embodiments, the method further includes:
[0047] Determine not to switch the mother code and the current corresponding compatible code, and decode the information to be decoded by using the mother code selected in the previous encoding and the puncturing check sequence corresponding to the current compatible code.
[0048] In one or more embodiments, feeding back NACK information includes:
[0049] Determine the confidence of each information bit according to the soft information sequence of each information bit after decoding;
[0050] Determine a confidence threshold according to the transmission code rate and signal-to-noise ratio of the information to be decoded, determine the identifiers of the information bits with confidence lower than the confidence threshold, and use them as the identifiers of the information bits to be retransmitted and feedback them to the encoding end;
[0051] Alternatively, determine the number of information bits R according to the length and transmission rate of the information to be decoded, select the information bits corresponding to the first R confidences in ascending order of confidence, and use the identifiers of the selected information bits as the identifiers of the information bits to be retransmitted and feedback them to the encoding end.
[0052] In one or more embodiments, the method further includes:
[0053] After feedbacking a NACK signal and receiving the retransmitted information bits, update the initial probability information of the retransmitted information bits in the information to be decoded to the maximum value and decode again;
[0054] Alternatively, after receiving the retransmitted punctured parity sequence, update the initial probability information of the punctured positions of the sequence in the information to be decoded to 0 and decode again.
[0055] In a third aspect, the present application provides a device for enhancing adaptive data transmission. As an encoding end, the device includes:
[0056] A code rate switching judgment module, configured to obtain the information to be encoded, and determine whether the code rate up-cut or down-cut condition is satisfied when receiving an affirmative acknowledgment ACK feedback;
[0057] A code rate up-cut module, configured to, when it is determined that the code rate up-cut condition is satisfied and no mother code needs to be switched, encode the current information to be encoded using the mother code selected in the previous encoding, and update the obtained parity sequence after using a punctured parity sequence with a higher compatible code rate than the previous one and then send it;
[0058] A code rate down-cut module, configured to, when it is determined that the code rate down-cut condition is satisfied and no mother code needs to be switched, encode the current information to be encoded using the mother code selected in the previous encoding, and update the obtained parity sequence after using a punctured parity sequence with a lower compatible code rate than the previous one and then send it;
[0059] Wherein, the mother code is the sequence code in the MCS table, and different punctured parity sequences are used to indicate the puncturing positions of the parity sequence obtained after encoding using the mother code. The punctured parity sequence with more puncturing positions corresponds to a higher compatible code rate.
[0060] In a fourth aspect, the present application provides a device for enhancing adaptive data transmission. As a decoding end, the device includes:
[0061] The first decoding module is used to obtain the information to be decoded. When receiving the first indication from the encoding end, it decodes the information to be decoded by using the mother code selected last time and the puncturing check sequence with a higher compatibility code rate than the previous time.
[0062] The second decoding module is used to decode the information to be decoded by using the mother code selected last time and the puncturing check sequence with a lower compatibility code rate than the previous time according to the second indication from the encoding end.
[0063] The decoding feedback module is used to feedback ACK information when the decoding is successful, otherwise feedback NACK information.
[0064] Wherein, the mother code is the sequence code in the MCS table. Different puncturing check sequences are used to indicate the puncturing positions of the check sequence obtained after encoding with the mother code. The puncturing check sequence with more puncturing positions corresponds to a higher compatibility code rate. The first indication is to determine that the code rate is upshifted and the mother code does not need to be switched. The second indication determines that the code rate is downshifted and the mother code does not need to be switched.
[0065] In a fifth aspect, the present application provides a device for enhancing adaptive data transmission. The device includes at least one processor; and a memory communicatively connected to the at least one processor. Wherein, the memory stores instructions executable by the at least one processor. The instructions are executed by the at least one processor to enable the at least one processor to execute the method for enhancing adaptive data transmission executed by the above-mentioned encoding end, or execute the method for enhancing adaptive data transmission executed by the decoding end.
[0066] In a sixth aspect, an embodiment of the present application provides a computer storage medium. The computer storage medium stores a computer program. The computer program is used to cause a computer to execute the method for enhancing adaptive data transmission executed by the above-mentioned encoding end, or execute the method for enhancing adaptive data transmission executed by the decoding end.
[0067] The method, device and equipment for enhancing adaptive data transmission provided by the present application have the following beneficial effects:
[0068] During the data transmission process, the computing and storage overheads are reduced, and at the same time, the adaptive adjustment of the transmission performance is smoothly realized under complex and changeable channel conditions.
[0069] Other features and advantages of the present application will be described in the subsequent specification, and part of them will become obvious from the specification, or be understood by implementing the present application. The objectives and other advantages of the present application can be realized and obtained by the structures specifically pointed out in the written specification, claims, and drawings. Description of the Drawings
[0070] To more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the accompanying drawings required for the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.
[0071] Figure 1 It is a basic principle flowchart of the AMC technology provided by the embodiment of the present application;
[0072] Figure 2 It is a flowchart of the enhanced adaptive data transmission applied to the encoding end provided by the embodiment of the present application;
[0073] Figure 3 It is a flowchart of the enhanced adaptive data transmission applied to the encoding end provided by the embodiment of the present application;
[0074] Figure 4 It is a flowchart of the processing of receiving NACK feedback at the encoding end provided by the embodiment of the present application;
[0075] Figure 5 It is a flowchart of the dual-layer code rate adaptive adjustment provided by the embodiment of the present application;
[0076] Figure 6 It is a flowchart of the adaptive coding switching of dual-layer control provided by the embodiment of the present application;
[0077] Figure 7 It is a flowchart of the enhanced adaptive data transmission applied to the decoding end provided by the embodiment of the present application;
[0078] Figure 8 It is a flowchart of the enhanced adaptive data transmission applied to the decoding end provided by the embodiment of the present application;
[0079] Figure 9 It is a flowchart of the decoding end feedback NACK provided by the embodiment of the present application;
[0080] Figure 10 It is a flowchart of the compatible in-code adaptive data transmission provided by the embodiment of the present application;
[0081] Figure 11 It is a flowchart of the compatible inter-code adaptive data transmission provided by the embodiment of the present application;
[0082] Figure 12 It is a device diagram of the encoding end for enhanced adaptive data transmission provided by the embodiment of the present application;
[0083] Figure 13 It is a device diagram of the decoding end for enhanced adaptive data transmission provided by the embodiment of the present application;
[0084] Figure 14 Device diagram for enhancing adaptive data transmission provided by the embodiments of the present application. Detailed implementation manners
[0085] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0086] The basic architecture of the AMC system in the related art is as Figure 1 shown, mainly including an encoding end and a decoding end. Among them, the encoder obtains the data to be transmitted, selects the corresponding MCS code from the MCS table based on the MCS selection strategy for encoding, and after encoding, sends it to the modulator for signal modulation. After the signal modulation is completed, it is sent by the sending module, and the sent signal is transmitted through the channel to the receiving module at the decoding end; after channel estimation, the signal is demodulated by the demodulator, and the MCS used during decoding is determined from the MCS table, and the decoder decodes according to the determined MCS and outputs.
[0087] In the MCS switching strategy, the MCS switching can be performed according to the MCS switching threshold. The formulation criteria of the MCS switching threshold mainly include the maximum transmission rate criterion, the minimum bit error rate criterion, and the minimum transmit power criterion. The maximum transmission rate criterion is to transmit data at the fastest possible rate while ensuring an acceptable bit error rate, that is, to adopt a high-order coding and modulation method; the minimum bit error rate criterion is to ensure that the symbol transmission rate and the transmit power remain unchanged, and adjust the MCS to minimize the bit error rate at the receiving end; the minimum transmit power is to minimize the transmit power as much as possible on the premise of ensuring the system performance. Generally, it is necessary to make a trade-off and balance among these three aspects according to different application requirements.
[0088] In practical applications, under complex and changeable channel conditions, it is impossible to design corresponding error correction codes for various channel conditions to meet different requirements, nor can it afford to store and calculate multiple different encoding and decoding devices with a large amount of software and hardware resources. That is, it is not practical to construct a large MCS lookup table to meet different application requirements; in addition, under the existing mechanism, the code type is switched depending on the pre-set MCS-related tables, and it is difficult to clarify the transition band (switching interval) of different code switches, resulting in a step-like fluctuation in performance in the case of sudden channel changes.
[0089] In view of the above problems, based on the AMC technology, the embodiments of the present application integrate rate-compatible codes and make full use of the decoding convergence characteristics of error correction codes to implement an efficient, reliable and practical application scenario-compliant adaptive data transmission solution based on the method of qualitative feedback at the encoding end to solve the above problems.
[0090] For ease of understanding, the terms involved in the embodiments of the present application are explained below:
[0091] (1) Check sequence: After performing MCS encoding on the information to be encoded, a useful information sequence and a check sequence are generated. The check sequence is the redundant information part.
[0092] (2) Error correction rate: It reflects the accuracy of the decoded output after the information to be encoded is encoded and transmitted. The higher the error correction rate, the better the transmission performance.
[0093] The embodiments of the present application provide a method for enhancing adaptive data transmission, which is applied to the encoding end, as Figure 2 shown. The method includes:
[0094] Step S201, the encoding end obtains the information to be encoded;
[0095] Step S202, when it is determined that a positive acknowledgment ACK signal feedback is received currently, determine whether the code rate up-cut or down-cut condition is satisfied. If the code rate up-cut condition is satisfied, execute step S203; if the code rate down-cut condition is satisfied, execute step S205;
[0096] For the data stream transmitted by the encoding end, new data is continuously generated as the data stream is updated over time. The encoding end transmits at a certain transmission rate, and after each transmission, it receives feedback information from the decoding end to determine whether the transmission is successful. After the decoding end feeds back the ACK signal, the encoding end determines that the decoding end has received the information and decoded it successfully.
[0097] In the embodiments of the present application, when the decoding end successfully receives the data, it further determines whether the code rate up-cut or down-cut condition is satisfied.
[0098] Step S203, when it is determined that the code rate up-cut condition is satisfied, further determine whether it is necessary to switch the mother code. If it is not necessary to switch the mother code, execute step S204;
[0099] The above mother code is the sequence code in the MCS table. The design method of the MCS table can be designed according to the design method in the related technology, which will not be elaborated here. The MCS table includes multiple sequence codes. Different mother codes have different error correction capabilities for data transmission, and the mother code corresponding to different error correction rate ranges can be set according to the error correction rate range.
[0100] It should be noted that when the present application performs initial data transmission, according to the requirements for the error correction rate of the transmitted data, the corresponding mother code is selected from the MCS table and the initial data is encoded and then transmitted.
[0101] Step S204, encode the current information to be encoded using the mother code selected in the previous encoding, and update the check sequence obtained after encoding by using a puncturing check sequence with a higher compatibility code rate than the previous time, and then send it;
[0102] As described above, after encoding the data to be transmitted using the mother code, the obtained encoded information includes a useful information sequence and a redundant check sequence. In the embodiments of the present application, for the check sequences obtained after encoding each mother code in the MCS, a punctured check sequence is designed. The punctured check sequence is used to indicate the puncturing positions of the check sequence obtained after encoding using the mother code. That is, the data at the puncturing positions is not transmitted, so that more data can be supported for transmission, and the data transmission rate is changed. The present application encodes the information to be encoded according to the mother code and punctures the check sequence using different punctured check sequences, which can be regarded as encoding the information to be encoded using a code rate compatible code corresponding to the mother code. Since the number of punctures of different code rate compatible codes is different, the corresponding transmission rates (referred to as compatible code rates in the embodiments of the present application) are different, and the adaptive adjustment of the transmission rate can be realized.
[0103] The more puncturing positions indicated by the punctured check sequence, the higher the corresponding compatible code rate, and the lower the error correction rate of the corresponding receiving end. Therefore, it is possible to determine whether the conditions for up-cutting or down-cutting are met according to the error correction rate of the receiving end. Specifically, when the error correction rate is higher than the high threshold of the current required error correction rate, it is considered that the transmission rate can be further increased to meet the code rate up-cut condition. When the error correction rate is lower than the low threshold of the current required error correction rate, it is considered that the transmission rate needs to be reduced to improve the error correction rate to meet the code rate down-cut condition.
[0104] Step S205, when it is determined that the code rate down-cut condition is met, further determine whether it is necessary to switch the mother code. If it is not necessary to switch the mother code, execute step S206;
[0105] Step S206, encode the current information to be encoded using the mother code selected in the previous encoding, and use a punctured check sequence with a lower compatible code rate than the previous one to update the obtained check sequence after encoding and then send it.
[0106] In the embodiments of the present application, the code rate adjustment is realized by judging the code rate adjustment conditions. When up-cutting or down-cutting the code rate, it not only involves the judgment of whether it is necessary to switch the mother code, but also involves the switching of the compatible code rate when it is not necessary to switch the mother code, realizing the hierarchical control of the code rate. Among them, the switching of the mother code is called the outer layer control, and the switching of the code rate compatible code is called the inner layer control.
[0107] The idea of hierarchical optimization combines AMC and code rate compatibility to improve the system performance and enhance the applicability and robustness of the existing AMC scheme. Based on the existing AMC scheme as the outer layer control technology, the inner layer control is realized based on the code rate compatibility to achieve enhanced adaptive data transmission. The inner layer control is the selective transmission of the encoded information under the outer layer control, without re-encoding. The information content includes the check sequence updated using the punctured check sequence and the encoded block data information corresponding to the decoding convergence feedback identifier, ensuring the possibility of transmission under the worst channel.
[0108] In one or more embodiments, as Figure 3 shown, the method further includes:
[0109] Step S301, the encoding end obtains the information to be encoded;
[0110] Step S302, when it is determined that an affirmative acknowledgment ACK signal feedback is received currently, determine whether the code rate up-cut or down-cut condition is satisfied. If the code rate up-cut condition is satisfied, execute Step S303. If the code rate down-cut condition is satisfied, execute Step S305. If the code rate up-cut or down-cut condition is not satisfied, execute Step S307;
[0111] Step S303, when it is determined that the code rate up-cut condition is satisfied, further determine whether it is necessary to switch the mother code. If it is necessary to switch the mother code, execute Step S304;
[0112] When the error correction rate is higher than the current high error correction rate threshold requirement, it is confirmed that the code rate up-cut condition is satisfied, and the transmission rate can be further increased.
[0113] Step S304, encode the current information to be encoded using a mother code with a higher code rate than the mother code selected for the previous encoding and then send it;
[0114] As described above, after encoding the data to be transmitted using the mother code, the obtained encoded information includes a useful information sequence and a redundant check sequence. In order to smoothly improve the transmission performance, after switching the mother code, the current information to be encoded is encoded using the new mother code, and the check sequence of the obtained encoded information is not punctured, and the encoded information is directly sent.
[0115] Step S305, when it is determined that the code rate down-cut condition is satisfied, further determine whether it is necessary to switch the mother code. If it is necessary to switch the mother code, execute Step S306;
[0116] When the error correction rate is lower than the current low error correction rate threshold requirement, the code rate down-cut condition is satisfied, and it is considered that the transmission rate needs to be reduced to improve the error correction rate.
[0117] Step S306, encode the current information to be encoded using a mother code with a lower code rate than the mother code selected for the previous encoding, and the punctured check sequence corresponding to the highest-level compatible code rate of the low-code-rate mother code, and then send it.
[0118] As described above, after encoding the data to be transmitted using the mother code, the obtained encoded information includes a useful information sequence and a redundant check sequence. In order to make the error correction rate meet the requirements while the transmission rate smoothly decreases, after switching the mother code, the current information to be encoded is encoded using the new mother code, and the check sequence of the obtained encoded information is punctured using the punctured check sequence corresponding to the highest-level compatible code rate of the switched mother code and then sent.
[0119] Step S307: Encode the current information to be encoded using the mother code selected in the previous encoding; when it is determined that the puncturing check sequence was not selected and used in the previous encoding, send the information obtained after encoding, otherwise update the check sequence obtained after encoding using the puncturing check sequence selected and used in the previous time and then send it.
[0120] When both the current error correction rate and the transmission rate have met the requirements, the code rate remains unchanged to maintain the current transmission performance.
[0121] In one or more embodiments, as Figure 4 shown, the method further includes:
[0122] Step S401: The encoding end obtains the information to be encoded;
[0123] Step S402: When it is determined that a negative acknowledgment NACK signal feedback is received currently, determine whether to perform code rate downshift. If it is determined to perform code rate downshift, execute Step S403, otherwise execute Step S406;
[0124] When the encoding end receives the NACK and the information bit identifier to be retransmitted, it is determined that the decoding end has decoding failure. It can choose to perform information transmission again by downshifting the code rate, or it can choose to perform information transmission again by maintaining the original code rate according to the feedback information.
[0125] Step S403: When it is determined to perform code rate downshift, further determine whether it is necessary to switch the mother code. If it is not necessary to switch the mother code, execute Step S404; if it is necessary to switch the mother code, execute Step S405;
[0126] If the puncturing check sequence used last time is the puncturing check sequence with the lowest compatible code rate corresponding to the mother code, and when performing code rate downshift, it is determined that it is necessary to switch to a mother code with a lower code rate, otherwise it is determined that there is no need to change the mother code.
[0127] Step S404: According to the feedback information bit identifier to be retransmitted, determine to use a puncturing check sequence different from the previous one, re-update the check sequence obtained after encoding using the mother code last time and then send it.
[0128] Encode the current information to be encoded using the mother code selected in the previous encoding, and update the check sequence obtained after encoding using a puncturing check sequence with a lower compatible code rate than the previous one and then send it. The puncturing check sequence with the lower compatible code rate is the puncturing check sequence with the fewest puncturing numbers corresponding to the current mother code. Directly downshift to the lowest compatible code rate corresponding to the current mother code to ensure that when the error correction rate is lower than the low threshold, it can respond quickly and reach the target in one step, ensuring the stability of data transmission performance under the worst channel conditions.
[0129] Step S405: Encode the current information to be encoded using a mother code with a lower code rate than the mother code selected in the previous encoding, and then send it;
[0130] The mother code with the lower code rate is one level lower than the current mother code. When switching to the mother code with the lower code rate, the puncturing parity-check sequence used is the puncturing parity-check sequence with the largest number of punctures corresponding to the mother code with the lower code rate. The gradual switching of the code rate enables a smooth transition of the transmission performance.
[0131] Step S406: According to the identified information bits to be retransmitted in the feedback, retransmit the corresponding information bits based on the information cached after the previous encoding.
[0132] The above information bit identification is the identification of the data that needs to be retransmitted and is fed back by the decoding end. Based on the identified information bits to be retransmitted in the feedback, the encoding end can retransmit all the bit data or only part of the bit data. When retransmitting, the original code rate is used for feedback. To save transmission overhead, the retransmitted information can be fed back together with other useful information.
[0133] There are various ways to handle the received NACK feedback. In one or more possible embodiments, without changing the code rate, based on the identified information bits to be retransmitted in the feedback, retransmit the corresponding information bits, that is, based on the information cached after the previous encoding, directly retransmit the information bits specified according to the convergence of the iterative decoding (the bit statistical probability information after the iteration is completed), so as to improve the decoding decision probability; and obtain a higher transmission accuracy while ensuring that the transmission rate is satisfied.
[0134] The method for enhancing adaptive data transmission provided by the embodiments of the present application realizes the adaptive adjustment of the double-layer code rate. As Figure 5 shown, in the overall solution, to meet the changing channel environment and different communication index requirements in the application, the outer-layer coarse-grained mother code switching is carried out according to the current generalized adaptive modulation and coding (AMC) method, which will not be elaborated here.
[0135] The above outer-layer coarse-grained mother code switching can be based on the existing mechanism or further determined based on the code rate up-cut or down-cut conditions defined in the present application. In one or more possible embodiments, determining that the code rate up-cut condition is met and the mother code needs to be switched includes: determining that the up-cut condition is met according to the current error correction rate, and when the puncturing parity-check sequence used last time is the puncturing parity-check sequence of the highest compatible code rate corresponding to the mother code, determining that the mother code needs to be switched.
[0136] In one or more possible embodiments, determining that the code rate down-cut condition is met and the mother code needs to be switched includes:
[0137] When it is determined according to the current error correction rate that the down-switching condition is met and the last used puncture check sequence is the puncture check sequence of the lowest compatible code rate corresponding to the mother code, it is determined that the mother code needs to be switched.
[0138] Based on the code rate compatibility selector, fine-grained inner compatible code switching is performed. In combination with channel state information and decoding convergence, there are two switching rules:
[0139] Up-scaling: Without switching the mother code, the compatible code rate is increased when the channel is good enough. The compatible code rates are switched step by step from low to high. The code rate is increased by reducing the check information to ensure a higher transmission rate under the condition of meeting the bit error rate.
[0140] Down-switching: It should be able to respond quickly and support one-step operation. Without switching the mother code, it should directly switch to the lowest compatible code rate corresponding to the current mother code.
[0141] In the overall solution, the number of mother codes and their corresponding compatible code rates are determined based on actual application requirements to meet the diverse channel environments and communication performance requirements. Generally, the number of compatible code rates for high-rate mother codes is appropriately increased compared to low-rate mother codes to ensure stable bit error rate performance during downlink. For low-rate mother codes, the switching granularity between compatible codes is appropriately increased to ensure rapid adjustment of the transmission rate.
[0142] Based on the above description, Figure 6 An example of adaptive coding switching with dual-layer control in the scheme is presented. The outer mother code is prioritized for switching and execution. The inner compatible code rate is switched only when the mother code continues to switch in the same direction. For example, during the operation of mother code 2, if upscaling to mother code 1 is required based on channel state information, the code is switched directly and continues running. If there is still a need to upscaling during operation but the next higher-level mother code has not yet been reached, the compatible code rate of 1.3 is selected according to the inner-layer control, and the switching is gradually upward (1.3→1.2→1.1). If downscaling is required based on control, the code rate is directly switched to the lowest compatible code rate of 2.3 for the current mother code to ensure transmission reliability.
[0143] The embodiment of the present application provides a method for enhancing adaptive data transmission, which is applied to a decoding end, such as Figure 7 As shown, the method includes:
[0144] Step S701, obtaining information to be decoded;
[0145] Step S702: If the first instruction from the encoding end is received, execute step S703; if the second instruction from the encoding end is received, execute step S704;
[0146] The first indication is to determine a code rate increase without switching the mother code; the second indication is to determine a code rate decrease without switching the mother code.
[0147] After the encoding end encodes and transmits the information to be encoded, it indicates the mother code used during encoding and the corresponding puncturing check sequence to the decoding end through corresponding parameters. Then, the decoding end can determine whether code rate upshifting is required for this decoding based on the corresponding parameters, and whether the mother code needs to be replaced when code rate upshifting occurs. If the mother code does not need to be replaced, the puncturing check sequence to be used can be determined according to the indication of the encoding end.
[0148] Step S703: Decode the information to be decoded by using the mother code selected last time and the puncturing check sequence with a higher compatible code rate than the previous time. If the decoding is successful, execute step S705; if the decoding fails, execute step S706.
[0149] Step S704: Decode the information to be decoded by using the mother code selected last time and the puncturing check sequence with a lower compatible code rate than the previous time. If the decoding is successful, execute step S705; if the decoding fails, execute step S706.
[0150] Each time the decoding end receives the information to be decoded, it decodes the information to be decoded according to the mother code and the puncturing check sequence used in the previous encoding. If the code rate compatible code was not used in the previous encoding, the information to be decoded is decoded according to the mother code used in the previous encoding.
[0151] Step S705: Feedback ACK to the encoding end;
[0152] If the post - decoding error correction rate meets the requirement, that is, is higher than the high threshold, it indicates that the decoding is successful. Then, the decoded information is sent and an ACK signal is fed back to the encoding end.
[0153] Step S706: Feedback NACK and the identification of the information bits to be re - transmitted.
[0154] If the post - decoding error correction rate is lower than the low threshold, it indicates that there are many errors in the decoded information and the decoding fails. At this time, the confidence of each information bit is determined according to the soft information sequence of each information bit after decoding; according to the transmission code rate and signal - to - noise ratio of the information to be decoded, the confidence threshold is determined, and the identification of the information bits with confidence lower than the confidence threshold is used as the identification of the information bits to be re - transmitted and fed back to the encoding end.
[0155] Alternatively, according to the length and transmission rate of the information to be decoded, the number of information bits R is determined. The information bits corresponding to the first R confidences are selected in ascending order of confidence, and the identification of the selected information bits is used as the identification of the information bits to be re - transmitted and fed back to the encoding end.
[0156] The confidence is the magnitude of the absolute value of the soft information sequence (log - likelihood ratio information (LLR)) of each information bit output by decoding.
[0157] The confidence threshold Threshold is determined by the transmission code rate and signal-to-noise ratio of the information to be decoded, and can be determined by the following formula:
[0158]
[0159] In the formula, Rate‘ is the current compatible code rate, and SNR is the signal-to-noise ratio of the transmission.
[0160] This threshold is used to judge the confidence of each information bit in the decoded information after the iterative decoding is completed. The position identifier (Pos) of the information bit lower than this threshold will be used as the identifier for information feedback, and the NACK signal and this identifier sequence (Pos) will be fed back to the encoding end when the decoding fails.
[0161] This threshold is qualitatively constrained according to the probability statistical characteristics of each information bit in the channel during iterative decoding, reducing the cache overhead, enhancing the pertinence of the feedback flag, and improving the decoding reliability. In practical applications, it varies according to different channel conditions (the signal-to-noise ratio SNR of the transmission).
[0162] Therefore, in practical applications, this threshold can be set as a fixed static threshold according to the statistical value to avoid the calculation of the threshold.
[0163] The number R of information selections based on confidence above: is determined by the length and transmission rate of the information to be decoded, and can be calculated by the following formula:
[0164] R = Len * (7 / 25 - Rate‘ / 50) * step.
[0165] In the formula, Rate‘ is the current compatible code rate, Len is the coding block length (corresponding to the mother code), step is the adaptive correction factor (the recommended value is 1 to 1.5), and in practice, it can be adjusted according to the bandwidth resource consumption, delay, and error correction performance.
[0166] In ascending order, select the information identifiers of the information bits corresponding to the first R confidences among the confidences of each information bit in the decoded information after the iterative decoding is completed, as the identifier for information feedback, and when the decoding fails, feedback the NACK signal and this identifier sequence (Pos) to the encoding end.
[0167] The main function of the decoding end is to perform operations such as channel estimation and decoding according to the received information. The channel estimation feedbacks the channel state information to the encoding end to control the selection of the coding and modulation method; for the decoding part, whatever coding method the encoding end uses, the decoding end will receive the corresponding indication and then use the decoding method corresponding to the coding method for decoding.
[0168] The successfully decoded data is directly decoded and output, and an ACK message is fed back to the encoding end. If the decoding fails, it is cached according to the decoding confidence information, and the optimal feedback information is calculated, and a NACK and the required redundant information sequence are fed back.
[0169] For the feedback data received due to decoding failure:
[0170] (1) If the puncturing check sequence from the encoding end is received, the initial probability information corresponding to the puncturing position in the information check sequence to be decoded is updated to 0 according to the corresponding code rate compatible code, and decoding is performed again;
[0171] (2) If the information bits at the specified positions based on the decoding confidence at the same code rate from the encoding end are received, the initial probability information of the retransmitted information bits of the information to be decoded is updated to the maximum value and decoding is performed again.
[0172] In one or more embodiments, as Figure 8 shown, the method further includes:
[0173] Step S801, obtain the information to be decoded;
[0174] Step S802, if the indication from the encoding end is to determine the upper cut mother code, execute step S803; if the indication from the encoding end is to determine the lower cut mother code, execute step S804; if the indication from the encoding end is to determine not to switch the code rate, execute step S805.
[0175] Step S803, decode the information to be decoded using a mother code with a higher code rate than the mother code selected for the previous encoding; if the decoding is successful, execute step S806, if the decoding fails, execute step S807.
[0176] Step S804, decode the information to be decoded using a mother code with a lower code rate than the mother code selected for the previous encoding and the puncturing check sequence corresponding to the highest compatible code rate of this lower code rate mother code; if the decoding is successful, execute step S806, if the decoding fails, execute step S807.
[0177] Step S805, decode the information to be decoded using the mother code selected for the previous encoding and the puncturing check sequence corresponding to the current compatible code; if the decoding is successful, execute step S806, if the decoding fails, execute step S807.
[0178] Step S80)6, feedback ACK;
[0179] Step S807, feedback NACK and the identification of the information bits to be retransmitted.
[0180] In one or more embodiments, as Figure 9 shown, for the feedback of the NACK information, the method further includes:
[0181] Step S901: Obtain the information to be decoded. If it is determined that the decoding fails, execute Step S902;
[0182] Step S902: Determine the confidence level of each information bit according to the soft information sequence of each information bit after decoding, and execute Step S903;
[0183] Step S903: Determine the confidence level threshold, determine the identifiers of the information bits whose confidence levels are lower than the confidence level threshold, and use the identifiers of the information bits lower than this threshold as the identifiers of the information bits to be retransmitted, and execute Step S904.
[0184] Alternatively, determine the number of information bits R, select the information bits corresponding to the first R confidence levels in ascending order of confidence level, and use the identifiers of the selected information bits as the identifiers of the information bits to be retransmitted; execute Step S904.
[0185] Step S904: Feed back the identifier of the information bit to be retransmitted and the NACK signal to the encoding end, and execute Step S905.
[0186] Step S905: Judge the type of the retransmitted information received;
[0187] If the information bits at the specified positions based on the decoding confidence level are received, execute Step S906; if the punctured parity-check sequence is received, execute Step S907.
[0188] Step S906: Update the initial probability information of the information bit to be decoded for the retransmitted information bit to the maximum value and decode again; if the decoding is successful, execute Step S908, if the decoding fails, execute Step S902.
[0189] Step S907: Update the initial probability information of the information bit to be decoded for the retransmitted information bit to the maximum value and decode again. If the decoding is successful, execute Step S908, if the decoding fails, execute Step S902.
[0190] Step S908: Feed back the ACK signal.
[0191] In one or more possible embodiments, decoding the information to be decoded by using the previously selected mother code and a punctured parity-check sequence with a higher compatibility code rate than the previous one includes:
[0192] Determine the different punctured parity-check sequences corresponding to the mother code;
[0193] Decode the information to be decoded by using a punctured parity-check sequence with a compatibility code rate one level higher than the previously used punctured parity-check sequence.
[0194] In one or more possible embodiments, decoding the information to be decoded by using the previously selected mother code and a punctured parity-check sequence with a lower compatibility code rate than the previous one includes:
[0195] Determine different puncturing parity check sequences corresponding to the mother code;
[0196] Decode the information to be decoded by using the puncturing parity check sequence with the lowest compatible code rate.
[0197] The decoder also adopts the method of gradually increasing or cutting down one step at a time during the inner code rate adjustment.
[0198] Figure 10 This is a schematic diagram of feedback after decoding failure provided by an embodiment of the present application. If the encoder determines that no compatible code rate switching is required based on the feedback information bit flag, it performs in-code adaptive transmission without compatible code switching under inner layer control, that is, keeps the current code rate unchanged and retransmits the information bits with confidence lower than the threshold. The decoder updates the initial probability information corresponding to the puncturing positions in the parity check sequence of the information to be decoded to 0 according to the corresponding code rate compatible code, and decodes again.
[0199] The following gives an implementation example step of the method for enhancing adaptive data transmission in combination with the encoder and the decoder. The outer layer control belongs to the coarse-grained AMC process and will not be described. The implementation examples given mainly focus on the adaptive strategy between code rate compatible codes based on the mother code. Within the current mother code range, the transmission processes of two corresponding information feedback selection strategies are given: the in-code adaptive transmission process without compatible code switching under inner layer control and the variable code rate transmission process with compatible code switching, specifically as Figure 11 shown.
[0200] Step 1: The information to be encoded is encoded by the above encoding method to obtain the compatible code transmission encoded block information and cache it.
[0201] Step 2: The signals transmitted by the encoder experience different degrees of bit errors through the noisy channel.
[0202] Step 3: The decoder receives the error signal and decodes it. If the decoding is successful, it sends an ACK message to the encoder, indicating that the receiving end has correctly decoded the received information; if the decoding is not successful, it feedbacks the NACK and the confidence information flag.
[0203] Step 4: The encoder performs new encoding and decoding processing according to the feedback (ACK / NACK) from the receiving end: executes new encoding or information feedback selection according to the double-layer adaptive controller (outer layer AMC and inner layer code rate compatible controller), and sends the information sequence of the information feedback selection to the decoder.
[0204] Step 5: Update the decoding information after receiving the feedback from the encoder and decode again. Repeat the above steps until the decoding is successful or the maximum number of retransmissions restricted by the system is reached.
[0205] In step 4 described above, the outer-layer AMC switching belongs to a coarse-grained AMC process and will not be described in detail. The switching of the coding mode is carried out according to the switching strategy described above. Under the inner-layer control, it can be divided into in-code adaptive transmission without compatible code switching and adaptive transmission of compatible code rates. If there is no compatible code rate switching and the feedback decoding fails in step 4, then: a. Perform Threshold threshold judgment on the soft information output by iterative decoding, cache the soft information less than the threshold, and calculate the confidence feature; b. Select the number and content of the retransmitted information according to the system requirements, and use the position Pos corresponding to the selected information sequence as the indication of the feedback information at the coding end. c. Feed back the calculated retransmission flag Pos and NACK to the coding end. For the flow block diagram, see Figure 11 。
[0206] In step 5, the decoding information is updated: Update the soft information sequence LLR corresponding to the bits fed back from the coding end to the maximum value (set to 10) and decode again.
[0207] If it is necessary to switch the compatible code rate (including successful decoding and unsuccessful decoding), it is carried out according to the code rate switching strategy. Select the coding information corresponding to the compatible code selected by the inner-layer compatible code rate selector for transmission. When the decoding information is updated in step 5, according to the puncturing rule of the compatible code, update the soft information sequence LLR at the corresponding puncturing position in the coding information selected by the coding end to 0 and decode.
[0208] Based on the same inventive concept, the present application also provides a device for enhancing adaptive data transmission. This device serves as the coding end, as Figure 12 shown, including:
[0209] A code rate switching judgment module 1201, configured to obtain the information to be encoded, and when it is determined that a positive acknowledgment ACK feedback is received, judge whether the code rate upshift or downshift condition is met;
[0210] A code rate upshift module 1202, configured to, when it is determined that the code rate upshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected in the previous encoding, and update the parity check sequence obtained after encoding using a puncturing check sequence with a higher compatible code rate than the previous one and then send it;
[0211] A code rate downshift module 1203, configured to, when it is determined that the code rate downshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected in the previous encoding, and update the parity check sequence obtained after encoding using a puncturing check sequence with a lower compatible code rate than the previous one and then send it;
[0212] Among them, the mother code is the sequence code in the MCS table. Different puncturing parity sequences are used to indicate the puncturing positions of the parity sequences obtained after encoding with the mother code. The puncturing parity sequence with more puncturing positions corresponds to a higher compatible code rate.
[0213] In one or more possible embodiments, when the code rate upshift module determines that the code rate upshift condition is satisfied and there is no need to switch the mother code, it encodes the current information to be encoded using the mother code selected in the previous encoding, and updates the parity sequence obtained after encoding using a puncturing parity sequence with a higher code rate than the previous one, including:
[0214] When it is determined that the code rate upshift condition is satisfied and there is no need to switch the mother code, determine the different puncturing parity sequences corresponding to the mother code;
[0215] Update the parity sequence obtained after encoding using a puncturing parity sequence with a compatible code rate one level higher than the puncturing parity sequence used last time;
[0216] In one or more possible embodiments, when the code rate downshift module determines that the code rate downshift condition is satisfied and there is no need to switch the mother code, it encodes the current information to be encoded using the mother code selected in the previous encoding, and updates the parity sequence obtained after encoding using a puncturing parity sequence with a lower code rate than the previous one, including:
[0217] When it is determined that the code rate downshift condition is satisfied and there is no need to switch the mother code, determine the different puncturing parity sequences corresponding to the mother code;
[0218] Update the parity sequence obtained after encoding using the puncturing parity sequence with the lowest compatible code rate.
[0219] In one or more possible embodiments, when the code rate upshift module also determines that the code rate upshift condition is satisfied and there is a need to switch the mother code, it encodes the current information to be encoded using a mother code with a higher code rate than the mother code selected in the previous encoding and then sends it;
[0220] When the code rate downshift module also determines that the code rate downshift condition is satisfied and there is a need to switch the mother code, it encodes the current information to be encoded using a mother code with a lower code rate than the mother code selected in the previous encoding, and the puncturing parity sequence corresponding to the highest compatible code rate of this low code rate mother code, and then sends it.
[0221] In one or more possible embodiments, the code rate switching judgment module determines that the code rate upshift condition is satisfied and there is a need to switch the mother code, including:
[0222] When it is determined that the upshift condition is satisfied according to the current error correction rate, and the puncturing parity sequence used last time is the puncturing parity sequence with the highest compatible code rate corresponding to the mother code, it is determined that there is a need to switch the mother code.
[0223] In one or more possible embodiments, the code rate switching determination module determines that the code rate downshift condition is met and the mother code needs to be switched, including:
[0224] When it is determined that the downshift condition is met according to the current error correction rate and the puncturing check sequence used last time is the puncturing check sequence corresponding to the lowest compatible code rate of the mother code, it is determined that the mother code needs to be switched.
[0225] In one or more possible embodiments, it further includes:
[0226] The code rate maintaining module 1204 is configured to, when it is determined that the code rate upshift condition and the downshift condition are not met, encode the current information to be encoded using the mother code selected in the previous encoding; when it is determined that the puncturing check sequence was not selected for use in the previous encoding, send the information obtained after encoding, otherwise send the check sequence obtained after encoding after updating it using the puncturing check sequence selected for use last time.
[0227] In one or more possible embodiments, it further includes:
[0228] The first data retransmission module is configured to, when it is determined that a negative acknowledgment NACK feedback is received and the mother code does not need to be switched, retransmit the corresponding information bits according to the information bit identifier of the information to be retransmitted in the feedback and the information cached after the previous encoding;
[0229] Or, when it is determined that a negative acknowledgment NACK feedback is received and the mother code does not need to be switched, according to the information bit identifier of the information to be retransmitted in the feedback, determine to use a puncturing check sequence different from the previous one, and re-update the check sequence obtained after encoding using the mother code last time and then send it.
[0230] In one or more possible embodiments, it further includes: the second data retransmission module, which is configured to, when it is determined that a negative acknowledgment NACK feedback is received and the mother code needs to be switched, encode the current information to be encoded using a mother code with a lower code rate than the mother code selected for the previous encoding and then send it.
[0231] An apparatus for enhancing adaptive data transmission, which is used as a decoding end, as Figure 13 shown, includes:
[0232] The first decoding module 1301 is configured to obtain the information to be decoded, and when receiving the first indication from the encoding end, decode the information to be decoded using the mother code selected last time and a puncturing check sequence with a higher compatible code rate than the previous one;
[0233] The second decoding module 1302 is configured to obtain the information to be encoded, and when receiving the second indication from the encoding end, decode the information to be decoded using the mother code selected last time and a puncturing check sequence with a lower compatible code rate than the previous one;
[0234] A decoding feedback module 1304, configured to feedback ACK information when decoding is successful, or feedback NACK information otherwise;
[0235] Wherein, the mother code is a sequence code in the MCS table, and different puncturing parity sequences are used to indicate the puncturing positions of the parity sequences obtained after encoding using the mother code. The puncturing parity sequence with more puncturing positions corresponds to a higher compatible code rate; the first indication is to determine that the code rate is upshifted and the mother code does not need to be switched; the second indication is to determine that the code rate is downshifted and the mother code does not need to be switched.
[0236] In one or more possible embodiments, the first decoding module 1301 decodes the information to be decoded by using the previously selected mother code and a puncturing parity sequence with a higher compatible code rate than the previous one, including:
[0237] Determine different puncturing parity sequences corresponding to the mother code;
[0238] Decode the information to be decoded by using a puncturing parity sequence with a compatible code rate one level higher than the previously used puncturing parity sequence.
[0239] In one or more possible embodiments, the second decoding module 1302 decodes the information to be decoded by using the previously selected mother code and a puncturing parity sequence with a lower compatible code rate than the previous one, including:
[0240] Determine different puncturing parity sequences corresponding to the mother code;
[0241] Decode the information to be decoded by using the puncturing parity sequence with the lowest compatible code rate.
[0242] In one or more possible embodiments, the first decoding module 1301 is further configured to determine an upshifted mother code, and decode the information to be decoded by using a mother code with a higher code rate than the mother code selected in the previous encoding.
[0243] The second decoding module 1302 is further configured to determine a downshifted mother code, and decode the information to be decoded by using a mother code with a lower code rate than the mother code selected in the previous encoding and the puncturing parity sequence with the highest compatible code rate corresponding to the low code rate mother code.
[0244] In one or more possible embodiments, it further includes:
[0245] A decoding hold module 1303, configured to determine not to switch the mother code and the current corresponding compatible code, and decode the information to be decoded by using the mother code selected in the previous encoding and the puncturing parity sequence corresponding to the current compatible code.
[0246] In one or more possible embodiments, the decoding feedback module 1304 determines to feedback ACK information when decoding is successful, or feedback NACK information otherwise, including:
[0247] When the decoding is successful, directly feedback ACK;
[0248] After the decoding fails, determine the confidence level of each information bit according to the soft information sequence of each information bit after decoding;
[0249] According to the transmission code rate and signal-to-noise ratio of the information to be decoded, determine the confidence level threshold, determine the identifier of the information bit whose confidence level is lower than the confidence level threshold, and use it as the identifier of the information bit to be retransmitted and feedback it to the encoding end;
[0250] Alternatively, according to the length and transmission rate of the information to be decoded, determine the number R of information bits, select the information bits corresponding to the first R confidence levels in ascending order of confidence level, and use the identifier of the selected information bits as the identifier of the information bits to be retransmitted and feedback it to the encoding end;
[0251] In one or more possible embodiments, the decoding feedback module 1304 is further configured to, after feedbacking the NACK signal and receiving the retransmitted information bits, update the initial probability information of the retransmitted information bits of the information to be decoded to the maximum value and decode again;
[0252] Alternatively, after receiving the retransmitted punctured parity sequence, update the initial probability information of the puncturing position of the sequence in the information to be decoded to 0 and decode again.
[0253] Based on the same inventive concept, the present application further provides a device 1400 for enhancing adaptive data transmission, as Figure 14 shown, including at least one processor 1402; and a memory 1401 communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for enhancing adaptive data transmission at the encoding end as described above, or execute the method for enhancing adaptive data transmission at the decoding end as described above.
[0254] The memory 1401 is used to store programs. Specifically, the program may include program codes, and the program codes include computer operation instructions. The memory 1401 may be a volatile memory, such as a random-access memory (RAM); or a non-volatile memory, such as a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); or a combination of any one or any combination of the above volatile memories and non-volatile memories.
[0255] The processor 1402 may be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and an NP. It may also be a hardware chip. The above-mentioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The above-mentioned PLD may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0256] Based on the same inventive concept, this embodiment also provides a computer storage medium. The computer storage medium stores a computer program, and the computer program is used to cause a computer to execute the method for enhanced adaptive data transmission at the encoding end or the method for enhanced adaptive data transmission at the decoding end described above.
[0257] The above storage medium may be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.
[0258] This embodiment of the present disclosure also provides a computer program product. When the computer program product runs on an electronic device, the electronic device is caused to execute any one of the above-described enhanced adaptive data transmission methods or any method that may be involved in any one of the above-described enhanced adaptive data transmission methods.
[0259] In several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division. In actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other may be indirect couplings or communication connections through some interfaces, devices, or modules, and may be electrical, mechanical, or other forms.
[0260] The module described as a separation component may or may not be physically separated. The component shown as a module may or may not be a physical module, that is, it may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0261] In addition, in each embodiment of the present application, the functional modules can be integrated into one processing module, or each module can exist physically alone, or two or more modules can be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium.
[0262] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product.
[0263] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from a website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
[0264] The technical solutions provided by the present application have been introduced in detail above. Specific examples are used in the present application to elaborate on the principles and implementation manners of the present application. The descriptions of the above embodiments are only used to help understand the method and its core idea of the present application; at the same time, for those of ordinary skill in the art, according to the idea of the present application, there will be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation to the present application.
[0265] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can 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.) that contain computer-usable program code.
[0266] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the present application. It should be understood that the computer program instructions can enable those skilled in the art to understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (to implement each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 the functions specified in one block or multiple blocks.
[0267] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means, and the instruction means implements the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 the functions specified in one block or multiple blocks.
[0268] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in Figure 1 one process or multiple processes and / or blocks Figure 1 the functions specified in one block or multiple blocks.
[0269] Obviously, those skilled in the art can make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalent technologies, this application is also intended to cover these modifications and variations.
Claims
1. A method for enhancing adaptive data transmission, applied to the encoding end, characterized in that, Including: Obtain the information to be encoded. When it is determined that a positive acknowledgment (ACK) feedback is received, determine whether the code rate upshift or downshift condition is met. When it is determined that the code rate upshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected in the previous encoding, and update the parity check sequence obtained after encoding using a puncturing parity check sequence with a higher compatible code rate than the previous one, and then send it. When it is determined that the code rate downshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected in the previous encoding, and update the parity check sequence obtained after encoding using a puncturing parity check sequence with a lower compatible code rate than the previous one, and then send it. Wherein, the mother code is the sequence code in the MCS table, and different puncturing parity check sequences are used to indicate the puncturing positions of the parity check sequence obtained after encoding using the mother code. The puncturing parity check sequence with more puncturing positions has a higher compatible code rate.
2. The method according to claim 1, wherein When it is determined that the code rate upshift condition is met and there is no need to switch the mother code, encoding the current information to be encoded using the mother code selected in the previous encoding, and updating the parity check sequence obtained after encoding using a puncturing parity check sequence with a higher code rate than the previous one, includes: When it is determined that the code rate upshift condition is met and there is no need to switch the mother code, determine the different puncturing parity check sequences corresponding to the mother code. Update the parity check sequence obtained after encoding using a puncturing parity check sequence with a compatible code rate one level higher than the puncturing parity check sequence used last time.
3. The method according to claim 1, characterized in that When it is determined that the code rate downshift condition is met and there is no need to switch the mother code, encoding the current information to be encoded using the mother code selected in the previous encoding, and updating the parity check sequence obtained after encoding using a puncturing parity check sequence with a lower code rate than the previous one, includes: When it is determined that the code rate downshift condition is met and there is no need to switch the mother code, determine the different puncturing parity check sequences corresponding to the mother code. Update the parity check sequence obtained after encoding using the puncturing parity check sequence with the lowest compatible code rate.
4. The method according to claim 1, characterized in that Also including: When it is determined that the code rate upshift condition is met and there is a need to switch the mother code, encode the current information to be encoded using a mother code with a higher code rate than the mother code selected in the previous encoding, and then send it. When it is determined that the code rate downshift condition is met and there is a need to switch the mother code, encode the current information to be encoded using a mother code with a lower code rate than the mother code selected in the previous encoding, and the puncturing parity check sequence corresponding to the highest compatible code rate of this low code rate mother code.
5. The method according to claim 4, characterized in that, Determining that the code rate upshift condition is met and there is a need to switch the mother code, includes: According to the current error correction rate, when it is determined that the upshift condition is met and the puncturing parity check sequence used last time is the puncturing parity check sequence with the highest compatible code rate corresponding to the mother code, determine that there is a need to switch the mother code.
6. The method according to claim 4, characterized in that Determining that the code rate downshift condition is met and there is a need to switch the mother code, includes: According to the current error correction rate, when it is determined that the downshift condition is met and the puncturing parity check sequence used last time is the puncturing parity check sequence with the lowest compatible code rate corresponding to the mother code, determine that there is a need to switch the mother code.
7. The method according to claim 1, wherein Also including: When it is determined that neither the code rate upshift condition nor the downshift condition is met, encode the current information to be encoded using the mother code selected in the previous encoding. When it is determined that the puncturing check sequence was not selected for the last encoding, the encoded information is sent; otherwise, the check sequence obtained after encoding is updated using the puncturing check sequence selected for the last time and then sent.
8. The method according to claim 1, characterized in that, It further includes: When it is determined that a negative acknowledgment (NACK) feedback is received and there is no need to switch the mother code, according to the identifier of the information bits to be retransmitted in the feedback, and based on the information cached after the last encoding, the corresponding information bits are retransmitted. Alternatively, when it is determined that a NACK feedback is received and there is no need to switch the mother code, according to the identifier of the information bits to be retransmitted in the feedback, it is determined to use a puncturing check sequence different from the previous one to re-update the check sequence obtained after encoding the previous time using the mother code and then send it. The identifier of the information bits to be retransmitted is the identifier of the information bits with a confidence level lower than the confidence threshold in the encoded information, or the identifier of the first R information bits determined in ascending order of confidence level of the encoded information. The confidence threshold is determined based on the transmission code rate and signal-to-noise ratio of the encoded information, and R is determined based on the length and transmission rate of the encoded information.
9. The method according to claim 8, wherein It further includes: When it is determined that a NACK feedback is received and there is a need to switch the mother code, the current information to be encoded is encoded using a mother code with a lower code rate than the mother code selected for the last encoding and then sent.
10. A method for enhancing self-adaptive data transmission, applied to a decoding end, characterized in that, It includes: Obtain the information to be decoded. When receiving the first indication from the encoding end, decode the information to be decoded using the mother code selected for the last time and a puncturing check sequence with a higher compatible code rate than the previous one. When receiving the second indication from the encoding end, decode the information to be decoded using the mother code selected for the last time and a puncturing check sequence with a lower compatible code rate than the previous one. When it is determined that the decoding is successful, an ACK message is fed back; otherwise, a NACK message is fed back. Among them, the mother code is the sequence code in the MCS table. Different puncturing check sequences are used to indicate the puncturing positions of the check sequence obtained after encoding using the mother code. The puncturing check sequence with more puncturing positions has a higher corresponding compatible code rate. The first indication is to determine that the code rate is upshifted and there is no need to switch the mother code; the second indication is to determine that the code rate is downshifted and there is no need to switch the mother code.
11. A device for enhancing adaptive data transmission, which is used as an encoding end and is characterized in that, It includes: A code rate switching judgment module, used to obtain the information to be encoded, and when it is determined that an affirmative acknowledgment (ACK) feedback is received, determine whether the code rate upshift or downshift condition is met. A code rate upshift module, used to determine that when the code rate upshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected for the last encoding, and update the check sequence obtained after encoding using a puncturing check sequence with a higher compatible code rate than the previous one and then send it. A code rate downshift module, used to determine that when the code rate downshift condition is met and there is no need to switch the mother code, encode the current information to be encoded using the mother code selected for the last encoding, and update the check sequence obtained after encoding using a puncturing check sequence with a lower compatible code rate than the previous one and then send it. Among them, the mother code is the sequence code in the MCS table. Different puncturing check sequences are used to indicate the puncturing positions of the check sequence obtained after encoding using the mother code. The puncturing check sequence with more puncturing positions has a higher corresponding compatible code rate.
12. An apparatus for enhancing adaptive data transmission, which is used as a decoding end, is characterized in that It includes: The first decoding module is configured to obtain the information to be decoded, and when receiving the first indication from the encoding end, decode the information to be decoded by using the mother code selected last time and the punctured parity-check sequence with a higher compatible code rate than the previous time; The second decoding module is configured to decode the information to be decoded by using the mother code selected last time and the punctured parity-check sequence with a lower compatible code rate than the previous time according to the second indication from the encoding end; The decoding feedback module is configured to feedback ACK information when determining that the decoding is successful, otherwise feedback NACK information; Wherein, the mother code is the sequence code in the MCS table, and different punctured parity-check sequences are used to indicate the puncturing positions of the parity-check sequence obtained after encoding by using the mother code. The punctured parity-check sequence with more puncturing positions corresponds to a higher compatible code rate; the first indication is to determine that the code rate is upshifted and the mother code does not need to be switched; the second indication is to determine that the code rate is downshifted and the mother code does not need to be switched.
13. An apparatus for enhancing adaptive data transmission, characterized in that, Comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method according to any one of claims 1-9, or execute the method according to claim 10.
14. A computer program medium, characterized in that, The computer storage medium stores a computer program, and the computer program is used to cause a computer to execute the method according to any one of claims 1-9, or execute the method according to claim 10.
Citation Information
Patent Citations
Low density odd-even check coding control method, system and terminal device
CN1937479A
Data transmission method, device and system
IN201817047050A