A transmitter, comprising: an antenna array having a plurality of antennas for a wireless communication with one or more receivers; and a precoder connected to the antenna array , the precoder to apply a set of beamforming weights to the antenna array , the set of beamforming weights selected from a codebook to form by the antenna array one or more transmit/receive beams or nulls pointing in selected directions; wherein the codebook includes a plurality of sets of beamforming weights for a plurality of directions, wherein the beamforming weights in the codebook are based on a first antenna array response matrix, the first antenna array response matrix defined by a second antenna array response matrix and one or more transformation matrices, wherein the first antenna array response matrix contains, for a plurality of directions, first array response vectors of the antenna array , the second antenna array response matrix contains, for one or more of the plurality of directions, second array response vectors of the antenna array , the second array response vectors determined using a model of the antenna array , and the one or more transformation matrices describing one or more characteristics of the antenna array , wherein the one or more transformation matrices are based on the second antenna array response matrix and a measured antenna array response matrix containing, for some or all of the plurality of directions, measured array response vectors determined from a measurement of the antenna array , and wherein the codebook is obtained from a first codebook modified using the one or more transformation matrices, the first codebook defined using the second antenna array response matrix. an antenna array having a plurality of antennas for a wireless communication with one or more receivers; and a precoder connected to the antenna array , the precoder to apply a set of beamforming weights to the antenna array , the set of beamforming weights selected from a codebook to form by the antenna array one or more transmit/receive beams or nulls pointing in selected directions; wherein the codebook includes a plurality of sets of beamforming weights for a plurality of directions, wherein the beamforming weights in the codebook are based on a first antenna array response matrix, the first antenna array response matrix defined by a second antenna array response matrix and one or more transformation matrices, wherein the first antenna array response matrix contains, for a plurality of directions, first array response vectors of the antenna array , the second antenna array response matrix contains, for one or more of the plurality of directions, second array response vectors of the antenna array , the second array response vectors determined using a model of the antenna array , and the one or more transformation matrices describing one or more characteristics of the antenna array , wherein the one or more transformation matrices are based on the second antenna array response matrix and a measured antenna array response matrix containing, for some or all of the plurality of directions, measured array response vectors determined from a measurement of the antenna array , and wherein the codebook is obtained from a first codebook modified using the one or more transformation matrices, the first codebook defined using the second antenna array response matrix. <EOS>