Abstract:
A signal detection technique for multiple-input multiple-output (MIMO) communications systems embodied in a method and apparatus for detecting a plurality of transmitted signals with use of a plurality of receiving antennas. An iterative procedure decodes one of a plurality of transmitted signals at each iteration using an intermediate matrix at each iteration to determine the transmitted signal to be decoded. The intermediate matrix for each successive iteration is advantageously computed in a recursive manner with use of a Schur complement operation performed based on the inverse of a modified version of the intermediate matrix used in the previous iteration.

Description:
FIELD OF THE INVENTION 
   The present invention relates generally to the field of wireless radio-frequency communication systems, and more particularly to a method and apparatus for detecting transmitted signals in a digital wireless communication system employing multiple-antenna communications. 
   BACKGROUND OF THE INVENTION 
   Multiple-antenna communications systems, also known as Multiple-Input Multiple-Output (MIMO) systems, are known to be able to achieve very high spectral efficiencies in scattering environments, with no increase in bandwidth or transmitted power. In particular, it is known that such a multipath wireless channel is capable of huge capacities, provided that the multipath scattering is sufficiently rich and is properly exploited through the use of an appropriate processing architecture and multiple antennas (both at transmission and reception). 
   One such MIMO system is described, for example, in U.S. Pat. No. 6,097,771, issued on Aug. 1, 2000 to G. Foschini, entitled “Wireless Communications System Having A Layered Space-Time Architecture Employing Multi-Element Antennas.” U.S. Pat. No. 6,097,771, which is commonly assigned to the assignee of the present invention, is hereby incorporated by reference as if fully set forth herein. The architecture described in U.S. Pat. No. 6,097,771 has been shown to be theoretically capable of approaching the Shannon capacity for multiple transmitters and receivers. (As is well-known to those of ordinary skill in the art, the Shannon capacity of a system refers to the information-theoretic capacity limit of the system.) 
   Another such MIMO system is described, for example, in U.S. Pat. No. 6,317,466, issued on Nov. 13, 2001 to G. Foschini et al., entitled “Wireless Communications System Having A Space-Time Architecture Employing Multi-Element Antennas At Both The Transmitter And Receiver” (hereinafter “Foschini et al.”). U.S. Pat. No. 6,317,466, which is also commonly assigned to the assignee of the present invention, is also hereby incorporated by reference as if fully set forth herein. The architecture described in Foschini et al, provides for a technique having a significantly lower computational complexity than that of U.S. Pat. No. 6,097,771, but which nonetheless can still achieve a substantial portion of the Shannon capacity. 
   Specifically, in the system of Foschini et al, a data stream is split into M uncorrelated sub-streams of symbols, each of which is transmitted by one of M transmitting antennas. The M sub-streams are picked up by N receiving antennas after having been perturbed by a channel matrix H. (The channel matrix H represents the signal interference or signal loss which naturally occurs as a result of the transmission channel.) The sub-stream signal with the highest signal-to-noise ratio is advantageously detected first and this involves the calculation of the pseudo-inverse of H or the calculation of a minimum mean-square error filter. The effect of the detected symbol as well as the effect of the corresponding transmission channel is then advantageously removed (mathematically) from the N received signals. This process repeats with the next strongest sub-stream signal among the remaining undetected signals. Thus, this approach detects M symbols (one from each of the M sub-streams) in M iterations. Moreover, it has been proven that this decoding order is optimal from a performance point of view. However, the computational complexity of the Foschini et al, technique is still reasonably high (albeit lower than that of U.S. Pat. No. 6,097,771). 
   This complexity problem was addressed, for example, in U.S. Pat. No. 6,600,796, issued on Jul. 29, 2003 to B. Hassibi, entitled “Method And Apparatus For Receiving Wireless Transmissions Using Multiple-Antenna Arrays” (hereinafter “Hassibi”). U.S. Pat. No. 6,600,796 is commonly assigned to the assignee of the present invention and is hereby incorporated by reference as if fully set forth herein. In Hassibi, it was recognized that mathematical matrix inversion operations are inherently costly (in computational complexity), and, making use of that recognition, an improved technique for detecting the M transmitted signals was disclosed. In particular, in the technique of Hassibi, as each transmitted symbol is detected the effect of the detected symbol and of the corresponding channel is advantageously subtracted from the N received signals without performing any mathematical matrix inversion operations. 
   Although the prior art techniques such as that of Foschini et al, and especially that of Hassibi have considerably reduced the computational complexity of the signal detection process for MIMO systems over the earlier techniques, their complexity nonetheless rises significantly as the number of antennas grow. That is, while reasonably efficient when used with a modest number of antennas, these techniques become more cumbersome particularly when the number of transmitting antennas becomes large (e.g., greater than 10). Therefore, an improved signal detection technique for MIMO systems, whose computational complexity does not increase as quickly with increasing numbers of antennas, would be highly desirable. 
   SUMMARY OF THE INVENTION 
   In accordance with the present invention, an improved signal detection technique for MIMO systems is embodied in a method and apparatus for detecting a plurality of transmitted signals with use of a plurality of receiving antennas. In particular, and in accordance with one illustrative embodiment of the present invention, an iterative procedure decodes one of a plurality of transmitted signals at each iteration using an intermediate matrix at each iteration to determine the transmitted signal to be decoded. The intermediate matrix for each successive iteration is advantageously computed in a recursive manner with use of a Schur complement operation performed based on the inverse of a modified version of the intermediate matrix used in the previous iteration. (A Schur complement is a well-known matrix operation fully familiar to those skilled in the art.) 
   More specifically, a method and apparatus for detecting a plurality of transmitted signals transmitted across a channel by respective transmitting antenna elements in a multiple-input multiple-output communications system is provided. The method, for example, comprises the steps of (a) collecting a plurality of received signals from respective receiving antenna elements in said communications system; (b) determining a channel matrix H of estimated channel coefficients based on said plurality of received signals; (c) computing an estimate of a selected one of said transmitted signals, said estimate based on said plurality of received signals and on an intermediate matrix Q, thereby resulting in detection of the selected one of said transmitted signals, wherein said intermediate matrix Q is a function of the channel matrix H; and (d) repeating at least step (c) one or more times to detect an additional one or more of said transmitted signals, wherein said intermediate matrix Q as used in step (c) for each such repeated execution thereof is re-computed based on a function of an inverse of a Schur complement of an element in the inverse of a modified version of the intermediate matrix Q used in the previous execution of step (c). 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows an illustrative MIMO system architecture in which an illustrative embodiment of the present invention may be advantageously employed. 
       FIG. 2  shows an illustration of a how the transmission channel for a MIMO system may be represented as a channel matrix in accordance with an illustrative embodiment of the present invention. 
       FIG. 3  shows an illustration of how an estimation matrix may be advantageously used to decode the plurality of transmitted signals in accordance with an illustrative embodiment of the present invention. 
       FIG. 4  shows a flowchart of a sequential nulling and cancellation scheme for use in decoding the plurality of transmitted signals in accordance with a prior art technique. 
       FIG. 5  shows a flow chart of a sequential nulling and cancellation scheme for use in decoding the plurality of transmitted signals in accordance with an illustrative embodiment of the present invention. 
   

   DETAILED DESCRIPTION 
   An Overview of an Illustrative MIMO System Architecture 
     FIG. 1  shows an illustrative MIMO system architecture in which an illustrative embodiment of the present invention may be advantageously employed. As shown in the figure, a single data stream is transmitted across a wireless channel with use of a communications link comprising M transmitting antennas and N receiving antennas. The channel is advantageously presumed to be a Rayleigh channel, familiar to those of ordinary skill in the art. In particular, the channel is flat-fading (meaning that the signals are narrow-band), and it is presumed that there is no Inter-Symbol Interference (ISI) between adjacent symbols. 
   The figure shows transmitter  10 , channel  14  and receiver  15 . Specifically, demultiplexer  11  of transmitter  10  separates the data stream into M uncorrelated data sequences which are then modulated by modulators  12 - 1  through  12 -M respectively into M substreams, s 1 (k), . . , s M (k), each of which is then sent through corresponding transmitting antennas  13 - 1  through  13 -M. After traversing channel  14  (whose behavior is represented by the matrix H—see discussion of  FIG. 2 , below), the transmitted signals are captured by receiver  15 , specifically comprising receiving antennas  16 - 1  through  16 -N and corresponding demodulators  17 - 1  through  17 -N, which produce intermediate signals x 1 (k) through x N (k), respectively. Then, in accordance with the principles of the present invention, signal detector  18  generates the recovered data stream from intermediate signals x 1 (k) through x N (k) in accordance, for example, with an illustrative embodiment of the present invention. 
     FIG. 2  shows an illustration of a how the transmission channel for a MIMO system may be represented as a channel matrix in accordance with an illustrative embodiment of the present invention. In particular, the figure shows transmitting antennas  13 - 1  through  13 -M, used to transmit signals s 1 (k), s 2 (k), . . . , s M (k), respectively; channel matrix H representative of transmission channel  14 ; and the portion of receiver  15  comprising receiving antennas  16 - 1  through  16 -N and corresponding demodulators  17 - 1  through  17 -N, which produce intermediate signals x 1 (k) through x N (k), respectively. Also shown are summation elements  21 - 1  through  21 -N which represent the (unavoidable) inclusion of noise signals w 1 (k) through w N (k), respectively, into the signals received by receiving antennas  16 - 1  through  16 -N. 
   Specifically, channel matrix H comprises channel vectors h :1  through h :M , representing the channel&#39;s effect on each of the M transmitted signals, respectively. More specifically, channel vector h :1  comprises channel matrix entries h 11  through h N1 , representing the channel&#39;s effect on transmitted signal s 1 (k) at each of receiving antennas  16 - 1  through  16 -N, respectively; channel vector h :2  comprises channel matrix entries h 12  through h N2 , representing the channel&#39;s effect on transmitted signal s 2 (k) at each of receiving antennas  16 - 1  through  16 -N, respectively, . . . , and channel vector h :M  comprises channel matrix entries h 1M  through h NM , representing the channel&#39;s effect on transmitted signal s M (k) at each of receiving antennas  16 - 1  through  16 -N, respectively. 
   The operation of the illustrative MIMO architecture is described more formally, below. First, at the receivers, at sample time k, we have: 
                                     x   ⁡     (   k   )       =         ∑     m   =   1     M     ⁢           ⁢       h     :   m       ⁢       s   m     ⁡     (   k   )           +     w   ⁡     (   k   )                             ⁢       =       H   ⁢           ⁢     s   ⁡     (   k   )         +     w   ⁡     (   k   )           ,           ⁢     k   =   1     ,   2   ,     …   ⁢           ⁢   K     ,                     where                           x   ⁡     (   k   )       =       [             x   1     ⁡     (   k   )               x   2     ⁡     (   k   )           L           x   N     ⁡     (   k   )             ]     T                         ⁢     =       [               h     1   :     H     ⁢     s   ⁡     (   k   )         +       w   1     ⁡     (   k   )                   h     2   :     H     ⁢     s   ⁡     (   k   )         +       w   2     ⁡     (   k   )             L             h     N   :     H     ⁢     s   ⁡     (   k   )         +       w   N     ⁡     (   k   )               ]     T                           (   1   )               
