AU754735B2 - Error correction with two block codes - Google Patents

Error correction with two block codes Download PDF

Info

Publication number
AU754735B2
AU754735B2 AU48812/00A AU4881200A AU754735B2 AU 754735 B2 AU754735 B2 AU 754735B2 AU 48812/00 A AU48812/00 A AU 48812/00A AU 4881200 A AU4881200 A AU 4881200A AU 754735 B2 AU754735 B2 AU 754735B2
Authority
AU
Australia
Prior art keywords
information
vector
redundancy
received
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU48812/00A
Other versions
AU4881200A (en
Inventor
Kumar Balachandran
Sandeep Chennakeshu
Paul Dent
Yi-Pin Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ericsson Inc
Original Assignee
Ericsson Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ericsson Inc filed Critical Ericsson Inc
Priority to AU48812/00A priority Critical patent/AU754735B2/en
Publication of AU4881200A publication Critical patent/AU4881200A/en
Application granted granted Critical
Publication of AU754735B2 publication Critical patent/AU754735B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Description

ERROR CORRECTION WITH TWO BLOCK CODES BACKGROUND OF THE INVENTION In recent years, there has been an increasing demand for efficient and reliable digital communication systems. The transmission of digital information is subject to adverse effects of the communication channel, such as noise, distortions, and fading. These effects introduce errors, called channel errors., into the transmitted data stream. These effects are particularly severe in a radio communication system. The error probability in the received binary sequence is one of the most important design parameters in a radio communication link.
In 1948, Claude E. Shannon demonstrated in a landmark paper that by proper encoding of the digital information, errors introduced by a noisy channel can be reduced to any desired 0. level without sacrificing the rate of information transmission. Since then, a great deal of research has been devoted to developing efficient encoding and decoding methods for error control in noisy channels. These developments have now reached the point that reliable digital radio communication systems are possible. The use of coding for error control is now an integral part of the design of modern digital radio communication systems.
In GSM, there is a myriad of coding schemes for protecting data transmitted through the RF channel. Different coding schemes are used for different logical channels. Traffic channels which are used to transmit voice messages, for example, require less protection than traffic channels used to transmit user data. Therefore, speech channels often employ high rate codes. Control channels used to transmit signalling data require even greater protection which requires lower code rates. The lower code rates add to the coding overhead and increase bandwidth requirements. Therefore, it is desirable to develop more effective codes that can provide the desired degree of error protection with a minimum increase in coding overhead.
For many control qhannels, data is channel-coded in two steps. The signalling data is block coded prior to convolutional coding. The convolutional code therefore doubles the numbers of bits to be transmitted. While this two-step coding scheme works effectively in control channels.where long sequences are transmitted, it is less than ideal for control channels, such as the random access channel (RACH), where only short sequences are transmitted. It is not efficient to use convolutional codes for short data sequences. Block codes generally have a better Hamming distance than convolutional codes. Further, the cyclic codes commonly used do not permit soft decoding so that the input to the decoder is hard limited.
SUMMARY OF THE INVENTION The present invention is an error detecting and correction system and method used for error control in a radio communication system. The error detection and correction system is particularly useful for error protection of short data sequences.
In one aspect, the present invention provides a method for decoding a received codeword repeated at a receiver station through diversity means, wherein each repetition of the received codeword includes an information vector and redundancy vector, said method including: inputting one or more of said information vectors in said received codewords to a series of parallel decoders; inputting one or more of said redundancy vectors in said received codewords to said parallel decoders; decoding the information vectors separately in said parallel decoders to generate a plurality of estimates of the information sequence; and o combining at least two estimates of the information sequence to generate a composite estimate.
In a further aspect, the present invention provides an error detection and control system which includes a transmitter encoder for coding a digital information sequence prior to transmission, and a receiver decoder for decoding a received sequence to recreate the original information sequence. The original information sequence is encoded to produce an information code word including an information vector and a primary redundancy vector. The primary redundancy vector is then coded to produce a redundancy code word including the primary redundancy vector and a secondary redundancy vector. The information code word and redundancy code word are combined and transmitted.
The receiver includes a primary information decoder for soft decoding the received information code word to produce an initial estimate information vector.
A redundancy decoder soft decodes the received redundancy code word to produce an estimate primary redundancy vector. The initial estimates of the information vector and primary redundancy vectors are then hard decoded by a secondary information decoder to produce a second estimated information code word. The first and second estimates of the information code word are compared to determine the Hamming distance between them. If the Hamming distance is S.o.
more than a predetermined value, the secondary information decoder fails causing the received code words to be erased.
The two step decoding process has several advantages over the coding schemes currently in use for the random access channel. First. the present invention employs nested block codes which can produce highly effective error control without increasing coding overhead. The nested block code scheme of the present invention can have a code rate of 1/3 or 1/4. Secondly, the nested block code scheme provides greater flexibility than previous coding schemes. The present invention may, for example, use soft-decision decoding to take into account reliability factors. One final advantage is a significant reduction in the residual bit error rate and frame erasure rate as compared to the coding schemes previously employed.
In an alternate embodiment, the information codeword is transmitted multiple times to the receiver station. The received information vectors are selectively combined and/or routed to a series of parallel decoders. The information vectors are then individually decoded to generate S: multiple estimates of the information sequence. The resulting estimates of the information ~sequence are combined to generate a final estimate.
Other objects and advantages of the present invention will become apparent and Obvious from a study of the following description and the accompanying drawings which -are merely illustrative of such invention.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a data transmission system.
Figure 2 is a block diagram of the transmitter encoder.
Figure 3 is a block diagram of the code word processor and receiver decoder.
Figure 4 is a diagram illustrating the bit positioning scheme used by the transmitter encoder.
Figure 5 is a block diagram showing an alternate design for the receiver decoder using a parallel block coding scheme.
DETAILED DESCRIPTION OF THE INVENTION Referring now to the drawings, and particularly to Figure 1, the data transmission system of the present invention is indicated generally by the numeral 10. The data transmission system 10 includes an information source 20, a transmitter encoder 30, a modulator 40, a demodulator 50, a received code word processor 60, and a receiver decoder The information source 20 can be of analog form or a digital bit sequence. If it is of analog form, it can be sampled and quantized to produce the necessary digital bit sequence.
The sequence, however, may not be directly suitable for channel encoding or for modulating the a carrier of the data communications system. Under such circumstances, source coding is applied to restructure the data sequence to make it compatible with the channel requirements.
The source encoder codes the information so as to reduce the redundancy of the source data.
This is often called "data compression." The consequence of this will be shorter bit sequences and so more messages can be sent or stored in a given allocation. The output of the 0.,00* information source 20 is called the information sequence.
The transmitter encoder 30 transforms the information sequence from the information source into a discrete encoded sequence called a code word. This type of encoding is called channel encoding and refers to the data transformation, performed after source encoding but prior to modulation, that transforms source bits into channel bits.
Channel encoding can be of two forms; waveform coding and structured sequential coding. Waveform coding transforms the source data and renders the detection process less subject to errors and thereby improves transmission performance. Structured sequential coding (linear block coding) represents a method of inserting structured redundancy into the source data so that transmission or channel errors can be identified and corrected. Structured sequences are one of two types: block coding and convolutional coding.
The data transmission system 10 of the present invention uses block coding wherein the source data is first segmented into blocks of k data bits each. Each block can represent any one of m 2 distinct messages. The channel encoder takes each block of k input bits and encodes them to n output bits. The set of 2 coded messages is called a code block. The (n-k) bits that are added by the encoding process are called redundant bits and carry no new information. The ratio k/n is defined as the code rate, and the code is called an code.
The redundant information added by the encoder 30 is used to protect the information S sequence against errors which occur during transmission. This is known as error control coding. The redundant bit stream is calculated from the information sequence by parity check on modulo-2 addition). Thus, a dependency or correlation is developed between the original information sequence and the redundancy bit stream. The dependence is exploited by the decoder to detect and correct errors that are generated in the channel environment. The.
redundant bits are often called parity bits.
.The modulator 40 combines the code word from the transmitter encoder 30 with a carrier signal to render it suitable for transmission. In digital systems, the data bits of the entire information message, which include start, stop, preamble, and postamble bits, are interfaced to the communication channel at the physical level. Once the bit stream is encoded, formatted, and made ready for actual transmission, it must be made compatible with the channel characteristics. This channel compatibility is facilitated by a transformation of the digital information to a time variable waveform.
The modulator 40.provides a transformation from a digital data stream to a waveform representation of that data, which can be accepted by a waveform channel. Such a channel is optimized to satisfy a constraint in the transmission power. The choice of technique (AM, FM, or PM), or combinations of techniques, depends in general on the error performance criterion, the bandwidth efficiency, and the complexity of the required signal processing.
The modulation technique specified for GSM is GMSK. GMSK is a type of constant envelope FSK where the frequency modulation is a result of carefully contrived phase modulation. Thus, there is a distinct lack of AM in the carrier with a consequent limiting of the occupied bandwidth. The present invention preferably employs GMSK modulation with non- Nyquist filters.
such The modulated signal is transmitted via a communication channel, such as a radio communication channel. The communication channel is subject to certain adverse influences such as noise that change the modulated signal.
At the receiver, the received waveform is processed by the demodulator 50. The demodulator 50 produces an -output that may be discrete (quantized) or continuous (unquantized). The sequence of demodulator outputs corresponding to the encoded sequence is called the received sequence.
The received code word processor 60 and receiver decoder 70 transform the received sequence into a binary sequence which ideally will be a replica of the original information sequence. The received sequence will frequently contain channel errors introduced by noise or other adverse affects of the channel environment. The decoder 70 makes use of the redundant information added by the transmitter encoder 30 and knowledge of the coding scheme to detect and correct any channel errors.
The data transmission system 10 employs a combination of two block codes for error control of the transmitted data. Figures 2 and 3 illustrate a preferred embodiment of the transmitter encoder 30 and receiver decoder respectively, which employ the nested block code scheme.
Referring now to Figure 2, there is shown a block diagram of the transmitter encoder 30 employing two nested block codes. The transmitter encoder 30 includes an information encoder 32, a demultiplexer 34, a redundancy encoder 36, and a block-rectangular interleaver 38.
The function of the information encoder 32 is to encode the information sequence received from the information source 20. The information encoder 32 encodes the information sequence in such a way as to introduce redundant information that can be used by the decoder 70 to detect and/or correct errors.
S: The output of the information encoder 22 is an information code word including the original information sequence or information vector I and an information parity bit stream P 1 which is derived from the information vector space. The derivation -is based on a prescribed linear combination of the information vectors. The information parity bit stream P 1 is also called the primary redundancy vector.
The code used by the information encoder 32 is preferably an block code. In a preferred embodiment, a systematic (24,12) Golay code is used to S: encode a 12-bit information sequence. A (24,12) Golay code is used primarily because of its long minimum Hamming distance which results in the ability to detect seven errors or correct up to three errors. Other block codes may also be used.
The information code word IP 1 output from the information encoder is fed to a block rectangular interleaver 38 and to a demultiplexer 34. The demultiplexer 34 strips off the information parity bit stream P 1 from the information code word IP 1. The information parity bit stream P 1 is then fed to the redundancy encoder 36 which produces a redundancy code word by adding secondary parity bits (P 2) to the information parity bits (P This redundancy code words P 1iP 2 comprises the information parity bit stream P 1 and an appended bit stream P 2 which is derived from a linear combination of the vectors within the P 1 vector space. The redundancy encoder also employs a (24,12) Golay Code. The 8 redundancy code word P 1 P 2 is then fed to the interleaver 38 to which the information code word IP 1 is fed.
The interleaver 38 interleaves the information code word IP 1, and the redundancy code word P 1 P 2 for the subsequent transmission to the receiver.
To obtain the best performance, the bit positioning scheme shown in Figure 4 is used. Sj represents a series of three-bit vectors. Where a code rate of 1/3 is used, S j is a vector consisting of the jth bit of I P 1, and P 2 respectively. For a code rate of the jth bit of P 1 is repeated twice in S j.
Referring now to Figure 3, the receiver is shown in greater detail. The receiver includes a code word processor 60 and a decoder 70. The demodulator feeds the received sequence to the code word processor 60. The code word *:processor 60 includes a demultiplexer 62 and a vector combiner 64. The demultiplexer 62 extracts the received vectors If,P 1 ,P 2 from the received sequence. Where a code rate of 1/4 is used, the output of the demultiplexer includes two instances of the information parity bit vector P 1 The vector combiner 64 combines the two instances of the information parity bit vector P 1 to produce a single instance which is used in the decoding operation. The vectors SI,P 1, 2 are the then fed to the receiver decoder 70 for processing.
*The receiver decoder 70 comprises the primary information vector decoder S* 72, the primary redundancy vector decoder 78, the secondary information vector decoder 84, and a comparator The received information vector I and the received information parity bit stream P 1 are fed to the primary information vector decoder 72 which includes an estimated information vector generator 74 and an internal memory 76. The vector generator 74 soft decodes the vectors If and P 1 to produce an estimate f of the information vector. Preferably, multiple estimates I of the information vector are generated and stored in the memory 76 in the order of their likelihood of being correct.
The information parity bit stream vector l 1, is also fed to the primary redundancy vector decoder 78 along with the secondary parity bit vector 2. The primary redundancy vector decoder 78 includes a estimated primary redundancy vector generator 80 and a memory 82. The information parity bit stream vector S1, and the redundancy parity bit vector P 2 are soft decoded by a soft Golay code to produce an estimate 1 of the information parity bit stream P 1.
Preferably, multiple estimates P 1 of the information parity bit stream P 1 are calculated and stored in the memory 82 in the order of the likelihood of being correct.
The estimated information vector f and the estimated information parity bit stream F 1 are fed to the secondary information decoder 84 which includes a code word generator 86 and a memory 88. The code word generator 86 processes decodes the first estimate to produce a final estimate IP 1. The final estimate IP 1 is fed, along with the first estimate fi to the comparator 90. The comparator 90 includes a distance calculator 92 which calculates the Hamming distance between IP1 and ff 1. If Hamming distance between W1P and ff, 1 is more than a predetermined value, an erasure signal is generated by the comparator 90 and applied to the secondary information decoder 84 causing the received code word to be erased.
0. he Alternatively, the comparator 90 could signal inner decoders 72 and 78 of the failure which would cause the inner decoders 72, 78 to output other likely code words in decreasing order of probability corresponding to IP 1 and P 1 P 2 which are stored in their respective memories 76, 82. The failure signal is shown as a dotted line in Figure 3. If other likely code words exist, the revised estimated code words f and 1 1 are again fed to the outer decoder 84 which repeats the process as outlined above. The process can be repeated any designated number of time and a count is kept by a counter 94 forming a part of the comparator 90. If the outer decoder 84 fails after n trials, the erasure signal is generated.
Referring now to Figure 5, there is shown a receiver decoder 100 that uses a parallel coding scheme. The parallel coding scheme considered is limited to systematic error control codes that are repeated at the receiver through some diversity means. The repetition may be in time (TDMA), frequency bands (FDMA), or other orthogonal means (CDMA). Alternatively, the receiver code see the independently derived versions of the same transmitted code word by use of -atenna diversity.
As shown in Figure 5, the received signal is comprised of the same information sequence I repeated L times with parity checks P 1,P L. The parity checks P 1 P L may result from the same code or from different codes.
The received code words IP 1, IP IP L are fed after demodulation to a demultiplexer 102. The demultiplexer 102 separates the received parity vectors P 1 ,P 2 P L from the received information vectors.
In the embodiment shown in Figure 5, the information vectors are then fed to a vector combiner 104 and are combined used soft combing or hard combining techniques. Soft combining of the received information vectors may be carried out using a variety of diversity combining techniques. Hard combining is equivalent to a majority vote on the bit level. Since combining techniques are well known to those skilled in the art, they are not described in detail herein. The resulting information vector f is then fed to a series of parallel decoders along with the individual parity vectors P 1 ,P 1. The information vector If is then individually decoded with each of the received parity vectors. The resulting estimates of the information sequence I are then fed to a second vector combiner 108 to be combined using either hard or soft combining techniques.
Switches (not shown) allow the outputs of the decoders 106 to be passed selectively. For example, if the reliability of a soft decoder 106 is less than a predetermined value, the switches can be turned off by the decoder 106. The output of the vector combiner 108 is passed to the hard limited 110.
In the embodiment shown in Figure 5, the vector combiner 104 is estimated and is replaced by two routers 105. The routers 105 allow the inputs to be directed to any decoder 106. Thus, an information vector If1-fIL can be decoded using any redundancy vector 1 -P L. The outputs J 1 -J L may correspond to different inputs fI 1-f L or may be all the same. Similarly, the outputs Q 1-Q L may correspond to different inputs 1 2, or may be the same.
As in the previous embodiment, each decoder 106 generates an estimate If of the information.
"Comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not 11 preclude the present or addition of one or more other features, integers, steps, components or groups thereof.
*o e* e*
S
e

Claims (4)

1. A method for decoding a received codeword repeated at a receiver station through diversity means, wherein each repetition of the received codeword includes an information vector and redundancy vector, said method including: inputting one or more of said information vectors in said received codewords to a series of parallel decoders; inputting one or more of said redundancy vectors in said received codewords to said parallel decoders; decoding the information vectors separately in said parallel decoders to generate a plurality of estimates of the information sequence; and combining at least two estimates of the information sequence to ***generate a composite estimate.
2. The method according to claim 1 wherein said information vectors are combined to generate a composite information vector, and wherein said composite information vector is input to each of said parallel decoders.
3. The method according to claim 1 wherein said decoders are soft decoders.
4. The method according to claim 3 wherein the estimates produced by said parallel decoders are selectively combined based upon the reliability of the S. decoded information sequence. A method for decoding a received codeword repeated at a receiver station through diversity means wherein each repetition of the received codeword includes an information vector and redundancy vector substantially as herein 4 described with reference to Figures 2 to DATED this 2 4 t1h day of July, 2000 ERICSSON, INC. WATERMARK PATENT TRADEMARK ATTORNEYS 290 BURWOOD ROAD HAWTHORN VICTORIA 3122 AUSTRALIA RCS/SMM/SXH P8068AUOO 46559/97 0000@ *060
AU48812/00A 1996-10-09 2000-07-25 Error correction with two block codes Ceased AU754735B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU48812/00A AU754735B2 (en) 1996-10-09 2000-07-25 Error correction with two block codes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/728158 1996-10-09
AU48812/00A AU754735B2 (en) 1996-10-09 2000-07-25 Error correction with two block codes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU46559/97A Division AU724590B2 (en) 1996-10-09 1997-09-29 Error correction with two block codes

Publications (2)

Publication Number Publication Date
AU4881200A AU4881200A (en) 2000-09-28
AU754735B2 true AU754735B2 (en) 2002-11-21

Family

ID=3735550

Family Applications (1)

Application Number Title Priority Date Filing Date
AU48812/00A Ceased AU754735B2 (en) 1996-10-09 2000-07-25 Error correction with two block codes

Country Status (1)

Country Link
AU (1) AU754735B2 (en)

Also Published As

Publication number Publication date
AU4881200A (en) 2000-09-28

Similar Documents

Publication Publication Date Title
US5838267A (en) Method and apparatus for encoding and decoding digital information
AU724573B2 (en) Convolutional decoding with the ending state decided by CRC bits placed inside multiple coding bursts
US6769091B2 (en) Encoding method and apparatus using squished trellis codes
EP0855108B1 (en) A coding system and method providing unequal error protection by puncturing less significant symbols
US6199190B1 (en) Convolution decoding terminated by an error detection block code with distributed parity bits
EP1021883A1 (en) Method for protecting important data bits using less important data bits
WO1997014225A9 (en) A coding system and method providing unequal error protection by puncturing less significant symbols
CA2206688A1 (en) Digital transmission system for encoding and decoding attribute data into error checking symbols of main data, and method therefor
KR20010057145A (en) XOR code and serial concatenated encoder/decoder
US6209116B1 (en) Adaptable overlays for forward error correction schemes based on trellis codes
US20020114402A1 (en) Method and device for generating a rate compatible code
US5493584A (en) Method for determining a channel quality metric in a receiver
US6192500B1 (en) Method and apparatus for enhanced performance in a system employing convolutional decoding
AU754735B2 (en) Error correction with two block codes
EP1199828A2 (en) High efficiency signaling with selective coding and interleaving
WO2001095502A1 (en) Concatenated forward error correction decoder
Rudolph et al. Forward error correction techniques for mobile satellite communications

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)
MK14 Patent ceased section 143(a) (annual fees not paid) or expired