Patent Publication Number: US-7714781-B2

Title: Method and system for analog beamforming in wireless communication systems

Description:
FIELD OF THE INVENTION 
   The present invention relates to wireless communications and in particular to beamforming in wireless communication systems. 
   BACKGROUND OF THE INVENTION 
   In wireless communication systems including transmitters and receivers, antenna array beamforming provides increased signal quality (high directional antenna beamforming gain) and an extended communication range by steering the transmitted signal in a narrow direction. For this reason, such beamforming has been widely adopted in radar, sonar and other communication systems. 
   The beamforming operation can be implemented either in the analog domain (i.e., before an analog-to-digital (A/D or ADC) converter at the receiver and after a digital-to-analog (D/A or DAC) converter at the transmitter), or in the digital domain (i.e., after the A/D converter at the receiver and before the D/A converter at the transmitter). 
   In conventional multiple-input multiple-output (MIMO) orthogonal frequency division multiplexing (OFDM) wireless systems, transmit and/or receive beamforming is implemented in the digital domain. Specifically, in such systems digital beamforming is implemented before an inverse Fast Fourier Transform (IFFT) operation at the transmitter, and after a FFT operation at the receiver. 
   Though digital beamforming improves performance, such improvement is at the cost of N radio frequency (RF) chains and N IFFT/FFT operations, wherein N is the number of antennas. For digital beamformed MIMO OFDM systems, beamforming vectors are obtained separately for each and every subcarrier, which generally involves a decomposition operation on each subcarrier. Further, singular value decomposition, or eigenvalue decomposition is normally needed. The complexity of the operations further increases as sampling frequency increases. 
   BRIEF SUMMARY OF THE INVENTION 
   The present invention provides a method and system for analog beamforming in wireless communication systems. One embodiment involves constructing analog beamforming coefficients by performing an iterative beam acquisition process based on beam search training, and determining optimized beamforming weighting coefficients based on the iterative beam acquisition process. 
   In one implementation, beamforming coefficients are obtained iteratively, where each iteration includes finding interim receive beamforming coefficients and finding interim transmit beamforming coefficients. At the end of a terminating iteration, the beamforming coefficients converge to optimized transmit and receive beamforming coefficients as beamforming vectors for steering transmissions. 
   These and other features, aspects and advantages of the present invention will become understood with reference to the following description, appended claims and accompanying figures. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
       FIG. 1  shows a functional block diagram of an analog beamforming MIMO OFDM wireless communication system, according to an embodiment of the present invention. 
       FIG. 2A  shows a functional block diagram of an example iterative beamforming search process function for an analog beamformed MIMO OFDM system, according to the present invention. 
       FIG. 2B  shows a functional block diagram of another example iterative beamforming search process function for an analog beamformed MIMO OFDM system, according to the present invention. 
       FIG. 3A  shows a functional block diagram for an example transmit beamforming vector search process for an analog beamformed multi-input single-output (MISO) OFDM wireless communication system, according to the present invention. 
       FIG. 3B  shows a functional block diagram for another transmit beamforming vector search process for an analog beamformed multi-input single-output (MISO) OFDM wireless communication system, according to an embodiment of the present invention. 
       FIG. 4A  shows a functional block diagram for an example receive beamforming vector search process for an analog beamformed single-input multi-output (SIMO) OFDM wireless communication system, according to the present invention. 
       FIG. 4B  shows a functional block diagram for another receive beamforming vector search process for an analog beamformed single-input multi-output (SIMO) OFDM wireless communication system, according to the present invention. 
       FIG. 5  shows a functional system block diagram for an overall transceiver, according to an embodiment of the present invention. 
       FIG. 6  shows an implementation of the transmitter side of the transceiver in  FIG. 5 . 
       FIG. 7  shows an implementation of the receiver side of the transceiver in  FIG. 5 . 
       FIGS. 8 and 9  show implementation details for constructing analog beamforming vectors based on an iterative training process, according to an embodiment of the present invention. 
       FIG. 10  shows an example iterative training process for calculating a beam vector according to the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The present invention provides a method and system for analog beamforming in wireless communication systems. In one embodiment, the present invention provides a beam search training process for constructing analog beamforming vectors for a MIMO OFDM analog beamforming wireless communication system. Constructing analog beamforming vectors involves determining beamforming coefficients for analog beamforming at transmit and/or receive sides of a MIMO OFDM system. 
   Transmitter-side and/or receiver-side analog beamforming in the MIMO OFDM system requires only one RF chain and one Fast Fourier Transform (FFT) operation for multiple antennas in an antenna array, which considerably lowers the system cost. Transmit and receive beamforming coefficients are obtained iteratively, wherein each iteration includes two steps. The first step involves finding interim receive beamforming coefficients and the second step involves finding interim transmit beamforming coefficients. At the end of a terminating iteration, the beamforming coefficients converge to optimized transmit and receive beamforming coefficients as beamforming vectors for steering transmissions. 
   In one implementation, an iterative beam acquisition process is provided for constructing optimized transmit and receive beamforming vectors. Each iteration involves estimating receive and transmit beamforming vectors alternatively, until receive and transmit beamforming vectors converge in a terminating iteration.  FIG. 1  illustrates a functional block diagram of an example wireless MIMO OFDM system  100  (e.g., a transceiver) employing transmit and receive analog beamforming at both the transmit and receive antennas, according to the present invention. The system  100  includes a transmitter (Tx)  102  and a receiver (Rx)  104 , such as in a transceiver, and are configured to communicate over wireless channels. 
   In the transmitter  102 , standard forward error correction (FEC) coding and modulation are applied onto the information bits for transmission. FEC coding increases the robustness of data transmission so that the data can be correctly received at the receiver  104  under unfavorable channel conditions. Since binary information bits are not suitable for radio transmission, modulation converts the binary information bits into a complex signal ({right arrow over (s)}={s( 1 ), . . . , s(K)}) which is more suitable for radio transmissions. After the FEC coding and modulation, an IFFT function and a D/A and mixing function are applied before analog beamforming. An IFFT module  106  mainly converts the signal from the frequency domain into a time domain digital signal. The digital signal is then converted into an analog waveform by a D/A converter of a module  108 , and is then upconverted onto a carrier frequency via a mixer function of the module  108 . Then, a Tx BF module  110  performs analog transmit beamforming for data transmission over a channel {right arrow over (h)} via multiple antennas  111 . 
   In the receiver  104 , the transmitted signals are received at a plurality of antennas  119 ; wherein beamforming is performed by an Rx BF module  120  that performs receive analog beamforming, before an A/D conversion and mixing module  122  and an FFT module  124 . The received information signal is down-converted from the carrier frequency to a baseband analog signal via the mixing function of the  122 , and the A/D conversion function converts the baseband analog signal into the digital domain for digital processing, wherein the digital signal is then converted to a digital signal. Thereafter, the digital signal is demodulated to reverse the modulation operation performed at the transmitter. The demodulated information bits are then decoded by FEC decoding resulting into usable information bits at the receiver  104 . 
   In the example system  100 , K is the number of subcarriers for OFDM modulation, M is the number of receive antennas  119 , and N is the number of transmit antennas  111  (M and N can be different). The Tx BF module  110  of the transmitter  102  implements a transmit beamforming vector {right arrow over (v)}=[v 1 , v 2 , . . . , v N ] T  (i.e., a collection of the transmit beamforming weighting coefficients into a vector form), whereby the transmitter  102  transmits information symbols {right arrow over (s)} as a vector v 1 {right arrow over (s)}, v 2 {right arrow over (s)}, . . . , v N {right arrow over (s)} over N transmit antennas  111 , as shown in  FIG. 1 . The Rx BF module  120  of the receiver  104  implements a receive beamforming vector {right arrow over (w)}=[w 1 , w 2 , . . . , w M ] T  (i.e., a collection of the receive beamforming weighting coefficients in a vector form), whereby the receiver  104  generates the vector {right arrow over (z)}={z 1 , . . . , zK} from received vectors y 1 , y 2 , . . . , y M  (wherein {right arrow over (y)}=[y 1 , y 2 , . . . , y M ] T ). 
   The transmit beamforming vector {right arrow over (v)} can be of the form: {right arrow over (v)}(φ)=[1, e jkd cos φ , e j2kd cos φ , . . . , e j(N−1)kd cos φ ] T , and the receive beamforming vector {right arrow over (w)} can be of the form: {right arrow over (w)}(θ)=[1, e jkd cos θ , e j2kd cos θ , . . . , e j(M−1)kd cos θ ] T , wherein d is the inter-antenna distance assuming a uniform linear array, φ is the angle of departure and θ is the angle of arrival. 
   Further, the transmit beamforming vector {right arrow over (v)} can be of the general form {right arrow over (v)}=[v 1 , v 2 , . . . , v N ] T , i.e., without any constraint on the phase weighting coefficients v 1 , v 2 , . . . , v N . The same applies to the receive beamforming vector. In particular, the receive beamforming vector can be of the general form {right arrow over (w)}=[w 1 , w 2 , . . . , w M ] T , i.e., without any constraint on the phase weighting coefficients w 1 , w 2 , . . . , w M . The resulting beamforming vectors ({right arrow over (v)}, {right arrow over (w)}) are used to steer the transmission phase shifts in the transmission stages (e.g., the phase shift array) for communication of actual payload data. 
   If L+1 is the maximum number of taps for each pair of transmit and receive antennas, without loss of generality, then it is reasonable to assume that K&gt;&gt;L+1. Then, the channel vector {right arrow over (h)} ij =[h ij ( 0 ) h ij ( 1 ) . . . h ij (L)  0  . . .  0 ] T  represents a multi-path time domain channel between the ith receive and the jth transmit antenna pair. Here, the channel vector {right arrow over (h)} ij  is padded with 0&#39;s to be of size K×1. There are altogether M×N such channel vectors, with each one corresponding to one transmit and receive antenna pair. Therefore, assuming S=diag({right arrow over (s)}) represents the diagonal matrix containing all the K data symbols in an OFDM symbol, then the transmitted vector (over an OFDM symbol duration) on the jth transmit antenna from the transmitter  102  is represented as [v j s 1 , v j  s 2 , . . . v j s K ], wherein: j=1, . . . , N; the vector {right arrow over (s)}=(s 1 , s 2 , . . . , s K )={s( 1 ), . . . , s(K)}, such that S=diag(s 1 , s 2 , . . . , s K ). 
   Further, because OFDM modulation diagonalizes the multi-path channel, the received vector {right arrow over (y)} (over time duration K) on the ith receive antenna at the receiver  104  is represented as 
                 y   _     i     =       ∑     j   =   1     N     ⁢       v   j     ⁢   S   ⁢           ⁢       c   _     ij           ,         
