AN IMPROVED CDMA RECEIVER

Abstract: A minimum-mean-square-error (MMSE) receiver (50) for direct sequence code-division multiple access (DS-CDMA) systems operating over fast fading channels is disclosed. The receiver (50) uses improvements on standard least-mean-squares (LMS) processing (68) in the implementation of the MMSE receiver to increase the speed of convergence during training and the rate at which the algorithm can track changes in the channel conditions. This results in a receiver (50) which has the same linear complexity, insensitivity to power control, timing and phase synchronisation as the previous receivers, but which is able to operate effectively under harsher channel conditions and requires significantly shorter training periods to achieve good convergence. The preferred approach taken is to break the fading channel into regions of quasi-stationarity and to repeatedly apply the LMS process. Multiple step-sizes (W) are used in parallel during both training (62) and decision (64) feedback stages to assist in the convergence of the LMS algorithm. Regions over which the receiver performs poorly are marked as such for later decision stages or are selectively re-transmitted.

Description: AN IMPROVED CDMA RECEIVER Field of the Invention The present invention relates to code-division, multiple access (CDMA) communication systems and, in particular, to an improved CDMA receiver. Background Art One of the major problems associated with using CDMA systems is the low rate of channel utilisation. For single cell systems based on conventional, matched filter receivers, the utilisation is typically between 10 - 20% of the theoretical channel capacity. This low level of utilisation results from multiple access interference (MAI) between competing system users and effectively limits the total performance. It possible to show that, as the number of users increases in the system, the ratio of bit- energy to noise power spectral density (Ej,/N 0 ) required to support a given bit error rate (BER), rapidly tends to infinity. A class of suboptimal, single-user receivers has been investigated which offer improved capacity in terms of the achievable number of simultaneous users. This class of receiver requires no exact knowledge of user timing, phase or the sequences of interfering users' signals, and no exact power control. These features make synchronisation and system design simpler, and minimise the signalling overhead in the system. Such a receiver, termed a linear adaptive, fractionally-spaced filter (AFSF) is based on a minimum mean-square error (MMSE) criteria and seeks to minimise the interference by adapting to the cyclo-stationary nature of the MAI in a training session. Once training is complete, the receiver can either operate with fixed filter coefficients, or operate in an adaptive, decision feedback mode. For a given set of training conditions, such a receiver is limited by the level of additive white Gaussian noise (AWGN) in the system, rather than the level of MAI of other system users. This condition holds up to a given number of users, referred to herein as the critical number of users. After the critical number of users is reached, the system becomes essentially MAI limited, and the addition of subsequent users severely degrades the bit error rate (BER) of all system users. It has also been shown that a perceived critical number of users depends heavily on the length of the training period considered. For a receiver implemented using the least- mean-square (LMS) algorithm for updating filter taps, in order to accommodate a large number of users compared to the spreading ratio, the training periods become very long (of the order of thousands of symbols). This in turn requires the channel characteristics to remain stationary or very slowly varying for long periods. For AWGN channels and channels with small Doppler components, the use of very long training periods leads to very high system efficiencies. When the channel is fading rapidly with respect to the rate of convergence of the tap update algorithm, tap mis-adjustments can occur due to the non-stationary environment. This leads to difficulty in reducing the mean-square-error (MSE) output of the receiver. Poor convergence leads to a greatly reduced maximum possible number of system users. The LMS algorithm is a member of the family of stochastic gradient based 5 algorithms. It uses an estimate of the gradient of the error function and as such, does not require measurement of the pertinent correlation functions, nor does it require matrix inversion. The LMS algorithm is simple and robust and performs well under a wide range of channel conditions and input signal powers. More sophisticated, computationally intensive algorithms such as recursive least squares (RLS) and Kalman ι o filtering offer significantly greater convergence rates, but suffer from sensitivity to noise power and synchronisation conditions. It is an object of the present disclosure to attempt to improve the performance of spread-spectrum receivers, and LMS receivers in particular, by substantially overcoming, or at least ameliorating the limitations of poor convergence rates for large 15 numbers of users and/or the inability to track fast fading channels. Summary of the Invention In accordance with a first aspect of the present invention, there is disclosed apparatus for processing a received spread spectrum signal, the apparatus comprising: input means for sampling the received signal and dividing the samples into 20 groups of consecutive samples; a plurality of adaptive step-size filter receivers arranged to process each group of samples to each provide a filtered output for the group and an error value, each filter receiver having a unique step size used in combination with the corresponding error value to adapt a characteristic of the filter receiver; and 25 selection means for processing the error values to select one of the filtered outputs as an output of the apparatus for the group of samples. Typically the filter receivers operate using a least mean squared (LMS) process to modify a filter characteristic thereof and generally comprise tapped delay line (transversal) filters and the LMS process updates filter taps of the filters according to 30 the corresponding step size. Advantageously, the filter receivers are arranged in parallel to process the group of samples simultaneously. In this fashion the filter receivers may be configured to iterate over each group of samples a plurality (MAXTRAIN) of times until at least one of the error values falls below a predetermined error value at which time a filtered 35 output from the corresponding filter receiver is output from the apparatus. For each iteration, the selection means examines the error values to determine a best error value therefrom to thereby apply filter characteristics of the corresponding filter receiver to each of the filter receivers for the next iteration. Preferably the filter characteristics comprise tap values for a tapped delay line (transversal) filter. Advantageously each of the error values is processed to derive a corresponding mean squared error (MSE) value for the group of samples and the lowest MSE value is used to select the corresponding filter characteristics. The number (MAXTRAIN) of iterations is adaptable so that if the predetermined error value is not obtained after a first predetermined number of iterations, the number of iterations is increased, and if the predetermined error value is not within a second number of iterations, the size of the group of samples is reduced, and the iterations recommenced with the reduced size groups. Preferably the apparatus further comprises training means for determining an initial filter characteristic for each filter receiver prior to commencement of iterations over the group of samples. Typically the means for determining includes means for iterating over a training sequence until an associated error falls below a predetermined value whereupon an initial filter characteristic is set on each of the filter receivers. Advantageously the length of each group of samples substantially corresponds at a coherence time of the communication channel from which the spread spectrum signal is received, thereby establishing a series of quasi-stationary environments thus permitting the suppression of multiple access interference by the apparatus. Preferably, the number of spread user symbols in each group is between 10 and 1000, and most preferably between 20 and 200. It is further desirable for each adaptation step size is a multiple of the estimate of the received signal power. In an alternative configuration, the filter receivers may be arranged in cascade. Spread spectrum receiver systems including the apparatus noted above are also disclosed. In accordance with a another aspect of the present invention, there is disclosed a method for receiving a spread spectrum signal, the method comprising the steps of: dividing a sampled received signal into groups of samples; applying a plurality of least mean squares filter processes to each group, each of the processes including a unique step size and forming a corresponding filtered group signal and an error signal; and processing the error signals to select a best one of the filtered group signals. Various embodiments of the present invention: (a) support the use of multiple step-sizes during training (W tra j n ), and during decision feedback stages (W^f). Preferably, each adaptation step size is a multiple of the inverse of the estimate of the received signal power; (b) provide for the division of the received signal into short, quasi- stationary regions of length P^f symbols and adjusting block size as necessary during periods when channel changes rapidly. Such division is unnecessary for systems using an AWGN channel; (c) disclose the training over the received data several times, to a maximum of F tra j n times, over each training signal section, to improve convergence, 5 and reprocessing a maximum of F^f times over each received data signal section to improve convergence during decision feedback stage; (d) disclose choosing best tap values from a training stage as initial condition for all tap sets before decision feedback stage; (e) disclose choosing best tap values after processing each data region as ι o an initial condition for all tap sets before next data region; (f) disclose the blocking/marking of regions having a poor (high) mean square error (MSE). This can be used as a level of confidence in detected results; and/or (g) disclose preventing a given set of tap values from being used as initial is conditions (above) if the error signal produced for the given adaptation step size for the current data region contains high instantaneous values of squared error (large singe error value). In this case, the next best tap values are used. If none are available, tap values are not swapped. A receiver constructed according to an embodiment of the present invention 20 generally has the same linear complexity as a single-user LMS-MMSE receiver. However, implementation of the invention allows incremental increases in complexity depending on the speed of convergence required and the BER quality required. If the cyclo-stationary period of the MAI is long compared to the delay length of the receiver, then the data can be approximated as independent, and the LMS 25 receiver works well. In a fading channel environment however, the correlation of values of the channel envelope means this relation no longer holds. By breaking such an environment up into regions with length approximately equal to the coherence time of the channel, then a series of quasi-stationary environments can be established in which the receiver is able to suppress the multiple access interference. Preferably, the 30 length of these regions is lower bounded by the requirement to retain a valid estimate of the stochastic gradient of the error function. Typically the present invention may be implemented with groups of more than 10 symbols, generally in the 10's of symbol, and in some cases between 100 and 200 symbols. The length is upper bounded by the time delay associated with processing and the extent to which time delays may be 35 tolerated in practical applications. The gradient estimate becomes more biased to the particular data sequence considered as the length of the region decreases. Brief Description of the Drawings A number of embodiments of the present invention are described hereinafter with reference to the drawings, in which: Fig. 1 is a schematic block diagram representation of a CDMA system according to a preferred embodiment; Fig. 2 is a schematic block diagram representation of a receiver used in Fig. 1 ; Fig. 3 is a flow diagram for the decision feedback stage of the receiver of Fig. 6; Fig. 4 is a flow diagram for the training stage of the receiver of Fig. 6; Fig. 5 is an example of a filter useful in the receiver of Fig. 2; Fig. 6 is a detailed diagram of a receiver according to the preferred embodiment; Fig. 7 is a diagram illustrating the packet structure used by the preferred embodiment including the training period and the data sub-blocks; Fig. 8 is schematic diagram of another embodiment; Fig. 9 is a schematic diagram of a further embodiment; and Fig. 10 is a schematic representation of a still further embodiment.. Detailed Description CDMA System Fig. 1 shows a CDMA system 10 including a number of transmitter circuits 20 and a number of receiver circuits 30. Each of the transmitter circuits 20 includes a data source 21 which provides input data (d) to a quadrature phase-shift keying (QPSK) modulator 22. The modulator 22 outputs to a mixer 23 also input with a spreading signal(s) to thus create a spread-spectrum signal (p) that is typically filtered in a low- pass-filter 24 prior to transmission. In Fig. 1, QPSK modulation/demodulation is a preferment. Other modulation constellation mapping techniques can be practiced, including: phase shift keying - BPSK, QPSK, and 8-PSK (in general, M-PSK); amplitude-phase shift keying - 16- QAM, 32-QAM (in general, APSK); and amplitude shift keying - as above, but only using real valued samples. As a result, for an arbitrary modulation/mapping function, the number of bits per symbol is m = log2M, where M is the number of different symbols available in the modulation/mapping technique. Hence T s is equal to mxT^,, where T s is the symbol period and Tj, is the bit period. Each subscriber in the system 10 is assigned a unique signature sequence. The total number of subscribers is equal to the number of sequences available. The number of sequences available depends upon the sequence family chosen and the length J of the sequences. The system users are those subscribers who are actively engaged in transmission and the number of users in the system 10 is K . The sequence of symbols transmitted by the k'th user, a^, is given by: = ak(-N), ..., ak(n), ..., afc(N) , where the number of symbols transmitted by each user is (2N+ 1). Each user symbol a j (i), is spread by the unique sequence assigned to the k'th user, s^. The modulator output signals at time t are pj(t), ..., pk(t), ... p (t). The users of the system 10 transmit over a common channel (e.g. free space), which is depicted in Fig. 1 by a fading channel mixer 40, and a convergence of transmitted signals onto an adder 45, also input with AWGN 47, and which precede each of the receiver circuits 30. Fig. 1 only shows one such convergence, the convergence of the transmitted signals on the other receiver circuits 30 being omitted from Fig. 1 for the sake of clarity. Those skilled in the art will appreciate that the mixer 40 and the adder 45 shown in Fig. 1 are not physical devices but result from the nature of common channel transmission and reception. The received signals, rι (t),..., ^(t),..., rκ(t) are applied to independent linear adaptive fractionally spaced receivers 50, which together with a QPSK demodulator 35, form the receiving circuit 30. Each linear receiver 50 is defined by the coefficient sequence c^ = (q^-M),..., c^(M)), which is optimised for the signal of the corresponding k'th transmitter. The binary data source for each user produces bits d^ and operates at a bit rate of τ y = 1 /T b . Each pair of bits is modulated to produce the sequence a^ giving a symbol period, T s = 2 *T b . The system structure is not dependent on the type of modulation used. The symbols are then spread by the signature sequence allocated to the given user. The nominal bandwidth of a user signal is B c = 1 /T c , where T c is the chip interval. The output filter 24 suppresses the signal spectrum outside the specified bandwidth B c and an up-converter (not illustrated but known in the art) shifts the signal spectrum from baseband by the carrier frequency f c . Overview of Adaptive Step-Size Receiver With reference to Fig. 2, on reception, the signal is input to a module 52 where it is downshifted to base-band by a down-converter and filtered by an antialiasing filter (AAF), having a bandwidth B s . The receiver 50 is fractionally spaced, and thus the filtered signal is preferably sampled every Tf seconds, where Tf = T c /2, by a sampler 54. Typically there are between 22 and 64 samples per symbol. The sampler 54 outputs to a receiver filter 56, an example of which can be a tapped delay line (transversal) filter shown in Fig. 5, and which has filter coefficient inputs (taps) cq(t), α2(t)...and so on. The filter 56 could alternatively be implemented with a lattice structure. An output b of the receiver 50 is then demodulated by the demodulator 35 to produce the estimated bit stream, d'^. The output b of the receiver 50, corresponding to that output from the receiver filter 56, is used in a feedback network 58 to adjust the tap coefficients α input to the receiver filter 56. The network 58 includes a switch 60 which directs the output b to either a training sequence 62, or a limiter 64 for normal operation subsequent to a training sequence. The training sequence allows the receiver to minimise the MAI. It also allows phase tracking and equalisation of channel distortion. The output from the limiter 64 or training sequence 62 is then subtracted from the output signal b in a subtractor 66 to provide an error signal which is input to an LMS update processor 68. The processor 68 is also input with a step size, which determines the convergence rate of the LMS update process. Recursive least squares (RLS) or some other gradient technique may optionally be practiced. The processor 68 outputs the tap values α, mentioned above. The error function produced by the difference between the receiver output symbol estimate sequence b\, and the reference symbol sequence, is used in the update process for the adaptive tap coefficients. During the training period, the reference sequence is generated by a training sequence generator. The update process used for the receiver structure is preferably a least mean squares (LMS) process which is the simplest member of a family of MMSE processes and is very robust in the sense of convergence under a range of MAI conditions . The feedback network 58 ensures that the LMS receiver 50 has an adaptive structure. A mis-adjustment between the LMS receiver coefficients α and those of an optimal receiver in any given situation is proportional to the adaptation step-size chosen. So for small step-sizes, the mis-adjustment is small, however the rate of convergence is low. When the receiver 50 is forced to repeatedly train or adapt over short regions of input signal using a range of step-sizes, the mean square error (MSE) produced from each set of receiver taps approaches convergence in decreasing order of step-size. Therefore, it is possible to approach a small MSE by decreasing the lower limit of possible step-size values, and increasing the number of training or decision feedback iterations provided the signal region considered is stationary. Alternatively, it is possible to improve the rate of convergence by increasing the upper limit on step-size values. Sufficient convergence of the receiver 50 is judged to have occurred when at least one set of receiver taps have obtained a short term MSE value below a given threshold. The short term MSE is defined as the average of squared error (SE) values over some region at end of the training or adaptation of the region. The region typically includes a number of symbols, represented by a larger number of samples of the detected signal. The threshold value can be set according to the required BER quality of the received signal. The square error for any symbol should also not exceed some fixed fraction of the maximum error (100 %). For a stationary channel, there exists a unique step-size for the maximum rate of convergence of all taps in the receiver structure toward the optimal values. For fading or non-stationary channels, the channel envelope and phase changes for each user forcing a change in the nature of the MAI received for the user are of interest. The MAI can therefore no longer be considered cyclo-stationary. Depending on the rate of channel fading however, the MAI will retain some of the same characteristics for short periods. To allow for this effect, in the described embodiments a range of step-sizes are considered for both training and decision feedback stages. The range of step-sizes is preferably based on multiples of the optimal step-size for an AWGN channel. This is equivalent to training with S receivers simultaneously. It should be noted that the choice of step-size range is simply to facilitate the numerical examples described later in this document. Step-size values can be chosen in many ways. In the LMS case, the number of step-sizes S being considered can be chosen depending on the desired complexity of the system. More generally, S is the number of parallel AFSFs being used. After the training period, the best tap values for the receiver are chosen based on the final short-term average value of the squared error (i.e. : the short term MSE). As mentioned earlier, convergence rate is a major problem with the use of the LMS process. To counter this, in the preferred embodiment the received signal is split into small quasi-stationary regions and both data and training signals are processed F^f and F tra j n times, respectively. By training or adapting over the same region of signal several times, the receiver 50 is effectively given more symbols with constant or very similar MAI characteristics to converge over. This allows the receiver 50 to adapt to the MAI without having to contend with the non-stationary nature of the channel. If the channel is changing rapidly in the region of interest however, it will be necessary to reduce the size of the region further to obtain a quasi-stationary region. This is particularly true in the event of the channel undergoing a deep fade simultaneously with a change of phase. A lower limit on the data region length must be imposed however in order to preserve the gradient vector estimate required for the LMS algorithm to operate. After several decision feedback iterations, if the short-term MSE is above a certain threshold or some value of the square error is greater than a fixed value of the maximum symbol error, then that small section of data is "blocked" or marked as being in poor condition. If two (or more) such receivers are used in an diversity situation, then the received values of the short term MSE in each receiver may be used as a metric to determine from which antenna the data decisions are to be taken for a given data section. An example of this is seen in Fig. 8 where a number of LMS adaptive step size receivers *l-*w substantially simultaneously receive the same transmission and their corresponding short term MSE's are compared and used to select for output the received signal having the least error. Alternatively, the relative weighting of the contributions of each antenna may be used, as seen in Fig. 9 where the short term MSE's are used to combine the received signals according to the inverse proportions of the short term MSE's. In a particular application, the short term MSE's may be raised to a power (n, being a real number) in order to provide relative weighting to the smaller short term MSE's. For the training phase, if poor values of short term MSE are detected even 5 after breaking the training region into smaller regions, the data region is abandoned if the threshold is not reached. If the region is abandoned, the transmitter can be requested to resend the packet. The degree of convergence depends significantly on the number of iterations of training, so this provides a parameter which may be used to trade computational complexity for convergence rate in terms of number of symbols ι o required. The short-term MSE threshold can be used to specify a level of quality in terms of expected bit error rate (BER). A low threshold leads to more data regions being blocked while ensuring a lower average error rate for those which are not blocked. This approach can be further improved by considering overlapping regions of 15 data rather than consecutive, disjoint regions. The amount of overlap (B), can be used to control the size of the quasi-stationary region considered. Receiver According to Preferred Embodiment Fig. 6 is a detailed block diagram of the receiver 630 according to the preferred embodiment, which is described hereinafter with reference to the flow 20 diagrams of Figs. 3 and 4. The receiver 630 comprises downshifting and anti-aliasing filtering module 652, a sampler 654, W receiver filters 656A to 656C, tap-update modules 668 A to 668C, output buffers 666A to 666C, and a select module 668. The output b of receiver 650 is coupled to a demodulator device 635. 25 The received signal is provided as input to the downshifting and anti-aliasing filtering module 652 which operates in the manner described above with reference to module 52 of Fig. 2. The output of this module is provided as input to the sampler 654, which provides sampled output r to a signal buffer module 660. The sampled signal includes a plurality of symbols which are required to be decoded. The sampled 30 signal is divided into groups or blocks of samples where a number of samples are used to represent a symbol. Preferably, the number of spread user symbols in each group is between 10 and 1000, and most preferably between 20 and 200. The output of signal buffer 660 is provided to a train buffer 662. As shown in Fig. 6, the train buffer 662 has two inputs: a load-train-buffer signal 670 and a MAXTRAIN signal 664. The load- 35 train-buffer signal 670 is output by the select module 668. The train buffer 662 tracks its output, which is provided in a feedback manner. MAXTRAIN is the maximum number of times each data section is trained over. This is a predetermined number based on the allowable complexity of the receiver 630. The larger MAXTRAIN is the more computationally intensive the receiver 630 becomes. MAXTRAIN may be changed at any time, and can be allowed to decrease as more data or "sub-packets" are processed. The confidence in the convergence of the receiver 630 decreases as the number of data blocks processed increases. Further, the output of the train buffer 662 is provided to each of W receiver filters 656A to 656C. The train buffer 662 holds the signal which each of the receiver stages is iteratively processing. The train buffer 662 loads a length of sampled signal and holds it until the filter stages have completed processing. When this occurs, the best result is selected and the train buffer is loaded with the next block of input signal. The signal buffer 660 is used before the train buffer 662 to hold the continually arriving signal at the front end of the receiver 630. The data structure comprising the sequence of transmitted/received symbols is shown in Fig. 7, including the packet structure including the training period and the data sub-blocks. The length of each data block is variable (depending on the channel fade rate). As noted before, each data block is iteratively processed. The receiver filters 656A to 656C are each provided with new tap values 672 from the output of the select module 668. Further, the receiver filters 656A to 656C are each provided with respective tap update inputs from the corresponding tap-update module 668A to 668C. The tap-updates module 668A to 668C are also each provided with a respective step-size input and an error signal 678A to 678C from the respective receiver filter 656A to 656C. The error signals 678 A to 678C are generated by each receiver filter 656A- 656C in the same manner as those signals are generated in Fig. 2. Each receiver filter 656A-656C has a step size that is some multiple of the "optimum" step size. The optimum step size is related to the inverse of the received signal power. Each filter 656A-656C uses a fraction of this optimal step-size (e.g., 2x, lx, 0.5x, 0.25x, 0.125x) as its step-size. Each filter 656A-656C therefore performs a calculation to determine the step size once the "optimum" step size has been calculated or estimated. The stage where the estimation of the optimal step size is not shown. The process of estimating such a step size will be well understood by those persons skilled in the art. Each of the receiver filters 656A to 656C provides two further outputs. The tap values 674A to 674C of the respective receiver filters 656A to 656C are provided as inputs to the select module 668. Further, the filtered output signals 676 A to 676C of receiver filters 656A to 656C are provided to respective output buffers 666A to 666C. The output buffers 666A to 666C are coupled to the select module 668. Again, the select module 668 provides the load train buffer signal 670 and the new tap values 672. The output signal b from the select module 668 is provided to the demodulation device 635. The select module 668 provides the load train buffer signal 670 to select between either the training sequence or normal operation subsequent to a training sequence. The select module 668 selects the best set of receiver coefficients from the tap values 674A-674C after each processing iteration has been completed for a given data block. The select module 668 uses the filter coefficients of the best filter, as the initial values for all filters for the next iteration. Again, such data blocks or sub-blocks are shown in Fig. 7. The best coefficients are determined to belong to the filter that has the lowest short term MSE for the iteration just completed for the block. This short term MSE as noted above is taken as being the sum of the square differences between the guesses of the received symbols (expected symbols) and the symbol estimates produced as the filter output. In the preferred embodiment, the short term MSE is taken over half the block length. A set of filter coefficients is not used as initial values for the next iteration if they have resulted in a squared error value for any symbol (in the current data block) which is greater than a fixed fraction of the maximum symbol error. Preferably, this value is 90% of the symbol error. If, after MAXTRAIN processing iterations on the current block, there is not a set of filter taps that may be selected because of this "maximum error" criteria, the block is marked as "bad" and may be used as a trigger for a re-transmission attempt. The short term MSE is used to indicate whether any filter output has produced a sufficiently good output to have confidence in the "guesses" (expected values) of the received symbols. If the short term MSE is large, the block is marked as being "bad". The size of a data block depends on the fading rate of the channel. If the fade rate is high, the block size decreases. As shown in Fig. 6, each of the receiver filters 656A-656C receives new tap values 672 from the select module 668, and this occurs after each iteration. During the iteration, each receiver filter 656A-656C is provided with respective updated tap values from the corresponding tap update modules 668A to 668C. In preferred embodiment, the receiver filters 656A to 656C comprise means for generating the corresponding error signals. Again, the error signals 678A to 678C correspond to those generated in Fig. 2. The output b of the filter 650 is selected by the select module 668 and corresponds to that in the buffer 66A-66C for the receiver filter 656A-656C having the best set of tap values. The output b may be taken as it becomes available, but generally is taken after MAXTRAIN iterations after the whole block of data has been processed. The preferred embodiment shown in Fig. 6 is described with reference to the flow diagram for the training algorithm shown in Fig. 4. Processing commences in step 410, in which training data is loaded. Preferably, the select module 668 generates the load train buffer signal 670 to do so. The data is provided at the output of the train buffer 662. In step 412, multi-step LMS processing is carried out. In decision step 414, a check is made to determine if the maximum number of loops has been reached in respect of each of the short term MSE values. If decision step 414 returns false (no), processing continues at step 412. Otherwise, if decision step 414, returns true (yes), processing continues at decision step 416. In decision step 416, the short term MSE values are checked to determine if they are acceptable. If decision step 416 returns false (no), processing continues at 5 decision step 418. In decision step 418, a check is made to determine if the maximum number of loops is to be increased. If decision step 418 returns true (yes), processing continues at step 412, where the maximum number of loops is increased. Otherwise, if decision step 418 returns false (no), processing continues at decision step 420. ι o In decision step 420, a check is made to determine if the training period is to be decreased. If decision step 420 returns true (yes), processing continues at step 412, in which the training period is decreased. Otherwise, if decision step 420 returns false (no), processing continues at step 422. In step 422, a failure has occurred and all regions are blocked. 15 If decision step 416 returns true (yes), processing continues at step 424. In step 424, the initial tap state is set. The select module 668 provides new taps 672 to each of the receiver filters 656 A to 656C. Processing then continues to the decision feedback process. Fig. 3 is a flow diagram illustrating the decision feedback process implemented 20 in the receiver 630 of Fig. 6. Processing commences at step 310, in which the received signal is loaded from the signal buffer 660 and provided as input via the training buffer 662 to the receiver filter 656A to 656C. In step 312, multi-step LMS processing is applied to the data to generate short term MSEs. In decision step 314, a check is made to determine if the maximum 25 number of loops of the multi-step LMS process has been reached. If decision step 314 returns false (no), processing continues at step 312. Otherwise, if decision step 314 returns true (yes), processing continues at decision step 316. In decision step 316, a check is made of the short term MSEs provided from step 312 to determine if each of them is sufficient. If decision step 316 returns false (no), processing continues at 30 decision step 318. In decision step 318, a check is made to determine if the maximum number of loops is to be increased. If decision step 318 returns true (yes), processing continues at step 312 in which the maximum number of loops is increased. Otherwise, if decision step 318 returns false (no), processing continues at decision step 320. 35 In decision step 320, a check is made to determine if the region size is to be decreased. If decision step 320 returns true (yes), processing continues at step 312, in which the region size is decrease. Otherwise, if decision step 320 returns false (no), processing continues at step 322. In step 322, a failure has occurred and the region is blocked. Otherwise, if decision step 316 returns true (yes), processing continues at step 324. In step 324, the tap values are set to be the best short term MSEs, which is provided by the output of the select module as new taps 672 to the receiver filters 656A to 656C. Processing then continues with the next data region. The embodiment of Figs. 3, 4 and 6 may be applied in each of the embodiments of Figs. 8 and 9. Whereas the embodiment of Figs. 3, 4 and 6 processes over one section of data a plurality of times, it is thus possible to have a corresponding plurality of cascaded processes each performing a single iteration for each block of samples. Such an arrangement requires more hardware but is faster and thus suited where reception delays are undesired. An example of such a cascaded arrangement is seen in Fig. 10 where MAXTRAIN multi-step LMS receiver stages, corresponding to the receiver filter module and select module of Fig. 6 are cascaded. Each stage performs a single iteration, and passes its results, being the selected filter output having the smallest short term MSE' and the corresponding new tap values, to the next stage. Only a small number of embodiments of the invention have been described, however, modifications and changes to those embodiments can be made without departing from the scope and spirit of the invention.

