Parallel concatenated tail-biting convolutional code and decoder therefor
First Claim
Patent Images
1. A method for parallel concatenated convolutional encoding, comprising the steps of:
- providing a block of data bits to a parallel concatenated encoder comprising a plurality of N component encoders and N-1 interleavers connected in a parallel concatenation;
encoding the block of data bits in a first one of the component encoders by applying a tail-biting nonrecursive systematic convolutional code thereto and thereby generating a corresponding first component codeword comprising the data bits and parity bits;
interleaving the block of data bits to provide a permuted block of data bits;
encoding the resulting permuted block of data bits in a subsequent component encoder by applying a tail-biting nonrecursive systematic convolutional code thereto, and thereby generating a corresponding second component codeword comprising the data bits and parity bits;
repeating the steps of interleaving and encoding the resulting permuted block of data bits through the remaining N-2 interleavers and the remaining N-2 component encoders, and thereby generating component codewords comprising the data bits and parity bits; and
formatting the bits of the component codewords to provide a composite codeword.
3 Assignments
0 Petitions
Accused Products
Abstract
A parallel concatenated convolutional coding scheme utilizes tail-biting nonrecursive systematic convolutional codes. The associated decoder iteratively utilizes circular maximum a posteriori decoding to produce hard and soft decision outputs. This encoding/decoding system results in improved error-correction performance for short messages.
-
Citations
36 Claims
-
1. A method for parallel concatenated convolutional encoding, comprising the steps of:
-
providing a block of data bits to a parallel concatenated encoder comprising a plurality of N component encoders and N-1 interleavers connected in a parallel concatenation; encoding the block of data bits in a first one of the component encoders by applying a tail-biting nonrecursive systematic convolutional code thereto and thereby generating a corresponding first component codeword comprising the data bits and parity bits; interleaving the block of data bits to provide a permuted block of data bits; encoding the resulting permuted block of data bits in a subsequent component encoder by applying a tail-biting nonrecursive systematic convolutional code thereto, and thereby generating a corresponding second component codeword comprising the data bits and parity bits; repeating the steps of interleaving and encoding the resulting permuted block of data bits through the remaining N-2 interleavers and the remaining N-2 component encoders, and thereby generating component codewords comprising the data bits and parity bits; and formatting the bits of the component codewords to provide a composite codeword. - View Dependent Claims (2, 3)
-
-
4. A method for decoding parallel concatenated convolutional codes, comprising the steps of:
-
receiving from a channel a composite codeword that comprises a formatted collection of bits from a plurality (N) of component codewords that have been generated by applying tail-biting nonrecursive systematic convolutional codes to a block of data bits in a parallel concatenated encoder, forming received component codewords from the received composite codeword, each respective received component codeword being received by a corresponding one of a plurality of N component decoders of a composite decoder, each respective component decoder also receiving a set of a priori soft-decision information for vales of the data bits; decoding the received component codewords by a process of iterations through the N component decoders and N-1 interleavers to provide soft-decision outputs from the composite decoder, the N component decoders each providing soft-decision information on each data bit in the data block in the order encoded by the corresponding component encoder, the N-1 interleavers each interleaving the soft-decision information from a preceding component decoder to provide a permuted block of soft information to a subsequent component decoder, the set of a priori soft-decision information for the first of the N component decoders being calculated assuming that the data bits'"'"' values are equally likely for the first iteration and thereafter comprising a first function of the soft-decision information, which first function of the soft-decision information is fed back from the Nth component decoder via a first deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the first deinterleaver being applied in reverse order to the N-1 interleavers, the set of a priori soft-decision information provided to each other component decoder comprising the first function of the soft-decision information from the previous sequential component decoder; and deinterleaving in a second deinterleaver to provide a second function of the soft-decision output from the Nth component decoder as the composite decoder'"'"'s soft-decision output using N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the second deinterleaver being applied in reverse order to the N-1 interleavers. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A method for encoding and decoding parallel concatenated convolutional codes, comprising the steps of:
-
providing a block of data bits to a parallel concatenated encoder comprising a plurality of N component encoders and N-1 interleavers connected in a parallel concatenation; encoding the block of data bits in a first one of the component encoders by applying a tail-biting nonrecursive systematic convolutional code thereto and thereby generating a corresponding first component codeword comprising the data bits and parity bits; interleaving the block of data bits to provide a permuted block of data bits; encoding the resulting permuted block of data bits in a subsequent component encoder by applying a tail-biting nonrecursive systematic convolutional code thereto and thereby generating a corresponding second component codeword comprising the data bits and parity bits; repeating the steps of interleaving and encoding the resulting permuted block of data bits through the remaining N-2 interleavers and the remaining N-2 component encoders, and thereby generating component codewords comprising the data bits and parity bits; formatting the bits of the component codewords to provide a composite codeword; inputting the composite codeword to a channel; receiving a received composite codeword from a channel; forming received component codewords from the received composite codeword providing each respective received component codeword to a corresponding one of a plurality of N component decoders of a composite decoder, each respective component decoder also receiving a set of a priori probabilities for values of the data bits; decoding the received component codewords by a process of iterations through the N component decoders and N-1 interleavers to provide soft-decision outputs from the composite decoder, the N component decoders each providing soft-decision information on each data bit in the data block in the order encoded by the corresponding component encoder, the N-1 interleavers each interleaving the soft-decision information from a preceding component decoder to provide a permuted block of soft information to a subsequent component decoder, the set of a priori soft-decision information for the first of the N component decoders being calculated assuming that the data bits'"'"' values are equally likely for the first iteration and thereafter comprising a first function of the soft-decision information, which first function of the soft-decision information is fed back from the Nth decoder via a first deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the first deinterleaver being applied in reverse order to the N-1 interleavers, the set of a priori soft-decision information provided to each other component decoder comprising the first function of the soft-decision information from the previous sequential component decoder; and deinterleaving in a second deinterleaver to provide a second function of the soft-decision output from the Nth component decoder as the composite decoder'"'"'s soft-decision output using N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the second deinterleaver being applied in reverse order to the N-1 interleavers. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A parallel concatenated encoder, comprising:
-
a plurality (N) of component encoders and a plurality (N-1) of interleavers connected in a parallel concatenation for systematically applying tail-biting nonrecursive systematic convolutional codes to a block of data bits and various permutations of the block of data bits, and thereby generating component codewords comprising the data bits and parity bits; and a composite codeword formatter for formatting the collection of bits from the component codewords to provide a composite codeword. - View Dependent Claims (21, 22)
-
-
23. A composite decoder for decoding parallel concatenated convolutional codes, comprising:
-
a composite-codeword-to-component-codeword converter for receiving a composite codeword from a channel, the composite codeword comprising selected bits of a plurality of N component codewords that have been generated by applying tail-biting nonrecursive convolutional codes to a block of data bits in a parallel concatenated encoder, and forming a plurality of N corresponding received component codewords therefrom; a plurality (N) of component decoders, each respective decoder receiving a corresponding received component codeword from the composite-codeword-to-component-codeword converter, each respective decoder also receiving a set of a priori soft-decision information for values of the data bits, the N component decoders each providing soft-decision information on each data bit in the data block in the order encoded by a corresponding component encoder in the parallel concatenated encoder; a plurality of N-1 interleavers, each respective interleaver interleaving the soft-decision information from a corresponding component decoder to provide a permuted block of soft information to a subsequent component decoder, the received codewords being decoded by a process of iterations through the N component decoders and N-1 interleavers to provide soft-decision output from the composite decoder;
,a first deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the first deinterleaver being applied in reverse order to the N-1 interleavers, the set of a priori soft-decision information for the first of the N component decoders being calculated assuming that the data bits'"'"' values are equally likely for the first iteration and thereafter comprising a first function of the soft-decision information, which first function of the soft-decision information is outputted by the Nth decoder and fed back via the first deinterleaver, the set of a priori soft-decision information provided to each other component decoder comprising the first function of the soft-decision information from the previous sequential component decoder; and a second deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the second deinterleaver being applied in reverse order to the N-1 interleavers, the second deinterleaver deinterleaving a second function of the soft-decision output from the Nth component decoder to provide the composite decoder'"'"'s soft-decision output. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. An encoder and decoder system for encoding and decoding parallel concatenated convolutional codes, comprising:
-
a parallel concatenated encoder comprising a plurality (N) of component encoders and a plurality (N-1) of encoder interleavers connected in a parallel concatenation for systematically applying tail-biting nonrecursive systematic convolutional codes to a block of data bits and various permutations of the block of data bits, and thereby generating component codewords comprising the data bits and parity bits; and a composite codeword formatter for formatting the collection of bits from the component codewords to provide a composite codeword; a composite-codeword-to-component-codeword converter for receiving the composite codeword from a channel and forming a plurality of N corresponding received component codewords therefrom; a plurality (N) of component decoders, each respective decoder receiving a corresponding received component codeword from the composite-codeword-to-component-codeword converter, each respective decoder also receiving a set of a priori soft-decision information for values of the data bits, the N component decoders each providing soft-decision information on each data bit in the data block in the order encoded by a corresponding component encoder in the parallel concatenated encoder; a plurality of N-1 interleavers, each respective interleaver interleaving the soft-decision information from a corresponding component decoder to provide a permuted block of soft information to a subsequent component decoder, the received codewords being decoded by a process of iterations through the N component decoders and N-1 interleavers to provide soft-decision output from the composite decoder; a first deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the first deinterleaver being applied in reverse order to the N-1 interleavers, the set of a priori soft-decision information for the first of the N component decoders being calculated assuming that the data bits'"'"' values are equally likely for the first iteration and thereafter comprising a first function of the soft-decision information, which first function of the soft-decision information is outputted by the Nth decoder and fed back via the first deinterleaver, the set of a priori soft-decision information provided to each other component decoder comprising the first function of the soft-decision information from the previous sequential component decoder; and a second deinterleaver comprising N-1 deinterleavers corresponding to the N-1 interleavers, the N-1 deinterleavers of the second deinterleaver being applied in reverse order to the N-1 interleavers, the second deinterleaver deinterleaving a second function of the soft-decision output from the Nth component decoder to provide the composite decoder'"'"'s soft-decision output. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36)
-
Specification