WO2024091727A1 - Decoding correlated received multi-symbol data by guessing noise effect - Google Patents

Decoding correlated received multi-symbol data by guessing noise effect Download PDF

Info

Publication number
WO2024091727A1
WO2024091727A1 PCT/US2023/072800 US2023072800W WO2024091727A1 WO 2024091727 A1 WO2024091727 A1 WO 2024091727A1 US 2023072800 W US2023072800 W US 2023072800W WO 2024091727 A1 WO2024091727 A1 WO 2024091727A1
Authority
WO
WIPO (PCT)
Prior art keywords
putative
guessing
message
symbol
symbols
Prior art date
Application number
PCT/US2023/072800
Other languages
French (fr)
Inventor
Hadi SARIEDDEEN
Kathleen Linjia YANG
Muriel Medard
Kennth R. DUFFY
Original Assignee
Massachusetts Institute Of Technology
National University Of Ireland Maynooth
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Massachusetts Institute Of Technology, National University Of Ireland Maynooth filed Critical Massachusetts Institute Of Technology
Publication of WO2024091727A1 publication Critical patent/WO2024091727A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding

Definitions

  • FECC forward error control coding
  • FECC is a mechanism that adds redundant bits to a bit stream so that the receiver can leverage such redundancy to detect and correct errors introduced by the channel (channel coding and decoding).
  • Popular channel coding methodologies include Hamming codes (Hamming, 1950), Reed- Solomon codes (Reed and Solomon, 1960), and Hadamard codes (Bell, 1966), amongst many others.
  • Current and upcoming generations of wireless communications strive to support both data-demanding and low-latency communication.
  • determining a decoded codeword includes iteratively guessing new noise effects expressed as a set of lattice-point substitutions over a multi- symbol data block, and checking whether the data associated with the resultant lattice points form a codeword using a codebook membership function.
  • the decoder is restricted to testing a constrained collection number of lattice points and can abandon searching and declaring an erasure.
  • a first embodiment is a method of decoding a set of codewords from a channel. The method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • the method also includes determining, using a lattice associated with the plurality of messages and a maximum likelihood (ML) detector, putative joint input symbols and information relating to noise effects. Then the method requires repeating various steps until termination.
  • a first such step is, when the putative joint input symbols are a valid concatenation of codewords, outputting the putative joint input symbols as the received codewords, then terminating.
  • a second such step is, when the message putative joint input symbols are invalid, determining whether guessing should continue.
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating.
  • determining the putative joint input symbols comprises determining using a lattice comprising a cartesian product of lattices, wherein each of the putative joint input symbols corresponds to a point in a respective lattice in the cartesian product of lattices. In some embodiments, determining the putative joint input symbols comprises minimizing a joint probability of detecting an error in the plurality of messages using a maximum likelihood detector.
  • the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
  • guessing a most likely channel noise effect block comprises guessing according to a rank ordered list of the information relating to noise effects. It is contemplated that, rather than operate on joint probabilities that apply to the entire received output data block, one may operate on noise effects that apply to individual messages therein. This approach applies noise guessing at a more granular level, but requires identifying individual messages that form an output data block.
  • another embodiment is a second method of decoding a set of codewords from a channel. This method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • the method also includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects.
  • the method then includes repeating, for each message (rather than just once for the entire received output block), a sequence of steps until termination.
  • a first such step is, when the message putative input symbol is a valid codeword, outputting the putative symbol as the codeword for the message, then terminating.
  • a second such step is, when the message putative input symbol is invalid, determining whether guessing should continue.
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating.
  • a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the message, and forming the message putative input symbol as the received symbol minus the guessed noise effect block.
  • determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector.
  • the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
  • guessing a most likely channel noise effect block for the message comprises guessing according to a rank ordered list of the information relating to noise effects for that message.
  • a first one of the plurality of messages comprises a symbol selected from a set of symbols having a first cardinality
  • a second one of the plurality of messages comprises a symbol selected from a set of symbols having a second cardinality that is different than the first cardinality.
  • a hybrid approach between the first and second embodiments is also contemplated. In this hybrid approach, individual messages are identified and their soft information is determined, as in the second embodiment above to provide a higher level of granularity when compensating for noise effects. But then, the message inputs and soft information are concatenated together to form a joint input and joint probability distribution, and noise guessing proceeds as in the first embodiment.
  • another embodiment is a third method of decoding a set of codewords from a channel.
  • the method first includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • the method next includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects.
  • the method then includes concatenating all messages’ putative input symbols to form a putative joint input symbol, and concatenating all messages’ information relating to noise effects to form joint noise information. And the method proceeds by repeating until termination a sequence of steps that each apply to the concatenated data.
  • a first such step is, when the putative joint input symbol is a valid concatenation of codewords, outputting the putative joint input symbol as the received codewords, then terminating.
  • a second such step is, when the message putative joint input symbol is invalid, determining whether guessing should continue.
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating.
  • a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbol, and forming the putative joint input symbol as the received symbol minus the guessed noise effect block.
  • determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector.
  • the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
  • guessing a most likely channel noise effect block for the putative joint input symbol comprises guessing according to a rank ordered list of the joint noise information.
  • Another embodiment is a machine-accessible medium having instructions encoded thereon that specify steps in a software program, wherein execution of the software program by a computer causes performance of the method of any previous claim.
  • FIG.1 is a drawing of constellations in reference to a first method embodiment of the concepts, techniques, and structures disclosed herein for multi-symbol detection, hereinafter “Method 1”
  • FIG.2 is a drawing of constellations in reference to a second method embodiment of the concepts, techniques, and structures disclosed herein for joint multi-symbol detection, hereinafter “Method 2”
  • FIG.3 is a flow diagram for a method of decoding a set of codewords from a plurality of correlated received symbols
  • FIG.4 is a flow diagram for an alternate method of decoding a set of codewords from a plurality of correlated received symbols
  • FIG.5 is a flow diagram of yet another method of decoding a set of codewords from a plurality of correlated received symbols
  • FIG.6 is a drawing of a multi-user uplink
  • each message ⁇ ⁇ [1,2, ... , ⁇ ] can take one of ⁇ ⁇ possible symbol values, where ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ are not necessarily equal.
  • the symbol of the ⁇ th message is by ⁇ ⁇ .
  • ⁇ ⁇ denotes the cardinality of the modulation constellation, ⁇ ⁇ , from which ⁇ ⁇ is selected, using a mapping (modulation) function that takes as input the message symbol bit representation.
  • Quadrature amplitude modulation (QAM) is one example of such mappings.
  • the receiver’s decision on the ⁇ th message is denoted by ⁇ ⁇ ; if ⁇ ⁇ ⁇ ⁇ ⁇ , the ⁇ th message is received in error.
  • Hard-output ML detection of correlated data symbols One method of jointly detecting the transmitted messages, ⁇ ⁇ , is to use the maximum a posteriori (MAP) detector.
  • the MAP detector is an optimal detector in that it minimizes the probability of detection error.
  • the MAP detector is a maximum likelihood (ML) detector. Referring to FIG. 1, a first method embodiment of the concepts, techniques, and structures disclosed herein for ML detection of a single message minimizes the probability of decision error for that message.
  • the method minimizes ⁇ ( ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ), conditioned on all possibilities of interfering messages, where ⁇ (. ) is the probability function.
  • ⁇ (. ) is the probability function.
  • ⁇ ⁇ In words, (2) says that the conditional probability density function (PDF) ⁇ ⁇
  • PDF conditional probability density function
  • the likelihood function can be expanded to ⁇ ⁇ ⁇ ⁇ ⁇ 1 ⁇ ⁇
  • ⁇ ⁇ ... ⁇ ⁇ ⁇ ⁇ ⁇ h ⁇ ⁇ ⁇ ⁇ ⁇ h ⁇ ⁇ ⁇ , ⁇ ⁇ , (3) , messages ⁇ ... , interfering messages, ⁇ ⁇ , for ⁇ ⁇ [2,3, ... , ⁇ ].
  • ⁇ ⁇ the likelihood function calculated from the average of the PDFs of all combinations of ⁇ ⁇ , ⁇ for a fixed ⁇ ⁇ . This process is repeated for all possible ⁇ ⁇ symbols that can be transmitted over message 1, and the symbol that gives the likelihood value is chosen as the output of the ML detector.
  • the detected lattice point, denoted ⁇ ⁇ is chosen from the lattice of aggregate constellation points; a detection error is considered to have occurred if ⁇ ⁇ ⁇ ⁇ ⁇ .
  • the receiver knows the fading channel coefficients, h ⁇ , for all messages ⁇ ⁇ [1,2, ... , ⁇ ], and the set of possible interfering messages.
  • the arg max of the likelihood function can be found by checking all ⁇ ⁇ possible combinations of symbols and choosing the combination that results in the maximum output of the likelihood function.
  • the likelihood function of the second method has a single PDF, which is less costly to calculate.
  • the size of the lattice is much larger than that of a constellation.
  • the jointly optimal ML detector has the same number of likelihoods that must be computed.
  • computing these likelihoods is less computationally complex: Only a single exponential is required, and if the log-likelihoods are computed, this computation reduces to sums and multiplications.
  • Additional preprocessing must be done before using the jointly optimal ML detector, such as generating the set of all possible macrosymbols ⁇ [ ⁇ ] ⁇ each time the channel changes, but this preprocessing also only involves multiplications and additions.
  • Soft-output ML detection of correlated data symbols In several embodiments, we seek to generate reliability measures for the detected symbols.
  • Such reliability metrics typically serve as soft information that assist in subsequent channel-code decoding blocks.
  • Soft information is conventionally computed for every bit of the bit-demapped representation of a detected symbol.
  • LLRs log-likelihood ratios
  • Each ⁇ , ⁇ is a measure of the confidence of the decision on bit ⁇ , ⁇ .
  • the bit LLRs can be equivalently generated following ML detection of either the method of FIG.1 or the method of FIG.2.
  • Soft information block decoding Due to the uncertainties of the channel (including the noise and the sum of the unknown transmitted symbols from interfering signals), the ML detector is prone to errors when estimating the transmitted symbols from each of the multiplexed messages.
  • a block error correction code is used to recover such errors.
  • a bit sequence that belongs to a block code is a codeword, and a codebook is comprised of the set of all codewords.
  • ORBGRAND random additive noise decoding
  • a codeword corresponds to multiple transmitted symbols from the same message.
  • ORBGRAND first sorts the bit vector of the detected multi-symbol block in increasing order of the corresponding LLRs ( ⁇ ⁇ , ⁇ values). Candidate noise effects are then queried with an almost non-decreasing likelihood based on the sorted LLRs. Following both the method of FIG. 1 and the method of FIG.2 for hard ML detection, generating soft-output reliabilities per bit in the form of LLRs requires extra processing, as highlighted in (3) and (6), respectively. We introduce a method for generating putative noise effects for ORBGRAND on received symbols directly.
  • FIG.3 is a flow diagram for a method of decoding a set of codewords from a plurality of correlated received symbols. Referring to FIG.
  • FIG.3 shows a method of decoding a set of codewords from a channel. It is contemplated that this method will be implemented in high-speed electronic hardware that is otherwise known in the art (e.g. application-specific integrated circuits, field programmable gate arrays, system-on-chip, etc.) but programmed in accordance with embodiments.
  • This method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • Data may be received using any conventional means, e.g. using a radio antenna or a wired data networking connection.
  • the method also includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects. This determining process may be performed using techniques known in the art of data communications, including ORBGRAND as described in the aforementioned U.S. Patent 11,652,498.
  • the method then includes repeating, for each message (rather than just once for the entire received output block), a sequence of steps until termination.
  • a first such step is, when the message putative input symbol is a valid codeword, outputting the putative symbol as the codeword for the message, then terminating. Thus, if no noise affected passage of the message’s symbol as it moved through the channel, the decoder detects this condition and terminates the decoding process quickly.
  • a second such step is, when the message putative input symbol is invalid, determining whether guessing to correct the symbol should continue. It is desirable to expend some measure of effort to correct a symbol in error, but the number of possible corrections grows exponentially in the number of bits in the symbol, so it is wise to terminate guessing after that measure of effort has been spent.
  • an embodiment determines whether to continue expending effort, based on any appropriate heuristic (such as a fixed number of attempts having already been made, or a number of bits that must be simultaneously corrected exceeding a pre-determined threshold).
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating.
  • the error condition may indicate, for example, that the particular message in question could not be properly decoded. In such situations, it may be possible to decode the other messages in the received output block, and thereby infer the content of the message that was not decoded.
  • a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the message, and forming the message putative input symbol as the received symbol minus the guessed noise effect block.
  • noise has corrupted the symbol, and it becomes necessary to correct the received symbol into a codeword.
  • Symbols may comprise many bits, and it is usually not known a priori which bits were affected. Rather, each bit is associated with soft information that quantifies a confidence (e.g. between 0% and 100%) that the bit was correctly received (i.e. did not experience error during transmission).
  • This fourth step may apply the techniques of ORBGRAND to order the guesses of which bit(s) got corrupted by noise from least to greatest confidence in the original decoding of those bits.
  • FIG. 4 shows a hybrid method of decoding a set of codewords from a channel.
  • the method first includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • the method next includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects.
  • ML maximum likelihood
  • the method of FIG.4 proceeds by repeating until termination a sequence of steps that each apply to the concatenated data.
  • a first such step is, when the putative joint input symbol is a valid concatenation of codewords, outputting the putative joint input symbol as the received codewords, then terminating.
  • the decoder detects this condition and terminates the decoding process quickly.
  • a second such step is, when the message putative joint input symbol is invalid, determining whether guessing should continue.
  • This second step is analogous to the second step described in connection with FIG.3, except that the appropriate determining heuristic is a function of the entire, concatenated input symbol rather than being applied to individual, per-message symbols.
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. The error condition may indicate, for example, that the entire received output block could not be properly decoded.
  • a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbol, and forming the putative joint input symbol as the received symbol minus the guessed noise effect block.
  • this fourth repeating step of FIG.4 guesses a noise effect to subtract from the received data, and thereby hopefully obtain a complete sequence of codewords.
  • the fourth step of FIG. 4 guesses a noise effect on the entire received output block at once, rather than guessing a noise effect on individual messages.
  • FIG. 5 using the method of FIG. 2, we aggregate all the symbols from multiple messages into one lattice, and apply a single-message ORBGRAND. The rank- ordered list of sequences is generated from the single likelihood list for the aggregate constellation, ⁇ ⁇
  • FIG.5 shows a fully-joint method of decoding a set of codewords from a channel.
  • the method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols.
  • This process is analogous to the first process of FIGS.3 and 4.
  • the method also includes determining, using a lattice associated with the plurality of messages and a maximum likelihood (ML) detector, putative joint input symbols and information relating to noise effects. That is, rather than using several lattices or constellations, each associated with a single message or symbol, in the method of FIG. 5 a joint, cartesian product lattice is associated with all of the received messages simultaneously.
  • the method requires repeating various steps until termination, as above.
  • a first such step is, when the putative joint input symbols are a valid concatenation of codewords, outputting the putative joint input symbols as the received codewords, then terminating.
  • a second such step is, when the message putative joint input symbols are invalid, determining whether guessing should continue.
  • a third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating.
  • a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbols, and forming the putative joint input symbols as the received symbols minus the guessed noise effect block.
  • the method then repeats these various steps, which are entirely analogous to the repeated steps described above, but altered to apply to a single-message ORBGRAND.
  • the table below illustrates the dimensions of the likelihood lists given a concatenation of ⁇ symbols per block from each message/signal source.
  • the joint method must satisfy all codebooks simultaneously, where the expected number of queries is less than or equal to 2 ⁇ ⁇ ( ⁇ ) , with ⁇ ⁇ and ⁇ ⁇ being the total number of transmitted and information bits for message ⁇ , respectively.
  • the non-joint method has an expected number of queries less than or equal to ⁇ ⁇ ⁇ ⁇ 2 ⁇ (a much lower bound).
  • each user ⁇ ⁇ [1,2, ... , ⁇ ] can select one possible symbol to transmit from a total of ⁇ ⁇ possible symbols; ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ are not necessarily equal.
  • the transmitted symbol from the ⁇ th user is denoted as ⁇ ⁇ . It is assumed that the receiver knows the possible ⁇ ⁇ symbols that may be transmitted (but it does not know exactly which ⁇ ⁇ was ; it also knows the channel fading coefficient h ⁇ for all users.
  • the problem reduces to a multi-user detection (MUD) problem, where the receiver (in this case, the base station) attempts to detect which ⁇ ⁇ symbols were transmitted from each user ⁇ (the receiver’s decision will be ⁇ ⁇ ).
  • the elements of uncertainty arise due to the unknown noise ⁇ and the interference from all the users’ messages.
  • each transmitted user message experiences a different fading channel coefficient, h ⁇ .
  • AWGN additive white Gaussian noise
  • the likelihood functions for soft information in multiple embodiments can be expressed in terms of Euclidean distance computations.
  • the LLRs can be computed as a difference of Euclidean distance metrics.
  • the first method of FIG.1 can be renamed as conventional joint MUD that minimizes the probability of a decision error for a single user.
  • the second method of FIG.2 can be renamed as joint MUD.
  • the joint MUD method minimizes the probability of a decision error for all users. In essence, we collapse the problem to a single-user scenario and consider an aggregate set of constellation points ⁇ .
  • ORBGRAND in the multi-user use case following one of the four approaches described above: Conventional (bit-level), symbol-level, hybrid symbol-level, and joint symbol-level.
  • Conventional (bit-level), symbol-level, hybrid symbol-level, and joint symbol-level For the first method of detection in FIG.1, we consider the cases where ORBGRAND is applied to each individual user or applied simultaneously to all users. In the scenario where ORBGRAND is applied to each individual user, users have their own rank ordered list of noise effects that are generated from their own list of likelihoods. In the scenario where ORBGRAND is applied simultaneously to all users, the list of likelihoods and the rank ordered list of noise effects are generated from the union of all likelihoods from all users. ORBGRAND then runs once, until codewords that satisfy all the corresponding codebooks simultaneously are found.
  • the transmitted symbol with the ⁇ th power level as ⁇ ⁇ ⁇ . It is assumed that the receiver knows the common channel fading coefficient (h ⁇ h, for all ⁇ ) for the ⁇ ⁇ symbols that may be transmitted (but it does not know exactly which ⁇ ⁇ was transmitted).
  • the problem reduces to a power-multiplexed detection problem, where the receiver attempts to detect which ⁇ ⁇ symbols were transmitted for each message ⁇ .
  • the proposed methods apply to this problem formulation. Referring to FIG. 8, in a power-domain non-orthogonal multiple-access (NOMA) system, a single user can transmit multiple messages to multiple receivers, over the same time, frequency, and space resources, by differentiating messages in the power domain.
  • NOMA non-orthogonal multiple-access
  • each message is a symbol with different power level.
  • each message ⁇ ⁇ [ 1,2, ... , ⁇ ] can select one possible symbol to transmit from a total of ⁇ ⁇ possible symbols; ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ are not necessarily equal.
  • the transmitted symbol with the ⁇ th power is denoted as ⁇ . It is assumed that all receivers ⁇ know the h ⁇ , of interfering receivers, and the ⁇ ⁇ symbols that may be transmitted. The problem reduces to a downlink NOMA detection problem, where the receiver attempts to detect which ⁇ ⁇ symbols were transmitted in each message ⁇ .
  • each user and the base station BS can have multiple antennas with symbols being spatially multiplexed.
  • each message is a multi- dimensional symbol vector from a multi-antenna user.
  • each user ⁇ ⁇ [1,2, ... , ⁇ ] can select ⁇ ⁇ symbols to transmit from ⁇ ⁇ antennas, for a total of ⁇ ⁇ possible symbols per antenna; ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ are not necessarily equal.
  • the transmitted symbol vector from the ⁇ th is denoted as ⁇ ⁇ .
  • the receiver knows the possible ⁇ ⁇ symbols that may be transmitted (but it does not know exactly which ⁇ ⁇ was transmitted); it assumes knowledge of the channel fading coefficient matrices, ⁇ ⁇ , for all users.
  • the problem reduces to an uplink multi-user multiple-input multiple-output (MIMO) detection problem, where the receiver (in this case, the base station) attempts to detect which ⁇ ⁇ symbol vectors were transmitted from each user ⁇ (the receiver’s decision will be ⁇ ⁇ ).
  • MIMO multi-user multiple-input multiple-output
  • scalar distance computations can be replaced by multivariate Euclidean distance computations.
  • the proposed methods apply to this problem formulation. Referring to FIG.
  • the BS and each user can have multiple antennas.
  • the BS can send messages to multiple users, each from a different set of antennas, with shared time and frequency resources.
  • the BS can also send messages to multiple users using the same set of antennas by multiplexing in the power domain.
  • each message is multi-symbol.
  • the BS can allocate ⁇ ⁇ transmit antenna and power combinations, with a total of ⁇ ⁇ possible symbols per user message; ⁇ ⁇ , ⁇ ⁇ , ... , ⁇ ⁇ are not necessarily equal.
  • the transmitted symbol vector to the ⁇ th user is denoted as ⁇ ⁇ . It is assumed that the receiver knows the possible ⁇ ⁇ symbols that may be transmitted and all other possibilities of interfering symbols in the aggregate transmitted vector from the BS, ⁇ (but it does not know exactly which ⁇ ⁇ was transmitted).
  • the channel fading coefficient matrices, ⁇ ⁇ are also assumed to be known by all receivers.
  • the problem reduces to downlink multi-user MIMO detection, where each receiver attempts to detect the full ⁇ to recover its useful subset ⁇ ⁇ (the receiver’s decision will be ⁇ ⁇ ).
  • the proposed methods apply to this problem formulation.
  • the downlink multi-user detection problem can be extended to the case when a receiving user ⁇ does not know the modulation types of the ⁇ ⁇ 1 adjacent receiving users.
  • the user of interest ⁇ can assume a guessed knowledge of possible interfering messages.
  • the lattice of possible transmitted symbols can be extended to account for all possible interfering symbols, drawn from all possible constellation formats.
  • the complexity of the latter approach (the size of the aggregate lattice) can be very high.
  • the proposed methods can still apply to such generalized problem formulation.
  • the downlink multi-user detection problem can further be extended to the case when a receiving user ⁇ does not perfectly know the channel coefficients of the ⁇ ⁇ 1 adjacent receiving users.
  • FIG.11 illustrates that the joint method outperforms the symbol-level and hybrid methods by ⁇ 3 dB gain at high signal-to-noise ratio (SNR). This is due to the requirement of having to satisfy the codebooks of all users simultaneously, while also having the estimator create an estimate for the combination of all user symbols. This performance improvement is thus due to the combination of estimating users jointly and using joint ORBGRAND on all users simultaneously.
  • the hybrid method results in less gains because the likelihoods are generated individually. It is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
  • one or more computers may be programmed and specially adapted: (1) to perform any computation, calculation, program or algorithm described or implied above; (2) to receive signals indicative of human input; (3) to output signals for controlling transducers for outputting information in human perceivable format; (4) to process data, to perform computations, to execute any algorithm or software, and (5) to control the read or write of data to and from memory devices.
  • computers e.g., integrated circuits, microcontrollers, controllers, microprocessors, processors, field-programmable-gate arrays, personal computers, onboard computers, remote computers, servers, network hosts, or client computers
  • computers may be programmed and specially adapted: (1) to perform any computation, calculation, program or algorithm described or implied above; (2) to receive signals indicative of human input; (3) to output signals for controlling transducers for outputting information in human perceivable format; (4) to process data, to perform computations, to execute any algorithm or software, and (5) to control the read or write of data to and from memory devices.
  • the one or more computers may be connected to each other or to other components in the system either: (a) wirelessly, (b) by wired or fiber optic connection, or (c) by any combination of wired, fiber optic or wireless connections.
  • one or more computers may be programmed to perform any and all computations, calculations, programs and algorithms described or implied above, and any and all functions described in the immediately preceding paragraph.
  • one or more non-transitory, machine-accessible media may have instructions encoded thereon for one or more computers to perform any and all computations, calculations, programs and algorithms described or implied above, and any and all functions described in the immediately preceding paragraph.
  • a machine-accessible medium may have instructions encoded thereon that specify steps in a software program; and (b) the computer may access the instructions encoded on the machine-accessible medium, in order to determine steps to execute in the software program.
  • the machine-accessible medium may comprise a tangible non-transitory medium.
  • the machine-accessible medium may comprise (a) a memory unit or (b) an auxiliary memory storage device.
  • a control unit in a computer may fetch the next coded instruction from memory.
  • one or more computers are programmed for communication over a network.
  • one or more computers are programmed for network communication: (a) in accordance with the Internet Protocol Suite, or (b) in accordance with any other industry standard for communication, including any USB standard, ethernet standard (e.g., IEEE 802.3), token ring standard (e.g., IEEE 802.5), or wireless communication standard, including IEEE 802.11 (Wi-Fi®), IEEE 802.15 (Bluetooth®/Zigbee®), IEEE 802.16, IEEE 802.20, GSM (global system for mobile communications), UMTS (universal mobile telecommunication system), CDMA (code division multiple access, including IS-95, IS-2000, and WCDMA), LTE (long term evolution), or 5G (e.g., ITU IMT-2020).
  • any other industry standard for communication including any USB standard, ethernet standard (e.g., IEEE 802.3), token ring standard (e.g., IEEE 802.5), or wireless communication standard, including IEEE 802.11 (Wi-Fi®), IEEE 802.15 (Bluetooth®/Zigbee
  • inventions may take various forms of communication devices, both wired and wireless; television sets; set top boxes; audio/video devices; laptop, palmtop, desktop, and tablet computers with or without wireless capability; personal digital assistants (PDAs); telephones; pagers; satellite communicators; cameras having communication capability; network interface cards (NICs) and other network interface structures; base stations; access points; integrated circuits; as instructions and/or data structures stored on machine readable media; and/or in other formats.
  • PDAs personal digital assistants
  • NICs network interface cards
  • base stations access points
  • integrated circuits as instructions and/or data structures stored on machine readable media; and/or in other formats.
  • Examples of different types of machine readable media include floppy diskettes, hard disks, optical disks, compact disc read only memories (CD-ROMs), digital video disks (DVDs), Blu-ray disks, magneto-optical disks, read only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, flash memory, and/or other types of media suitable for storing electronic instructions or data.
  • “including” means including without limitation.
  • the terms "a” and “an”, when modifying a noun, do not imply that only one of the noun exists.
  • exemplary is used herein to mean “serving as an example, instance, or illustration. Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs.
  • the terms "one or more” and “one or more” are understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc.
  • the terms "a plurality” are understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc.
  • connection can include an indirect “connection” and a direct “connection.”
  • references in the specification to "one embodiment, “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described can include a particular feature, structure, or characteristic, but every embodiment can include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Methods for correcting errors arising in correlated received multi-symbol data by guessing noise effects at a receiver device are disclosed. In various embodiments, the ordering of symbol-level noise effects is informed by correlated soft information. A lattice of possible joint combinations of interfering symbols and/or symbols impacted by correlated noise is constructed. Then, determining a decoded codeword includes iteratively guessing new noise effects expressed as a set of lattice-point substitutions over a multi¬ symbol data block, and checking whether the data associated with the resultant lattice points form a codeword using a codebook membership function. In some embodiments, the decoder is restricted to testing a constrained collection number of lattice points and can abandon searching and declaring an erasure.

Description

DECODING CORRELATED RECEIVED MULTI-SYMBOL DATA BY GUESSING NOISE EFFECT GOVERNMENT LICENSE RIGHTS This invention was made with government support under HR0011-2-12-0008 awarded by the Defense Advanced Research Projects Agency, and ECCS2128555 awarded by the National Science Foundation. The government has certain rights in the invention. FIELD The disclosure relates to digital communication systems and, in particular, to error correction detecting and decoding of correlated received multi-symbol data by guessing a noise effect. BACKGROUND The radio-frequency spectrum is a scarce resource and computing devices still have fundamental limitations. Consequently, the space, time, frequency, and power resources are often shared across users over networks. With network densification, in addition to signal disturbances caused by noise and the transmission channels, interference from other devices (or from superimposed information from the same device) is a major challenge. One way to preserve the reproducibility of data (to some finite extent) under such disturbances is through forward error control coding (FECC). FECC is a mechanism that adds redundant bits to a bit stream so that the receiver can leverage such redundancy to detect and correct errors introduced by the channel (channel coding and decoding). Popular channel coding methodologies include Hamming codes (Hamming, 1950), Reed- Solomon codes (Reed and Solomon, 1960), and Hadamard codes (Bell, 1966), amongst many others. Current and upcoming generations of wireless communications strive to support both data-demanding and low-latency communication. Achieving such reliability under a broad set of requirements requires a paradigm shift in designing channel-code decoders, which are the most computationally demanding block in digital processing at the baseband of a communication system. In particular, a shift is sought from traditional structured, code-specific channel-code decoding to practical and universal decoding under various code rate and length constraints. Guessing random additive noise decoding (GRAND) has recently been proposed as a practical universal decoder. GRAND guesses the noise effect that corrupts codewords; it successively inverts noise effects from the received signal until a code-word is identified to recover candidate transmitted words. By leveraging information on channel models, noise statistics, and soft information, the candidate noise effects are ordered and queried in approximately decreasing likelihood, which ensures an accurate decoding with high likelihood. Crucial to decoding performance is the quality of the ordering of noise effects. Channel knowledge can be passed to a GRAND module in the form of soft symbol reliability information. Several GRAND proposals have leveraged as soft information single- or multi-bit quantized reliability measures, in additive Gaussian noise systems and systems with channel fading. Published GRAND schemes that describe the use of soft information to inform their query order assume it to be probabilistically independent for each data symbol or each bit within a symbol, when raw soft information is often correlated as a consequence of temporal and/or spatial noise relationships or interference. Removal of correlation is achieved in practice through the use of interleavers at the cost of increased latency and the destruction of potentially informative correlation information. Interleavers are not always adopted and, even if adopted, they may not be long enough to decorrelate data. The complexity and power consumption of interleaving are also significant. What is needed is methods and systems for extending GRAND that make active use of correlated soft information to inform their query order. SUMMARY OF DISCLOSED EMBODIMENTS Methods for correcting errors arising in correlated received multi-symbol data by guessing noise effects at a receiver device are disclosed. In various embodiments, the ordering of symbol-level noise effects is informed by correlated soft information. A lattice of possible joint combinations of interfering symbols and/or symbols impacted by correlated noise is constructed. Then, determining a decoded codeword includes iteratively guessing new noise effects expressed as a set of lattice-point substitutions over a multi- symbol data block, and checking whether the data associated with the resultant lattice points form a codeword using a codebook membership function. In some embodiments, the decoder is restricted to testing a constrained collection number of lattice points and can abandon searching and declaring an erasure. Thus, a first embodiment is a method of decoding a set of codewords from a channel. The method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. The method also includes determining, using a lattice associated with the plurality of messages and a maximum likelihood (ML) detector, putative joint input symbols and information relating to noise effects. Then the method requires repeating various steps until termination. A first such step is, when the putative joint input symbols are a valid concatenation of codewords, outputting the putative joint input symbols as the received codewords, then terminating. A second such step is, when the message putative joint input symbols are invalid, determining whether guessing should continue. A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbols, and forming the putative joint input symbols as the received symbols minus the guessed noise effect block. The method then repeats these various steps. In some embodiments, determining the putative joint input symbols comprises determining using a lattice comprising a cartesian product of lattices, wherein each of the putative joint input symbols corresponds to a point in a respective lattice in the cartesian product of lattices. In some embodiments, determining the putative joint input symbols comprises minimizing a joint probability of detecting an error in the plurality of messages using a maximum likelihood detector. In some embodiments, the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct. In some embodiments, guessing a most likely channel noise effect block comprises guessing according to a rank ordered list of the information relating to noise effects. It is contemplated that, rather than operate on joint probabilities that apply to the entire received output data block, one may operate on noise effects that apply to individual messages therein. This approach applies noise guessing at a more granular level, but requires identifying individual messages that form an output data block. Thus, another embodiment is a second method of decoding a set of codewords from a channel. This method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. The method also includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects. The method then includes repeating, for each message (rather than just once for the entire received output block), a sequence of steps until termination. A first such step is, when the message putative input symbol is a valid codeword, outputting the putative symbol as the codeword for the message, then terminating. A second such step is, when the message putative input symbol is invalid, determining whether guessing should continue. A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the message, and forming the message putative input symbol as the received symbol minus the guessed noise effect block. In some embodiments, determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector. In some embodiments, the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct. In some embodiments, guessing a most likely channel noise effect block for the message comprises guessing according to a rank ordered list of the information relating to noise effects for that message. In some embodiments, a first one of the plurality of messages comprises a symbol selected from a set of symbols having a first cardinality, and a second one of the plurality of messages comprises a symbol selected from a set of symbols having a second cardinality that is different than the first cardinality. A hybrid approach between the first and second embodiments is also contemplated. In this hybrid approach, individual messages are identified and their soft information is determined, as in the second embodiment above to provide a higher level of granularity when compensating for noise effects. But then, the message inputs and soft information are concatenated together to form a joint input and joint probability distribution, and noise guessing proceeds as in the first embodiment. Thus, another embodiment is a third method of decoding a set of codewords from a channel. The method first includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. The method next includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects. The method then includes concatenating all messages’ putative input symbols to form a putative joint input symbol, and concatenating all messages’ information relating to noise effects to form joint noise information. And the method proceeds by repeating until termination a sequence of steps that each apply to the concatenated data. A first such step is, when the putative joint input symbol is a valid concatenation of codewords, outputting the putative joint input symbol as the received codewords, then terminating. A second such step is, when the message putative joint input symbol is invalid, determining whether guessing should continue. A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbol, and forming the putative joint input symbol as the received symbol minus the guessed noise effect block. In some embodiments, determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector. In some embodiments, the information relating to noise effects comprises log- likelihood ratios that each measures a confidence of a decision that a particular bit is correct. In some embodiments, guessing a most likely channel noise effect block for the putative joint input symbol comprises guessing according to a rank ordered list of the joint noise information. Another embodiment is a machine-accessible medium having instructions encoded thereon that specify steps in a software program, wherein execution of the software program by a computer causes performance of the method of any previous claim. It is appreciated that the concepts, techniques, and structures disclosed herein may be embodied in ways other than as summarized above, and therefore that this summary should be viewed as merely illustrative and non-limiting. DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS The manner and process of making and using the disclosed embodiments may be appreciated by reference to the drawings, in which: FIG.1 is a drawing of constellations in reference to a first method embodiment of the concepts, techniques, and structures disclosed herein for multi-symbol detection, hereinafter “Method 1”; FIG.2 is a drawing of constellations in reference to a second method embodiment of the concepts, techniques, and structures disclosed herein for joint multi-symbol detection, hereinafter “Method 2”; FIG.3 is a flow diagram for a method of decoding a set of codewords from a plurality of correlated received symbols; FIG.4 is a flow diagram for an alternate method of decoding a set of codewords from a plurality of correlated received symbols FIG.5 is a flow diagram of yet another method of decoding a set of codewords from a plurality of correlated received symbols; FIG.6 is a drawing of a multi-user uplink system; FIG.7 is a drawing of a single-user power-multiplexed system; FIG.8 is a drawing of a multi-user non-orthogonal multiple-access system; FIG.9 is a drawing of a multi-user uplink multi-antenna system; FIG.10 is a drawing of a multi-user downlink multi-antenna system; and FIG.11 shows block error rates (BLER) of the disclosed methods in a multi-user scenario as a function of a first user’s signal-to-noise ratio (SNR), expressed in decibels. DETAILED DESCRIPTION OF EMBODIMENTS To begin, assume that multiple messages are jointly transmitted over shared resources to a single receiver. In a block of ^ messages, each message ^ ∈ [1,2, … ,^] can take one of ^^ possible symbol values, where ^^,^^, … ,^^ are not necessarily equal. The
Figure imgf000009_0001
symbol of the ^th message is
Figure imgf000009_0002
by ^^. ^^ denotes the cardinality of the modulation constellation, ^^, from which ^^ is selected, using a mapping (modulation) function that takes as input the message symbol bit representation. Quadrature amplitude modulation (QAM) is one example of such mappings. We assume a fading channel in which each transmitted message experiences a not necessarily independent channel effect, denoted by coefficient ℎ^. An additive noise, denoted ^, further affects the received signal ^ as: ^ ^ = ^ℎ^^^ + ^. (1)
Figure imgf000010_0001
In multiple per message, which infers the knowledge of the possible ^^ symbols that may be transmitted (without knowing exactly which ^^ was transmitted). Furthermore, in multiple embodiments, the receiver has knowledge of the channel fading coefficients, ℎ^ (^ ∈ [1,2, … ,^]), affecting all data symbols. In a data detection problem formulation, the receiver attempts to detect which ^^ symbol was transmitted in each message ^. The elements of uncertainty arise due to the unknown noise ^. The receiver’s decision on the ^th message is denoted by ^^; if ^^ ≠ ^^, the ^th message is received in error.
Figure imgf000010_0002
Hard-output ML detection of correlated data symbols One method of jointly detecting the transmitted messages, ^^, is to use the maximum a posteriori (MAP) detector. The MAP detector is an optimal detector in that it minimizes the probability of detection error. In a scenario where all possible messages are equiprobable, the MAP detector is a maximum likelihood (ML) detector. Referring to FIG. 1, a first method embodiment of the concepts, techniques, and structures disclosed herein for ML detection of a single message minimizes the probability of decision error for that message. That is, the method minimizes ^(^^ ≠ ^^), conditioned on all possibilities of interfering messages, where ^(. ) is the probability function. Without loss of generality, we set the message number ^ = 1, although it is appreciated that the same process may be applied to any other message. The corresponding ML estimate is ^^(^) = arg max ^^|^^(^|^^). (2) ^^ In words, (2) says that the
Figure imgf000011_0001
the conditional probability density function (PDF) ^^|^^(^|^^), which is also otherwise known as the likelihood function. The likelihood function can be expanded to ^^ ^ ^ ^ 1 ^ ^|^^ = ^ ^ … ^ ^^ ^^ − ℎ^^^ − ^ ℎ^^^,^^ ^ , (3)
Figure imgf000011_0002
, messages ∈ … , interfering messages, ^ ^ , for ^ ∈ [2,3, … ,^]. Given ^^, the likelihood function
Figure imgf000011_0003
calculated from the average of the PDFs of all combinations of ^^,^^ for a fixed ^^. This process is repeated for all possible ^^ symbols that can be transmitted over message 1, and the symbol that gives the
Figure imgf000011_0004
likelihood value is chosen as the output of the ML detector. If the noise is additive white gaussian (AWGN), then the PDF is an exponential. From the ML estimate, it can be seen for the ^th user, ^^ likelihoods must be calculated before deciding which message ^ maximizes it.
Figure imgf000011_0005
calculation of the requires a total of ^^ ^^^ ^^^ ^^ sums of exponentials for the ^th user, which prevents simplifications
Figure imgf000011_0006
the log-likelihood. Referring now to FIG. 2, a second method embodiment of the concepts, techniques, and structures disclosed herein for optimal ML detection minimizes the joint probability of detection error for all messages in one step. In other words, while the method shown in FIG.1 performs a ML detector for a single message, the method shown in FIG. 2 performs a ML detector for all messages at once. The problem collapses to a single-message detection scenario over an aggregate set of constellation points, i.e. a lattice ^ comprising a cartesian product lattice having ^^ = ^^ × ^^ × ⋯ × ^^ lattice points ^^, with ^ ∈ [2,3, … ,^^], that are generated from all possible values of the sum ℎ^^^,^^ + ⋯ + ℎ^^^,^^ . The transmitted lattice point is denoted as ^ = ∑^ ^^^^^^ , and the multi-message detection problem is expressed as a single- detection problem,
Figure imgf000012_0001
^ = ^ + ^. (4) The detected lattice point, denoted ^ ̂, is chosen from the lattice of aggregate constellation points; a detection error is considered to have occurred if ^ ̂ ≠ ^. Minimizing ^(^ ̂ ≠ ^) in an ML approach corresponds to solving ^ ̂(^) = arg max ^^|^(^|^). ^
Figure imgf000012_0002
The likelihood function can further be expressed as ^ = ^^(^ − ^) = ^^ ^^ − ^ ℎ^^^ ^ . (6)
Figure imgf000012_0003
In multiple embodiments, like in the first embodiment described above, the receiver knows the fading channel coefficients, ℎ^, for all messages ^ ∈ [1,2, … ,^], and the set of possible interfering messages. The arg max of the likelihood function can be found by checking all ^^ possible combinations of symbols and choosing the combination that results in the maximum output of the likelihood function. Unlike the likelihood function of the first embodiment, which comprises a sum of PDFs, the likelihood function of the second method has a single PDF, which is less costly to calculate. However, the size of the lattice is much larger than that of a constellation. Compared to the individually optimal ML detector, the jointly optimal ML detector has the same number of likelihoods that must be computed. However, computing these likelihoods is less computationally complex: Only a single exponential is required, and if the log-likelihoods are computed, this computation reduces to sums and multiplications. Additional preprocessing must be done before using the jointly optimal ML detector, such as generating the set of all possible macrosymbols {μ[^]} each time the channel changes, but this preprocessing also only involves multiplications and additions. Soft-output ML detection of correlated data symbols In several embodiments, we seek to generate reliability measures for the detected symbols. Such reliability metrics typically serve as soft information that assist in subsequent channel-code decoding blocks. Soft information is conventionally computed for every bit of the bit-demapped representation of a detected symbol. The bit-representation of ^^ is a vector ^^ = [^^,^ ⋯ ^^,^ ⋯ ^^,^^]^{0,1}^^ , where ^^ = log^(^^). Following ML detection, the soft information for detected symbol ^^ is accumulated in the form of log-likelihood ratios (LLRs) in a vector of real values, ^^ = [^^,^ ⋯ ^^,^ ⋯ ^^,^^]^. Each ^^,^ is a measure of the confidence of the decision on bit ^^,^. The bit LLRs can be equivalently generated following ML detection of either the method of FIG.1 or the method of FIG.2. In particular, the LLR of the ^th bit of the ^th symbol is computed as ^ ^^^^,^ ^,^ = log = 1,^, ℎ^, ℎ^ , ⋯ , ℎ^^ ^^^ ⋯ , (7) assuming uniform priors.
Figure imgf000013_0001
Following the first method of FIG. 1, ∑^ ^,^ ^∈^ ^^|^^(^|^^) ^ = ^ where ^ (^|^^) ^,^
Figure imgf000013_0002
and ^ ^^^ ∈ ^^: ^^,^ = 0^ are subsets of symbols in the one-dimensional constellation, ^^, having bit of 1 and 0, respectively. Following the second method of FIG.2, ^,^ ^ = ∑^∈^ ,^ ^^|^(^|^) ^, having
Figure imgf000013_0003
the corresponding ^th bit of the ^th symbol a value of 1 and 0, respectively. Soft information block decoding Due to the uncertainties of the channel (including the noise and the sum of the unknown transmitted symbols from interfering signals), the ML detector is prone to errors when estimating the transmitted symbols from each of the multiplexed messages. A block error correction code is used to recover such errors. A block code is comprised of ^ information bits and ^ coded bits, which results in a code rate of ^ = ^/^. The ^ − ^ additional bits introduce redundancy that can be used to identify and correct errors. A bit sequence that belongs to a block code is a codeword, and a codebook is comprised of the set of all codewords. In several embodiments, we consider the use of ordered reliability bits guessing random additive noise decoding (ORBGRAND), which is a soft-decoding variation of GRAND. ORBGRAND guesses the most likely noise effects and removes them from the received bits; it repeats the process until a codeword that satisfies the codebook is recovered, or until it has been determined whether to continue guessing based on an amount of effort that has already been spent on guessing. ORBGRAND is described in U.S. Patent 11,652,498 in more detail than in what follows. In several embodiments, we consider the symbols, ^^, from the ^th message to be coded over data blocks independently. Symbols from the other ^ − 1 messages are treated as interference. A codeword corresponds to multiple transmitted symbols from the same message. Following soft-output detection, ORBGRAND first sorts the bit vector of the detected multi-symbol block in increasing order of the corresponding LLRs (^^ ,^ values). Candidate noise effects are then queried with an almost non-decreasing likelihood based on the sorted LLRs. Following both the method of FIG. 1 and the method of FIG.2 for hard ML detection, generating soft-output reliabilities per bit in the form of LLRs requires extra processing, as highlighted in (3) and (6), respectively. We introduce a method for generating putative noise effects for ORBGRAND on received symbols directly. We leverage the reliability metrics of the received symbols, ^^|^^(^|^^) in the method of FIG. 1, and the received combination of symbols (lattice points) ^^|^(^|^) in the method of FIG.2. This method alleviates the need for processing bit LLRs in (8) and (9). We consider the cases where ORBGRAND is applied to each individual message or applied simultaneously to all interfering messages. FIG.3 is a flow diagram for a method of decoding a set of codewords from a plurality of correlated received symbols. Referring to FIG. 3, in the scenario where ORBGRAND is applied to individual messages, each message has its own rank ordered list of noise effects that is generated from its own list of likelihoods, ^^|^^ (^|^^ ). This means that ORBGRAND must run ^ total times, and bit sequences that belong to the codebook are found independently for each message. Thus, FIG.3 shows a method of decoding a set of codewords from a channel. It is contemplated that this method will be implemented in high-speed electronic hardware that is otherwise known in the art (e.g. application-specific integrated circuits, field programmable gate arrays, system-on-chip, etc.) but programmed in accordance with embodiments. This method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. Data may be received using any conventional means, e.g. using a radio antenna or a wired data networking connection. The method also includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects. This determining process may be performed using techniques known in the art of data communications, including ORBGRAND as described in the aforementioned U.S. Patent 11,652,498. The method then includes repeating, for each message (rather than just once for the entire received output block), a sequence of steps until termination. A first such step is, when the message putative input symbol is a valid codeword, outputting the putative symbol as the codeword for the message, then terminating. Thus, if no noise affected passage of the message’s symbol as it moved through the channel, the decoder detects this condition and terminates the decoding process quickly. A second such step is, when the message putative input symbol is invalid, determining whether guessing to correct the symbol should continue. It is desirable to expend some measure of effort to correct a symbol in error, but the number of possible corrections grows exponentially in the number of bits in the symbol, so it is wise to terminate guessing after that measure of effort has been spent. Thus, in this second step, an embodiment determines whether to continue expending effort, based on any appropriate heuristic (such as a fixed number of attempts having already been made, or a number of bits that must be simultaneously corrected exceeding a pre-determined threshold). A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. The error condition may indicate, for example, that the particular message in question could not be properly decoded. In such situations, it may be possible to decode the other messages in the received output block, and thereby infer the content of the message that was not decoded. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the message, and forming the message putative input symbol as the received symbol minus the guessed noise effect block. In this situation, noise has corrupted the symbol, and it becomes necessary to correct the received symbol into a codeword. Symbols may comprise many bits, and it is usually not known a priori which bits were affected. Rather, each bit is associated with soft information that quantifies a confidence (e.g. between 0% and 100%) that the bit was correctly received (i.e. did not experience error during transmission). This fourth step may apply the techniques of ORBGRAND to order the guesses of which bit(s) got corrupted by noise from least to greatest confidence in the original decoding of those bits. Advantageously, because the repeating steps of this method apply to each message in the same way, one may use data parallelization to process many such messages simultaneously (e.g. in parallel hardware), thereby decreasing the time required to decode all of the messages. Referring to FIG. 4, in the scenario where ORBGRAND is applied simultaneously to all messages, the list of likelihoods is generated from the union of all likelihoods from all messages, and a rank-ordered list of noise effects is generated from the union of all likelihoods. ORBGRAND will then run once until codewords that satisfy all their corresponding codebooks simultaneously are found. The resultant method is a hybrid symbol-level approach for decoding. Thus, FIG.4 shows a hybrid method of decoding a set of codewords from a channel. The method first includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. The method next includes determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects. These processes are entirely analogous to those described above in connection with FIG.3. However, unlike the method of FIG.3, the method of FIG.4 then includes concatenating all messages’ putative input symbols to form a putative joint input symbol, and concatenating all messages’ information relating to noise effects to form joint noise information. That is, while the individual message symbols and soft information were discovered using per-message techniques, the method now transitions to using techniques that operate jointly on all messages at once, and this concatenating process forms the bridge between the two sets of techniques. The method of FIG.4 proceeds by repeating until termination a sequence of steps that each apply to the concatenated data. A first such step is, when the putative joint input symbol is a valid concatenation of codewords, outputting the putative joint input symbol as the received codewords, then terminating. Thus, if no noise affected passage of any message symbol in the entire received output block as it moved through the channel, the decoder detects this condition and terminates the decoding process quickly. A second such step is, when the message putative joint input symbol is invalid, determining whether guessing should continue. This second step is analogous to the second step described in connection with FIG.3, except that the appropriate determining heuristic is a function of the entire, concatenated input symbol rather than being applied to individual, per-message symbols. A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. The error condition may indicate, for example, that the entire received output block could not be properly decoded. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbol, and forming the putative joint input symbol as the received symbol minus the guessed noise effect block. Like the method of FIG.3 described above, this fourth repeating step of FIG.4 guesses a noise effect to subtract from the received data, and thereby hopefully obtain a complete sequence of codewords. However, the fourth step of FIG. 4 guesses a noise effect on the entire received output block at once, rather than guessing a noise effect on individual messages. Referring to FIG. 5, using the method of FIG. 2, we aggregate all the symbols from multiple messages into one lattice, and apply a single-message ORBGRAND. The rank- ordered list of sequences is generated from the single likelihood list for the aggregate constellation, ^^|^(^|^). ORBGRAND will then run until all codewords in a block of bits are hit, satisfying their respective codebooks. Thus, FIG.5 shows a fully-joint method of decoding a set of codewords from a channel. The method includes receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols. This process is analogous to the first process of FIGS.3 and 4. However, the method also includes determining, using a lattice associated with the plurality of messages and a maximum likelihood (ML) detector, putative joint input symbols and information relating to noise effects. That is, rather than using several lattices or constellations, each associated with a single message or symbol, in the method of FIG. 5 a joint, cartesian product lattice is associated with all of the received messages simultaneously. The method requires repeating various steps until termination, as above. These steps operate on the entire received output block as if it were a single message, rather than a sequence of messages (whether individual messages as in FIG.3, or with their respective symbols and soft information combined as in FIG.4). Thus, a first such step is, when the putative joint input symbols are a valid concatenation of codewords, outputting the putative joint input symbols as the received codewords, then terminating. A second such step is, when the message putative joint input symbols are invalid, determining whether guessing should continue. A third such step is, when guessing should not continue, outputting data indicating an error condition, then terminating. And a fourth such step is, when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbols, and forming the putative joint input symbols as the received symbols minus the guessed noise effect block. The method then repeats these various steps, which are entirely analogous to the repeated steps described above, but altered to apply to a single-message ORBGRAND. The table below illustrates the dimensions of the likelihood lists given a concatenation of ^ symbols per block from each message/signal source. Method Likelihood List Length
Figure imgf000019_0002
Although the joint symbol-level method has a simpler detector (likelihood function) than the non-joint symbol-level method, the likelihood list that is generated for the joint approach is much longer. In addition, the joint method must satisfy all codebooks simultaneously, where the expected number of queries is less than or equal to 2∑^ ^^^ (^^^^^) ,
Figure imgf000019_0001
with ^^ and ^^ being the total number of transmitted and information bits for message ^, respectively. However, the non-joint method has an expected number of queries less than or equal to ∑^ ^^^ 2^^^^^ (a much lower bound).
Figure imgf000020_0001
ILLUSTRATIVE EMBODIMENTS Referring to FIG. 6, in a multiple access channel (MAC), multiple users transmit simultaneously to a single receiver, as in the case of uplink communications between multiple users and a base station (BS). By analogy with the detailed description above, each message is generated by a user. Hence, we assume a total of ^ users, where each user ^ ∈ [1,2, … ,^] can select one possible symbol to transmit from a total of ^^ possible symbols; ^^,^^, … ,^^ are not necessarily equal. The transmitted symbol from the ^th user is denoted as ^^. It is assumed that the receiver knows the possible ^^ symbols that may be transmitted (but it does not know exactly which ^^ was ; it also knows
Figure imgf000020_0002
the channel fading coefficient ℎ^ for all users. The problem reduces to a multi-user detection (MUD) problem, where the receiver (in this case, the base station) attempts to detect which ^^ symbols were transmitted from each user ^ (the receiver’s decision will be ^^). The elements of uncertainty arise due to the unknown noise ^ and the interference from all the users’ messages. By further assuming noisy fading channels, each transmitted user message experiences a different fading channel coefficient, ℎ^. In the particular case when the system experiences an additive white Gaussian noise (AWGN), ^, the likelihood functions for soft information in multiple embodiments can be expressed in terms of Euclidean distance computations. Further, in a max-log-MAP approximation, the LLRs can be computed as a difference of Euclidean distance metrics. In this context, the first method of FIG.1 can be renamed as conventional joint MUD that minimizes the probability of a decision error for a single user. Likewise, the second method of FIG.2 can be renamed as joint MUD. Instead of minimizing the probability of a decision error for a single user, the joint MUD method minimizes the probability of a decision error for all users. In essence, we collapse the problem to a single-user scenario and consider an aggregate set of constellation points ^. The effective multi-user lattice point that is transmitted is denoted as ^ = ∑^ ^^^^^^ , which allows treating the multi-user problem as a single-user ^ = ^ + ^.
Figure imgf000021_0001
We propose the usage of ORBGRAND in the multi-user use case following one of the four approaches described above: Conventional (bit-level), symbol-level, hybrid symbol-level, and joint symbol-level. For the first method of detection in FIG.1, we consider the cases where ORBGRAND is applied to each individual user or applied simultaneously to all users. In the scenario where ORBGRAND is applied to each individual user, users have their own rank ordered list of noise effects that are generated from their own list of likelihoods. In the scenario where ORBGRAND is applied simultaneously to all users, the list of likelihoods and the rank ordered list of noise effects are generated from the union of all likelihoods from all users. ORBGRAND then runs once, until codewords that satisfy all the corresponding codebooks simultaneously are found. For the second method of detection in FIG.2, we apply single user ORBGRAND. The rank-ordered list of noise effects is generated from a single likelihood list for the aggregate lattice. ORBGRAND then runs until all codewords that satisfy their respective codebooks are found. Referring to FIG. 7, in a power-multiplexed system, a single user can transmit multiple messages to a single receiver, over the same time, frequency, and space resources, by differentiating messages in the power domain. By analogy with the detailed description above, each message is a symbol with different power. Hence, we assume a total of U power-multiplexed symbols, each selected from a total of ^^ possible symbols; ^^,^^, … ,^^ are not necessarily equal. The transmitted symbol with the ^th power level as ^^. It is assumed that the receiver knows the common channel fading coefficient (ℎ^ = ℎ, for all ^) for the ^^ symbols that may be transmitted (but it does not know exactly which ^^ was transmitted). The problem reduces to a power-multiplexed detection problem, where the receiver attempts to detect which ^^ symbols were transmitted for each message ^. The proposed methods apply to this problem formulation. Referring to FIG. 8, in a power-domain non-orthogonal multiple-access (NOMA) system, a single user can transmit multiple messages to multiple receivers, over the same time, frequency, and space resources, by differentiating messages in the power domain. By analogy with the detailed description, each message is a symbol with different power level. Hence, we assume a total of ^ power-multiplexed messages, where each message ^ ∈ [1,2, … ,^] can select one possible symbol to transmit from a total of ^^ possible symbols; ^^,^^, … ,^^ are not necessarily equal. The transmitted symbol with the ^th power is denoted as ^ . It is assumed that all receivers
Figure imgf000022_0001
^ know the
Figure imgf000022_0002
^, of interfering receivers, and the ^^ symbols that may be transmitted. The problem reduces to a downlink NOMA detection problem, where the receiver attempts to detect which ^^ symbols were transmitted in each message ^. The proposed methods apply to this problem formulation. Referring to FIG. 9, in a multi-user uplink system model (similar to that of FIG. 6), each user (and the base station BS) can have multiple antennas with symbols being spatially multiplexed. By analogy with the detailed description, each message is a multi- dimensional symbol vector from a multi-antenna user. Hence, we assume a total of ^ users, where each user ^ ∈ [1,2, … ,^] can select ^^ symbols to transmit from ^^ antennas, for a total of ^^ possible symbols per antenna; ^^,^^, … ,^^ are not necessarily equal. The transmitted symbol vector from the ^th
Figure imgf000022_0003
is denoted as ^^. It is assumed that the receiver knows the possible ^^ symbols that may be transmitted (but it does not know exactly which ^^ was transmitted); it assumes knowledge of the channel fading coefficient matrices, ^^, for all users. The problem reduces to an uplink multi-user multiple-input multiple-output (MIMO) detection problem, where the receiver (in this case, the base station) attempts to detect which ^^ symbol vectors were transmitted from each user ^ (the receiver’s decision will be ^^). For an AWGN noise, scalar distance computations can be replaced by multivariate Euclidean distance computations. The proposed methods apply to this problem formulation. Referring to FIG. 10, in a downlink multi-user MIMO system model, the BS and each user can have multiple antennas. The BS can send messages to multiple users, each from a different set of antennas, with shared time and frequency resources. The BS can also send messages to multiple users using the same set of antennas by multiplexing in the power domain. By analogy with the detailed description, each message is multi-symbol. For a total of ^ users, for each user ^ ∈ [1,2, … ,^], the BS can allocate ^^ transmit antenna and power combinations, with a total of ^^ possible symbols per user message; ^^,^^, … ,^^ are not necessarily equal. The transmitted symbol vector to the ^th user is denoted as ^^. It is assumed that the receiver knows the possible ^^ symbols that may be transmitted and all other possibilities of interfering symbols in the aggregate transmitted vector from the BS, ^ (but it does not know exactly which ^^ was transmitted). The channel fading coefficient matrices, ^^ , are also assumed to be known by all receivers. The problem reduces to downlink multi-user MIMO detection, where each receiver attempts to detect the full ^ to recover its useful subset ^^ (the receiver’s decision will be ^^). The proposed methods apply to this problem formulation. The downlink multi-user detection problem can be extended to the case when a receiving user ^ does not know the modulation types of the ^ − 1 adjacent receiving users. In such scenario, the user of interest ^ can assume a guessed knowledge of possible interfering messages. Alternatively, the lattice of possible transmitted symbols can be extended to account for all possible interfering symbols, drawn from all possible constellation formats. The complexity of the latter approach (the size of the aggregate lattice) can be very high. The proposed methods can still apply to such generalized problem formulation. The downlink multi-user detection problem can further be extended to the case when a receiving user ^ does not perfectly know the channel coefficients of the ^ − 1 adjacent receiving users. FIG.11 illustrates that the joint method outperforms the symbol-level and hybrid methods by ∼ 3 dB gain at high signal-to-noise ratio (SNR). This is due to the requirement of having to satisfy the codebooks of all users simultaneously, while also having the estimator create an estimate for the combination of all user symbols. This performance improvement is thus due to the combination of estimating users jointly and using joint ORBGRAND on all users simultaneously. The hybrid method results in less gains because the likelihoods are generated individually. It is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. In the foregoing detailed description, various features of embodiments are grouped together in one or more individual embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claims require more features than are expressly recited therein. Rather, inventive aspects may lie in less than all features of each disclosed embodiment. Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter. In illustrative implementations of the concepts described herein, one or more computers (e.g., integrated circuits, microcontrollers, controllers, microprocessors, processors, field-programmable-gate arrays, personal computers, onboard computers, remote computers, servers, network hosts, or client computers) may be programmed and specially adapted: (1) to perform any computation, calculation, program or algorithm described or implied above; (2) to receive signals indicative of human input; (3) to output signals for controlling transducers for outputting information in human perceivable format; (4) to process data, to perform computations, to execute any algorithm or software, and (5) to control the read or write of data to and from memory devices. The one or more computers may be connected to each other or to other components in the system either: (a) wirelessly, (b) by wired or fiber optic connection, or (c) by any combination of wired, fiber optic or wireless connections. In illustrative implementations of the concepts described herein, one or more computers may be programmed to perform any and all computations, calculations, programs and algorithms described or implied above, and any and all functions described in the immediately preceding paragraph. Likewise, in illustrative implementations of the concepts described herein, one or more non-transitory, machine-accessible media may have instructions encoded thereon for one or more computers to perform any and all computations, calculations, programs and algorithms described or implied above, and any and all functions described in the immediately preceding paragraph. For example, in some cases: (a) a machine-accessible medium may have instructions encoded thereon that specify steps in a software program; and (b) the computer may access the instructions encoded on the machine-accessible medium, in order to determine steps to execute in the software program. In illustrative implementations, the machine-accessible medium may comprise a tangible non-transitory medium. In some cases, the machine-accessible medium may comprise (a) a memory unit or (b) an auxiliary memory storage device. For example, in some cases, while a program is executing, a control unit in a computer may fetch the next coded instruction from memory. In some cases, one or more computers are programmed for communication over a network. For example, in some cases, one or more computers are programmed for network communication: (a) in accordance with the Internet Protocol Suite, or (b) in accordance with any other industry standard for communication, including any USB standard, ethernet standard (e.g., IEEE 802.3), token ring standard (e.g., IEEE 802.5), or wireless communication standard, including IEEE 802.11 (Wi-Fi®), IEEE 802.15 (Bluetooth®/Zigbee®), IEEE 802.16, IEEE 802.20, GSM (global system for mobile communications), UMTS (universal mobile telecommunication system), CDMA (code division multiple access, including IS-95, IS-2000, and WCDMA), LTE (long term evolution), or 5G (e.g., ITU IMT-2020). Features of embodiments may take various forms of communication devices, both wired and wireless; television sets; set top boxes; audio/video devices; laptop, palmtop, desktop, and tablet computers with or without wireless capability; personal digital assistants (PDAs); telephones; pagers; satellite communicators; cameras having communication capability; network interface cards (NICs) and other network interface structures; base stations; access points; integrated circuits; as instructions and/or data structures stored on machine readable media; and/or in other formats. Examples of different types of machine readable media that may be used include floppy diskettes, hard disks, optical disks, compact disc read only memories (CD-ROMs), digital video disks (DVDs), Blu-ray disks, magneto-optical disks, read only memories (ROMs), random access memories (RAMs), erasable programmable ROMs (EPROMs), electrically erasable programmable ROMs (EEPROMs), magnetic or optical cards, flash memory, and/or other types of media suitable for storing electronic instructions or data. As used herein, "including" means including without limitation. As used herein, the terms "a" and "an", when modifying a noun, do not imply that only one of the noun exists. As used herein, unless the context clearly indicates otherwise, "or" means and/or. For example, A or B is true if A is true, or B is true, or both A and B are true. As used herein, "for example", "for instance", "e.g.", and "such as" refer to non-limiting examples that are not exclusive examples. The word “consists” (and variants thereof) are to be given the same meaning as the word “comprises” or “includes” (or variants thereof). Various embodiments of the concepts, systems, devices, structures and techniques sought to be protected are described herein with reference to the related drawings. Alternative embodiments can be devised without departing from the scope of the concepts, systems, devices, structures and techniques described herein. Additionally, the term "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms "one or more" and "one or more" are understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms "a plurality" are understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term "connection" can include an indirect "connection" and a direct "connection." References in the specification to "one embodiment, "an embodiment," "an example embodiment," etc., indicate that the embodiment described can include a particular feature, structure, or characteristic, but every embodiment can include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. Use of ordinal terms such as “first,” “second,” “third,” etc., in the specification to modify an element does not by itself connote any priority, precedence, or order of one element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the elements.

Claims

CLAIMS What is claimed is: 1. A method of decoding a set of codewords from a channel, the method comprising: receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols; determining, using a lattice associated with the plurality of messages and a maximum likelihood (ML) detector, putative joint input symbols and information relating to noise effects; and repeating until termination: when the putative joint input symbols are a valid concatenation of codewords, outputting the putative joint input symbols as the received codewords, then terminating; when the message putative joint input symbols are invalid, determining whether guessing should continue; when guessing should not continue, outputting data indicating an error condition, then terminating; and when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbols, and forming the putative joint input symbols as the received symbols minus the guessed noise effect block.
2. The method according to claim 1, wherein determining the putative joint input symbols comprises determining using a lattice comprising a cartesian product of lattices, wherein each of the putative joint input symbols corresponds to a point in a respective lattice in the cartesian product of lattices.
3. The method according to claim 2, wherein determining the putative joint input symbols comprises minimizing a joint probability of detecting an error in the plurality of messages using a maximum likelihood detector.
4. The method according to claim 1, wherein the information relating to noise effects comprises log-likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
5. The method according to claim 1, wherein guessing a most likely channel noise effect block comprises guessing according to a rank ordered list of the information relating to noise effects.
6. The method according to claim 1, wherein the channel comprises a multiple access channel (MAC), or a power-multiplexed system, or a power-domain non-orthogonal multiple-access (NOMA) system, or an uplink multi-user multiple-input multiple-output (MIMO) system, or a downlink MIMO system.
7. A method of decoding a set of codewords from a channel, the method comprising: receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols; determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects; and repeating until termination for each message: when the message putative input symbol is a valid codeword, outputting the putative symbol as the codeword for the message, then terminating; when the message putative input symbol is invalid, determining whether guessing should continue; when guessing should not continue, outputting data indicating an error condition, then terminating; and when guessing should continue, guessing a most likely channel noise effect block for the message, and forming the message putative input symbol as the received symbol minus the guessed noise effect block.
8. The method according to claim 7, wherein determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector.
9. The method according to claim 7, wherein the information relating to noise effects comprises log-likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
10. The method according to claim 7, wherein guessing a most likely channel noise effect block for the message comprises guessing according to a rank ordered list of the information relating to noise effects for that message.
11. The method according to claim 7, wherein a first one of the plurality of messages comprises a symbol selected from a set of symbols having a first cardinality, and a second one of the plurality of messages comprises a symbol selected from a set of symbols having a second cardinality that is different than the first cardinality.
12. The method according to claim 7, wherein the channel comprises a multiple access channel (MAC), or a power-multiplexed system, or a power-domain non-orthogonal multiple-access (NOMA) system, or an uplink multi-user multiple-input multiple-output (MIMO) system, or a downlink MIMO system.
13. A method of decoding a set of codewords from a channel, the method comprising: receiving from the channel, as a putative input, an output block comprising a plurality of messages having correlated symbols; determining, for each message in the plurality of messages using a lattice associated with that message and a maximum likelihood (ML) detector, a putative input symbol and information relating to noise effects; concatenating all messages’ putative input symbols to form a putative joint input symbol, and concatenating all messages’ information relating to noise effects to form joint noise information; and repeating until termination: when the putative joint input symbol is a valid concatenation of codewords, outputting the putative joint input symbol as the received codewords, then terminating; when the message putative joint input symbol is invalid, determining whether guessing should continue; when guessing should not continue, outputting data indicating an error condition, then terminating; and when guessing should continue, guessing a most likely channel noise effect block for the putative joint input symbol, and forming the putative joint input symbol as the received symbol minus the guessed noise effect block.
14. The method according to claim 13, wherein determining the putative joint input symbol for each given message comprises minimizing a probability of detecting an error in the given message using a maximum likelihood detector.
15. The method according to claim 13, wherein the information relating to noise effects comprises log-likelihood ratios that each measures a confidence of a decision that a particular bit is correct.
16. The method according to claim 13, wherein guessing a most likely channel noise effect block for the putative joint input symbol comprises guessing according to a rank ordered list of the joint noise information.
17. The method according to claim 13, wherein the channel comprises a multiple access channel (MAC), or a power-multiplexed system, or a power-domain non- orthogonal multiple-access (NOMA) system, or an uplink multi-user multiple-input multiple-output (MIMO) system, or a downlink MIMO system.
18. A machine-accessible medium having instructions encoded thereon that specify steps in a software program, wherein execution of the software program by a computer causes performance of the method of any previous claim.
PCT/US2023/072800 2022-10-27 2023-08-24 Decoding correlated received multi-symbol data by guessing noise effect WO2024091727A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202263419833P 2022-10-27 2022-10-27
US63/419,833 2022-10-27

Publications (1)

Publication Number Publication Date
WO2024091727A1 true WO2024091727A1 (en) 2024-05-02

Family

ID=88146583

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/072800 WO2024091727A1 (en) 2022-10-27 2023-08-24 Decoding correlated received multi-symbol data by guessing noise effect

Country Status (1)

Country Link
WO (1) WO2024091727A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204260A1 (en) * 2004-02-27 2005-09-15 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
WO2021115670A1 (en) * 2019-12-11 2021-06-17 Maynooth University Iterative bit flip decoding based on symbol reliabilities

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204260A1 (en) * 2004-02-27 2005-09-15 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
WO2021115670A1 (en) * 2019-12-11 2021-06-17 Maynooth University Iterative bit flip decoding based on symbol reliabilities
US11652498B2 (en) 2019-12-11 2023-05-16 National University Of Ireland, Maynooth Iterative bit flip decoding based on symbol reliabilities

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GALLIGAN KEVIN ET AL: "IGRAND: decode any product code", 2021 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM), IEEE, 7 December 2021 (2021-12-07), pages 1 - 6, XP034074516, DOI: 10.1109/GLOBECOM46510.2021.9685645 *
HADI SARIEDDEEN ET AL: "Soft-input, soft-output joint detection and GRAND", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 22 July 2022 (2022-07-22), XP091277599 *
KEVIN GALLIGAN ET AL: "Block turbo decoding with ORBGRAND", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 9 August 2022 (2022-08-09), XP091290523 *

Similar Documents

Publication Publication Date Title
US11901976B2 (en) Mitigation of transmission errors of quantized channel state information feedback in multi antenna systems
US7106813B1 (en) Method and apparatus for combined soft-decision based interference cancellation and decoding
US10348336B2 (en) System and method for early termination of decoding in a multi user equipment environment
US7555071B2 (en) Method and apparatus for non-linear scaling of log likelihood ratio (LLR) values in a decoder
US7817740B2 (en) Method and system for minimum mean squared error soft interference cancellation (MMSE-SIC) based suboptimal maximum likelihood (ML) detection for multiple input multiple output (MIMO) wireless system
US9191044B1 (en) Methods and apparatus for multiple input multiple output (MIMO) successive interference cancellation (SIC)
EP1394978B1 (en) A maximum likelihood a posteriori probability detector
US7907688B2 (en) Open loop MIMO receiver and method using hard decision feedback
JP3260697B2 (en) Syndrome-based channel quality or message structure determiner
US9490938B1 (en) Systems and methods for performing iterative interference cancellation
US7457377B2 (en) Device for estimating a sequence of N bits corresponding to a received sequence of M digital data and associated methods
CN114629534A (en) MIMO detection method and device based on tree search, chip and storage medium
JP6180333B2 (en) Method for decoding a signal in a radio frequency receiver
US9160578B2 (en) Turbo equalisation
US8665970B2 (en) Method and arrangement related to blind detection
WO2024091727A1 (en) Decoding correlated received multi-symbol data by guessing noise effect
CN116015535A (en) Communication apparatus performing detection operation and demodulation operation on codeword and operation method thereof
US8081577B2 (en) Method of calculating soft value and method of detecting transmission signal
Chen et al. A Low-Complexity High-Rate Spatial Multiplexing Aided Generalized Spatial Modulation Scheme
US20240187044A1 (en) Mitigation of transmission errors of quantized channel state information feedback in multi antenna systems
US8407568B2 (en) Method and system for a soft-output Nordstrom-Robinson decoder
Vorontsov Reliability Improvement through Making the Most Use of Data Diverse Reception Capabilities
CN117997472A (en) Decoder device and method of operating a decoder device