A base station comprising: a processor configured to determine a first subgroup to which a first mobile station belongs, wherein the first mobile station is one of a plurality of mobile stations, wherein the plurality of mobile stations are grouped into G groups based on spatial correlation, wherein mobile stations in each of the G groups are further grouped into S subgroups based on polarization, wherein mobile stations in a same subgroup have a same polarization and mobile stations in different subgroups have different polarizations, G and S being positive integers; and a transceiver configured to communicate with the first mobile station according to a polarization of the first subgroup; wherein the transceiver comprises a precoder configured to precode a data stream using a precoding matrix corresponding to the polarization of the first subgroup; and a transmitter configured to transmit a precoded data stream to the first mobile station; wherein the precoding matrix corresponding to the polarization of the first subgroup is designed as a dual structured matrix B gp P gp wherein the first subgroup is the p-th subgroup in the g-th group, wherein B gp is a preprocessing matrix determined based on a long-term channel estimation for the first subgroup, wherein P gp is matrix specific to the first mobile station; and wherein P gp = ς ̅ gp K ̅ ^ gp H ̅ ^ gp , K ̅ ^ gp = H ̅ ^ gp H ̅ ^ gp H + B ̅ / 2 α I B ̅ / 2 − 1 , ς ̅ gp 2 = N ̅ / 2 ‖ B gp P gp ‖ F 2 wherein H gp is a channel matrix for the first subgroup, B is a design parameter used to determine a dimension of transformed channel based on long-term channel estimation, α is a regularization parameter, and N /2 is a number of mobile stations in the first subgroup. a processor configured to determine a first subgroup to which a first mobile station belongs, wherein the first mobile station is one of a plurality of mobile stations, wherein the plurality of mobile stations are grouped into G groups based on spatial correlation, wherein mobile stations in each of the G groups are further grouped into S subgroups based on polarization, wherein mobile stations in a same subgroup have a same polarization and mobile stations in different subgroups have different polarizations, G and S being positive integers; and a transceiver configured to communicate with the first mobile station according to a polarization of the first subgroup; wherein the transceiver comprises a precoder configured to precode a data stream using a precoding matrix corresponding to the polarization of the first subgroup; and a transmitter configured to transmit a precoded data stream to the first mobile station; wherein the precoding matrix corresponding to the polarization of the first subgroup is designed as a dual structured matrix B gp P gp wherein the first subgroup is the p-th subgroup in the g-th group, wherein B gp is a preprocessing matrix determined based on a long-term channel estimation for the first subgroup, wherein P gp is matrix specific to the first mobile station; and wherein P gp = ς ̅ gp K ̅ ^ gp H ̅ ^ gp , K ̅ ^ gp = H ̅ ^ gp H ̅ ^ gp H + B ̅ / 2 α I B ̅ / 2 − 1 , ς ̅ gp 2 = N ̅ / 2 ‖ B gp P gp ‖ F 2 wherein H gp is a channel matrix for the first subgroup, B is a design parameter used to determine a dimension of transformed channel based on long-term channel estimation, α is a regularization parameter, and N /2 is a number of mobile stations in the first subgroup. <EOS>