is the N-dimensional received vector,
 
                 H   =     [           h   11           h   12         L         h     1   ⁢           ⁢   M                 h   21           h   22         L         h     2   ⁢   M               M       M       O       M             h   N1           h   N2         L         h   NM           ]                 =     [           h     :   1             h     :   2           L         h     .   M             ]                 =     [           h     1   ·     H               h     2   :     H             M             h     N   :     H           ]                 
is an N×M complex matrix assumed to be constant for K symbol periods, vectors h n:  and h m  are respectively of length M and N,
   s ( k )=[ s   1 ( k ) s   2 ( k ) L s   M ( k )] T   
is the M-dimensional transmitted vector,
   w ( k )=[ w   1 ( k ) w   2 ( k ) L w   N ( k )] T   
is a zero-mean complex additive white Gaussian noise (AWGN) vector with covariance
 
                         R   ww     =     E   ⁢     {       w   ⁡     (   k   )       ⁢       w   H     ⁡     (   k   )         }                     =       σ   w   2     ⁢     I     N   ×   N           ,                 (   2   )               
and  T  and  H  denote respectively the transpose and the conjugate transpose of a matrix or a vector, and where I N×N  represents the N×N identity matrix. (It will be assumed herein that the additive noise w(k) is independent both in time and space.)
 
   The transmitted vector s(k) has a total power P T . This power is advantageously held constant regardless of the number of transmitting antennas M and corresponds to the trace of the covariance matrix of the transmitted vector: 
                         P   T     =       tr   ⁡     [     R   ss     ]       =   Constant                 =       ∑     m   =   1     M     ⁢           ⁢       σ     s   m     2     .                     (   3   )               
