Method and apparatus for real-time determination of scalable...

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S774000

Reexamination Certificate

active

06233713

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to channel coders for digital wireless communications devices. More particularly, the present invention provides a method and apparatus for a digital wireless communications device to determine in real-time certain scalable channel coding scheme parameters. In a preferred embodiment, a memory is arranged as a three-dimensional code book which provides the appropriate scheme parameters in real-time without calculating the parameters in real-time.
2. Discussion of Related Art
FIG. 1
is a simplified block diagram of a transmission portion of a digital wireless communications device
100
. One such device is a digital cellular phone which may be used with a TMS320C5x digital signal processor made by Texas Instruments, Dallas, Tex. or other suitable processor. A preferred digital cellular phone may include a microphone
102
, an analog-to-digital converter (ADC)
104
, a speech coder
106
, a channel coder
108
, a modulator/transmitter
110
, and an antenna
120
.
The transmission portion of the digital cellular device
100
of
FIG. 1
may operate in the following manner. A sound, such as a speaker's voice, is detected by the microphone
102
and converted into an analog electrical signal. The analog electrical signal is converted into a digital signal by the ADC
104
. The digital signal is then speech coded by the speech coder
106
using, for example, a vector sum excited linear prediction (VSELP) code. This speech coding compresses the digital signal.
The compressed digital signal may then be channel encoded by the channel encoder
108
. The channel encoder's main function is to protect the digital signal against noise and fading inherent in a radio channel, such as is used for a cellular telephone system. The channel encoder
108
may perform several functions, such as convolution encoding, cyclic redundancy check (CRC) generation, interleaving the signal into appropriate slots, and burst generation. Each of these functions is briefly described.
Convolutional encoding provides error correction by adding redundancy to the transmitted signal. Convolutional encoding is described below in more detail. CRC is the addition of several bits (such as five or seven) to a block of important information bits in the transmitted signal. The value of the CRC code bits is used by a receiving decoder to determine whether or not an error exists in the received block of information bits. Interleaving is the division of the data from each frame of information bits into two transmit slots. Thus, if one slot is lost, it is unlikely that the second slot will also be lost. As a result, not all bits from a speech frame are likely to be lost. Burst generation is the time compression of the signal into a burst format.
Once the signal has been channel encoded, it is modulated onto a carrier frequency by the modulator
110
and transmitted via the transmitter and antenna
120
. A preferred modulation method is differential quaternary phase-shift keying (DQPSK).
One method to improve the reliability of a telecommunications network is to add error control processing at the transmitting and receiving ends of the network. As discussed above, one method of doing this is using a channel encoder which adds redundancy to the transmitted signal so that a receiving decoder may make a decoding decision based on more than a single bit.
One common type of error control technique used in digital telecommunications networks is a convolutional code. A convolutional code is a code which provides n output symbols for each group of k input symbols. The code rate is defined as R=k
. For example, if two symbols are output for every one input symbol, the code rate is ½. To reduce the bit rate of the transmitter, not all bits are coded in a convolutional code. Since the individual bits of information in a speech frame have varying sensitivity to error, some bits may be coded while other bits may not. For example, in a two class system, the sensitive bits may be grouped into one class called class
1
and convolutionally coded while the less sensitive bits are grouped into another class called class
0
and transmitted without coding. (Bit sensitivity is the loss of quality of the decoded speech signal due to corruption of the particular bit.) While convolutional encoding provides adequate redundancy for effective error control, it also increases the bandwidth of the signal because it adds a number of symbols to the transmitted signal. The inverse of the code rate is known as the bandwidth expansion. Thus, for a ½ code rate, the bandwidth expansion is 2, i.e., the bandwidth used by the signal is doubled.
FIG. 2
is an example
200
of a convolutional code with four states (
00
,
01
,
10
,
11
) and a rate of ½. As seen in
FIG. 2
, each state may transition to two other states depending on whether the information bits is a
1
or
0
. Note the transition (branch
202
) from state
10
to state
01
.
One way to improve the bandwidth expansion of convolutional codes is to “puncture” the code. Puncturing a convolutional code means that periodically a certain number of bits in the convolutional encoder are deleted at a fixed rate. This rate is called the puncture rate and results in a higher code rate. Because the bandwidth expansion is the inverse of the code rate, the closer the code rate is to 1, the lower the bandwidth expansion. By puncturing, error correction properties may be nearly the same as for an unpunctured (or “mother”) code, but the higher code rate provides significant bandwidth savings.
Some mobile telephone systems, such as Europe's GSM system, use rate compatible punctured convolutional codes. In the GSM system, for example, a fixed rate of 456 information bits per frame is used for the traffic channel, 78 bits per frame are used for the synchronization channel, and 36 bits per frame are used for the random access channel. These fixed configurations permit coding parameters, such as number of information bits per frame, the code rate, and the puncture rate, to be stored in a memory for recall when needed.
Recently, the trend in digital cellular communications is toward scalable channel coders. For example, ITU Recommendation, “Annex C to G.723.1—Scalable channel coding scheme for wireless applications to be used with dual-rate speech coder for multimedia communications transmitting at 5.3 & 6.3 kbits/sec”, November 1996 (“G.723.1 Annex C”), recommends a scalable channel coder. The contents of this document are incorporated herein by reference. Full scalability introduces new variables. First, the output bit rate adapts to changes in input parameters and available capacity. Second, the protection requirement for different bit classes varies. Third, the available channel capacity varies between minimum and maximum boundary conditions. As a result, a new set of coding parameters is determined according to a defined algorithm for each encoded (or decoded) frame.
The encoding process for a scalable punctured convolutional coder includes the following:
1. Partitioning the block of information bits (i.e., k bits) into several classes according to bit sensitivity, such as class
1
and class
2
bits. For example, G.723.1 Annex C, defines five different bit classes;
2. Coding each bit to be coded using a convolutional code having a rate k
; and
3. Puncturing the output bit stream according to a predetermined rate compatible punctured convolutional code for the particular class.
These variable coding conditions per bit class are commonly referred to as unequal error protection schemes.
Three input variables for the rate compatible punctured convolutional coding are:
1. The number of bit classes the information bits have been partitioned into (this may be a fixed number);
2. The number of bits per frame to be coded (i.e., the number of k bits in each class to be coded); and
3. The available size of the output codeword based on available channel capacity. That is, the total number of bits n t

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 real-time determination of scalable... 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 real-time determination of scalable..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for real-time determination of scalable... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2517328

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