1. A method for communication, the method comprising: constructing a codebook comprising a plurality of codebook entries; defining a plurality of subsets of codebook entries from the codebook, with each subset comprising a plurality of codebook entries, each codebook entry comprising a plurality of precoding matrices for respective corresponding transmission ranks; selecting a subset for precoding data in dependence upon a channel condition; selecting a codebook entry from the subset for precoding data; and transmitting, via at least one antenna, a subset index corresponding to the selected subset, and a codebook entry index corresponding to the selected codebook entry within the selected subset.