Method, system and device for reducing co-channel interference

A device, system and method for applying a whitening transformation to a plurality of samples of a sampled symbol to reduce both temporal correlation between the sampled symbol and a pre-determined number of previous symbols, and a spatial correlation between a plurality of samples.

BACKGROUND OF THE INVENTION

In a wireless communication system, a first wireless communication station may transmit a first signal to a second wireless communication station. Co-channel interference may occur, for example, if a second signal (e.g., the “interference signal”) is transmitted by for example a third wireless communication station, e.g., during the transmission of the first signal. Co-channel interference may result, for example, in errors in estimating a channel and/or a reduction in a probability of successfully decoding or processing a data block of the first signal.

Methods for channel interference cancellation are known in the art. Some interference cancellation methods, for example, methods implementing single antenna interference cancellation (“SAIC”) algorithms, may not explicitly utilize information regarding the interference signal. Such methods are known as blind co-channel interference cancellation.

DETAILED DESCRIPTION OF THE INVENTION

Some portions of the detailed description, which follow, are presented in terms of algorithms and symbolic representations of operations on data bits or binary digital signals within a computer memory. These algorithmic descriptions and representations may be the techniques used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art.

Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. In addition, the term “plurality” may be used throughout the specification to describe two or more components, devices, elements, parameters and the like. For example, “a plurality of mobile stations” may describe two or more mobile stations.

It should be understood that embodiments of the present invention may be used in a variety of applications. Although the present invention is not limited in this respect, the circuits and techniques disclosed herein may be used in many apparatuses such as receivers of a radio system. Receivers that may be used with embodiments of the present invention include, by way of example only, wireless local area network (WLAN) receivers, two-way radio receivers, digital system receivers, analog system receivers, cellular radiotelephone receivers and the like.

Types of cellular radiotelephone systems that may be used with embodiments of the present invention include, although are not limited to, Global System for Mobile communication (GSM) cellular radiotelephone, Time Division Multiple Access (TDMA), Extended-TDMA (E-TDMA), General Packet Radio Service (GPRS), Extended GPRS, and the like. Other types of networks and communications systems can be used with embodiments of the present invention.

The term “portable communication device”, as used herein, may refer to, but is not limited to, a mobile station, a portable radiotelephone device, a cellular telephone, a cellular device, personal computer, Personal Digital Assistant (PDA), user equipment, and the like.

Some embodiments of the invention may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine (for example, by stations of wireless communication system, by a cellular telephone, and/or by other suitable machines), cause the machine to perform a method and/or operations in accordance with embodiments of the invention. Such machines may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of computer-readable memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, various types of Digital Versatile Disks (DVDs), a tape, a cassette, or the like. The instructions may include any suitable type of code, for example, source code, compiled code, interpreted code, executable code, static code, dynamic code, or the like, and may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, e.g., C, C++, Java, BASIC, Pascal, Fortran, Cobol, assembly language, machine code, or the like.

Reference is now made toFIG. 1, which schematically illustrates a wireless communication system100according to some embodiments of the invention.

System100may include one or more wireless communication stations, for example, wireless communications stations101,102and103. Other numbers of stations may be used.

Stations101,102and/or103may communicate among themselves and with other devices over a shared wireless media120, which may include, for example, wireless communication links111,112and113. For example, station101may communicate with one or more other stations of system100through link111, station102may communicate with one or more other stations of system100through link112, and/or station103may communicate with one or more other stations of system100through link113.

Station101may transmit a first signal to station103, e.g., during a first time period. Station102may transmit a second signal, for example, to station103and/or to any other station, e.g., during a second time period at least partially overlapping the first time period. The transmission of two or more signals during at least partially overlapping time periods may result in interference such as co-channel interference (“CCI”). Accordingly, a station in system100, e.g., station103, may receive a signal including a combination of the signal intended to be received by the station, e.g., the first signal, and the CCI.

According to some embodiments of the invention, one or more of stations101,102and103may be able to estimate, detect, reduce and/or cancel the CCI relating to a received signal, e.g., as described in detail below. For example, station103may be able to detect, reduce and/or cancel the CCI or other interference relating to one or more signals, e.g., the first signal, received by station103.

