A method and an arrangement for despreading a coded sequence in a communication system
Abstract
The invention relates to a method and an arrangement for implementing a bank of correlators, corresponding to a set of Orthogonal Gold codes, in a receiver used in a Direct Sequence Code Division Multiple Access system (DS-CDMA). The bank of correlators generates N correlation values (CV0,...,CVN-1) from N received symbols (s0,s1,...,sN-1) in a sequence. The received symbol sequence (s0,s1,...,sN-1), where each symbol has been spread by an Orthogonal Gold code respectively, is buffered (401). The buffered symbol sequence is multiplied (402) element-by-element with an arbitrary sequence (a0,a1,...,aN-1), in order to obtain a set of products (s0*a0,s1*a1,...,sN-1*aN-1). Said arbitrary sequence is the same sequence used when generating the Orthogonal Gold Codes. The set of products (s0*a0,s1*a1,...,sN-1*aN-1) is then permuted (403) in order to obtain a sequence, which is equal to a sum of a number of sequences from a set of Walsh sequences. The sequence is then transformed (404) with Fast Hadamard Transform as to obtain said correlation values (CV0,...,CVN-1).

Term
Term ended
Expired 19 December 2017, 8.8 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
13 claims: 4 independent, 9 dependent
- 1THE CLAIMS DEFINING THE INVENTION ARE AS FOLLOWS:1. A method of despreading a symbol sequence (Sq.S,.....S^) to obtain a number of correlation values (CV 0 .....CV^), where said symbol sequence has been spread by a set of Orthogonal Gold sequence (G), which have been generated by means of an arbitrary sequence (a 0 ,a 1( ..., a^), including the following steps: a) multiplying element-by-element of said symbol sequence (80,8^...,8^) with said arbitrary sequence (a 0 ,a 1 .....a^), in order to obtain a set of products (s 0 a 0 , s 1 a n .....S^ a^);b) permuting said set of products (s 0 *a 0 , s/a!......8^%.,) in order to obtain a sequence (w) equal to a sum of a number of sequences from a set of Walsh sequences;c) transforming said sequence (w) with a Fast Hadamard Transform so as to obtain said correlation values (CV 0 .....CV^). d) transforming said sequences (w) with Fast Hadamard Transform as to
- 56. A method of despreading a symbol sequence (Sq.S) ,...,S N .)) as to obtain a number of code channels (ΟΗ 0 ,ΟΗ).....CH M ) from an incoming code spread radio signal, which is quadrature, detected as to obtain an inphase signal and a quadrature signal, including the following steps:correlating said inphase signal according to steps in claim 1, therewith to obtain N inphase correlation values;correlating said quadrature signal according to steps in claim 1, therewith to obtain N quadrature correlation values;arrange said inphase correlation values and said quadrature correlation values according to a corresponding spreading method, therewith, to obtain said code channels (CH 0 ,CH),...,CH M ).
- 67. A method of despreading a symbol sequence (S 0 ,S),...S N .i) as to obtain a number of code channels (CH 0 ,CH).....CH M ) from an incoming code spread radio signal, which is quadrature detected as to obtain an inphase signal and a quadrature signal, characterised in the following steps:correlating said inphase signal according to steps in claim 2, therewith to btain N inphase correlation values;correlating said quadrature signal according to steps in claim 2, therewith to obtain N quadrature correlation values;arrange said inphase correlation values and said quadrature correlation values according to a corresponding spreading method, therewith to obtain said code channels (CH 0 ,CH„...,CH M ).
- 910. An arrangement of a bank of correlators for despreading a symbol sequence (S 0 ,S„...S N .i) to obtain a number of code channels (CH 0 , CH,,...,CH N .,), where the code channels have been spread by a set of Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (a 0 ,a,,...,a N .i), characterised in that said arrangement includes:means for permuting the symbol sequence (S 0 ,S,,...,S N .,) according to a certain rule, in order to obtain a permuted version of sequence (S po ,S p ,.....S pN .,);means for permuting the arbitrary sequence (a 0 ,a, a N .,), according to the same rule, in order to obtain a permuted version of said sequence (a P o>a p ,, · · · ϊθ· Ρ Ν-ι)» means for multiplying element-by-element of said permuted version of said symbol sequence S po ,S p „...,S pN .,) with said permuted version of said arbitrary sequence (a^.a^.....a pN .,) as to obtain a sequence (w) which is a sum of a number of sequences from a set of Walsh sequences;at least one bank of Walsh correlations, implemented as Fast Hadamard Transformer, operable to transforming said sequence (w) to obtain correlation values (CV 0 .....CV^).
- 1011. An arrangement of a bank of correlations for despreading a symbol a symbol sequence (Sq^ to obtain a number of code channels (CH 0 , CH!.....CH^), where the code channels have been spread by a set of Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (a 0 , a,.....a^), characterised in that arrangement includes:means for multiplying element-by-element of said symbol sequence (S o , S,.....S N _!) with said arbitrary sequence (a^.....a^), as to obtain a set of products (s 0 *a 0 , sfa,...... means for permuting said set of products (s 0 *a Q , s/ai......S N _!*a N .i) according to a certain rule, in order to obtain a sequence (w) which is the sum of sequences from a set of Walsh sequences;at least one bank of Walsh correlations, implemented as Fast Hadamard Transformer, operable to transforming said sequences (w) to obtain said correlations values (CV 0 .....CV^).
- 1314. An arrangement of a bank of correlators for despreading a symbol sequence (S o , to obtain a number of code channels (CH 0 , CH,, ...,CHm.,), where the code channels have been spread by a set of Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (a^a,.....a N .,), adopted to operate in accordance with the method as claimed in any one of claims 1, 2, 6, 7 or 12 substantially as herein described with reference to any one of figures 4 to 7.
Independent claims6
206 paragraphs in 37 sections, as filed
The invention relates to a method and an arrangement for implementing a bank of correlators, corresponding to a set of Orthogonal Gold codes, in a receiver used in a Direct Sequence Code Division Multiple Access system (DS-CDMA). The bank of correlators generates N correlation values (CVo,...,CVn-i) from N received symbols (so,si,...,sn-i) in a sequence. The received symbol sequence (so,si,...,sn-i), where each symbol has been spread by an Orthogonal Gold code respectively, is buffered (401). The buffered symbol sequence is multiplied (402) element-by-element with an arbitrary sequence (ao.ai.....sn-i), in order to obtain a set of products (so*ao,si*ai,...,SN-i*aN-i)· Said arbitrary sequence is the same sequence used when generating the Orthogonal Gold Codes. The set of products (so*ao,si*ai,...,SN-i*aN-i) is then permuted (403) in order to obtain a sequence, which is equal to a sum of a number of sequences from a set of Walsh sequences. The sequence is then transformed (404) with Fast Hadamard Transform as to obtain said correlation values (CVq.....CVn-i).
J
CODED SEQUENCE IN A COMMUNICATION
<img file="AU738415B2_D0001.tif" />
WO 98/33290
PCT/SE97/02183
A METHOD AND AN ARRANGEMENT FOR DESPREADING A CODED SEQUENCE IN A COMMUNICATION SYSTEM
TECHNICAL FIELD
The present invention relates generally to a method and an arrangement for despreading of a received signal in a multicode.
DS-CDMA system and more particularly it relates to a method and an arrangement for implementing a bank of correlators, corresponding to a set of Orthogonal Gold codes or alike, in a receiver used in a Direct Sequence Code Division Multiple Access system (DS-CDMA).
DESCRIPTION OF THE BACKGROUND ART
A spread spectrum communication system employing a direct sequence method, as for example DS-CDMA (Direct Sequence Code Division Multiple Access) system, utilises a method of generating from an information signal, a transmission signal, 15 where the transmission signal have a significantly wide bandwidth with respect to the original information signal. This is a result of spreading the information signal by a high rate spreading sequence such as for example a high bit rate pseudo noise (PN) sequence. The digitised informational signal and the 20 high rate spreading sequence are typically multiplied together.
This combination is called coding or spreading the informational signal. A plurality of coded information signals are transmitted on a same radio frequency carrier wave and jointly received as a composite signal at a receiver. Each of the coded signals 25 overlaps all of the other coded signals, as well as noiserelated signals, in both frequency and time. By correlating the composite signal with one of the unique spreading sequences, the corresponding information signal can be isolated and decoded. Each information signal is thus allocated a unique spreading f
WO98Z33290
PCT/SE97/02183 code and a receiver uses the same spreading code as that used in the transmitter to perform a despread operation.
Multicode transmission scheme is a method to provide high-rate and variable-rate data services in DS-CDMA systems without, decreasing the processing gain or increasing the spreading bandwidth. In such a scheme several code channels are assigned to a single user. High-rate data stream is split into a number of parallel low-rate streams. These low-rate streams are spread by different sequences and added together before power amplification.
To avoid interference between different code channels of a single user, all spreading sequences (codes) should be orthogonal within data symbol duration. To make the other-user interference as a noise-like interference, each single users code channels are further multiplied by a user specific pseudorandom spreading sequence. The number of used orthogonal codes depends on the current data rate. The receiver will have an easier task if it knows which spreading codes are currently used, or at least knows the number of code channels.
An example of orthogonal sequences is a so-called Orthogonal Gold sequences. A set (G ) of Orthogonal Gold codes (OG<sub>0</sub>,OG<sub>lt</sub> . . . , OGn.J with elements belonging to an alphabet of 0 and 1, is defined as a matrix obtained from a modulo-two summation (XOR) between each row of an orthogonal matrix (M) and a sequence (a ) , i . e.
<td></td><td> ’ OGo ' OGi</td><td colspan="2"> a xi ® a</td>
<td> G =</td><td></td><td> =</td><td></td>
<td></td><td> . . .</td><td></td><td> . . .</td>
<td></td><td> ΟθΝ-Χ.</td><td></td><td></td>
Μ Φ a
WO 98/33290
PCT/SE97/02183 where
<td></td><td> 0</td><td> 0</td><td></td><td> 0 0</td><td> 0</td>
<td></td><td><sup>X</sup>1</td><td><sup>X</sup>2</td><td><sup>X</sup>3</td><td> • · · <sup>X</sup>N-!</td><td> 0</td>
<td> =</td><td> x<sub>2</sub></td><td><sup>X</sup>3</td><td><sup>X</sup>4</td><td> ... x<sub>x</sub></td><td> 0</td>
<td></td><td> _<sup>X</sup>N-1</td><td><sup>X</sup>1</td><td><sup>X</sup>2</td><td> • · · <sup>X</sup>N-2</td><td> 0</td>
and a = [a<sub>x</sub> a<sub>2</sub> ... a.., o] .
The orthogonal matrix (M) is obtained from another matrix (M) consisting of all cyclic shifts of a first maximum length PN sequence (m-sequence) {x<sub>k</sub>}, where k=l,2,...,N-1, by bordering the matrix (M) on the top with a row of zeros and on the right side by a column of zeros.
The sequence (a) is another m-sequence {a<sub>k</sub>}, where k=l,2,...,N1, with a zero added on the right end. The sequences (x<sub>k</sub>) and (a<sub>k</sub>) should form a so-called preferred pair of m-sequences to obtain optimum periodic cross-correlation function. Optimum cross-correlation function is one which has minimum maximum value for a given sequence length and a given number of sequences .
However, the actual definition of the Orthogonal Gold sequences is more general, in the sense that the sequence (a) can be an arbitrary sequence with zero at the right end. In that case the set of sequences (G) would still be orthogonal but the periodic cross-correlation functions between the sequences from the set will not be optimum.
WO 98/33290
PCT/SE97/02183
An equivalent definition of the set. (G) of Orthogonal Gold sequences with elements belonging to a alphabet of -1 and +1 can be obtained by mapping 0-»l and l-> -1, while the modulo two summation should be replaced by multiplication between row elements of the matrix M and elements of the sequence a .
The usual receiver method for CDMA systems is so-called RAKE combining, which assumes weighted summation of separately despread multipath signal components, with appropriate compensation of corresponding components' delays.
In the multicode CDMA systems, the number of RAKE receivers needed for a single mobile-base station connection is equal to the maximum number of parallel code channels. As all RAKEs work in parallel, the baseband receiver consists of multiple despreaders, each corresponding to a different receiving path, and each consisting of a number of correlators corresponding to the different code channels.
The despreader implementation depends on the actual spreading method, i.e. which spreading sequence is used. If the spreading sequence is binary, with +1 and -1 elements, it is called Binary Phase Shift Keying (BPSK) spreading, while when the spreading method is complex, consisting of real and imaginary binary sequences it is called QuadraPhase Shift Keying (QPSK) spreading. Usually QPSK spreading is performed with different real and imaginary binary sequences.
The efficiency of the despreader for the multicode CDMA systems directly depends on a bank of correlators corresponding to the binary spreading sequences .
The maximum number of sequences in any orthogonal set is equal to the sequence length. Therefore, if the length of sequences is N, it is necessary to perform N<sup>2</sup> operations for each sample at the output of the bank of correlators.
An implementation of the bank of correlators which provides less N<sup>2 </sup>5 operations per output sample is an efficient implementation.
Two kinds of orthogonal sets of sequences are proposed for a Multicode DS-CDMA scheme; sets of Walsh sequences and sets of Orthogonal Gold sequences. A bank of correlators corresponding to a set of Walsh sequences can be efficiently implemented by using a Fast Hadamard Transform (FHT). In 10 that, case the number of operations required for each output sample is N x log<sub>2</sub> N.
An implementation of a bank of correlators corresponding to orthogonal Gold sequences that requires less than N<sup>2</sup> operations is also desirable.
SUMMARY OF THE INVENTION
The object of present invention is to solve the problem how to reduce the 15 complexity of a bank of correlators matched to a set of Orthogonal Gold sequences.
Another problem which the invention is intended to solve is to reduce the power consumption in a receiver when despreading received radio signals.
According to a first aspect of the invention there is provided a method of despreading a symbol sequence (S^S,.....S^,) to obtain a number of correlation values (0^,...,07^), where said symbol sequence has been spread by a set of Orthogonal Gold sequence (G), which have been generated by means of an arbitrary sequence (a<sub>0</sub>,a<sub>1(</sub>..., a^), including the following steps:
a) multiplying element-by-element of said symbol sequence (Sq.S,.....S<sub>N</sub>.,) with said arbitrary sequence (a<sub>0</sub>,a,,...,8^.,), in order to obtain a set of products (®o ®o> ®1 .....>S<sub>N</sub>., 3n-i)>
b) permuting said set of products (s<sub>0</sub>*a<sub>0</sub>, s/a,......in order to obtain a sequence (w) equal to a sum of a number of sequences from a set of Walsh sequences;
<img file="AU738415B2_D0002.tif" />
c) transforming said sequence (w) with a Fast Hadamard Transform so as to obtain said correlation values (CV^..·.^^,).
According to a second aspect of the invention there is provided a method of despreading a symbol sequence (80,81,...,8^) to obtain a number of correlation values (Ονο,.,.,Ον^), where said symbol sequence has been spread by a set of Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (a^a!,...^.,), including the following steps:
a) permuting said symbol sequence (S<sub>o</sub>, Sp.-.S^j.,), according to a certain rule in order to obtain a permuted version of said sequence (S<sub>p0</sub>, 8^,...,8^):
b) permuting said arbitrary sequence (a<sub>0</sub>, ai,...,a<sub>N</sub>_i), according to the same rule in order to obtain a permuted version of said sequence (a<sub>p0</sub>,a<sub>p1</sub>,...,a<sub>pN</sub>.i);
c) multiplying element-by-element of said permuted version of the symbol sequence (S<sub>p0</sub>,S<sub>p1</sub>.....S^.,) with said permuted version of said arbitrary sequence (a<sub>p0</sub>,a<sub>p1</sub>.....apN.J, as to obtain a sequence (w) equal to a sum of a number of sequences from a set of Walsh sequences;
d) transforming said sequences (w) with Fast Hadamard Transform as to obtain said correlation values (CV^..·.^^).
According to a third aspect of the invention there is provided a method of despreading a symbol sequence (Sq.St.....S^) as to obtain a number of code channels (ΟΗο,ΟΗ,,.,.,ΟΗμ) from an incoming code spread radio signal, which is quadrature, detected as to obtain an inphase signal and a quadrature signal, including the following steps:
correlating said inphase signal according to steps in claim 1, therewith to 25 obtain N inphase correlation values;
correlating said quadrature signal according to steps in claim 1, therewith to obtain N quadrature correlation values;
arrange said inphase correlation values and said quadrature correlation values according to a corresponding spreading method, therewith, to obtain said
<img file="AU738415B2_D0003.tif" />
6a
According to a forth aspect of the invention there is provided A method of despreading a symbol sequence (S<sub>o</sub>,8,,...8<sub>Ν</sub>.,) as to obtain a number of code channels (CH<sub>0</sub>,CH,,...,CH<sub>M</sub>) from an incoming code spread radio signal, which is quadrature detected as to obtain an inphase signal and a quadrature signal, characterised in the following steps:
correlating said inphase signal according to steps in claim 2, therewith to obtain N inphase correlation values;
correlating said quadrature signal according to steps in claim 2, therewith to obtain N quadrature correlation values;
arrange said inphase correlation values and said quadrature correlation values according to a corresponding spreading method, therewith to obtain said code channels (ΟΗ<sub>0)</sub>ΟΗ,.....CH<sub>M</sub>).
According to a fifth aspect of the invention there is provided an arrangement of a bank of correlators for despreading a symbol sequence (S<sub>0</sub>,S„...S<sub>N</sub>.,) to obtain 15 a number of code channels (CH<sub>0</sub>, CH,.....CH<sub>N</sub>.,), where the code channels have been spread by a set of Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (a<sub>0</sub>,a„...,a<sub>N</sub>.,), characterised in that said arrangement includes:
means for permuting the symbol sequence (S<sub>o</sub>,S„...,S<sub>N</sub>.,) according to a 20 certain rule, in order to obtain a permuted version of sequence (S^.Sp,.....S<sub>pN</sub>.,);
means for permuting the arbitrary sequence (a<sub>0</sub>,a„...,a<sub>N</sub>.,), according to the same rule, in order to obtain a permuted version of said sequence (®ρθ,3ρΐ, · · · >θ·ρΝ-1) >
means for multiplying element-by-element of said permuted version of said symbol sequence Spo.Sp,.....S<sub>pN</sub>.,) with said permuted version of said arbitrary sequence (a<sub>p0</sub>,a<sub>p1</sub>.....a<sub>pN</sub>.,) as to obtain a sequence (w) which is a sum of a number of sequences from a set of Walsh sequences;
at least one bank of Walsh correlations, implemented as Fast Hadamard
Transformer, operable to transforming said sequence (w) to obtain correlation values (CV<sub>0</sub>.....CV<sub>N</sub>.,).
<img file="AU738415B2_D0004.tif" />
6b
According to a sixth aspect of the invention there is provided an arrangement of a bank of correlations for despreading a symbol a symbol sequence (Sq.Sj S^,) to obtain a number of code channels (CH<sub>0</sub>, CH!, ...,CHnJ, where the code channels have been spread by a set of
Orthogonal Gold sequences (G), which have been generated by means of an arbitrary sequence (80,3,,...,3^), characterised in that arrangement includes:
means for multiplying element-by-element of said symbol sequence (S<sub>0</sub>,S,.....S<sub>N</sub>.,) with said arbitrary sequence (a<sub>0></sub>a,,...,a<sub>N</sub>.,), as to obtain a set of products (s<sub>0</sub>*a<sub>0</sub>, s,*a,......S<sub>N</sub>.,*a<sub>N</sub>.,);
means for permuting said set of products (s<sub>0</sub>*a<sub>0</sub>, s,*a,......S<sub>N</sub>.,*a<sub>N</sub>.,) according to a certain rule, in order to obtain a sequence (w) which is the sum of sequences from a set of Walsh sequences;
at least one bank of Walsh correlations, implemented as Fast Hadamard 15 Transformer, operable to transforming said sequences (w) to obtain said correlations values (CV<sub>0</sub>,...,CV<sub>N</sub>.,).
In accordance with embodiment of the present invention, the aforesaid problems are overcome and resolved by implementing the bank of correlators in a more efficient way compared to a straightforward implementation which used a 20 correlator for each Orthogonal Gold sequence.
The implementation of the bank of correlators is performed in the following way. Multiplying a received sequence element-by-element with an arbitrary sequence, that is used for generation of the Orthogonal Gold sequences, as to obtain a set of products. The elements in the set of products are permuted 25 according to a certain rule in order to obtain a permuted sequence which is equal to a sum of a number of sequences from a set of Walsh sequences. A Fast Hadamard Transform is then performed on said permuted sequence as to obtain correlation values between the received sequence and each possible Walsh sequence.
<img file="AU738415B2_D0005.tif" />
6c
An advantage afforded by embodiments of the present invention is that the number of operations used when despreading a received sequence are essentially decreased.
A further advantage afforded by embodiments of the present invention is that due to the smaller number of operations during the despreading of received radio signals a reduction of power consumption is obtained.
Another advantage afforded by embodiments of the present invention smaller area needed for integrated circuit implementation of the aforementioned bank of correlates.
BRIEF DESCRIPTION OF THE DRAWINGS
The invention will now be described in more detail with reference to exemplifying embodiments thereof and also with reference to the accompanying drawings, in which
Figure 1 is a block diagram illustrating a part of a receiver operable to 15 receive a BPSK-spread signal used in a DS-CDMA system.
<img file="AU738415B2_D0006.tif" />
WO 98/33290
PCT/SE97/02183
Figure 2 is block diagram illustrating part of a receiver operable to receive a QPSK-spread signal used in a DS-CDMA system.
Figure 3 is a block diagram is illustrating background art of a. bank of correlators.
Figure 4 is a flowchart of an embodiment of an inventive method for implementing the bank of correlators.
Figure 5 is flowchart of another embodiment of the inventive method for implementing the bank of correlators.
Figure 6 is a block diagram illustrating an embodiment of an inventive arrangement of the bank of correlators.
Figure 7 is a block diagram illustrating another embodiment of the inventive arrangement of the bank of correlators.
DETAILED DESCRIPTION
Figure 1 illustrates a part of a receiver 100 used in a multicode DS-CDMA system. In a corresponding transmitter, all N transmitted code channels have been spread with a set of Orthogonal Gold sequences G<sub>O</sub>,G<sub>1Z</sub> . . . respectively, and utilising method called Binary Phase Shift Keying (BPSK). The part of a receiver 100 comprises a quadrature detector 101 which generates an inphase signal on an output 102 and a quadrature signal on an output 103 for radio frequency signals which appear on an input 104. Each output 102,103 is connected to a branch, an inphase signal branch 112 and a quadrature signal branch 113, that comprises the following entities connected to each other: a lowpass filter 105 with a bandwidth proportional to a chip frequency used in the CDMA system; an A/D-converter 106, a pulse
WO 98/33290
PCT/SE97/02183 matched filter 107 which is the same used in the transmitter for spectrum shaping; a downsampling unit 108 for downsampling to one sample per chip and a bank of correlators 109. Each bank of correlators generates N correlation values.
On a first output 110 of the bank of correlators 109 in the inphase signal branch 112 a first code channel inphase signal is generated and on a first output 111 of the bank of correlators 109 in the quadrature signal branch 113 a first code channel quadrature signal is generated. The two said outputs 110,111 are combined into a pair of outputs for a first code channel CH·^ All other outputs of each bank of correlators are combined in the same way to form N pairs of output which correspond to N code channels. Each code channel can be combined with the same code channel obtained from another reception path.
Figure 2 illustrates part of another receiver 200 used in a multicode CDMA system. In a corresponding transmitter, the N transmitted code channels have been spread with a set of Orthogonal Gold sequences G<sub>o</sub>,G<sub>x</sub>, . . . ,G<sub>N</sub>.<sub>X</sub> respectively, and utilising method called QuadraPhase Shift Keying (QPSK). This method produce N/2 code channels such that each code channel is spread with two sequences in the corresponding transmitter. For example, a first code channel CH! is spread with a first Orthogonal Gold sequence OG<sub>0</sub> and a second Orthogonal Gold sequence OGi .
The part of a receiver 200 comprises the same units as the part of a receiver 100 described in conjunction with figure 1. Due to the fact that the used utilising method is QPSK the number of the received code channels are N/2 and the arrangement of the N outputs of the banks of correlators is different than in the part of receiver 100.
WO 98/33290
PCT/SE97/02183
A first output 201 of the bank of correlators 109 in the inphase signal branch 112 and a second output 204 of the bank of correlators in the quadrature signal branch 113 are connected to an adder 205, which is operable to adding the output signals on the outputs 201,204. A sum is obtained as an output signal on an output 207 of the adder 205. The output signal on the output 207 is the inphase signal of the first code channel 0¾.
A second output 202 of the bank of correlators in the inphase signal branch 112 and a first output 203 of the bank of correlators in the quadrature signal branch 113 are connected to an adder 206, which is operable to adding the output signal on the output 202 to the output signals on the output 203. A sum is obtained as an output signal on an output 208 of the adder 206. The output signal on the output 208 is the quadrature signal of the first code channel CHj. All N outputs from the two banks of correlators are arranged in the same way. This means that the N/2:th code channel is obtained with two last output of the two banks of correlators. That is, a N-l:th output of the bank of correlators in the inphase signal branch 112 and a N:th output of the bank of correlators in the quadrature signal branch 113 are connected in the same way as the output 201 and output 204 and that a N:th output of the bank of correlators in the inphase signal branch 112 and a N-l:th output of the bank of correlators in the quadrature signal branch 113 are connected in the same way as the output 211 and output 212.
The explanation for the above arrangements of the outputs of the banks of correlators can be obtained from the following simple relation, wherein the inphase signal to the bank of correlators is denoted d<sub>T</sub> and the quadrature signal is denoted d<sub>Q</sub>. The first code channel has been spread with OG<sub>0</sub> and OG!. Hence the
WO 98/33290
PCT/SE97/02183 following multiplication has to be performed to obtain the first code channel CH<sub>X</sub>:
(di + j do)(OGo — j OGi) = (diOGo + doOGi) + j(doOGo + diOGi) .
The real part (diOGo + daOGi) is what is obtained on the output 207 and the imaginary part (doOGo + diOGi) what is obtained on the output 208. The real part and the imaginary part correspond to the inphase signal and the quadrature signal of the first code channel respectively.
The implementation of the bank of correlators does not depend on which spreading method that is used in the transmitter. The code channels are obtained by arranging the outputs of the banks of correlators in a way specific for the applied spreading method.
Figure 3 illustrates the background art for the bank of correlators (109, figure 1 and figure 2) used for despreading multicode channels. A bank of correlators 300 comprises N correlators Corr<sub>x</sub>, . . ., Corr<sub>N</sub>, where each correlator generates a correlation signal on output out<sub>lz</sub> . . . , out<sub>N</sub>. Each Orthogonal Gold sequence OG<sub>0</sub>, . . . ,0G<sub>N</sub>.<sub>lz</sub> used for spreading the code channels in
<td> the transmitter, is</td><td colspan="2"> stored</td><td> in</td><td> registers</td><td> ref<sub>lz</sub> .</td><td> ..., ref<sub>N</sub>. For</td>
<td> example, in register</td><td> ref <sub>x</sub></td><td> is</td><td> the</td><td> Orthogonal</td><td> Gold</td><td> sequence OG<sub>0</sub></td>
<td> stored and in register</td><td> ref<sub>N</sub></td><td> is</td><td> the</td><td> Orthogonal</td><td> Gold</td><td> sequence ΟΟ<sub>Ν</sub>_<sub>Χ</sub></td>
stored. A sampled signal received from the downsampling unit 108 is connected to an input 201 of the bank of correlators 109. Each sample is shifted into all registers reg<sub>x</sub>, . . . , reg<sub>N</sub> and a multiplication is performed continuously bit-by-bit after every shift with the stored Orthogonal Gold sequence. Results of each bit multiplication are summed in summarizer S and the sum is output on the output out<sub>lz</sub> ...,out<sub>N</sub> respectively as a correlation
WO 98/33290
PCT/SE97/02183 value between the Orthogonal Gold sequence and the received signal. For example, if the Orthogonal Gold sequence OG<sub>0</sub> is stored in the register ref<sub>lz</sub> the bank of correlators is connected to the downsampling unit in the inphase signal branch 112, and the BPSK spreading method is used, the correlation signal on the output out<sub>x</sub> corresponds to the inphase signal of the code channel CH<sub>X</sub>. With the same conditions stated above, except that the bank of correlators is connected to the quadrature signal branch 113, the quadrature signal for code channel CH! is obtained.
This implementation of the bank of correlators is inefficient. To despread all code channels it takes N<sup>2</sup> operations, which is time- and powerconsuming.
A flowchart, figure 4, illustrates an embodiment of an inventive method concerning how to implement an efficient bank of correlators used in a receiver in a multicode CDMA system. In a first step 401 N input samples SS = s<sub>0</sub>, s<sub>x</sub>, . . ., s<sub>N</sub>_<sub>x</sub> are buffered. In a second step 402 the input samples s<sub>0</sub>, s<sub>x</sub>, . . . , s<sub>N</sub>_<sub>x</sub> are multiplied element-by-element with a arbitrary sequence a = a<sub>0</sub>, a<sub>x</sub>, . . . ,a<sub>N</sub>.<sub>x</sub>, therewith a sequence p = p<sub>0</sub>,p<sub>x</sub>, · . ,p<sub>N</sub>_<sub>x </sub>s<sub>0</sub>*a<sub>0</sub>, s<sub>x</sub>*a<sub>x</sub>, . . ., s<sub>N</sub>.<sub>x</sub>*a<sub>N</sub>.<sub>x</sub> is obtained. The sequence a is the same used when the Orthogonal Gold sequences G are generated in the transmitter. The obtained sequence p is then, in a third step 403, permuted in a certain way, which will be described in more detail below, in order to obtain a sequences w , which is equal to a sum of a number of sequences from a set of so-called Walsh sequences. The sequence w is, in a step 404, transformed with a Fast Hadamard Transform as to obtain a set of correlation values
C = CV<sub>0</sub>, . . . ,CV<sub>N</sub>.<sub>X</sub> between said sequence w and each of N Walsh
WO 98/33290
PCT/SE97/02183 sequences. By using this inventive method for an inphase signal and for a quadrature signal it will be possible as earlier described to efficiently despread code channels used in a multicode channel system.
A flowchart, figure 5, illustrates another embodiment of the inventive method. In a first step 501, the N input samples SS = s<sub>0</sub>, s<sub>x</sub>, . . ., s<sub>N</sub>.<sub>x</sub> are buffered. A permutation is carried out in a certain way, described in detail below, on the buffered input samples SS in a second step 501, in order to obtain a permuted version SS<sub>p</sub> = s<sub>p0</sub>, s<sub>pl</sub>, . . . , s<sub>pN</sub>.<sub>x</sub> of the input sequence SS. In a third step 503 the permuted version of all N input samples s<sub>p</sub>o/θρίζ · · · / θρΝ-ι are multiplied element-by-element with a permuted version a<sub>p</sub> = a<sub>p0</sub>,a<sub>pX</sub>, . . . ,a<sub>pN</sub>.<sub>x</sub> of the sequence a a<sub>0</sub>, a<sub>x</sub>, . . . , a<sub>N</sub>.<sub>x</sub>, therewith sequence w = w<sub>0</sub>, w<sub>x</sub>, . . . , w<sub>N</sub>_<sub>x</sub><sup>s</sup>po*<sup>a</sup>po/<sup>s</sup>pi*<sup>a</sup>pi/ · · · / <sup>s</sup>pN-i*<sup>a</sup>pN-i is obtained. The sequence a is permuted in a certain way, described below, before it is used. The sequence w is then, in a fourth step 504, transformed with the Fast Hadamard Transform as to obtain correlation values
CV<sub>0</sub>, . . . , CV<sub>N</sub>.<sub>X</sub> between said sequence w and each of N Walsh sequences .
The permutation rule used in present invention is one which maps Orthogonal Gold codes into Walsh sequences. For each matrix M there are many column permutations which produce the same set of Walsh sequences, but with different ordering of Walsh sequences. All these permutations are related to the natural state sequence of the appropriate linear-feedback shift register sequence generator, or equivalently, to the sequence of Galois Field GF(2<sup>n</sup>) elements 1, a, a<sup>2</sup>, ..., a<sup>n</sup>~<sup>2</sup> , where a is a primitive element
WO 98/33290
PCT/SE97/02183 of GF(2<sup>n</sup>) . The determination of the column permutation of matrix M will be illustrated by the following example.
If N=2<sup>n</sup>=8, the m-sequence {xk} = [1 1 1 0 0 1 o] , can be used to generate the matrix M given by:
The m-sequence
Xk+3 =Xk+i+Xk (mod 2 ) {*k} is generated which is obtained by from polynomial: f(x)=x<sup>3</sup>+x+l over GF(2). The initial the recursion, feedback shift the three or equivalently, the initial state register sequence generator, are of recursion:
primitive values for the 1ineartaken to be:
[<sup>x</sup>i x<sub>2</sub> x<sub>3</sub>] = [1
The primitive polynomial defines the extended
Galois Field elements ordered into the sequence of the successive powers of a primitive element a are given in the following table 1.
table 1.
<td> Field</td><td> Decimal</td><td> Position</td><td> Basic Permutation</td><td> Permuted</td>
<td> elements</td><td> value</td><td></td><td> (of position)</td><td> Decimal</td>
<td></td><td></td><td></td><td></td><td> Values</td>
WO 98/33290
PCT/SE97/02183
<td> [o 0 1]= a<sup>0</sup></td><td> 1</td><td> 1</td><td> 8</td><td> 0</td>
<td> [o 1 o]= a<sup>1</sup></td><td> 2</td><td> 2</td><td> 1</td><td> 1</td>
<td> [1 0 o]= a<sup>2</sup></td><td> 4</td><td> 3</td><td> 2</td><td> 2</td>
<td> [0 1 1]= a<sup>3</sup></td><td> 3</td><td> 4</td><td> 4</td><td> 3</td>
<td> [1 1 o]= a<sup>4</sup></td><td> 6</td><td> 5</td><td> 3</td><td> 4</td>
<td> [1 1 1]= a<sup>5</sup></td><td> 7</td><td> 6</td><td> 7</td><td> 5</td>
<td> [1 0 1]= a<sup>6</sup></td><td> 5</td><td> 7</td><td> 5</td><td> 6</td>
<td> [o o o]</td><td> 0</td><td> 8</td><td> 6</td><td> 7</td>
The basic column permutation which maps M-transform matrix into the matrix whose rows are different Walsh functions is obtained by reordering the sequence of Galois field elements so that their decimal values are linearly ranging from 0 to 7.
Reordering the positions of columns of matrix M according to the basic permutation ρ=[β 1 2 4 3 7 5 6] produces the new matrix given in table 2. The rows of this matrix are Walsh functions, so by suitable permutation of rows this matrix can be transformed onto Sylvester-type Hadamard matrix. The Sylvester10 type Hadamard matrix H of order 8 is given in table 3. The rows of H are Walsh sequences designated as WO to W7.
table 2.
<td> Permuted Matrix M</td><td> Walsh Function</td>
WO 98/33290
PCT/SE97/02183
<td> 00000000</td><td> =wo</td>
<td> 01101001</td><td> =W7</td>
<td> 01100110</td><td> =W3</td>
<td> 01010101</td><td> =W1</td>
<td> 00001111</td><td> =W4</td>
<td> 00110011</td><td> =W2</td>
<td> 01011010</td><td> =W5</td>
<td> 00111100</td><td> =W6</td>
table 3.
<td> Sylvester-type Hadamard Matrix</td><td> Walsh Function</td>
<td> 0 0 0 0 0 0 0 0</td><td> =W0</td>
<td> 01010101</td><td> =W1</td>
<td> 00110011</td><td> =W2</td>
<td> 01100110</td><td> =W3</td>
<td> 00001111</td><td> =W4</td>
<td> 01011010</td><td> =W5</td>
<td> 00111100</td><td> =W6</td>
WO 98/33290
PCT/SE97/02183
<td> 01101001</td><td> =W7</td>
Besides the basic permutation, there are many other permutations which will produce the same set of Walsh functions. They can be obtained by applying the same principle from the previous example to the transformed matrix of GF(2<sup>n</sup>) elements, obtained by any combination of the following operations: columns permutation of field elements, and cyclic shift of 1, a, a<sup>2</sup>, . . . , a<sup>n</sup><sup>2</sup> sequence. The total number of permutations which can be obtained in this way, for the Orthogonal Gold sequences of length N=2<sup>n</sup>, is M = n! x (N - 1) .
However, the total number of permutations is even larger, what can be seen if the transformed matrix of GF(2<sup>n</sup>) elements is defined most generally. Namely, the rotation of any column corresponding to the nonzero GF(2<sup>n</sup>) elements in the field elements matrix, that produces all different decimal values, will result in a additional permutation for matrix M . In that way, for example, it can be obtained 168 permutations for n=3, which is 4 times larger than 3! x (θ - 1) . For n=4 , it can be found 56 x 4’ x (16 - 1) permutations .
The following example illustrates permutation construction using transformed matrix of Galois Field elements. If the first and second column of the field elements in table 1 have exchanged the position, another permutation can be obtained as shown in table 4.
table 4.
<td> Field</td><td> Decimal</td><td> Position</td><td> Basic Permutation</td><td> Permuted</td>
WO 98/33290
PCT/SE97/02183
<td> elements</td><td> value</td><td></td><td> (of position)</td><td> Decimal Values</td>
<td> [o 0 1]= a<sup>0</sup></td><td> 1</td><td> 1</td><td> 8</td><td> 0</td>
<td> [1 0 o]= a<sup>2</sup></td><td> 4</td><td> 2</td><td> 1</td><td> 1</td>
<td> [o 1 o]= a<sup>1</sup></td><td> 2</td><td> 3</td><td> 3</td><td> 2</td>
<td> [1 0 1]= a<sup>6</sup></td><td> 5</td><td> 4</td><td> 7</td><td> 3</td>
<td> [1 1 o]= a<sup>4</sup></td><td> 6</td><td> 5</td><td> 2</td><td> 4</td>
<td> [1 1 1]= a<sup>5</sup></td><td> 7</td><td> 6</td><td> 4</td><td> 5</td>
<td> [o 1 1]= a<sup>3</sup></td><td> 3</td><td> 7</td><td> 5</td><td> 6</td>
<td> [o o o]</td><td> 0</td><td> 8</td><td> 6</td><td> 7</td>
The permutation when applied to the matrix M will produce another matrix containing the set of Walsh functions, as shown in table 5.
table 5.
<td> Permuted Matrix M</td><td> Walsh Function</td>
<td> 00000000</td><td> =W0</td>
<td> 01101001</td><td> =W7</td>
<td> 01011010</td><td> =W5</td>
WO 98/33290
PCT/SE97/02183
<td> 01010101</td><td> =W1</td>
<td> 00110011</td><td> =W2</td>
<td> 00001111</td><td> =W4</td>
<td> 01100110</td><td> =W3</td>
<td> 00111100</td><td> =W6</td>
Figure 6 illustrates an embodiment of an inventive arrangement of the efficient bank of correlators 600 used in a receiver in a multicode CDMA system. A first register 602 converts serially received, on an input 601, input samples SS - s<sub>0</sub>, s<sub>x</sub>, . . ., s<sub>N</sub>.! to parallel. N serially received input samples SS are output on N parallel output 0,,,...,0^ to a multiplier 603. The arbitrary sequence a = a<sub>0</sub>,a<sub>x</sub>, . . .,a<sub>N</sub>_<sub>x</sub> is stored in a memory 605 which has connections to the multiplier 603. Each element a<sub>0</sub>,a<sub>x</sub>, . . . , a<sub>N</sub>.<sub>x</sub> is output on a corresponding connection c<sub>0</sub>, . . . , ο<sub>Ν</sub>.<sub>χ </sub>and multiplied in the multiplier 603 with a corresponding input sample s<sub>0</sub>, s<sub>x</sub>, . . ., s<sub>N</sub>.<sub>x</sub>, therewith the product p = p<sub>0</sub>,p<sub>lf</sub> . . . ,p<sub>N</sub>.<sub>x</sub> = s<sub>0</sub>*a<sub>0</sub>, s<sub>1</sub>*a<sub>1</sub>, . . . , s<sub>N</sub>.<sub>1</sub>*a<sub>N</sub>_<sub>1</sub> is obtained. Output u = u^u-^ . . . ,u<sub>N</sub>.<sub>x</sub> of the multiplier are connected to a second register 604 in which the permutation is performed. The obtained permuted version of the product p is the sequence w , which is equal to the sum of a number of sequences of the so-called Walsh sequences. The elements w<sub>0</sub>,w<sub>x</sub>, . . .,w<sub>N</sub>.<sub>x</sub> of the sequence w are, via a corresponding connection v<sub>0</sub>,v<sub>x</sub>, . . .,v<sub>N</sub>_<sub>lz</sub> connected to a bank of Walsh correlators 606, implemented as Fast Hadamard Transformer,
WO 98/33290
PCT/SE97/02183 which generates on output k<sub>0</sub>, k<sub>lz</sub> . . . , k<sub>N</sub>.<sub>x</sub> the correlation values CV<sub>0</sub>, . . . /CVjj.j corresponding to each Walsh sequence w<sub>0/</sub>w<sub>1</sub>, . . . , w^.
Figure 7 illustrates another embodiment of the inventive arrangement 700. A first register 702 converts serially, received, on an input 701, input samples SS = s<sub>0</sub>, s<sub>1#</sub> . . . , s<sub>N</sub>.i to parallel. The register 702 is also arranged so that N serially received input samples SS are permuted and output on N parallel output Οο,.,.,Ον.χ to a multiplier 703. The permuted arbitrary sequence a<sub>p</sub> = <sup>a</sup>Po»<sup>a</sup>Pi/· · · /<sup>a</sup><sub>P</sub>N-i is stored in a memory 605 which for each N elements has a connection c<sub>0</sub>,...,c<sub>N</sub>.·,^ to the multiplier 703. Each element a<sub>p0</sub>,a<sub>pl</sub>, . . .,a^.j is output on the corresponding connection 0,,,...,0^ and multiplied in the multiplier 703 with a corresponding input sample s<sub>p0</sub>, s<sub>pl</sub>, . . ., s<sub>pN</sub>.
therewith the products s<sub>p0</sub>*a<sub>p0</sub>, s<sub>pl</sub>*a<sub>pl</sub>, . . . , s<sub>pN</sub>.<sub>1</sub>*a<sub>pN</sub>.<sub>1</sub> are obtained, which form a sequence, which is the sum of a number of sequences, from the set of Walsh sequences. Outputs u<sub>0</sub>,u<sub>lz</sub> . . . ,u<sub>N</sub>. <sub>x</sub> of the multiplier 703 are connected to a bank of Walsh correlators 704, implemented as Fast Hadamard Transformer. The bank of Walsh correlators 704 comprises a buffer for buffering said products s<sub>pO</sub>*<sup>a</sup>Po, <sup>s</sup>Pi*<sup>a</sup>Pi, · · · , <sup>s</sup>PN-i*<sup>a</sup><sub>P</sub>N-i before the Fast Hadamard Transformation is performed on said products. For the sequence s<sub>p0</sub>*a<sub>p0</sub>, s<sub>pl</sub>*a<sub>pl</sub>, . . . , s<sub>pN</sub>.<sub>1</sub>*a<sub>pN</sub>.<sub>1</sub> the bank of Walsh correlators 704 generates N correlation values CV<sub>0</sub>, . . . , CV^ corresponding to each of N Walsh sequences.
The mentioned Fast Hadamard Transform, which is known by a person skilled in the art, is a method to increase the efficiency of Hadamard transform. The Hadamard transform is characterised by a Hadamard matrix, in which each row of the Hadamard matrix is orthogonal to every other row of the matrix.
WO 98/33290
PCT/SE97/02183
Each row of the Hadamard matrix can be referred to as a Walsh sequence.
A Hadamard matrix of order n can be defined recursively as follows:
Han
Hn
Hn
Hn
-Hn
The Fast Hadamard transform exploit the fact that Hadamard matrices are real, symmetric and row-wise orthogonal. Since the Hadamard matrices contain only ±1 values, no multiplications are required in the transform calculation. Moreover the number of additions and subtractions required can be reduced from n<sup>2</sup> to n x log2 n, due to the fact that a Hadamard matrix of order n (H<sub>n</sub>) can be written as a product of n sparse matrices, that is,
Hn r-logi (n) Hn . where
<td> '1</td><td> 1</td><td> 0</td><td> 0 . .</td><td></td>
<td> 0</td><td> 0</td><td> 1</td><td> 1 . .</td><td></td>
<td> 0</td><td> 0</td><td></td><td></td><td> ..1 1</td>
<td> 1</td><td> -1</td><td> 0</td><td> 0 . .</td><td></td>
<td> 0</td><td> 0</td><td> 1</td><td> -1 . .</td><td></td>
<td></td><td></td><td></td><td></td><td> - . 1 -1</td>
Noting that the top n/2 rows and the bottom n/2 rows contain only two nonzero terms per row, the transformation g£°9<sup>2(n)</sup> X u = Hn X Hn. . . Hn X u can be accomplished by operating
WO 98/33290
PCT/SE97/O2183
Hn x log2 n times on u, where u is a column vector of the input sample.
Due to the structure of Hn only n additions or subtractions are required each time Hn operates on a vector, giving a total of n x login additions and subtractions.
The inventive method and arrangement described in conjunction with the figures require 2 x N + N x log2 N operations when despreading N samples. It is assumed that multiplication as well as permutation are performed in N operations.
The mapping between the ordinal numbers of despreader outputs and ordinal numbers of code channels requires in principle an additional permutation of Fast Hadamard Transform outputs. However, the amount of corresponding additional processing power depends of the actual implementation. For example, if despread code channels are further processed in parallel, the hard-wired connection between despreader outputs and the rest of the receiver can be permuted, so no additional processing power is required.
As an example, if N=64, then 512 (0(64)=512) operations are required. Compared with 4 096 (64 x 64) operations required by a straightforward implementation, 8 times reduction of the complexity is obtained.
The earlier described inventive method and arrangement do not have to operate in parallel. They can of course operate serially but they are then less efficient.
The embodiments described above serve merely as illustration and not as limitation. It will be apparent to one ordinary skill in
WO 98/33290 2 2 PCT/SE97/02183 the art that departures may be made from the embodiments described above without departing from the spirit and scope of the invention. Therefore, the invention should not be regarded as being limited to the examples described, but should instead 5 be regarded as being equal in scope to the following claims.
Contents37
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US5353352A | Cites | United States of America | Search report |
| US5463657A | Cites | United States of America | Search report |
| US5497395A | Cites | United States of America | Search report |
13 members in 11 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 9700212 | Sweden | A | |
| 9702183 | Sweden | W |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| SE9700212D0 | Sweden | D0 | |
| SE9700212L | Sweden | L | |
| CA2277747A1 | Canada | A1 | |
| WO9833290A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU5505798A | Australia | A | |
| EP0950296A1 | European Patent Office (EPO) | A1 | |
| TW379487B | Taiwan Province of China | B | |
| BR9714325A | Brazil | A | |
| CN1249090A | China | A | |
| US6091761A | United States of America | A | |
| KR20000070386A | Republic of Korea | A | |
| JP2001509339A | Japan | A | |
| AU738415B2This record | Australia | B2 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Patent ceased section 143(a) (annual fees not paid) or expiredExpiredMK14 | MK14 | |
| Letters patent sealed or granted (standard patent)GrantedFGA | FGA |
Numbers
- Application
- 5505798
Titles
- English
- A method and an arrangement for despreading a coded sequence in a communication system
Classification
- CPC, 3
- H04B1/707
- H04B1/709
- H04J13/0051
- IPC, 2
- H04B1 707
- H04J11 00