A method in a user equipment (105, 400) for generating a channel state information, "CSI", report, the method comprising: receiving a set of reference signals transmitted from a base station; identifying a set of beams based on the set of reference signals; transforming the set of reference signals to obtain per-layer vectors of amplitude and phase coefficients of a Discrete Fourier Transform, DFT, -compressed codebook, each amplitude coefficient vector and phase coefficient vector corresponding to a tap in at least one identified beam; wherein transforming the set of reference signals includes performing a Fourier-based transformation comprising at least one of: a DFT and an inverse DFT, wherein transforming the set of reference signals to obtain vectors of amplitude and phase coefficients of a DFT-compressed codebook comprises a phase offset operation prior to the Fourier-based transformation, the phase offset operation based on the phase of a particular beam; wherein a first element of the amplitude coefficient vector corresponding to the particular beam is unity, and wherein the first element of the phase coefficient vector corresponding to the particular beam is zero; calculating just half of the taps for the particular beam, wherein an i-th tap of the particular beam is a complex conjugate of a (number of sub-bands minus i)-th tap, wherein each tap is an inverse Fourier transform of rows of coefficient vectors; and transmitting CSI feedback comprising the calculated taps to the base station, wherein the CSI feedback comprises an indication of one or more elements of the vectors of amplitude coefficient vectors and phase coefficient vectors corresponding to the at least one identified beam, wherein the CSI feedback does not include the first element of the amplitude coefficient vector and the first element of the phase coefficient vector corresponding to the particular beam. receiving a set of reference signals transmitted from a base station; identifying a set of beams based on the set of reference signals; transforming the set of reference signals to obtain per-layer vectors of amplitude and phase coefficients of a Discrete Fourier Transform, DFT, -compressed codebook, each amplitude coefficient vector and phase coefficient vector corresponding to a tap in at least one identified beam; wherein transforming the set of reference signals includes performing a Fourier-based transformation comprising at least one of: a DFT and an inverse DFT, wherein transforming the set of reference signals to obtain vectors of amplitude and phase coefficients of a DFT-compressed codebook comprises a phase offset operation prior to the Fourier-based transformation, the phase offset operation based on the phase of a particular beam; wherein a first element of the amplitude coefficient vector corresponding to the particular beam is unity, and wherein the first element of the phase coefficient vector corresponding to the particular beam is zero; calculating just half of the taps for the particular beam, wherein an i-th tap of the particular beam is a complex conjugate of a (number of sub-bands minus i)-th tap, wherein each tap is an inverse Fourier transform of rows of coefficient vectors; and transmitting CSI feedback comprising the calculated taps to the base station, wherein the CSI feedback comprises an indication of one or more elements of the vectors of amplitude coefficient vectors and phase coefficient vectors corresponding to the at least one identified beam, wherein the CSI feedback does not include the first element of the amplitude coefficient vector and the first element of the phase coefficient vector corresponding to the particular beam.