Abstract:
The invention provides a generic and comprehensive architecture to optimise several space-time adaptive algorithms and their applications for both CCI and ISI interference cancellation for MIMO systems. The basic idea of this invention is to optimise space-only processes and time-only processes and their combination to take account of the varying affects of CCI and ISI in a given environment. This maximises the efficiency of adaptive algorithms. The invention is targeting on unknown CCI or co-antenna interference of other operating system at the same frequency band.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to digital communication systems and in particular to multiple antenna systems using the multiple-input multiple-output (MIMO) system.  
       BACKGROUND OF THE INVENTION  
       [0002]     As the demands on wireless communications continue to increase, the need for ever higher data throughput capacity rises. Various schemes have been proposed to maximise the amount useable bandwidth and to use the available bandwidth as efficiently as possible.  
         [0003]     Co-channel interference (CCI) and inter-symbol interference (ISI), which are the two major interference sources in wireless communication, differ from each other in many ways. Two major differences lie in the imbalance of energy and the different characteristics they have in the spatial and temporal domains.  
         [0004]     Beamforming is an effective way of excluding interference emanating from a direction other than that of the desired transmitter. This has conventionally been used for narrowband applications, since it is difficult for the beamformer to distinguish between CCI and ISI. However, on the other hand, beamforming can be effective at eliminating strong CCI and ISI interference. The difficulty of beamformers to distinguish between CCI and ISI can reduce the overall efficiency of traditional beamforming applications. By failing to distinguish between these types of interference, any imbalance will adversely affect the performance of the receiver.  
         [0005]     Recently, the multiple-input multiple-output (MIMO) system has been investigated. This provides a considerable increase in throughput at relatively small cost in terms of bandwidth. However, the processing overhead for this type of communication technique is significant. In addition, this type of system involves considerable processing overhead in trying to remove inference both from unknown co-channel interference (CCI) from external interferers as well as inter symbol interference (ISI).  
         [0006]     When considering unknown interference in a system, adaptive antenna techniques have been proven to be a powerful technique to eliminate the interference efficiently. This kind of interference can be from other systems operating in the same frequency band. However, for a MIMO system, the unknown interference is normally treated as additional noise (coloured-noise) and this will significantly reduce the expected system capacity.  
         [0007]     Various techniques have been proposed for dealing with interference. One technique is suggested in a paper by J. W. Liang, et al, entitled “A Two-Stage Hybrid Approach for CCI/ISI Reduction with Space-Time Processing”, IEEE Comm. Letters, Vol. 1, No. 6, November 1997. The system described involves a simple two-stage hybrid approach for CCI and ISI reduction. Two completely separated processes are employed to act on CCI and ISI independently and sequentially. However, the obvious weakness of this arrangement is the great dependency on accurate channel estimation. In fact, with CCI, channel estimation cannot be performed accurately with this technique. Furthermore, this technique is described for use in a single input system.  
         [0008]     The papers entitled “A Low Complexity Turbo Adaptive Interference Cancellation Using Antenna Arrays for W-CDMA” by D. Mottier, L. Brunel, IEEE VTC2001-fall and “Iterative Interference Cancellation for High Spectral Efficiency Satellite Communications”, by B. F. Beidas, et al, IEEE Trans. on Comm., Vol. 50, No. 1, January 2002 propose iterative interference cancellation schemes but for use with single-input single-output systems using CDMA. The interference target is multi-user interference, which is specific to CDMA systems.  
         [0009]     No single algorithm can employ to operate efficiently on both CCI and ISI. For example, MLSE-type algorithms can effectively equalise ISI but are susceptible to CCI.  
         [0010]     The present invention therefore aims to provide a solution to the problems of cancelling ISI and CCI effectively. In particular, the present invention aims to provide an iterative beamforming approach for use in a MIMO system to eliminate unknown interference, which is the interference from other systems which are being operated at the same frequency band.  
       SUMMARY OF THE INVENTION  
       [0011]     Therefore according to the present invention there is provided a method of obtaining an estimate of a transmission channel to a receiver, the method comprising: 
        a) receiving input signals from a plurality of receive antennas, said input signals being based upon a predetermined training sequence which has been transmitted to said receiver;     b) determining a first estimate of said transmission channel, based upon said input signals and said predetermined training sequence;     c) carrying out co-channel interference cancellation on said input signals using said first transmission channel estimate, to provide an intermediate signal;     d) determining a second estimate of said transmission channel based upon said intermediate signal and said predetermined training sequence;     e) carrying out inter-symbol interference cancellation on said intermediate signal using said second transmission channel estimate, to provide an output signal; and     f) carrying out the following steps one or more times: 
            i) revising said first transmission channel estimate based upon said input signals, said predetermined training sequence and said second channel estimate;     ii) carrying out co-channel interference cancellation on said input signals using said revised first transmission channel estimate, to provide a revised intermediate signal;     iii) revising said second transmission channel estimate based upon said revised intermediate signal, said predetermined training sequence and said second channel estimate; and     iv) carrying out inter-symbol interference cancellation on said revised intermediate signal using said revised second transmission channel estimate, to provide a revised output signal.    
               
 
         [0022]     The present invention further provides a receiver for optimising an estimate of a transmission channel over which signals based upon a predetermined training sequence are being transmitted to said receiver, the receiver comprising: 
        a training sequence generator for generating a training sequence;     a plurality of antennas for producing input signals based upon said signals transmitted to said receiver;     first transmission channel estimator for generating a first transmission channel estimate based upon said input signals and said predetermined training sequence;     co-channel interference canceller for cancelling co-channel interference in said input signals and using said first transmission channel estimate, to provide an intermediate signal;     second transmission channel estimator for generating a second transmission channel estimate based upon said intermediate signal and said predetermined training sequence and further adapted for selectively generating a revised second transmission channel estimate based upon said intermediate signal, said predetermined training sequence and a previously calculated second transmission channel estimate; and     inter-symbol interference canceller for cancelling inter-symbol interference in said intermediate signal using said second transmission channel estimate, to provide an output signal, wherein     said second transmission channel estimator is adapted to feed back said second transmission channel estimate to said first transmission channel estimator; and     said first transmission channel estimator is adapted to selectively use said second transmission channel estimate along with said input signals and said predetermined training sequence for generating a revised first transmission channel estimate.        
 
         [0031]     The architecture of this scheme contains two space-time filters, which can be operated sequentially. The primary purpose of the first filter is CCI cancellation whereas the primary purpose of the other filter is ISI cancellation. This separation of processing the ISI and CCI whilst operating an integrated channel estimation scheme provides considerable improvements over the prior art systems. Each filter can be optimised to the removal of the specific type of interference.  
         [0032]     By providing a filter for CCI and applying that to the signal before estimating the channel and applying ISI filtering, the estimate and ISI filtering is considerably improved due to the removal of CCI interference.  
         [0033]     The present invention preferably also uses a known interference of inter-system interference cancellation stage prior to the CCI cancellation. Removal of the known interference farther enhances the performance of the CCI and ISI filters which follow.  
         [0034]     The CCI filter is preferably a beamformer which operates on the received signals from the antenna. The beamformer is preferably referred to each transmit antenna. The beamformer operates by applying weights selectively to the received signals. The weights are preferably generated by a weight determiner which bases the weight values on a comparison of the signals output from the beamformer and a reference signal derived from the training sequence and a channel estimate.  
         [0035]     The output form the ISI cancellation stage is preferably deinterleaved and decoded to provide a reference data estimate. This estimate is preferably deinterleaved and used as a feedback signal to the ISI filter, the second channel estimator and the inter-system canceller.  
         [0036]     The proposed invention aims to provide a generic and comprehensive architecture to optimise several space-time adaptive algorithms and their application to both CCI and ISI interference cancellation for MIMO systems. This approach is not limited to specific MIMO systems and is intended for use with any kind of generic system. The basic idea of this invention is to optimise the space-only process and time-only process and their combination because it has been established that differences between the levels of CCI and ISI interference and their characteristics requires different efficiencies of adaptive algorithms. Also, the proposed application is one which targets unknown CCI, co-antenna interference (CAI) and frequency selective fading, e.g. ISI.  
         [0037]     The first-stage interference cancellation is targeted on unknown co-channel interference by forming beams to each transmit antenna (e.g. for a 2×2 MIMO, 2 beam patterns are formed). Therefore, the ‘known’ interference from other transmit antennas in the MIMO system should be cancelled and the desired multipath signal should be generated. Ideally, the co-channel interference would be cancelled at this stage leaving all inter-symbol interference to the second-stage ISI cancellation and MIMO detection.  
         [0038]     The present invention can be implemented either in hardware or on software in a computer. Further, the present invention can be implemented in a combination of hardware and software. The present invention can also be implemented by a single processing apparatus or a distributed network of processing apparatuses. Since the present invention can be implemented by software, the present invention encompasses computer code provided to a general purpose computer on any suitable carrier medium. The carrier medium can comprise any storage medium such as a floppy disk, a CD ROM, a magnetic device or a programmable memory device, or any transient medium such as any signal e.g. an electrical, optical or microwave signal. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0039]     A specific embodiment of the present invention will now be described by way of example only, in which:  
         [0040]      FIG. 1  shows an example of a basic MIMO arrangement;  
         [0041]      FIG. 2  shows a block diagram of the receiver of the present invention;  
         [0042]      FIG. 3  shows the arrangement of a generic receiver according to the present invention;  
         [0043]      FIG. 4  shows an example of the multi-stage beamforming of the present invention;  
         [0044]      FIG. 5  shows a modified version of the present invention comprising optimisation at the transmitter;  
         [0045]      FIG. 6  shows a graph of the performance of arrangements of the present invention;  
         [0046]      FIG. 7  shows a block diagram of the operation of a receiver of the present invention; and  
         [0047]      FIG. 8  shows a generic receiver suitable for a practical implementation of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0048]      FIG. 1  shows the basic layout of a MIMO system  100 . A data signal s(t) is passed to a transmitter  102  for encoding and splitting into separate streams corresponding to each of a plurality M T  of transmission antennas  104 . The signal from each antenna is then broadcast and received by the plurality M R  of receive antennas  106  at the receiver. The path between each transmit antenna  104  and each receive antenna  106  can be modelled by a transfer function h and the overall channel transfer function of the system can be formed from the combination each of these transfer functions to define a function of matrix H. At the receiver  108 , the signals from each antenna are extracted and the receiver applies the inverse H −1  of the channel transfer function to the received signals to extract the original transmission signals.  
         [0049]     In order to apply the function H −1 , the receiver must first determine the channel transfer function H or an estimate of it. This is normally done by having the transmitter send a training signal which is known at the receiver. In this way, the receiver can generate an estimate of H.  
         [0050]     Whilst the MIMO system inherently relies upon a rich scattering channel, which means it is susceptible to detecting signals in the same frequency band from other transmitters operating in the range of the receiver. This results in CCI which will degrade the overall ability to recover the desired signal. In order to reduce this, beamforming may be applied at the receiver to provide a degree of special selectivity at the receiver. In this way, the receiver can select those signals received by the antenna which are from the desired transmitter and attenuate those from undesired sources. The combination of these techniques provides a system which is able to extract both CCI and ISI from the received signal.  
         [0051]     An overview of an embodiment of the present invention is shown in  FIG. 2 . An array of receive antennas is provided for receiving the signals transmitted over the MIMO channel. Of course these received signals will include undesired interference as well as noise. The arrangement shown in  FIG. 2  includes two stages for minimising the interference inherent in the received signal.  
         [0052]     The received signals are passed from the antennas to a ‘Known Interference Cancellation’ block for removing known interference from the received signals based upon the initial channel estimation provided by the first channel estimator (CE 1 ). The known interference is the transmitted signals from other transmit antennas convolved with their multipath channels.  
         [0053]     Once the known interference cancellation has been carried out, the processed signals are passed through a digital beamformer. The beamformer is set up based up the initial channel estimate which is used to establish the desired multipath signals. Based upon this, the weights to be applied to the beamformer can be estimated and applied to the beamformer for processing the received signal.  
         [0054]     The first channel estimator (CE- 1 ) produces its initial channel estimate based upon the signal initially received by the antennas and the locally generated training sequence. This same training sequence was used at the transmitter to generate the received signal. In this way, the channel estimator can make an initial estimate of the channel. Direction of Arrival (DoA) can also be estimated to help the accuracy of the beamforming process although directly determining the angle of arrival is not essential. A prior knowledge of the DoA can be used to provide a more accurate initial estimate of the weightings for the beamformer which can help to optimise the channel estimates more quickly. It is unlikely that the DoA would be known in advance but a pre-estimation step could be carried out to determine the DoA prior to the initial channel estimation.  
         [0055]     Once the received signals have been beamformed, the signal should have a much reduced level of CCI because the CCI cancellation is optimised for CCI cancellation. The signal is now passed to the ISI cancellation stage. The second channel estimator (CE- 2 ) uses the beamformed signal to establish a channel estimate. The removal of the CCI from the signal allows for a much more accurate channel estimate to be determined. This channel estimate is then applied to the equaliser for cancelling ISI interference. The signal is then processed in the normal way to extract the data signals from the MIMO encoded signal.  
         [0056]     This process results in an output data estimate, i.e. an estimate of the data fed to the MIMO encoder at the transmitter. If all interference was removed and the channel estimates were good then the received data estimate would correspond to the training sequence. Any errors in the data estimate can be used to modify the channel estimation process. Consequently, the data estimate is fed back via the interleaver to the second channel estimation unit and also the equalisation stage. The channel estimate generated by the second channel estimation unit is sent back to the first channel estimation unit either directly or after having been combined with the data estimate to provide multipath data.  
         [0057]     The above process is then repeated iteratively to optimise the channel estimates. The channel estimation carried out by the first channel estimation unit (CE- 1 ), is repeated. The previous estimate was based solely upon the received antenna signals. However, more information is now available from the result of the second channel estimation. This allows the estimate to be refined to try to further reduce the CCI interference in the received signal. Similarly, the second channel estimation step (CE- 2 ) can be improved upon by making use of its previous estimate and the data estimate from the first iteration. This process can be repeated iteratively until the channel estimates by CE- 1  and CE- 2  are close to their optimum for the level of CCI and ISI interference present in the received signals.  
         [0058]     The above explanation describes the overall operation of an embodiment of the present invention. A more detailed description of the architecture of an embodiment of a MIMO receiver according to the present invention will now be described with reference to  FIG. 3 .  
         [0059]     The receiver comprises a plurality of receive antennas  301   1 - 301   n  for receiving the transmitted signals. The signals received by these antennas are passed to a beamformer via the soft or known interference cancellation unit  305 . The interference cancellation unit  305  attempts to cancel interference which is derivable from the channel estimate and training sequence (or detected desired signal), i.e. the known interference, as opposed to interfering signals from external sources which are unknown. By removing the known interference from the received signal, an improved channel estimate can be established. Removal of the known interference followed by beamforming helps to remove much of the CCI leaving the second stage filter to be optimised for ISI removal.  
         [0060]     The interference cancellation block  305  is for cancellation of ‘known’ interference from other antenna arrays to the desired antenna array. Initially, the cancellation scheme can be operated by using the training sequence and an initial channel estimate obtained by the first channel estimation engine. Then, using iterative processing, the interference cancellation can be updated by applying the soft data estimate information and the updated estimated channel.  
         [0061]     The beamformer unit  340  comprises a plurality of adaptive beamformers  302   1 - 302   n  corresponding to each antenna. Each beamformer  302  includes weighting units provided with weight signals from an adaptive beamforming weights updating unit  304 . The weights are applied to the signals received from the antennas to provide outputs relating to specific transmitted signals. These are then summed in summation units  303   1 - 303   n  with components of the same transmitted signal received via other antennas. The outputs from the summation units  303   1 - 303   n  represent the estimates of the signals transmitted by the transmit antennas. These are then passed to an inter-symbol interference (ISI) cancellation stage  320 .  
         [0062]     The weightings used in the beamformers  302   1 - 302   n  are adaptively adjustable and are controlled by the adaptive beamforming weight controller  304 . The weight controller  304  adjusts the weightings applied to each branch within the beamformers based upon the estimate established in the co-channel interference (CCI) cancellation unit  330 .  
         [0063]     The ISI cancellation stage  320  receives the signals from the beamformer into a MIMO filtering unit  309  to extract to carry out ISI cancellation. The signal is also processed to carry out MIMO detection. The output is then passed on for subsequent deinterleaving and decoding to obtain an estimate of the original data stream. This is carried out in the deinterleaver  311  and decoder  312  respectively. The output from the decoder provides the estimate of the originally transmitted training data sequence.  
         [0064]     The CCI cancellation unit  330  receives inputs directly from each of the antennas  301   1 - 301   n . The received input signals received by the antennas are passed to a soft interference cancellation unit  305  but also to a first channel estimation engine  306 . The first channel estimation engine  306  is provided for estimating the transfer properties of the transmission channel. The resulting estimate is then used to determine the desired multipath signals at the antennas for adjusting the beamformers to maximise CCI cancellation. As indicated above, although it may not be essential to directly calculate the direction-of-arrival of the signals to the antennas, doing so will help to obtain a more accurate estimate of the parameters for controlling the beamformers.  
         [0065]     The first channel estimation engine  306  produces its estimate of the communication channel which is passed to the format unit  307 . This unit uses the estimated channel along with the training sequence data to provide an estimate of the desired antenna multipath signal, i.e. the desired signal at the receive antennas. If the channel estimate was perfect, then the output from the beamformers would match the estimate from the format unit  307 . Otherwise, any difference would represent an error and it is this error which needs to be minimised by optimisation of the channel estimate and the beamforming. The channel estimate produced by the first channel estimation engine  306  is also passed back to the soft interference cancellation unit  305  to assist in the cancellation of the known interferer component of the received signals.  
         [0066]     The format unit  307  provides the multipath signals to the beamformer unit  340  for comparison with the transmit signal estimates produced by the summation units  303   1 - 303   n . The desired multipath reference signals are subtracted from the transmit signal estimates to provide error signals which are used to control the adaptive beamforming weight controller  304 . Based upon these error signals, the weights applied to the beamformers are revised.  
         [0067]     The operation of the system will now be described in more detail, again with reference to  FIG. 3  and also the flow diagram of  FIG. 7 . At step S 1 , the system operates by forming an initial estimate of the channel in the first channel estimation engine  306  and subsequently in the second channel estimation engine  310 . These channel estimates are then used in subsequent iterations to improve the initial channel estimates in order to arrive at an optimum solution within the bounds of coherency time of the channel and processing overhead. Typically 5 or 6 iterations are carried out to arrive at an optimum solution.  
         [0068]     In order to establish the channel estimates, a known training signal or sequence is transmitted over the MIMO channel and this is compared to a locally generated training signal produced by a training sequence generator  308 .  
         [0069]     For the initial iteration (iteration 0), at step S 1 , the first channel estimation engine  306  attempts to produce an estimate of the channel over which the desired signal travels with a relatively high level of co-channel interference (CCI). At this stage, soft interference cancellation and beamforming of the received signals has not been performed and so no indication of the transmission data is available for reference. The signal is passed directly to the channel estimation unit  306 . As a consequence, the initial estimate is based upon the received signal assuming that all the received desired signal power, including all the multipath for the desired signal (ignoring the ISI interference at this stage), is part of the desired signal. This estimation is carried out by consideration of having CCI.  
         [0070]     At step S 2 , the format unit  307  convolves the initial channel estimate data and the training sequence to provide an estimate of the desired multipath signal. This is passed to the beamformer unit  340  where it is used by the adaptive beamforming weights updating unit  304  to provide a set of weighting criteria to apply to the beamformers  302 .  
         [0071]     At step S 3 , the received signal from the antennas is passed through the soft interference cancellation unit  305  (also known as inter-system interference or co-antenna interference) to the beamformer unit  340 . Then, at step S 4 , beamforming is carried out on the received signal to provide a first estimate of the desired signal. This signal, which should have considerably reduced CCI, is then passed on to the ISI cancellation unit  320  for ISI cancellation. In the beamformer, any errors between this first estimate and the desired multipath signals from the format unit  307  are used to modify the weightings applied to the beamformer to further optimise the beamformer. The adaptive beamforming weights updating unit  304  bases its estimate upon this error data but also on filtering data extracted from the time delayed data from the sequential delay units D in the beamformer unit  340 , as represented by the large arrow marked filtering data in  FIG. 3 .  
         [0072]     At step S 5 , the output MIMO signal from the beamformer unit is passed to the ISI cancellation unit  320  so that the second channel estimation engine  310  can perform its channel estimation. The second channel estimation engine  310  produces an estimate of the channel. As this estimate is based upon the signal received from the antennas but with a significant portion of the CCI removed, a more accurate estimate than that produced by the first channel estimation engine  306  can be expected.  
         [0073]     At step S 6 , the newly estimated channel is used by the ISI cancellation unit  320  to perform ISI cancellation in the MIMO equalisation filter  309 . Once ISI equalisation has been performed, MIMO detection is carried out, at step S 7 , to extract the initial serial data stream. This can then be passed to the deinterleaver  311  and decoder  312 . The output from the decoder provides the estimate of the original source data. At step S 8 , the estimated source data is then re-interleaved at  313  to provide a feedback to the MIMO equalisation filter  309 , the second channel estimation engine  310  and the soft interference cancellation unit  305 .  
         [0074]     The newly estimated channel produced by the second channel estimation unit  310  can be fed back to the first channel estimation unit  306  for use in enhancing the efficiency of the beamforming.  
         [0075]     This above steps can then be repeated a number of times to progressively iterate to a more accurate estimate of the channel. Subsequent iterations would be carried out as above, with the channel estimate from the second channel estimation unit  310  being used as the basis for the next channel estimation in the first channel estimation unit  306 . The data estimate produced at the output of the ISI cancellation unit  320  is passed via the interleaver  313  to the soft interference cancellation unit  305  to provide a better estimate of the soft interferers along with the channel information.  
         [0076]     The new estimate from the first channel estimation unit  306  is used to revise the beamformer weights to further improve the CCI removal. The further improved estimate signal is passed back to the ISI cancellation unit  320 . The second channel estimation unit  310  then revises its previous channel estimate and ISI cancellation is repeated. This again should result in a data estimate output which is more accurate than before.  
         [0077]     After a number of iterations, the channel estimate is moved closer to the actual channel conditions to provide improved ISI and CCI removal once actual data is received. Because each of the filtering units operates on their own type of interference and optimises the channel estimates based upon that only, each does its job more effectively as opposed to trying to improve both ISI and CCI performance in a single process.  
         [0078]     Once a certain number of iterations have been completed, the estimates will be approaching the optimum achievable within the constraints of the coherence time of the channel and the processing overhead and also the transmission time of the training sequence. At this stage, the estimates are fixed and information data can be processed from the transmitter. The information containing signals received by the antennas are passed through the system in a similar manner with soft cancellation followed by beamforming being performed. Subsequently, ISI cancellation is carried out and the resultant data should now correspond to the transmitted information data.  
         [0079]     Whilst the determined channel estimates and beamformer weightings may be fixed during information data transfer, the system may continue to optimise the channel estimates to ensure that estimates are as close to optimum as possible and remain so, particularly if the channel parameters are variable.  
         [0080]     The operation of the beamformer is described further below with reference to  FIG. 4 .  FIG. 4  shows schematically the m iteration stages of the beamformer units  302 . The weighting values are identified by the reference v to distinguish them from the weights used in  FIG. 3 . Although they represent the same weights, the notation is slightly different: 
 
