This application claims priority from U.S. provisional patent application serial No.61/078,767, entitled "MULTIPLE input device OUTPUT (MIMO) RANK ADAPTATION WITH unique channel decoder", filed on 7/2008, the entire disclosure of which is incorporated herein by reference.
Detailed Description
Fig. 1 is a simplified functional block diagram of an embodiment of a wireless communication system 100. The wireless communication system 100 includes a plurality of base stations 110A and 110B, each supporting a respective service or coverage area 112A and 112B. A base station is capable of communicating with wireless devices within its coverage area. For example, the first base station 110A can wirelessly communicate with a first client station 114A and a second client station 114B within the coverage area 112A. The first client station 114A is also within the coverage area 112B and is, in turn, able to communicate with the second base station 110B. In this description, the communication path from the base station to the client station is referred to as downlink 116A and the communication path from the client station to the base station is referred to as uplink 116B.
Although only two base stations are shown in fig. 1 for simplicity, a typical wireless communication system 100 includes a greater number of base stations. The base stations 110A and 110B may be configured as cellular base transceiver subsystems, gateways, access points, Radio Frequency (RF) repeaters, frame repeaters, nodes, or any wireless network entry points.
Base stations 110A and 110B may be configured to support either omni-directional coverage areas or sectored coverage areas. For example, the second base station 110B is depicted as supporting a sectored coverage area 112B. Coverage area 112B is depicted as having three sectors 118A, 118B, and 118C. In typical embodiments, the second base station 110B treats each sector 118 as a substantially different coverage area.
Although only two client stations 114A and 114B are shown in the wireless communication system 100, a typical system is configured to support a large number of client stations. The client stations 114A and 114B may be mobile, roaming or fixed units. For example, client stations 114A and 114B are commonly referred to as mobile stations, mobile units, subscriber stations, wireless terminals, etc. For example, the client station may be a wireless handheld device, an in-vehicle device, a portable device, a client terminal device, a fixed location device, a wireless plug and play accessory, and the like. In some cases, the client station may take the form of a handheld computer, notebook computer, wireless telephone, personal digital assistant, wireless email device, personal media player, meter reading device, etc., and may include a display mechanism, microphone, speaker, and memory.
In a typical system, base stations 110A and 110B also communicate with each other and with a network control module 124 over backhaul links 122A and 122B. Backhaul links 122A and 122B may include wired communication links and wireless communication links. The network control module 124 provides network management and coordination and other overhead, coupling, and policing functions to the wireless communication system 100.
In some embodiments, the wireless communication system 100 may be configured to support both bi-directional and unidirectional communications. In a two-way network, a client may both receive information from and provide information to a wireless communication network. Applications that run over the bi-directional communication channel include traditional voice and data applications. In a unidirectional network, a client may receive information from a wireless communication network, but providing information to the network may be limited or impossible. Applications that run on a unidirectional communication channel include broadcast and multicast applications. In one embodiment, the wireless communication system 100 supports both two-way and one-way communications. In such embodiments, the network control module 124 is also connected to external entities via, for example, a content link 126 and a bi-directional traffic link 128.
The wireless communication system 100 is configured to use Orthogonal Frequency Division Multiple Access (OFDMA) communication techniques. For example, the wireless communication system 100 may be configured to substantially conform to a standard system specification such as IEEE802.16 and its successor specifications, or some other wireless standard such as, for example, WiBro, WiFi, Long Term Evolution (LTE), or it may be a proprietary system. The subject matter described herein is not limited in its application to OFDMA systems, or the standards and specifications specified. The description is provided in the context of an OFDMA system only to provide specific embodiments.
As used herein, IEEE802.16 refers to one or more of the following: institute of Electrical and Electronics Engineers (IEEE) standards for local and metropolitan area networks, part 16: air Interface for Fixed Broadband Wireless Access System, 2004, 10/1/2004; IEEE standard for local and metropolitan area networks, part 16: air Interface for Fixed and Mobile Broadband Wireless Access Systems, 2006, 2, 26; and any subsequent additions or revisions to the IEEE802.16 family of standards.
In some embodiments, downlinks 116A-B and uplink 116C each represent a Radio Frequency (RF) signal. The RF signals may include data such as voice, video, images, Internet Protocol (IP) packets, control information, and any other type of information. When IEEE-802.16 is used, the RF signal may use OFDMA. OFDMA is a multi-user version of Orthogonal Frequency Division Multiplexing (OFDM). In OFDMA, multiple access is achieved by allocating groups of subcarriers (also referred to as subchannels or subchannels) to individual users. The subcarriers are modulated using BPSK (binary phase shift keying), QPSK (quadrature phase shift keying), QAM (quadrature amplitude modulation), and carry symbols (also referred to as OFDMA symbols) containing data encoded using a forward error correction code.
In some embodiments, the base station is implemented using Multiple Input Multiple Output (MIMO). When MIMO is used, the base station may include multiple antennas. For example, base station 110A may be configured for MIMO and include a precoder (described further below) coupled to two antennas (which are used for MIMO transmission via downlinks 116A-B). The precoder is configured to perform "precoding," which refers to beamforming to support MIMO transmission at each antenna (e.g., weighting orthogonal "eigenbeams" transmitted via each antenna using singular vectors). A client station may include multiple antennas to receive MIMO transmissions transmitted via downlinks 116A-B. The client stations may also combine the received signals, which may result in less error and/or improved data delivery. Although the embodiments presented herein are made in the context of MIMO, other smart antenna technologies including MISO (multiple input, single output) and SIMO (single input, multiple output) may also be used.
Also, when MIMO is used, the base station may perform precoding (which may use channel estimation information) to encode, for each antenna, one or more symbol streams for transmission through the respective antenna. In a closed-loop feedback-based approach, channel estimation information is provided by the client station to the base station. For example, the client station may receive each downlink 116A-B transmitted by an antenna of the base station, decode the received downlink signals, determine channel estimation information for the decoded channels (e.g., subcarriers) in each received downlink signal, and then provide the determined channel estimation information to the base station. The channel estimation information provided by the client station may comprise singular vectors determined by the client station using Singular Value Decomposition (SVD). Although the channel estimation information is described as including singular vectors, the channel estimation information may also include other channel information such as signal-to-noise ratios of subcarriers, carrier-to-noise ratios, channel covariance matrices, channel matrices, and the like.
A singular vector may be determined for each channel (e.g., subcarrier) used by the antenna transmitted from the base station to the client station. For example, a base station may include two antennas, each transmitting over a channel including one or more subcarriers. The client station may then determine singular vectors for the subcarriers. Again, the subcarriers (as well as other channel information) may be used to determine what is known as the channel "strength". For example, in the case of two antennas, if the singular vector v1Substantially greater than a singular vector v2(e.g., when v is1Is much larger than v2When the subscriber station is not transmitting), the subscriber station may provide an indication to the base station to use singular value decomposition at the precoder. However, if the singular vector v1Substantially not greater than singular vector v2The client station may provide an indication to the base station to use uniform channel decomposition when precoding at the base station. In some implementations, configuring a base station using singular value decomposition for a single symbol stream, or unified channel decomposition for multiple symbol streams (e.g., based on feedback from the client station indicating the "strength" of the singular vector), provides improved performance compared to operations using only singular value decomposition or only unified channel decomposition.
Fig. 2A depicts an exemplary client station, such as client station 114B. The client station 114B includes multiple antennas 220A-B for receiving downlinks 116A-B each transmitted by a base station (such as base station 110A), which implements MIMO, as described further below. Although the embodiments described herein refer to two antennas at the base station and two antennas at the client station, other numbers of antennas may be used at the base station and the client station. Client station 114B also includes a radio interface 240 that may include other components such as filters, converters (e.g., digital-to-analog converters, etc.), symbol demappers, Inverse Fast Fourier Transform (IFFT) modules, and the like to process received MIMO transmissions communicated via downlinks 116A-B, determine channel estimation information, and decode any data carried by the downlinks, such as symbols. In some implementations, client station 114B is also compatible with IEEE802.16 and MIMO transmission (which is transmitted via downlinks 116A-B), although MIMO implementations using other wireless technologies (such as LTE, WiBro, etc.) may also be implemented using the subject matter described herein. Client station 114B further includes a channel estimator 260 (described further below), a processor 220 for controlling client station 114B and accessing and executing program code stored in memory 225.
For each MIMO transmission transmitted via downlinks 116A-B and received at each antenna 220A-B, channel estimator 260 may determine channel estimation information, such as singular vectors determined using singular value decomposition. Again, the channel estimator 260 may then provide an indication to the precoder at the base station based on the strength of the determined singular vectors to use singular value decomposition or to use unified channel decomposition. When singular value decomposition is used, a precoder at the base station provides a single symbol stream to the MIMO transmission based on the singular value decomposition. When unified channel decomposition is used, a precoder at a base station provides multiple symbol streams to a MIMO transmission based on the unified channel decomposition. Determined singular vectors v1And v2The singular vectors, which may also be provided as feedback to the base station (e.g., as a management message sent via uplink 116C) (as well as other channel estimation information), may be used at the precoder to configure singular value decomposition or unified channel decomposition.
In some embodiments, the singular vector v1Based on the following equation:
v1=h1*cosθ+h2*sinθejφ,
and determining a singular vector v based on the following equation2:
v2=h1*sinθ-h2*cosθejφ。
Then determining the singular vectors v1And v2As feedback to the base station (e.g., as a management message sent via uplink 116C).
Determining singular vectors v is provided below1And v2But other approaches may be used. In general, analog feedback may provide advantages such as unlimited feedback accuracy and low complexity at a client station (e.g., mobile station) that may be particularly important for multi-user MIMO or multi-base station MIMO with uncorrelated antennas.
In any case, there are several options for feedback, such as using the full channel matrix H, the covariance matrix HHH, the strongest right singular vector, and the two strongest right singular vectors. Although feeding back the full channel matrix or channel covariance provides sufficient information for single user and/or multi-user MIMO, feeding back only the first or two strongest eigenvectors reduces feedback overhead.
For example, a 4-antenna base station requires 8 complex values for the feedback comprising the full channel matrix or covariance matrix, only 3 complex values for the strongest right singular vector option, and 5 complex values for the two strongest right singular vector options. An 8-antenna base station or two 4-antenna base stations in the multi-base station MIMO require 16, 7 and 13 values for the full channel matrix option, the strongest right singular vector option and the two strongest right singular vector options, respectively. In addition, typical operation of closed-loop MIMO in frequency division duplex may require an initial estimate of the carrier-to-interference-plus-noise ratio (CINR) of the pre-coded carrier-to-interference-plus-noise ratio after transmission by a client station (e.g., mobile station).
To further illustrate, embodiments of how to compute singular values of a channel are provided below, which will determine the post-precoding SNR (signal-to-noise ratio).
Assume that the channel matrix H is a 2-by-N (2 × N) -dimensional matrix in dimension, whichWherein N is greater than or equal to 2(N ═ 2). Can be selected from HHHTo obtain a singular value, HHHIs a 2 x 2 dimensional matrix that can be solved based on the following two equations:
wherein Tr is trace and σ1And σ2Are the two singular values of H.
For the computation of the singular value decomposition, the emphasis is on a matrix H of size Nx 2HAnd then the correct singular vectors of size 2 are found and the left singular vectors (which are the right singular vectors of H) are found using these singular vectors.
First, HHIs in the form of: hH=V∑UHWhere U may be generally represented as follows:
by definition of the singular value decomposition, the first column of the matrix U is calculated according to the following equation:
where | X | represents the euclidean norm. The maximum Euclidean norm being the maximum singular value σ1。
By hiRepresenting the ith row of matrix H and developing the above expression, the following equation is formed:
it can be represented (e.g., by substitution) as follows:
differentiating and equating to zero, the following equation is formed:
thereafter the CORDIC rotation is used to calculate cos theta and sin theta. Using UHHDetermining the strongest singular vector by normalizing the equation:
at this point, the strongest right singular vector has been completed. To complete the two right-most-powerful singular vectors, the following equations are solved:
the equation may be normalized.
To further illustrate, Singular Value Decomposition (SVD) is generally accomplished by an iterative procedure. But for the special case of an N x 2 matrix, the decomposition can be done by a closed form solution for singular value decomposition. For example, a matrix of the form:
H=[h1:h2]∈CN×2then, the singular value decomposition is calculated as follows:
H=U∑V*
wherein U ═ U1:u2]∈CN×2Is an orthogonal matrix and Σ is of the form:
and V is of the form:
by definition of the singular value decomposition, the first column of V parameterized by θ and φ is calculated according to the following equation:
where | · | | represents the euclidean norm, and the maximum euclidean norm is the maximum singular value σ1. Respectively a toi,biIs denoted by h1And h2The solution to the above theta and phi equations can be derived based on the following equations:
thus, it is bestCan be represented as follows:
further simplifying the θ and φ equations yields the following equations:
and further limitWithout loss of optimality, and making the derivative equal to zero yields the following equation:
thus, there is the following equation:
the value of θ can be calculated based on the above equation, which has only one solution in the interval 0 to π/2. However, since the solutions of interest are cos θ and sin θ, rather than θ itself, the following equation can be used to solve:
α is represented as follows:
the following equation is generated:
this results in a difference in the interval 0 to pi/2 (i.e.,) Unique solution for θ:
and
and
sinθ=cosθ*tanθ
given the above cos θ and sin θ, V can be formed as follows:
and given the following equation:
and given the following equation:
u=h1cosθ+h2sinθejφ
this is the first column of U ∑, with the largest singular value having the form:
where | · | | represents the euclidean norm, and the second equation is derived from the above θ notation. Thus, the corresponding singular vectors are:
given the following equation, the following equation is given,
v=h1sinθ-h2cosθejφ
this is the second column of U ∑, and is givenWherein | · | | F represents the frobenius norm, with smaller singular values obtained as follows:
thus, the corresponding singular vectors are:
table 1 depicts Matlab pseudo code for determining the above singular vectors.
TABLE 1 sample pseudo code
Fig. 2B depicts a process 200 at a client station for determining whether to use singular value decomposition or unified channel decomposition. The description of process 200 will also refer to fig. 2A.
At 292, the channel estimator 260 determines one or more singular vectors for the channel (e.g., subcarriers). For example, if base station 110B transmits using MIMO over two antennas, channel estimator 260 may use singular value decomposition to determine a singular vector (e.g., also referred to as u) for each channel1And u2Singular vectors v of1And v2)。
At 294, the channel estimator 260 determines whether one of the singular vectors is substantially larger (e.g., has higher eigenvalues and thus greater capacity) than the other singular vectors. For example, channel estimator 260 may normalize the determined singular vectors to have a range of zero to one. Given a normalized vector, a substantially larger singular vector v1May have a value close or equal to one while another singular vector may have a value close to zero. Continuing with the embodiment, at 296, the channel estimator 260 provides an indication to the base station 110A to use singular value decomposition at the precoder. When singular value decomposition is used at the base station, the precoder at the base station 110B provides a single symbol stream for MIMO transmission based on the singular value decomposition. On the other hand, when the singular vector v1Substantially no greater than other singular vectors (e.g., singular vector v)1Does not have a value close to or equal to one), the channel estimator 260 provides an indication to the base station to use uniform channel decomposition at the precoder 298. In some implementations, process 200 is stored as program code at memory 225.
Fig. 3A depicts a base station, such as base station 110A. The base station 110A includes antennas 320A-B configured to transmit via downlinks 116A-B and configured to receive an uplink 116C via at least one of the antennas 320A-B. The base station 110A further includes a radio interface 340 coupled to the antennas 320A-B, a precoder 360 (described further below), a processor 330 for controlling the base station 110A and for accessing and executing program code stored in memory 335. The radio interface 340 further includes other components such as filters, converters (e.g., digital-to-analog converters, etc.), mappers, Fast Fourier Transform (FFT) modules, etc., to generate MIMO transmissions via the downlinks 116A-B, receive channel estimation information provided via the uplink 116C, and receive indications from client stations as to whether to use singular value decomposition or unified channel decomposition when transmitting to the client stations using MIMO. Thus, the indication serves as a form of rank self-adjustment. In some implementations, the base station 110A is also compatible with IEEE802.16 and configures the RF signals for the MIMO downlinks 116A-B and the uplink 116C according to OFDMA.
The radio interface 340 decodes the uplink 116C carrying an indication (e.g., a management message received from the client station) of whether the precoder is configured to perform singular value decomposition or unified channel decomposition. The radio interface 340 may also decode the uplink 116C provided to the precoder 360 that carries any channel estimation information (e.g., singular vectors determined at the client stations). The precoder 360 receives the indication and configures for singular value decomposition or unified channel decomposition. When singular value decomposition is used, a precoder at the base station provides a single stream for MIMO transmission via antennas 320A-B. When using unified channel decomposition, the precoder 360 uses any singular vectors v determined at the client station1And v2(and any other channel estimation information provided by the client station as feedback to the base station) to provide multiple symbol streams (e.g., two symbol streams) for MIMO transmission via each antenna 320A-B based on unified channel decomposition.
Fig. 3B depicts a process 300 for configuring a base station to adapt or unify channel decomposition using singular value decomposition based on the strength of singular vectors determined by a client station. The description of process 300 will also refer to fig. 2A and 3A.
At 393, the base station, such as base station 110A, receives an indication from the client station indicating whether singular value decomposition or unified channel decomposition is to be used when transmitting to the client station. For example, client station 114B may provide as uplink 116CAn indication of a management message. At 394, the received message is provided to a precoder, such as precoder 360. When the indication corresponds to a singular value decomposition, precoder 360 provides a single symbol stream for MIMO transmission via antennas 320A-B based on the singular value decomposition. When the indication corresponds to a unified channel decomposition, the precoder 360 uses any singular vectors v determined at the client station1And v2(and any other channel estimation information provided as feedback by the client station to the base station) to provide multiple symbol streams (e.g., two symbol streams) for MIMO transmission via antennas 320A-B based on unified channel decomposition. At 396, the base station transmits to the client station based on the indication provided by the client station. For example, base station 110A configures transmission to client station 114B based on whether client station 114B has indicated whether base station 110A should transmit according to the singular value decomposition or according to the unified channel decomposition. In the case of unified channel decomposition, the client station 114B may also provide channel estimation information such as singular vectors, channel covariance matrices, and the like.
Also, in general, rank-2 operation uses singular value decomposition to decompose the channel and transmit on two eigen-subchannels. This orthogonality of the channels may result in reduced performance in some implementations that do not use a matching modulation and coding scheme for each singular vector. To solve this problem, the intrinsic sub-channels may be rotated mathematically such that both sub-channels become two layers with the same output SINR when decoded using a Successive Interference Cancellation (SIC) receiver. This is the basic essence of uniform channel decomposition.
To further illustrate, rank self-adjustment may be performed using uniform channel decomposition in actual closed-loop MIMO operation. A client station (e.g., mobile station) or base station uses, for example, a capacity criterion to decide the best rank for transmission based on channel, SINR, and other considerations. In case of rank-1 transmission, the strongest singular vector is used. In case of rank-2 transmission, the precoder is calculated based on unified channel decomposition. In order to calculate the unified channel decomposition, information on the right singular vectors and singular values of the channel is required. This is best facilitated in frequency division duplexing by the client station feeding back the channel covariance matrix or analog feedback of the channel. Alternatively, the ratio of the two singular vectors and the singular values may also be sent as feedback. Also, the feedback can be facilitated by using the codebook and feeding back one extra value representing the ratio of singular values for rank-2.
Fig. 4 depicts a plot of simulation results showing a comparison of rank-2 transmission between the uniform channel decomposition method and conventional singular value decomposition in 2 x 2 and 2 x 4 configurations using GSM TU channels, where one precoder per 9 subcarriers (bin) is used and 6 bits per second per hertz is the combined two stream spectral efficiency. Fig. 4 depicts the gain of the unified channel decomposition approach.
In some implementations, process 300 is stored as program code at memory 335. The subject matter described herein may be implemented in systems, devices, methods, and/or articles of manufacture depending on a desired configuration. Base station 110A (or one or more components therein) may be implemented using one or more of the following: a processor executing program code, an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), an embedded processor, a Field Programmable Gate Array (FPGA), and/or combinations thereof. Client station 114B (or one or more components therein) may be implemented using one or more of the following: a processor executing program code, an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), an embedded processor, a Field Programmable Gate Array (FPGA), and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device. These computer programs (also known as programs, software applications, components, program code, or code) include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the term "machine-readable medium" refers to any computer program product, computer-readable medium, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. Similarly, systems are also described that may include a processor and a memory coupled to the processor. The memory may include one or more programs that cause the processor to perform one or more of the operations described herein.
Although some variations have been described in detail above, other modifications or additions are possible. In particular, further features and/or variations may be provided in addition to those set forth herein. For example, the above closed form singular value decomposition may be used in other applications, such as at a base station, to determine singular vectors for probes transmitted from a client station to the base station. Furthermore, the implementations described above may be designed with various combinations and subcombinations of the disclosed features, and/or combinations and subcombinations of several further features disclosed above. Additionally, the logic diagrams depicted in the figures and/or described herein do not require the particular order shown, or sequential order, to achieve desirable results. Other implementations may be within the scope of the claims.