Method of decoding utilizing a recursive table-lookup decoding method
OwnerPeter C. Masseyinventor
Life of this patent
Estimating the term…
Abstract
A recursive table-lookup decoding method for decoding a convolutional block code by approximating the well-known MAP, LOG-MAP, APP and BCJR decoding algorithms to obtain approximations for the a-posteriori estimates and the extrinsic estimates for the block of information bits; and a method of decoding a turbo code or a parallel-concatenated convolutional code (PCCC) to obtain a block of decoded bits for the information bits. The turbo decoding method utilizes the recursive table-lookup decoding method to decode the constituent convolutional sub-codes of a turbo code or PCCC. Hardware implementations may not require a processor.
Claims17
A method of decoding for parallel-concatenated convolutional codes that consist of at least two binary convolutional constituent subcodes of finite blocklength value and share a block of information-bits with respect to corresponding interleaver-orderings, so as to produce a block of said blocklength value decoded binary bits for the information-bits that are an approximation to decoded bits obtained from an iterative maximum a posteriori decoder when initially given code-bit channel-symbol values or quantized digital data representing channel-symbol values, wherein the decoding method is a procedure comprising the steps:
- (a) quantizing received code-bit channel-symbol values into digital data,
- (b) initializing by storing of digital data corresponding to code-bits into assigned memory locations as well as storing appropriate initialized digital data values at required locations including the memory locations that are shared by constituent subcodes to represent maximum a posteriori reliability estimates which are initialized to digital data representing equally likely estimates as also are the memory locations for extrinsic estimates and punctured code-bits,
- (c) applying of a recursive table-lookup decoding method for each constituent convolutional subcode while utilizing a set of pre-stored lookup tables and memory locations for each subcode,
- (d) applying more iterations of step (c) until a total of iterations has been completed,
- (e) extracting decoded binary estimates for the information-bits from the digital data at the shared memory locations representing the maximum a posteriori estimates by utilizing a most significant bit of the digital data, wherein the recursive table-lookup decoding method is a decoding method for a binary convolutional code of said finite blocklength value so as to produce:
- memory updated with digital data representing approximations for the maximum a posteriori reliability estimates for the number, equal to blocklength value, of information-bits;
- and memory updated with digital data representing approximations for the extrinsic reliability estimates for the number, equal to blocklength value of information-bits,
- wherein the decoding method is a recursive table-lookup procedure comprising the steps:
- (a) initializing by storing of data into memory,
- (b) reading data from the memory,
- (c) reading data from a set of pre-stored lookup tables,
- (d) storing data read from lookup tables into the memory,
- (e) incrementing a memory location-address pointer,
- when initially given memory stored with digital data representing:
- the channel-symbol reliability estimates for the number, equal to blocklength value, of parity-bits;
- previous extrinsic reliability estimates for the number, equal to blocklength value, of information-bits;
- and maximum a posteriori reliability estimates for the number, equal to blocklength value, of information-bits, which is a function of the previous extrinsic estimates, a priori estimates, and the channel-symbol estimates.
A hardware implemented recursive table-lookup decoding method comprising a recursive procedure of the steps:
- (a) initializing by storing of data into memory contained in said hardware,
- (b) reading data from said memory,
- (c) reading data from a set of pre-stored lookup tables,
- (d) storing data read from lookup tables into memory,
- (e) incrementing a memory location-address pointer, for the decoding of binary convolutional codes of fixed blocklength such as to produce a block of estimates which approximate maximum a posteriori estimates for information-bits, and to produce a block of estimates which approximate extrinsic estimates for the information-bits, wherein a binary convolutional code of finite number, equal to a blocklength value, is being decoded so as to produce:
- memory updated with digital data representing approximations for the maximum a posteriori reliability estimates for the number, equal to a blocklength value, of information-bits;
- and memory updated with digital data representing approximations for the extrinsic reliability estimates for the number, equal to a blocklength value, of information-bits, when initially given memory stored with digital data representing functions of:
- channel-symbol reliability estimates for the number, equal to a blocklength value, of parity-bits and the number, equal to a blocklength value, of information-bits;
- and
- a priori reliability estimates for the number, equal to a blocklength value, of information-bits.
Dependencies are inferred from the claim text.