wherein {right arrow over (c)} ij =F K  {right arrow over (h)} ij  is the frequency channel response corresponding to the time domain channel {right arrow over (h)} ij , v j  is the jth transmit beamforming coefficient, and F K  is the standard discrete Fourier transform matrix of size K×K. The received vectors {right arrow over (y)} i  across all the M receive antennas  119  are weighted using the beamforming vectors {right arrow over (w)}=[w 1 , . . . , w M ] and combined in the Rx BF module  120 , wherein w i  is the ith receive beamforming coefficient. After A/D and mixing operations in the module  122 , and an FFT operation in the module  124 , the combined signal vector output {right arrow over (z)} from the FFT module  124  can be represented as:
 
   
     
       
         
           
             
               
                 
                   z 
                   _ 
                 
                 = 
                   
                 ⁢ 
                 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       M 
                     
                     ⁢ 
                     
                       
                         w 
                         i 
                       
                       ⁢ 
                       
                         
                           y 
                           _ 
                         
                         i 
                       
                     
                   
                   = 
                     
                   ⁢ 
                   
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           1 
                         
                         M 
                       
                       ⁢ 
                       
                         
                           w 
                           i 
                         
                         ⁢ 
                         
                           
                             ∑ 
                             
                               j 
                               = 
                               1 
                             
                             N 
                           
                           ⁢ 
                           
                             
                               v 
                               j 
                             
                             ⁢ 
                             S 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               
                                 c 
                                 _ 
                               
                               ij 
                             
                           
                         
                       
                     
                     = 
                       
                     ⁢ 
                     
                       S 
                       ⁢ 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           M 
                         
                         ⁢ 
                         
                           
                             w 
                             i 
                           
                           ⁢ 
                           
                             
                               ∑ 
                               
                                 j 
                                 = 
                                 1 
                               
                               N 
                             
                             ⁢ 
                             
                               
                                 v 
                                 j 
                               
                               ⁢ 
                               
                                 
                                   c 
                                   _ 
                                 
                                 ij 
                               
                             
                           
                         
                       
                     
                   
                 
               
             
           
           
             
               
                 = 
                   
                 ⁢ 
                 
                   S 
                   ⁢ 
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         1 
                       
                       M 
                     
                     ⁢ 
                     
                       
                         w 
                         i 
                       
                       ⁢ 
                       
                         A 
                         i 
                       
                       ⁢ 
                       
                         v 
                         _ 
                       
                     
                   
                 
               
             
           
           
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     SA 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       v 
                       _ 
                     
                   
                 
                 , 
               
             
           
         
       
     
   
   wherein {right arrow over (z)}=(z 1 , z 2 , . . . , z K )={z( 1 ), . . . , z(K)}, the K×N matrix A i  is defined as A i =[{right arrow over (c)} i1 , . . . , {right arrow over (c)} iN ], and the K×N matrix A is defined as 
           A   =       ∑     i   =   1     M     ⁢       w   i     ⁢       A   i     .               
