A tail biting convolutional code encoding method and decoding method using a hash function
The tail-biting convolutional code encoding method, which segments the information sequence and verifies it using a hash function, solves the problem of high false alarm rate in tail-biting convolutional code decoding, thereby reducing the false alarm rate, block error rate, and decoding latency, and improving system performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIDIAN UNIV
- Filing Date
- 2022-03-01
- Publication Date
- 2026-04-28
AI Technical Summary
The tail-biting convolutional code decoding method in the existing technology results in a high false alarm rate, which increases the uplink collision probability and power consumption of user equipment and reduces system performance.
A hash function is used to segment the sequence of information to be encoded, generate a check sequence, and combine it with the sub-sequence to form a sub-codeword sequence. After encoding with a tail-biting convolutional code, rate matching and modulation are performed. The receiver performs segmented decoding and uses a hash function for verification to terminate unsuccessful decoding paths.
It reduced the false alarm rate and block error rate, reduced decoding latency, reduced power consumption of user equipment, and improved system performance.
Smart Images

Figure CN116743189B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically relating to a tail-biting convolutional code encoding and decoding method using a hash function. Background Technology
[0002] Since its invention, convolutional codes have been used as a highly efficient channel coding technique in communication systems. LTE (Long Term Evolution), as a wireless air interface technology evolution proposed by the 3GPP standardization organization, is currently undergoing vigorous development and deployment globally. This system needs to achieve higher bandwidth, greater capacity, higher data transmission rates, lower transmission latency, and lower operating costs. Simultaneously, to meet users' high-speed demands for real-time services such as broadcast and multicast, the LTE system employs Turbo coding and tail-biting convolutional coding in its channel coding process, depending on the different transmission channels. Tail-biting convolutional coding is mainly used in the broadcast channel PBCH, uplink and downlink control channel information DCI, and UCI coding processes. Furthermore, the coding scheme and coding rate used differ for different types of transmission and control channels. The tail-biting convolutional coding process utilizes tail-biting technology, ensuring that the start and end of the lattice are in the same state. This requires using the last few bits of the data block to be encoded as the initial state of the register.
[0003] Tail-biting convolutional codes not only eliminate the bit error rate loss caused by initializing the encoder with known bits, but also provide the same protection for all information bits. Because of these advantages, tail-biting convolutional codes are widely used in various communication systems as a control signaling encoding method. For shorter information sequences, tail-biting coding offers considerable rate protection. For example, in an LTE broadcast channel, after adding cyclic redundancy check bits, there are 40 bits. Without tail-biting coding, this 40-bit information sequence would suffer a rate loss of 13%.
[0004] Existing tail-biting convolutional code encoding and decoding methods include CRC (Cyclic Redundancy Check)-assisted tail-biting convolutional code encoding and decoding. Figure 1This is a schematic diagram of a CRC-assisted tail-biting convolutional code encoding and decoding method in the prior art. The CRC-assisted tail-biting convolutional code encoding and decoding process includes: first, the original information sequence to be encoded is encoded by a CRC encoder to generate a corresponding CRC sequence; then, the original information sequence and the CRC sequence are sent together to a TBCC (Tailing Biting Convolution Code) encoder; after encoding, it is modulated by a modulator and then sent to the receiving end through a channel; during decoding, the bit stream demodulated by the demodulator is decoded using a tail-biting convolutional code and CRC joint decoder, mainly using a CRC-assisted Serial-list Viterbi (SLV) decoding algorithm. When selecting the final decoding result, the tail-biting convolutional code and CRC joint decoder first restores all candidate codewords to candidate information sequences containing CRC, performs CRC decoding processing on all candidate information sequences that do not exceed the maximum list number, and takes the candidate information sequence that passes CRC decoding and has the highest reliability as the final decoding result.
[0005] To improve the performance of tail-biting convolutional code decoding, a serial list Viterbi decoding algorithm is generally used. However, for CRC-assisted tail-biting convolutional code decoding, the use of additional CRC bits for path selection in list Viterbi decoding leads to an increased false alarm rate (False Alarm Rate). The False Alarm Rate is a crucial performance metric for control channels; a high False Alarm Rate increases the uplink collision probability of the User Equipment (UE), increases UE power consumption, and degrades system performance. Summary of the Invention
[0006] To address the aforementioned problems in existing technologies, this invention provides a tail-biting convolutional code encoding and decoding method using a hash function, thereby reducing the latency of tail-biting convolutional code decoding and verification processing, and simultaneously reducing the false alarm rate and false fast rate. The technical problem to be solved by this invention is achieved through the following technical solution:
[0007] One aspect of the present invention provides a tail-biting convolutional code encoding method using a hash function, comprising:
[0008] The information sequence to be encoded is segmented according to a pre-defined segmentation strategy to obtain multiple sub-sequences;
[0009] The encoder is used to encode each subsequence to generate a check sequence, and the check sequence is combined with the current subsequence to form a subcodeword sequence, thereby obtaining multiple subcodeword sequences.
[0010] All subcodeword sequences are combined to obtain a codeword sequence, and the codeword sequence is then encoded using a tail-biting convolutional code.
[0011] Rate matching is performed on the encoded sequence based on a pre-saved rate matching algorithm;
[0012] The rate-matched sequence is modulated by a modulator and then sent to the receiving end.
[0013] In one embodiment of the present invention, for each subsequence All are transmitted through the corresponding encoder. Encode it, the encoder This is a hash encoder, consisting of two inputs and one output. The first input is the corresponding subsequence. The second input terminal is input from the previous encoder. Output hash sequence The output terminal outputs the current subsequence. Processed hash sequence .
[0014] In one embodiment of the present invention, an encoder is used to encode each sub-sequence to generate a check sequence, and the check sequence is combined with the current sub-sequence to form a sub-codeword sequence, including:
[0015] Each subsequence and the corresponding v-bit state value output Hash encoder H i In the middle, through the Hash encoder H i Encode the data to obtain a hash sequence. ;
[0016] Using truncation functions For hash sequences To obtain the verification sequence, perform partial or full truncation. ;
[0017] The subsequence With the verification sequence Combine them to generate subcodeword sequences .
[0018] In one embodiment of the present invention, the v-bit state value of the first encoder is preset to 0, and the v-bit state values of the remaining encoders are the hash sequence output by the previous encoder.
[0019] In one embodiment of the invention, the truncation function The truncation method is to pre-set the length of the hash sequence to be truncated or the position to be truncated.
[0020] In one embodiment of the present invention, all sub-codeword sequences are combined to obtain a codeword sequence, and the codeword sequence is then encoded using a tail-biting convolutional code, including:
[0021] All sub-codeword sequences are combined according to a predetermined method to obtain a codeword sequence;
[0022] The codeword sequence d is encoded using a polar code encoder to obtain the encoded sequence.
[0023] Another aspect of the present invention provides a tail-biting convolutional code decoding method using a hash function, characterized in that it is applied to a receiving end corresponding to the encoding method described in any one of the above embodiments, the decoding method comprising:
[0024] Receive codewords from the transmitter, demodulate and derate-match, and obtain derate-matched codewords;
[0025] The codewords after rate matching are subjected to list-based Viterbi decoding to obtain the decoding result.
[0026] In one embodiment of the present invention, performing list-based Viterbi decoding on the codewords after rate matching includes:
[0027] The codeword after rate matching is sent to the TBCC-Hash joint decoder. According to the segmentation strategy, the codeword segments are verified using the corresponding check codewords, and the final decoding result is obtained.
[0028] In one embodiment of the present invention, serial list Viterbi decoding is performed on the codeword after rate matching, including:
[0029] First, the codeword sequence is decoded. Assuming the decoder has a default setting If the path is preserved, then we get A codeword sequence ,right A codeword sequence Each codeword sequence All are verified by the Hash decoder T1 corresponding to the Hash encoder H1. If the L codeword sequences If none of the checks pass, the decoding fails and the decoding process ends prematurely; otherwise, the sequence decoded by Hash decoder T1 that matches the check sequence is retained. The paths are equal, and the subsequent segment codewords are decoded based on the preserved paths.
[0030] In one embodiment of the present invention, performing list-based Viterbi decoding on the codewords after rate matching further includes:
[0031] The TBCC-Hash joint decoder decodes the codeword sequence according to the segmentation strategy and based on the verified paths. At this time, suppose there is The path is preserved, resulting in A codeword sequence Regarding the above A codeword sequence Each codeword sequence in Each candidate path is sequentially processed by the Hash encoder H based on its cumulative metric. I The corresponding Hash decoder T I Perform a verification; if A codeword sequence If none of the validations pass, output: A codeword sequence The sequence in the path with the maximum path metric value is used as the decoding output; otherwise, the sequence in the path with the maximum path metric value is used as the decoding output. A codeword sequence The first one is passed through decoder T I The verified sequence is used as the decoding output.
[0032] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0033] This invention divides the information sequence to be encoded into multiple sub-sequences and generates a corresponding check sequence for each sub-sequence. This allows for segmented decoding based on a segmentation strategy, with each sub-sequence being checked against its corresponding check sequence. Decoding terminates if a check fails. Because check is performed on every sub-sequence during decoding, rather than after the entire information sequence is decoded, this approach reduces false alarm rate and block error rate, as well as decoding latency, thereby lowering UE power consumption and improving system performance. Furthermore, to improve the accuracy of the false alarm rate, the hash encoders corresponding to all sub-sequences can be considered.
[0034] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0035] Figure 1 This is a schematic diagram of a CRC-assisted tail-biting convolutional code encoding and decoding method in the prior art;
[0036] Figure 2 This is a flowchart of a tail-biting convolutional code encoding method using a hash function provided in an embodiment of the present invention;
[0037] Figure 3This is a schematic diagram of a tail-biting convolutional code encoding process provided in an embodiment of the present invention;
[0038] Figure 4 This is a schematic diagram of the structure for generating hash sequences provided in an embodiment of the present invention;
[0039] Figure 5 This is a schematic diagram of a tail-biting convolutional code decoding process provided in an embodiment of the present invention. Detailed Implementation
[0040] To further illustrate the technical means and effects adopted by the present invention to achieve the intended purpose, the following describes in detail, with reference to the accompanying drawings and specific embodiments, a tail-biting convolutional code encoding method and decoding method using a hash function proposed in accordance with the present invention.
[0041] The foregoing and other technical contents, features, and effects of the present invention will be clearly presented in the following detailed description of specific embodiments in conjunction with the accompanying drawings. Through the description of the specific embodiments, a more in-depth and concrete understanding can be gained of the technical means and effects adopted by the present invention to achieve its intended purpose. However, the accompanying drawings are for reference and illustration only and are not intended to limit the technical solutions of the present invention.
[0042] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations are intended to cover non-exclusive inclusion, such that an article or apparatus comprising a list of elements includes not only those elements but also other elements not expressly listed. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the article or apparatus that includes said element.
[0043] Example 1
[0044] Please see Figure 2 and Figure 3 , Figure 2 This is a flowchart illustrating a tail-biting convolutional code encoding method using a hash function, provided in an embodiment of the present invention. Figure 3 This is a schematic diagram illustrating the processing procedure of a tail-biting convolutional code encoding according to an embodiment of the present invention. The encoding method includes:
[0045] S1: The information sequence to be encoded is segmented according to a pre-set segmentation strategy to obtain multiple sub-sequences.
[0046] The information sequence to be encoded is segmented according to the segmentation strategy agreed upon by both the transmitter and receiver, generating I sub-sequences. ,in, and The segmentation strategy can be an equal segmentation strategy, a non-equal segmentation strategy, a sequential segmentation strategy, a random segmentation strategy, a full segmentation strategy, or a partial segmentation strategy.
[0047] Specifically, when segmenting the information sequence to be encoded into I sub-sequences according to the segmentation strategy confirmed by both the sender and receiver, these I sub-sequences can be obtained by dividing the information sequence equally (equal division strategy), or by dividing the information sequence unequally (unequal division strategy), or by dividing the information sequence in order (ordered division strategy), or by dividing the information sequence out of order (out-of-order division strategy), i.e., by dividing the information sequence out of order. All bits of the information sequence can be used for segmentation (full division strategy), or only some bits of the information sequence can be used for segmentation (partial division strategy), as long as the above segmentation strategy is known to both the sender and receiver, that is, as long as the segmentation strategy used during encoding is the same as the segmentation strategy used during decoding.
[0048] During simulation, the information sequence can be randomly generated by the simulation device. During actual data transmission, the information sequence to be encoded carries the data to be transmitted. The length of the information sequence is determined by the code length and code rate of the tail-biting convolutional code. For example, during simulation, when the tail-biting convolutional code length is 128 bits and the code rate is 1 / 2, the information sequence length is 64 bits. The simulation device then randomly generates an information sequence of 64 bits and uses this information sequence as the information sequence to be encoded.
[0049] S2: The encoder is used to encode each subsequence to generate a check sequence, and the check sequence is combined with the current subsequence to form a subcodeword sequence, thereby obtaining multiple subcodeword sequences.
[0050] In this embodiment, the encoder can be a linear encoder or a nonlinear encoder. When the encoder is a linear encoder, it can be a linear block code encoder, for example, a CRC (Cyclic Redundancy Check) encoder. When the encoder is a nonlinear encoder, it can be a nonlinear block code encoder or a nonlinear convolutional code encoder.
[0051] It should be noted that in this embodiment, the encoders used to process each sub-sequence can be the same; that is, Hash encoders H1 to Hash encoder I can be the same. For example, Hash encoder H1, Hash encoder H2, and Hash encoder H... I The generated hash sequences are all 8 bits long; Hash encoders H1, Hash encoder H2 to Hash encoder H I They can also be different. For example, the hash sequences generated by hash encoders H1 and H2 are both 8 bits long, while the hash sequence generated by H encoder H... i The generated hash sequence is 32 bits long. As long as the hash encoder used during encoding is the same as the hash encoder used during decoding, it is fine.
[0052] The hash encoder used in this embodiment of the invention employs an improved "one-at-a-time" hash function (consistent hash function). In this hash function, the output value is called the v-bit state. The two inputs a and b of the hash function represent the v-bit state corresponding to the previous subsequence and the information of the current subsequence, respectively. The output of the hash function represents the v-bit state corresponding to the subsequence. If the subsequence is the first subsequence, the v-bit state value is the preset value 0.
[0053] like Figure 3 As shown, in this embodiment, each sub-sequence is encoded by a corresponding encoder. For any sub-sequence According to the corresponding encoder H i Generate a check sequence and then sub-sequences. The subcodeword sequence c1 is formed by combining the verification sequence with the subcodeword sequence c1. Specifically, it can be based on the subcodeword sequence c1. Length and subsequence The corresponding encoder generates subsequences. The corresponding check sequence; or based on sub-sequences Contents and subsequences The corresponding encoder generates a verification sequence; alternatively, it can be based on a sub-sequence. Length and content as well as subsequences The corresponding encoder generates a verification sequence. This is based on the sub-sequence. Contents and subsequences The corresponding encoder, when generating the verification sequence, can base it on the sub-sequence. All content and subsequences The corresponding encoder generates a verification sequence; alternatively, it can be based on partial content of the subsequence and the subsequence itself. The corresponding encoder generates a verification sequence.
[0054] Furthermore, in the subsequence When the check sequence is combined to form the subcodeword sequence c1, it can be any combination, for example, it can be a subsequence The check sequence can be placed before the subsequence, or vice versa. After that, it is sufficient to ensure that both the sender and receiver are aware of the combination method used during encoding.
[0055] In this embodiment, the encoder is a non-linear block code hash encoder, for each sub-sequence All are transmitted through the corresponding encoder. Encode it, the encoder This is a hash encoder, consisting of two inputs and one output. The first input is the corresponding subsequence. The second input terminal is input from the previous encoder. Output hash sequence The output terminal outputs the current subsequence. Processed hash sequence .
[0056] like Figure 3 As shown, the sending end first divides the information sequence m to be encoded into I subsequences according to the segmentation strategy confirmed by both the sender and receiver, denoted as follows: Then the subsequence Input the corresponding hash encoder H1 to obtain the hash sequence. Then the hash sequence Input truncation function Extract from the data to generate a verification sequence. Then, the subsequence and check sequence Combine them to generate subcodeword sequences .
[0057] Specifically, in generating the verification sequence At the same time, on the one hand, the subsequence The data is converted into a decimal value and input into the hash encoder H1. Simultaneously, the v-bit state value of the hash encoder H1, known to both the sender and receiver, is input into the hash encoder H1, thereby generating the output value of the hash encoder H1, i.e., the hash sequence. Then the hash sequence The data is converted into a bitstream, and a portion or all of this bitstream is extracted to serve as the check sequence corresponding to the information sequence. , convert the subsequence and check sequence By combining them, a subcodeword sequence is generated. .
[0058] Specifically, in this embodiment, the v-bit state value of the first encoder H1 is set to a preset value of 0, and the subsequence is... The hash sequence is obtained by inputting the first bit of the hash encoder H1 with the preset v-bit state value 0. Using the truncation function T1 to process the hash sequence To obtain the verification sequence, perform partial or full truncation. , convert the subsequence and check sequence Combine them to generate subcodeword sequences ;
[0059] subsequence The hash sequence of the first hash encoder H1 Input the second bit of the hash encoder H2 to obtain the hash sequence. Using the truncation function T2 to process the hash sequence To obtain the verification sequence, perform partial or full truncation. , convert the subsequence With check sequence Combine them to generate subcodeword sequences ;
[0060] Similarly, based on the subsequence The hash sequence of the second-bit hash encoder H2 Input the third hash encoder H3 to obtain the hash sequence Using the truncation function T3 to process the hash sequence To obtain the verification sequence, perform partial or full truncation. , convert the subsequence With check sequence Combine them to generate subcodeword sequences ; and so on, until the subcodeword sequence is obtained. Subcodeword sequence Subcodeword sequence ...subcodeword sequence Truncation function truncation function and truncation function The number of bits captured from the corresponding hash encoder can be the same or different, as long as both the sender and receiver are aware of this.
[0061] When truncating part or all of the bitstream, the truncation can be performed according to a predetermined method. For example, truncating to a predetermined length; specifically, setting the length of the hash sequence to be obtained, and then truncating the hash sequence corresponding to that length from the bitstream. Truncation can be performed from a set position, which can be the first position or not the first position, starting from the first position and proceeding backwards, or starting from the end and proceeding forwards, etc. The key is to ensure that the truncating method used in encoding is the same as the truncating method used in decoding. In this embodiment, the length of the truncated hash sequence is no greater than 32 bits. The length of the hash sequence can be, for example, 8 bits or 32 bits. A characteristic of this hash encoding in this embodiment is that changes in the bit state corresponding to a subsequence cause irregular changes in the bit state corresponding to the next subsequence, i.e., an avalanche effect. Therefore, encoding with this hash encoder can further reduce the false alarm rate.
[0062] Please see Figure 4 , Figure 4 This is a schematic diagram of the structure for generating hash sequences provided in an embodiment of the present invention. The number of subsequences obtained after segmenting the encoded information sequence is I. The I subsequences are sorted as follows: , …and The hash encoder H has two inputs and one output. The two inputs are the subsequence and the hash encoder H corresponding to the previous subsequence of the subsequence. i The output hash sequence, i.e., the 32-bit state. The output is the Hash encoder H corresponding to this subsequence. i The output value is the 32-bit status. That is, the 32-bit state corresponding to the previous subsequence after processing by the hash function. As input to the hash function of the next adjacent subsequence, i.e. , For the subsequence that is first in the sorting order The hash function output of the previous subsequence of this subsequence is the 32-bit state. The default value is 0.
[0063] Specifically, for subsequence and the initial 32-bit state The subsequence obtained after processing with a hash function Corresponding 32-bit state For subsequences and subsequences Corresponding 32-bit state The subsequence obtained after processing with a hash function Corresponding 32-bit state ...for subsequences and subsequences Corresponding 32-bit state The subsequence obtained after processing with a hash function Corresponding 32-bit state .
[0064] S3: Combine all subcodeword sequences according to a pre-defined combination method to obtain a codeword sequence, and encode the codeword sequence using tail-biting convolutional coding.
[0065] S3 includes:
[0066] S31: Transform the sequence of I subcodewords , … Combine them to obtain the codeword sequence d.
[0067] Specifically, the I subcodeword sequences can be arranged in numerical order. , … The codeword sequence d can be obtained by combining the I sub-codeword sequences in any order. Other methods can also be used to combine the I sub-codeword sequences to obtain the codeword sequence, as long as the combination method used in encoding is the same as the combination method used in decoding. For example, the I sub-codeword sequences can also be subjected to parallel-to-serial transformation to obtain the codeword sequence.
[0068] S32: After combining the I sub-codeword sequences to obtain the codeword sequence d, the codeword sequence d is encoded by tail-biting convolutional code through a polar code encoder to obtain the encoded sequence.
[0069] Specifically, the sending end can store the encoding matrix of polar code encoding. When performing tail-biting convolution encoding on the codeword sequence, the codeword sequence can be multiplied and added in the binary field with the stored generator polynomial matrix to obtain the sequence after tail-biting convolution encoding. The process of tail-biting convolution encoding is existing technology and will not be described in detail in the embodiments of this invention.
[0070] S4: Perform rate matching on the encoded sequence according to the pre-saved rate matching algorithm.
[0071] Specifically, the transmitting end pre-stores a rate matching algorithm. After the second codeword sequence is encoded using tail-biting convolutional coding, rate matching can be performed on the encoded sequence according to the pre-stored rate matching algorithm. Preferably, the rate matching sequence used for rate matching can be obtained using the Gaussian method, or other rate matching sequences that are not sensitive to the signal-to-noise ratio (SNR) can be used.
[0072] S5: The rate-matched sequence is modulated by a modulator and sent to the receiving end.
[0073] Specifically, the codeword sequence is finally fed into the tail-biting convolutional code encoder for encoding. After interleaving and rate matching, i.e., shortening or puncturing operations are performed, the encoded sequence is modulated by the modulator and can then be sent to the receiving end in the channel.
[0074] The tail-biting convolutional code encoding method provided in this embodiment of the invention is applied to a transmitting end, which can be a base station or a UE.
[0075] In this embodiment, the information sequence to be encoded is divided into multiple sub-sequences according to a pre-set segmentation strategy, and a corresponding check sequence is generated for any sub-sequence, thereby providing a tail-biting convolutional code encoding method. Using this encoding method, segmented decoding can be performed according to the corresponding segmentation strategy during decoding, thereby reducing the false alarm rate and block error rate, reducing decoding latency, and improving system performance.
[0076] Example 2
[0077] Based on the above embodiments, this embodiment provides a tail-biting convolutional code decoding method using a hash function. The decoding method of this embodiment includes:
[0078] S1: Receive the codeword from the transmitter and demodulate and derate-match it to obtain the derate-matched codeword.
[0079] Please see Figure 5 , Figure 5 This is a schematic diagram illustrating the decoding process of a tail-biting convolutional code according to an embodiment of the present invention. After receiving the codeword transmitted by the transmitter, the receiver first sends the codeword to the demodulator for demodulation and performs rate matching. When performing rate matching, the rate matching sequence preferably uses a Gaussian method, or other rate matching sequences that are insensitive to the signal-to-noise ratio (SNR). The rate matching method used by the receiver corresponds to the rate matching method used by the transmitter.
[0080] S2: Perform list-based Viterbi decoding on the codewords after rate matching to obtain the decoding result.
[0081] The codeword after rate matching is sent to the TBCC-Hash joint decoder. According to the segmentation strategy, the codeword segments are verified using the corresponding check codewords, and the final decoding result is obtained.
[0082] Specifically, the codewords after rate matching are fed into the TBCC-Hash joint decoder for parallel list Viterbi decoding. At this time, the TBCC-Hash joint decoder, according to the corresponding segmentation strategy in Example 1, first decodes the codeword sequence. Corresponding codeword sequence Suppose that at this time there is ( and If (for the preset value) paths are retained, then the following can be obtained: A codeword sequence At this time, for A codeword sequence Each codeword sequence in All are verified by the Hash decoder T1 corresponding to the Hash encoder H1 in Example 1. If the L codeword sequence If neither of the sequences passes the checksum of Hash decoder T1, the decoding is considered a failure, and the decoding process is terminated prematurely. Otherwise, the sequence decoded by Hash decoder T1 is retained, and the result matches the original checksum sequence. Equal paths are used to continue decoding subsequent segmented codewords based on these paths.
[0083] Similarly, the TBCC-Hash joint decoder decodes the codeword sequence according to the segmentation strategy and based on the verified paths. At this time, each path is verified. If the verification passes, the sequence decoded by Hash decoder 2 is retained, matching the original verification sequence. Equal paths, and continue decoding based on these paths.
[0084] The TBCC-Hash joint decoder decodes the codeword sequence according to the segmentation strategy and based on the verified paths. At this time, each path is verified. If the verification passes, the sequence decoded by Hash decoder 3 is retained, matching the original verification sequence. Equal paths, and continue decoding based on these paths.
[0085] Similarly, the TBCC-Hash joint decoder decodes the codeword sequence according to the segmentation strategy and based on the verified paths. At this time, suppose there is The path is preserved, thus yielding Q codeword sequences. At this point, for the Q codeword sequences Each codeword sequence in All are achieved through communication with the Hash encoder H I The corresponding Hash decoder T I Perform a verification; if the Q codeword sequence... If none of the hash decoders pass verification, then output a sequence of Q codewords. The sequence from the path with the maximum path metric value is used as the decoding output. Otherwise, the Q codeword sequences are used. The first one is passed through decoder T I The verified sequence is used as the decoded output.
[0086] As can be seen from the above description of this embodiment, by dividing the information sequence to be encoded into multiple sub-sequences and generating a corresponding check sequence for each sub-sequence, segmented decoding can be performed according to the segmentation strategy during decoding. The decoded sub-sequences are then checked against their corresponding check sequences. If a check fails, decoding is terminated. Because verification is performed on every sub-sequence during decoding, and termination occurs only if the check fails, rather than performing verification after the entire information sequence is decoded, not only can the false alarm rate and block error rate be reduced, but decoding latency can also be reduced, thereby reducing UE power consumption and improving system performance. Furthermore, to improve the accuracy of the false alarm rate, the hash encoders corresponding to all sub-sequences can be considered.
[0087] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.
Claims
1. A tail-biting convolutional code encoding method using a hash function, characterized in that, include: The information sequence to be encoded is segmented according to a pre-defined segmentation strategy to obtain multiple sub-sequences; The encoder is used to encode each subsequence to generate a check sequence, and the check sequence is combined with the current subsequence to form a subcodeword sequence, thereby obtaining multiple subcodeword sequences. All subcodeword sequences are combined to obtain a codeword sequence, and the codeword sequence is then encoded using a tail-biting convolutional code. Rate matching is performed on the encoded sequence based on a pre-saved rate matching algorithm; The rate-matched sequence is modulated by a modulator and then sent to the receiving end; For each subsequence All are transmitted through the corresponding encoder. Encode it, the encoder This is a hash encoder, consisting of two inputs and one output. The first input is the corresponding subsequence. The second input terminal is input from the previous encoder. Output hash sequence The output terminal outputs the current subsequence. Processed hash sequence ; Encode each subsequence using an encoder to generate a check sequence, and combine the check sequence with the current subsequence to form a subcodeword sequence, including: Each subsequence and the corresponding v-bit state value output Hash encoder H i In the middle, through the Hash encoder H i Encode the data to obtain a hash sequence. ; Using truncation functions For hash sequences To obtain the verification sequence, perform partial or full truncation. ; The subsequence With the verification sequence Combine them to generate subcodeword sequences ; The v-bit state value of the first encoder is preset to 0, and the v-bit state values of the remaining encoders are the hash sequence output by the previous encoder.
2. The tail-biting convolutional code encoding method using a hash function according to claim 1, characterized in that, The truncation function The truncation method is to pre-set the length of the hash sequence to be truncated or the position to be truncated.
3. The tail-biting convolutional code encoding method using a hash function according to claim 1, characterized in that, All sub-codeword sequences are combined to obtain a codeword sequence, and the codeword sequence is then encoded using a tail-biting convolutional code, including: All sub-codeword sequences are combined according to a predetermined method to obtain a codeword sequence; The codeword sequence d is encoded using a polar code encoder to obtain the encoded sequence.
4. A tail-biting convolutional code decoding method using a hash function, characterized in that, Applied to a receiving end corresponding to the encoding method of any one of claims 1 to 3, the decoding method includes: Receive codewords from the transmitter, demodulate and derate-match, and obtain derate-matched codewords; The codewords after rate matching are subjected to list-based Viterbi decoding to obtain the decoding result.
5. The tail-biting convolutional code decoding method using a hash function according to claim 4, characterized in that, List-based Viterbi decoding is performed on the codewords after rate matching, including: The codeword after rate matching is sent to the TBCC-Hash joint decoder. According to the segmentation strategy, the codeword is segmented and verified using the corresponding check codeword, and the final decoding result is obtained.
6. The tail-biting convolutional code decoding method using a hash function according to claim 5, characterized in that, List-based Viterbi decoding is performed on the codewords after rate matching, including: First, decode the codeword sequence. Assuming the decoder has a default setting If the path is preserved, then we get A codeword sequence ,right A codeword sequence Each codeword sequence The candidate paths are verified sequentially by the cumulative metric of their corresponding candidates through the Hash decoder T1 corresponding to the Hash encoder H1. If there are L codeword sequences... If none of the checks pass, the decoding fails and the decoding process ends prematurely; otherwise, the sequence decoded by Hash decoder T1 that matches the check sequence is retained. The paths are equal, and the subsequent segment codewords are decoded based on the preserved paths.
7. The tail-biting convolutional code decoding method using a hash function according to claim 6, characterized in that, List-based Viterbi decoding of the codewords after rate matching also includes: The TBCC-Hash joint decoder decodes the codeword sequence according to the segmentation strategy and based on the verified paths. At this time, suppose there is The path is preserved, resulting in A codeword sequence Regarding the above A codeword sequence Each codeword sequence in Each candidate path is sequentially processed by the Hash encoder H based on its cumulative metric. I The corresponding Hash decoder T I Perform a verification; if A codeword sequence If none of the validations pass, output: A codeword sequence The sequence in the path with the maximum path metric value is used as the decoding output; otherwise, the sequence in the path with the maximum path metric value is used as the decoding output. A codeword sequence The first one is passed through decoder T I The sequence of verification is used as the decoding output.
Citation Information
Patent Citations
Receiving messages in connection with LTE wakeup
CN103636264A
Apparatus and method for configuring multi-cell scheduling for NR operation
CN113473634A