Embodiments of the present invention relate generally to the field of radio frequency (RF) multiple-input-multiple-output (MIMO) systems and more particularly to performing preprocessing in a decoder of such systems.
A MIMO receiver may include receiving antennas that receive a radio signals and an estimation section that may find channel estimation of the recovered radio signals. In order to demodulate the signal, one of the approaches is to use Maximum Likelihood Detector (MLD).
Various standards for wireless communication are known, for example, to ensure interoperability between equipment from multiple vendors. The standards typically aim to ensure that an allocated spectrum for the wireless communication system is used efficiently. One such widely adopted standard is the 3rd Generation Partnership Project (3GPP) standard. The 3GPP standard has had many revisions, including an evolution into 5G New Radio (5G NR) together with Long-Term Evolution LTE standards.
Due to the enormous rate at which information may be decoded, there is a great need in the art for providing a system and method that manages decoding signals in MIMO systems at an acceptable complexity while maintaining performance.
According to embodiments of the invention, a system and method for performing MLD preprocessing in a MIMO communication system may include, using a processor: obtaining a received signal, Y, a corresponding channel matrix, H and a vector of noise samples, n; calculating a whitening filter L−H based on the vector of noise samples n; whitening the channel matrix H using the whitening filter L−H to obtain a whitened channel matrix {tilde over (H)}; performing a coordinate rotation digital computer (Cordic) based QR decomposition to the whitened channel matrix {tilde over (H)} and the whitening filter L−H to obtain triangular matrix R of the QR decomposition of the whitened channel matrix {tilde over (H)} and QHL−H; and multiplying the received signal Y by QHL−H to obtain
According to embodiments of the invention, a system and method for performing MLD preprocessing in a MIMO communication system, may include, using a processor: obtaining a received signal Y a corresponding channel matrix H and a vector of noise samples n; calculating a whitening filter L−H based on the vector of noise samples n; whitening a channel matrix H using the whitening filter L−H to obtain a whitened channel matrix {tilde over (H)}; whitening the received signal Y using the whitening filter L−H to obtain a whitened received signal {tilde over (Y)}; and performing a coordinate rotation digital computer (Cordic) based QR decomposition to the whitened channel matrix {tilde over (H)} and the whitened received signal {tilde over (Y)} to obtain triangular matrix R of the QR decomposition of the whitened channel matrix {tilde over (H)} and
According to embodiments of the invention, a system and method for performing MLD preprocessing in a MIMO communication system, may include, using a processor: obtaining a received signal Y a corresponding channel matrix H and a vector of noise samples n; calculating a whitening filter L−H based on the vector of noise samples n; whitening a channel matrix H using the whitening filter L−d to obtain a whitened channel matrix {tilde over (H)}; selecting, one of a first calculation or a second calculation, based on estimated complexity of the first calculation and the second calculation; and performing preprocessing of the received signal Y using the selected calculation, wherein the first calculation comprises: whitening the received signal Y using the whitening filter L−H to obtain a whitened received signal {tilde over (Y)} and performing a coordinate rotation digital computer (Cordic) based QR decomposition to the whitened channel matrix {tilde over (H)} and the whitened received signal {tilde over (Y)} to obtain triangular matrix R of the QR decomposition of the whitened channel matrix {tilde over (H)} and
According to embodiment of the invention, performing the Cordic based QR decomposition to the whitened channel matrix {tilde over (H)} and the whitened received signal {tilde over (Y)} comprises performing the Cordic based QR decomposition to a widened matrix, the widened matrix being a combination of the whitened channel matrix {tilde over (H)} and the whitened received signal {tilde over (Y)} and performing the Cordic based QR decomposition to the whitened channel matrix {tilde over (H)} and the whitening filter L−H comprises performing the Cordic based QR decomposition to a widened matrix, the widened matrix being a combination of the whitened channel matrix {tilde over (H)} and the whitening filter L−H
According to embodiment of the invention, the MLD preprocessing is performed by a MIMO decoder.
Embodiments of the invention may include decoding the received signal Y by using the triangular matrix R and
According to embodiments of the invention, the whitening filter L−H may be calculated by: calculating a correlation matrix Rnn of the vector of noise samples n; and performing a Cholesky decomposition of the noise correlation matrix Rnn to obtain the whitening filter L−H.
According to embodiments of the invention, selecting one of the first calculation or the second calculation is performed based on a time domain decimation D_T, a frequency domain decimation D_F, and a number of transmitter antennas M.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. Embodiments of the invention, however, both as to organization and method of operation, together with objects, features and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanied drawings. Embodiments of the invention are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals indicate corresponding, analogous or similar elements, and in which:
It wall be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following description, various aspects of the present invention wall be described. For purposes of explanation, specific configurations and details are set forth in order to provide a thorough understanding of the present invention. However, it will also be apparent to one skilled in the art that the present invention may be practiced without the specific details presented herein. Furthermore, well known features may be omitted or simplified in order not to obscure the present invention.
Although some embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, “processing,” “computing,” “calculating,” “determining,” “establishing”, “analyzing”, “checking”, or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device that manipulates and/or transforms data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data, similarly represented as physical quantities within the computer's registers and/or memories or other information transitory or non-transitory or processor-readable storage medium that may store instructions, which when executed by the processor, cause the processor to execute operations and/or processes. Although embodiments of the invention are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. The term “set” when used herein may include one or more items unless otherwise stated. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed in a different order from that described, simultaneously, at the same point in time, or concurrently.
Reference is now made to
Y=Hs+n (Equation 1)
Where H is a channel estimation matrix, also referred to as the channel matrix. The channel matrix H may include entries hij that represent the relationship between the signals transmitted from the jth transmitter antenna 102 to the signal received by the ith receiver antenna 104. The dimension of the transmit vector s is M×I, the dimension of the received signal y is N×I, the dimension of the channel matrix H is N×M and n is a signal noise vector of dimension N×I with an example correlation matrix Rnn:
Rnn=Σn*nH (Equation 2)
A MIMO decoder 106, e.g., including a maximum likelihood decoder (MLD), may decode a received signal Y by determining its corresponding transmit signal s for a given channel matrix H. Each vector s may be a vector with a number of elements equal to the number of transmit antennae 102, M, and each vector y may be a vector with a number of elements equal to the number of receive antennae 104, N. In one example of a 4×4 MIMO channel matrix H (N=M=4), each vector s and y may be a 4-vector with 4 elements.
A demultiplexer 108 may modulate transmitted signals 5, for example, using quadrature amplitude modulation (QAM) mappers with 4, 16, 64 or 256 QAM or any other type of modulation. Modulation may define a number of possible or candidate values for each vector element. For example, each element in 4 QAM or quadrature phase-shift keying (QPSK) has 4 possible values (e.g. defined by 2 bits−2{circumflex over ( )}2=4 complex values (1,1), (−1,1), (−1,−1),(1,−1)), each element in 64 QAM has 64 possible values (e.g. 6 bits), etc. Decoder 106 may evaluate a total number of different transmit vectors s equal to the number of possible candidate modulation values to the power of the number of transmit antennae M to find the most likely solution for each received signal Y For example, 64 QAM, using 4×4 MIMO there are 64{circumflex over ( )}4 (16.8 million) different candidate 4-vectors s.
A maximum likelihood (ML) decoder may, for example, search a tree graph to determine the most likely solution e.g., a node in the tree graph representing one element in a transmit vector s associated with a minimum difference or distance in equation (1) between H·s and the received signal Y e.g.,
However, computing such distances for the trillions of possible solutions per second supported by wireless communications standards, such as LIE advanced, is difficult.
In order to reduce the complexity of the receiver, noise whitening and QR decomposition may be performed. Noise whitening may include applying a whitening filter to the signal model. The whitening filter may be calculated using any whitening transform, for example, by calculating a Cholesky decomposition of the noise correlation matrix Rnn, such that for example:
LH*L=Chol(Rnn) (Equation 3)
The whitening filter may equal L−H. Other whitening filters may be used. The whitening procedure may be performed by multiplying each component of the signal model by the whitening filter. After applying whitening filter L−H, the new signal model is, for example:
{tilde over (Y)}=[L−HY=L−HHs+L−H*n]={tilde over (H)}s+ñ (Equation 4)
Where {tilde over (Y)} is the whitened received signal, {tilde over (H)} is the whitened channel matrix, n is the whitened noise where the whitened noise correlation matrix Rññ becomes an identity matrix, according to the following example:
Rññ=ΣññH=L−H(ΣnnH)*L−1RnnL−1=I (Equation 5)
OR decomposition may simplify the search distance computation. Using QR decomposition, the whitened channel matrix {tilde over (H)} is decomposed into matrices Q and R, such that:
{tilde over (H)}=QN×MRM×M (Equation 6)
R=QH{tilde over (H)} (Equation 7)
Where
It is evident from Equation 8 that after performing whitening and QR decomposition, the inputs for the MLD are
Embodiments of the present invention provide an efficient method for calculating
Reference is now made to
Reference is now made to
{tilde over (H)}=L−1H (Equation 9)
In block 330 the received signal Y may be whitened, using whitening filter L−H to obtain the whitened received signal {tilde over (Y)}. For example, the received signal Y may be whitened by applying the whitening filter L−H to the received signal Y according to:
{tilde over (Y)}=L−HY (Equation 10)
In block 340 Gram-Schmidth based QR decomposition may be performed on the whitened channel matrix {tilde over (H)} to obtain matrices Q and R. R may be fed in to MLD module 220. In block 350 the whitened received signal {tilde over (Y)} may be multiplied by QH to obtain
Reference is now made to
According to embodiments of the invention, reducing the complexity of preprocessing module 210 may be achieved by feeding other matrices to a Cordic based QR decomposition block instead of identity matrix I, as disclosed herein.
Reference is now made to
Preprocessing block 500 may be an elaboration of preprocessing module 210 depicted in
QR([{tilde over (H)}′])=QR([{tilde over (H)},L−H])=[R,QHL−H] (Equation 11)
Block 520 may obtain QHL−H and received signal Y, and may multiply the vector of a received signal Y by QH L−H to obtain
Embodiments of the enhanced preprocessing block 500 may eliminate received signal Y whitening block 330 that was needed in the prior art preprocessing block 400. Thus, received signal Y whitening block 330 that is present in prior art preprocessing blocks 300 and 400 is no longer needed in preprocessing block 500. Therefore, the computational complexity is reduced comparing to the prior art. It is noted that the dimension of L−H is [N×N], so the dimension of {tilde over (H)}′ is (N×(N+M)). Since in MIMO channels N is not smaller than M, in a worst case scenario the dimension of {tilde over (H)}′ equals (N×2N).
Reference is now made to
QR([{tilde over (H)}″])=QR([{tilde over (H)},{tilde over (Y)}])=[R,QHL−HY] (Equation 12)
The triangular matrix R and F may be provided as inputs to MLD module 220. Embodiments of the enhanced preprocessing block 600 may eliminate matrices multiplication block 350 that was needed in prior art preprocessing method. Thus, block 350 that is present in prior art preprocessing blocks 300 and 400 is no longer needed in preprocessing block 600. Therefore, the computational complexity is reduced. It is noted that the dimension of L−HY is [N×1], so the dimension of {tilde over (H)}″ is (N×N+1). This is reflected in the complexity of block 610.
The efficiency of preprocessing blocks 400, 500 and 600 may change according to the use cases and the network parameters. Specifically, the efficiency may depend on the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F. The time domain decimation D_T, and the frequency domain decimation D_F are parameters that define decimation in time and frequency, respectively, of calculation of the channel matrix H in MIMO decoders, e.g., decode 106. For example, in a 5G decoder, theoretically, each resource element (RE) may have its own specific channel matrix H. However, the calculation of the channel matrix H may be computationally intensive. Therefore, in case the channel is not frequency selective, e.g., in case channel matrix H is not changing much in the frequency domain, there may be no need to calculate channel matrix H for each RE in the frequency domain but rather for each D_F RE, e.g., jumping in the frequency by a factor referred to as the frequency domain decimation D_F. The time domain decimation T_D is the equivalent decimation parameter in the time domain, that may depend on the speed of the change in the time domain (e.g., doppler effect).
The following calculation applies to an N×M MIMO channel. The cycle count or number of multiply-accumulate (MAC) operations required of blocks of the prior art solution presented in
The total number of MAC operations of the prior art preprocessing block 400 presented in
Prior an preprocessing block 400 total MAC=(A+C)/D_T/D_F+2*B (Equation 13)
As can be seen in Equation 13, the calculations performed by blocks 320 and 410 may be decimated by D_F and T_D since the channel matrix H is decimated. There is no need to repeat the calculations performed by blocks 320 and 410 as long as the channel matrix H constant, and the channel matrix is H constant in the intervals of D_F in the frequency domain and T_D in the time domain. The calculations in blocks 330 and 350, however, depend on the input data F, and therefore have to be performed for each RE with no decimation.
The estimated number of MAC operations of blocks of the enhanced preprocessing block 500 presented in
The total estimated number of MAC operations of enhanced preprocessing block 500 presented in
Enhanced preprocessing block 500 total MAC=(A+C)/D_T/D_F+B (Equation 14)
It is evident from Equations 13 and 14 that the total estimated number of MAC operations of enhanced preprocessing block 500 is smaller than the total estimated number of MAC operations of prior art preprocessing block 400 by B. This is true for all channel conditions, e.g., regardless of the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F.
For example, a typical use case of a 5G NR network may include 4×4 MIMO configuration, carrier bandwidth of 100 MHz, sub-carrier spacing of 30 KHz, and thus 3276 subcarriers in a symbol. The number of symbols in a slot may be 14 and the number of slots in a second may be 2000. Thus, the number of REs or received signal vectors Y in a second may equal 3276*14*2000=˜90M (Mega/). R which is the number of MAC operations required for the calculation of (QHL−H)*Y (here in a time period of one second) may equal 4*4*90M=˜1.5G (Giga) multiply-accumulate (MAC) operations. Thus, in this use case, reducing the required number of MAC operations by B may save up to 1.5G MAC operations per second.
The estimated number of MAC operations for blocks of enhanced preprocessing block 600 presented in
The total estimated number of MAC operations of enhanced preprocessing block 600 presented in
Enhanced preprocessing block 600 total MAC=A/D_T/D_F+B+C/2*(M+1)/M (Equation 15)
Compering enhanced preprocessing block 500 estimated number of MAC operations as expressed in Equation 14 with enhanced preprocessing block 600 total estimated number of MAC operations as expressed in Equation 15, it is apparent that for some channel conditions (e.g., values of the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F) enhanced preprocessing block 500 may have total estimated number of MAC operations that is smaller than the total estimated number of MAC operations of enhanced preprocessing block 600, while for other channel conditions the opposite may be true.
According to embodiments of the invention, the values of the channel conditions, e.g., the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F, (and/or other parameters that may affect D_T and D_P) may be examined, and R and
In some embodiments, the estimated complexity may be compared based on equations 14 and 15. Thus, if, based on equations 14 and 15, enhanced preprocessing block 500 has total estimated number of MAC operations that is smaller than the total estimated number of MAC operations of enhanced preprocessing block 600, than enhanced preprocessing block 500 may be used to calculate R and
In some embodiments, the complexity of the calculations may be estimated by measuring offline the actual number of MAC operations required by enhanced preprocessing block 500 and by enhanced preprocessing block 600 for a plurality of use cases and/or channel conditions, e.g., for a plurality of combinations of values of the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F. The results of the offline measurements may be used to compare the estimated complexity, e.g., the actual number of MAC operations, of enhanced preprocessing block 500 and enhanced preprocessing block 600 in the plurality of use cases and/or channel conditions, and for preparing a lookup table with suggested enhanced preprocessing block for each use case and/or channel condition, e.g., for a plurality of combinations of values of the number of transmit antennae M, the time domain decimation Off, and the frequency domain decimation OF. The lookup table may be used in real time operation for selecting between enhanced preprocessing block 500 and enhanced preprocessing block 600, based on the number of transmit antennae M, the time domain decimation D_T, and the frequency domain decimation D_F.
Dynamically selecting between enhanced preprocessing blocks 500 and 600 may further reduce the total number of MAC operations required for preprocessing, since as explained herein, the total number of MAC operations of enhanced preprocessing block 500 may always be lower than the total number of MAC operations of the prior art preprocessing block 400, and switching to enhanced preprocessing block 600 when the total number of MAC operations of enhanced preprocessing block 600 is lower than the total number of MAC operations of enhanced preprocessing block 500 may further reduce the total number of MAC operations.
Reference is no made to
Reference is made to
In operation 910 a received signal Y, a channel matrix H corresponding to signal Y, and a vector of noise samples n may be received or obtained, e.g., by decoder 106. In operation 920, a whitening filter L−H may be calculated based on the vector of noise samples n. For example, a whitening filter L−H may be calculated by calculating a correlation matrix Rnn of the vector of noise samples n as presented in Equations 2, and performing Cholesky decomposition of the noise correlation matrix Rnn, as presented in Equation 3. In operation 930, the channel matrix H may be whitened, e.g., by applying the whitening filter L−H to the channel matrix H to obtain a whitened channel matrix {tilde over (H)}, e.g., as expressed in example Equation 9.
In operation 940, a Cordic based QR decomposition may be performed to the whitened channel matrix {tilde over (H)} and the whitening filter L−H, to obtain triangular matrix R of the QR decomposition of the whitened channel matrix {tilde over (H)} and QHL−H. For example, performing the Cordic based QR decomposition to the whitened channel matrix H and the whitening filter L−H may include performing the Cordic based QR decomposition to a widened matrix {tilde over (H)}′, the widened matrix being a combination of the whitened channel matrix {tilde over (H)} and the whitening filter L−H, such that {tilde over (H)}′=[{tilde over (H)}, L−H], e.g., as expressed in Equation 11. In operation 950, the received signal Y may by multiplied by QHL−H to obtain
Reference is made to
Reference is made to
In operation 1110, the relation between 1/(T_D*F_D) and (1+1/M)/2 may be determined. According to some embodiments, the first calculation may be performed if
is smaller than
as indicated in operation 1120, and the second calculation may be performed otherwise, as indicated in operation 1120. Other conditions may be used.
Reference is made to
Device 1200 may include a processor 1210. Processor 1210 may include or may be a vector processor, a central processing unit (CPU), a digital signal processor (DSP), a microprocessor, a controller, a chip, a microchip, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC) or any other integrated circuit (IC), or any other suitable multi-purpose or specific processor or controller.
Device 1200 may include a memory unit 1220. Memory unit 1220 may be or may include any of a short-term memory unit and/or a long-term memory unit. Memory unit 1220 may include, for example, random access memory (RAM), dynamic RAM (DRAM), flash memory, volatile memory, non-volatile memory, a tightly-coupled memory (TCM), a buffer, a cache, such as an L-1 cache and/or an L-2 cache, or other suitable memory units or storage units. Memory unit 1220 may be implemented as separate (for example, “off-chip”) or integrated (for example, “on-chip”) memory unit, or as both.
Processor 1210 may request, retrieve, and process data from memory unit 1220 and may control, in general, the pipeline flow of operations or instructions executed on the data. Processor 1210 may receive instructions, for example, from a program memory (for example, in memory unit 1220 to perform methods disclosed herein. According to embodiments of the present invention, processor 1210 may receive instructions to decoding a received signal in a MIMO communication system including a preprocessing stage, according to embodiments of the invention.
Embodiments of the invention may be implemented for example on an integrated circuit (IC), for example, by constructing processor 1210, as well as other components of
According to embodiments of the present invention, some units e.g., processor 1210, as well as the other components of
Embodiments of the present invention may include a computer program application stored in non-volatile memory, non-transitory storage medium, or computer-readable storage medium (e.g., hard drive, flash memory, CD ROM, magnetic media, etc.), storing instructions that when executed by a processor (e.g., processor 1210) carry out embodiments of the invention. Processor 1210 may be configured to carry out embodiments described herein by for example executing software or instructions.
Embodiments described in this disclosure may include the use of a special purpose or general-purpose computer including various computer hardware or software modules, as discussed in greater detail below.
Embodiments within the scope of this disclosure also include computer-readable media, or non-transitory computer storage medium, for carrying or having computer-executable instructions or data structures stored thereon. The instructions when executed may cause the processor to carry out embodiments of the invention. Such computer-readable media, or computer storage medium, can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computer, the computer properly view's the connection as a computer-readable medium. Thus, any such connection is properly termed a computer-readable medium. Combinations of the above should also be included within the scope of computer-readable media.
Computer-executable instructions comprise, for example, instructions and data which cause a general-purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. Although the subject matter has been described in language specific to structural features and/or methodological acts, /////////it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
As used herein, the term “module” or “component” can refer to software objects or routines that execute on the computing system. The different components, modules, engines, and services described herein may be implemented as objects or processes that execute on the computing system (e.g., as separate threads). While the system and methods described herein are preferably implemented in software, implementations in hardware or a combination of software and hardware are also possible and contemplated. In this description, a “computer” may be any computing system as previously defined herein, or any module or combination of modulates running on a computing system.
For the processes and/or methods disclosed, the functions performed in the processes and methods may be implemented in differing order as may be indicated by context. Furthermore, the outlined steps and operations are only provided as examples, and some of the steps and operations may be optional, combined into fewer steps and operations, or expanded into additional steps and operations.
The present disclosure is not to be limited in terms of the particular embodiments described in this application, which are intended as illustrations of various aspects. Many modifications and variations can be made without departing from its scope. Functionally equivalent methods and apparatuses within the scope of the disclosure, in addition to those enumerated, will be apparent to those skilled in the art from the foregoing descriptions. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is to be limited only by the terms of the appended claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used in this disclosure is for the purpose of describing particular embodiments only, and is not intended to be limiting.
This disclosure may sometimes illustrate different components contained within, or connected with, different other components. Such depicted architectures are merely exemplary, and many other architectures can be implemented which achieve the same or similar functionality.
Number | Name | Date | Kind |
---|---|---|---|
8199841 | Sarrigeorgidis | Jun 2012 | B1 |
8428159 | Atwater et al. | Apr 2013 | B2 |
8861651 | Aubert | Oct 2014 | B2 |
9112744 | Venkatesh | Aug 2015 | B1 |
9318813 | Patel et al. | Apr 2016 | B2 |
9954596 | Wu | Apr 2018 | B2 |
20060268963 | Yoshida | Nov 2006 | A1 |
20150098533 | Rusek | Apr 2015 | A1 |
20160373204 | Yamada | Dec 2016 | A1 |
Entry |
---|
Masaaki Fujii “Pre-Whitening QR-Decomposition Maximum Likelihood Detection for Co-channel Interference Rejection in MIMO Systems” , IEICE Transactions on Communications, published on Jul. 1, 2009, vol. E92.B Issue 7 pp. 2529-2532,. |
Foster, J., Chambers, J. and McWhirter, J., 2009. “A novel algorithm for calculating the QR decomposition of a polynomial matrix” IN: IEEE International Conference Acoustics, Speech and Signal Processing ICASSP, pp. 3177-3180. |