Patent classifications
H03M13/3972
SYSTEM AND METHODS FOR LOW COMPLEXITY LIST DECODING OF TURBO CODES AND CONVOLUTIONAL CODES
A method, system, and non-transitory computer-readable recording medium of decoding a signal are provided. The method includes receiving signal to be decoded, where signal includes at least one symbol; decoding signal in stages, where each at least one symbol of signal is decoded into at least one bit per stage, wherein Log-Likelihood Ratio (LLR) and a path metric are determined for each possible path for each at least one bit at each stage; determining magnitudes of the LLRs; identifying K bits of the signal with smallest corresponding LLR magnitudes; identifying, for each of the K bits, L possible paths with largest path metrics at each decoder stage for a user-definable number of decoder stages; performing forward and backward traces, for each of the L possible paths, to determine candidate codewords; performing a Cyclic Redundancy Check (CRC) on the candidate codewords; and stopping after a first candidate codeword passes the CRC.
SYSTEM AND METHODS FOR LOW COMPLEXITY LIST DECODING OF TURBO CODES AND CONVOLUTIONAL CODES
Method for decoding signal includes receiving signal, where signal includes at least one symbol; decoding signal in stages, where each at least one symbol of signal is decoded into at least one bit per stage, wherein Log-Likelihood Ratio (LLR) for each at least one bit at each stage is determined, and identified in vector L.sub.APP; performing Cyclic Redundancy Check (CRC) on L.sub.APP, and stopping if L.sub.APP passes CRC; otherwise, determining magnitudes of LLRs in L.sub.APP; identifying K LLRs in L.sub.APP with smallest magnitudes and indexing K LLRs as r={r(1), r(2), . . . , r(K)}; setting L.sub.max to maximum magnitude of LLRs in L.sub.APP or maximum possible LLR quantization value; setting v=1; generating {tilde over (L)}.sub.A(r(k))=L.sub.A(r(k))L.sub.maxv.sub.ksign[L.sub.APP(r(k))], for k=1, 2, . . . , K; decoding with {tilde over (L)}.sub.A to identify {tilde over (L)}.sub.APP, wherein {tilde over (L)}.sub.APP is LLR vector; and performing CRC on {tilde over (L)}.sub.APP, and stopping if {tilde over (L)}.sub.APP passes CRC or v=2.sup.K-1; otherwise, incrementing v and returning to generating {tilde over (L)}.sub.A(r(k)).
Concatenated and sliding-window polar coding
Methods for encoding and decoding Polar codes are provided, together with apparatuses for performing the methods. An encoding method combines first and second sequences of information bits and CRC bits and a plurality of frozen bits into an input vector. The input vector is multiplied by a generator matrix for a Polar code to produce a concatenated codeword. A decoding method receives such a codeword and produces a decoded vector by generating successive levels of a decision tree. For a first number of levels of the decision tree, paths beyond a first maximum number of most probable paths are discarded. For a second number of levels of the decision tree, paths beyond a second maximum number of most probable paths are discarded. In some cases, the decoding method may have improved performance compared to some decoding methods for non-concatenated codewords.
CONCATENATED AND SLIDING-WINDOW POLAR CODING
Methods, apparatuses, and systems for implementing error-correction in communication systems, particularly wireless communication systems, are provided. A Polar code-based encoding method combines first and second pluralities of information bits and error-correcting code bits, and a plurality of frozen bits, into an input vector. The input vector is encoded according to a Polar code to produce a first codeword, which improves the probability of successfully transmitting and receiving the codeword over a physical channel in the communication system.
System and methods for low complexity list decoding of turbo codes and convolutional codes
A method and system for decoding a signal are provided. The method includes receiving a signal, where the signal includes at least one symbol; decoding the signal in stages, where each at least one symbol is decoded into at least one bit per stage, wherein a Log-Likelihood Ratio (LLR) and a path metric are determined for each possible path for each at least one bit at each stage; determining the magnitudes of the LLRs; identifying K bits of the signal with the smallest corresponding LLR magnitudes; identifying, for each of the K bits, L possible paths with the largest path metrics at each decoder stage for a user-definable number of decoder stages; performing forward and backward traces, for each of the L possible paths, to determine candidate codewords; performing a Cyclic Redundancy Check (CRC) on the candidate codewords, and stopping after a first candidate codeword passes the CRC.
Deep Learning for Behavior-Based, Invisible Multi-Factor Authentication
Biometric behavior-based authentication may be enhanced by using convolutional deep neural networks to learn subject-specific features for each subject. The advantage is two-fold. First the need for a domain expert is eliminated, and the search space can be algorithmically explored. Second, the features that allow each subject to be differentiated from other subjects may be used. This allows the algorithm to learn the aspects of each subject that make them unique, rather than taking a set of fixed aspects and learning how those aspects are differentiated across subjects. The combined result is a far more effective authentication in terms of reduction of errors. Behavior-based, invisible multi-factor authentication (BIMFA) mays also automate the responses to authentication second and third factor requests (something you have and something you are). BIMFA leverages continuous, invisible behavioral biometrics on user devices to gain a continuous estimate of the authorization state of the user across multiple devices without requiring any explicit user interaction or input for authentication. As a result, BIMFA can demonstrate that a device is under the control of the authorized user without requiring any direct user interaction.
Sequence detector
A sequence detector is provided for detecting symbol values corresponding to a sequence of input samples obtained from a transmission channel. The sequence detector comprises a branch metric unit (BMU), a path metric unit (PMU) and a survivor memory unit. The branch metric unit calculates branch metrics for respective possible transitions between states of a trellis. The path metric unit accumulates branch metrics provided by the branch metric unit in order to establish path metrics. The survivor memory unit selects a survivor path based on the path metrics and outputs a survivor sequence of the detected symbols corresponding to the survivor path. The sequence detector is configured such that the synchronization length is different than the survivor path memory length.
Error-correcting code
An example method to decode an error-correcting code includes receiving a tuple including a seed and a coded packet over a communication channel, and based on the seed, reconstructing a set of pseudorandom coefficients used by an encoder to create the coded packet. The method also includes entering the set of pseudorandom coefficients and the coded packet in a decoding matrix and reducing the decoding matrix to a row echelon form. After reducing the decoding matrix to a row echelon form, the method further includes determining if the decoding matrix is decodable up to a number of rows, reducing the decoding matrix up to the number of rows by backward substitution so a part of the first matrix becomes an identity matrix and a corresponding part of the second matrix comprise source packets, and extracting the source packets from the padded packets.
Decoding method for convolutionally coded signal
A decoding method for a convolutionally coded signal is provided. The convolutionally coded signal includes a trellis. The decoding method includes determining a plurality of first sub-trellises from the trellis, decoding the first sub-trellises, determining a plurality of second sub-trellises from the trellis, boundaries of the second sub-trellises being different from boundaries of the first sub-trellises, and decoding the second sub-trellises.
High speed turbo decoder
A method for decoding a received code using a device that includes: an antenna for receiving a signal over a wireless channel, and instances of a Maximum-A-Posteriori (MAP) turbo decoder for decoding a segment of the received code, are disclosed. For example, the method, by forward and backward gamma engines, for each window, concurrently computes gamma branch metrics in forward and backward directions, respectively, by forward and backward state metric engines comprising respective lambda engines and coupled to the respective gamma engines, for each window, sequentially computes forward and backward state metrics, respectively, based on respective gamma branch metrics and respective initial values, by the lambda engines, determines Log Likelihood Ratios (LLRs) and soft decisions, and by a post-processor, computes extrinsic data based on the forward and backward state metrics for any subsequent iteration as at least a portion of the a-priori information and otherwise provides a decoded segment.