1. A transmitter for a multiple-input multiple-output (MIMO) communication system, the transmitter comprising: a memory configured to store a codebook comprising at least one of 8×1 codeword matrices c 1 , c 2 , c 3 , c 4 , c 5 , c 6 , c 7 , c 8 , c 9 , c 10 , c 11 , c 12 , c 13 , c 14 , c 15 , and c 16 ; wherein the codeword matrices c 1 , c 2 , c 3 , c 4 , c 5 , c 6 , c 7 , c 8 , c 9 , c 10 , c 11 , c 12 , c 13 , c 14 , c 15 , and c 16 are generated based on a matrix [ F ( 0 ) 0 4 × 4 F ( 1 ) 0 4 × 4 0 4 × 4 F ( 0 ) 0 4 × 4 F ( 1 ) ] ⁢ ( F ( 0 ) = 1 4 ⁡ [ 1 1 1 1 1 j - 1 - j 1 - 1 1 - 1 1 - j - 1 j ] , F ( 1 ) = 1 4 ⁡ [ 1 1 1 1 ( 1 + j ) 2 ( - 1 + j ) 2 ( - 1 - j ) 2 ( 1 - j ) 2 j - j j - j ( - 1 + j ) 2 ( 1 + j ) 2 ( 1 - j ) 2 ( - 1 - j ) 2 ] ) ; and a precoder configured to precode a data stream to be transmitted based on one of the generated codeword matrices.