Abstract:
A receiver and transmitter of a closed-loop MIMO antenna system using a codebook and a receiving and transmitting method thereof are provided. The receiver of the MIMO antenna system includes a window size decider and a beamforming weight selector. The window size decider stores a codebook with beamforming weights and selects the beamforming weights corresponding to a window size from the codebook, and the beamforming weight selector selects an optimal beamforming weight based on a current channel state among the beamforming weights outputted from the window size decider, and feeds back the selected optimal beamforming weight to a transmitter.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the benefit of priority under 35 U.S.C. § 119 to application Serial No. 10-2005-48655 filed in the Korean Intellectual Property Office on Jun. 8, 2005, the entire disclosure of which is hereby incorporated by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates generally to a closed-loop Multiple Input Multiple Output (MIMO) system acquiring performance gain by using channel information. In particular, the present invention relates to an apparatus and method for searching a codebook in a closed-loop MIMO communication system using a codebook.  
         [0004]     2. Description of the Related Art  
         [0005]     In MIMO communication systems, although receivers know channel information, transmitters do not know the channel information. To improve the performance of the system, the transmitters need to know the channel information. On the assumption that an uplink channel is identical to a downlink channel, Time Division Duplex (TDD) systems can estimate the downlink channel at the transmitters. Thus, the use of beamforming is possible in both an uplink mode and a downlink mode.  
         [0006]     An MIMO system with a transmitter performing pre-coding using channel information will be described below. Pre-coding means a beamforming method of multiplying a transmission (TX) signal by a weighting factor.  
         [0007]     The transmitter multiplies an encoded signal (x) by a weight (w) for beamforming and transmits it to a channel. Assuming that the encoded signal (x) is a single stream, the weight (w) for the beamforming consists of beamforming vectors. A signal received by the beamforming is expressed as Eq. (1) below.  
             y   =             E   s       N   r         ⁢   Hwx     +   n             (   1   )             
 
         [0008]     where E s , N r , H, and n represent symbol energy, the number of RX antennas, channel, and zero mean Gaussian noise, respectively.  
         [0009]     The transmitter/receiver finds an optimal beamforming vector (w) prior to the transmission/reception, and then performs the transmission/reception using the optimal beamforming vector (w). A beamformer (or codebook) (W) is determined by the number (Nt) of TX antennas, the number (m) of streams, and the number (N) of beamforming vectors. The beamformer (W) can be designed using “Grassmannian Line Packing”. The beamformer (W) is expressed as Eq. (2) below. 
 
