Method and apparatus for decoding M-PSK turbo code using new...

Pulse or digital communications – Receivers – Particular pulse demodulator or detector

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C375S329000, C375S265000, C375S341000, C714S786000, C714S791000, C714S794000, C714S796000

Reexamination Certificate

active

06807238

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to digital communications systems. More particularly, the present invention relates to a method and apparatus for decoding M-array Phase Shift Keying (M-PSK) turbo code using a new approximation technique.
BACKGROUND OF THE INVENTION
Referring first to
FIG. 1
, a typical digital communications system
10
has a signal transmission portion
11
, a communication channel
13
on a communication medium, and receiving portion
15
. The signal transmission portion
11
includes an encoder
17
, a puncturing module
19
, and a modulator
21
. Similarly, the receiving portion
15
includes a demodulator
23
, a depuncturing module
25
, and a decoder
27
. The communication channel
13
used for the transmission may be a microwave radio link, a satellite channel, a digital subscriber loop, or the like.
Digital data, (message bits) from a digital source
29
is received and encoded by the encoder
17
and is then sent to the modulator
21
thorough puncturing module
19
. The encoder
17
may be a convolutional encoder. Convolutional encoders are used to encode digital signals so as to maximize the signal to noise ratio (SNR) of the encoded signals when transmitted through a transmission channel or equivalent transmission medium. Convolutional codes include redundant-bits (or parity-check bits) to increase the SNR. This redundancy minimizes the probability of errors introduced during encoding and/or transmission through the communication channel.
A convolutional encoder is defined by the number of coded bits per symbol (CBPS) that it produces, or by its code rate. For example, a rate-1/2 convolutional encoder outputs two bits for every one input bit to generate a stream of convolutional code. It may have 2 CPBS, where it outputs a 2-bit codeword or 2-bit symbol for every input bit. Similarly, a rate-1
convolutional encoder outputs n bits per one input bit, and a rate-k
convolutional encoder processes k input bits at a time and outputs n bits for every k input bits.
Such convolutional coding techniques decrease the rate of the signals that may be transmitted over a given bandwidth due to the redundant bits added to the message bits. However, if the channel conditions are favorable, some of the coded output bits may be removed in a systematic way so as to increase the rate of the transmitted bits. This process is called “puncturing.” Prior to digital signal transmission, puncturing is typically used to remove redundancy in a codeword.
The puncturing module
19
provides punctured data to the modulator
21
. As described above, coded bits are systematically deleted or “punctured” in the puncturing module
19
. Puncturing may be performed at various rates with respect to the basic unpunctured code. For example, as shown in
FIG. 2
, a punctured code rate of 3/4 of a system with a basic rate-2/1 encoder is achieved as follows. A rate-1/2 encoder
31
outputs two coded bits, or a 2-bit codeword (C
k0
, C
k1
) for one input bit (u
k
). (
FIG. 2
shows the situation where k=0, 1, 2.) A puncturer
33
systematically deletes 2 coded bits out of every 3 pairs of coded bits (i.e., out of 6 coded bits), resulting in output of 4 coded bits from the system.
Returning to
FIG. 1
, the modulator
21
modulates the coded digital data stream onto a carrier signal (typically sinusoidal) to produce a modulated signal. In general, the modulation process making the transmission possible involves switching (keying) the amplitude, frequency, or phase of a sinusoidal carrier in some fashion in accordance with the incoming data. There are three basic signaling schemes, known as amplitude shift keying (ASK), frequency shift keying (FSK), and phase shift keying (PSK). The modulator
21
may be a M-array PSK, in which a codeword is mapped onto a corresponding signal point (massage point) in the M-array PSK signal space (i.e.; M-PSK constellation). The modulated signal includes an in-phase (I) component and a quadrature (Q) component in the signal space.
In the receiving portion
15
, the modulated signals are received and demodulated by the demodulator
23
, resulting in a stream of symbols. When the transmitted signals are punctured, they must be “de-punctured” before decoding. Thus, the stream of symbols is passed to the depuncturing module
25
. The decoder
27
decodes the de-punctured symbols by estimating the original digital data from the symbols, and output the decoded digital signals.
Various approaches have been proposed for the construction of powerful codes structured in such a way that decoding has feasible computational complexity. Turbo coding is one of such coding techniques.
FIG. 3
illustrates an encoder
40
of a turbo code in its most basic form. The turbo encoder
40
includes two constituent systematic encoders
41
and
43
joined together by means of an interleaver
45
.
An interleaver is an input-output mapping device that permutes the ordering of a sequence of symbols from a fixed alphabet in a completely deterministic manner. That is, it takes the symbols at the input and produces identical symbols at the output but in a different temporal order. The interleaver can be of many types, of which the periodic and pseudo-random are two. Turbo codes use a pseudo-random interleaver, which operates only on the systematic bits.
Typically, but not necessarily, the same code is used for both constituent encoders
41
and
43
. The constituent codes recommended for turbo codes are short constraint-length recursive systematic convolutional (RSC) codes. The reason for making the convolutional codes recursive (i.e., feeding one or more of the tap outputs in the sift register back to the input) is to make the internal state of the shift register depend on past outputs. This affects the behavior of the error patterns (a single error in the systematic bits produces an infinite number of parity errors), with the result that a better performance of the overall coding strategy is attained.
In
FIG. 2
the input data stream is applied directly to the first encoder
41
, and the pseudo-randomly reordered (i.e., interleaved) version of the same data stream is applied to the second encoder
43
. The systematic bits (i.e., original message bits) x and the two sets of parity-check bits z
1
and z
2
generated by the two encoders constitute the output of the turbo encoder
40
. Although the constituent codes are convolutional, in reality turbo codes are block codes with the block size being determined by the size of the interleaver.
As discussed above, the parity check bits generated by the two encoders may be punctured prior to data transmission over the channel to maintain a lower code rate. A punctured code is constructed by deleting certain parity check bits, thereby increasing the data rate. However, the use of puncture map is not a necessary requirement of the generation of turbo codes.
FIG. 4
shows the basic structure of a turbo decoder
50
. The turbo decoder operates on “noisy” versions of the systematic bits u and the two sets of parity-check bits &zgr;
1
and &zgr;
2
. The turbo decoder
50
includes two decoding stages to produce an estimate of the original message bits. Each of two decoding stages uses a BCJR algorithm, which was originally developed by Bahl, Cocke Jelinek, and Raviv (hence the name) to solve a maximum a posteriori probability (MAP) detection problem.
The BCJR algorithm is a soft input-soft output decoding algorithm with two recursions, one forward and the other backward, both of which involve soft decisions. The BCJR algorithm is a MAP decoding in which the bit errors are minimized by estimating the a posteriori probabilities of the individual bits in a code word. That is, to reconstruct the original data sequence, the soft outputs of the BCJR algorithm are hard-limited.
In the case where the transmitted signal has been modulated with M-array PSK, the received signal also has an in-phase (I) component and a quadrature (Q) component. Thus, in the receiver end, a demodulator will generate an (I, Q) pair for each received

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for decoding M-PSK turbo code using new... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for decoding M-PSK turbo code using new..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for decoding M-PSK turbo code using new... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3325597

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.