Abstract:
A flexible and relatively hardware efficient LDPC decoder is described. The decoder can be implemented with a level of parallelism which is less than the full parallelism of the code structure used to control the decoding process. Each command of a relatively simple control code used to describe the code structure can be stored and executed multiple times to complete the decoding of a codeword. Different codeword lengths are supported using the same set of control code instructions but with the code being implemented a different number of times depending on the codeword length. The decoder can switch between decoding codewords of different lengths, without the need to change the stored code description information, by simply changing a code lifting factor that is indicative of codeword length and is used to control the decoding process. When decoding codewords shorter than the maximum supported codeword length some block storage locations may go unused.
Abstract:
A flexible and relatively hardware efficient LDPC encoder is described. The encoder can be implemented with a level of parallelism which is less than the full parallelism of the code structure used to control the encoding process. Each command of a relatively simple microcode used to describe the code structure can be stored and executed multiple times to complete the encoding of a codeword. Different codeword lengths can be supported using the same set of microcode instructions but with the code being implemented a different number of times depending on the lifting factor selected to be used. The LDPC encoder can switch between encoding codewords of different lengths, without the need to change the stored code description information, by simply changing a code lifting factor used to control the encoding processes. When coding codewords shorter than the maximum supported codeword length some block storage locations and/or registers may go unused.
Abstract:
Downlink traffic channel data rate options and methods of indicating to a wireless terminal a utilized downlink data rate option are described. The downlink traffic channel rate option for a segment is conveyed using an assignment signal and/or a block in the downlink traffic channel segment which is not used for user data. Downlink segment assignment signals in some implementations allocate fewer bits for rate option indication than are required to uniquely identify each option. In some implementations low rate options, e.g., using QPSK, are uniquely identified via assignment signals. Higher rate options, e.g., using QAM16 modulation, are conveyed via the distinct information block in the downlink traffic segment using a first coding/modulation method. Still higher rate options, e.g., using QAM16, QAM64, or QAM256, are conveyed via the information block in the segment using a second coding/modulation method which is applied to the rate option information.
Abstract:
A wireless terminal receives an uplink traffic channel segment assignment including a maximum uplink rate option indicator. Each uplink rate option corresponds to a number of information bits, coding rate and modulation method. The maximum rate option indicator indicates the highest rate option that the wireless terminal is permitted to use when transmitting in the assigned traffic channel segment from the perspective of the base station. In some embodiments, the wireless terminal uses interference measurements to further quality, e.g., conditionally reduce, the maximum uplink rate option that may be used. Then, the wireless terminal selects an uplink rate option to use which is less than the determined allowed maximum uplink rate option, e.g., based on the amount of user data to communicate. The wireless terminal transmits data in the assigned uplink traffic channel segment in accordance with the wireless terminal selected uplink rate.
Abstract:
A method, apparatus, and machine readable medium for processing a plurality of Z-vectors. Each Z-vector includes Z elements, and each element includes K bits. The Z-vectors correspond to a binary codeword, portions of which have a relationship to a plurality of transmission units. The Z-vectors are stored in a set of D memory arrays. Each memory array includes Z rows of memory locations. Each memory location corresponds to a different array column, and each array column corresponds to a different Z-vector. Each Z-vector identifies one column. A series of sets of control information is generated. Each set includes a transmission unit identifier, a Z-vector identifier, and a row identifier. For at least one set, P times K divided by D bits is read from each column identified by the Z-vector that is identified by the Z-vector identifier included in the set.
Abstract:
A stream of modulation symbols from a zero symbol rate (ZSR) coding/modulation module and a stream of modulation symbols from another type of coding/modulation module are input into an interweaver module. The interweaver module mixes the two input streams when assigning modulation symbols to be communicated in a segment. If a ZSR modulation symbol is non-zero, the ZSR modulation symbol is allocated a transmission position. If the ZSR modulation symbol is a zero modulation symbol, the modulation symbol from the other coding/modulation module is allocated the transmission position. The non-zero modulation symbols from the ZSR module are higher in power than the non-zero modulation symbols from the other module, thus facilitating detection and recovery.
Abstract:
A flexible and relatively hardware efficient LDPC decoder is described. The decoder can be implemented with a level of parallelism which is less than the full parallelism of the code structure used to control the decoding process. Each command of a relatively simple control code used to describe the code structure can be stored and executed multiple times to complete the decoding of a codeword. Different codeword lengths are supported using the same set of control code instructions but with the code being implemented a different number of times depending on the codeword length. The decoder can switch between decoding codewords of different lengths, without the need to change the stored code description information, by simply changing a code lifting factor that is indicative of codeword length and is used to control the decoding process. When decoding codewords shorter than the maximum supported codeword length some block storage locations may go unused.
Abstract:
A flexible and relatively hardware efficient LDPC encoder is described. The encoder can be implemented with a level of parallelism which is less than the full parallelism of the code structure used to control the encoding process. Each command of a relatively simple microcode used to describe the code structure can be stored and executed multiple times to complete the encoding of a codeword. Different codeword lengths can be supported using the same set of microcode instructions but with the code being implemented a different number of times depending on the lifting factor selected to be used. The LDPC encoder can switch between encoding codewords of different lengths, without the need to change the stored code description information, by simply changing a code lifting factor used to control the encoding processes. When coding codewords shorter than the maximum supported codeword length some block storage locations and/or registers may go unused.
Abstract:
Methods and apparatus for scaling soft values as part of an error correction decoding process are described. Accurate decoding depends on use of the appropriate scale factor. Selection and use of the scale factor to scale soft values is designed to improve and/or optimize decoder performance without the need for prior knowledge of the correct scale factor or the actual channel conditions at the time the signal from which the soft values were obtained was transmitted through a communications channel. The techniques of the present invention assume that the soft values to be processed were transmitted through a communications channel having a quality that can be accurately described by a channel quality value. A scale factor is determined from the distribution of soft values to be scaled and an assumption that the channel through which they were transmitted was of the quality corresponding to a preselected channel quality value.
Abstract:
A device includes a zero symbol rate (ZSR) coding/modulation module and a second type coding/modulation module. Both modules generate modulation symbols to be conveyed using the same air link resources but with the non-zero ZSR symbols having a higher power level. The ZSR module generates a mixture of zero and non-zero modulation symbols. A ZSR modulation scheme communicates information using both the position of the non-zero modulation symbols and the phase and/or amplitude of the non-zero modulation symbols. Different ZSR schemes, implementing different ratios relating the number of zero symbols to the total number of symbols, can be associated with different low data rates while second module modulation schemes can be associated with different high data rates. Modulation symbols from two modules are in some embodiments, superimposed. In some embodiments, non-zero ZSR modulation symbols punch out second module modulation symbols which occupy the same air link resource.