A method for generating precoders for joint transmission, JT, in a downlink coordinated multi-point transmission/reception, DL CoMP, wireless communications system, the system including a plurality of transmission points, TPs, operable to communicate with a plurality of user equipments, UEs, wherein each UE has one of the TPs as its serving TP, and the method comprises: transmitting channel state information, CSI, from each UE to its serving TP, wherein the transmitted CSI includes precoder matrix indicators, PMI, and using the PMI to generate precoders for transmission of data from the plurality of TPs to the plurality of UEs; wherein using the PMI to generate precoders involves using the PMI to find a representative matrix, Ĥ in, representing a channel matrix, H in, between an n -th TP and an i -th UE; wherein a fixed codebook, Ω RI, of representative matrices is generated from PMI codebook(s), wherein the CSI transmitted from each UE to its serving TP includes a rank indicator, RI, and wherein Ω RI is different for different RIs; wherein, if an RI for the i -th UE, RI i, is equal to a number of receive antennas of the UE, N RX, then Ω RI contains matrices Ĥ ( m), m≥1, of size N RX × τ n, wherein τ n is a number of transmit antennas at the n -th TP; wherein, if RI i is less than N RX then Ω RI contains vectors ĥ ( m), m≥1, of size τ n × 1; and wherein, for RI i = N RX, the representative matrix Ĥ in is found by: H ^ in = H ^ m * ∈ Ω RI, i = 1,..., N UE, n = 1,..., N TP with m * = arg max tr H ^ m W in H H ^ m W in, H ^ m ∈ Ω RI wherein N TP and N UE are the number of TPs and UEs, respectively, and W in, having a size τ n × RI i, is a precoder associated with a reported PMI used for precoding data to send from the n-th TP to the i-th UE. transmitting channel state information, CSI, from each UE to its serving TP, wherein the transmitted CSI includes precoder matrix indicators, PMI, and using the PMI to generate precoders for transmission of data from the plurality of TPs to the plurality of UEs; wherein using the PMI to generate precoders involves using the PMI to find a representative matrix, Ĥ in, representing a channel matrix, H in, between an n -th TP and an i -th UE; wherein a fixed codebook, Ω RI, of representative matrices is generated from PMI codebook(s), wherein the CSI transmitted from each UE to its serving TP includes a rank indicator, RI, and wherein Ω RI is different for different RIs; wherein, if an RI for the i -th UE, RI i, is equal to a number of receive antennas of the UE, N RX, then Ω RI contains matrices Ĥ ( m), m≥1, of size N RX × τ n, wherein τ n is a number of transmit antennas at the n -th TP; wherein, if RI i is less than N RX then Ω RI contains vectors ĥ ( m), m≥1, of size τ n × 1; and wherein, for RI i = N RX, the representative matrix Ĥ in is found by: H ^ in = H ^ m * ∈ Ω RI, i = 1,..., N UE, n = 1,..., N TP with m * = arg max tr H ^ m W in H H ^ m W in, H ^ m ∈ Ω RI wherein N TP and N UE are the number of TPs and UEs, respectively, and W in, having a size τ n × RI i, is a precoder associated with a reported PMI used for precoding data to send from the n-th TP to the i-th UE. wherein using the PMI to generate precoders involves using the PMI to find a representative matrix, Ĥ in, representing a channel matrix, H in, between an n -th TP and an i -th UE; wherein a fixed codebook, Ω RI, of representative matrices is generated from PMI codebook(s), wherein the CSI transmitted from each UE to its serving TP includes a rank indicator, RI, and wherein Ω RI is different for different RIs; wherein, if an RI for the i -th UE, RI i, is equal to a number of receive antennas of the UE, N RX, then Ω RI contains matrices Ĥ ( m), m≥1, of size N RX × τ n, wherein τ n is a number of transmit antennas at the n -th TP; wherein, if RI i is less than N RX then Ω RI contains vectors ĥ ( m), m≥1, of size τ n × 1; and wherein, for RI i = N RX, the representative matrix Ĥ in is found by: H ^ in = H ^ m * ∈ Ω RI, i = 1,..., N UE, n = 1,..., N TP with m * = arg max tr H ^ m W in H H ^ m W in, H ^ m ∈ Ω RI wherein N TP and N UE are the number of TPs and UEs, respectively, and W in, having a size τ n × RI i, is a precoder associated with a reported PMI used for precoding data to send from the n-th TP to the i-th UE.