Claims: CLAIMS: 1. Apparatus for processing a received spread spectrum signal, said apparatus comprising: input means for sampling said received signal and dividing the samples into groups of consecutive samples; a plurality of adaptive step-size filter receivers arranged to process each said group of samples to each provide a filtered output for said group and an error value, each said filter receiver having a unique step size used in combination with the corresponding said error value to adapt a characteristic of said filter receiver; and selection means for processing said error values to select one of said filtered outputs as an output of said apparatus for said group of samples. 2. Apparatus according to claim 1 wherein said filter receivers operate using a least mean squared (LMS) process to modify a filter characteristic thereof. 3. Apparatus according to claim 2 wherein said filter receivers comprise tapped delay line (transversal) filters and said LMS process updates filter taps of said filters according to the corresponding step size. 4. Apparatus according to claim 1 wherein said filter receivers are arranged in parallel to process said group of samples simultaneously. 5. Apparatus according to claim 4 wherein said filter receivers are configured to iterate over each said group of samples a plurality (MAXTRAIN) of times until at least one of said error values falls below a predetermined error value at which time a filtered output from the corresponding said filter receiver is output from said apparatus. 6. Apparatus according to claim 5 wherein for each iteration, said selection means examines said error values to determine a best error value therefrom to thereby apply filter characteristics of the corresponding said filter receiver to each of said filter receivers for the next iteration. 7. Apparatus according to claim 5 wherein said filter characteristics comprise tap values for a tapped delay line (transversal) filter. 8. Apparatus according to claim 5 wherein each said error values is processed to derive a corresponding mean squared error (MSE) value for said group of samples and the lowest MSE value is used to select the corresponding filter characteristics. 9. Apparatus according to claim 5 wherein the number (MAXTRAIN) of iterations is adaptable so that if the predetermined error value is not obtained after a first predetermined number of iterations, the number of iterations is increased, and if the predetermined error value is not within a second number of iterations, the size of the group of samples is reduced, and the iterations recommenced with the reduced size groups. 10. Apparatus according to claim 5 further comprising training means for determining an initial filter characteristic for each said filter receiver prior to commencement of iterations over said group of samples. 11. Apparatus according to claim 10 wherein said means for determining includes means for iterating over a training sequence until an associated error falls below a predetermined value whereupon an initial filter characteristic is set on each of said filter receivers. 12. Apparatus according to claim 1 wherein the length of each said group of samples substantially corresponds at a coherence time of the communication channel from which said spread spectrum signal is received, thereby establishing a series of quasi-stationary environments thus permitting the suppression of multiple access interference by said apparatus. 13. Apparatus according to claim 12 wherein the number of samples in each said group is between 10 and 1000. 14. Apparatus according to claim 13 wherein the number of samples in said groups is between 20 and 200. 15. Apparatus according to claim 1 wherein each said adaptation step size is a multiple of the estimate of the received signal power. 16. Apparatus according to claim 1 wherein said filter receivers are arranged in cascade. 17. A spread spectrum receiver system comprising: detecting means for detecting a spread spectrum signal and providing a received spread spectrum signal to apparatus according to any one of the preceding claims; and a decoder for decoding symbols from a filtered output of said apparatus. 18. A spread spectrum receiver system comprising: a plurality of detecting means for each detecting a single spread spectrum signal; a plurality of apparatus according to any one of claims 1 to 16, each said apparatus being input with a received spread spectrum signal output from a corresponding one of said detecting means; determining means for determining, from said error values corresponding to selected filtered outputs, an single output of said apparatus; and a decoder for decoding symbols from said single output of said determining means. 19. A system according to claim 18 wherein said determining means compares said error values corresponding to selected filtered outputs to determine identify the smallest error value, said single output being the filtered output corresponding to said smallest error value. 20. A system according to claim 18 wherein said determining means determines a combination of each said selected filtered output weighted by an inverse proportion of the corresponding error value. 21. A linear adaptive fractionally spaced receiver comprising: a buffer configured to receive a portion of a sampled input signal incorporating a data symbol; a plurality of filter modules each configured to simultaneously process said portion, each said filter module including a receiver filter configured to filter said portion using a plurality of filter coefficient values updated from a coefficient module, said coefficient module being input with an error signal derived from the corresponding said receiver filter and a step size value unique to said filter module; a select module for receiving an output of each said receiver filter and corresponding said filter coefficient values and for selecting a best set of said filter coefficient values that provide a lowest error between an expected data symbol and that output from the corresponding receiver filter; and means for applying the best set of filter coefficients as initial coefficients for each said receiver filter until an iterated data symbol is output from one of said receiver filters that achieves at least a maximum predetermined error for said symbol. 22. A receiver as according to claim 21, wherein said error comprises a short term mean square error for the iteration just completed. 23. A receiver as according to claim 21 , wherein a predetermined number of iterations are performed prior to the lowest error being compared with the predetermined error. 24. A receiver according to claim 23, wherein if the lowest error when compared to the predetermined error exceeds the predetermined error, the number of iterations is increased. 25. A receiver according to claim 24, wherein if the number of iterations is increased to a predetermined maximum and said predetermined error remains exceeded, a size of said portion is reduced and said iterations recommenced. 26. A receiver according to claim 25, wherein if the size of said portion is reduced to a minimum size and a predetermined maximum number of iterations reached and said predetermined error remains exceeded, said portion is rejected from reception. 27. A method for receiving a spread spectrum signal, said method comprising the steps of: dividing a sampled received signal into groups of samples; applying a plurality of least mean squares filter processes to each said group, each of said processes including a unique step size and forming a corresponding filtered group signal and an error signal; processing said error signals to select a best one of said filtered group signals. 28. A method according to claim 27 wherein said processing of said error signals comprises comparing a mean square error of each of said error signal to identify a smallest mean square error, and selecting the said filtered group signal corresponding to the smallest mean square error. 29. A method according to claim 28 wherein said filter processes operate in parallel and iteratively on said group and further comprising the step of using filter characteristics of said filter process corresponding to said selected filtered group signal in each of said filter processes in a subsequent iteration. 30. A method according to claim 29 wherein said iterations continue until the identified smallest mean square error is below a predetermined error limit. 31. A method according to claim 30 further comprising the step of adjusting the number of samples in said group if, after a predetermined number of iterations the smallest mean square error exceeds said predetermined limit. 32. A method according to claim 30 comprising the further step, before processing said group of, iteratively processing a training sequence to adjust filter characteristics of said filter processes to within an optimal mean square error value. o 33. A method according to claim 32, wherein said training sequence acts to minimise multiple access interference in said filtered signal. 34. A method for receiving code division multiple access transmission, said method comprising the steps of: 5 (a) dividing a received signal into regions of quasi-stationarity; (b) applying a plurality of least mean squares filter processes in parallel to each region, each said process including a unique step size and forming a corresponding filtered region signal; (c) repeating step (b) until at least an error from one of said processes o falls below a predetermined value; and (d) outputting to a decoder the filtered region signal corresponding to said one process. 35. Apparatus for receiving a spread spectrum signal substantially as described 5 herein with reference to Figs. 2 and 6, or Figs. 2 to 7, or Figs. 2 and 8, or Figs. 2 and 9, or Figs. 2, 6 and 8, or Figs. 2, 6 and 9, or Figs. 2 and 10 of the drawings. 36. A method or receiving a spread spectrum signal substantially as described herein with reference to Fig. 3, or Figs. 3 and 4, or Figs. 2 to 8, or Figs. 2 and 8, or 0 Figs. 2 and 9, or Figs. 2, 6 and 8, or Figs. 2, 6 and 9, or Figs. 2 and 10 of the drawings. 5 AMENDED CLAIMS [received by the International Bureau on 26 June 1998 (26.06.98); original claims 1-36 replaced by amended claims 1-37 (5 pages)] 1. Apparatus for processing a received spread spectrum signal, said apparatus comprising: input means for sampling said received signal and dividing the samples into groups of consecutive samples; a plurality of adaptive step-size filter receivers arranged to process each said group of samples to each provide a filtered output for said group and an error value, each said filter receiver having a unique step size and being used in combination with o the corresponding said error value to adapt a characteristic of said filter receiver; and selection means for processing said error values to select one of said filtered outputs as an output of said apparatus for said group of samples. 2. Apparatus according to claim 1 wherein said filter receivers operate using a s least mean squared (LMS) process to modify a filter characteristic thereof. 3. Apparatus according to claim 2 wherein said filter receivers comprise tapped delay line (transversal) filters and said LMS process updates filter taps of said filters according to the corresponding step size. 0 4. Apparatus according to claim 1, 2 or 3 wherein said filter receivers are arranged in parallel to process said group of samples simultaneously. 5. Apparatus according to claim 4 wherein said filter receivers are configured to 5 iterate over each said group of samples a plurality (MAXTRAIN) of times until at least one of said error values falls below a predetermined error value at which time a filtered output from the corresponding said filter receiver is output from said apparatus, 6. Apparatus according to claim 5 wherein for each iteration, said selection means 0 examines said error values to determine a best error value therefrom to thereby apply filter characteristics of the corresponding said filter receiver to each of said filter receivers for the next iteration. 7. Apparatus according to claim 5 or 6 wherein said filter characteristics 5 comprise tap values for a tapped delay line (transversal) filter. 8. Apparatus according to claim 5, 6 or 7 wherein each said error values is processed to derive a corresponding mean squared error (MSE) value for said group of samples and the lowest MSE value is used to select the corresponding filter characteristics. 9. Apparatus according to any one of claims 5 to 8 wherein the number (MAXTRAIN) of iterations is adaptable so that if the predetermined error value is not obtained after a first predetermined number of iterations, the number of iterations is increased, and if the predetermined error value is not within a second number of iterations, the size of the group of samples is reduced, and the iterations recommenced with the reduced size groups. 10. Apparatus according to any one of claims 5 to 9 further comprising training means for determining an initial filter characteristic for each said filter receiver prior to commencement of iterations over said group of samples, 11. Apparatus according to claim 10 wherein said means for determining includes means for iterating over a training sequence until an associated error falls below a predetermined value whereupon an initial filter characteristic is set on each of said filter receivers. 12. Apparatus according to any one of the preceding claims wherein the length of each said group of samples substantially corresponds at a coherence time of the communication channel from which said spread spectrum signal is received, thereby establishing a series of quasi-stationary environments thus permitting the suppression of multiple access interference by said apparatus. 13. Apparatus according to claim 12 wherein the number of samples in each said group is between 10 and 1000. 14. Apparatus according to claim 13 wherein the number of samples in said groups is between 20 and 200. 15. Apparatus according to claim 12 wherein the number of samples in each said corresponds to at least 10 symbols. 16, Apparatus according to any one of the preceding claims wherein each said adaptation step size is a multiple of the estimate of the received signal power. 17. Apparatus according to any one of the preceding claims wherein said filter receivers are arranged in cascade. 18. A spread spectrum receiver system comprising: detecting means for detecting a spread spectrum signal and providing a received spread spectrum signal to apparatus according to any one of the preceding claims; and a decoder for decoding symbols from a filtered output of said apparatus. 19. A spread spectrum receiver system comprising: a plurality of detecting means for each detecting a single spread spectrum signal; a plurality of apparatus according to any one of claims 1 to 17, each said apparatus being input with a received spread spectrum signal output from a corresponding one of said detecting means; deteπnining means for determining, from said error values corresponding to selected filtered outputs, an single output of said apparatus; and a decoder for decoding symbols from said single output of said determining means. 20. A system according to claim 19 wherein said determining means compares said error values corresponding to selected filtered outputs to determine identify the smallest error value, said single output being the filtered output corresponding to said smallest error value. 21. A system according to claim 19 or 20 wherein said determining means determines a combination of each said selected filtered output weighted by an inverse proportion of the corresponding error value. 22. A linear adaptive fractionally spaced receiver comprising: a buffer configured to receive a portion of a sampled input signal incorporating a data symbol; a plurality of filter modules each configured to simultaneously process said portion, each said filter module including a receiver filter configured to filter said portion using a plurality of filter coefficient values updated from a coefficient module, said coefficient module being input with an error signal derived from the corresponding said receiver filter and a step size value unique to said filter module; a select module for receiving an output of each said receiver filter and corresponding said filter coefficient values and for selecting a best set of said filter coefficient values that provide a lowest error between an expected data symbol and that output from the corresponding receiver filter; and means for applying the best set of filter coefficients as initial coefficients for each said receiver filter until an iterated data symbol is output from one of said receiver filters that achieves at least a maximum predetermined error for said symbol. 23. A receiver as according to claim 22, wherein said error comprises a short term mean square error for the iteration just completed. 24. A receiver as according to claim 22 or 23, wherein a predetermined number of iterations are performed prior to the lowest error being compared with the predetermined error. 25. A receiver according to claim 24, wherein if the lowest error when compared to the predetermined error exceeds the predetermined error, the number of iterations is increased. 5 26. A receiver according to claim 25, wherein if the number of iterations is increased to a predetermined maximum and said predetermined error remains exceeded, a size of said portion is reduced and said iterations recommenced. o 27. A receiver according to claim 26, wherein if the size of said portion is reduced to a minimum size and a predetermined maximum number of iterations reached and said predetermined error remains exceeded, said portion is rejected from reception. 28. A method for receiving a spread spectrum signal, said method comprising the 6 steps of: dividing a sampled received signal into groups of samples each said group corresponding to at least 10 received symbols; applying a plurality of least mean squares filter processes to each said group, each of said processes including a unique step size and forming a corresponding filtered o group signal and an error signal; processing said error signals to select a best one of said filtered group signals. 29. A method according to claim 28 wherein said processing of said error signals comprises comparing a mean square error of each of said error signal to identify a 6 smallest mean square error, and selecting the said filtered group signal corresponding to the smallest mean square error. 30. A method according to claim 29 wherein said filter processes operate in parallel and iteratively on said group and further comprising the step of using filter characteristics of said filter process corresponding to said selected filtered group signal in each of said filter processes in a subsequent iteration. 31. A method according to claim 30 wherein said iterations continue until the ε identified smallest mean square error is below a predetermined error limit. 32. A method according to claim 31 further comprising the step of adjusting the number of samples in said group if, after a predetermined number of iterations the smallest mean square error exceeds said predetermined limit. 0 33, A method according to claim 31 or 32 comprising the further step, before processing said group of, iteratively processing a training sequence to adjust filter characteristics of said filter processes to within an optimal mean square error value, 5 34, A method according to claim 33, wherein said training sequence acts to minimise multiple access interference in said filtered signal. 35. A method for receiving code division multiple access transmission, said method comprising the steps of: 0 (a) dividing a received signal into regions of quasi-stationarity; (b) applying a plurality of least mean squares filter processes in parallel to each region, each said process including a unique step size and forming a corresponding filtered region signal; (c) repeating step (b) until at least an error from one of said processes 5 falls below a predetermined value; and (d) outputting to a decoder the filtered region signal corresponding to said one process. 36. Apparatus for receiving a spread spectrum signal substantially as described o herein with reference to Figs. 2 and 6, or Figs. 2 to 7, or Figs. 2 and 8, or Figs. 2 and 9, or Figs. 2, 6 and 8, or Figs. 2, 6 and 9, or Figs. 2 and 10 of the drawings. 37. A method or receiving a spread spectrum signal substantially as described herein with reference to Fig. 3, or Figs. 3 and 4, or Figs. 2 to 8, or Figs, 2 and 8, or 5 Figs. 2 and 9, or Figs. 2, 6 and 8, or Figs. 2, 6 and 9, or Figs. 2 and 10 of the drawings.

Inventors: OPPERMANN IAN JAMES, OPPERMANN, IAN, JAMES
Applicants: OPPERMANN IAN JAMES, SOUTHERN PORO COMMUNICATIONS P, OPPERMANN, IAN, JAMES, SOUTHERN PORO COMMUNICATIONS PTY. LTD.
Application year: 1998
Main classification: H04B1
IPC codes: H04B1