Reference is now made toFIG. 2, which schematically illustrates a block diagram of a wireless communication station200according to some embodiments of the invention. Although the invention is not limited in this respect, station200may perform the functionality of station103(FIG. 1).

According to some embodiments of the invention, station200may include an antenna205. Antenna205may include an internal and/or external radio frequency (RF) antenna. In some embodiments, for example, antenna205may include a dipole antenna, a monopole antenna, an omni-directional antenna, an end fed antenna, a circularly polarized antenna, a micro-strip antenna, a diversity antenna, or any other type of antenna suitable for sending and receiving wireless communication signals, blocks, frames, packets, messages and/or data.

Station200may also include a receiver203. Receiver203may be able to receive a signal, denoted y, e.g., via antenna205. The received signal y may be for example an analog complex signal and may include a combination of a signal intended to be received by communication station200, and one or more interference signals, for example, CCI or interference from other noise sources like thermal noise, denoted e. Other types of signals may be used, and other types of interference may occur and be dealt with. Signal y, also referred to herein as a “slot”, may represent a sequence of symbols or other information transmitted from a different communication station, e.g. station101(FIG. 1). Each slot may include for example a training sequence, a sequence of symbols known to the receiver which enables the receiver to gather information about the channel characteristics and a data sequence. Other or different data may be included.

According to some embodiments of the invention receiver203and/or transmitter201may be implemented, for example, using separate and/or integrated units, for example, using a transmitter-receiver or a transceiver, e.g., as is known in the art.

Receiver203may include a sampler210which may convert the analog received signal into digital signal, as in known in the art, and may sample the received signal y, for example, in a rate of R samples per symbol. Sampler210may be able to generate a sampled complex signal, denoted r, e.g., as is known in the art.

According to some embodiments of the invention, receiver203may include a buffer220which may temporarily store samples or portions of one or more slots received from sampler210which may be waiting to be sent to other components, blocks or units of receiver203. For example, buffer220may store and output complex samples r(1), r(2), . . . r(n) wherein n=1-number of samples per slot.

The complex signal r may be represented as for example s vectors denoted by r1, r2, . . . rsas follows:
rd(n)=Re(r((n−1)R+(d+1)/2)) for oddd
rd(n)=Im(r((n−1)R+d/2)) for evend[1]

Wherein s denotes the number of samples per symbol multiplied by 2 (for each sample there may be a real part and imaginary part), d=1−s and R denotes the number of samples per symbol at the receiver. For example for R=2

r1(1)—denotes the first real sample of the first symbol.

r2(1)—denotes the first imaginary sample of the first symbol.

r3(1)—denotes the second real sample of the first symbol.

r4(1)—denotes the second imaginary sample of the first symbol.

For each sample of r, a vector of s elements may be represented:

X_⁡(n)=[r1⁡(n)r2⁡(n)⋯rs⁡(n)][2]
Furthermore, the preceding samples ofX(n) may be represented as follows:

Other formulas or representations may be used, and other parameters may be used. Station200may also include a channel estimator212. Channel estimator212may be able to estimate, using for example the received vector r at the training sequence and the known transmitted symbols, the physical channel or the channel impulse response, denoted ĥ, and also referred to herein as the “channel estimation”, e.g., as is known in the art. Channel estimator212may be implemented by software, by hardware, or by any combination of software and/or hardware as may be suitable for specific applications, and/or in accordance with specific design requirements, e.g., as are known in the art.

Station200may also include a noise estimator213. Noise estimator213may be able to estimate, using the received vector r at the training sequence and the known transmitted symbols and the estimated channel, the estimated noise, or error, denoted ê, as is known in the art. Signal r may be represented for example as described as follows (other representations for formulae may be used):
r=h*T+e[4]
Wherein T denotes the transmitted symbols at the transmitter side and * denotes convolution.

According to equation 4 noise estimator213may estimate the error or the noise according to the next equation for training sequence symbols:
ê=r−ĥ*T[5]

The noise may be represented in accordance with the received signal r representation as follows:
êd=Re(ê((n−1)R+(d+1)/2)) for oddd
êd=Im(ê((n−1)R+d/2)) for evend[6]