As such, the matrix A is a weighted sum of all component matrices A i , which are the channel matrices in the frequency domain viewed from the transmitter side. Therefore, the matrix A is an equivalent representation for the channel, wherein A is a function of {right arrow over (w)}.
 
   Further, the combined signal vector output {right arrow over (z)} can also be represented as: 
   
     
       
         
           
             
               
                 
                   z 
                   _ 
                 
                 == 
                   
                 ⁢ 
                 
                   S 
                   ⁢ 
                   
                     
                       ∑ 
                       
                         j 
                         = 
                         1 
                       
                       N 
                     
                     ⁢ 
                     
                       
                         v 
                         j 
                       
                       ⁢ 
                       
                         
                           ∑ 
                           
                             i 
                             = 
                             1 
                           
                           M 
                         
                         ⁢ 
                         
                           
                             w 
                             i 
                           
                           ⁢ 
                           
                             
                               c 
                               _ 
                             
                             ij 
                           
                         
                       
                     
                   
                 
               
             
           
           
             
               
                 = 
                   
                 ⁢ 
                 
                   S 
                   ⁢ 
                   
                     
                       ∑ 
                       
                         j 
                         = 
                         1 
                       
                       N 
                     
                     ⁢ 
                     
                       
                         v 
                         j 
                       
                       ⁢ 
                       
                         B 
                         j 
                       
                       ⁢ 
                       
                         w 
                         _ 
                       
                     
                   
                 
               
             
           
           
             
               
                 
                   = 
                     
                   ⁢ 
                   
                     SB 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       w 
                       _ 
                     
                   
                 
                 , 
               
             
           
         
       
     
   
   wherein the K×M matrix B j  is defined as B j =[{right arrow over (c)} 1j , . . . , {right arrow over (c)} Mj ], and the K×M matrix B is defined as 
           B   =       ∑     j   =   1     N     ⁢       v   j     ⁢       B   j     .               
The matrix B is a weighted sum of all component matrices B j , which are channel matrices in the frequency domain viewed from the receiver side. As such, B is another equivalent representation for the channel, wherein B is a function of {right arrow over (v)}.
 
   To optimize the transmit and receive beamforming vectors {right arrow over (v)} and {right arrow over (w)}, respectively, it is necessary to solve the following two problems simultaneously:
 
maximize {right arrow over (w)} H B H B{right arrow over (w)}
 
subject to ∥ {right arrow over (w)}∥= 1
 
and
 
maximize {right arrow over (v)} H A H A{right arrow over (v)}
 
