This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2009-0060495, filed on Jul. 3, 2009, a Korean Patent Application No. 10-2009-0093085, filed on Sep. 30, 2009, and Korean Patent Application No. 10-2010-0030544, filed on Apr. 2, 2010, in the Korean Intellectual Property Office, the entire disclosure of each of which is incorporated herein by reference for all purposes.
1. Field
The following description relates to a codebook used in a multiple-input multiple-output (MIMO) communication system, and more particularly, to a rotating reference codebook that includes codewords from a discrete Fourier transform (DFT) codebook.
2. Description of Related Art
Researches are being conducted to provide various types of multimedia services and to provide high quality and high speed data transmission in a wireless communication environment. One potential solution is a multiple-input multiple-output (MIMO) communication system using multiple channels.
In a MIMO communication system, a base station and terminals may use a codebook to enhance the channel environment between the base station and the terminals. A particular space may be quantized into a plurality of codewords by quantizing space according to a predetermined criterion. The plurality of codewords that are generated may be stored in the base station and in the terminals. Each of the codewords may be a vector or a matrix.
For example, each of the terminals may select one matrix or vector corresponding to channel information from matrices or vectors included in a codebook, based on a channel formed between the base station and each of the terminals. The base station may verify channel information based on the received matrix or vector selected by the terminal. For example, the selected matrix or vector may be used when the base station performs precoding or performs transmission using multiple antennas.
In one general aspect, there is provided a method for a transmitter, comprising recognizing a previous preferred codeword of a receiver, calculating a rotation matrix based on the previous preferred codeword of the receiver and a random codeword included in a discrete Fourier transform (DFT) codebook, and generating a new codebook by rotating a reference codebook using the rotation matrix, or recognizing a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
The calculating of the rotation matrix may comprise calculating the rotation matrix according to the following equation:
R=[{tilde over (w)}p{tilde over (w)}p⊥][{tilde over (w)}i{tilde over (w)}i⊥]H,
where R refers to the rotation matrix, {tilde over (w)}p refers to the previous preferred codeword of the receiver, {tilde over (w)}i refers to the random codeword among the codewords comprised in the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] refers to a unitary matrix associated with {tilde over (w)}p, [{tilde over (w)}i {tilde over (w)}i⊥] refers to a predefined unitary matrix associated with {tilde over (w)}i, and H refers to a Hermitian.
When the previous preferred codeword {tilde over (w)}p of the receiver corresponds to the random codeword included in the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be represented according to the following equation:
where {tilde over (w)}pn refers to an nth element of {tilde over (w)}p, n refers to an nth row of [{tilde over (w)}p {tilde over (w)}p⊥], m refers to an mth column of [{tilde over (w)}p {tilde over (w)}p⊥], and nt refers to a number of transmit antennas.
When the previous preferred codeword {tilde over (w)}p of the receiver is not included in the codewords of the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be generated by orthogonalizing a matrix of the following equation:
where {tilde over (w)}pn refers to an nth element of {tilde over (w)}p, n refers to an nth row of the matrix of the equation, m refers to an mth column of the matrix of the equation, and nt refers to a number of transmit antennas.
The calculating of the rotation matrix may comprise generating [{tilde over (w)}p {tilde over (w)}p⊥] based on the previous preferred codeword of the receiver by employing a Gram-Schmidt orthogonalization.
When the previous preferred codeword of the receiver corresponds to one of the codewords included in the DFT codebook, the calculating of the rotation matrix may comprise calculating the rotation matrix into a diagonal matrix form.
The method may further comprise receiving, from the receiver, information associated with the new preferred codeword; and recognizing the new preferred codeword based on information about the new preferred codeword, or recognizing the new preferred codeword using a codeword corresponding to information about the new preferred codeword included in the reference codebook and the rotation matrix.
The reference codebook may include codewords of a polar cap codebook and the codewords of the DFT codebook, wherein the codewords of the polar cap codebook surround a random reference codeword.
In another aspect, there is provided a method for a receiver, comprising calculating a rotation matrix to comprise codewords of a DFT codebook, when a previous preferred codeword corresponds to one of the codewords of the DFT codebook, and generating a new codebook by rotating a reference codebook using the rotation matrix, or generating a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
The calculating of the rotation matrix may comprise calculating the rotation matrix based on the previous preferred codeword and a random codeword included in the DFT codebook.
The calculating of the rotation matrix may comprise calculating the rotation matrix according to the following equation:
R=[{tilde over (w)}p{tilde over (w)}p⊥][{tilde over (w)}i{tilde over (w)}i⊥]H,
where R refers to the rotation matrix, {tilde over (w)}p refers to the previous preferred codeword, {tilde over (w)}i refers to the random codeword among the codewords comprised in the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] refers to a predefined unitary matrix associated with {tilde over (w)}p, [{tilde over (w)}i {tilde over (w)}i⊥] refers to a unitary matrix associated with {tilde over (w)}i, and H refers to a Hermitian.
When the previous preferred codeword {tilde over (w)}p corresponds to the random codeword included in the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be represented according to the following equation:
where {tilde over (w)}pn refers to an nth element of {tilde over (w)}p, n refers to an nth row of [{tilde over (w)}p {tilde over (w)}p⊥], m refers to an mth column of [{tilde over (w)}p {tilde over (w)}p⊥], and nt refers to a number of transmit antennas installed in a transmitter.
When the previous preferred codeword {tilde over (w)}p is not included in the codewords of the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be generated by orthogonalizing a matrix of the following equation:
where {tilde over (w)}pn refers to an nth element of {tilde over (w)}p, n refers to an nth row of the matrix of the equation, m refers to an nth column of the matrix of the equation, and nt refers to a number of transmit antennas installed in a transmitter.
The method may further comprise determining a new preferred codeword based on the new codebook, or determining the new preferred codeword based on at least one codeword included in the reference codebook and the rotation matrix, and feeding back, to a transmitter, information associated with the new preferred codeword, wherein information associated with the new preferred codeword comprises information about an index of the new preferred codeword in the new codebook or information about an index of a codeword corresponding to the new preferred codeword in the reference codebook.
In another aspect, there is provided a non-transitory computer-readable storage medium comprising a program for causing a processor to implement a method for a transmitter, the method comprising recognizing a previous preferred codeword of a receiver, calculating a rotation matrix based on the previous preferred codeword of the receiver and a random codeword included in a discrete Fourier transform (DFT) codebook, and generating a new codebook by rotating a reference codebook using the rotation matrix, or recognizing a new preferred codeword by rotating at least one codeword in the reference codebook using the rotation matrix.
In another aspect, there is provided a transmitter, comprising a recognition unit to recognize a previous preferred codeword of a receiver, a calculator to calculate a rotation matrix based on the previous preferred codeword of the receiver and a random codeword included in a DFT codebook, and a generator to generate a new codebook by rotating a reference codebook using the rotation matrix, or to recognize a new preferred codeword of the receiver by rotating at least one codeword included in the reference codebook using the rotation matrix.
In another aspect, there is provided a receiver, comprising a calculator to calculate a rotation matrix to comprise codewords of a DFT codebook, when a previous preferred codeword corresponds to one of the codewords of the DFT codebook, and a generator to generate a new codebook by rotating a reference codebook using the rotation matrix, or to generate a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
In another aspect, there is provided a method for a receiver, comprising vectorizing information associated with a previous explicit channel matrix between a transmitter and the receiver, in order to obtain vectorized channel information, selecting a previous preferred codeword based on the vectorized channel information, calculating a rotation matrix based on the previous preferred codeword, and generating the new codebook by rotating a reference codebook using the rotation matrix, or generating a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
The reference codebook may be determined based on codewords of a polar cap codebook, wherein the codewords of the polar cap codebook surround a random reference codeword and the codewords of the DFT codebook.
The elements included in the random reference codeword may be
and Nt may refer to a number of transmit antennas installed in the transmitter.
Each codeword included in the reference codebook may have a dimension of Nt2×1, and Nt may refer to a number of transmit antennas installed in the transmitter.
The reference codebook may be determined based on chordal distances between the codewords of the polar cap codebook and the codewords of the DFT codebook.
The vectorizing may comprise vectorizing the explicit channel matrix to a single vector, or vectorizing information generated by processing the explicit channel matrix to a single vector, in order to obtain the vectorized channel information.
The selecting of the previous preferred codeword may comprise selecting the previous preferred codeword from a plurality of codewords included in a previous codebook or a basic codebook.
The method may further comprise feeding back, to the transmitter, information associated with the new preferred codeword, wherein information associated with the new preferred codeword comprises information about an index of the new preferred codeword in the new codebook or information about an index of a codeword corresponding to the new preferred codeword in the reference codebook.
The calculating of the rotation matrix may comprise calculating the rotation matrix based on the random reference codebook and the previous preferred codeword.
In another aspect, there is provided a method for a transmitter, comprising recognizing a previous preferred codeword selected by a receiver based on a previous explicit channel matrix between the transmitter and the receiver, calculating a rotation matrix based on the previous preferred codeword, and generating the new codebook by rotating a reference codebook using the rotation matrix, or generating a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
The reference codebook may be determined based on codewords of a polar cap codebook, wherein the codewords of the polar cap codebook surround a random reference codeword and the codewords of the DFT codebook.
Each of codewords included in the reference codebook may have a dimension of Nt2×1, and Nt may refer to a number of transmit antennas installed in the transmitter.
The reference codebook may be determined based on chordal distances between the codewords of the polar cap codebook and the codewords of the DFT codebook.
The method may further comprise receiving, from the receiver, information associated with the new preferred codeword, and recognizing the new preferred codeword using the new codebook based on information associated with the new preferred codeword, or recognizing the new preferred codeword using a codeword corresponding to information associated with the new preferred codeword from among codewords comprised in the reference codebook and the rotation matrix.
The calculating of the rotation matrix may comprise vectorizing the previous preferred codeword, and calculating the rotation matrix based on the vectorized previous preferred codeword.
In another aspect, there is provided a receiver, comprising a vectorization unit to vectorize information associated with a previous explicit channel matrix between a transmitter and the receiver, in order to obtain vectorized channel information, a selector to select a previous preferred codeword based on the vectorized channel information, a calculator to calculate a rotation matrix based on the previous preferred codeword, and a generator to generate the new codebook by rotating a reference codebook using the rotation matrix, or to generate a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
In another aspect, there is provided a transmitter, comprising a recognition unit to recognize a previous preferred codeword selected by a receiver based on a previous explicit channel matrix between the transmitter and the receiver, a calculator to calculate a rotation matrix based on the previous preferred codeword, and a generator to generate the new codebook by rotating a reference codebook using the rotation matrix, or to generate a new preferred codeword by rotating at least one codeword included in the reference codebook using the rotation matrix.
In another aspect, there is provided a method for a transmitter, comprising recognizing a previous preferred codeword of a receiver, accessing a memory that has pre-stored therein a product between a reference codebook and a matrix based on a reference codeword, wherein the reference codeword is a codeword of a DFT codebook, the reference codebook comprises codewords of a polar cap codebook, and the codewords of the polar cap codebook surround the reference codeword and the codewords of the DFT codebook, and generating a new codebook based on the product, using the previous preferred codeword, or generating a new preferred codeword based on the product, using the previous preferred codeword.
The method may further comprise receiving, from the receiver, information associated with the new preferred codeword, and recognizing the new preferred codeword using the new codebook based on information associated with the new preferred codeword, or recognizing the new preferred codeword by extracting a codeword corresponding to information associated with the new preferred codeword from the product between the reference codeword and the reference codebook.
Information associated with the new preferred codeword may comprise information about an index of the new preferred codeword in the new codebook or information about an index of a codeword corresponding to the new preferred codeword in the product between the reference codeword and the reference codebook.
In another aspect, there is provided a method for a receiver, comprising accessing a memory that has pre-stored therein a product between a reference codebook and a matrix based on a reference codeword, wherein the reference codeword is a codeword of a DFT codebook, the reference codebook comprises codewords of a polar cap codebook, and the codewords of the polar cap codebook surround the reference codeword and the codewords of the DFT codebook, and generating a new codebook based on the product, using the previous preferred codeword, or generating a new preferred codeword from the product, using the previous preferred codeword.
The method may further comprise determining the new preferred codeword based on the new codebook, or determining the new preferred codeword based on at least one codeword extracted from the product, and feeding back, to a transmitter, information associated with the new preferred codeword, wherein information associated with the new preferred codeword comprises information about an index of the new preferred codeword in the new codebook or information about an index of a codeword corresponding to the new preferred codeword in the reference codebook.
In another aspect, there is provided a method for a transmitter, comprising receiving, from a receiver, information associated with at least one candidate pre-stored in a memory, determining a rotation matrix using the received information, and generating a new codebook or recognizing a new preferred codeword of the receiver by rotating a reference codebook using the rotation matrix.
The at least one candidate pre-stored in the memory may be based on codewords of a DFT codebook, and the information comprises an index of the at least one candidate.
In another aspect, there is provided a method for a receiver, comprising estimating a channel between a transmitter and the receiver, selecting, as a rotation matrix, at least one candidate pre-stored in a memory based on the estimated channel, and feeding back, to the transmitter, information associated with the selected at least one candidate, wherein a new preferred codeword corresponding to the channel is calculated based on a reference codebook and the rotation matrix.
Other features and aspects may be apparent from the following description, the drawings, and the claims.
Throughout the drawings and the description, unless otherwise described, the same drawing reference numerals should be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.
The following description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein may be suggested to those of ordinary skill in the art. The progression of processing steps and/or operations described is an example; however, the sequence of steps and/or operations is not limited to that set forth herein and may be changed as is known in the art, with the exception of steps and/or operations necessarily occurring in a certain order. Also, description of well-known functions and constructions may be omitted for increased clarity and conciseness.
Referring to
One or more antennas may be installed in the base station 110. A single or a plurality of antennas may be installed in each of the users 120, 130, and 140. A channel may be formed between the base station 110 and each of the users 120, 130, and 140. Signals may be transmitted and received via each formed channel.
The base station 110 may transmit a single data stream or a plurality of data streams to the users 120, 130, and 140. For example, the base station 110 may adopt a space division multiple access (SDMA) scheme or an SDM scheme. The base station 110 may generate a precoding matrix based on codewords included in a codebook, and generate a transmission signal using the generated precoding matrix. As described herein, the codewords may be a matrix and/or a vector.
Each of the users 120, 130, and 140 may use explicit feedback that is described further herein. When each of the users 120, 130, and 140 feeds back data such as a Hermitian matrix HHH, each of the codewords may be in a form of a matrix. When each of the users 120, 130, and 140 feeds back data such as H, each of the codewords may be in a form of a vector or the matrix that is based on the number of receive antennas. When each of the users 120, 130, and 140 feeds back vectorized HHH or vectorized H, each of the codewords may be in a form of the vector. When each of the users 120, 130, and 140 uses an implicit feedback, each of the codewords may be a matrix or a vector that is based on a transmission rank.
The base station 110 may transmit pilot signals to the users 120, 130, and 140 via downlink channels. The pilot signals may be known to the base station 110 and the users 120, 130, and 140. As describe herein, each of the users 120, 130, and 140 should also be understood to refer to one or more of users 120, 130, and/or 140.
A terminal corresponding to each of the users 120, 130, and 140 may receive the known signal transmitted from the base station 110, estimate a channel formed between the base station 110 and each of the users 120, 130, and 140, based on a pilot signal, select at least one codeword from a codebook, and feed back information associated with the selected codeword to the base station. The codebook may be changed depending on a channel state. For example, because at least one codeword selected by each of the users 120, 130, and 140 may be associated with the channel state, the codebook may be changed according to the at least one codeword selected by the users 120, 130, and 140.
Each of the users 120, 130, and 140 may estimate the channel formed between the base station 110 and each of the users 120, 130, and 140 based on the pilot signal. Each of the users 120, 130, and 140 may select at least one preferred codeword included in a pre-stored codebook, based on the estimated channel. The preferred codeword may also be referred to as a preferred vector or a preferred matrix.
For example, each of the users 120, 130, and 140 may select the preferred codeword from among 2B codewords based on an achievable data rate and/or a signal-to-interference and noise ratio (SINR). In this example, B denotes a number of feedback bits, and the number of codewords may be equal to the number two multiplied B times. Each of the users 120, 130, and 140 using the implicit feedback may determine their own preferred transmission rank. The transmission rank may correspond to a number of data streams. When each of the users 120, 130, and 140 uses the explicit feedback, the transmission rank may be determined by the base station 110.
Each of the users 120, 130, and 140 may feed back information associated with the selected preferred codeword (hereinafter, channel information), to the base station 110. As described herein, channel information may include, for example, channel state information, channel quality information, channel direction information, and the like.
The base station 110 may receive channel information from of each of the users 120, 130, and 140 and determine a precoding matrix based on the received channel information. The base station 110 use the channel information received from a portion of or all of the users 120, 130, and 140, according to various types of user selection algorithms such as a semi-orthogonal user selection (SUS) algorithm, a greedy user selection (GUS) algorithm, and the like.
The base station 110 may pre-store the same codebook that is stored in each of the users 120, 130, and 140. The base station 110 may determine the precoding matrix based on codewords included in the pre-stored codebook using channel information fed back from each of the users 120, 130, and 140. Accordingly, the base station 110 may determine the precoding matrix to maximize a sum rate.
The base station 110 may generate a transmission signal by precoding data streams S1 and SN based on the determined precoding matrix. A process of generating the transmission signal, by the base station 110, may be referred to as “beamforming.”
A channel environment between the base station and each of the users 120, 130, and 140 may vary over time. As a result, when the base station 110 and the users 120, 130, and 140 use a fixed codebook, it may be difficult to adaptively cope with a varying channel environment. According to various embodiments, the base station 110 and the users 120, 130, and 140 may adaptively change a codebook to adaptively cope with a varying channel environment.
The base station 110 may generate the precoding matrix based on a changed codebook. For example, the base station 110 may change a previous precoding matrix with the new precoding matrix based on the changed codebook.
For example, the MIMO communication system may change the codebook based on a time correlation coefficient ρ of the channel that is formed between the base station 110 and each of the users 120, 130, and 140. The MIMO communication system may change the codebook based on information corresponding to the time correlation coefficient ρ, for example, a Doppler coefficient, statistics about a channel change, and the like. The statistics about the channel change may include a change speed of the channel, a change amount of the channel, a change pattern of the channel, and the like. Because the preferred codeword selected by each of the users 120, 130, and 140 represents the channel change, the codebook may be changed according to the preferred codeword selected by each of the users 120, 130, and 140.
According to various embodiments, a base station and a terminal may use a basic codebook as a fixed codebook. The size of the basic codebook may vary, for example, the size of the basic codebook may be 4 bits, 6 bits, 8 bits, and the like. When the base station and the terminal use the basic codebook, the terminal may select a preferred codeword from the fixed basic codebook, and feed back information associated with the selected preferred codeword to the base station. For example, the terminal may feed back information associated with an index of the preferred codeword. The base station may extract the preferred codeword from the basic codebook based on the information that is fed back. By limiting the size of the basic codebook, the basic codebook may include a limited number of codewords. In this example, codewords of the basic codebook may quantize a rather large space that may cause the basic codebook to have a relatively high quantization error.
When the base station and the terminal adaptively change the codebook, the base station and the terminal may adaptively generate and use a polar cap codebook. The polar cap codebook may be generated by quantizing a relatively small space in comparison to the basic codebook, and thus may have a relatively lower quantization error.
For example, if a previous preferred codeword is measured by a terminal, for example, a channel vector or a channel matrix between the base station and the terminal, the base station and the terminal may configure the polar cap codebook around the previous preferred codeword. In this example, the probability that the channel vector or the channel matrix is located adjacent to codewords of the polar cap codebook at a subsequent time is relatively high. Accordingly, the base station and the terminal may decrease the quantization error by employing a polar cap codebook that may be adaptively generated and be modified.
The base station and the terminal may generate a subsequent polar cap codebook by rotating a reference codebook by an angle corresponding to a previous preferred codeword. The reference codebook may include the polar cap codebook, or may further include another codebook. According to various embodiments, the reference codebook may further include codewords of a discrete Fourier Transform (DFT) codebook.
Referring to
When the previous preferred codeword {tilde over (w)}p is determined, the new polar cap codebook may be configured around the previous preferred codeword {tilde over (w)}p. To generate the new polar cap codebook, a base station and the terminal may rotate the reference codebook by an angle between the previous preferred codeword {tilde over (w)}p and a reference codeword {tilde over (w)}i.
In this example, a rotation matrix generated by rotating the reference codeword {tilde over (w)}i using the previous preferred codeword {tilde over (w)}p is referred to as R. In this example, {tilde over (w)}p=R{tilde over (w)}i. When codewords of the reference codebook are {tilde over (w)}l({tilde over (w)}i), and codewords of the new polar cap codebook are {tilde over (w)}l({tilde over (w)}p), a relationship between the reference codebook and the new polar cap codebook may be expressed as shown in Equation 1.
{tilde over (w)}
l({tilde over (w)}p)=R{tilde over (w)}l({tilde over (w)}i) [Equation 1]
In Equation 1, because the codewords {tilde over (w)}l({tilde over (w)}i) of the reference codebook are known, R may be obtained from {tilde over (w)}p=R{tilde over (w)}i to generate the new polar cap codebook. R may be calculated according to Equation 2.
R=[{tilde over (w)}p{tilde over (w)}p⊥][{tilde over (w)}i{tilde over (w)}i⊥]H [Equation 2]
In Equation 2, [{tilde over (w)}p {tilde over (w)}p⊥] refers to a unitary matrix associated with {tilde over (w)}p, [{tilde over (w)}i {tilde over (w)}i⊥] refers to a unitary matrix associated with {tilde over (w)}i, and H refers to a Hermitian.
The base station and the terminal may be aware of {tilde over (w)}i and {tilde over (w)}p. Accordingly, the base station and the terminal may calculate [{tilde over (w)}p {tilde over (w)}p⊥] and [{tilde over (w)}i {tilde over (w)}i⊥], and may calculate the rotation matrix R. The base station and the terminal may obtain the new polar cap codebook according to Equation 1.
In this example, the reference codeword {tilde over (w)}i of the reference codebook may be expressed as shown in Equation 3.
{tilde over (w)}i=[1 0 0 0]T [Equation 3]
[{tilde over (w)}i {tilde over (w)}i⊥] may be provided in a 4×4 identity matrix. In this example, the rotation matrix R may be expressed as shown in Equation 4.
In Equation 4, the rotation matrix R may have a relatively efficient performance in spatially uncorrelated channels, however, the rotation matrix R may be unsuitable for spatially correlated channels.
The DFT codebook is described herein, and it is assumed here that the reference codebook includes codewords of the DFT codebook. The codewords of the DFT codebook may be frequently selected as a preferred codeword in the spatially correlated channels.
When one of the codewords of the DFT codebook, for example, [1 ejφπ ej2φπ ej3φπ]T is rotated through the rotation matrix R, a codeword rotated as an element of a new codebook may be expressed as shown in Equation 5.
In this example, [{tilde over (w)}p {tilde over (w)}p⊥] may be a diagonal matrix that allows the rotated codeword included in the new codebook to remain as an element of the DFT codebook. For example, when the rotated codeword is expressed as shown in Equation 6, the rotated codeword may be an element of the DFT codebook in the new codebook.
[{tilde over (w)}p {tilde over (w)}p⊥] may not be a diagonal matrix as shown in Equation 6. Accordingly, it may be inappropriate to apply the rotation matrix R of Equation 4 to the codewords of the DFT codebook. When the codewords of the DFT codebook is rotated using the rotation matrix R of Equation 4, the rotated codewords may not be included as elements in the new codebook. This may be ineffective because a preferred DFT codebook may not be used in the spatially correlated channels.
Referring to
When a DFT codebook includes 2B DFT matrices and a number of transmit antennas installed in a base station is nt, the DFT codebook
may be expressed as shown in Equation 7.
As described above, the codewords of the DFT codebook have a line-of-site characteristic allowing for more efficient performance in the spatially correlated channels. Accordingly, when the reference codebook includes the codewords of the DFT codebook as shown in
Referring to
For ease of description, the reference codeword {tilde over (w)}i may be predefined as shown in Equation 8.
[{tilde over (w)}i {tilde over (w)}i⊥] may be calculated according to Equation 9.
In Equation 9, F(0) may be determined according to Equation 7.
Generally, [{tilde over (w)}i {tilde over (w)}i⊥] may be calculated according to Equation 9-1.
In Equation 9-1, {tilde over (w)}i refers to a unit vector, an nth element of {tilde over (w)}i is xn, and an (n, m)th element located in an nth row and an mth column of [{tilde over (w)}i {tilde over (w)}i⊥] is
Because [{tilde over (w)}i {tilde over (w)}i⊥] may be predefined, a codebook may be designed based on the predefined [{tilde over (w)}i {tilde over (w)}i⊥].
The previous preferred codeword {tilde over (w)}p may be a codeword of the DFT codebook, or may not be the codeword of the DFT codebook.
When the previous preferred codeword {tilde over (w)}p corresponds to the codeword of the DFT codebook, the previous preferred codeword {tilde over (w)}p may be expressed by
In this example, [{tilde over (w)}p {tilde over (w)}p⊥] may be expressed as shown in Equation 10.
In Equation 10, diag(X) refers to a diagonal matrix that includes elements of X as diagonal elements and includes “zero” as the remaining elements, excluding the diagonal elements. For example, when X=[1, 2, 3, 4]T, diag(X) refers to the diagonal matrix and diagonal elements of diag(X) include 1, 2, 3, and 4.
When the previous preferred codeword {tilde over (w)}p corresponds to the codeword of the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be a unitary matrix according to Equation 10. The rotation matrix R may be provided in a form of a diagonal matrix as expressed in Equation 11.
When the previous preferred codeword {tilde over (w)}p corresponds to the codeword of the DFT codebook, the rotation matrix R may be provided in the form of the diagonal matrix, and may include phase information φp associated with {tilde over (w)}p. Accordingly, when codewords of the DFT codebook, included in the reference codebook, are rotated using the rotation matrix R, the rotated codewords may be expressed as elements of the DFT codebook as shown in Equation 6. Also, codewords of the polar cap codebook, included in the reference codebook, may be rotated using the rotation matrix R and the properties of the polar cap codebook may be maintained as is.
Alternatively, when the previous preferred codeword {tilde over (w)}p does not correspond to the codeword of the DFT codebook, [{tilde over (w)}p {tilde over (w)}p⊥] may be calculated according to a scheme slightly different from Equation 10. For example, a Gram-Schmidt orthogonalization may be applied to
When applying the Gram-Schmidt orthogonalization, to “x” such as Gram_Schmidt(x), [{tilde over (w)}p {tilde over (w)}p⊥] may be expressed as shown in Equation 12.
The Gram-Schmidt orthogonalization may be configured as follows. In general, a rotation matrix QF
QF
In Equation 12-1, each of Fτ-1⊥ and wb⊥ may include columns having a unit norm. Columns of each of Fτ-1⊥ and wb⊥ may be orthogonal to columns of each of Fτ-1 and wb. As described herein, a superscript H refers to a conjugate transpose of a vector or a matrix.
In an example including four transmit antennas and a transmission rank 1, a process of extracting [Fτ-1 Fτ-1⊥] and [wb wb⊥] to obtain QF
In Equation 12-2, each of “n” and “m” refer to natural numbers within the range of 1 to nt, and xn denotes an nth element of “x.” When entries of the unit vector “x” have the same magnitude, Rx may be a unitary matrix. Otherwise, the Gram-Schmidt orthogonalization may be applicable to Rx to obtain the unitary matrix. Rx may be expressed by Equation 12-3.
The diag(x) operator may generate a diagonal matrix, and diagonal entries of the diagonal matrix may be given by a vector “x”. When
is fixed and x=wb, RW
When entries of the unit vector Fτ-1 have a constant magnitude, a rotation matrix QF
Q
F
=R
F
R
w
H=2diag(Fτ-1) [Equation 12-5]
With respect to Fτ-1, the Gram-Schmidt orthogonalization may be applied to RF
The Gram-Schmidt orthogonalization may be applied in c2 as expressed by Equation 12-7.
m
2
=c
2
−[F
τ-1
H
c
2
]F
τ-1 [Equation 12-7]
After a normalization, the normalization may be applied according to
The variables d3 and d4 may be expressed as a function of d2 as shown below.
The rotation matrix QF
Q
F
=[F
τ-1
d
2
d
3
d
4
]·R
w
H [Equation 12-8]
The Gram-Schmidt orthogonalization is described above, accordingly, a description of such is omitted here.
The base station and the terminal may calculate the rotation matrix R according to Equation 2 and Equation 9. The base station and the terminal may rotate the reference codebook using the calculated rotation matrix R.
According to various embodiments, the base station and the terminal may select, as the reference codeword {tilde over (w)}i of the reference codebook, a random codeword from among the codewords included in the DFT codebook. Accordingly, the above descriptions may be applicable to a DFT codebook. In the example shown in
In operation 511, the terminal estimates a channel based on a known signal and selects a preferred codeword from a basic codebook based on the estimated channel.
In operation 512, the terminal feeds back information associated with the determined preferred codeword to the base station.
The base station may verify the selected preferred codeword based on information associated with the preferred codeword, and may generate a precoding matrix based on the preferred codeword. In operation 521, the base station precodes at least one data stream using the precoding matrix.
In operation 522, the base station transmits a transmission signal to the terminal via a plurality of transmit antennas.
In operation 530, each of the base station and the terminal calculates a rotation matrix based on the preferred codeword {tilde over (w)}p that is selected in operation 511.
For example, when the previous preferred codeword {tilde over (w)}p corresponds to an element of a DFT codebook, each of the base station and the terminal may calculate [{tilde over (w)}p {tilde over (w)}p⊥] according to Equation 13.
In Equation 13, {tilde over (w)}pn refers to an nth element of {tilde over (w)}p, “n” refers to an nth row of [{tilde over (w)}p {tilde over (w)}p⊥], “m” refers to an mth column of [{tilde over (w)}p {tilde over (w)}p⊥], and nt refers to the number of transmit antennas.
Conversely, when the previous preferred codeword {tilde over (w)}p does not correspond to the element of the DFT codebook, each of the base station and the terminal may calculate [{tilde over (w)}p {tilde over (w)}p⊥] by orthogonalizing a matrix as shown in Equation 14.
In addition, each of the base station and the terminal may set, as a reference codeword {tilde over (w)}i, a random codeword from among codewords included in the DFT codebook. Each of the base station and the terminal may calculate [{tilde over (w)}i {tilde over (w)}i⊥] according to Equation 9.
When [{tilde over (w)}p {tilde over (w)}p⊥] and [{tilde over (w)}i {tilde over (w)}i⊥] are calculated, each of the base station and the terminal may calculate the rotation matrix R according to Equation 2.
When the rotation matrix R is calculated, in operation 540, each of the base station and the terminal generates a new codebook by {tilde over (w)}l({tilde over (w)}p) rotating codewords {tilde over (w)}l({tilde over (w)}i) of a reference codebook using the rotation matrix R, as expressed in Equation 1.
The terminal determines a new preferred codeword based on the new codebook {tilde over (w)}l({tilde over (w)}p) in operation 513, and feeds back, to the base station, information associated with the new preferred codeword in operation 514.
In operation 523, the base station extracts a new preferred codeword from the new codebook {tilde over (w)}l({tilde over (w)}p) based on information associated with the new preferred codeword, and generates a new precoding matrix.
In operation 524, the base station generates a new transmission signal by performing precoding using the new precoding matrix.
Operations 530 through 524 may be repeated at least once. For example, each of the terminal and the base station may generate the new codebook based on the previous preferred codeword. The terminal may determine the new preferred codeword based on the new codebook, and the base station may perform precoding using the new codebook.
When the process of operations 530 through 524 is repeated a predetermined number of times, or when a predetermined amount of time is elapsed, a codebook used in the base station and the terminal may be reset to a basic codebook in operation 550. In this example, each of the base station and the terminal may sequentially update the used codebook according to the aforementioned process.
As described above, the terminal may select, as the new preferred codeword, one of codewords of the new codebook {tilde over (w)}l({tilde over (w)}p), and may feed back, to the base station, information associated with the new preferred codeword. In this example, the terminal may not necessarily fully generate the new codebook {tilde over (w)}l({tilde over (w)}p). This is because the terminal may select one of codewords of the reference codebook {tilde over (w)}l({tilde over (w)}i), which is equivalent to selecting the new preferred codeword.
For example, the terminal may generate the new codebook {tilde over (w)}l({tilde over (w)}p), and then may select, as the new preferred codeword, one of codewords of the new codebook {tilde over (w)}l({tilde over (w)}p). Without generating the new codebook {tilde over (w)}l({tilde over (w)}p), the terminal may express the new preferred codeword as one of the codewords of the reference codebook {tilde over (w)}l({tilde over (w)}i). The terminal may feed back, to the base station, information associated with the new preferred codeword. The information fed back may include, for example, information associated with an index of the new preferred codeword in the new codebook {tilde over (w)}l({tilde over (w)}p), or information associated with an index of a codeword corresponding to the new preferred codeword in the reference codebook {tilde over (w)}l({tilde over (w)}i). Because {tilde over (w)}l({tilde over (w)}p)=R{tilde over (w)}l({tilde over (w)}i), the new preferred codeword may be expressed as an index of one of the codewords included in the new codebook {tilde over (w)}l({tilde over (w)}p), or may be expressed as an index of one of the codewords included in the reference codebook {tilde over (w)}l({tilde over (w)}i). In the example where the terminal generates information associated with the new preferred codeword from the new codebook {tilde over (w)}l({tilde over (w)}p), and in the example where the terminal generates information associated with the new preferred codeword from the reference codebook {tilde over (w)}l({tilde over (w)}i), the base station may regenerate the rotation matrix R. Accordingly, the base station may verify the corresponding new preferred codeword based on information associated with the new preferred codeword that is fed back from the terminal.
Descriptions made above with reference to
Referring to
A receiver may estimate a channel between the receiver and a transmitter, and determine a preferred codeword from a basic codebook. Information associated with the preferred codeword may be shared by the transmitter and the receiver. When the receiver selects a new preferred codeword suitable for a changed channel, the rotation matrix may be determined. The receiver may calculate the rotation matrix, and may also select an optimal rotation matrix from a plurality of candidates pre-stored in the memory.
The candidates pre-stored in the memory may be based on codewords of a DFT codebook. For example, when Nt=4, each of the candidates may be provided in a form of
For example, each of the candidates pre-stored in the memory may be a diagonal matrix including elements of the codewords of the DFT codebook as diagonal elements. Also, each of the candidates pre-stored in the memory may be represented with respect to Nt=8, 16, and the like.
The receiver may feed back, to the transmitter, information associated with an index of the selected rotation matrix. The transmitter may verify the rotation matrix based on the fed back information. The transmitter may generate a new codebook or verify a new preferred codeword by rotating a reference codebook using the rotation matrix.
In this example, a downlink transmission is illustrated. In a downlink, a base station performs the transmitting and each of terminals performs the receiving.
Generally, each of the terminals may calculate an implicit channel matrix based on a known signal such as a pilot signal that is transmitted from the base station, and each of the terminals may select a preferred codeword based on the implicit channel matrix. The implicit channel matrix refers to a product between an explicit channel matrix and a received beamforming matrix. For example, each of the terminals may measure the implicit channel matrix by performing zero-forcing beamforming, instead of measuring the explicit channel matrix. Zero-forcing beamforming is the product between the received beamforming matrix corresponding to the zero-forcing beamforming and the explicit channel matrix. Each of the terminals may select a preferred codeword from a codebook based on the implicit channel matrix, and may feed back, to the base station, information associated with the selected preferred codeword.
The base station may adaptively change a transmission mode with a high degree of freedom (DOF) by verifying the explicit channel matrix. For example, when the base station may verify the explicit channel matrix, the base station may select one of a single-user MIMO transmission mode, a multi-user MIMO transmission mode, or a transmit diversity transmission mode.
Accordingly, to assign a relatively high DOF to the base station, each of the terminals may select the preferred codeword based on the explicit channel matrix, and feed back information associated with the selected preferred codeword. The base station may recognize the preferred codeword. Accordingly, a codebook used by each of the base station and the terminals may be modified and codebook update technology may also be modified.
To share the explicit channel matrix, a reference codebook may be determined based on codewords of a polar cap codebook and codewords of a DFT codebook and the reference codebook may be used by each of the terminals and the base station.
(1) Polar Cap Codebook Cpolar
When a number of transmit antennas installed in a transmitter is Nt, a reference codeword wb having a dimension of Nt2×1 may be represented by
For example, the elements of the reference codeword wb may be
In this example, a predetermined number of vectors among vectors surrounding the reference codeword wb may be selected as codewords of the polar cap codebook. Accordingly, the predetermined number of vectors may be selected to maximize minimum distances between the codewords of the polar cap codebook Cpolar.
(2) DFT-Like Codebook CDFT Based on a DFT Codebook
The DFT-like codebook CDFT may be determined based on codewords of a DFT codebook. In the example where Nt=4, a plurality of vectors having the form
which is a transpose of a codeword included in the DFT codebook, may be represented according to Equation 15, to generate the DFT-like codebook CDFT.
In Equation 15, θi refers to a predefined value.
The vectors of the DFT codebook shown in Equation 15 and a Hermitian of each of the vectors may be multiplied with each other as expressed by Equation 16.
In Equation 16,
may be vectorized. Accordingly, the column vectors of the matrix may be unified into a single vector as expressed by Equation 17.
In Equation 17, vec(X) refers to an operation of unifying all the column vectors of the matrix X into a single vector.
The DFT-like codebook CDFT may be represented as a set of 16×1 vectors as shown in Equation 17.
(3) Reference Codebook Based on at Least One of the Polar Cap Codebook Cpolar and the DFT-Like Codebook CDFT
The polar cap codebook Cpolar and the DFT-like codebook CDFT may be used independently as the reference codebook. The reference codebook may be generated by unifying the polar cap code codebook Cpolar and the DFT-like codebook CDFT. For example, the reference codebook may be determined based on chordal distances between codewords of the polar cap codebook Cpolar and codewords of the DFT-like codebook CDFT. codewords of the DFT-like codebook CDFT may be codewords of a vectorized DFT codebook. Accordingly, the reference codebook may be determined to maxmize the chordal distances.
A reference codebook C may be pre-stored in a receiver and a transmitter. As described above, the reference codebook C may include at least one of the polar cap codebook Cpolar, the DFT-like codebook CDFT, and a unification of the polar cap codebook Cpolar and the DFT-like codebook CDFT. The reference codebook C may be updated according to an explicit channel matrix between the transmitter and the receiver.
Referring to
In operation 612, the receiver obtains vectorized channel information by vectorizing the calculated H or HHH. H or HHH may be vectorized to the vectorized channel information and may be represented as vec(H) or vec(HHH). The vectorized channel information may also be Uivec(H) or Uivec(HHH). In this example, Ui refers to an ith element among elements included in a set of a unitary matrix. In this example, the channel information generated by the receiver is vec(HHH). A dimension of vec(H) may vary depending on a number of receive antennas installed in the receiver, whereas a dimension of vec(HHH) may be fixed. Accordingly, in some embodiments it may be more effective to use vec(HHH).
When the previous explicit channel matrix between the transmitter and the receiver is H, and vectorized channel information based on the previous explict channel matrix is vec(HHH), in operation 613, the receiver selects a previous preferred matrix Vvec(H
The reference codebook may be updated based on the previous preferred matrix Vvec(H
Initially, a matrix Rx may be defined based on a unit vector X. In this example, an (n, m)th element located in an nth row and an mth column of Rx is
where xn refers to an nth element of X. When all the elements of X have the same magnitude, Rx may be a unitary matrix. Otherwise, a Gram-Schmidt orthogonalization may be applicable to Rx.
For example, when X corresponds to a unit vector having a dimension of 4×1, Rx may be expressed as shown in Equation 18.
In operation 640, the reference codebook C is updated with a new codebook based on the previous preferred matrix Vvec(H
as expressed by Equation 19. The new codebook may be generated by multiplying the rotation matrix QV
In Equation 19, an (n, m)th element located in an nth row and an mth column of
Xn refers to an nth element of Vvec(H
and wn refers to an nth element of wb. In this example, [wb wb⊥] may be predefined and may be multiplied in advance by a codebook.
When the rotation matrix QV
The aformentioned process may be repeated a predetermined number of times or for a predetermined amount of time. A codebook used by each of the transmitter and the receiver is reset in operation 670.
Accordingly, each of the transmitter and the receiver may repeat the aformentioned process using an initially used basic codebook.
As described above with reference to
For example, the terminal may generate the new codebook and then select, as the new preferred codeword, one of codewords of the new codebook. Also, without fully generating the new codebook, the terminal may express the new preferred codeword as one of the codewords of the reference codebook. The terminal may feed back, to the base station, information associated with the new preferred codeword. Information associated with the new preferred codeword may include information associated with an index of the new preferred codeword in the new codebook, or information with an index of a codeword corresponding to the new preferred codeword in the reference codebook C.
The new preferred codeword may be expressed as an index of one of codewords included in the new codebook, or may be expressed as an index of one of codewords included in the reference codebook C. With respect to the example where the terminal generates information associated with the new preferred codeword from the new codebook, and the example where the terminal generates information associated with the preferred codeword from the reference codebook C, the base station may generate the rotation matrix QV
Descriptions are made with reference to
According to various examples, in addition to a reference codebook, a product between the reference codebook and a matrix defined based on a reference codeword may be pre-stored in the memory of a transmitter and a receiver. In this example, each of the transmitter and the receiver may generate a relatively less complex new codebook or new codeword.
For example, the reference codebook may be expressed by {tilde over (w)}l({tilde over (w)}i) with respect to a given reference codeword {tilde over (w)}i, and a previous preferred codeword may be expressed by {tilde over (w)}p. In this example, the new codebook {tilde over (w)}l({tilde over (w)}p) may be expressed by an inner product {tilde over (w)}l({tilde over (w)}p)=R{tilde over (w)}l({tilde over (w)}i) between the rotation matrix R and {tilde over (w)}l({tilde over (w)}i) according to Equation 1. The rotation matrix R may be expressed by R=[{tilde over (w)}p {tilde over (w)}p⊥][{tilde over (w)}i {tilde over (w)}i⊥] according to Equation 2. Accordingly, the new codebook may be represented as {tilde over (w)}l({tilde over (w)}p)=[{tilde over (w)}p {tilde over (w)}p⊥][{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i). Because the matrix [{tilde over (w)}i {tilde over (w)}i⊥], defined based on the reference codeword {tilde over (w)}i, and the reference codebook {tilde over (w)}l({tilde over (w)}i) are fixed, the new codebook {tilde over (w)}l({tilde over (w)}p) may be considered as a function of [{tilde over (w)}p {tilde over (w)}p⊥]. Each of the transmitter and the receiver may pre-store, in memory, [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i), which is a product between the matrix [{tilde over (w)}i {tilde over (w)}i⊥], based on the reference codeword {tilde over (w)}i and the reference codebook {tilde over (w)}l({tilde over (w)}i). Accordingly, the transmitter and the receiver may adaptively generate the new codebook {tilde over (w)}l({tilde over (w)}p) by sharing the varying previous preferred codeword {tilde over (w)}p.
As another example, each of the transmitter and the receiver may fully generate the new codebook {tilde over (w)}l({tilde over (w)}p). In this example, the receiver may feed back, to the transmitter, information associated with an index of the previous preferred codeword {tilde over (w)}p, thus allowing the transmitter and the receiver to share the previous preferred codeword {tilde over (w)}p. The product [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i) between the matrix [{tilde over (w)}i {tilde over (w)}i⊥], based on the reference codeword {tilde over (w)}i, and the reference codebook {tilde over (w)}l({tilde over (w)}i) may be pre-stored in the memory of each of the transmitter and the receiver. Each of the transmitter and the receiver may calculate [{tilde over (w)}p {tilde over (w)}p⊥] based on the previous preferred codeword {tilde over (w)}p, and may generate the same new codebook {tilde over (w)}l({tilde over (w)}p) based on [{tilde over (w)}p {tilde over (w)}p⊥] and [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i). Next, the receiver may select the new preferred codeword from the new codebook {tilde over (w)}l({tilde over (w)}p), and may feed back, to the transmitter, information associated with the new preferred codeword. The transmitter may verify the new preferred codeword from the new codebook {tilde over (w)}l({tilde over (w)}p) based on information fed back from the receiver. Because [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i) is pre-stored in the memory, each of the transmitter and the receiver do not have to calculate an inner product between [{tilde over (w)}i {tilde over (w)}i⊥] and {tilde over (w)}l({tilde over (w)}i) in order to generate the new codebook {tilde over (w)}l({tilde over (w)}p). By pre-storing [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i) in the memory, it is possible to reduce a calculation amount used for generating the new codebook {tilde over (w)}l({tilde over (w)}p).
As another example, each of the transmitter and the receiver may transmit and receive information associated with the new preferred codeword without fully generating the new codebook {tilde over (w)}l({tilde over (w)}p). Similarly, the receiver may feed back, to the transmitter, information associated with the previous preferred codeword {tilde over (w)}p, thus allowing the transmitter and the receiver to share the previous preferred codeword {tilde over (w)}p. The product [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i) between the matrix [{tilde over (w)}i {tilde over (w)}i⊥], based on the reference codeword {tilde over (w)}i and the reference codebook {tilde over (w)}l({tilde over (w)}i) may be pre-stored in the memory of each of the transmitter and the receiver. [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i) may include a plurality of codewords. The receiver may select, as a codeword corresponding to the new preferred codeword, one of the codewords included in [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i). The substantially new preferred codeword may be determined as the inner product between [{tilde over (w)}p {tilde over (w)}p⊥] and a codeword selected from a plurality of codewords included in [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i). The receiver may feed back, to the transmitter as information associated with the new preferred codeword, information associated with the codeword selected from the plurality of codewords included in [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i), for example, information associated with an index of the selected codeword. The transmitter may extract the codeword selected from the plurality of codewords included in [{tilde over (w)}i {tilde over (w)}i⊥]{tilde over (w)}l({tilde over (w)}i), based on information fed back from the receiver. The transmitter may verify, as the new preferred codeword, the inner product between [{tilde over (w)}p {tilde over (w)}p⊥] and the selected codeword.
The above described examples may be applicable when explicit feedback is used. For example, when the transmitter and the receiver use the explicit feedback, the transmitter and the receiver may generate the new codebook corresponding to the previous preferred codeword Vvec(H
Referring to
The selector 721 of the terminal 720 may select a previous preferred codeword using a basic codebook, and may feed back, to the base station 710, information associated with the selected previous preferred codeword. The calculator 722 may calculate a rotation matrix based on the previous preferred codeword and a random codeword from among codewords included in a DFT codebook. The generator 723 may generate a new codebook using the rotation matrix.
The recognition unit 711 of the base station 710 may recognize the previous preferred codeword based on information associated with the previous preferred codeword fed back from the terminal 720. The calculator 712 may calculate a rotation matrix based on the previous preferred codeword and the random codeword included in the DFT codebook. The generator 713 may generate the new codebook using the rotation matrix.
When the selector 721 of the terminal 720 selects a new preferred codeword and feeds back information associated with the new preferred codeword, the base station 710 may recognize the new preferred codeword using the new codebook, and generate a new precoding matrix based on the new preferred codeword. The precoder 714 may precode at least one data stream using the new precoding matrix.
Referring to
A basic codebook and a reference codebook may be stored in the memory 811. A new generated codebook may also be stored in the memory 811.
The recognition unit 812 may recognize a previous preferred codeword selected by the receiver 820, based on a previous explicit channel matrix between the transmitter 810 and the receiver 820.
The calculator 813 may calculate a rotation matrix based on the previous preferred codeword.
To generate the new codebook, the generator 814 may rotate the reference codebook using the rotation matrix.
When the new codebook is generated, the recognition unit 812 may recognize a new preferred codeword. A precoder (not shown) of the transmitter 810 may perform precoding using a precoding matrix that is generated based on the new preferred codeword.
The basic codebook and the reference codebook may be stored in the memory 821 of the receiver 820. The newly generated codebook may also be stored in the memory 821.
To obtain vectorized channel information, the vectorization unit 822 may vectorize information associated with a previous explicit channel matrix between the transmitter 810 and the receiver 820.
The selector 823 may select the previous preferred codeword based on the vectorized channel information.
The calculator 824 may calculate the rotation matrix based on the previous preferred codeword.
To generate the new codebook, the generator 825 may rotate the reference codebook using the rotation matrix.
When the new codebook is generated, the receiver 820 may calculate a subsequent explicit channel matrix and may select, from the new codebook, a new preferred codeword corresponding to the subsequent explicit channel matrix. Information associated with the new preferred codeword may be fed back to the transmitter 810.
Description made above with reference to
Further descriptions related to the constituent elements of
Table 1 and Table 2 below illustrate examples of numerical values of a new codebook according to {tilde over (w)}i and a number of transmit antennas in a system using an implicit feedback. Also, codebook (:,:,n) denotes an nth codeword in the new codebook. A unitary matrix [{tilde over (w)}i {tilde over (w)}i⊥] defined based on {tilde over (w)}i may be multiplied in advance to codebooks disclosed in Table 1 and Table 2. The product thereof may be pre-stored in a memory of each of a transmitter and a receiver.
(1) In this example, {tilde over (w)}i is
and four transmit antennas are installed in the base station.
(2) In this example, {tilde over (w)}i is
and eight transmit antennas are installed in the base station.
Table 3 below illustrates examples of numerical values of a new codebook according to a number of feedback bits, for example, a size of the new codebook. Also, codebook (:,:,n) denotes an nth codeword in the new codebook, and codebook (:,:,n) also indicates a result where a unitary matrix [wb wb⊥] generated by wb is multiplied in advance.
The aforementioned examples may be applicable to various types of communication apparatuses performing a functionality of a receiver and a transmitter. For example, a terminal may perform a functionality of the receiver in a downlink or a transmitter in an uplink. Conversely, a base station may perform a functionality of the transmitter in the downlink and a receiver in the uplink.
As a non-exhaustive illustration only, the terminal device described herein may refer to mobile devices such as a cellular phone, a personal digital assistant (PDA), a digital camera, a portable game console, an MP3 player, a portable/personal multimedia player (PMP), a handheld e-book, a portable lab-top personal computer (PC), a global positioning system (GPS) navigation, and devices such as a desktop PC, a high definition television (HDTV), an optical disc player, a setup box, and the like, capable of wireless communication or network communication consistent with that disclosed herein.
A computing system or a computer may include a microprocessor that is electrically connected with a bus, a user interface, and a memory controller. It may further include a flash memory device. The flash memory device may store N-bit data via the memory controller. The N-bit data is processed or will be processed by the microprocessor and N may be 1 or an integer greater than 1. Where the computing system or computer is a mobile apparatus, a battery may be additionally provided to supply operation voltage of the computing system or computer.
It should be apparent to those of ordinary skill in the art that the computing system or computer may further include an application chipset, a camera image processor (CIS), a mobile Dynamic Random Access Memory (DRAM), and the like. The memory controller and the flash memory device may constitute a solid state drive/disk (SSD) that uses a non-volatile memory to store data.
The processes, functions, methods and/or software described above may be recorded, stored, or fixed in one or more computer-readable storage media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable storage media include magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks and DVDs; magneto-optical media, such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above, or vice versa. In addition, a computer-readable storage medium may be distributed among computer systems connected through a network and computer-readable codes or program instructions may be stored and executed in a decentralized manner.
A number of examples have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2009-0060495 | Jul 2009 | KR | national |
10-2009-0093085 | Sep 2009 | KR | national |
10-2010-0030544 | Apr 2010 | KR | national |