Abstract:
Multiple antennas employed at the transmitter and receiver can significantly increase a MIMO system capacity, especially when channel knowledge is available at the transmitter. Channel state information may be provided to the transmitter by the receiver in a codebook based precoding feedback. An approach is proposed in which the receiver conducts a search of precoder elements of a codebook to provide the transmitter with rank information and precoder control index that enhances capacity. Unlike the conventional exhaustive search, the proposed approach reduces complexity by reducing the search space of precoder elements for consideration. Performance loss is minimized by reducing the search space of higher rank precoder elements and keeping the search space of lower rank precoder elements.

Description:
TECHNICAL FIELD 
     The technical field of the present disclosure generally relates to a receiver in a wireless communication system providing feedback to a transmitter. In particular, the technical field relates to methods, apparatuses, and/or systems for using a with reduced codebook in a multi-antenna wireless communication system to find channel state information. The reduced codebook allows the receiver&#39;s complexity to be reduced when providing feedback to a transmitter. 
     BACKGROUND 
     Multiple antennas employed at the transmitter and receiver can significantly increase the system capacity. By transmitting independent symbol streams in the same frequency bandwidth, usually referred to as spatial multiplexing (SM), achieves a linear increase in data rates with the increased number of antennas. On the other hand, by using space-time codes at the transmitter, reliability of the detected symbols can be improved by exploiting transmit diversity. Both schemes assume no channel knowledge at the transmitter. 
     However, in a practical wireless systems such as the 3GPP (3rd Generation Partnership Project) LTE (Long Term evolution), HSDPA (High Speed Downlink Packet Access) and WiMAX (Worldwide Interoprability for Microwave Access) systems, the channel knowledge can be made available at the transmitter via feedback from the receiver to the transmitter. A MIMO (Multiple Input Multiple Output) transmitter can utilize this channel information to improve the system performance with the aid of precoding. In addition to beam forming gain, the use of precoding avoids the problem of ill-conditioned channel matrix. 
     In practice, complete CSI (channel state information) may be available for a communication system using TDD (time division duplex) scheme by exploiting channel reciprocity. However, for a FDD (frequency division duplex) system, complete CSI is more difficult to obtain. In a FDD system, some kind of CSI knowledge may be available at the transmitter via feedback from the receiver. These systems are called limited feedback systems. There are many implementations of limited feedback systems such as codebook based feedback and quantized channel feedback. 3GPP LTE, HSDPA and WiMAX recommend codebook based feedback CSI for precoding. 
     In a codebook based precoding, predefined codebook is defined both at transmitter and receiver. The entries of codebook can be constructed using different methods such as Grassmannian, Lyod algorithm, DFT matrix etc. The precoder matrix is often chosen to match the characteristics of the N R ×N T  MIMO channel matrix H (N R  being the number of receive antennas and N T  being the number of transmit antennas), resulting in a so called channel dependent precoding. This is also commonly referred to as closed-loop precoding and essentially strives for focusing the transmit energy into a signal subspace which is strong in the sense of conveying much of the transmitted energy to the UE (user equipment). The signal subspace in this context is a subspace of a signal space that is defined in any number of dimensions including space, time, frequency, code, etc.) 
     In addition, the precoder matrix may also be selected to strive for orthogonalizing the channel, meaning that after proper linear equalization at the UE, the inter-layer interference is reduced. At the receiver, it is common to find SINR (signal-to-interference-plus-noise ratio) with different codebook entries and choose the rank/precoding index which gives the highest spectral efficiency (also referred to as channel capacity). In this context, rank indicates the number of data streams that can be simultaneously transmitted from a transmitter to a receiver. 
     The performance of a closed-sloop MIMO system generally improves with the cardinality (size) of the codebook set. At the receiver, RI (rank information) and PCI (precoding control index) are sent back to the transmitter every TTI (transmission time interval) or multiples of TTI (for example 5 in LTE, ⅓ in HSDPA). In general, finding the rank information and precoding control index is cumbersome and involves many computations. The complexity is huge in case of a closed-sloop MIMO when the codebook is large. For example, HSDPA/LTE defines a codebook for a 4-Tx antennas system with 64 codewords (16 codewords per rank). As the number of antennas increase, the complexity can increase exponentially. This makes it difficult to implement conventional methods of providing feedback to improve performance. 
     SUMMARY 
     A non-limiting aspect of the disclosed subject matter is directed to a method performed by a receiver to provide channel state information as feedback to a transmitter in a multi-antenna wireless communication system. The method may comprise estimating a channel between the transmitter and the receiver and determining a precoder subset. The precoder subset may comprise one or more precoder elements, each of which may be a precoder element of a codebook defined for a plurality of ranks. For each rank, the codebook may comprise a plurality of precoder elements corresponding to that rank. The precoder subset may include less than all precoder elements of the codebook. The method may also comprise determining a capacity corresponding to each precoder element in the precoder subset. The method may further comprise determining the channel state information associated with the precoder element whose corresponding capacity is maximum among the capacities corresponding to the precoder elements of the precoder subset. The method may yet further comprise and providing the channel state information to the transmitter as the feedback. The channel state information may include rank information and precoding control index. 
     Another non-limiting aspect of the disclosed subject matter is directed to a computer-readable medium which includes therein programming instructions. When a computer executes the programming instructions, the computer executes the method performed in a receiver to provide channel state information as feedback to a transmitter in a multi-antenna wireless communication system as described above. 
     Another non-limiting aspect of the disclosed subject matter is directed to a receiver of a multi-antenna wireless communication system in which the receiver may be structured to provide channel state information as feedback to a transmitter. The receiver may comprise a channel estimator, a precoder subset determiner, a capacity determiner, a channel state determiner, and a feedback provider. The channel estimator may be structured to estimate a channel between the transmitter and the receiver. The precoder subset determiner may be structured to determine a precoder subset which may comprise one or more precoder elements, each of which may be a precoder element of a codebook defined for a plurality of ranks. For each rank, the codebook may comprise a plurality of precoder elements corresponding to that rank. The precoder subset may include less than all precoder elements of the codebook. The capacity determiner may be structured to determine, for each precoder element in the precoder subset, a capacity corresponding to that precoder element based on the channel estimation. The channel state determiner may be structured to determine the channel state information associated with the precoder element whose corresponding capacity is maximum among the capacities corresponding to the precoder elements of the precoder subset. The feedback provider may be structured to provide the channel state information to the transmitter as the feedback. The channel state information may include rank information and precoding control index. 
     Another non-limiting aspect of the disclosed subject matter is directed to a method performed by a transmitter to provide a procoder subset to a receiver in a multi-antenna wireless communication system. The method may comprise determining a precoder subset which may comprise one or more precoder elements, each of which may be a precoder element of a codebook defined for a plurality of ranks. For each rank, the codebook may comprise a plurality of precoder elements corresponding to that rank. The precoder subset may include less than all precoder elements of the codebook. The method may also comprise providing the precoder subset to the receiver. 
     Another non-limiting aspect of the disclosed subject matter is directed to a computer-readable medium which includes therein programming instructions. When a computer executes the programming instructions, the computer executes the method performed in a transmitter to provide the precoder subset to a receiver in a multi-antenna wireless communication system as described above. 
     Another non-limiting aspect of the disclosed subject matter is directed to a transmitter of a multi-antenna wireless communication system in which the transmitter may be structured to provide precoder subset to a receiver. The transmitter may comprise a precoder subset provider structured to determine a precoder subset which may comprise one or more precoder elements, each of which may be a precoder element of a codebook defined for a plurality of ranks. For each rank, the codebook may comprise a plurality of precoder elements corresponding to that rank. The precoder subset may include less than all precoder elements of the codebook. The capacity determiner may be structured to determine, for each precoder element in the precoder subset, a capacity corresponding to that precoder element based on the channel estimation. The precoder subset provider may also be structured to provide the precoder subset to the receiver. 
    
    
     
       DESCRIPTION OF THE DRAWINGS 
       The foregoing and other objects, features, and advantages of the disclosed subject matter will be apparent from the following more particular description of preferred embodiments as illustrated in the accompanying drawings in which reference characters refer to the same parts throughout the various views. The drawings are not necessarily to scale. 
         FIG. 1  illustrates an example of messages exchanged between a transmitter and a receiver during a typical call set up; 
         FIG. 2  pictorially illustrates a conventional algorithm for finding rank information and precoding control index for a four branch MIMO system; 
         FIG. 3  graphically illustrates an example of average user throughput vs. average cell throughput for various number of precoder elements in rank 3 only transmissions; 
         FIG. 4  graphically illustrates an example of average user throughput vs. average cell throughput for various number of precoder elements in rank 4 only transmissions; 
         FIG. 5  pictorially illustrates an example of a proposed algorithm for finding rank information and precoding control index for an example MIMO system; 
         FIG. 6  illustrates an embodiment of a receiver of a wireless network structured to provide channel state information to a transmitter; 
         FIG. 7  illustrates another embodiment of a receiver of a wireless network structured to provide channel state information to a transmitter; 
         FIG. 8  illustrates a flow chart of an example method performed by a receiver to provide channel state information to a transmitter; 
         FIG. 9  illustrates a flow chart of an example process performed by a receiver to determine a precoder subset; 
         FIG. 10  illustrates a flow chart of an example process performed by a receiver to determine capacities of precoder elements; 
         FIG. 11  illustrates an example process performed by a receiver to determine a channel state and provide feedback to a transmitter; 
         FIG. 12  illustrates an embodiment of a transmitter of a wireless network structured to provide a precoder subset to a receiver; 
         FIG. 13  illustrates another embodiment of a transmitter of a wireless network structured to provide a precoder subset to a receiver; 
         FIG. 14  illustrates a flow chart of an example method performed by a transmitter to provide a precoder subset to a receiver; and 
         FIG. 15  illustrates a flow chart of an example process performed by a transmitter to determine a precoder subset. 
     
    
    
     DETAILED DESCRIPTION 
     For purposes of explanation and not limitation, specific details are set forth such as particular architectures, interfaces, techniques, and so on. However, it will be apparent to those skilled in the art that the technology described herein may be practiced in other embodiments that depart from these specific details. That is, those skilled in the art will be able to devise various arrangements which, although not explicitly described or shown herein, embody the principles of the described technology. 
     In some instances, detailed descriptions of well-known devices, circuits, and methods are omitted so as not to obscure the description with unnecessary details. All statements herein reciting principles, aspects, embodiments and examples are intended to encompass both structural and functional equivalents. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future, i.e., any elements developed that perform same function, regardless of structure. 
     Thus, for example, it will be appreciated that block diagrams herein can represent conceptual views of illustrative circuitry embodying principles of the technology. Similarly, it will be appreciated that any flow charts, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable medium and executed by a computer or processor, whether or not such computer or processor is explicitly shown. 
     Functions of various elements including functional blocks labeled or described as “processors” or “controllers” may be provided through dedicated hardware as well as hardware capable of executing associated software. When provided by a processor, functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared or distributed. Moreover, explicit use of term “processor” or “controller” should not be construed to refer exclusively to hardware capable of executing software, and may include, without limitation, digital signal processor (shortened to “DSP”) hardware, read only memory (shortened to “ROM”) for storing software, random access memory (shortened to RAM), and non-volatile storage. 
     In this document, 3GPP terminologies—e.g., HSDPA, WCDMA, LTE, LTE-A—are used as examples for explanation purposes. Note that the technology described herein can be applied to non-3GPP standards, e.g., WiMAX, UMB, GSM, cdma2000, 1xEVDO, Wireless LAN, WiFi, etc. Thus, the scope of this disclosure is not limited to the set of 3GPP wireless network systems and can encompass many domains of wireless communication systems. Also, a wireless terminal (e.g., UE, laptop, PDA, smart phone, mobile terminal, etc.) will be used as an example of a receiver in which the described method can be performed. That is, the descriptions generally will focus on the downlink transmissions. However, the subject matter is equally applicable to uplink transmissions. That is, the disclosed subject matter is applicable to any node of the network including base stations (e.g., RBS, NodeB, eNodeB, eNB, etc.) and relay stations that receive wireless signals. 
     As indicated above, finding the rank information and precoding index is cumbersome and involves many computations. For a closed-loop MIMO system, the complexity can be daunting when the codebook is large. For example, HSDPA/LTE defines a codebook for a 4-antennas system with 64 codewords (16 codewords per rank). In this description, the size of the codebook will be referred to by the number of codewords in the codebook. Thus, the size of the HSDPA/LTE codebook for the four branch MIMO system is 64. 
     In an aspect of the disclosed subject matter, an approach to reduce the computational complexity at the receiver is proposed. In this aspect, the proposed approach avoids full space search and uses a subset of the codebook for finding the channel state information such as rank information, precoding control index, channel quality indicator, and so on. Simulation results show that performance degradation with the proposed approach is very small relative to that achieved by the full space search. Also, the complexity can be greatly reduced. 
     Ideal linear precoding requires full CSI at the transmitter. This may be possible for TDD based systems, but is not practical for FDD based systems. Codebook based precoding allows the receiver to explicitly identify a precoding matrix/vector based on a codebook that should be used for transmission. 
     In 3GPP&#39;s HSDPA/LTE standard, separate codebooks are defined for various combinations of the number of transmit antennas and the number of transmission layers. The latter is also referred to as rank information (RI). As indicated above for example, for a four branch MIMO system, a total 64 precoding vectors and matrices are defined. Also for each rank in the codebook for the scenarios of RI=1, 2, 3, 4, sixteen (16) precoder elements per rank are defined. The 3GPP standard does not specify what criteria the UE should use to compute the RI and/or the optimum precoding matrices/vectors. 
       FIG. 1  illustrates an example of messages exchanged between two nodes—a transmitter  110  and a receiver  120 —of a multi-antenna wireless communication system  100 . In the downlink, the transmitter  110  may be a base station (e.g., Node B) and the receiver  120  may be a wireless terminal (e.g., a UE). In this example, the messages exchanged between a Node B and a UE during a typical call set up are illustrated. From signals transmitted by the Node B on a common pilot channel (CPICH), the UE estimates the channel and computes the channel quality information and precoding channel indicator. The UE reports this information along with hybrid ARQ ACK/NAK to the Node B as feedback on a feedback channel (e.g., HS-DPCCH). The periodicity of HS-DPCCH is typically one subframe (2 msec). For example, once the UE decides about the RI and the corresponding PCI, the information is sent to Node B via the feedback channel. 
     Upon receiving the feedback information, the Node B decides the rank, modulation, transport block size, and the PCI for the data traffic. This information is conveyed through a downlink control channel (e.g., HS-SCCH). After transmitting the control information to the UE, the Node B then transmits the downlink data to the UE on a data traffic channel (e.g., HS-PDSCH). 
     As indicated above, the Node B is the data transmitter and the UE is the data receiver in the downlink. Note that in the uplink, the roles are reversed. That is, the Node B is the receiver and the UE is the transmitter. It should be noted that some or all aspects of the described subject matter are equally applicable in the uplink. 
       FIG. 2  pictorially illustrates a conventional algorithm for finding RI and PCI for a four branch MIMO system. In the conventional approach, the precoding codebook (or simply codebook) contains a total of 64 precoder elements (16 elements for each rank). The received SNR at the output of the MIMO detector (MMSE, MLD etc.) is a function of the channel matrix H, the precoding matrix, the noise power spectral density and the co-channel interference power. The conventional algorithm for finding the RI and PCI consists of the following steps performed by the receiver, e.g., by the UE in the downlink:
         Compute channel coefficients by estimating the channel based on the signals on the common pilot channel;   Compute capacity of each codebook element for all elements in the codebook;   Find the PCI and the RI corresponding to the codebook element that maximizes the capacity.       

     Referring to  FIG. 2  specifically, the receiver computes 64 capacities (C1 to C64), one corresponding to each codebook element in the codebook, based on the channel estimation. In other words, an exhaustive search is performed. If the receiver determines that C48 is the highest, then the receiver would provide RI 3 and PCI 48 as feedback to the transmitter. 
     It can be seen that the exhaustive search of the conventional algorithm involves many computations. As the number of antennas increase, the number of codebook elements can increase exponentially. Thus, it may become impossible, or at least impractical, to implement the exhaustive search called for by the conventional algorithm as the MIMO systems become more complex. 
     But in an aspect, an approach is proposed which takes less number of computations to determine the CSI (e.g., RI, PCI, CQI, SINR, etc.) with little to no sacrifice in performance as compared to the conventional exhaustive approach. In general, the computation reduction is achieved by the proposed approach through computing the capacities of only a subset of the codebook elements, i.e., less than all codebook elements are considered. But reducing the search space implies that some precoder elements will not be considered. Thus, it is possible that the best precoder element will not be included in the precoder subset, meaning that performance can degrade with the reduced search space relative to the conventional exhaustive search. However, by intelligently choosing the codebook elements to be included in the search space, performance sacrifice can be kept to a minimum, while at the same time reducing complexity. 
     In a MIMO system, the codebook of the system may be defined for a plurality of ranks, and the codebook may include a plurality of precoder elements for each rank. In such a system, the search space can be reduced by reducing the search space of one or more ranks. Within a rank, there are a total of N precoder elements, and n of the precoder elements within the rank may be considered, i.e., that n out of N precoder elements of that rank are selected or otherwise chosen and their corresponding capacities are computed. When n=N for a rank, this equates to performing a rank exhaustive search for that rank. The conventional exhaustive search then can be equated with performing the rank exhaustive search for all ranks in the codebook. 
     But in the proposed approach, the search space is reduced for at least one rank, i.e., n&lt;N meaning that less than all precoder elements of that rank are considered. By reducing the search space of considered precoder elements for one or more ranks, the search space as a whole can be reduced relative to the conventional exhaustive search. For ease of expression, the search space of the proposed approach is reflected in a precoder subset. The precoder subset can include one or more precoder elements, each of which is a precoder element of the codebook. When n&lt;N for at least one rank, then the precoder subset includes less than all elements of the codebook. In the proposed approach, the precoder subset can be determined, the capacities corresponding to the precoder elements in the precoder subset can be determined, and the channel state information of the precoder element with best capacity among the precoder elements of the precoder subset can be used to decide on the transmission parameters for data traffic at the transmitter. When the search space is reduced, the complexity is also desirably reduced since fewer computations are required. 
     Regarding the potential for performance degradation, the inventor of the disclosed subject matter observed that as the rank is increased, the performance loss does not become noticeable until the number of elements is decreased to a greater degree.  FIG. 3  illustrates a graph of a comparison of an average user throughput vs. an average cell throughput for various number of precoder elements for rank 3 (RI=3) only transmissions for a four branch MIMO system. The number of precoder elements n considered and graphed are n=1, 2, 4, 8, 16. In this figure, when n&lt;N=16, the n precoder elements were chosen at random. As seen, when the search space is halved to n=8, the performance loss is about 2% relative to the rank exhaustive search n=N=16. This indicates that for rank 3 communications, the search space can be reduced by a factor of two without a significant performance loss. 
       FIG. 4  is similar to  FIG. 3  except that the comparisons are graphed for rank 4 (RI=4) only transmissions. As seen, the performance lines representing n=8 and n=4 (again precoder elements being randomly chosen) more or less coincide with the performance line representing the rank exhaustive search n=N=16. Also as seen, even when n=2, i.e., when only two randomly chosen elements are considered, the performance loss is still less than 2%. This indicates that for rank 4 communications, the search space can be reduced by a factor of four with substantially no loss in performance, and can be reduced by a factor of eight if a performance loss of 2% can be tolerated. 
     One would expect that within any particular rank, the best performance is achieved when the rank exhaustive search is performed, i.e., when n=N. But when only a subset of the precoder elements are considered, i.e., when n&lt;N, there is a chance that the precoder element with the actual best capacity within that rank may not be chosen. Thus, on average, one would also expect that the throughput performance when n&lt;N will be below that of the exhaustive search, and that the throughput loss will increase as n decreases.  FIGS. 3 and 4  both confirm these expectations. 
       FIGS. 3 and 4  also confirm the observation the inventor of the disclosed subject matter has made—that for higher ranks, performance loss does not become noticeable until the number of elements is decreased to a greater degree. For example, if a performance degradation of 2% can be tolerated, then the search space for rank 4 transmissions can be reduced by a factor of eight (n=2), but should not be reduced by more than a factor of two (n=8) for rank 3. This indicates that the size of the search space can inversely correspond with the rank. 
     Note that the reduction in search space, and hence reduction in complexity, can depend on the tolerance for performance loss. For example, if the potential performance loss greater than 2% can be tolerated, then the search space could perhaps be reduced by a factor of sixteen (n=1) for rank 4 communications and by a factor of four (n=4) for rank 3. 
     For lower rank transmissions, e.g., rank 2 (or even for rank 1), it is possible to reduce the search space, i.e., consider less than all codebook elements n&lt;N. However, the tradeoff of reducing the computational complexity by reducing the search space at the cost of potential performance loss may not be worthwhile. So for lower ranks, e.g., for ranks at or below a rank threshold, it may be desirable that the search space includes all precoder elements, e.g., include all precoder elements of the lower ranks in the precoder subset. But again, this is not a strict limitation. 
       FIG. 5  pictorially illustrates an example of a proposed algorithm for finding rank information and precoding control index for a four branch MIMO system. In this figure, it is assumed that an average of 2% throughput loss is acceptable. Recall that the total search space of the conventional exhaustive search is size 64 (n=16 for each of ranks 1, 2, 3 and 4). See  FIG. 2 . But in this example in which the proposed approach is applied, the search space is reduced to size 42 (n=16 for rank 1, n=16 for rank 2, n=8 for rank 3, n=2 for rank 4). See  FIG. 5 . Then the RI, PCI, CQI, etc. corresponding to the best capacity among the 42 computed capacities are provided as feedback information. 
     In this particular example, the overall reduction factor is 64:42, i.e., the complexity is reduced by a factor of roughly 3:2. However, as the number of antennas increase (e.g., to 8, 16, or more), the reduction in the search space could become more and more significant. 
       FIG. 5  shows that capacities C33-C40 are computed for rank 3, and capacities C49 and C50 are computed for rank 4. However, this is merely one possibility. Any eight among the capacities C33-C48 may be computed for rank 3, and any two among the capacities C49-C64 may be computed for rank 4. The corresponding precoder elements may be selected at random at the receiver  120 , may be internally defined within the receiver  120 , and/or the transmitter  110  may specify the precoder elements for consideration to the receiver  120 . 
       FIG. 6  illustrates an embodiment of a receiver  120  of a multi-antenna wireless network  100  that is structured to provide channel state information as feedback to a transmitter  110  in accordance with an example of the proposed approach. As seen, the receiver  120  may include a channel estimator  610 , a precoder subset determiner  620 , a capacity determiner  630 , a channel state determiner  640  and a feedback provider  650 . 
       FIG. 6  provides a logical view of the receiver  120  and the devices included therein. It is not strictly necessary that each device be physically separate from other devices. Some or all devices may be combined in one physical module. Conversely, at least one device may be divided into physically separate modules. 
     Also, the devices of the receiver  120  need not be implemented strictly in hardware. It is envisioned that the devices can be implemented through any combination of hardware and software. For example, as illustrated in  FIG. 7 , the receiver  120  may include one or more processors  710 , one or more storage  720 , and one or both of a wireless interface  730  and a network interface  740 . The processor  710  may be structured to execute program instructions to perform the operations of one or more of the receiver devices. The instructions may be stored in a non-transitory storage medium or in firmware (e.g., ROM, RAM, Flash). Note that the program instructions may also be received through wired and/or or wireless transitory medium via one or both of the wireless and network interfaces  730 ,  740 . The wireless interface  730  (e.g., a transceiver) may be structured to receive signals from and send signals to other radio network nodes via one or more antennas  735 , which may be internal or external. The network interface  740  may be included and structured to communicate with other radio and/or core network nodes. 
       FIG. 8  illustrates a flow chart of an example method  800  performed by the receiver  120  to provide channel state information as feedback to the transmitter  110  in accordance with the proposed approach. In step  810 , the channel estimator  610  may estimate the channel between the transmitter  110  and the receiver  120 . For example, the transmitter  110  may transmit pilot symbols on a pilot channel such as CPICH which are received via the wireless interface  730  at the receiver  120 . From these symbols, the channel estimator  610  may estimate the channel, and may also compute the channel coefficients. 
     In step  820 , the precoder subset determiner  620  may determine the precoder subset. In this step, the precoder subset determiner  620  may select or otherwise choose which of the precoder elements of the codebook are included in the precoder subset. Note that not all precoder elements of the codebook are included in the subset, i.e., the search space should be reduced relative to that of the conventional exhaustive search. Thus, the precoder subset includes one or more precoder elements of the codebook, but less than all precoder elements of the codebook. 
     The precoder subset determiner  620  may determine the precoder subset in various ways.  FIG. 9  illustrates a flow chart of an example process to implement step  820 . In this example process, a similar procedure may be iterated through each of the plurality of ranks. The process may start at step  910  where the precoder subset determiner  620  initializes the rank to a start rank. For example, in the four branch MIMO system, the precoder subset determiner  620  may start at rank 1 (RI=1). 
     For each rank, in step  920 , the precoder subset determiner  620  may determine whether or not the rank is at or above a rank threshold. In one aspect, the rank threshold may be internally defined within the receiver  120 . Optionally, the precoder subset determiner  620  may receive the rank threshold from the transmitter  110  in step  905 . When received, the received rank threshold may override any internally defined rank threshold and/or any previously received rank threshold. 
     If the rank is determined to be at or below the rank threshold, then in step  930 , the precoder subset determiner  620  may include all precoder elements of that rank of the codebook in the precoder subset. For example, assume that for the four branch MIMO system, the rank threshold (internally defined or externally received) is set to 2. Then in step  930 , the precoder subset determiner  620  may include all 16 precoder elements associated with rank 1 in the precoder subset. Similarly, all 16 precoder elements associated with rank 2 may be included. 
     However, if the rank is determined to be above the rank threshold, then in step  940 , the precoder subset determiner  620  may include some precoder elements of that rank of the codebook in the precoder subset. However, not all precoder elements of that rank will be included. For example, again assume that the rank threshold is set to 2 for the four branch MIMO system. Then in step  940 , the precoder subset determiner  620  may include any 8 of 16 precoder elements associated with rank 3 in the precoder subset, and may include any 2 of 16 precoder elements associated with rank 4. While not strictly required, for each rank above the rank threshold, it is preferred that at least one precoder elements of that rank be included in the precoder subset. 
     Note that for a given rank above the rank threshold, the precoder elements of that rank to be included in the precoder subset may be fixed, i.e., determined beforehand. For example, a list specifying the precoder elements of that rank to be included may be internally defined within the receiver  120 . Alternatively, the list may be received from the transmitter  110 . When received, the received list may override any internally defined list and/or any previously received list. 
     When the fixed list is specified, the precoder subset determiner  620  may choose the listed precoder elements of that rank to be included in the precoder subset in accordance with the fixed list in step  940 . For example, for the four branch MIMO system, the list (defined internally and/or received from the transmitter  110 ) may indicate that precoder elements associated with PCI33-PCI40 for rank 3 and precoder elements associated with PCI49 and PCI50 for rank 4 are to be included in the precoder subset. Preferably, the number of the precoder elements of the rank included in the precoder subset is less than the total number of precoder elements of that rank. 
     But in another aspect, the precoder elements of the given rank need not be determined beforehand. In this instance, the precoder subset determiner  620  may randomly choose a number of precoder elements of that rank to be included in the precoder subset in step  940 . 
     Of course, a combination is possible. That is, some of the precoder elements of the given rank may be fixed and some may be randomly chosen. For example, for rank 4, the precoder element associated with PCI49 may be fixed and the second precoder element may be randomly chosen. 
     Although some or all of the precoder elements themselves may be randomly chosen, the number of the precoder elements of the given rank included in the precoder subset may be fixed. That is, for each rank above the threshold, the number of precoder elements to be included may be defined internally and/or received from the transmitter  110 . If the number is received from the transmitter  110 , the received number may override the internally defined number and/or any previously received number. The number should be less than the total number of precoder elements in the codebook, i.e., n&lt;N for each rank above the rank threshold. In some instances, the number could even be zero. 
     Note that all ranks above the rank threshold need not be commonly treated. That is, for one rank, there may be fixed list. But for another rank, the precoder elements may be chosen at random. For another rank still, some may be fixed and the rest may be chosen at random. 
     In an aspect, the precoder subset may include precoder elements of at least two ranks—first and second ranks—both of which are above the rank threshold and in which the first rank is lower than the second rank. When this occurs, the number of first rank precoder elements in the precoder subset may be greater than the number of second rank precoder elements. This reflects an application of the observation that as the rank increases, similar performance loss does not become noticeable until the number of elements is decreased to a greater degree. Thus, lesser number of precoder elements can be considered for higher ranks. For example, recall that for rank 3 transmission in the example four branch MIMO system, a performance loss of about 2% was noticed when the number of elements was halved to n=8 (see  FIG. 3 ). But for rank 4 transmissions, the number of elements was reduced to n=2 before a similar 2% performance loss was noticed (see  FIG. 4 ). 
     The first and second ranks need not always be consecutive. Also, note that the number of first rank precoder elements need not always be greater than the number of second rank precoder elements, i.e., they may be equal. Then more generally, it can be said that the number of first rank precoder elements may be equal to or greater than the number of second rank precoder elements. 
       FIG. 9  illustrates a scenario in which the receiver  120  performs the bulk of the legwork to determine the precoder subset. While not illustrated, the transmitter  110  itself may specify the precoder elements of each rank to be included in the precoder subset, regardless of whether or not the rank is above, at, or below the rank threshold. For example, the transmitter  110  may not have the capacity to transmit with certain RI/PCI combination. In this case, there is no need for the receiver  120  to even consider the associated precoder element. Thus, in another aspect, the precoder subset determiner  620  may simply receive the precoder subset from the transmitter  110  in step  940 . Alternatively, the precoder subset determiner  620  may receive one or more criteria for inclusion (e.g., the transmitter  110  may specify that precoder elements associated with 16QAM modulation be considered) or exclusion (e.g., the transmitter  110  may specify that it cannot handle certain combinations of PCI and RI) or both. 
     Of course, variations and combinations are contemplated to be within the scope of this disclosure. For example, the precoder subset determiner  620  may receive a list of precoder elements to be excluded (or criteria for exclusion) from the precoder subset. Then the method  900  illustrated in  FIG. 9  may be performed for the remaining precoder elements of the codebook. 
     Referring back to  FIG. 8 , after the precoder subset has been determined, the capacity corresponding each precoder element for all precoder elements in the precoder subset may be determined in step  830 .  FIG. 10  illustrates a flow chart of an example process that may be performed to implement step  830 . In step  1010 , the capacity determiner  630  may determine the SNRs associated with each precoder element in the precoder subset. The SNRs associated each precoder element may be determined based on the channel estimations made by the channel estimator  610 . Note that SNR should be viewed in a general sense to include other expressions that conceptualizes the presence of desirable and undesirable signals such as SIR and SINR. 
     In step  1020 , the capacity determiner  630  may determine the capacity corresponding to each precoder element based on the associated SNR. For example, the capacity C may be computed using the formula C=B log 2  (1+SNR) for each precoder element. 
     Again referring back to  FIG. 8 , after the capacities of the corresponding precoder elements in the subset are determined, then in step  840 , the channel state determiner  640  may determine the channel state information associated with the precoder element whose corresponding capacity is maximum among the determined capacities of the precoder subset. The feedback provider  650  in step  850  may provide the channel state information to the transmitter  110 . 
     A flow chart of an example process to implement the steps  840  and  850  is illustrated  FIG. 11 . In step  1110 , the channel state determiner  640  may determine the CSI of the precoder element with the maximum capacity. The CSI may include rank information (RI) and precoder control index (PCI). The CSI may also include channel quality information (CQI). In step  1120 , the feedback provider  650  may provide the RI and PCI, among other information, to the transmitter  110 . 
     Note that maximizing the capacity is not the only selection criteria. Instead of or in addition to capacity, throughputs, spectral efficiency, sum capacity of the precoder elements may be determined, maximized, and reported as feedback in steps  830 ,  840 , and  850 . 
     Recall from above that the transmitter  110  may provide the precoder subset to the receiver  120 .  FIG. 12  illustrates an embodiment of a transmitter  110  of a multi-antenna wireless network  100  that is structured to provide the precoder subset. As seen, the transmitter  110  may a precoder subset provider  1220 . Optionally, the transmitter  110  may also include one or both of a rank threshold provider  1210  and a precoder criteria provider.  FIG. 12  provides a logical view of the transmitter  110  and the devices included therein. It is not strictly necessary that each device be physically separate from other devices. Some or all devices may be combined in one physical module. Conversely, at least one device may be divided into physically separate modules. 
     Also, the devices of the transmitter  110  need not be implemented strictly in hardware. It is envisioned that the devices can be implemented through any combination of hardware and software. For example, as illustrated in  FIG. 13 , the transmitter  110  may include one or more processors  1310 , one or more storage  1320 , and one or both of a wireless interface  1330  and a network interface  1340 . The processor  1310  may be structured to execute program instructions to perform the operations of one or more of the receiver devices. The instructions may be stored in a non-transitory storage medium or in firmware (e.g., ROM, RAM, Flash). Note that the program instructions may also be received through wired and/or or wireless transitory medium via one or both of the wireless and network interfaces  1330 ,  1340 . The wireless interface  1330  may be structured to receive signals from and send signals to other radio network nodes via one or more antennas  1335 , which may be internal or external. The network interface  1340  may be included and structured to communicate with other radio and/or core network nodes. 
       FIG. 14  illustrates a flow chart of an example method  1400  performed by the transmitter  110  to provide the precoder subset to the receiver  120 . In step  1410 , the precoder subset provider  1220  may determine the precoder subset. In this step, the precoder subset provider  1220  may select or otherwise choose which of the precoder elements of the codebook are included in the precoder subset. Thus, the precoder subset includes one or more precoder elements of the codebook, but less than all precoder elements of the codebook. A flow chart of an example process to implement step  1410  is illustrated in  FIG. 15 . As seen, the precoder subset provider  1220  may iterate through steps  1510 - 1560  for each of the plurality of ranks to determine the precoder subset. These steps are similar to the steps  910 - 960  illustrated in  FIG. 9 . Thus, the detailed descriptions of steps  1510 - 1560  will be omitted for simplicity. 
     Although not a strict requirement, for each rank above the rank threshold, it is preferred that at least one precoder elements of that rank be included in the precoder subset. The precoder elements of that rank to be included in the precoder subset may be fixed, may be randomly chosen, or may be chosen based on some criteria such as system load, receiver location, statistics (e.g., previous experience indicating that certain precoder elements provide better performance), and so on. Of course, any combination of these is possible (some fixed, others chosen randomly and based on criteria). 
     Referring back to  FIG. 14 , the method  1400  also includes step  1420  in which the precoder subset provider  1220  wirelessly provides the precoder subset to the receiver  120 . In this step, it is intended that the phrase “provide” be interpreted broadly as providing any information that is sufficient to allow the receiver  120  to determine the composition of the precoder subset. For example, in one embodiment, the information may comprise indices of the precoder elements that are included in the precoder subset. In another embodiment, the information may be comprise indices of those precoder elements that are excluded from consideration, which is advantageous when the number of excluded elements is small and the number of included elements is large. In yet another embodiment, the information may be in a form of a bitwise mask in which each bit position of the mask corresponds to a particular precoder element of the codebook, and the bit value indicates whether or not the corresponding precoder element is included in the precoder subset. These are simply some examples of the ways in which the precoder subset can be communicated, and are not meant to be exhaustive. 
     While not illustrated, when the precoder subset is determined by the receiver  120  (e.g., by performing the steps of  FIG. 9 ), the rank threshold provider  1210  may provide the rank threshold to the receiver  120 . Alternatively or in addition, the precoder criteria provider  1230  may provide one or more criteria for inclusion and/or exclusion to the receiver  120 . 
     There are many advantages associated with one or more aspects of the disclosed subject matter. A non-exhaustive list of advantages include:
         Simple to implement;   Easily extended to greater number of antennas (e.g., eight) with large codebook sizes (the advantages become greater);   Does not require any standards change.       

     Although the description above contains many specificities, these should not be construed as limiting the scope of the disclosed subject matter but as merely providing illustrations of some of the presently preferred embodiments. Therefore, it will be appreciated that the scope of the disclosed subject matter fully encompasses other embodiments, and that the scope is accordingly not to be limited. All structural, and functional equivalents to the elements of the above-described preferred embodiment that are known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed hereby. Moreover, it is not necessary for a device or method to address each and every problem described herein or sought to be solved by the present technology, for it to be encompassed hereby.