subject to ∥ {right arrow over (v)}∥= 1
 
   The two problems are essentially the same problem, but in different formulations. The matrix A is dependent upon the vector {right arrow over (w)}, while the matrix B is dependent upon the vector {right arrow over (v)}. The following example search processes according to the present invention finds transmit and receive beamforming vectors {right arrow over (v)} and {right arrow over (w)} iteratively, for analog beamforming in MIMO OFDM systems. 
     FIG. 2A  shows an example iterative search function  130  implementing a process for finding the beamforming vectors {right arrow over (v)} and {right arrow over (w)} that are then used for data flow and operation during the payload data communication phase in the analog beamforming MIMO OFDM system  100 , according to the present invention. The function  130  is activated only in the channel estimation and beam estimation phase. Before communication of actual payload data, a certain sequence (i.e., a preamble sequence) known to both the transmitter and the receiver is often transmitted, in order for the receiver to perform channel estimation and beam estimation. The search function  130  implements an iterative process, wherein an estimation function  132  estimates the matrix B, an estimation function  134  estimates the receive beamforming vector {right arrow over (v)}, an estimation function  136  estimates the matrix A, an estimation function  138  estimates the transmit beamforming vector {right arrow over (w)}, and the process then loops back to the estimation function  132  to estimate the matrix B again in a next iteration step. System performance in terms of error rate is minimized when the transmit and receive beamforming vectors {right arrow over (v)} and {right arrow over (w)}, respectively, converge, indicating that they are optimized. 
     FIG. 2B  shows another example iterative search function  200  implementing a process for finding the beamforming vectors {right arrow over (v)} and {right arrow over (w)} that are then used for data flow and operation during the payload data communication phase in the analog beamforming MIMO OFDM system  100 , according to the present invention. A channel estimation function  202  estimates the channel. This can be done either in the time domain by estimating {{right arrow over (h)} ij }, or in the frequency domain by estimating {{right arrow over (c)} ij } directly as shown in  FIG. 2B . A register  204  is set to a current transmit beamforming vector {right arrow over (v)} (p)  (∥{right arrow over (v)} (p) ∥=1) which is initialized to a pre-selected transmit beamforming vector {right arrow over (v)} (0) , wherein p is an iteration index which is initialized to 0. Further, another register  210  is set to a current receive beamforming vector {right arrow over (w)} (p)  (∥{right arrow over (w)} (p) ∥=1) which is initialized with a pre-selected receive beamforming vector {right arrow over (w)} (0) . 
   Then, a B matrix function  206  uses the channel estimate {{right arrow over (c)} ij } and the vector {right arrow over (v)} (p)  from the register  204  to form a matrix B (p) . Next, a Rx BF estimation function  208  uses the matrix B (p)  to generate a new receive beamforming vector {right arrow over (w)} (p+1)  (i.e., an interim receive beamforming vector  w ) Next, the register  210  is updated with the vector {right arrow over (w)} (p+1) . Next, an A matrix function  212  uses the channel estimate {{right arrow over (c)} ij } and the vector {right arrow over (w)} (p+1)  from the register  210  to form a matrix A (p+1) . Next, a Tx BF estimation function  214  uses the matrix A (p+1)  to generate a new transmit beamforming vector {right arrow over (v)} (p+1)  (i.e., an interim receive beamforming vector  v ), which is used to update the register  204 . Next, the iteration index is incremented as p=p+1, and the process proceeds back to the B matrix function  206  for a further iteration. The iterations are carried out until both the transmit beamforming vector {right arrow over (v)} (p)  and the receive beamforming vector {right arrow over (w)} (p)  converge, indicating that they are optimized. System performance in terms of error rate is minimized when the transmit and receive beamforming vectors are optimized. The converged values {right arrow over (v)} (p)  and {right arrow over (w)} (p)  represent the values for the transmit and receive beamforming vectors {right arrow over (v)} and {right arrow over (w)}, respectively. 
   When the channel characteristics change, the above steps for determining transmit and receive beamforming vectors are repeated every several packets to keep up with the changes in the channel. When the channel change is not that frequent, the above steps can still be repeated every several packets, although the number of iterations needed may be less. 
   Examples of the transmit beamforming vector estimation steps and the receive beamforming vector estimation steps are now provided. 
   Receive Beamforming Estimation:
         1. Obtain an estimate of matrix B, then form R B =B H B.   2. Estimate the receive beamforming vector as the principle eigenvector of matrix B. Specifically, perform an eigenvalue decomposition of the matrix R B =B H B, and estimate the receive beamforming vector {right arrow over (w)} as the eigenvector that corresponds to the largest eigenvalue of R B =B H B.       

   Transmit Beamforming Estimation:
         1. Obtain an estimate of the matrix A, then form R A =A H A.   2. Estimate the transmit beamforming vector as the principle eigenvector of matrix A. Specifically, perform an eigenvalue decomposition of the matrix R A =A H A, and estimate the transmit beamforming vector {right arrow over (v)} as the eigenvector that corresponds to the largest eigenvalue of R A =A H A.       

   Several example alternatives for the receive beamforming vector estimation steps are now provided. 
   First Alternative Receive Beamforming Estimation
         1. Estimate the matrix B, then form R B =B H B. Perform eigen-decomposition of R B =UΣU H , wherein Σ=diag[σ 1 , . . . , σ N ] contains all eigenvalues in a non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in a corresponding order.   2. Define a matrix  =[{right arrow over (u)} 2 , . . . , {right arrow over (u)} N ] as the last N−1 columns of the original eigenvector matrix U.   3. Define {right arrow over (b)}(θ)=[1, e jkd cos θ , e j2kd cos θ , . . . , e j(N−1)kd cos θ ] H  and form an objective function π(θ) as:       

   
     
       
         
           
             π 
             ⁡ 
             
               ( 
               θ 
               ) 
             
           
           = 
           
             
               1 
               
                 
                   
                     
                       b 
                       H 
                     
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     θ 
                     ) 
                   
                 
                 ⁢ 
                 
                   H 
                 
                 ⁢ 
                 
                   
                     b 
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     θ 
                     ) 
                   
                 
               
             
             . 
           
         
       
     
       
       
         
           4. Find the peak of π(θ) and the corresponding θ*, wherein θ* is the estimated angle of departure, such that the receive beamforming vector is {right arrow over (w)}={right arrow over (b)}(θ*). 
         
       
     
  
   Second Alternative Receive Beamforming Estimation
         1. Estimate the matrix B, then form R B =B H B. Perform eigen-decomposition of R B =UΣU H  wherein Σ=diag[σ 1 , . . . , σ N ] contains all eigenvalues in the non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in the corresponding order.   2. Define vectors {right arrow over (s)} 1  and {right arrow over (s)} 2  as:
 
 {right arrow over (s)}   1   =[I   N−1 {right arrow over (0)}] {right arrow over (u)}   1  
 
 {right arrow over (s)}   2 =[{right arrow over (0)} I   N−1   ]{right arrow over (u)}   1 ,
 