It will be assumed herein that all of the antennas transmit with the same power,
 σ s     1     2 =σ s     2     2   =Kσ   s     M     2 =σ s   2 , 
such that
 P T =Mσ s   2 .  (4) 
   Now define a parameter ρ that relates P T  and σ w   2  as follows: 
                 ρ   =       P   T       σ   w   2               (   5   )               
This parameter advantageously corresponds to the average receive signal-to-noise ratio (SNR) per antenna.
 
   Therefore, in accordance with the principles of the present invention, an original information sequence for wireless transmission is demultiplexed into M data sequences s m (k), m=1, . . . , M (called substreams), and each one of them is sent through a transmitting antenna. These M substreams are assumed to be uncorrelated, which implies that the covariance matrix of the transmitted vector s(k) is diagonal: 
                         R   ss     =     E   ⁢     {       s   ⁡     (   k   )       ⁢       s   H     ⁡     (   k   )         }                   =       σ   s   2     ⁢     I     M   ×   M                       (   6   )               
Also assume that N≧M and that H has full column rank, i.e., that rank[H]=M.
 
   Assume that the transmitter has no knowledge of the channel. In this case, the Shannon capacity of the (M, N) flat-faded channel is given by the following well-known formula, familiar to those skilled in the art: 
                       C   =         log   2     ⁡     [     det   ⁡     (       I     N   ×   N       +       ρ   M     ⁢     HH   H         )       ]       ⁡     [     bps   ⁢     /     ⁢   Hz     ]                   =         log   2     ⁡     [     det   ⁡     (       I     M   ×   M       +       ρ   M     ⁢     H   H     ⁢   H       )       ]       .                   (   7   )               
One important observation that can be made from Equation (7) is that, for rich scattering channels (meaning that the elements of the channel matrix are independent of one another), the MIMO channel capacity grows roughly proportionally to M.
 
An Illustrative MIMO Signal Detection Technique
 
   In a MIMO system such as the illustrative system shown in  FIG. 1 , the detection of the transmitted symbols at the receivers typically comprises first determining the value of the complex channel matrix H, or, more precisely, an estimate thereof. Most typically, and as is well known to those skilled in the art, H is determined by having the transmitter send a training sequence (comprising a sequence of symbols which is known in advance by the receiver) at the beginning of each burst. (As is also well known, most communications systems separate the sequence of symbols to be transmitted into individual portions referred to as bursts.) The length of a burst is advantageously equal to K=K 1 +K 2  symbols where the K 1  symbols are used for training and the K 2  symbols are used for the transmission of the actual data information. The propagation coefficients (i.e., the values of the elements of the matrix H) may then be assumed to be constant during an entire burst (since it occurs over a reasonably short period of time), after which they may change to new independent random values which it is assumed they maintain for another K symbols, and so on. Note that no distinction will be made between H and its estimate herein. 
   Thus, given the channel matrix H and the set of received signals x(k) as described above, the goal of a MIMO system is to determine (or, more precisely, to estimate) the transmitted signals s(k). Note in particular that the transmitted signals s(k) have been coded (illustratively by modulators  12 - 1  through  12 -M of  FIG. 1 ) with use of a predetermined symbol constellation, and therefore, the estimates of the transmitted signals (which will be referred to herein as ŝ(k)=[ŝ 1 ŝ 2 Lŝ M ] T ) should fall into that constellation. 
   As is well know to those skilled in the art, one general approach to the problem of signal detection in MIMO systems comprises a Sequential Nulling and Cancellation (SNC) technique, such as is described, for example, in Foschini et al. An SNC technique typically consists of performing the following steps: 
   1. The M transmitted signals are first estimated by filtering the N received signals using, for example, either the well-known minimum mean-square-error (MMSE) filtering technique or the well-known zero forcing (ZF) technique. In either case, an estimation matrix (which we will identify herein as G) is the mathematical result. 
   2. Among the M estimated source signals, the substream with the smallest estimation variance or the strongest SNR is chosen for detection. 
   3. The interference contributed by the detected substream is cancelled (removed or “subtracted out”) from the N received signals. 
   4. Return to step 1 and repeat with the number of substreams advantageously reduced by one, until all substreams have been detected. 
   Thus, it can be seen that with M iterations, each of the substreams are advantageously detected. 
     FIG. 3  shows an illustration of how an estimation matrix may be advantageously used to decode the plurality of transmitted signals in accordance with an illustrative embodiment of the present invention. Illustratively, the figure shows a MIMO environment with three transmitting antennas and four receiving antennas. (That is, in accordance with the description provided herein, M=3 and N=4.) Note that the use of an estimation matrix as shown in  FIG. 3  is a characteristic of both certain prior art MIMO signal detection schemes and certain MIMO signal detection schemes in accordance with various illustrative embodiments of the present invention. 
   As shown in the figure, estimation matrix  31  (G), which may be advantageously determined with use of either the MMSE technique or the ZF technique, is used to compute the estimates of the transmitted signals. In particular the signal vector y(k) is computed as y(k)=G H x(k) at each iteration of the SNC process. Then, as each substream, y i (k), for some i (which represents the substream with the smallest estimation variance or the strongest SNR) is detected in turn, the corresponding estimate of the transmitted signal may be advantageously determined by computing ŝ i (k)=Q{y i (k)}, where Q[·] represents the quantization procedure according to the constellation being used. As further shown in the figure, substream  2  is illustratively detected first, followed by substream  1  and finally by substream  3 . 
   A Prior Art MIMO Signal Decoding Technique 
     FIG. 4  shows a high-level flowchart of a sequential nulling and cancellation scheme for use in decoding the plurality of transmitted signals in accordance with a prior art technique. In this prior art technique, the estimation matrix (e.g., estimation matrix  31 , G, as shown in  FIG. 3 ) is computed with use of either the pseudo-inverse of the channel matrix H or, preferably, the MMSE filter G. In particular, define an error vector signal at time k between the input s(k) and its estimate: 
                         e   ⁡     (   k   )       =       s   ⁡     (   k   )       -     y   ⁡     (   k   )                     =       s   ⁡     (   k   )       -       G   H     ⁢       x   ⁡     (   k   )       .                       (   8   )               
