CODING AND SPREADING TECHNIQUE FOR COMMUNICATIONS SYSTEMS
BACKGROUND OF THE INVENTION
In communications systems, and in particular in multiple access systems, it is frequently useful to spread the spectrum of a transmitted signal to improve the reliability of the communication system in a noisy environment or to share the spectrum. In spread spectrum systems, the bandwidth of the transmitted signal is spread over a much larger bandwidth than that of the baseband signal using generally a pseudo-random (PN) sequence. Spectrum spreading generally results in a processing gain directly related to the spreading factor.
Another well-known method for improving transmission reliability is the use of error correction codes such as convolutional or linear block codes, which provides a coding gain over an uncoded system. In systems using convolutional codes, the coding gain is typically maximized by increasing the constraint length of the code at the cost of implementing a more complex system in terms of latency, computation and memory area. It is well known, in channel coding theory, that the coding gain achieved through convolutional coding is related to the free distance of the code.
In Code Division Multiple- Access (CDMA) systems, orthogonal convolutional codes based on Hadamard codes, which give low rate codes, are used in combination with a pseudo-random sequence to randomize the waveform of a user, as discussed in Viterbi, Andrew J., "Very low rate convolutional codes for maximum theoretical performance of spread spectrum multiple-access channels," JSAC vol. 8, Num. 4, May 1990. Other very low rate codes based on repetition convolutional codes or nested convolutional codes described in Lefrancois, S. and Haccoun, D., "Very low rate quasi-
optimal convolutional codes for CDMA," Proceedings 1994 Canadian Conference on Electrical and Computer Engineering, pp. 210 - 213, Sept. 1994 can also be used in combination with PN sequences.
This combination, although resulting in low spectral efficiency, does not have any spreading property as defined by Massey, James L., "Towards an information theory of spread spectrum systems" Code Division Multiple Access Communications, Boston, Dordrecht and London: Kluwer, 1995.
It would be desirable to obtain the benefits of spreading in combination with coding such that the system has a low complexity and high performance. For the foregoing reasons, there is a need for a method and apparatus which supports coding and spreading such that the minimum distance between codewords is maximized, and the decoding structure complexity is minimized.
SUMMARY OF THE INVENTION
The present invention is directed at a method and apparatus for generating a code that has a coding gain and a spreading factor.
In a preferred embodiment, an information bit is convolutionally encoded using a rate r binary convolutional code (BCC) which can be in the form kin. The output of the BCC is presented to a repetition encoder which applies a repetition pattern having a redundancy factor of L. The output of the repetition encoder is then spread using a cover code synchronized with the repetition encoder.
In one embodiment, a rate 1/2 4-state BCC having a free distance of 5 is used. The BCC is followed by a repetition encoder which has a redundancy factor of 12 and a repetition pattern equal to (4,8). In this embodiment, the spreading performed by the cover code (0001,00100010) yields to a code with a Hamming distance of 32.
In another embodiment, a rate r = 1/3 16-state BCC is used in combination with a repetition encoder having a repetition pattern (5,5,5) and a cover sequence (00010,00010,00010) synchronized to the repetition pattern to perform an encoding operation.
In yet another embodiment, a circuit for use in a communications system is presented. The circuit comprises a rate r encoder for generating as output a first codeword from one or a plurality of information bits, a repetition encoder for applying a repetition pattern to the first codeword to generate as output a second codeword. The circuit also comprises a spreader which applies a first cover code synchronized to the repetition pattern to the second codeword. The circuit further comprises a projection module for despreading a received spread coded modulated signal by correlating said received signal with a second cover code and a decoder for decoding an output of the projection module.
These and other features and objects of the invention will be more fully understood from the following detailed description of the preferred embodiments which should be read in light of the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of the specification, illustrate the embodiments of the present invention and, together with the description serve to explain the principles of the invention. In the drawings:
Figure 1 is a generic digital communications system employing the method of the present invention;
Figure 2 is a rate 1/2 4-state binary convolutional code;
Figures 3A and 3B show a repetition encoder and a cover code for spectrum spreading;
Figure 4 shows a projection operation for de-spreading a spread spectrum coded modulation scheme; and
Figures 5 A and 5B show tables of parameters associated with the spread coded modulation system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
In describing a preferred embodiment of the invention illustrated in the drawings, specific terminology will be used for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar purpose.
With reference to the drawings, in general, and Figures 1 through 5 in particular, the apparatus of the present invention is disclosed.
Figure 1 shows a digital communications system employing the method of the present invention. In a preferred embodiment, error correction codes are used in conjunction with repetition codes and cover or spreading sequences. Such a combination provides both coding gain and spreading factor with a low complexity codec (code-decoder) and can have the distance spectrum otherwise achievable by more complex code. In a preferred embodiment, a rate r in the form of kin binary convolutional code
(BCC) 100 encodes k information bits (k -1 in this instance) into a codeword C of size n. Alternatively, a rate r linear block code can be used to perform the channel coding process. The codeword C is presented to the input of a repetition encoder 120, which applies a repetition pattern to the codeword C. In one embodiment, the components of codeword C can be repeated differently. As an example, repetition encoder 120 can apply to a codeword C composed of (ci, c2, c ) the repetition pattern (5,5,5). An example of repetition encoder 120 will be described hereinafter in accordance with Figure 3 A and a set of repetition patterns is shown in the tables of Figures 5 A and 5B. The overall coding rate resulting from the BCC and repetition encoding is equal to 1/L. The parameter L will be referenced hereinafter as the redundancy factor and is a measure of the size of the code so obtained after repetition. Although the application of
a repetition code to a linear code decreases the overall coding rate and improves the minimum distance, a repetition code, by itself, does not spread the spectrum as defined in the aforementioned paper of James L. Massey entitled "Towards an information theory of spread spectrum systems" published in Code Division Multiple Access Communications, Boston, Dordrecht and London: Kluwer, 1995, which is incorporated by reference herein.
In a preferred embodiment, the spreading is performed through a cover code 140 which has a narrow auto-correlation function. An example of cover code 140 will be described in accordance with Figure 3B. The output of the cover code 140 is presented to a modulator 160 which can map the signal S to a BPSK or PAM signal represented by signal X. The modulator 160 maps a binary 0 to +1 and a binary 1 to -1. A QPSK format can also be used by mapping the signal S into a QPSK constellation.
The signal X can be sent over a communication channel (not shown here) and may also be corrupted by additive noise such as Gaussian noise, which is represented by signal W. At the other end of the communications system, a demodulator 170 demodulates the received signal Y and presents an estimate of signal S, represented as signal R to a projection function 150 which performs a de-spreading function. The projection function 150 de-spreads the estimated signal R to obtain a sufficient statistic of signal R. The sufficient statistic is represented as signal T and can be applied to the BCC decoder 110 as a soft input. In this embodiment, the sufficient statistic T, which is also representative of the codeword C, is used by the BCC decoder 110 to recover the information bit. In a system using a hard input decoder the signal T is quantized before being presented to the hard input decoder to recover the information bit.
The combination of error control coding, repetition codes and spreading is referred herein as spread coded modulation. In one embodiment, a BCC encoder is used as an error control code. Figure 2 illustrates a rate XA 4-state BCC encoder that can be used in this invention. Other BCC encoders can also be used such as the rate 1/3 16-
state BCC encoder with the polynomial generator G equal to (25,33,37). The encoder of Figure 2 has a polynomial generator G equal to (1+D2, 1+D+D2) or, in octal representation, (5,7) and has a free distance of 5. The BCC encoder takes as input an information bit u and outputs a codeword C (cι,c2) which is a convolutional combination of past and present information bits. The use of binary convolutional codes is well known to those skilled in the art.
In one embodiment, a repetition pattern is applied to the codeword C. Figure 3A shows a repetition encoder applying a (4,8) repetition pattern to a codeword C having two components ci and c2. In this embodiment bit ci, represented illustratively by a "1", is repeated 4 times while bit c2, represented by a "0", is repeated 8 times. Other repetition patterns can also be used. Figure 5 contains tables showing different repetition patterns for different BCC encoders.
Figure 3B shows a spreading function based on the use of a cover sequence which is equal in this instance to the sequence (0001,00100010) or, in bipolar, (+1+1+1- 1,+1+1-1+1+1+1-1+1) for a redundancy factor L = 12. The cover sequence is applied to the output of the repetition encoder 120 using an exclusive "or" (XOR) operation as illustrated by the output of the cover code 140. Other cover sequences which exhibit good auto-correlation properties can also be used.
The spreading factor as defined previously is linked to the modulation format and the redundancy factor L. The tables of Figure 5 show different spreading factors for different BCC encoding rates II n.
Figure 4 illustrates a correlator 400 used as a de-spreading function in the spread coded modulation system. The projection function 150 of Figure 1 can be implemented, for example, using a correlation function as represented by the correlator 400 shown in Figure 4. As illustrated in Figure A, the demodulated sets of symbols {Rι,R2,R3,R4} and {R5,R6,R7,Rg,R ,Rio,Rn,Ri2} are presented to the correlator 400 to compute the sufficient statistics (T\, T2) of the demodulated signal. In this embodiment, the
correlator 400 computes a sufficient statistic for each set of symbols at its input by correlating the input with the cover sequence as illustrated in Figure 4. The sufficient statistics (T\, 2) are presented to the BCC decoder 110 to generate an estimate of the information bit u. Figure 5 A shows a table containing different parameters of a spread coded modulation system having a redundancy factor L equal to 12. The parameters include parameters descriptive of the BCC encoder 100 such as the number of outputs n, the number of memory elements of the BCC v and the polynomial generator G. The parameter (/;) describes the repetition pattern used by the repetition encoder 120. The spreading factor p and the Hamming distance d obtained after spreading are also listed in the table. Figure 5B shows the same parameters for spread coded modulation with a redundancy factor L equal to 15.
Use of spread spectrum techniques in combination with linear codes and repetition codes, as illustrated by the present invention, improves the distance spectrum of the linear code. As an example, the combination of the rate 1/3 16-state BCC with a factor 5 spreading results in an overall code with rate 1/15 and a binary Hamming distance of 60. The factor 5 spreading is obtained by applying the repetition pattern (5,5,5) along with the cover code (00010,00010,00010). In the prior art, a binary Hamming distance of 60 is obtained by using complex codes such as a rate 1/15, 16- state BCC code.
The present invention can be implemented in a number of different ways well- known to those skilled in the art including software, hardware or a combination thereof. In particular, the present invention can be implemented as embedded software in a Digital Signal Processor (DSP). It can also be implemented as part of an Application Specific Integrated Circuit (ASIC).
Although the invention has been illustrated by reference to specific embodiments, it will be apparent to those skilled in the art that various changes and
modifications may be made which clearly fall within the scope of the invention. The invention is intended to be protected broadly within the spirit and scope of the appended claims.