wherein I N−1  is the size (N−1)×(N−1) identity matrix, and {right arrow over (0)} is the all-zero column vector of size (N−1)×1.
   3. Determine the estimated angle of departure as:
 
θ*=( {right arrow over (s)}   1   H   {right arrow over (s)}   1 ) −1   {right arrow over (s)}   1   H   {right arrow over (s)}   2 ,
 
such that the receive beamforming vector is estimated as {right arrow over (w)}={right arrow over (b)}(θ*).
       

   Third Alternative Receive Beamforming Estimation
         1. Estimate the matrix B, then form R B =B H B. Perform eigen-decomposition of R B =UΣU H  where Σ=diag[σ 1 , . . . , σ N ] contains all eigenvalues in a non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in the corresponding order.   2. Define a matrix  =[{right arrow over (u)} 2 , . . . , {right arrow over (u)} N ] as the last N−1 columns of the original eigenvector matrix U.   3. Find the root, z*, for the relation:
 
 b   H ( z   −1 )   b ( z )=0,
 
where {right arrow over (b)}(z)=[1, z −1 , . . . , z −(N−1) ].
   4. Determine the receive beamforming vector as {right arrow over (w)}={right arrow over (b)}(z*).       

   Fourth Alternative Receive Beamforming Estimation
         1. Obtain an estimate of matrix B, then form R B =B H B.   2. Define {right arrow over (b)}(θ)=[1, e jkd cos θ , e j2kd cos θ , . . . , e j(N−1)kd cos θ ] H  and form an objective function π(θ) as:       

   
     
       
         
           
             π 
             ⁡ 
             
               ( 
               θ 
               ) 
             
           
           = 
           
             
               1 
               
                 
                   
                     
                       b 
                       H 
                     
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     θ 
                     ) 
                   
                 
                 ⁢ 
                 
                   R 
                   B 
                   
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                   
                     b 
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     θ 
                     ) 
                   
                 
               
             
             . 
           
         
       
     
       
       
         
           3. Find the peak of π(θ) and the corresponding θ*, wherein θ* is the estimated angle of departure, and the receive beamforming vector is estimated as {right arrow over (w)}={right arrow over (b)}(θ*). 
         
       
     
  
   Several example alternatives for the transmit beamforming vector estimation steps are now provided. 
   First Alternative Transmit Beamforming Estimation
         1. Estimate the matrix A, then form R A =A H A. Perform eigen-decomposition of R A =UΣU H  wherein Σ=diag[σ 1 , . . . , σ N ] contains all eigenvalues in the non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in the corresponding order.   2. Define a matrix  =[{right arrow over (u)} 2 , . . . , {right arrow over (u)} N ] as the last M−1 columns of the original eigenvector matrix U.   3. Define a vector {right arrow over (a)}(φ)=[1, e jkd cos φ , e j2kd cos φ , . . . , e j(N−1)kd cos φ ] H  and use it to form an objective function ρ(φ) as:       

   
     
       
         
           
             ρ 
             ⁡ 
             
               ( 
               ϕ 
               ) 
             
           
           = 
           
             
               1 
               
                 
                   
                     
                       a 
                       H 
                     
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     ϕ 
                     ) 
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   H 
                 
                 ⁢ 
                 
                   
                     a 
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     ϕ 
                     ) 
                   
                 
               
             
             . 
           
         
       
     
       
       
         
           4. Find the peak of ρ(φ) and the corresponding φ*, wherein φ* is the estimated angle of departure, and the transmit beamforming vector is {right arrow over (v)}={right arrow over (a)}(φ*). 
         
       
     
  
   Second Alternative Transmit Beamforming Estimation
         1. Estimate the matrix A and form R A =A H A. Perform eigen-decomposition of R A =UΣU H  wherein Σ=diag[σ 1 , . . . , σ M ] contains all eigenvalues in the non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in the corresponding order.   2. Define vectors {right arrow over (s)} 1  and {right arrow over (s)} 2  as:
 
 {right arrow over (s)}   1   =[I   M−1 {right arrow over (0)}] {right arrow over (u)}   1  
 
 {right arrow over (s)}   2 =[{right arrow over (0)} I   M−1   ]{right arrow over (u)}   1 ,
 