Now, define the error criterion:
 
                       J   =     E   ⁢     {         e   H     ⁡     (   k   )       ⁢     e   ⁡     (   k   )         }                   =       tr   ⁡     [     E   ⁢     {       e   ⁡     (   k   )       ⁢       e   H     ⁡     (   k   )         }       ]       .                   (   9   )               
The minimization of Equation (9) leads to the Wiener-Hopf equation, familiar to those skilled in the art—namely:
 G H R xx =R sx ,  (10) 
where
   R   xx   =E{x ( k ) x   H ( k )}  (11) 
is the output signal covariance matrix, and
   R   sx   =E{s ( k ) x   H ( k )}  (12) 
is the cross-correlation matrix between the input and output signals.
 
   From Equation (10), it can be seen that the MMSE filter is:
 
 G=[HH   H   +αI   N×N ] −1   H,   (13)
 
where
 
                 α   =         σ   w   2       σ   s   2       .             (   14   )               
It can easily be seen that Equation (13) is equivalent to:
 
                       G   =       H   ⁡     [         H   H     ⁢   H     +     α   ⁢           ⁢     I     M   ×   M           ]         -   1                   =     HQ   .                   (   15   )               
The second form—that is, Equation (15)—is more useful and more efficient in practice since M≦N and the size of the matrix to be inverted in Equation (15) is either smaller than or equal in size to the matrix to be inverted in Equation (13).
 
   Instead of the MMSE filter, a prior art SNC technique can alternatively directly use the pseudo-inverse (familiar to those skilled in the art) of H, which is:
 
 G   PI   H   =[H   H   H]   −1   H   H   (16)
 
As can easily be seen, the only difference between the matrices G and G PI  is that the G is “regularized” by a diagonal matrix αI M×M  while G PI  is not. This regularization introduces a bias but Equation (15) actually gives a much more reliable result than Equation (16) when the matrix H H H is ill-conditioned and the estimation of the channel is noisy. In practice, depending on the condition number of the matrix H H H, a different value may be used for α than the one given in Equation (14). For example, if this condition number is very high and the SNR is also high, it will be better to take a higher value for α. Thus, the MMSE filter can be seen as a biased pseudo-inverse of H.
 
   More specifically, in the prior art SNC algorithm being described, the detection of the symbols s m (k) is performed over M iterations. Note that the order in which the components of s(k) are detected is important to the overall performance of the system. Let the ordered set
 
S={p 1 ,p 2 ,L,p M }  (17)
 
be a permutation of the integers 1, 2, . . . , M specifying the order in which components of the transmitted symbol vector s(k) are extracted.
 
   Thus, returning to  FIG. 4 , the illustrative prior art SNC technique comprises the following steps. 
   Initialization Step (as Shown in Block  40  of the Figure): 
   Use the training sequence to determine the matrix H and set the initial matrix H M =H for the first iteration. Also, determine the received signals x(k) and set x 1 (k)=x(k) for the first iteration. 
   Step  1  (as Shown in Block  41  of the Figure): 
   Using the MMSE filter or the pseudo-inverse, compute:
 
 y ( k )= G   H   x ( k ).  (18)
 
(Note that y(k) represents the estimates of the transmitted signals.) In particular, if using the MMSE filter approach, matrix G is computed by Equation (13) above; is using the zero-forcing approach, matrix G is computed by Equation (16) above. In addition, x(k) and H are determined in the initialization sequence for the first iteration, and as described below (with reference to block  44  of the figure) for all subsequent iterations.
 
Step  2  (as Shown in Block  42  of the Figure):
 
   The element of y(k) with the highest SNR is detected. This element is associated with the smallest diagonal entry of Q for the MMSE filter (as will be more clearly explained below), or the column of G having the smallest norm for the pseudo-inverse (in the case where zero-forcing has been used). For example, if such a column determined in the m&#39;th iteration is p m , then the estimate of the chosen transmitted signal is given by:
 
 ŝ   p     m   ( k )= Q[y   p     m   ( k )],  (19)
 
with Q[·] indicating the slicing or quantization procedure in accordance with the given symbol constellation in use.
 
Step  3  (as Shown in Block  43  of the Figure):
 
   Assuming that ŝ p     m   (k)=s p     m   (k), then s p     m   (k) is cancelled from the received vector x(k), resulting in a modified received vector, namely: 
                           x   2     ⁡     (   k   )       =       x   ⁡     (   k   )       -         s     p   1       ⁡     (   k   )       ⁢     h     :     p   1                         =         ∑     m   ≠     p   1                 ⁢       h     :   m       ⁢       s   m     ⁡     (   k   )           +     w   ⁡     (   k   )                       =         H     M   -   1       ⁢       s     M   -   1       ⁡     (   k   )         +     w   ⁡     (   k   )           ,                 (   20   )               
where H M−1  is an N×(M−1) matrix derived from H by removing its p 1 &#39;th column and s M−1 (k) is a vector of length M−1 obtained from s(k) by removing its p 1 &#39;th component.
 