V antenna     —     ref,weight     —     unit     —     ref   Stage     —     no  
 
         [0081]     For each stage, the previous beam-pattern is held and new sets of beam-weights are applied.  FIG. 4  demonstrates that different weights are applied in each iteration by holding the weights of previous stage. It should be noted that  FIG. 4  only shows one set of the weights shown in  FIG. 3 .  
         [0082]      FIG. 5  shows the result of a simulation of various arrangements of the present invention to demonstrate the improvement proved by the invention. Operations ( 1 ) and ( 2 ) show the system used with 1 and 3 iterations based upon a prior knowledge of the channel and DoA. Operations ( 3 ) and ( 4 ) similarly show the results of carrying out 1 and 3 iterations but based upon no prior knowledge of the channel and thus estimating them. Finally, operation ( 5 ) and ( 6 ) shows the effect of removing the beamforming functionality and repeating operations ( 3 ) and ( 4 ). As can be seen, the beamforming forms an important part of the filtering process with very poor performance without it. However, with beamforming, the estimation process provides very good results without previous knowledge of the channel and DoA when compared to having such previous knowledge.  
         [0083]     In the above described embodiment, all adaptation is carried out at the receiver and the transmitter does not need to have any knowledge of the channel. However, the above embodiment of the invention may be further improved by providing pre- and post-filtering based upon the final channel estimate.  FIG. 5  shows a modified system in which adaptive beamforming is carried out at the transmitter as well as the receiver. This arrangement is similar to known transmitter/receiver adaptive optimisation techniques but includes the additional feature of adaptive beamforming.  
         [0084]     The MIMO detection in the unit  309  can be any known MIMO detection technology. In  FIG. 3 , the channel estimated by the second channel estimation engine  310  is shown as being fed to the MIMO detection unit  309  since some units need channel information as well for proper detection. Of course, this is not necessary where the MIMO unit does not require this information.  
         [0085]     The adaptive beamforming weights updating can be any available adaptive filtering/beamforming algorithms, such as LMS, NLMS, RLS, etc.  
         [0086]     The second channel estimation engine (CE 2 ) can be iteratively estimated combined with the procedure of filtering/OFDM for ISI. This estimated channel can be fed back to both filters.  
         [0087]     The filter for ISI cancellation can be a Viterbi equaliser, Turbo equaliser or even a simple LMMSE equaliser. Also, it can be a multicarrier (OFDM format) receiver to simplify the equalisation procedure.  
         [0088]     For OFDM format “ISI cancellation” or, say, OFDM system, the MIMO beamforming can be also operated after the FFT for each subcarrier or by grouping subcarriers (subcarrier clustering). Subcarrier clustering can be applied when subcarriers within a certain bandwidth experience similar frequency selective fading, and therefore the same antenna weights can be applied for all subcarriers in the cluster.  
         [0089]     The receiver front-end will generally be implemented in hardware whilst the receiver processing will usually be implemented at least partially in software although one or more ASICs and/or FPGAs may also be employed. The skilled person will recognise that all the functions of the receiver could be performed in hardware and that the exact point at which the signal is digitised in a software radio will generally depend upon a cost/complexity/power consumption trade-off.  
         [0090]      FIG. 8  shows a typical practical implementation  800  for an embodiment of the present invention. The receiver may comprise antennas  802  which pass the received analogue RF signal to an RF front end  804 . At this stage, the output may be converted from quadrature signals to digital signals in and ADC  806 . The digital signals can then be passed to digital signal processors (or ASICs, FPGAs etc.)  808  for processing data  808   a  and for intermediate storage  808 b of data and processing parameters.  
         [0091]     Programming code may be provided from a permanent storage means  816  for transfer to a program memory  814  for subsequent transfer to the DSP etc. Equally code may be loaded form other storage means or downloaded directly.  
         [0092]     Applications of the invention have been mainly described in the context of a MIMO system with time domain coding but embodiments of the invention are also useful in frequency domain coded systems such as MIMO-OFDM (Orthogonal Frequency Division Multiplexed) systems. For example the invention may be employed with the European Hiperlan/2 or US IEEE 802.11 a standards for 54 Mbps wireless networks. The system can similarly be applied to both single carrier and multiple carrier systems. For multicarrier systems, the equaliser for ISI cancellation  309  would be replaced by a FFT engine (OFDM demodulator). In other words, this type of iterative decoding can also be applied in the frequency domain.  
         [0093]     No doubt many other effective alternatives will occur to the skilled person. It will be understood that the invention is not limited to the described embodiments and encompasses modifications apparent to those skilled in the art lying within the spirit and scope of the claims appended hereto.