W=[w 1 w 2  . . . w N ], w i :i=1, . . . ,N  (2) 
 
         [0010]     where w i  represents an i th  beamforming factor (Nt×1).  
         [0011]     The beamformer W is designed using N number of beamforming vectors. Generally, the beamformer (or codebook) generates beamforming vectors randomly and calculates a minimum distance between the vectors. Then, the beamformer W is designed using N number of vectors, which make the minimum distance have a maximum value. Table 1 below shows a codebook having four TX antennas, a single stream, and eight beamforming vectors in an IEEE802.16e system. An antenna beam is formed using the predefined beamforming vectors.  
                                                                                     TABLE 1                       Vector                                       Index   1   2   3   4   5   6   7   8                                Antenna   1   0.3780   0.3780   0.3780   0.3780   0.3780   0.3780   0.3780       1       Antenna   0   −0.2698   −0.7103   0.2830   −0.0841   0.5247   0.2058   0.0618       2       −j0.5668   +j0.1326   −j0.0940   +j0.6478   +j0.3532   −j0.1369   −j0.3332       Antenna   0   0.5957   −0.2350   0.0702   0.0184   0.4115   −0.5211   −0.3456       3       +j0.1578   −j0.1467   −j0.8261   +j0.0490   +j0.1825   j0.0833   +j0.5029       Antenna   0   0.1587   0.1371   −0.2801   −0.3272   0.2639   0.6136   −0.5704       4       −j0.2411   +j0.4893   +j0.0491   −j0.5662   +j0.4299   −j0.3755   +j0.2113                  
 
         [0012]     To find the optimal beamforming vector, the receiver (or terminal) has to carry out an operation of Eq. (3) below.  
             arg   ⁢           ⁢       min   xbit     ⁢         E   s       N   0       ⁢   tr   ⁢     {       (       I     N   t       +         E   s         N   r     ⁢     N   0         ⁢     w   1   H     ⁢     H   H     ⁢     Hw   1         )       -   1       }                 (   3   )             
 
         [0013]     where w 1  is a beamforming vector selected from the previously known codebook, and I, N t , N r , H, E s , and N 0  represent an identity matrix, the number of TX antennas, the number of RX antennas, a channel between the TX antenna and the RX antenna, a signal, and a noise, respectively.  
         [0014]     The receiver transmits the beamforming vector (w 1 ) selected through the operation of Eq. (3) to the transmitter over a feedback channel.  
         [0015]      FIG. 1  is a block diagram of a conventional closed-loop MIMO system using a codebook.  
         [0016]     Referring to  FIG. 1 , the transmitter includes an encoder/modulator  100 , a beamformer  110 , a beamforming vector decider  120 , and a plurality of TX antennas  130 . The receiver includes a plurality of RX antennas  140 , a channel estimator/symbol detector  150 , a demodulator/decoder  160 , and a beamforming vector selector  170 .  
         [0017]     In the transmitter, the encoder/modulator  100  encodes an outgoing data in a given coding scheme and generates complex symbols by modulating the encoded data in a given modulation scheme. The beamforming vector decider  120  generates a beamforming vector based on an index fed back from the receiver. The beamforming vector decider  120  can generate the beamforming vector corresponding to the index because it has codebook information in a memory. The beamformer  110  multiplies the complex symbols by the beamforming vector and transmits the resulting signal through the antennas  130 .  
         [0018]     In the receiver, the channel estimator/symbol detector  150  receives signals through the RX antennas  140 . At this point, the signals contain noise components n 1  and n Nr . The channel estimator/symbol detector  150  calculates a channel coefficient matrix through the channel estimation, and detects RX symbols using the RX vector and the channel coefficient matrix. The demodulator/decoder  160  demodulates and decodes the RX symbols from the channel estimator/symbol detector  150  into original information data.  
         [0019]     The beamforming vector selector  170  selects an optimal beamforming vector using the channel coefficient matrix. The codebook information is stored in the memory. Using the beamforming vector and the channel coefficient matrix read from the memory, the beamforming vector selector  170  performs the operation of Eq. (3) to select the optimal beamforming vector. Also, the beamforming vector selector  170  feeds back the index of the selected beamforming vector to the transmitter over the feedback channel. Because the transmitter also has the codebook information, only the index of the beamforming vector is fed back. That is, size of the feedback information can be reduced because only the index of the beamforming vector is transmitted. As an example, when the codebook is designed using eight beamforming vectors, the index can be expressed in 3 bits.  
         [0020]     The IEEE802.16e system decides the beamforming vector using 3-bit, 6-bit quantized feedback information. That is, the codebook can be designed using eight or sixty-four beamforming vectors according to the feedback information. In the case where the codebook is designed using sixty-four beamforming vectors, the receiver selects a beamforming vector satisfying Eq. (3) among the sixty-four beamforming vectors, and feeds back the selected beamforming vector to the transmitter. At this point, the searching operation (or calculating operation) of Eq. (3) has to be carried out as many times as the number of beamforming vectors. Therefore, the codebook-based system has a problem in that an amount of calculation increases as the number of the beamforming vectors increases.  
         [0021]     Accordingly, there is a need for an improved apparatus and method for transmitting and receiving in a closed-loop MIMO system using a codebook.  
       SUMMARY OF THE INVENTION  
       [0022]     Exemplary embodiments of the present invention address at least the above problems and/or disadvantages and provide at least the advantages below. Accordingly, an object of the present invention is to provide an apparatus and method that can reduce an amount of calculation for a codebook searching in a closed-loop MIMO communication system.  
         [0023]     Another exemplary object of the present invention is to provide an apparatus and method that can reduce the amount of time necessary for codebook searching in a closed-loop MIMO communication system.  
         [0024]     A further exemplary object of the present invention is to provide an apparatus and method that can reduce the complexity due to codebook searching by aligning beamforming vectors of a codebook according to beam patterns in a closed-loop MIMO communication system.  
         [0025]     A further exemplary object of the present invention is to provide an apparatus and method that can reduce the complexity due to codebook searching by adjusting the number of beamforming vectors to be searched according to channel environment in a closed-loop MIMO communication system.  
         [0026]     According to one aspect of the present invention, a receiver of a MIMO antenna system comprises a window size decider for storing a codebook with beamforming weights, and selecting the beamforming weights corresponding to a window size from the codebook, and a beamforming weight selector for selecting an optimal beamforming weight based on a current channel state among the beamforming weights output from the window size decider, and feeding back the selected optimal beamforming weight to a transmitter.  
         [0027]     According to another exemplary aspect of the present invention, a transmitter of a MIMO antenna system comprises a beamforming weight decider for storing a codebook with beamforming weights aligned according to beam directions, and generating a beamforming weight according to a codebook index fed back from a receiver, and a beamformer for forming a beam by multiplying to-be-transmitted symbols by the beamforming weight output from the beamforming weight decider.  
         [0028]     According to further aspect of the present invention, a receiving method of a MIMO antenna system having a codebook with beamforming weights comprises selecting beamforming weights corresponding to a window size from the codebook, selecting an optimal beamforming weight based on a current channel state among the selected beamforming weights, and feeding back the selected optimal beamforming weight to a transmitter.  
         [0029]     According to a further exemplary aspect of the preset invention, a receiving method of a MIMO antenna system having a codebook with beamforming weights comprises aligning the codebook according to beam directions, selecting beamforming weights corresponding to a window size from the aligned codebook, and selecting an optimal beamforming weight based on a current channel state among the selected beamforming weights and feeding back the selected optimal beamforming weight to a transmitter.  
         [0030]     According to a further exemplary aspect of the present invention, a transmitting method of a MIMO antenna system comprises storing a codebook with beamforming weights aligned according to beam directions, and generating a beamforming weight according to a codebook index fed back from a receiver, and multiplying to-be-transmitted symbols by the beamforming weight and transmitting the resulting signals through a plurality of TX antennas. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]     The above and other objects, features and advantages of certain exemplary embodiments of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:  
         [0032]      FIG. 1  is a block diagram of a conventional closed-loop MIMO system using a codebook;  
         [0033]      FIG. 2  is a block diagram of a closed-loop MIMO communication system according to an exemplary embodiment of the present invention;  
         [0034]      FIG. 3  is a flowchart illustrating a codebook searching process of a receiver according to an exemplary embodiment of the present invention; and  
         [0035]      FIG. 4  is a diagram illustrating an example of the codebook searching according to an exemplary embodiment of the present invention. 
     
    
       [0036]     Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.  
       DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS  
       [0037]     The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of the embodiments of the invention and are merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.  
         [0038]     The following is an exemplary description of a closed-loop MIMO communication system using a codebook, which can reduce the complexity of codebook searching. The codebook may be designed using beamforming matrixes or beamforming vectors according to the number of transport streams. Hereinafter, the codebook designed using the beamforming vectors will be taken as an example.  
         [0039]      FIG. 2  is a block diagram of a closed-loop MIMO communication system according to an exemplary embodiment of the present invention.  
         [0040]     Referring to  FIG. 2 , a transmitter includes an encoder/modulator  200 , a beamformer  210 , a beamforming vector decider  220 , and a plurality of TX antennas  230 . A receiver includes a plurality of RX antennas  240 , a channel estimator/symbol detector  250 , a demodulator/decoder  260 , a beamforming vector selector  270 , and a window size decider  280 .  
         [0041]     In the transmitter, the encoder/modulator  200  encodes an outgoing data in a given coding scheme and generates complex symbols by modulating the encoded data in a given modulation scheme. Examples of the coding scheme include a convolution code, a turbo code, a convolution turbo code, a Low Density Parity Check (LDPC) code and the like. Examples of the modulation scheme include a Binary Phase Shift Keying (BPSK) mapping 1 bit (s=1) to a single signal point (complex signal), a Quadrature Phase Shift Keying (QPSK) mapping 2 bits (s=2) to a single complex signal, a 8-ary Quadrature Amplitude Modulation (8QAM) mapping 3 bits (s=3) to a single complex signal, a 16QAM mapping 4 bits (s=4) to a single complex signal, a 64QAM mapping 6 bits (s=6) to a single complex signal and the like.  
         [0042]     The beamforming vector decider  220  stores a codebook in which beamforming vectors are aligned according to beam directions, and generates a beamforming vector corresponding to an index fed back from the receiver. The beamformer  210  multiplies the complex symbols from the encoder/modulator  200  by the beamforming vector from the beamforming vector decider  220 , and transmits the resulting signal through the TX antennas  230 .  
         [0043]     In the receiver, the channel estimator/symbol detector  250  receives signals through the RX antennas  240 . At this point, the signals contain noise components n 1  and n Nr . The channel estimator/symbol detector  250  calculates a channel coefficient matrix through the channel estimation, and detects RX symbols using the RX vector and the channel coefficient matrix. Examples of the RX symbol detecting algorithm include a Zero-Forcing (ZF) algorithm, a Minimum-Mean-Square Error (MMSE) algorithm and the like. The demodulator/decoder  260  demodulates and decodes the RX symbols from the channel estimator/symbol detector  250  into original information data.  
         [0044]     The window size decider  280  stores a codebook in which beamforming vectors are aligned according to beam directions. The window size decider  280  decides a searching window size according to channel change. Also, the window size decider  280  selects beamforming vectors corresponding to the window size, based on the beamforming vector with respect to a previous RX signal, and provides the selected beamforming vectors to the beamforming vector selector  270 . The searching window size is set to be large when the channel change is great and it is set to be small when the channel change is small. The channel change can be predicted using a RX signal to noise ratio (SNR) or a moving speed of the terminal. For example, when the change of the RX SNR is great or the moving speed of the terminal is high, it can be determined that the channel change is great. In other words, the searching window size (or the number of beamforming vectors to be searched) may vary with the channel change, or may be fixed to a value (for example, ¼ or ½ of a total size of the codebook). When the searching window size is varied, its update period may have a predefined value or may be changed according to channel environment.  
         [0045]     The beamforming vector selector  270  selects an optimal beamforming vector by performing the operation of Eq. (3) using the beamforming vectors selected by the window size decider  280  and the channel coefficient matrix (H) generated by the channel estimator/symbol detector  250 . Then, the beamforming vector selector  270  feeds back the index of the selected beamforming vector to the transmitter. One of various algorithms for selecting the beamfomming vector is illustrated in  FIG. 3 . Other algorithms may also be used to select the optimal beamforming vector.  
         [0046]     As described above, the codebook searching apparatus according to an exemplary embodiment of the present invention includes the window size decider  280  and the beamforming vector selector  270 . Because an existing codebook (a codebook having random characteristic) is designed by generating beamforming vectors randomly using “Grassmannian Line Packing”, the beamforming vectors are not aligned according to beam patterns. However, according to an exemplary embodiment of the present invention, the beams of the beamforming vectors are drawn using a steering vector, and the codebook is designed by deciding the order (or index) of the beamforming vectors at an angle of 0-180°.  
         [0047]     That is, exemplary embodiments of the present invention use the codebook in which the beamforming vectors are aligned according to the beam directions. If the codebook is aligned, there is a great possibility that adjacent beamforming vectors will be used in an environment where the channel change is small. Because there is a great possibility that the vectors adjacent with respect to the beamforming vector of the previous RX signal will be selected as the beamforming vectors of the next RX signal, it is possible to appropriately select the number of the beamforming vectors to be searched with respect to the beamforming vector of the previous RX signal (or the window size). Instead of finding the optimal beamforming vector through searching of all beamforming vectors, an exemplary embodiment of the present invention can find the optimal beamforming vector by searching only a part of the beamforming vectors.  
         [0048]      FIG. 3  is a flowchart illustrating a codebook searching process of the receiver according to an exemplary embodiment of the present invention.  
         [0049]     Referring to  FIG. 3 , in steps  301  and  303 , when an i th  RX signal is received, the receiver calculates a channel coefficient matrix by performing a channel estimation using the RX signal or pilot signal. For example, when beamforming vector searching is performed at a frame period, the i th  RX signal becomes an i th  frame signal. In step  305 , the receiver decides the searching window size (the number of beamforming vectors to be searched) according to the channel change. The searching window size is set to be large when the channel change is great and it is set to be small when the channel change is small.  
         [0050]     In step  307 , the receiver checks the index of the beamforming vector with respect to a previous RX signal, that is, an (i−1) th  RX signal. In step  309 , the receiver accesses the codebook and selects the beamforming vectors corresponding to the window size, based on the (i−1) th  beamforming vector.  
         [0051]     In step  311 , the receiver decides an optimal beamforming vector by performing the operation of Eq. (3) using the selected beamforming vectors and the channel coefficient matrix. In step  313 , the receiver feeds back the index of the decided optimal beamforming vector to the transmitter.  
         [0052]     If a first RX signal is received in step  301 , there is no information on the previous beamforming vector. Therefore, the optimal beamforming vector is decided by performing the operation of Eq. (3) with respect to all beamforming vectors. Then, the searching operation is performed with respect to next RX signals while selecting the beamforming vectors corresponding to the window size based on the beamforming vector of the previous RX signal. For example, after a window size is defined based on the beamforming vector of the previous RX signal, the searching operation is performed while selecting beamforming vectors within the window.  
         [0053]      FIG. 4  is a diagram illustrating an example of codebook searching and its results according to an exemplary embodiment of the present invention. Specifically,  FIG. 4  shows that the window searching of the exemplary embodiment of the present invention and the conventional codebook searching achieve similar performance.  
         [0054]     The codebook of  FIG. 4  shows a case where the number of TX antennas are four, the number of transport streams is one, and the index of the beamforming vector is expressed in 6 bits. Specifically, the codebook (4,1,6) adopted in IEEE 802.16e is realigned according to the beam directions.  
         [0055]     In an exemplary embodiment, if the searching window size is ¼ of all beamforming vectors, the searching window size (the number of the beamforming vectors to be searched) is 16. As described above, the optimal beamforming vector is decided by searching all the beamforming vectors at a first RX signal time (t=1). Next (t&gt;1), only sixteen beamforming vectors adjacent to the optimal beamforming vector are searched. As illustrated in  FIG. 4 , it can be seen that for RX signal times t=2 through 6, the optimal beamforming vector (□) calculated with respect to all the beamforming vectors (vectors  1 - 64 ) is identical to the optimal beamforming vector (▪) calculated with respect to the beamforming vectors selected within the window (for example, at RX signal time t=2, vectors  3  through  19 ). Therefore, because the number of the beamforming vectors to be searched is reduced by ¼, the complexity of the receiver can be reduced by ¼.  
         [0056]     As described above, in the closed-loop MIMO system using the codebook, the complexity due to the codebook searching can be improved. By aligning the randomly designed codebook according to the beam patterns, searching of the codebook selected within the window can achieve performance similar to searching of the entire codebook. Also, because the number of the beamforming vectors to be searched decreases, the complexity of the receiver can be remarkably reduced.  
         [0057]     While the invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and the full scope of equivalents thereof.