Step  4  (as Shown in Block  44  of the Figure):
 
   Unless all M transmitted signals have already been decoded, steps  1 – 3  are repeated for components p 2 ,L,p M  by operating in turn on the progression of modified received vectors x 2 (k),L,x M (k). Note that at the m&#39;th iteration, the N×(M−m) matrix H M−m  may be derived from H by removing m of its columns—namely, columns p 1 ,L,p m . It is well known that this ordering (i.e., choosing the transmitted signal having the highest SNR at each iteration in the detection process) is optimal among all possible orderings. 
   The following more formally summarizes the illustrative prior art SNC algorithm (using the MMSE filter): 
   Initialization and First Iteration:
 
 x   1 ( k )= x ( k ),  H   M   =H=[h   M,:1   h   M,:2   L h   M,:M ]
 
 Q   M   =[q   M:1   q   M:2   L q   M:M   ]=[H   M   H   H   M   +αI   M×M ] −1 
 
 f ( k )=[1 2 L M]   T 
 
 l   1 =arg min  q   M,:ii   , p   1   =f   l     1   ( k )
 
   
     
       
         
           
             
               y 
               
                 p 
                 1 
               
             
             ⁡ 
             
               ( 
               k 
               ) 
             
           
           = 
           
             
               q 
               
                 M 
                 , 
                 
                   : 
                   
                     l 
                     1 
                   
                 
               
               H 
             
             ⁢ 
             
               H 
               M 
               H 
             
             ⁢ 
             
               
                 x 
                 1 
               
               ⁡ 
               
                 ( 
                 k 
                 ) 
               
             
           
         
       
     
       
       
         
           Move the l 1 &#39;th entry of vector f(k) to the end
 
 ŝ   p     1   ( k )= Q[y   p     1   ( k )]
 
Recursion (i.e., Subsequent Iterations), for m=1,2,K,M−1:
 
           (a) x m+1 (k)=x m (k)−ŝ p     m   (k)h M,:l     m      
           (b) Determine H M−m  by removing the l m &#39;th column of H M−m+1   
         
       
     
  
   
     
       
         
           
             
               ( 
               c 
               ) 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               Q 
               
                 M 
                 - 
                 m 
               
             
           
           = 
           
             
               [ 
               
                 
                   
                     H 
                     
                       M 
                       - 
                       m 
                     
                     H 
                   
                   ⁢ 
                   
                     H 
                     
                       M 
                       - 
                       m 
                     
                   
                 
                 + 
                 
                   α 
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     I 
                     
                       
                         ( 
                         
                           M 
                           - 
                           m 
                         
                         ) 
                       
                       × 
                       
                         ( 
                         
                           M 
                           - 
                           m 
                         
                         ) 
                       
                     
                   
                 
               
               ] 
             
             
               - 
               1 
             
           
         
       
     
       
       
         
           (d) I m+1 =arg min q M−m,ii , p m+1 =f l     m+1   (k) 
         
       
     
  
   
     
       
         
           
             
               ( 
               e 
               ) 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 y 
                 
                   p 
                   
                     m 
                     + 
                     1 
                   
                 
               
               ⁡ 
               
                 ( 
                 k 
                 ) 
               
             
           
           = 
           
             
               q 
               
                 
                   M 
                   - 
                   m 
                 
                 , 
                 
                   l 
                   
                     m 
                     + 
                     1 
                   
                 
               
               H 
             
             ⁢ 
             
               H 
               
                 M 
                 - 
                 m 
               
               H 
             
             ⁢ 
             
               
                 x 
                 
                   m 
                   + 
                   1 
                 
               
               ⁡ 
               
                 ( 
                 k 
                 ) 
               
             
           
         
       
     
       
       
         
           (f) Move the l 1 &#39;th entry of vector f(k) to the position behind the (M−m)&#39;th entry 
           (g) ŝ p     m+1   (k)=Q[y p     m+1   (k)]
 
Solutions:
 
         
       
     
  
   The estimates of the transmitted signals: [ŝ p     1   (k) ŝ p     2   (k)Lŝ p     M   (k)] T    
   The decoding order: f(k)=[p M p M−1 Lp 1 ] T    
   An Illustrative MIMO Decoding Technique According to the Present Invention 
     FIG. 5  shows a flow chart of a sequential nulling and cancellation scheme for use in decoding the plurality of transmitted signals in accordance with an illustrative embodiment of the present invention. In accordance with the illustrative embodiment of the present invention, the matrix G is advantageously computed indirectly (rather than directly). Specifically, recall that:
 G=HR −1   (21) 
where
   R=H   H   H+αI   M×M   (22) 
   The covariance matrix of the error signal, e(k)=s(k)−y(k), is: 
                         R   cc     =     E   ⁢     {       e   ⁡     (   k   )       ⁢       e   H     ⁡     (   k   )         }                   =       σ   w   2     ⁢     R     -   1                     =       σ   2   w     ⁢     Q   .                     (   23   )               
Clearly, the element of y(k) with the highest SNR is the one with the smallest error variance, so that:
 
                     p   1     =     arg   ⁢           ⁢       min   m     ⁢           ⁢     q   mm           ,           (   24   )               
where q mm  are the diagonal elements of the matrix Q=R −1 .
 
   The matrix R can be rewritten as follows: 
                   R   =         ∑     n   =   1     N     ⁢       h   n     ⁢     h     n   :     H         +     α   ⁢           ⁢     I     M   ×   M             ,           (   25   )               
which means that R can be advantageously computed recursively in N iterations, as follows:
 
                         R     [   l   ]       =         ∑     n   =   1     l     ⁢       h     n   *       ⁢     h     n   :     H         +     α   ⁢           ⁢     I     M   ×   M                       =       R     [     l   -   1     ]       +       h     l   :       ⁢     h     l   :     H                       (   26   )               
and
   R   [N]   =R, R   [0]   =αI   M×M   (27) 
Using the Sherman-Morrison formula (a well-known mathematical transformation fully familiar to those skilled in the art and also known as the “second lemma inversion”), Q can also be computed recursively, as follows:
 
                   Q     [   l   ]       =       Q     [     l   -   1     ]       -           Q     [     l   -   1     ]       ⁢     h     l   :       ⁢     h     l   :     H     ⁢     Q     [     l   -   1     ]           1   +       h     l   :     H     ⁢     Q     [     l   -   1     ]       ⁢     h     l   :             .               (   28   )               
