Patent Publication Number: US-11652498-B2

Title: Iterative bit flip decoding based on symbol reliabilities

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of International Patent Application PCT/EP2020/079671 filed in the English language on Oct. 21, 2020, published in the English language as WO 2021/115670, which application claims priority from GB application number 1918218.7, filed on Dec. 11, 2019. These applications are incorporated by reference in their entireties. 
     FIELD 
     The present invention relates to a method, in a decoder, of decoding as a codeword a plurality of symbols. 
     BACKGROUND 
     K. R. Duffy, J. Li, and M. Medard in “Guessing noise, not code-words,” in IEEE Int. Symp. on Inf. Theory, 2018; K. R. Duffy, J. Li and Medard in “Capacity-achieving guessing random additive noise decoding (GRAND)”, in IEEE Trans. Inf. Theory, 65 (7), 4023-4040, 2019; K. R. Duffy and M. Medard in “Guessing random additive noise decoding with soft detection symbol reliability information,” in IEEE Int. Symp. on Inf. Theory, 2019; and K. R. Duffy, M. 
     Medard and W. An in “Guessing random additive noise decoding with soft detection symbol reliability information (SRGRAND),” arXiv:1902.03796, Tech. Rep., 2019; as well as A. Solomon, K. R. Duffy and M. Medard, “Soft maximum likelihood decoding using GRAND,” Tech. Rep., 2019 and US2019/199473 and US2019/199377 disclose a family of techniques for decoding signals by guessing noise. 
     The disclosures of US2019/199473 and US2019/199377 are herein incorporated by reference. 
     Of these, the most basic technique, is referred to as GRAND, Guessing Random Additive Noise Decoding. GRAND is suitable for use with any block code construction and can decode any forward error correction/detection block code for example, cyclic redundancy check (CRC) code, requiring only a mechanism by which to query if a string of bits derived from one or more demodulated symbols, each corresponding to one or more bits, received through one or more noisy transmission channels is in a code-book. In GRAND, a decoder takes the string of bits comprising a potential codeword from a demodulating receiver and queries if it is in a code-book. If so, the codeword is used as decoded output. If not, then the most likely non-zero binary noise pattern, as determined by a noise model, is subtracted from the string and a resultant next potential codeword is queried for membership of the code-book. This process, which is inherently parallelizable, proceeds sequentially in increasing order of likelihood of putative noise patterns until a codeword in the code-book is identified, or a query threshold T for the number of code-book queries is exceeded whereupon an error is reported. 
     GRAND assumes a decoder obtains only hard decision demodulated symbols from a receiver. In that context, GRAND can produce an optimally accurate Maximum Likelihood (ML) decoding, assuming that the noise model being employed and providing the order of putative noise patterns reflects the statistical characteristics for noise in the transmission channel(s). 
     All variants of GRAND sequentially remove putative noise patterns from the string of bits derived from the demodulated symbols, in order from most likely to least likely based on their noise model and any soft information available to them, querying if what remains is in the code-book. 
     Where variants of GRAND differ is in their query ordering of putative noise patterns, which is contingent on soft information available to them. Each variant determines its query order or sequence of putative noise patterns as a function of a noise model for the transmission channel(s) in combination with soft information provided by a receiver. 
     Symbol Reliability GRAND (SRGRAND) avails of the most extremely quantized soft information, where, for each collection of n demodulated hard detection symbols, each symbol comprising one or more bits, one additional bit b n  tags the demodulated symbol as being reliably or unreliably received. SRGRAND performs a GRAND-like hard detection decoding, but solely queries bit flips in unreliable symbols. If symbols are correctly marked as reliable, SRGRAND provides a ML decoding assuming memoryless noise impacted the unreliable symbols. This use of binary quantized soft information sees increased decoding accuracy and decreased run-times, but does not fully avail of all information at the receiver. 
     Soft Grand (SGRAND) uses full soft-information, comprising a real-number for each demodulated symbol, to dynamically maintain a sequence of putative noise patterns that, by design, necessarily contains the next most likely putative noise pattern. After q code-book queries have been made, the sequence contains q noise patterns along with their likelihoods. The next putative noise pattern is the one with the highest likelihood in the sequence. If its subtraction from the received string does not result in an element of the code-book, it is removed from the list and two additional putative noise sequences are introduced. To implement SGRAND, real information per received symbol must be passed by the receiver to the decoder, and the decoder requires memory storage to maintain a dynamically determined adaptive sequence of putative noise patterns, both of which may hinder its implementation in practice. 
     European patent publication EP 1819058 discloses the use of CRC codes for error correction as well as error detection in a received message that includes N message bits and M Cyclic Redundancy Check (CRC) bits appended thereto. It is determined whether at least one bit error has occurred in the N message bits and M CRC bits of the received message based upon the M CRC bits, and when at least one bit error is determined, then K bits with a lowest quality metric are selected from the N message bits and M CRC bits. The bit error is corrected based upon possible bit error patterns and the selected K bits. 
     SUMMARY 
     According to the present invention there is provided a method, in a decoder, of decoding as a codeword a plurality of symbols according to claim  1 . 
     In a further aspect, there is provided a decoder configured to perform the method according to the invention; and a computer program product comprising executable code stored on a computer readable medium which when executed in a decoder is configured to perform the method according to the invention. 
     In addition to hard decision demodulation information provided by a demodulator, embodiments make use of a code-book independent quantization of soft information: the rank ordering of the reliability of hard information comprising a group of n demodulated symbols, where one or more bits can be extracted from each symbol. 
     Embodiments use this soft information to sort demodulated information in order of reliability and apply a sequence of noise patterns based on the reliability information starting with the most likely noise pattern until either a codeword is found in a code-book or a query threshold is reached. 
     One benefit of this approach is that efficient algorithms exist to generate the sequence of noise patterns either on-the-fly or the sequence of noise patterns can be pre-stored as there is universality of their order within a class of rank ordered flip probabilities. 
     In some embodiments, for a block of n symbols, no more than an additional smallest integer that is larger than log 2 (n) bits of soft information per symbol of hard information needs to be provided to the decoder from a demodulating receiver to signal the rank ordering of the reliability of the hard information. 
     If an ordered sequence of putative noise patterns is consistent with certain channel noise effects models, the sequence of putative noise patterns will be same for any ranked-order reliability for a sequence of hard information. 
     Based on this rank ordered reliability information alone, embodiments produce a decoding that has similar accuracy to SGRAND, but with simpler computation and requiring no further channel estimation or noise model. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: 
         FIG.  1    illustrates a transmitter communicating with a receiver across a noisy transmission channel and showing a demodulator within the receiver providing soft information to a decoder in accordance with variants of GRAND; and 
         FIG.  2    illustrates an exemplary sequence for putative noise patterns which can be employed within embodiments of the present invention. 
     
    
    
     DESCRIPTION OF THE EMBODIMENT 
     Referring now to  FIG.  1   , there is shown a transmitter  10  and a receiver  12  communicating with one another across a noisy transmission channel  14 . The transmitter  10  which can be of a conventional type generates or obtains information  16  which needs to be transmitted. Generally, this is produced by some type of application (not shown) running on the transmitting device  10 . Nonetheless, it will be appreciated that the information can be produced by any level of software or hardware executing on the transmitter or on a device coupled to the transmitter. The information is typically serialised and provided to an encoder  18  which can encapsulate the information in any conventional manner, for example, adding redundant information to enable checking or recovery of lost information or encrypting the information, before providing the information to a modulator  20  for transmission across the channel  14 . 
     The channel  14  can be any form of wired or wireless channel which is subject to noisy interference and in some cases, the channel  14  may be divided into a number of sub-channels which carry information in parallel. In any case, it should be appreciated that the channel  14  can comprise any optical, electrical, electro-magnetic or other medium or combination thereof. 
     The transmitted information is picked up by the receiver  12  coupled to the channel  14 , typically through an antenna for wireless electro-magnetic channels, and provided to a demodulator  22 . The modulator  20  and demodulator  22  are paired and can be of any form as long as the demodulator  22  is able to produce a stream of symbols from the signal received across the channel  14 . 
     In the embodiment, the stream of symbols is provided to a decoder  24  and again the decoder is configured to reverse the processing performed by the encoder  18  to provide digital information  26  corresponding to the transmitted information  16 . 
     As described above, using GRAND, only the streams of demodulated symbols produced by the demodulator  22  are provided to the decoder  24 , for SRGRAND only a binary indication of the reliability or not of any given symbol is provided in addition to the stream of demodulated symbols, whereas for SGRAND, real-valued soft information is provided for each symbol generated by the demodulator  22  in addition to the stream of demodulated symbols. 
     Part of the decoding process comprises mapping the stream of demodulated symbols into a binary stream of valid information i.e. a string of bits. Each portion of the stream of valid information corresponds to a codeword and once a codeword has been determined from one or more demodulated symbols, this can be processed including decrypting or buffering the information as required before providing the processed information  26 . 
     As will be appreciated, if the transmission channel  14  has been affected by noise, a potential codeword i.e. the string of bits derived from the demodulated symbols provided by the demodulator  22 , will not be recognised as a valid codeword in a code-book. (Again, the code-book can be any of a random codebook, a random linear codebook, a Hamming codebook, or a Low Density Parity Check codebook or any form of code-book) Using GRAND, SRGRAND and SGRAND putative noise patterns are removed by the decoder  24  from the string of bits derived from the demodulated symbols and comprising a potential codeword, in order from most likely noise pattern to least likely based on their noise model and any soft information available to them, querying if what remains is in the code-book. 
     According to one embodiment of the present invention, the decoder  24  uses the hard decision demodulation information provided by the demodulator  22  divided into groups of n demodulated symbols, y n , along with soft information comprising a permutation r n  that indicates the rank ordering of the reliability of an associated group of n demodulated symbols. 
     The rank ordering indicated by r n  is a code-book independent quantisation of the soft information indicating in order the reliability of each symbol in a group of symbols. As will be appreciated n symbols can have n! permutations for their order of reliability and so r n  requires a word size large enough to encode the particular permutation for a group of symbols. 
     Where the ordering of permutations is not known a priori by the decoder  24 , then where n is a power of 2, log 2 (n) bits of soft information will be required for each symbol. For values of n which are not powers of two, a slightly higher number, the smallest integer that is larger than log 2  (n) bits of soft information, are required for each symbol. 
     On the other hand, where the ordering of permutations is known by the demodulator  22  and decoder  24  a priori, then r n  need only comprise an index for an algorithm or look-up table which will return the permutation in response to receiving r n  and this can reduce the size of soft information required to no more than log 2 (n!)/n bits of soft information for each symbol, which is smaller than log 2  (n) bits. So, the permutation indicating the rank ordering for a group of 12 demodulated symbols can be encoded in 29 bits, requiring less than 3 bits of soft information per symbol. 
     Even this assumes that the rank ordering for all symbols of a group of n symbols is employed by the decoder  24 . If for example, a decoder was only going to attempt to apply a query threshold T of putative noise patterns based on flipping only the information contained in the most unreliable symbols, then a group of n symbols can be divided into n-a the most unreliable symbols and the remaining a most reliable symbols. Then as will be seen from the example below, only the ranked order of the n-a most unreliable symbols needs to be provided to the decoder as only this information will be required to determine the sequence of up to T noise patterns to apply to a group of demodulated symbols, so reducing the amount of soft information required for a given amount of hard information. 
     In any case, on receipt of the soft information indicating the permutation r n , the decoder  24  is immediately able to determine the ranked order of the reliability of symbols within the associated group of symbols, y n . This order enables the decoder to map each symbol in order of its reliability from the most unreliable to the least unreliable (most reliable). 
     Referring now to  FIG.  2   , which illustrates the first  100  putative noise patterns in an exemplary sequence of noise patterns for a transmission channel  14  affected by white noise, and which can be applied to a sequence of 13 symbols. Each row represents a putative noise pattern with white being “no flip” and black corresponding to flipping the information for a symbol. 
     For simplicity, the example is described for symbols providing 1 bit of demodulated information. Thus, flipping the information for a symbol simply comprises flipping the demodulated value for a bit between 1 and 0. In other implementations, a symbol can provide z&gt;1 bit of demodulated information. In this case, flipping the information for any given symbol involves a sub-sequence of flipping the demodulated values for all of the bits through their 2 z -1 remaining combinations (the first combination being assumed to have been tried). 
     Returning to the example of  FIG.  2   , the order of the noise patterns is determined by evaluating a cost for flipping information—the cost for flipping information for the least reliable bits being less than the cost for flipping information for more reliable bits. One simple cost function is based on a sum of the rank ordered positions (from  1  to  13  in  FIG.  2   ) of bits to be flipped and comparing those sums. Thus, the most likely putative error sequence is no bit flips, followed by the sequence with only the most likely i.e. unreliable bit being flipped, followed by the sequence with only the second most unreliable bit flipped, followed by a tie, broken arbitrarily, between the sequence with the third most unreliable bit alone flipped and the sequence with first and second most unreliable bits both being flipped, and so forth. 
     Thus, flipping the bit in position 1 i.e. the least reliable bit in a group of bits, has a lower value than flipping the bit in position 2 i.e. the second least reliable bit in a group of bits, and so this bit is flipped first and the bit in position 2 flipped next. 
     As explained, using the simple sum criterion, leads to a tie between flipping both the least and second least reliable bits; or flipping just the 3rd least reliable bit. This tie as well as others can be broken arbitrarily so that in the example of  FIG.  2   , the 3rd noise pattern employed involves flipping the first and second least reliable bits, before then flipping the 3rd least reliable bit, if flipping using the previous noise patterns have not resulted in a valid codeword. 
     Other noise models may place an additional likelihood penalty or cost on sequences that have more bits flipped and such models could plausibly provide a better approximation for higher quality channels. In this case, the third least reliable bit would be flipped before the combination of first and second bits least reliable bits would be flipped, because this involved fewer flips. 
     Still further variations of noise model of  FIG.  2    are also possible and these can be based on a priori knowledge of the characteristics of a given transmission channel or on characteristics which are learnt, causing the order of the noise patterns within the sequence to change to promote patterns which are more likely to contain a noise pattern (and so cost less to flip) affecting a demodulated group of symbols. 
     In any case, it will be seen that in contrast to the approach of GRAND and SRGRAND, knowing the ranked order of reliability of demodulated information means that information for more unreliable bits can be flipped before information for more reliable bits is flipped. So, whereas in the example of  FIG.  2   , information for the most reliable symbol in position  13  is only flipped after more than 80 noise patterns into the sequence, using GRAND or SRGRAND (where all bits were flagged as unreliable), this bit would tend to be flipped after only 13 patterns into a sequence. Similarly, knowing the ranked order of reliability of demodulated information means that information for the two most unreliable bits can be examined by flipping their information with the 3 rd  (or  4   th ) noise pattern in a sequence, whereas using GRAND or SRGRAND, this could not happen until only after 13 patterns in a sequence and perhaps the 26 th  pattern. 
     This improved application of potential noise patterns to demodulated information is possible using embodiments of the invention which need not assume any further information about either the received signal or the channel noise model than the soft information provided by the demodulator  22 . 
     The above embodiment has been described in terms of rank ordering the reliability of symbols within a group of n symbols and flipping bit information for those symbols in accordance with a sequence of noise patterns and the ranked reliability of the symbols. 
     In variations of the invention, rather than rank order the reliability of demodulated symbols which may correspond with one or more bits of decoded information, the soft information provided from the demodulator  22  can instead rank order demodulated bits directly. Thus, as before, the demodulator  22  needs to pass no more than log 2 (n) bits of code-book independent soft information per demodulated bit to the decoder  24 . (Again, for values of n which are not powers of two, a slightly higher number, the smallest integer that is larger than log 2  (n) bits of soft information, are required for each bit.) 
     The demodulated bits can then be ranked from the most unreliable to the most reliable using the soft information and the sequence of noise patterns, such as shown in  FIG.  2    for groups of 13 bits, can be applied to the demodulated bits until a valid codeword is detected. 
     Again, to reduce the amount of soft information which needs to be passed to the decoder  24  for a group of n bits, techniques such as disclosed above including agreeing the order of possible permutations of the bits or using knowledge of the query threshold T to limit the soft information to the ranked order of only the most unreliable bits can be used. 
     Again, it will be appreciated that the above described processes lend themselves to parallelization so that for example, a number of decoders can apply a plurality of noise patterns simultaneously to the demodulated symbols provided by the demodulator.