A method for reporting channel state information, wherein the method comprises: • receiving a reference signal sent by a base station; • selecting, based on the reference signal, a precoding matrix from a codebook, wherein a precoding matrix W comprised in the codebook is a product of three matrices being W 1, Z, and W 2, that is, W = W 1 ZW 2, wherein both W 1 and Z are block diagonal matrices, W 1 = diag {X 1,..., X N B}, Z = diag { Z 1,..., Z N B}, each of W 1 and Z comprises at least one block matrix, that is, a block matrix quantity is N B ≥ 1, and a k th column of each block matrix Z i in the matrix Z has the following structure: z i, k = α i, k 2 + β i, k 2 − 1 2 α i, k e i, k T β i, k e jθ i, k e i, k T T herein [] T represents matrix transposition; e i,k represents an n i x1 selection vector, wherein in the vector, the k th element is 1 and all other elements are 0, and n i is a half of a column quantity of a block matrix X i; θ i,k is a phase shift, α i,k ≥ 0, and β i,k ≥ 0, wherein the block matrix X i =[ X i, 1 X i, 2], wherein each column of the matrix X i,j is selected from columns of a Householder matrix, a discrete Fourier transform matrix, a Hadamard matrix, a rotated Hadamard matrix, or a precoding matrix in an LTE R8 system 2-antenna or 4-antenna codebook or in an LTE R10 system 8-antenna codebook and wherein an n th column vector in the matrix W 2 has a structure y n = γ − 1 e n T e jθ n e n T T, wherein e n represents a selection vector; wherein in the vector, the n th element is 1 and all other elements are 0; θ n is a phase shift; and γ is a positive constant; and sending a precoding matrix indicator PMI to the base station, wherein the PMI corresponds to the selected precoding matrix, and is used by the base station to obtain the selected precoding matrix W according to the PMI. • receiving a reference signal sent by a base station; • selecting, based on the reference signal, a precoding matrix from a codebook, wherein a precoding matrix W comprised in the codebook is a product of three matrices being W 1, Z, and W 2, that is, W = W 1 ZW 2, wherein both W 1 and Z are block diagonal matrices, W 1 = diag {X 1,..., X N B}, Z = diag { Z 1,..., Z N B}, each of W 1 and Z comprises at least one block matrix, that is, a block matrix quantity is N B ≥ 1, and a k th column of each block matrix Z i in the matrix Z has the following structure: z i, k = α i, k 2 + β i, k 2 − 1 2 α i, k e i, k T β i, k e jθ i, k e i, k T T herein [] T represents matrix transposition; e i,k represents an n i x1 selection vector, wherein in the vector, the k th element is 1 and all other elements are 0, and n i is a half of a column quantity of a block matrix X i; θ i,k is a phase shift, α i,k ≥ 0, and β i,k ≥ 0, wherein the block matrix X i =[ X i, 1 X i, 2], wherein each column of the matrix X i,j is selected from columns of a Householder matrix, a discrete Fourier transform matrix, a Hadamard matrix, a rotated Hadamard matrix, or a precoding matrix in an LTE R8 system 2-antenna or 4-antenna codebook or in an LTE R10 system 8-antenna codebook and wherein an n th column vector in the matrix W 2 has a structure y n = γ − 1 e n T e jθ n e n T T, wherein e n represents a selection vector; wherein in the vector, the n th element is 1 and all other elements are 0; θ n is a phase shift; and γ is a positive constant; and herein [] T represents matrix transposition; e i,k represents an n i x1 selection vector, wherein in the vector, the k th element is 1 and all other elements are 0, and n i is a half of a column quantity of a block matrix X i; θ i,k is a phase shift, α i,k ≥ 0, and β i,k ≥ 0, wherein