With the initialization
 
               Q     [   0   ]       =       1   α     ⁢     I     M   ×   M           ,         
we obtain
   Q   [N]   =[H   H   H+αI   M×M ] −1 . 
Note that if the process begins at iteration M+1 with the initialization
 
               Q     [   M   ]       =       ∑     n   =   1     M     ⁢           ⁢       h   n     ⁢     h   n   H           ,         
we obtain
   Q   [N]   =[H   H   H ] −1 . 
   Note that it is well known that the computation of any recursion introduces potential numerical instabilities because of the finite precision of processor units. This instability however occurs only after a very large number of iterations. Since, in this case, the number of iterations to compute Q is limited by the number of receiving antennas N, such numerical instabilities are unlikely to occur. In any event, the numerical stability can be advantageously improved by increasing the value of α at the time of initialization. 
   Note also that in accordance with the illustrative embodiment of the present invention as described herein, Equation (28) is advantageously computed only one time at the first iteration. Once Q [N]  is computed, p 1  may be easily determined based on Equation (24) above. 
   Now, continuing the illustrative process for the first iteration, the input estimate may be computed as follows: 
                     y     p   1       ⁡     (   k   )       =       ∑     m   =   1     M     ⁢       q       p   1     ,   m       ⁢     h           .     ⁢   m     H     ⁢     x   ⁡     (   k   )                   (   29   )               
and
   ŝ   p     1   ( k )= Q[y   p     1   ( k )].  (30) 
Note that the last step of the illustrative decoding procedure in accordance with the present invention is the same as the last step (“Step  3 ”) of the prior art approach described above.
 
   For each of the following iterations (after the first), the process is as follows. First, note that the matrix Q can advantageously be deflated recursively. Specifically, note that: 
                   Q     [   N   ]       =     Q   =         [         H   H     ⁢   H     +     α   ⁢           ⁢     I     M   ×   M           ]       -   1       =       R     -   1       ⁢     
     ⁢           =       [               h   1   H     ⁢     h       :     ⁢   1         +   α             h   1   H     ⁢     h   2           L           h   1   H     ⁢     h       :     ⁢   M                     h           .     ⁢   2     H     ⁢     h       :     ⁢   1                   h       :     ⁢   2     H     ⁢     h       :     ⁢   2         +   α         L           h       :     ⁢   2     H     ⁢     h       :     ⁢   M                 M       M       O       M               h       :     ⁢   M     H     ⁢     h       :     ⁢   1                 h       :     ⁢   M     H     ⁢     h       :     ⁢   2             L             h       :     ⁢   M     H     ⁢     h       :     ⁢   M         +   α           ]     .                   (   31   )               
After the value of p 1  which corresponds to the element y p     1    (k) with the smallest variance is determined, we can advantageously interchange the p 1 &#39;th and the M&#39;th entries of the transmitted signal s(k) such that the M&#39;th signal becomes the current best estimate. Of course, in accordance with the illustrative embodiment of the present invention, the indices of the transmitted signals are advantageously tracked after such a reordering. Accordingly, the p 1 &#39;th and the M&#39;th columns of the channel matrix H are advantageously interchanged. This can, for example, be easily achieved by post-multiplying H with a permutation matrix P p     1     M  which is given by:
 
             P       p   1     ⁢   M       =         [         1       0       L                                           L       0           0       O                                                                   M           M                   1                                                                                                           0       L                               1                                               M       1                               0                                                                       O                   M                                                                                   1       0           0       L       0       1       0       L       0       0                                               ↑                                           ↑                                                 p   1                                             M         ]       M   ×   M       .           
Since
 ( HP   p     1     M ) H ( HP   p     1     M )+α I   M×M   =P   p     1     M ( H   H   H+αI   M×M ) P   p     1     M ,  (32) 
it follows that the rows and columns p 1  and M of the matrix R may be advantageously permuted. Equivalently, in accordance with an alternative illustrative embodiment of the present invention, the rows and columns p 1  and M of the matrix Q may be permuted. This can be easily seen from the fact that
 ( P   p     1     M   RP   p     1     M ) −1   =P   p     1     M   R   −1   P   p     1     M   =P   p     1     M   QP   p     1     M .  (33) 
