A method of transmitting a downlink signal by a base station, the method comprising: receiving a 1 st precoding matrix indicator, PMI, and a 2 nd PMI from a user equipment; determining a 1 st matrix from a 1 st codebook including precoding matrixes indicated by the 1 st PMI, determining a 2 nd matrix from a 2 nd codebook including precoding matrixes indicated by the 2 nd PMI, and determining a precoding matrix, W, for 8 transmission antennas based on an equation W=W1 ∗ W2, where W1 denotes the 1 st matrix and W2 denotes the 2 nd matrix; performing a precoding on at least one layer having the downlink signal mapped thereto using the determined precoding matrix W; and transmitting the precoded signal to the user equipment, wherein each of the precoding matrixes included in the 1 st code book is configured with a block diagonal matrix having blocks X 0 (k) and X 1 (k), wherein, when a rank is 1: - 'k' is an integer in a range of 0 to 7, and a block X i (k) is defined as 4 beam vectors [b i 2k mod 16 b i (2k+1) mod16 b i (2k+2) mod16 b i (2k+3) mod16], where 16 beam vectors B i = [b i 0, b i 1,...., b i 15] are obtained from a matrix [B i] 1+r,1+c =e j2π (r+4i)c/16, 'r' is an integer row index ranging from 0 to 3, and 'c' is an integer column index ranging from 0 to 15, - the 1 st matrix is configured as a following formula: W 1 k = X 0 k 0 0 X 1 k, and wherein the 1 st code book is defined as {W 1, W 1, W 1,..., W 1}, and - the 2 nd codebook includes 16 precoding matrices, and is defined as 1 2 Y Y, 1 2 Y j ⁢ Y, 1 2 Y − Y, 1 2 Y − j ⁢ Y, where 'Y ∈ {e 1, e 2, e 3, e 4}', 'e n ' denotes a 4×1 vector in which n th element is set to '1', and the other elements are set to '0'. receiving a 1 st precoding matrix indicator, PMI, and a 2 nd PMI from a user equipment; determining a 1 st matrix from a 1 st codebook including precoding matrixes indicated by the 1 st PMI, determining a 2 nd matrix from a 2 nd codebook including precoding matrixes indicated by the 2 nd PMI, and determining a precoding matrix, W, for 8 transmission antennas based on an equation W=W1 ∗ W2, where W1 denotes the 1 st matrix and W2 denotes the 2 nd matrix; performing a precoding on at least one layer having the downlink signal mapped thereto using the determined precoding matrix W; and transmitting the precoded signal to the user equipment, wherein each of the precoding matrixes included in the 1 st code book is configured with a block diagonal matrix having blocks X 0 (k) and X 1 (k), wherein, when a rank is 1: - 'k' is an integer in a range of 0 to 7, and a block X i (k) is defined as 4 beam vectors [b i 2k mod 16 b i (2k+1) mod16 b i (2k+2) mod16 b i (2k+3) mod16], where 16 beam vectors B i = [b i 0, b i 1,...., b i 15] are obtained from a matrix [B i] 1+r,1+c =e j2π (r+4i)c/16, 'r' is an integer row index ranging from 0 to 3, and 'c' is an integer column index ranging from 0 to 15, - the 1 st matrix is configured as a following formula: W 1 k = X 0 k 0 0 X 1 k, and wherein the 1 st code book is defined as {W 1, W 1, W 1,..., W 1}, and - the 2 nd codebook includes 16 precoding matrices, and is defined as 1 2 Y Y, 1 2 Y j ⁢ Y, 1 2 Y − Y, 1 2 Y − j ⁢ Y, where 'Y ∈ {e 1, e 2, e 3, e 4}', 'e n ' denotes a 4×1 vector in which n th element is set to '1', and the other elements are set to '0'. - 'k' is an integer in a range of 0 to 7, and a block X i (k) is defined as 4 beam vectors [b i 2k mod 16 b i (2k+1) mod16 b i (2k+2) mod16 b i (2k+3) mod16], where 16 beam vectors B i = [b i 0, b i 1,...., b i 15] are obtained from a matrix [B i] 1+r,1+c =e j2π (r+4i)c/16, 'r' is an integer row index ranging from 0 to 3, and 'c' is an integer column index ranging from 0 to 15, - the 1 st matrix is configured as a following formula: W 1 k = X 0 k 0 0 X 1 k, and wherein the 1 st code book is defined as {W 1, W 1, W 1,..., W 1}, and - the 2 nd codebook includes 16 precoding matrices, and is defined as 1 2 Y Y, 1 2 Y j ⁢ Y, 1 2 Y − Y, 1 2 Y − j ⁢ Y, where 'Y ∈ {e 1, e 2, e 3, e 4}', 'e n ' denotes a 4×1 vector in which n th element is set to '1', and the other elements are set to '0'.