Noise estimator213may be implemented by software, by hardware, or by any combination of software and/or hardware as may be suitable for specific applications, and/or in accordance with specific design requirements, e.g., as are known in the art.

Station200may include a signal transformer214which may be able to apply for example a whitening transformation to signal r to reduce for example both temporal and spatial correlation, based on a covariance between samples of symbols of r as described in detail below. Other functions may be performed.

As with other modules, transformer214may be implemented, for example, by a processor, a central processing unit (CPU), possibly in conjunction with software, a digital signal processor (DSP), a microprocessor, a controller, a chip, a microchip, or any other suitable multi-purpose or specific processor.

According to some embodiments of the invention, signal transformer214may include a covariance estimator215. Covariance estimator215may estimate the covariance matrix of the estimated noise related to the sampled symbols, denoted C, using the noise estimation ê. The elements of matrix C may be calculated according to for example the following formula (other formulae may be used):

C⁡(is+k,js+l)=1b-a+1⁢∑n=ab⁢e^k⁡(n-j)⁢e^l⁡(n-k)[7]
Wherein a is the index of the first training sequence's sample, b is the index of the last training sequence's sample, i, j are integer indexes between 0 to maximum delay and k, l are integer indexes between 1 and s.

An illustration of the top 2*6 elements of covariance matrix C may be:

Wherein E[ ] denotes an expectation value. An empirical covariance between the elements may be used for estimation of the matrix elements. For example:

Another representation of matrix C may be:

C=[Cxx❘Cxy---Cyx❘Cyy][9]
Wherein Cxxdenotes a s*s size matrix and Cyydenotes a (s*max_delay)*(s*max_delay) size matrix.

According to some embodiments of the invention, signal transformer214may include a temporal whitening module216. Temporal whitening module216may be able to apply a temporal whitening transformation to r to reduce temporal correlation between a sampled symbol of r and a predetermined number of previous symbols of r. Temporal whitening module216may receive for example bothX(n) andY(n) representing a slot, matrix C and channel estimation ĥ.

The result vector{circumflex over (X)}(n) may include samples of the n-th symbol with reduced correlation level to samples of the previous symbols.

Temporal whitening module216may apply the same transformation applied to the received signal (e.g., as described in equation 10) to the channel estimation ĥ, in order to calculate the effect of the transformation (which is a linear transformation) on the channel estimation too. The result channel estimation is denotedĥ(n). As with other formulae and calculations described herein, other suitable formulae and calculations may be used.

According to some embodiments of the invention, signal transformer214may include a spatial whitening module217. Spatial whitening module217may be able to apply a spatial whitening transformation to{circumflex over (X)}(n) to reduce spatial correlation between samples of r's symbols. Spatial whitening module217may receive for example{circumflex over (X)}(n), matrix C andĥ(n).

Spatial whitening module217may calculate matrix Cfor example as follows:

Spatial whitening module217may apply a spatial transformation on{circumflex over (X)}(n) as follows:
{tilde over (X)}(n)=√{square root over (D−1)}VT{circumflex over (X)}(n)  [13]
Wherein D is a diagonal s*s eigenvalues matrix, and V is an s*s eigenvectors matrix of Cand wherein √{square root over (D−1)}VT=√{square root over (C−1)} which may be denoted as the “sphering” matrix.

As described in equations 12 and 13 spatial whitening module217may calculate the eigenvalues and eigenvectors of C. Furthermore spatial whitening module217may calculate the projection of each sample of{circumflex over (X)}^on the eigenvector and may divide it by square root of the eigenvalue such that the variance in this direction may equal 1. The result vector{tilde over (X)}(n) may include reduced correlation samples of the n-th symbol and may be represented by the following notation:

Other suitable representation may be used.

Spatial whitening module217may apply the same transformation applied to{circumflex over (X)}(n) (e.g., as described in equation 13) toĥ(n) in order to calculate the effect of the transformation (which is a linear transformation) on the channel estimation. The result channel estimation may be denoted{tilde over (h)}(n) and may include vectors of channels ({tilde over (h)}1, . . . ,{tilde over (h)}s).

In some embodiments of the invention temporal whitening module216and spatial whitening module217may be implemented as a single module applying for example the following equation and as further described inFIG. 4:

The temporal whitening module216and spatial whitening module217may apply linear transformations which may be based for example on the theory that estimating the probability of a symbols sequence received may be equal to estimating the probability of the noise, e.g., the probability of the received signal minus the expected signal. In case of white noise the calculation may be as follows:
P(X1. . . XN)=P(X1)P(X2) . . .P(Xn)
logP(X1. . . XN)=logP(X1)+logP(X2)+ . . . +logP(Xn)  [12]
Wherein Xi may representX(n) where n=i (e.g., each X element in equation 12 may represent a vectors of s samples of the n-th symbol).

In a non white noise calculation the calculation may be as follows:
P(X1. . . XN)=P(X1)P(X2|X1)P(X3|X2,X1)P(X4|X3,X2,X1) . . .P(XN|X1. . . XN−1)≅ΠP(Xn|Xn−1, . . . , Xn-max—delay)  [13]
The calculation of equation 13 may be performed using temporal whitening module216and spatial whitening module217, for example as described herein Some embodiments of the invention may include a spatial whitening module, e.g., spatial whitening module217, a temporal whitening module e.g., temporal whitening module216, and a covariance estimator, e.g., covariance estimator215being implemented as different elements of a transformer such as a signal transformer, e.g., signal transformer214. However, it will be appreciated by those skilled in the art that other embodiments of the invention may include a covariance estimator and/or a temporal whitening module being implemented as part of a spatial whitening module, or in other manners. Further, the various calculations described herein, while described with certain embodiments as being performed by certain modules, may be performed by other sets of modules, with other names.

Station200may optionally include a vector reducer218and one or more equalizers219. Vector reducer218may reduce s output vectors of{tilde over (X)}(n) into one or morezivectors according to the number and the type of equalizers219by applying a linear transformation as described in detail below inFIG. 3. For example, If equalizer219includes M real equalizers vector reducer218may reduce s vectors intozioutput vectors, wherein i=1−M, if equalizer219includes M complex equalizers vector reducer218may reduce s vectors intozioutput vectors wherein i=1−(M*2) output vectors.

Furthermore vector reducer218may apply the same linear transformation applied on{tilde over (X)}(n) on{tilde over (h)}(n) and may reduce the number of channel estimation vectors denotedhiin accordance with the reduction of{tilde over (X)}(n) vectors.

According to some embodiments of the invention, station200may include an equalizer219. Equalizer219may include one or more equalizers which may be able to remove distortion from vectorszi, to compensate for distortion of vectorsziand/or to otherwise enhance and/or equalize vectorszi. For example, equalizer219may include suitable equalizing circuitry, e.g., as is known in the art. Equalizer219may also receivehifrom vector reducer218. Furthermore equalizer219may include any suitable type of equalizers, for example, real equalizers or complex equalizers.

Some embodiments of the invention may include a signal transformer, e.g., signal transformer214, an equalizer, e.g., equalizer219, and a vector reducer, e.g., vector reducer218being implemented for example as different elements of a wireless communication station, e.g., station200. However, it will be appreciated by those skilled in the art that other embodiments of the invention may include an equalizer and/or a vector reducer being implemented as part of a signal transformer.

Station200may include memory220. Memory220may store for example estimations, instructions, parameters, values and/or data, which may be used and/or calculated in accordance with some embodiments of the invention. For example, memory220may store samples of signal r, transformed signals{circumflex over (X)}(n), matrix C elements and/or other elements which may be used for generating signals{tilde over (X)}(n) as described herein. Memory220may include, for example, a Random Access Memory (RAM), a Read Only Memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a Flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short term memory unit, a long term memory unit, or other suitable memory units or storage units.

Although the scope of the present invention is not limited in this respect, signal transformer214, and/or vector reducer218, and other modules discussed herein, may include or be included within an application specific integrated circuit (ASIC), a reduced instruction set circuit (RISC), a digital signal processor (DSP) or a central processing unit (CPU). Instructions to enable computing unit to perform methods of embodiments of the present invention may be stored in for example memory220, as for example software, being executed by a processor or controller. Other modules may similarly be included within or include such circuits, or be embodied in such instructions.