wherein I M−1  is the size (M−1)×(M−1) identity matrix, and {right arrow over (0)} is an all-zero column vector of size (M−1)×1.
   3. Determine the estimated angle of departure as:
 
φ*=( {right arrow over (s)}   1   H   {right arrow over (s)}   1 ) −1   {right arrow over (s)}   1   H   {right arrow over (s)}   2 ,
 
wherein the transmit beamforming vector is estimated as {right arrow over (v)}={right arrow over (a)}(φ*).
       

   Third Alternative Receive Beamforming Estimation
         1. Estimate the matrix A and form R A =A H A. Perform eigen-decomposition of R A =UΣU H  wherein Σ=diag[σ 1 , . . . , σ N ] contains all the eigenvalues in a non-increasing order, and U=[{right arrow over (u)} 1 , . . . , {right arrow over (u)} N ] contains all eigenvectors in a corresponding order.   2. Define a matrix  =[{right arrow over (u)} 2 , . . . , {right arrow over (u)} N ] as the last N−1 columns of the original eigenvector matrix U.   3. Find the root, t* for the relation:
 
 a   H ( t   −1 )   a ( t )=0,
 
where {right arrow over (a)}(t)=[1, t −1 , . . . , t −(N−1) ].
   4. Determine the transmit beamforming vector as {right arrow over (v)}={right arrow over (a)}(t*).       

   Fourth Alternative Transmit Beamforming Estimation
         1. Obtain the matrix A, then form R A =A H A.   2. Define {right arrow over (a)}(φ)=[1, e jkd cos φ , e j2kd cos φ , . . . , e j(N−1)kd cos φ ] H  and form an objective function ρ(φ) as:       

   
     
       
         
           
             ρ 
             ⁡ 
             
               ( 
               ϕ 
               ) 
             
           
           = 
           
             
               1 
               
                 
                   
                     
                       a 
                       H 
                     
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     ϕ 
                     ) 
                   
                 
                 ⁢ 
                 
                   R 
                   A 
                   
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                   
                     a 
                     _ 
                   
                   ⁡ 
                   
                     ( 
                     ϕ 
                     ) 
                   
                 
               
             
             . 
           
         
       
     
       
       
         
           3. Find the peak of ρ(φ) and the corresponding φ*, wherein φ* is the estimated angle of arrival, and the receive beamforming vector is estimated as {right arrow over (v)}={right arrow over (a)}(φ*). 
         
       
     
  
   Analog receive beamforming can be implemented for SIMO OFDM systems, and analog transmit beamforming can be implemented for MISO OFDM systems. The beamforming search functions for the MISO OFDM and SIMO OFDM scenarios are special cases of the iterative beamforming search algorithm for the general MIMO OFDM system, described further above. 
   The present invention further provides a MISO OFDM analog beamformed wireless communication system, and a method and system for finding beamforming vectors for such a system. The transmit beamforming vector {right arrow over (v)} can be directly obtained from said matrix A.  FIG. 3A  shows an example transmit beamforming vector search function  250  for a MISO OFDM system. The input to function  250  is the received preamble sequence for the purpose of channel estimation and beam estimation as in  FIG. 2A . A matrix function  252  determines the matrix A=[{right arrow over (c)} 11 , . . . , {right arrow over (c)} 1N ]. Then, a Tx BF estimation module  254  uses said matrix A to generate a transmit beamforming vector {right arrow over (v)} that is stored in a register  256 . 
     FIG. 3B  shows another example transmit beamforming vector search function  300  for a MISO OFDM system, wherein first a channel estimation function  302  estimates the channel {{right arrow over (c)} 1j } from the received preamble sequence. Then, a matrix function  304  determines the matrix A=[{right arrow over (c)} 11 , . . . , {right arrow over (c)} 1N ]. Next, a Tx BF estimation function  306  uses said matrix A to generate a transmit beamforming vector {right arrow over (v)} that is stored in a register  308 . 
   The present invention further provides a SIMO OFDM system, and a method and system for finding beamforming vectors for such a system. The receive beamforming vector {right arrow over (w)} can be directly obtained from matrix B.  FIG. 4A  shows an example receive beamforming vector search function  350  for a SIMO OFDM system. The input to function  350  is the received preamble sequence for the purpose of channel estimation and beam estimation as in  FIG. 2A . A matrix function  352  determines the matrix B=[{right arrow over (c)} 11 , . . . , {right arrow over (c)} M1 ]. Next, a Rx BF estimation function  354  uses said matrix B to generate a receive beamforming vector {right arrow over (w)} that is stored in a register  356 . 
     FIG. 4B  shows an example receive beamforming vector search function  400  for a SIMO OFDM system, wherein first a channel estimation function  402  estimates the channel {{right arrow over (c)} i1 } from said preamble sequence. Then, a matrix function  404  determines the matrix B=[{right arrow over (c)} 11 , . . . , {right arrow over (c)} M1 ]. Next, an Rx BF estimation module  406  uses said matrix B to generate receive beamforming vector {right arrow over (w)} that is stored in a register  408 . 
   The present invention further provides an iterative preamble exchange protocol for iterative beam-searching with analog beamforming in a 60 GHz frequency band. Accordingly, in an iterative preamble training protocol using training symbols, and a channel estimation method, at the conclusion of the iterative training protocol and iterative beam-searching, beamforming is carried out simultaneously at the transmitter side and the receiver side, wherein the transmitter and the receiver are equipped with an antenna array. Such an iterative preamble training protocol provides an efficient way to determine a beam vector for analog adaptive beamforming. 
   In one example of the training process, a transceiver station STA 1  enters the transmit mode as a transmitter (Tx). The transmitter transmits a training sequence using the current transmit beamforming vector. The training sequence originating from the transmitter is received at a transceiver station STA 2  operating now in a receive mode as a receiver (Rx), and the received training sequence is used to estimate a receive beamforming vector. Preferably, the receiver computes an optimal receive beamforming vector. The receiver then switches to a transmit mode and transmits a training sequence using a beamforming vector that is the same as the current receive beamforming vector. The training sequence originating from station STA 2  is then received at the station STA 1  operating now in receive mode, and the received training sequence is used to estimate a transmit beamforming vector. 
   The above steps are repeated N iter  times before converging to the final transmit and receive beamforming vectors, indicating that they are optimized. In each iteration step, it is determined if final transmit and receive beamforming vectors have converged and a beam-acquired state is achieved. After the optimized beamforming vectors are obtained, the station STA 1  now operating in transmit mode uses the optimized beamforming vector as a Tx beamforming vector and transmits the Tx beamforming vector to the station STA 2 . The station STA 2  now operating in receive mode uses the Tx beamforming vector to determine a final Rx beamforming vector. A final Tx beamforming vector having been acquired, the station STA 1  can enter data transmission mode using the Tx beamforming vector. A final Rx beamforming vector having been acquired, the station STA 2  can enter data receiving mode using the Rx beamforming vector. 
     FIG. 5  shows a functional system block diagram for an overall transceiver  500 , including a transmitter side  502  and a receiver side  504 , according to an embodiment of the present invention. The transmitter side (Tx)  502  includes a data source  503 , a Tx data processor  505  and a Tx RF chain  506 . The receiver side (Rx)  504  includes an Rx RF chain  508 , an Rx data processor  510  and a data sink  512 . Beamforming is performed by an analog beamforming function  514  for communication via an array of antennas  516 . The beamforming function  514  implements similar to analog beamforming, for both the transmitter and receiver sides. 
     FIG. 6  shows an implementation of the transmitter side  502  of the transceiver  500  in  FIG. 5 . The transmitter side  502  is implemented as having a digital processing section  520  and an analog processing section  522 . The digital processing section  520  includes an FEC encoder  524 , an interleaver  526 , a QAM mapping function  528 , an OFDM modulation function  530 , and a digital to analog converter (DAC)  532 . The analog processing section comprises a mixer  534 , and an array of N phase shifters  536  and an array of N power amplifiers  538 . 
   The FEC encoder  524  adds protection to the input information bits by adding redundant bits. The interleaver  526  improves robustness against noise and error by reshuffling the input bits following a certain reshuffling pattern. The QAM mapping function  528  converts binary information bits into digital signals that can be transmitted over the wireless physical channel. The OFDM modulation function  530  converts the information signal from the frequency domain into the time domain. The DAC  532  converts digital signals into the analog domain for input to analog processing for transmission. 
   The mixer  534  modulates the information carrier signal onto a high frequency carrier so that the information can be transmitted more effectively over the wireless channel. The output from the mixer  534  is replicated to multiple (N) processing paths for multiple (N) corresponding antenna elements. For each path, a phase shifter  536  is applied to the signal before amplification in a power amplifier  538 . Each phase shifter controls the signal phase for the corresponding antenna element in the antenna array. The phase shifters can be controlled collectively for forming a desired beam by the antenna elements in the antenna array. Each power amplifier  538  amplifies a signal so that maximum transmit power, under a certain limit, can be achieved. 
   The Tx data processor  505  in  FIG. 5  includes an FEC encoder  524 , an interleaver  526 , a QAM mapping function  528 , and an OFDM modulation function  530  in  FIG. 6 . Further, the Tx RF chain  506  in  FIG. 5  includes the DAC  532  and the mixer  534  in  FIG. 6 . The analog beamforming  514  in  FIG. 5  includes the phase shifter array and the power amplifier array in  FIG. 6 . 
     FIG. 7  shows an implementation of the receiver side  504  of the transceiver  500  in  FIG. 5 . The receiver side  504  is implemented as having an analog processing section  540  and a digital processing section  542 . The analog processing section  540  includes an array of M low noise power amplifiers (LNA)  544 , an array of M phase shifters  546  and a combiner  548 . The digital section  542  comprises a mixer  549 , an ADC  550 , an OFDM demodulation function  552 , a QAM demapping function  554 , a de-interleaver function  556  and a FEC decoder  558 . 
   Each power amplifier  544  in one of M processing paths amplifies the received signal via a corresponding antenna for further processing. Each phase shifter  546  in one of M processing paths control the phase of each corresponding antenna so that a desired receive beamforming pattern can be formed at the receiver side. The combiner  548  sums up the signals from the M processing paths so that a maximum signal quality can be achieved. 
   The mixer  549  down-converts the information carrier signal from the carrier so that data demodulation and decoding can be performed. The ADC  550  converts a signal from the analog domain to the digital domain. The OFDM demodulation  552  function converts a signal from the time domain to the frequency domain. The QAM demapping function  554  converts a digital signal to binary information bits so that FEC decoding can be performed. The FEC decoder  558  recovers the original information bits, wherein the redundancy bits are used to correct errors on the information bits. 
   In the receiver part, analog beamforming  514  of  FIG. 5  includes the M power amplifiers  544  and phase shifters  546 , along with the combiner  548  in  FIG. 7 . The Rx RF chain  508  in  FIG. 5  includes the mixer  549  and the ADC  550  in  FIG. 7 . The Rx data processor  510  in  FIG. 5  includes the OFDM demodulation function  552 , the QAM demapping function  554 , the deinterleaver  556  and the FEC decoder  558  in  FIG. 7 . 
   Although  FIGS. 6 and 7  show separate phase shifters, amplifiers and antennas for transmitter and receiver sides, the same set of antennas, phase shifters and amplifier can be reused for a transceiver, serving functions for the transmitter or receiver at different time slots. 
     FIGS. 6 and 7  show beamformed data transmission where beamforming vectors are already known.  FIGS. 8 and 9  show implementation details for determining beamforming vectors (i.e., beamforming vector training process) corresponding to  FIGS. 6 and 7 , respectively, before the data transmission begins. 
   Specifically,  FIGS. 8 and 9  show implementation details for constructing analog beamforming vectors based on an iterative training process, according to an embodiment of the present invention. A transmitter STA 1  ( FIG. 8 ) includes a mixer  534 , an array of N phase shifters  536  and an array of N power amplifiers  538 , as described in relation to  FIG. 6 . The transmitter STA 1  implements a Tx baseband digital signal processing function  602  and a D/A  604  which together implement the functions  524  through  532  in  FIG. 6 . The transmitter STA 1  further implements an estimation function  606  that forms the matrix A based on channel estimation, computes the transmit beamforming vector {right arrow over (v)} therefrom, as described. The transmitter further implements a controller  608  that controls the phase values applied to each antenna element on the transmitter side. 
   The receiver STA 2  ( FIG. 9 ) includes a mixer  549 , an array of N phase shifters  546  and an array of N power amplifiers  544 , as described in relation to  FIG. 7 . The receiver STA 2  implements an Rx baseband digital signal processing function  702  and an A/D device  704  which together implement the functions  550  through  558  in  FIG. 7 . The receiver STA 2  further implements an estimation function  706  that forms the matrix B based on channel estimation and computes the receive beamforming vector {right arrow over (w)} therefrom, as described. The receiver STA 1  further implements a controller  708  that controls the phase values applied to each antenna element on the receiver side. 
   Through a sequence of sounding packet exchanges in an iterative process, an optimal beam-vector {right arrow over (v)} is obtained at the transmitter STA 1  and an optimal beam-vector {right arrow over (w)} is obtained at the receiver STA 2 . The training process assumes channel reciprocity which requires a calibration process. Under the reciprocal condition, the optimal transmit steering vector from STA 1  to STA 2  is the same as the optimal receive steering vector from STA 2  to STA 1 . Similarly, the optimal receive steering vector from STA 2  to STA 1  is the same as the optimal transmit steering vector from STA 2  to STA 1 . 
   Referring to  FIG. 10 , an example iterative beam acquisition and training process  800  for calculating beamforming coefficients vector by STA 1  and STA 2  is illustrated and described below in conjunction with  FIG. 2B . The process  800  involves performing an iterative beam acquisition process based on beam search training, and determining optimized beamforming vectors comprising weighting coefficients, based on the iterative beam acquisition process, wherein each iteration includes estimating receive and transmit beamforming coefficients alternatively, until the receive and transmit beamforming coefficients converge. The iterative beam acquisition and training process  800  includes the following steps:
         Step  802 : Calibration transmit/receive chain at STA 1  and STA 2  (scalar multiplication).   Step  804 : Initiation of iterative training at STA 1 . Choose a unitary initial transmit beam-vector  v .   Step  806 : Transmit a preamble (e.g., training symbol) steered using  v , from STA 1  to STA 2 .   Step  808 : Receive the steered preamble at STA 2  one Rx antenna each time (omni-directional receiving, no receiver beamforming).   Step  810 : Estimate the channel vector at the receiver for each subcarrier (K is the number of subcarriers).   Step  812 : Stack the K-subcarrier estimated channel vector together to form the matrix B at STA 2 .   Step  814 : Compute interim receive beamforming vector  w  from B at STA 2  based on receiver side antenna diversity and the beam search training.   Step  816 : Transmit a preamble (e.g., training symbol) steered using  w  from STA 2  back to STA 1 .   Step  818 : Receive the steered preamble one Tx antenna each time (omni-directional receiving, no transmitter beamforming).   Step  820 : Estimate the channel vector for each subcarrier at STA 1 .   Step  822 : Stack the K-subcarrier estimated channel vector together to form the matrix A.   Step  824 : Compute interim transmit beamforming vector  v  from A at STA 1  based on transmitter side antenna diversity and the beam search training.   Step  826 : Maximum iteration reached? If yes, STA 1  proceeds to step  828 , otherwise proceed back to step  806 .   Step  828 : Use {right arrow over (v)}= v  and {right arrow over (w)}= w  as the analog beamforming vector and start beamforming transmission.       

   In step  826  above, the maximum iteration number can be a fixed value (e.g., 5). The maximum iteration number can also depend on certain criterion, such as: the overall beamforming gain achieved in the last iteration is not different from the overall beamforming gain achieved in this current iteration by more than 5%. Other criteria can be used. 
   As is known to those skilled in the art, the aforementioned example architectures described above, according to the present invention, can be implemented in many ways, such as program instructions for execution by a processor, as logic circuits, as an application specific integrated circuit, as firmware, etc. The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.