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.
1. Field of the Invention
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.
2. Description of the Related Art
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.
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.
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.
where Es, Nr, H, and n represent symbol energy, the number of RX antennas, channel, and zero mean Gaussian noise, respectively.
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=[w1w2 . . . wN], wi:i=1, . . . ,N (2)
where wi represents an ith beamforming factor (Nt×1).
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.
To find the optimal beamforming vector, the receiver (or terminal) has to carry out an operation of Eq. (3) below.
where w1 is a beamforming vector selected from the previously known codebook, and I, Nt, Nr, H, Es, and N0 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.
The receiver transmits the beamforming vector (w1) selected through the operation of Eq. (3) to the transmitter over a feedback channel.
Referring to
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.
In the receiver, the channel estimator/symbol detector 150 receives signals through the RX antennas 140. At this point, the signals contain noise components n1 and nNr. 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.
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.
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.
Accordingly, there is a need for an improved apparatus and method for transmitting and receiving in a closed-loop MIMO system using a codebook.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features and structures.
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.
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.
Referring to
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.
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.
In the receiver, the channel estimator/symbol detector 250 receives signals through the RX antennas 240. At this point, the signals contain noise components n1 and nNr. 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.
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.
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
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°.
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.
Referring to
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.
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.
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.
The codebook of
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>1), only sixteen beamforming vectors adjacent to the optimal beamforming vector are searched. As illustrated in
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.
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.
Number | Date | Country | Kind |
---|---|---|---|
2005-0048655 | Jun 2005 | KR | national |