Reference is now made toFIG. 3, which schematically illustrates a block diagram of a vector reducer300according to some embodiments of the invention. Although the invention is not limited in this respect, vector reducer300may perform the functionality of vector reducer218(FIG. 2).

According to some embodiments of the invention, vector reducer300may be able to apply the following linear transformation (other transformations may be used):

Other suitable formulas may be used.

Vector reducer300may include an optimal weight calculator310. Optimal weight calculator310may receive{tilde over (X)}(n) and{tilde over (h)}(n) and may be able to find and/or calculate the optimal values of matrix w elements as described further below. Optimal weight calculator310may use{tilde over (h)}(n), for example, received from spatial whitening module217and generate a L*s matrix{tilde over (H)}, wherein L denotes the channel length e.g., the number of symbols per channel and wherein each column of{tilde over (H)}may be the estimated channel of different symbol sample, e.g., each column may be one of the vectors{tilde over (h)}1, . . . ,{tilde over (h)}sthose{tilde over (H)}may be represented as follows:
{tilde over (H)}=└{tilde over (h)}1{tilde over (h)}2. . .{tilde over (h)}s┘  [17]

Optimal weight calculator310may be able to calculate matrix G as follows:
G={tilde over (H)}T{tilde over (H)}[18]
Wherein G may represent an s*s matrix.

Furthermore optimal weight calculator310may calculate the eigenvectors with the largest eigenvalues of matrix G and to generate matrix W, e.g., the rows of W may be the eigenvectors with the largest eigenvalues of matrix G.

According to some embodiments of the invention, the eigenvectors with the largest eigenvalues of matrix G may maximize output signals zi. The eigenvectors with the largest eigenvalues of matrix G may be the optimal value for the linear transformation matrix w.

The equivalent channel at the output of the first symbol sample. E.g., as received from signal transformer214may be represented as follows:

h~eq,1⁡(n)=∑d⁢w1⁢d⁢H~⁡(n+1,d)[19]
Wherein {tilde over (H)}(i,j) denotes the (i,j) element of matrix {tilde over (H)}.

The SNR which may result is for example:

SNR=∑n⁢heq,12⁡(n)∑d⁢w1⁢d2[20]
The SNR may be maximized if |Heq|2may be maximized subject to constraint

According to some embodiments of the invention, optimal weight calculator318may be able to find maximum value of the following expression denoted by Q by deriving, for example, by using lagrange multiplier, for example:

Q=12⁢∑n⁢(∑d⁢Wd⁢H⁡(n+1,d))2+12⁢λ1(∑d⁢Wd2-1)⁢⁢ⅆQⅆW_=(HT⁢H)⁢W_-λ1⁢W_=0[21]
WhereinW1denotes the first row of matrix W.W1may denote the eigenvectors of G and the SNR may be the value of the eigenvalue corresponds to the selected eigenvector.

The eigenvectors of matrix G may be orthogonal, and optimal weight calculator310may use for example the eigenvectors of G with the highest eigenvalues as the W elements.

According to some embodiments of the invention, vectors reducer306may include calculator320. Calculator320may include plurality of multipliers and/or adders which may be able to multiply the optimal weights wijby the corresponding signalsujand to add the multipliers sum (as described in equation set 14). For example for calculatingz1=w11u1+w12u2+ . . . w1suss multipliers and s adders may be used. Any other number of multipliers and adders may be used and any other mathematical components may be used.

Calculator320may optionally include additional adders to create real vectors from complex vectors. (as described in equation 16)

Reference is now made toFIG. 4, which is a block diagram of a temporal whitening module and spatial whitening module according to an embodiment of the invention.

Although the invention is not limited in this respect, a temporal whitening module, e.g. temporal whitening module214ofFIG. 2and a spatial whitening module, e.g., spatial whitening module217ofFIG. 2may be implemented as one temporal-spatial module400which may be able to may be able to apply both a temporal whitening transformation to r to reduce temporal correlation between a sampled symbol of r and a predetermined number of previous symbols of r and a spatial whitening transformation to reduce spatial correlation between samples of r symbols. Temporal-spatial module400may calculate the following equation:

An equivalent representation of equation 22 may be for example:

FIG. 4illustrates an embodiment of the invention where for example, a complex signal sampled at a rate of one sample per symbol may be related to the input signal r such that s=2 and max_delay may also be 2.

According to an illustrative embodiment of the invention, temporal-spatial module400may receiveX(n), matrix C and channel estimation ĥ. Furthermore, tempo-spatial module400may include a filter arrangement410. Filter arrangement410may be able to perform equation 23 by for example, four linear filters: filter F11411, filter F12412, filter F21413and filter F22414.

According to some embodiments of the invention, filters411-414may apply the for example following expression:
√{square root over (D−1)}VT[Is*s|−CxyCyy−1]  [24]
onX(n) and ĥ. In some embodiments of the invention, filter F11411may apply the first element of the expression, filter F12412may apply the second element of the expression, filter F21413may apply the third element of the expression and filter F22414may apply the fourth element of the expression. For example if s=2 the expression 24 may be a 2*6 matrix and each filter411-414may include 3 elements of this matrix, e.g., each filter411-414may be a 1*3 vector.

According to some embodiments of the invention, temporal-spatial module400may include an adder array420which may be able to add vectors generated by filter arrangement410.

Although the scope of the present invention is not limited in this respect interference reducer600may generate estimated channel{tilde over (h)}(n) by applying linear filters411-414on estimated channel ĥ.

Reference is now made toFIG. 5, which schematically illustrates a method for reducing CCI or other interference according to some embodiments of the invention.

As indicated at block510an embodiment of the invention may include reducing CCI of a received signal by applying a temporal and spatial transformation on received signal. Reducing CCI may include, for example, using a signal transformer, e.g., signal transformer214as described herein with reference toFIG. 2.

As indicated at block520an embodiment of the invention may include estimating the covariance matrix of the estimated noise related to the sampled symbols of the received training sequence. Generating the covariance matrix may include, for example, using a covariance estimator, e.g., covariance estimator215as described herein with reference toFIG. 2.

As indicated in block530an embodiment of the invention may include applying a temporal whitening transformation to the received signal to reduce temporal correlation between a sampled symbol of the received signal and a predetermined number of previous symbols of the received signal. Furthermore an embodiment of the invention may include applying the temporal whitening transformation to the channel estimation. Applying the temporal whitening transformation may include using the covariance matrix. Generating the reduced temporal correlation between samples of received signal's symbols and samples of the previous received signal's symbols may include, for example, using a temporal whitening module, e.g., temporal whitening module216as described herein with reference toFIG. 2.

As indicated in block540an embodiment of the invention may include applying a spatial whitening transformation to the reduced temporal correlation signal to reduce spatial correlation between samples of the received signal's symbols. Furthermore an embodiment of the invention may include applying the spatial whitening transformation to the reduced temporal correlation channel estimation. Applying the spatial whitening transformation may include using the covariance matrix. Generating the reduced spatial correlation between samples of the received signal's symbols may include, for example, using a spatial whitening module, e.g., spatial whitening module217as described herein with reference toFIG. 2.

As indicated in block550an embodiment of the invention may include reducing any number of vectors into one or more vectors by applying a reducing transformation. Reducing the vector number may include, for example, using a vector reducer module, e.g., vector reducer module218as described herein with reference toFIG. 2.

As indicated in block560the optimal weights of the reducing transformation may be calculated. Such weights may be, for example, elements of a calculated matrix. An embodiment of the invention may include using an estimated channel matrix which may include the estimated channel of different symbol sample. For example, each column of the estimated channel matrix may be a channel of different symbol sample. The product of the estimated channel matrix multiplied by the transpose estimated channel matrix may be generated and the optimal weights may be calculated (such weights may be the eigenvectors with the largest eigenvalues of this matrix). Calculating the optimal weights of the reducing transformation may include, for example, using an optimal weight calculator module, e.g., optimal weight calculator module310as described herein with reference toFIG. 3.

As indicated in block570a reducing linear transformation for reducing the number of vectors may be applied. An embodiment of the invention may include multiplying the calculated optimal weights by the input vectors. Applying the reducing linear transformation may include, for example, using calculator module, e.g., calculator module320as described herein with reference toFIG. 3.

Other operations or series of operations may be used.