Note that these permutations advantageously allow for the removal of the effect of the channel h :p     1    quite easily. Specifically:
 
   
     
       
         
           
             
               
                 
                   
                     
                       Q 
                       M 
                     
                     = 
                     
                       [ 
                       
                         
                           
                             
                               
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     1 
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     1 
                                   
                                 
                               
                               + 
                               α 
                             
                           
                           
                             
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   1 
                                 
                                 H 
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                           
                             L 
                           
                           
                             
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   1 
                                 
                                 H 
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   
                                     p 
                                     1 
                                   
                                 
                               
                             
                           
                         
                         
                           
                             
                               
                                 h 
                                 
                                   
                                       
                                     . 
                                   
                                   ⁢ 
                                   2 
                                 
                                 H 
                               
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   1 
                                 
                               
                             
                           
                           
                             
                               
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     2 
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     2 
                                   
                                 
                               
                               + 
                               α 
                             
                           
                           
                             L 
                           
                           
                             
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   2 
                                 
                                 H 
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   
                                     p 
                                     1 
                                   
                                 
                               
                             
                           
                         
                         
                           
                             M 
                           
                           
                             M 
                           
                           
                             O 
                           
                           
                             M 
                           
                         
                         
                           
                             
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   
                                     p 
                                     1 
                                   
                                 
                                 H 
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   1 
                                 
                               
                             
                           
                           
                             
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   
                                     p 
                                     1 
                                   
                                 
                                 H 
                               
                               ⁢ 
                               
                                 h 
                                 
                                   
                                     : 
                                   
                                   ⁢ 
                                   2 
                                 
                               
                             
                           
                           
                             L 
                           
                           
                             
                               
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     
                                       p 
                                       1 
                                     
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     
                                       p 
                                       1 
                                     
                                   
                                 
                               
                               + 
                               α 
                             
                           
                         
                       
                       ] 
                     
                   
                   , 
                   
                     
 
                   
                   ⁢ 
                   
                       
                   
                   ⁢ 
                   
                     = 
                     
                       
                         [ 
                         
                           
                             
                               
                                 R 
                                 
                                   M 
                                   - 
                                   1 
                                 
                               
                             
                             
                               
                                 v 
                                 
                                   M 
                                   - 
                                   1 
                                 
                               
                             
                           
                           
                             
                               
                                 v 
                                 
                                   M 
                                   - 
                                   1 
                                 
                                 H 
                               
                             
                             
                               
                                 β 
                                 
                                   p 
                                   1 
                                 
                               
                             
                           
                         
                         ] 
                       
                       
                         - 
                         1 
                       
                     
                   
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 where 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     
                       β 
                       
                         p 
                         1 
                       
                     
                     = 
                     
                       
                         
                           h 
                           
                             
                               : 
                             
                             ⁢ 
                             
                               p 
                               1 
                             
                           
                           H 
                         
                         ⁢ 
                         
                           h 
                           
                             p 
                             1 
                           
                         
                       
                       + 
                       α 
                     
                   
                   , 
                   
                     
 
                   
                   ⁢ 
                   
                     
                       v 
                       
                         M 
                         - 
                         1 
                       
                     
                     = 
                     
                       
                         [ 
                         
                           
                             
                               
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     1 
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     
                                       p 
                                       1 
                                     
                                   
                                 
                               
                             
                             
                               
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     2 
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     
                                       : 
                                     
                                     ⁢ 
                                     
                                       p 
                                       1 
                                     
                                   
                                 
                               
                             
                             
                               L 
                             
                             
                               
                                 
                                   h 
                                   
                                     
                                       
                                         : 
                                       
                                       ⁢ 
                                       M 
                                     
                                     - 
                                     1 
                                   
                                   H 
                                 
                                 ⁢ 
                                 
                                   h 
                                   
                                     p 
                                     1 
                                   
                                 
                               
                             
                           
                         
                         ] 
                       
                       T 
                     
                   
                   , 
                   
                     
 
                   
                   ⁢ 
                   and 
                 
                 ⁢ 
                 
                   
 
                 
                 ⁢ 
                 
                   
                     R 
                     
                       M 
                       - 
                       1 
                     
                   
                   = 
                   
                     
                       
                         H 
                         
                           M 
                           - 
                           1 
                         
                         H 
                       
                       ⁢ 
                       
                         H 
                         
                           M 
                           - 
                           1 
                         
                       
                     
                     + 
                     
                       α 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         
                           I 
                           
                             
                               ( 
                               
                                 M 
                                 - 
                                 1 
                               
                               ) 
                             
                             × 
                             
                               ( 
                               
                                 M 
                                 - 
                                 1 
                               
                               ) 
                             
                           
                         
                         . 
                       
                     
                   
                 
               
             
             
               
                 ( 
                 34 
                 ) 
               
             
           
         
       
     
   
   It can easily be shown that: 
                         ⁢         Q   M     =     [           T     M   -   1       -   1               -     T     M   -   1       -   1         ⁢       v     M   -   1       /     β     p   1                       -     v     M   -   1     H       ⁢       T     M   -   1       -   1       /     β     p   1                   1   /     β     p   1         +       v     M   -   1     H     ⁢     T     M   -   1       -   1       ⁢       v     M   -   1       /     β     p   1     2                 ]       ,     
     ⁢   where             (   35   )                 T     M   -   1       =       R     M   -   1       -       v     M   -   1       ⁢       v     M   -   1     H     /     β     p   1                     (   36   )               
is the Schur complement of β p     1    in Q M   −1 . As is well known to those skilled in the art, when a matrix A is partitioned into the form
 
             A   =     [         E       F           G       H         ]       ,         
then the Schur complement, S, of (partition) H in (matrix) A is S=E−FH −1 G.
 
   Furthermore, from Equation (36), it may be deduced that: 
                   R     M   -   1       -   1       =       Q     M   -   1       =       [       T     M   -   1       +       v     M   -   1       ⁢       v     M   -   1     H     /     β     p   1             ]       -   1                 (   37   )               
and using the (well-known) Sherman-Morrison formula, we obtain
 
                   Q     M   -   1       =       T     M   -   1       -   1       -           T     M   -   1       -   1       ⁢     v     M   -   1       ⁢     v     M   -   1     H     ⁢     T     M   -   1       -   1             β     p   1       +       v     M   -   1     H     ⁢     T     M   -   1       -   1       ⁢     v     M   -   1             .               (   38   )               
Clearly, Equation (38) shows that the matrix Q can be advantageously deflated recursively. Specifically, in the general case:
 
                   Q     M   -   m       =       T     M   -   m       -   1       -         T     M   -   m       -   1       ⁢     v     M   -   m       ⁢     v     M   -   m     H     ⁢     T     M   -   m       -   1             β     p   m       +       v     M   -   m     H     ⁢     T     M   -   m       -   1       ⁢     v     M   -   m                       (   39   )                 R     M   -   m       =         H     M   -   m     H     ⁢     H     H   -   m         +     α   ⁢           ⁢     I       (     M   -   m     )     ×     (     M   -   m     )                     (   40   )               
Note that R M−m  may advantageously be easily determined without direct computation. In particular, and in accordance with the illustrative embodiment of the present invention, R M−m  is determined from R M+1−m  by removing the last line and column thereof—only R M =R is calculated directly, during the first iteration of the illustrative procedure.
 
   Thus, returning to  FIG. 5 , the illustrative MIMO decoding technique in accordance with an illustrative embodiment of the present invention comprises the following steps. 
   Initialization Step (as Shown in Block  50  of the Figure): 
   Use the training sequence to determine the initial matrix H; determine the received signals x(k) and set x 1 (k)=x(k) for the first iteration. 
   Step  1  (as shown in Block  51  of the Figure): 
   Compute R=R M  and Q=Q M  recursively—see Equations (26) &amp; (28), above 
   Step  2  (as Shown in Block  52  of the Figure): 
   The element of y(k) with the highest SNR is detected. This element is associated with the smallest diagonal entry of Q for the MMSE filter. If such a column is p m , then the estimate of the chosen transmitted signal is given by:
 
 ŝ   p     m   ( k )= Q[y   p     m   ( k )].
 
Step  3  (as Shown in Block  53  of the Figure):
 
   Assuming that ŝ p     m   (k)=s p     m   (k), then s p     m   (k) is cancelled from the received vector x m (k), resulting in a modified received vector, x m+1 (k). 
   Step  4  (as Shown in Block  54  of the Figure): 
   Assuming that l m  is the index of the chosen transmitted signal, the rows and columns l m  and M−m+1 (the last) are permuted in both R M+1−m  and Q M+1−m . 
   Step  5  (as Shown in Block  55  of the Figure): 
   Partition matrix R M+1−m  to determine R M−m , v M−m , and β p     m    and remove the last row and column of Q M+1−m  to determine T M−m   −1 . 
   Step  6  (as Shown in Block  56  of the Figure): 
   Compute Q M−m  (recursively) using Equation (39). 
   Step  7  (as Shown in Block  57  of the Figure): 
   Unless all M transmitted signals have already been decoded, repeat steps  2 – 6  for components p 2 ,L,p M  by operating in turn on the progression of modified received vectors x 2 (k),L,x M (k). 
   The following more formally summarizes the illustrative MIMO decoding technique in accordance with the illustrative embodiment of the present invention as presented herein: 
   Initialization and First Iteration: 
   
       
       
         
           x 1 (k)=x(k) 
           Compute R=R M  and Q=Q M  recursively—see Equations (26) &amp; (28) 
           f(k)=[12LM] T    
           l 1 =arg min q M,ii , p 1 =f l     1   (k) 
         
       
     
  
   
     
       
         
           
             
               y 
               
                 p 
                 1 
               
             
             ⁡ 
             
               ( 
               k 
               ) 
             
           
           = 
           
             
               ∑ 
               
                 i 
                 = 
                 1 
               
               M 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 q 
                 
                   M 
                   , 
                   
                     
                       l 
                       1 
                     
                     ⁢ 
                     t 
                   
                 
               
               ⁢ 
               
                 h 
                 
                   : 
                   t 
                 
                 H 
               
               ⁢ 
               
                 
                   x 
                   1 
                 
                 ⁡ 
                 
                   ( 
                   k 
                   ) 
                 
               
             
           
         
       
     
       
       
         
           Interchange the entries l 1  and M of the vector f(k) 
           ŝ p     1   (k)=Q[y p     1   (k)]
 
Recursion (Subsequent Iterations), for m=1, 2, K, M−1:
 
           (a) x m+1 (k)=x m (k)−ŝ p     m   (k)h p     m      
           (b) Permute the rows and columns l m  and M−m+1 of R M+1−m    
           (c) Permute the rows and columns l m  and M−m+1 of Q M+1−m    
           (d) Determine R M−m , v M−m , and β p     m    from R M+1−m  as shown above 
           (e) Determine 
         
       
     
  
   
     
       
         
           T 
           
             M 
             - 
             m 
           
           
             - 
             1 
           
         
       
     
       
       
         
            from Q M+1−m  by removing its last row &amp; column 
           (f) Compute Q M−m  recursively as shown above—see Equation (39) 
           (g) l m+1 =arg min q M−m,ii , p m+1 =f l     m+1   (k) 
         
       
     
  
   
     
       
         
           
             
               ( 
               h 
               ) 
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 y 
                 
                   p 
                   
                     m 
                     + 
                     1 
                   
                 
               
               ⁡ 
               
                 ( 
                 k 
                 ) 
               
             
           
           = 
           
             
               ∑ 
               
                 i 
                 = 
                 1 
               
               
                 M 
                 - 
                 m 
               
             
             ⁢ 
             
                 
             
             ⁢ 
             
               
                 q 
                 
                   
                     M 
                     - 
                     m 
                   
                   , 
                   
                     l 
                     
                       m 
                       + 
                       
                         1 
                         l 
                       
                     
                   
                 
               
               ⁢ 
               
                 h 
                 
                   : 
                   
                     
                       f 
                       i 
                     
                     ⁡ 
                     
                       ( 
                       k 
                       ) 
                     
                   
                 
                 H 
               
               ⁢ 
               
                 
                   x 
                   
                     m 
                     + 
                     1 
                   
                 
                 ⁡ 
                 
                   ( 
                   k 
                   ) 
                 
               
             
           
         
       
     
       
       
         
           (i) Interchange the entries l m+1  and M−m of the vector f(k) 
           (j) ŝ p     m+1   (k)=Q [y p     m+1   (k)]
 
Solutions:
 
           The estimates of the transmitted signals: [ŝ p     1   (k)ŝ p     2   (k)Lŝ p     M   (k)] T    
           The decoding order: f(k)=[p M p M−1 Lp 1 ] T  
 
Addendum to the Detailed Description
 
         
       
     
  
   It should be noted that all of the preceding discussion merely illustrates the general principles of the invention. It will be appreciated that those skilled in the art will be able to devise various other arrangements which, although not explicitly described or shown herein, embody the principles of the invention and are included within its spirit and scope. Furthermore, all examples and conditional language recited herein are principally intended expressly to be only for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventors to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Moreover, all statements herein reciting principles, aspects, and embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. It is also intended that such equivalents include both currently known equivalents as well as equivalents developed in the future—i.e., any elements developed that perform the same function, regardless of structure. 
   Thus, for example, it will be appreciated by those skilled in the art that the block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudocode, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. Thus, the blocks shown, for example, in such flowcharts may be understood as potentially representing physical elements, which may, for example, be expressed in the instant claims as means for specifying particular functions such as are described in the flowchart blocks. Moreover, such flowchart blocks may also be understood as representing physical signals or stored physical data, which may, for example, be comprised in such aforementioned computer readable medium such as disc or semiconductor storage devices. 
   The functions of the various elements shown in the figures, including functional blocks labeled as “processors” or “modules” may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. Moreover, explicit use of the term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.