PRECODING MATRIX INDICATING METHOD, PRECODING MATRIX DETERMINING METHOD, RECEIVE END DEVICE, AND TRANSMIT END DEVICE

Information

  • Patent Application
  • 20190334594
  • Publication Number
    20190334594
  • Date Filed
    July 04, 2019
    5 years ago
  • Date Published
    October 31, 2019
    5 years ago
Abstract
Embodiments can provide a precoding matrix indicating method, a precoding matrix determining method, a receive end device, and a transmit end device. In the precoding matrix indicating method, component matrices of an ideal precoding matrix and a weight of each component matrix can be determined based on at least one basic codebook. A dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook. A precoding matrix indicator can be sent. The precoding matrix indicator can indicate the component matrices and the weight of each component matrix. With this, an ideal precoding matrix is approximately represented in a form of a weighted sum of a plurality of component matrices so that feedback overheads caused by feeding back a precoding matrix can be reduced.
Description
TECHNICAL FIELD

Embodiments of the present invention relate to the precoding technologies, and in particular, to a precoding matrix indicating method, a precoding matrix determining method, a receive end device, and a transmit end device.


BACKGROUND

Emergence of a Multiple Input Multiple Output (Multiple Input Multiple Output, MIMO) technology brings a revolutionary change to wireless communication. In the MIMO technology, a plurality of antennas are deployed on a transmit end device and a receive end device, performance of a wireless communications system can be significantly improved. For example, in a diversity scenario, the MIMO technology can effectively improve transmission reliability. In a multiplexing scenario, the MIMO technology can greatly increase a transmission throughput.


In a MIMO system, a precoding technology is usually used to improve a channel, so as to improve a spatial multiplexing (Spatial Multiplexing) effect. Specifically, in the precoding technology, a precoding matrix that matches a channel is used to process a data stream obtained after spatial multiplexing (referred to as a spatial stream for short below), so as to precode the channel and improve received quality of the spatial stream.


Each spatial stream obtained after spatial multiplexing is corresponding to a column vector of a precoding matrix. In a precoding process, a transmit end device precodes the spatial stream by using the column vector. Therefore, the column vector may also be referred to as a precoding vector. The precoding vector may be determined by a receive end device and fed back to the transmit end device. According to the prior art, information indicating each precoding vector needs to be fed back for the precoding vector, so that when there are a relatively large quantity of spatial streams obtained after spatial multiplexing, high feedback overheads are generated by indicating these precoding vectors.


SUMMARY

In view of the above, it is necessary to provide a precoding matrix indicating method, to reduce feedback overheads caused by indicating a precoding vector.


A precoding matrix determining method is also provided, to reduce feedback overheads caused by indicating a precoding vector.


A receive end device is also provided, to reduce feedback overheads caused by indicating a precoding vector.


A transmit end device is also provided, to reduce feedback overheads caused by indicating a precoding vector.


According to a first aspect of embodiments of the present invention, a precoding matrix indicating method is provided, and the precoding matrix indicating method includes:


determining a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, where a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; and


sending a precoding matrix indicator, where the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.


According to a second aspect of the embodiments of the present invention, a precoding matrix determining method is provided, and the precoding matrix indicating method includes:


receiving a precoding matrix indicator, where the precoding matrix indicator is used to indicate a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; and


determining the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.


According to a third aspect of the embodiments of the present invention, a receive end device is provided, and the receive end device includes:


a determining module, configured to determine a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, where a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; and


a sending module, configured to send a precoding matrix indicator, where the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.


According to a fourth aspect of the embodiments of the present invention, a transmit end device is provided, and the transmit end device includes:


a receiving module, configured to receive a precoding matrix indicator, where the precoding matrix indicator is used to indicate a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; and


a determining module, configured to determine the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.


In a possible design, each component matrix includes at least two column vectors.


In a possible design, the at least one basic codebook is one basic codebook.


In a possible design, the basic codebook is:







B
=

[



G


G





G





ψ





-
G






ψ




]


,




where


B is the basic codebook;


G=(DN1,O1)⊗(DN2,O2), where


an element d (m1,n1) in a matrix DN1,O1 is:








d


(


m
1

,

n
1


)


=



e

j



2





π



O
1



N
1





m
1



n
1








or






d


(


m
1

,

n
1


)



=

e


-
j




2





π



O
1



N
1





m
1



n
1





;




O1 and N1 are preset values, both O1 and N1 are positive integers, 0≤m1≤N1−1, and 0≤n1≤O1N1−1;


an element d (m2, n2) in a matrix DN2,O2 is:








d


(


m
2

,

n
2


)


=



e

j



2





π



O
2



N
2





m
2



n
2








or






d


(


m
2

,

n
2


)



=

e


-
j




2





π



O
2



N
2





m
2



n
2





;




and


O2 and N2 are preset values, both O2 and N2 are positive integers, 0≤m2≤N2−1, and 0≤n2≤O2N2−1; and


ψ is a diagonal matrix, and an ith element Λii on a main diagonal of the diagonal matrix is:


Λii=ejx, where


1≤i≤O1O2N1N2, x is a codebook parameter, and 0≤x≤2π.


In a possible design, the basic codebook is:







B
=

[



G


G





G





ψ





-
G






ψ




]


,




where


B is the basic codebook;


G=(LN1k1DN1)⊗(LN2k2DN2), where


an element d (m1, n1) in a matrix DN1 is:








d


(


m
1

,

n
1


)


=



e

j



2





π


N
1




m
1



n
1








or






d


(


m
1

,

n
1


)



=

e


-
j




2





π


N
1




m
1



n
1





;




N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1;


an element d (m2, n2) in a matrix DN2 is:








d


(


m
2

,

n
2


)


=



e

j



2





π


N
2




m
2



n
2








or






d


(


m
2

,

n
2


)



=

e


-
j




2





π


N
2




m
2



n
2





;




N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1;


LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2





π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is:








L

N
1


k
1


=

diag


(

[


e

j



2





π






k
1




O
1



N
1




0


,

e

j



2





π






k
1




O
1



N
1




1


,





,

e

j



2





π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,




or





if







d


(


m
1

,

n
1


)


=

e


-
j




2





π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is:








L

N
1


k
1


=

diag


(

[


e


-
j




2





π






k
1




O
1



N
1




0


,

e


-
j




2





π






k
1




O
1



N
1




1


,





,

e


-
j




2





π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, k1 is an integer, and 0≤k1≤O1−1; and


LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2





π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag


(

[


e

j



2





π






k
2




O
2



N
2




0


,

e

j



2





π






k
2




O
2



N
2




1


,





,

e

j



2





π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,




or





if







d


(


m
2

,

n
2


)


=

e


-
j




2





π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag


(

[


e


-
j




2





π






k
2




O
2



N
2




0


,

e


-
j




2





π






k
2




O
2



N
2




1


,





,

e


-
j




2





π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,




O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, k2 is an integer, and 0≤k2≤O2−1; and


ψ is a diagonal matrix, and an ith element Λii on a main diagonal of the diagonal matrix is:


Λii=ejx, where


1≤i≤O1O2N1N2, x is a third codebook parameter, and 0≤x≤2π.


In a possible design, the basic codebook is:







B
=

[





(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)






(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)








(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)






-

(


L

N
1


k
1




D

N
1




R

N
1


q
1



)




(


L

N
2


k
2




D

N
2




R

N
2


q
2



)





]


,




where


B is the basic codebook, and an element d (m1, n1) in a matrix DN1 is:








d


(


m
1

,

n
1


)


=



e

j



2





π


N
1




m
1



n
1








or






d


(


m
1

,

n
1


)



=

e


-
j




2





π


N
1




m
1



n
1





;




N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1;


an element d (m2, n2) in a matrix DN2 is:








d


(


m
2

,

n
2


)


=



e

j



2





π


N
2




m
2



n
2








or






d


(


m
2

,

n
2


)



=

e


-
j




2





π


N
2




m
2



n
2





;




N2 is a preset value, N2 is a positive integer, 0≤m2≤N2≤1, and 0≤n2≤N2−1;


LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2





π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is:











L

N
1


k
1


=

diag


(

[


e

j







2





π






k
1




O
1



N
1




0


,

e

j







2





π






k
1




O
1



N
1




1


,





,

e

j







2





π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,
or





if







d


(


m
1

,

n
1


)


=

e


-
j




2





π


N
1




m
1



n
1




,







the diagonal matrix LN1k1 is:








L

N
1


k
1


=

diag


(

[


e


-
j








2





π






k
1




O
1



N
1




0


,

e


-
j








2





π






k
1




O
1



N
1




1


,





,

e


-
j








2





π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, k1 is an integer, and 0≤k1≤O1−1;


LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2





π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:











L

N
2


k
2


=

diag


(

[


e

j







2





π






k
2




O
2



N
2




0


,

e

j







2





π






k
2




O
2



N
2




1


,





,

e

j







2





π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,
or





if







d


(


m
2

,

n
2


)


=

e


-
j




2





π


N
2




m
2



n
2




,







the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag


(

[


e


-
j








2





π






k
2




O
2



N
2




0


,

e


-
j








2





π






k
2




O
2



N
2




1


,





,

e


-
j








2





π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, k2 is an integer, and 0≤k2≤O2−1;


RN1q1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2





π


N
1




m
1



n
1




,




the diagonal matrix RN111 is:











R

N
1


q
1


=

diag


(

[


e

j







2





π






q
1




Q
1



N
1




0


,

e

j







2





π






q
1




Q
1



N
1




1


,





,

e

j







2





π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)



,
or





if







d


(


m
1

,

n
1


)


=

e


-
j




2





π


N
1




m
1



n
1




,







the diagonal matrix RN111 is:








R

N
1


q
1


=

diag


(

[


e


-
j








2





π






q
1




Q
1



N
1




0


,

e


-
j








2





π






q
1




Q
1



N
1




1


,





,

e


-
j








2





π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)



,




where


Q1 is a preset value, Q1 is a positive integer, q1 is a third codebook parameter, q1 is an integer, and −(Q1−1)≤q1≤(Q1−1) ; and


RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2





π


N
2




m
2



n
2




,




the diagonal matrix RN2q2 is:











R

N
2


q
2


=

diag


(

[


e

j







2





π






q
2




Q
2



N
2




0


,

e

j







2





π






q
2




Q
2



N
2




1


,





,

e

j







2





π






q
2




Q
2



N
2





(


N
2

-
1

)




]

)



,
or





if







d


(


m
2

,

n
2


)


=

e


-
j




2





π


N
2




m
2



n
2




,







the diagonal matrix RN2q2 is:








R

N
2


q
2


=

diag


(

[


e


-
j








2





π






q
2




Q
2



N
2




0


,

e


-
j








2





π






q
2




Q
2



N
2




1


,





,

e


-
j








2





π






q
2




Q
2



N
2





(


N
2

-
1

)




]

)



,




where


Q2 is a preset value, Q2 is a positive integer, q2 is a fourth codebook parameter, q2 is an integer, and −(Q2−1)≤q2≤(Q2−1).


In a possible design, the basic codebook is:







B
=

[





(


L

N
1


k
1




D

N
1




R

N
1


p
1



)



(


L

N
2


k
2




D

N
2




R

N
2


p
2



)






(


L

N
1


k
1




D

N
1




R

N
1


p
1



)



(


L

N
2


k
2




D

N
2




R

N
2


p
2



)








(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)






-

(


L

N
1


k
1




D

N
1




R

N
1


q
1



)




(


L

N
2


k
2




D

N
2




R

N
2


q
2



)





]


,




where


B is the basic codebook, and an element d (m1, n1) in a matrix DN1 is:








d


(


m
1

,

n
1


)


=



e

j



2





π


N
1




m
1



n
1




or






d


(


m
1

,

n
1


)



=

e


-
j




2





π


N
1




m
1



n
1





;




N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1;


an element d (m2, n2) in a matrix DN1 is:








d


(


m
2

,

n
2


)


=



e

j



2





π


N
2




m
2



n
2




or






d


(


m
2

,

n
2


)



=

e


-
j




2





π


N
2




m
2



n
2





;




N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1;


LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is :








L

N
1


k
1


=

diag
(

[


e

j



2

π






k
1




O
1



N
1




0


,

e

j



2

π






k
1




O
1



N
1




1


,





,

e

j



2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is:








L

N
1


k
1


=

diag
(

[


e


-
j




2





π






k
1




O
1



N
1




0


,

e


-
j




2

π






k
1




O
1



N
1




1


,





,

e


-
j




2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, k1 is an integer, and 0≤k1≤O1−1;


LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag
(

[


e

j



2

π






k
2




O
2



N
2




0


,

e

j



2

π






k
2




O
2



N
2




1


,





,

e

j



2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag
(

[


e


-
j




2

π






k
2




O
2



N
2




0


,

e


-
j




2

π






k
2




O
2



N
2




1


,





,

e


-
j




2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, k2 is an integer, and 0≤k2≤O2−1;


RN1p1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix RN1p1 is:








R

N
1


p
1


=

diag
(

[


e

j



2

π






p
1




Q
1



N
1




0


,

e

j



2

π






p
1




Q
1



N
1




1


,





,

e

j



2

π






p
1




Q
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,




the diagonal matrix RN1p1 is:








R

N
1


p
1


=

diag


(

[


e


-
j




2

π






p
1




Q
1



N
1




0


,

e


-
j




2

π






p
1




Q
1



N
1




1


,









,

e


-
j




2

π






p
1




Q
1



N
1





(


N
1

-
1

)




]

)



,




where


Q1 is a preset value, Q1 is a positive integer, p1 is a third codebook parameter, p1 is an integer, and 0≤p1≤(Q1−1);


RN2p2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix RN2p2 is:








R

N
2


p
2


=

diag
(

[


e

j



2

π






p
2




Q
2



N
2




0


,

e

j



2

π






p
2




Q
2



N
2




1


,





,

e

j



2

π






p
2




Q
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,




the diagonal matrix RN2p2 is:








R

N
2


p
2


=

diag


(

[


e

j



2

π






p
2




Q
2



N
2




0


,

e

j



2

π






p
2




Q
2



N
2




1


,





,

e

j



2

π






p
2




Q
2



N
2





(


N
2

-
1

)




]

)



,




where


Q2 is a preset value, Q2 is a positive integer, p2 is a fourth codebook parameter, p2 is an integer, and 0≤p2≤(Q2−1);


RN1q1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix RN111 is:








R

N
1


q
1


=

diag


(

[


e

j



2

π






q
1




Q
3



N
1




0


,

e

j



2

π






q
1




Q
3



N
1




1


,





,

e

j



2

π






q
1




Q
3



N
1





(


N
1

-
1

)




]

)



,
or





if







d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,




the diagonal matrix RN1q1 is:








R

N
1


q
1


=

diag


(

[


e


-
j




2

π






q
1




Q
3



N
1




0


,

e


-
j




2

π






q
1




Q
3



N
1




1


,





,

e


-
j




2

π






q
1




Q
3



N
1





(


N
1

-
1

)




]

)



,




where


Q3 is a preset value, Q3 is a positive integer, q1 is a fifth codebook parameter, q1 is an integer, and 0≤q1≤(Q3−1); and


RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j








2

π



N
2




m
2



n

2









,




the diagonal matrix RN2q2 is:








R

N
2


q
2


=

diag
(

[


e

j







2

π






q
2




Q
4



N
2




0


,

e

j







2

π






q

2









Q
4



N
2




1


,





,

e

j







2

π






q
2




Q
4



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j








2

π


N
2




m
2



n

2









,




the diagonal matrix RN2q2 is:








R

N
2


q
2


=

diag
(

[


e


-
j








2

π






q
2




Q
4



N
2




0


,

e


-
j








2

π






q

2









Q
4



N
2




1


,





,

e


-
j








2

π






q
2




Q
4



N
2





(


N
2

-
1

)




]

)


,




where


Q4 is a preset value, Q4 is a positive integer, q2 is a sixth codebook parameter, q2 is an integer, and 0≤q2≤(Q4−1).


In a possible design, the basic codebook is:







B
=

[





(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N

2







q
2



)






(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N

2







k
2




D

N
2




R

N
2


q
2



)








(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)






-

(


L

N
1


k
1




D

N
1



)




(


L

N

2







k
2




D

N
2



)





]


,




where


B is the basic codebook, and an element d (n1, n1) in a matrix DN1 is:








d


(


m
1

,

n
1


)


=



e

j







2

π


N
1




m
1



n

1













or






d


(


m
1

,

n
1


)



=

e


-
j








2

π


N
1




m
1



n

1










;




N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1;


an element d (n2, n2) in a matrix DN2 is:








d


(


m
2

,

n
2


)


=



e

j







2

π


N
2




m
2



n

2













or






d


(


m
2

,

n
2


)



=

e


-
j








2

π


N
2




m
2



n

2










;




N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1;


LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j







2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 is:








L

N
1


k
1


=

diag
(

[


e

j







2

π






k
1




O
1



N
1




0


,

e

j







2

π






k

1









O
1



N
1




1


,





,

e

j







2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j








2

π


N
1




m
1



n

1









,




the diagonal matrix LNk1 is:








L

N
1


k
1


=

diag
(

[


e


-
j








2

π






k
1




O
1



N
1




0


,

e


-
j








2

π






k

1









O
1



N
1




1


,





,

e


-
j








2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, k1 is an integer, and 0≤k1≤O1−1;


LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j







2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag
(

[


e

j







2

π






k
2




O
2



N
2




0


,

e

j







2

π






k

2









O
2



N
2




1


,





,

e

j







2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j








2

π


N
2




m
2



n

2









,




the diagonal matrix LN2k2 is:








L

N
2


k
2


=

diag
(

[


e


-
j








2

π






k
2




O
2



N
2




0


,

e


-
j








2

π






k

2









O
2



N
2




1


,





,

e


-
j








2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, k2 is an integer, and 0≤k2≤O2−1;


RN1q1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j







2

π


N
1




m
1



n
1




,




the diagonal matrix RN1q1 is:








R

N
1


q
1


=

diag
(

[


e

j







2

π






q
1




Q
1



N
1




0


,

e

j







2

π






q

1









Q
1



N
1




1


,





,

e

j







2

π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j








2

π


N
1




m
1



n

1









,




the diagonal matrix RN111 is:








R

N
1


q
1


=

diag
(

[


e


-
j








2

π






q
1




Q
1



N
1




0


,

e


-
j








2

π






q

1









Q
1



N
1




1


,





,

e


-
j








2

π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)


,




where


Q1 is a preset value, Q1 is a positive integer, q1 is a third codebook parameter, q1 is an integer, and −(Q1−1)≤11≤(Q1−1); and


RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j








2

π



N
2




m
2



n
2




,




the diagonal matrix RN2q2 is:








R

N
2


q
2


=

diag
(

[


e

j







2

π






q

2









Q
2



N
2




0


,

e

j







2

π






q
2




Q
2



N
2




1


,





,

e

j







2

π






q
2




Q
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j








2

π


N
2




m
2



n

2









,




the diagonal matrix RN2q2 is:








R

N
2


q
2


=

diag
(

[


e


-
j








2

π






q

2









Q
2



N
2




0


,

e


-
j








2

π






q
2




Q
2



N
2




1


,





,

e


-
j








2

π






q
2




Q
2



N
2





(


N
2

-
1

)




]

)


,




where


Q2 is a preset value, Q2 is a positive integer, q2 is a fourth codebook parameter, q2 is an integer, and −(Q2−1)≤q2≤(Q2−1).


In a possible design, for any one of the foregoing basic codebooks, an additional coefficient is configured for at least one block matrix in the basic codebook.


In a possible design, for any one of the foregoing basic codebooks, an additional coefficient is configured for at least one composition matrix in at least one block matrix in the basic codebook.


In a possible design, when a quantity of column vectors of each component matrix is an even number, if








[



b





ϕ





b




]





is a column vector of the component matrix,








[



b






-
ϕ






b




]





is also a column vector of the component matrix.


In a possible design, when the quantity of column vectors of each component matrix is greater than 1 and is an odd number, for other column vectors than one of the column vectors, if








[



b





ϕ





b




]





is a column vector of the component matrix,








[



b






-
ϕ






b




]





is also a column vector of the component matrix.


In the technical solutions provided in the embodiments of the present invention, an ideal precoding matrix is approximately represented in a form of a weighted sum of a plurality of component matrices, and when a precoding matrix is fed back, only a component matrix and a weight of the component matrix are fed back. In this case, compared with the prior art in which one weight needs to be fed back for each component vector, in the technical solutions provided in the embodiments of the present invention, only one weight is fed back for each component matrix. Therefore, in the technical solutions provided in the embodiments of the present invention, feedback overheads caused by indicating a precoding matrix can be reduced.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is an example schematic diagram of a wireless communications network according to an embodiment of the present invention;



FIG. 2 is an example flowchart of a precoding matrix indicating method according to an embodiment of the present invention;



FIG. 3 is an example schematic diagram of an antenna array according to an embodiment of the present invention;



FIG. 4 is an example flowchart of a precoding matrix determining method according to an embodiment of the present invention;



FIG. 5 is an example schematic diagram of a logical structure of a receive end device according to an embodiment of the present invention;



FIG. 6 is an example schematic diagram of a logical structure of a transmit end device according to an embodiment of the present invention;



FIG. 7 is an example schematic diagram of a hardware structure of a receive end device according to an embodiment of the present invention; and



FIG. 8 is an example schematic diagram of a hardware structure of a transmit end device according to an embodiment of the present invention.





DESCRIPTION OF EMBODIMENTS


FIG. 1 is an example schematic diagram of a wireless communications network 100 according to an embodiment of the present invention. As shown in FIG. 1, the wireless communications network 100 includes base stations 102, 104, and 106 and terminal devices 108, 110, 112, 114, 116, 118, 120, and 122. The base stations 102, 104, and 106 may communicate with each other by using backhaul (backhaul) links (as shown by straight lines between the base stations 102, 104, and 106). The backhaul link may be a wired backhaul link (for example, an optical fiber or a copper cable) or a wireless backhaul link (for example, a microwave). The terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may communicate with the corresponding base stations 102, 104, and 106 by using radio links (for example, as shown by fold lines between the base stations 102, 104, and 106 and the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122).


The base stations 102, 104, and 106 are configured to provide a wireless access service for the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122. In some embodiments, each base station is corresponding to one service coverage area (which may be referred to as a cell, as shown by each elliptic area in FIG. 1). A terminal device that enters the area may communicate with a base station by using a radio signal, to accept a radio access service provided by the base station. Service coverage areas of the base stations may overlap. A terminal device in an overlapping area may receive radio signals from a plurality of base stations. Therefore, these base stations may coordinate with each other, to provide a service for the terminal device. For example, the plurality of base stations may provide a service for the terminal device in the overlapping area by using a coordinated multipoint (Coordinated multipoint, CoMP) technology. For example, as shown in FIG. 1, a service coverage area of the base station 102 overlaps a service coverage area of the base station 104, and the terminal device 112 falls into an overlapping area. Therefore, the terminal device 112 may receive radio signals from the base station 102 and the base station 104. The base station 102 and the base station 104 may coordinate with each other, to provide a service for the terminal device 112. For another example, as shown in FIG. 1, a common overlapping area exists in service coverage areas of the base stations 102, 104, and 106, and the terminal device 120 falls into the overlapping area. Therefore, the terminal device 120 may receive radio signals from the base stations 102, 104, and 106. The base stations 102, 104, and 106 may coordinate with each other, to provide a service for the terminal device 120.


Depending on a used wireless communications technology, a base station may also be referred to as a NodeB (NodeB), an evolved NodeB (evolved NodeB, eNodeB), an access point (Access Point, AP), or the like. In addition, based on a size of a provided service coverage area, base stations may be classified into a macro base station for providing a macro cell (Macro cell), a micro base station for providing a micro cell (Pico cell), a femto base station for providing a femto cell (Femto cell), and the like. With continuous evolution of the wireless communications technologies, a future base station may use another name.


The terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may be various wireless communications devices having a wireless communication function, for example without limitation to, a mobile cellular phone, a cordless phone, a personal digital assistant (Personal Digital Assistant, PDA), a smartphone, a notebook computer, a tablet computer, a wireless data card, a wireless modem (Modulator demodulator, Modem), or a wearable device such as a smartwatch. With emergence of an Internet of Things (Internet of Things, IoT) technology, an increasing quantity of devices previously having no communication function, for example without limitation to, a household appliance, a transportation vehicle, a tool device, a service device, and a service facility, start to obtain a wireless communication function by configuring a wireless communications unit, to access a wireless communications network, and accept remote control. This type of devices have the wireless communication function because the wireless communications unit is configured for this type of devices, and therefore this type of devices also belong to wireless communications devices. In addition, the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may also be referred to as mobile stations, mobile devices, mobile terminals, wireless terminals, handheld devices, clients, or the like.


The base stations 102, 104, and 106 and the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may be equipped with a plurality of antennas, to support a MIMO (Multiple Input Multiple Output, Multiple Input Multiple Output) technology. Further, the base stations 102, 104, and 106 and the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may support not only a single user MIMO (Single User MIMO, SU-MIMO) technology but also a multi-user MIMO (Multi-User MIMO, MU-MIMO) technology. The MU-MIMO technology may be implemented based on a space division multiple access (Space Division Multiple Access, SDMA) technology. Because a plurality of antennas are configured, the base stations 102, 104, and 106 and the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may further flexibly support a single-input single-output (Single-Input Single-Output, SISO) technology, a single-input multiple-output (Single-Input Multiple-Output, SIMO) technology, and a multiple-input-single-output (Multiple-Input-Single-Output, MISO) technology, to implement various diversity (for example without limitation to, transmit diversity and receive diversity) and multiplexing technologies. The diversity technology may include, for example without limitation to, a transmit diversity (Transmit Diversity, TD) technology and a receive diversity (Receive Diversity, RD) technology. The multiplexing technology may be a spatial multiplexing (Spatial Multiplexing) technology. In addition, the foregoing various technologies may further include a plurality of implementation solutions. For example, the transmit diversity technology may include diversity manners such as space-time transmit diversity (Space-Time Transmit Diversity, STTD), space-frequency transmit diversity (Space-Frequency Transmit Diversity, SFTD), time switched transmit diversity (Time Switched Transmit Diversity, TSTD), frequency switched transmit diversity (Frequency Switched Transmit Diversity, FSTD), orthogonal transmit diversity (Orthogonal Transmit Diversity, OTD), and cyclic delay diversity (Cyclic Delay Diversity, CDD), and diversity manners obtained through derivation and evolution, and by combining the foregoing various diversity manners. For example, currently, transmit diversity manners such as space time block coding (Space Time Block Coding, STBC), space frequency block coding (Space Frequency Block Coding, SFBC), and CDD are used in an LTE (Long Term Evolution, Long Term Evolution) standard.


In addition, the base stations 102, 104, and 106 and the terminal devices 108, 110, 112, 114, 116, 118, 120, and 122 may communicate with each other by using various wireless communications technologies, for example without limitation to, a Time Division Multiple Access (Time Division Multiple Access, TDMA) technology, a Frequency Division Multiple Access (Frequency Division Multiple Access, FDMA) technology, a Code Division Multiple Access (Code Division Multiple Access, CDMA) technology, a Time Division-Synchronous Code Division Multiple Access (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA) technology, an orthogonal frequency division multiple access (Orthogonal FDMA, OFDMA) technology, a single carrier frequency division multiple access (Single Carrier FDMA, SC-FDMA) technology, and a space division multiple access (Space Division Multiple Access, SDMA) technology, and evolved and derived technologies of these technologies. As a radio access technology (Radio Access Technology, RAT), the foregoing wireless communications technologies are adopted in many wireless communications standards, to construct various well-known wireless communications systems (or networks), including but not limited to a Global System for Mobile Communications (Global System for Mobile Communications, GSM), CDMA2000, Wideband CDMA (Wideband CDMA, WCDMA), Wi-Fi defined in the 802.11 series of standards, Worldwide Interoperability for Microwave Access (Worldwide Interoperability for Microwave Access, WiMAX), Long Term Evolution (Long Term Evolution, LTE), LTE-Advanced (LTE-Advanced, LTE-A), evolved systems of these wireless communications systems, and the like. Unless otherwise specified, the technical solutions provided in the embodiments of the present invention may be applied to the foregoing various wireless communications technologies and wireless communications systems. In addition, the terms “system” and “network” can be interchanged.


It should be noted that the wireless communications network 100 shown in FIG. 1 is merely used as an example, and is not intended to limit the technical solutions of the present invention. A person skilled in the art should understand that in a specific implementation process, the wireless communications network 100 may further include other devices, for example without limitation to, a base station controller (Base Station Controller, BSC). In addition, a quantity of base stations and a quantity of terminal devices may also be configured based on a specific requirement.


Usually, in a communication process, a receive end device determines a channel matrix based on a reference signal transmitted by a transmit end device, determines a precoding matrix based on the channel matrix and a codebook, and feeds back the precoding matrix to the transmit end device. The transmit end device precodes to-be-transmitted data based on the precoding matrix, and sends the precoded data to the receive end device. In this specification, the receive end device may be the terminal device 108, 110, 112, 114, 116, 118, 120, or 122 shown in FIG. 1, and the transmit end device may be the base station 102, 104, or 106 shown in FIG. 1. Alternatively, the receive end device may be the base station 102, 104, or 106 shown in FIG. 1, and the transmit end device may be the terminal device 108, 110, 112, 114, 116, 118, 120, or 122 shown in FIG. 1. The embodiments of the present invention provide a precoding matrix indicating solution, a precoding matrix determining solution, and a corresponding receive end device and a corresponding transmit end device. The following describes in detail the technical solutions provided in the embodiments of the present invention.



FIG. 2 is an example flowchart of a precoding matrix indicating method 200 according to an embodiment of the present invention. In one implementation, the method 200 may be performed by, for example without limitation to, a receive end device.


Step 202: Determine a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, where a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook.


Step 204: Send a precoding matrix indicator, where the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.


In one implemenation, the foregoing ideal precoding matrix may be obtained by using a plurality of methods, and ideal precoding matrices obtained by using different methods may be different. For example, the foregoing ideal precoding matrix may be obtained by performing singular value decomposition (Singular Value Decomposition, SVD) on a channel matrix. In some embodiments, singular value decomposition (Singular Value Decomposition, SVD) is performed on the channel matrix, and the channel matrix may be decomposed into a form of a product of a left unitary matrix, a diagonal matrix, and a right unitary matrix. In a specific implementation process, a conjugate transpose matrix of the right unitary matrix may be used as the ideal precoding matrix. In addition, the foregoing ideal precoding matrix obtained through singular value decomposition may alternatively be obtained by, for example without limitation to, performing eigenvalue decomposition on a correlation matrix of the channel matrix. In a specific implementation process, a specific value of the ideal precoding matrix and a method for obtaining the specific value of the ideal precoding matrix may be determined based on an overall requirement of a system design. Technical details about the ideal precoding matrix have been clearly described in the prior art, and therefore are not described herein.


After the foregoing ideal precoding matrix is obtained, the ideal precoding matrix may be approximately represented in a form of a weighted sum of the plurality of component matrices:






P





i
=
1

m




a
i




b
i

.







P represents an ideal precoding matrix, bi represents a component matrix i, and ai represents a weight of the component matrix i. A dimension of each component matrix is the same as a dimension of the ideal precoding matrix. In a specific implementation process, a quantity m (m is a positive integer) of component matrices may be set based on a specific requirement (for example without limitation to an accuracy requirement). For example, the quantity of component matrices may be a preset quantity.


A column vector of a component matrix is selected from a basic codebook. The basic codebook may be usually represented in a form of a matrix, and therefore, the basic codebook may also be referred to as a basic codebook matrix. For the basic codebook mentioned in this specification, unless otherwise specified, or if the basic codebook does not conflict with an actual function or internal logic of the basic codebook in the related description, the basic codebook and the basic codebook matrix can be interchanged.


The basic codebook matrix includes a plurality of column vectors, and a plurality of candidate matrices may be constructed based on these column vectors. A dimension of each of these candidate matrices is the same as the dimension of the ideal precoding matrix, and each column vector of the candidate matrices is one of the plurality of column vectors included in the basic codebook matrix. In a specific implementation process, the candidate matrices may be generated based on the column vectors of the basic codebook matrix by using a plurality of methods. For example, if the ideal precoding matrix includes two column vectors, any two column vectors may be selected from the basic codebook matrix as the column vectors of the candidate matrices, so as to construct the candidate matrices. In addition, a constraint condition may be further set on the column vectors of the candidate matrices. In this way, only a column vector that meets the constraint condition in the basic codebook matrix may be selected to construct a candidate matrix. The constraint condition may be, for example without limitation to, that column vectors forming a candidate matrix are orthogonal to each other.


After a plurality of candidate matrices are generated, several candidate matrices may be selected from these candidate matrices as component matrices. There are many methods for selecting a component matrix, and a proper method may be selected based on a specific requirement. For example, a component matrix may be selected from candidate matrices based on a degree at which a candidate matrix approximates to the ideal precoding matrix, where a plurality of candidate matrices that most approximate to the ideal precoding matrix may be selected as component matrices. For example, if the ideal precoding matrix is:


[v1,v2, . . . , vR], and


the candidate matrix is:


[b1,b2, . . . , bR],


a degree at which the candidate matrix approximates to the ideal precoding matrix may be expressed as:









α
=





i
=
1

R




b
i
H



v
i







i
=
1

R






b
i



2






,




where


biH represents a conjugate transpose vector of a vector bi. In addition, if the foregoing candidate matrix


[b1,b2, . . . , bRR]


is selected as a component matrix, a weight of the component matrix may be expressed as:






α
=






i
=
1

R




b
i
H



v
i







i
=
1

R






b
i



2



.





In addition, the foregoing approximate degree may be further expressed as, for example without limitation to, a Euclidean distance between the candidate matrix and the ideal precoding matrix.


When there are a plurality of basic codebook matrices, column vectors of different component matrices may be selected from different basic codebook matrices, but there may be a limitation that column vectors of each component matrix are from a same basic codebook matrix, so as to reduce processing overheads and feedback overheads. In addition, the component matrix may include at least one column vector, or may include at least two column vectors.


In one implementation, the component matrix may be indicated in a plurality of manners. For example without limitation, indexes of column vectors of the component matrix may be indicated, and locations of the column vectors in the component matrix are reflected based on an order of the indexes. The component matrix may alternatively be directly indicated. Likewise, the weight of the component matrix may also be indicated in a plurality of manners. For example, to reduce overheads caused by indicating the weight of the component matrix, the weight may be quantized. In this case, the weight determined and indicated in the method 200 shown in FIG. 2 may be understood as a quantized value of the weight. Further, the quantized value may be represented in a form of a binary sequence or an index, and a length of the binary sequence or index may be set based on a specific requirement (for example, feedback overheads). In this way, the weight determined and indicated in the method 200 shown in FIG. 2 may be further understood as a binary sequence or an index corresponding to the quantized value of the weight. In addition, other processing may be performed on the weight, so as to reduce overheads caused by indicating the weight. In this case, the weight determined and indicated in the method 200 shown in FIG. 2 may be understood as a weight obtained after the foregoing processing. Certainly, the weight may alternatively be directly indicated.


It should be noted that in some implementations, a determining and indicating period of the component matrix may be the same as or different from a determining and indicating period of the weight. For example, the determining and indicating period of the component matrix may be longer or shorter than the determining and indicating period of the weight. In this case, it should be understood that operations of determining and indicating the component matrix in the method 200 and operations of determining and indicating the weight in the method 200 may be completed within a same feedback period, or may be completed within different feedback periods. In addition, the component matrix and the weight of the component matrix may be determined and indicated based on a wideband (for example, may be of an entire system bandwidth, of 20 M, or of 10 M), or may be determined and indicated based on a narrowband (for example, may be a subband within an entire system bandwidth, or may be of 2 M or 1 M). Actually, in the prior art, a codebook may be represented in the following form:


W=W1W2.


W1 may be referred to as a long-term/wideband codebook, and W2 may be referred to as a short-term/narrowband codebook. In in this embodiment of the present invention, for manners of determining and indicating the component matrix, refer to manners of determining and indicating W1 in the prior art, and for manners of determining and indicating the weight, refer to manners of determining and indicating W2 in the prior art. It should be understood that the operations of determining and indicating the component matrix in the method 200 cover these manners of determining and indicating.


In the prior art, each ideal precoding vector of an ideal precoding matrix (that is, a column vector of the ideal precoding matrix) is approximately represented by using a group of component vectors, and each ideal precoding vector is approximately represented in a form of a weighted sum of several component vectors in this group of component vectors. According to the prior art, for each ideal precoding vector, a component vector and a weight of the component vector that are used to represent the ideal precoding vector need to be fed back. When there are a relatively large quantity of spatial streams obtained after spatial multiplexing, feedback overheads are very high.


Compared with the prior art, in this embodiment of the present invention, an ideal precoding matrix is approximately represented in a form of a weighted sum of a plurality of component matrices, and when a precoding matrix is fed back, only a component matrix and a weight of the component matrix are fed back. In this case, compared with the prior art in which one weight needs to be fed back for each component vector, in the technical solution provided in this embodiment of the present invention, only one weight is fed back for each component matrix (that is, a plurality of column vectors in the component matrix are corresponding to a same weight). Therefore, it can be learned that according to the technical solution provided in this embodiment of the present invention, feedback overheads caused by indicating a precoding matrix can be reduced.


It should be noted that in some cases, an ideal precoding matrix that is approximately represented by a weighted sum of a plurality of component matrices may need to be reconstructed before being used for precoding. For example, in an MU-MIMO scenario, a transmit end device needs to perform a reconstruction operation based on the foregoing ideal precoding matrix approximately represented by a plurality of receive end devices that are simultaneously scheduled, to obtain a precoding matrix that is truly used for precoding for each receive end device. A purpose of the reconstruction may be, for example without limitation to, setting precoding vectors of different receive end devices orthogonal to each other, so as to reduce interference caused by a signal sent to one receive end device to another receive end device. The reconstruction process may be performed according to a plurality of algorithms, for example without limitation to, a zero forcing (Zero Forcing, ZF) algorithm, a minimum mean square error (Minimum Mean Square Error, MMSE) algorithm, and a block diagonalization (Block Diagonalization, BD) algorithm.


In some embodiments, to more accurately describe a channel environment, this embodiment of the present invention provides a plurality of basic codebooks, and the following describes these basic codebooks in detail.


The basic codebook is usually associated with an antenna array. For example, it may be understood that many parameters in a basic codebook expression may be used to represent different properties of an antenna array. Therefore, to facilitate understanding of the basic codebook provided in this embodiment of the present invention, the following describes the basic codebook with reference to an antenna array. However, a person skilled in the art should understand that the basic codebook provided in this embodiment of the present invention is not limited to a specific antenna array. In a specific implementation process, a proper antenna array may be selected based on a specific requirement, and various parameters in the basic codebook provided in this embodiment of the present invention are set based on the selected antenna array, so that a precoding matrix is determined by using the basic codebook provided in this embodiment of the present invention.



FIG. 3 is an example schematic diagram of an antenna array 300 according to an embodiment of the present invention. As shown in FIG. 3, the antenna array 300 includes a plurality of array element groups 302, and these array element groups 302 are arranged in a form of a matrix. Specifically, each row of the matrix includes a plurality of array element groups 302, and each column includes a plurality of array element groups 302. Each array element group 302 includes two array elements: an array element 304 that works in a first polarization direction and an array element 306 that works in a second polarization direction.


In the description of this specification, ⊗ represents a Kronecker product.


A first basic codebook B provided in this embodiment of the present invention may be represented in the following form:






B
=



[



G


G





G





ψ





-
G






ψ




]

.




G

=


(

D


N
1

,

O
1



)




(

D


N
2

,

O
2



)

.







A matrix DN1,O1 and a matrix DN2,O2 may be referred to as two-dimensional discrete


Fourier transform (Discrete Fourier Transform, DFT) matrices that are obtained after over-sampling, and a value of an element d (m1, n1) in DN1,O1 may be:







d


(


m
1

,

n
1


)


=



e

j








2

π




O
1



N
1





m
1



n
1








or






d


(


m
1

,

n
1


)



=


e


-
j









2

π




O
1



N
1





m
1



n
1



.






O1 and N1 are preset values, both O1 and N1 are positive integers, 0≤m1≤N1−1, and 0≤n1≤O1N1−1. A value of an element d (m2, n2) in DN2,O2 may be:







d


(


m
2

,

n
2


)


=



e

j







2

π



O
2



N
2





m
2



n
2








or






d


(


m
2

,

n
2


)



=


e


-
j








2

π



O
2



N
2





m
2



n
2



.






O2 and N2 are preset values, both O2 and N2 are positive integers, 0≤m2≤N2−1, and 0≤n2≤O2N2−1. ψ is a diagonal matrix, and a value of an ith element Λii on a main diagonal of the diagonal matrix is:


Λii=ejx, where


1≤i≤O1O2N1N2, x is a codebook parameter, the codebook parameter is a variable, and 0≤x≤2π.


In one implementation, functions of O1 and O2 may be understood as over-sampling. N1 and N2 may be used to represent a quantity of array element groups 302 in each row (or column) of array element groups 302 in the antenna array 300 and a quantity of array element groups 302 in each column (or row) of array element groups 302 in the antenna array 300. Λii may be used to set a polarization phase difference between array elements that work in different polarization directions in the array element groups 302. In a specific implementation process, a value of the codebook parameter x may be selected from a preset quantity of preset values in a group (for example,








{

0
,

π
2

,


2

π

2

,


3

π

2


}

)

.




It is not difficult to understand that, if the method 200 shown in FIG. 2 is performed based on the first basic codebook, during indication of the determined component matrix, the value of the codebook parameter x and a component matrix selected from the basic codebook that is determined based on the value of the codebook parameter x need to be indicated, where the component matrix may be further indicated by using indexes of column vectors of the component matrix, and locations of the column vectors in the component matrix may be indicated based on an order of the indexes. It should be noted that there may be at least one value of the indicated codebook parameter x, and therefore the selected component matrix may be from at least one basic codebook. When there are a plurality of values of the indicated codebook parameter x, a correspondence between the component matrix and the value of the codebook parameter x further needs to be indicated during indication of the determined component matrix.


A second basic codebook B provided in this embodiment of the present invention may be represented in the following form:






B
=



[



G


G





G





ψ





-
G






ψ




]

.




G

=


(


L

N
1


k
1




D

N
1



)




(


L

N
2


k
2




D

N
2



)

.







A matrix DN1 and a matrix DN2 may be referred to as two-dimensional DFT matrices.


A value of an element d (m1,n1) in DN1 may be:







d


(


m
1

,

n
1


)


=



e

j



2

π


N
1




m
1



n
1








or






d
(


m
1

,

n
1


)


=


e


-
j




2

π


N
1




m
1



n
1



.






N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1. A value of an element d (m2,n2) in DN2 may be:







d


(


m
2

,

n
2


)


=



e

j



2

π


N
2




m
2



n
2








or






d
(


m
2

,

n
2


)


=


e


-
j




2

π


N
2




m
2



n
2



.






N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1. LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 may be expressed as:











L

N
1


k
1


=

diag






(

[


e

j



2

π






k
1




O
1



N
1




0


,

e

j



2

π






k
1




O
1



N
1




1


,





,

e

j



2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,
or










if












d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,












the diagonal matrix LN1k1 may be expressed as:








L

N
1


k
1


=

diag






(

[


e


-
j




2

π






k
1




O
1



N
1




0


,

e


-
j




2

π






k
1




O
1



N
1




1


,





,

e


-
j




2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, the first codebook parameter is a variable, k1 is an integer, and 0≤k1≤O1−1. LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 may be expressed as:











L

N
2


k
2


=

diag






(

[


e

j



2

π






k
2




O
2



N
2




0


,

e

j



2

π






k
2




O
2



N
2




1


,





,

e

j



2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,
or










if












d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,












the diagonal matrix LN2k2 may be expressed as:








L

N
2


k
2


=

diag






(

[


e


-
j




2

π






k
2




O
2



N
2




0


,

e


-
j




2

π






k
2




O
2



N
2




1


,





,

e


-
j




2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, the second codebook parameter is a variable, k2 is an integer, and 0≤k2≤O2−1. ψ is a diagonal matrix, and a value of an ith element Λii on a main diagonal of the diagonal matrix is:


Λii=ejx, where


1≤i≤O1O2N1N2, x is a third codebook parameter, the third codebook parameter is a variable, and 0≤x≤2π.


In one implementation, functions of O1 and O2 may be understood as over-sampling. The first codebook parameter k1 and the second codebook parameter k2 may be used to set column vectors in the generated basic codebook B orthogonal to each other. N1 and N2 may be used to represent a quantity of array element groups 302 in each row (or column) of array element groups 302 in the antenna array 300 and a quantity of array element groups 302 in each column (or row) of array element groups 302 in the antenna array 300. Λii may be used to set a polarization phase difference between array elements that work in different polarization directions in the array element groups 302. In a specific implementation process, a value of the codebook parameter x may be selected from a preset quantity of preset values in a group (for example,








{

0
,

π
2

,


2

π

2

,


3

π

2


}

)

.




It is not difficult to understand that, if the method 200 shown in FIG. 2 is performed based on the second basic codebook, during indication of the determined component matrix, a codebook parameter group and a component matrix selected from a basic codebook that is determined based on the codebook parameter group need to be indicated, where each codebook parameter group includes a value of the first codebook parameter k1, a value of the second codebook parameter k2, and a value of the third codebook parameter x, the component matrix may be further indicated by using indexes of column vectors of the component matrix, and locations of the column vectors in the component matrix may be indicated based on an order of the indexes. It should be noted that there may be at least one indicated codebook parameter group, and therefore the selected component matrix may be from at least one basic codebook. When there are a plurality of indicated codebook parameter groups, a correspondence between the component matrix and the codebook parameter group further needs to be indicated during indication of the determined component matrix.


A third basic codebook B provided in this embodiment of the present invention may be represented in the following form:









B
=


[





(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)






(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)








(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)






-

(


L

N
1


k
1




D

N
1




R

N
1


q
1



)




(


L

N
2


k
2




D

N
2




R

N
2


q
2



)





]

.













A matrix DN1 and a matrix DN2 may be referred to as two-dimensional DFT matrices. A value of an element d (m1, n1) in DN1 may be:







d


(


m
1

,

n
1


)


=



e

j



2

π


N
1




m
1



n
1








or






d
(


m
1

,

n
1


)


=


e


-
j




2

π


N
1




m
1



n
1



.






N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1. A value of an element d (m2, n2) in DN2 may be:







d


(


m
2

,

n
2


)


=



e

j



2

π


N
2




m
2



n
2








or






d
(


m
2

,

n
2


)


=


e


-
j




2

π


N
2




m
2



n
2



.






N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1. is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 may be expressed as:











L

N
1


k
1


=

diag






(

[


e

j



2

π






k
1




O
1



N
1




0


,

e

j



2

π






k
1




O
1



N
1




1


,





,

e

j



2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,
or










if












d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,












the diagonal matrix LN1k may be expressed as:








L

N
1


k
1


=

diag






(

[


e


-
j




2

π






k
1




O
1



N
1




0


,

e


-
j




2

π






k
1




O
1



N
1




1


,





,

e


-
j




2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)



,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, the first codebook parameter is a variable, k1 is an integer, and 0≤k1≤O1−1. LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j







2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 may be expressed as:








L

N

2







k
2


=

diag
(

[


e

j








2

π






k
2





O
2



N
2




0


,

e

j







2

π






k
2




O
2



N
2




1


,





,

e

j







2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j








2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 may be expressed as:








L

N

2







k
2


=

diag
(

[


e


-
j









2

π






k
2





O
2



N
2




0


,

e


-
j








2

π






k
2




O
2



N
2




1


,





,

e


-
j








2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)


,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, the second codebook parameter is a variable, k2 is an integer, and 0≤k2≤O2−1. RN1q1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j







2

π


N
1




m
1



n
1




,




the diagonal matrix RN1q1 may be expressed as:








R

N

1







q
1


=

diag
(

[


e

j








2

π






q
1





Q
1



N
1




0


,

e

j







2

π






q
1




Q
1



N
1




1


,





,

e

j







2

π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j








2

π


N
1




m
1



n
1




,




the diagonal matrix RN1q1 may be expressed as:








R

N

1







q
1


=

diag
(

[


e


-
j









2

π






q
1





Q
1



N
2




0


,

e


-
j








2

π






q
1




Q
1



N
1




1


,





,

e


-
j








2

π






q
1




Q
1



N
1





(


N
1

-
1

)




]

)


,




where


Q1 is a preset value, Q1 is a positive integer, q1 is a third codebook parameter, the third codebook parameter is a variable, q1 is an integer, and −(Q1−1)≤q1≤(Q1−1). RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j







2

π


N
2




m
2



n
2




,




the diagonal matrix RN2q2 may be expressed as:








R

N

2







q
2


=

diag
(

[


e

j








2

π






q
2





Q
2



N
2




0


,

e

j







2

π






q
2




O
2



N
2




1


,





,

e

j







2

π






q
2




O
2



N
2





(


N
2

-
1

)




]

)


,
or





if







d


(


m
2

,

n
2


)


=

e


-
j








2

π


N
2




m
2



n
2




,




the diagonal matrix RN2q2 may be expressed as:








R

N

2







q
2


=

diag
(

[


e


-
j









2

π






q
2





Q
2



N
2




0


,

e


-
j








2

π






q
2




Q
2



N
2




1


,





,

e


-
j








2

π






q
2




Q
2



N
2





(


N
2

-
1

)




]

)


,




where


Q2 is a preset value, Q2 is a positive integer, q2 is a fourth codebook parameter, the fourth codebook parameter is a variable, q2 is an integer, and −(Q2−1)≤q2≤(Q2−1).


In some implementations, functions of O1 and O2 may be understood as over-sampling. The first codebook parameter k1 and the second codebook parameter k2 may be used to set column vectors in the generated basic codebook B orthogonal to each other. N1 and N2 may be used to represent a quantity of array element groups 302 in each row (or column) of array element groups 302 in the antenna array 300 and a quantity of array element groups 302 in each column (or row) of array element groups 302 in the antenna array 300. Q1, Q2, the third codebook parameter q1, and the fourth codebook parameter q2 may be used to set a polarization phase of an array element in the array element group 302.


It can be understood that, if the method 200 shown in FIG. 2 is performed based on the third basic codebook, during indication of the determined component matrix, a codebook parameter group and a component matrix selected from a basic codebook that is determined based on the codebook parameter group need to be indicated, where each codebook parameter group includes a value of the first codebook parameter k1, a value of the second codebook parameter k2, a value of the third codebook parameter q, and a value of the fourth codebook parameter q2, the component matrix may be further indicated by using indexes of column vectors of the component matrix, and locations of the column vectors in the component matrix may be indicated based on an order of the indexes. It should be noted that there may be at least one indicated codebook parameter group, and therefore the selected component matrix may be from at least one basic codebook. When there are a plurality of indicated codebook parameter groups, a correspondence between the component matrix and the codebook parameter group further needs to be indicated during indication of the determined component matrix.


A fourth basic codebook B provided in this embodiment of the present invention may be represented in the following form:






B
=


[





(


L

N
1


k
1




D

N
1




R

N
1


p
1



)



(


L

N
2


k
2




D

N
2




R

N
2


p
2



)






(


L

N
1


k
1




D

N
1




R

N
1


p
1



)



(


L

N
2


k
2




D

N
2




R

N
2


p
2



)








(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)






-

(


L

N
1


k
1




D

N
1




R

N
1


q
1



)




(


L

N
2


k
2




D

N
2




R

N
2


q
2



)





]

.





A matrix DN1 and a matrix DN2 may be referred to as two-dimensional DFT matrices. A value of an element d (m1, n1) in DN1 may be:







d


(


m
1

,

n
1


)


=



e

j







2

π


N
1




m
1



n
1








or






d


(


m
1

,

n
1


)



=


e


-
j








2

π


N
1




m
1



n
1



.






N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1. A value of an element d (m2, n2) in DN2 may be:







d


(


m
2

,

n
2


)


=



e

j







2

π


N
2




m
2



n
2








or






d


(


m
2

,

n
2


)



=


e


-
j








2

π


N
2




m
2



n
2



.






N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1. LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j







2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 may be expressed as:








L

N

1







k
1


=

diag
(

[


e

j








2

π






k
1





O
1



N
1




0


,

e

j







2

π






k
1




O
1



N
1




1


,





,

e

j







2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,
or





if







d


(


m
1

,

n
1


)


=

e


-
j








2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 may be expressed as:








L

N

1







k
1


=

diag
(

[


e


-
j









2

π






k
1





O
1



N
1




0


,

e


-
j








2

π






k
1




O
1



N
1




1


,





,

e


-
j








2

π






k
1




O
1



N
1





(


N
1

-
1

)




]

)


,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, the first codebook parameter is a variable, k1 is an integer, and 0≤k1≤O1−1 LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix LN2k2 may be expressed as:











L

N
2


k
2


=

diag






(

[


e

j



2

π






k
2




O
2



N
2




0


,

e

j



2

π






k
2




O
2



N
2




1


,





,

e

j



2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,
or










if












d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,












the diagonal matrix LN2k2 may be expressed as:








L

N
2


k
2


=

diag






(

[


e


-
j




2

π






k
2




O
2



N
2




0


,

e


-
j




2

π






k
2




O
2



N
2




1


,





,

e


-
j




2

π






k
2




O
2



N
2





(


N
2

-
1

)




]

)



,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, the second codebook parameter is a variable, k2 is an integer, and 0≤k2≤O2−1. RN1p1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix RN1p1 may be expressed as:











R

N
1


p
1


=

diag






(

[


e

j



2

π






p
1




Q
1



N
1




0


,

e

j



2

π






p
1




Q
1



N
1




1


,





,

e

j



2

π






p
1




Q
1



N
1





(


N
1

-
1

)




]

)



,
or










if












d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,












the diagonal matrix RN1p1 may be expressed as:








R

N
1


p
1


=

diag






(

[


e


-
j




2

π






p
1




Q
1



N
1




0


,

e


-
j




2

π






p
1




Q
1



N
1




1


,





,

e


-
j




2

π






p
1




Q
1



N
1





(


N
1

-
1

)




]

)



,




where


Q1 is a preset value, Q1 is a positive integer, p1 is a third codebook parameter, the third codebook parameter is a variable, p1 is an integer, and 0≤p1≤(Q1−1). RN2p2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix RN2p2 may be expressed as:











R

N
2


p
2


=

diag






(

[


e

j



2

π






p
2




Q
2



N
2




0


,

e

j



2

π






p
2




Q
2



N
2




1


,





,

e

j



2

π






p
2




Q
2



N
2





(


N
2

-
1

)




]

)



,
or










if












d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,












the diagonal matrix RN2p2 may be expressed as:








R

N
2


p
2


=

diag






(

[


e


-
j




2

π






p
2




Q
2



N
2




0


,

e


-
j




2

π






p
2




Q
2



N
2




1


,





,

e


-
j




2

π






p
2




Q
2



N
2





(


N
2

-
1

)




]

)



,




where


Q2 is a preset value, Q2 is a positive integer, p2 is a fourth codebook parameter, the fourth codebook parameter is a variable, p2 is an integer, and 0≤p2≤(Q2−1). RN1q is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix RN1q1 may be expressed as:











R

N
1


q
1


=

diag






(

[


e

j



2

π






q
1




Q
3



N
1




0


,

e

j



2

π






q
1




Q
3



N
1




1


,





,

e

j



2

π






q
1




Q
3



N
1





(


N
1

-
1

)




]

)



,
or










if












d


(


m
1

,

n
1


)


=

e


-
j




2

π


N
1




m
1



n
1




,












the diagonal matrix RN1q1 may be expressed as:








R

N
1


q
1


=

diag






(

[


e


-
j




2

π






q
1




Q
3



N
1




0


,

e


-
j




2

π






q
1




Q
3



N
1




1


,





,

e


-
j




2

π






q
1




Q
3



N
1





(


N
1

-
1

)




]

)



,




where


Q3 is a preset value, Q3 is a positive integer, q1 is a fifth codebook parameter, the fifth codebook parameter is a variable, q1 is an integer, and 0≤q1≤(Q3−1) . RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e

j



2

π


N
2




m
2



n
2




,




the diagonal matrix RN2q2 may be expressed as:











R

N
2


q
2


=

diag






(

[


e

j



2

π






q
2




Q
4



N
2




0


,

e

j



2

π






q
2




Q
4



N
2




1


,





,

e

j



2

π






q
2




Q
4



N
2





(


N
2

-
1

)




]

)



,
or










if












d


(


m
2

,

n
2


)


=

e


-
j




2

π


N
2




m
2



n
2




,












the diagonal matrix RN2q2 may be expressed as:








R

N
2


q
2


=

diag






(

[


e


-
j




2

π






q
2




Q
4



N
2




0


,

e


-
j




2

π






q
2




Q
4



N
2




1


,





,

e


-
j




2

π






q
2




Q
4



N
2





(


N
2

-
1

)




]

)



,




where


Q4 is a preset value, Q4 is a positive integer, q2 is a sixth codebook parameter, the sixth codebook parameter is a variable, q2 is an integer, and 0≤q2≤(Q4−1).


In one implementation, functions of O1 and O2 may be understood as over-sampling. The first codebook parameter k1 and the second codebook parameter k2 may be used to set column vectors in the generated basic codebook B orthogonal to each other. N1 and N2 may be used to represent a quantity of array element groups 302 in each row (or column) of array element groups 302 in the antenna array 300 and a quantity of array element groups 302 in each column (or row) of array element groups 302 in the antenna array 300. Q1, Q2, Q3, Q4, the third codebook parameter p1, the fourth codebook parameter p2, the fifth codebook parameter q1, and the sixth codebook parameter q2 may be used to set a polarization phase of an array element in the array element group 302.


It can be understood that, if the method 200 shown in FIG. 2 is performed based on the fourth basic codebook, during indication of the determined component matrix, a codebook parameter group and a component matrix selected from a basic codebook that is determined based on the codebook parameter group need to be indicated, where each codebook parameter group includes a value of the first codebook parameter k1, a value of the second codebook parameter k2, a value of the third codebook parameter p1, a value of the fourth codebook parameter p2, a value of the fifth codebook parameter q1, and a value of the sixth codebook parameter q2, the component matrix may be further indicated by using indexes of column vectors of the component matrix, and locations of the column vectors in the component matrix may be indicated based on an order of the indexes. It should be noted that there may be at least one indicated codebook parameter group, and therefore the selected component matrix may be from at least one basic codebook. When there are a plurality of indicated codebook parameter groups, a correspondence between the component matrix and the codebook parameter group further needs to be indicated during indication of the determined component matrix.


A fifth basic codebook B provided in this embodiment of the present invention may be represented in the following form:









B
=


[





(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)






(


L

N
1


k
1




D

N
1




R

N
1


q
1



)



(


L

N
2


k
2




D

N
2




R

N
2


q
2



)








(


L

N
1


k
1




D

N
1



)



(


L

N
2


k
2




D

N
2



)






-

(


L

N
1


k
1




D

N
1



)




(


L

N
2


k
2




D

N
2



)





]

.













A matrix DN1 and a matrix DN2 may be referred to as two-dimensional DFT matrices. A value of an element d (m1, n1) in DN1 may be:







d


(


m
1

,

n
1


)


=



e

j



2

π


N
1




m
1



n
1








or






d
(


m
1

,

n
1


)


=


e


-
j




2

π


N
1




m
1



n
1



.






N1 is a preset value, N1 is a positive integer, 0≤m1≤N1−1, and 0≤n1≤N1−1. A value of an element d (m2, n2) in DN2may be:







d


(


m
2

,

n
2


)


=



e

j



2

π


N
2




m
2



n
2








or






d
(


m
2

,

n
2


)


=


e


-
j




2

π


N
2




m
2



n
2



.






N2 is a preset value, N2 is a positive integer, 0≤m2≤N2−1, and 0≤n2≤N2−1. LN1k1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e

j



2

π


N
1




m
1



n
1




,




the diagonal matrix LN1k1 may be expressed as:











L

N
1


k
1


=

diag
(

[


e

j



2



π

k

1




O
1



N
1




0


,

e

j



2



π

k

1




O
1



N
1




1


,





,

e





j



2



π

k

1




O
1



N
1





(


N
1

-
1

)





]

)


,
or










if












d


(


m
1

,

n
1


)


=

e






-
j




2

π


N
1




m
1



n
1





,












the diagonal matrix LN1k1 may be expressed as:








L

N
1


k
1


=

diag


(

[


e


-
j




2



π

k

1




O
1



N
1




0


,

e


-
j




2



π

k

1




O
1



N
1




1


,





,

e






-
j




2



π

k

1




O
1



N
1





(


N
1

-
1

)





]

)



,




where


O1 is a preset value, O1 is a positive integer, k1 is a first codebook parameter, the first codebook parameter is a variable, k1 is an integer, and 0≤k1≤O1−1. LN2k2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e





j



2

π


N
2




m
2



n
2





,




the diagonal matrix LN2k2 may be expressed as:











L

N
2


k
2


=

diag
(

[


e

j



2



π

k

2




O
2



N
2




0


,

e

j



2



π

k

2




O
2



N
2




1


,





,

e





j



2



π

k

2




O
2



N
2





(


N
2

-
1

)





]

)


,
or










if












d


(


m
2

,

n
2


)


=

e






-
j




2

π


N
2




m
2



n
2





,












the diagonal matrix LN2k2 may be expressed as:








L

N
2


k
2


=

diag


(

[


e


-
j




2



π

k

2




O
2



N
2




0


,

e


-
j




2



π

k

2




O
2



N
2




1


,





,

e






-
j




2



π

k

2




O
2



N
2





(


N
2

-
1

)





]

)



,




where


O2 is a preset value, O2 is a positive integer, k2 is a second codebook parameter, the second codebook parameter is a variable, k2 is an integer, and 0≤k2≤O2−1. RN1q1 is a diagonal matrix; and if








d


(


m
1

,

n
1


)


=

e





j



2

π


N
1




m
1



n
1





,




the diagonal matrix RN1q1 may be expressed as:











R

N
1


q
1


=

diag
(

[


e

j



2

π






q
1




Q
1



N
1




0


,

e

j



2

π






q
1




Q
1



N
1




1


,





,

e





j



2

π






q
1




Q
1



N
1





(


N
1

-
1

)





]

)


,
or










if












d


(


m
1

,

n
1


)


=

e






-
j




2

π


N
1




m
1



n
1





,












the diagonal matrix RN1q1 may be expressed as:








R

N
1


q
1


=

diag


(

[


e


-
j




2

π






q
1




Q
1



N
1




0


,

e


-
j




2

π






q
1




Q
1



N
1




1


,





,

e






-
j




2

π






q
1




Q
1



N
1





(


N
1

-
1

)





]

)



,




where


Q1 is a preset value, Q1 is a positive integer, q1 is a third codebook parameter, the third codebook parameter is a variable, q1 is an integer, and −(Q1−1)≤q1≤(Q1−1). RN2q2 is a diagonal matrix; and if








d


(


m
2

,

n
2


)


=

e





j



2

π


N
2




m
2



n
2





,




the diagonal matrix RN2q2 may be expressed as:











R

N
2


q
2


=

diag
(

[


e

j



2

π






q
2




Q
2



N
2




0


,

e

j



2

π






q
2




Q
2



N
2




1


,





,

e





j



2

π






q
2




Q
2



N
2





(


N
2

-
1

)





]

)


,
or










if












d


(


m
2

,

n
2


)


=

e






-
j




2

π


N
2




m
2



n
2





,












the diagonal matrix RN2q2 may be expressed as:








R

N
2


q
2


=

diag


(

[


e


-
j




2

π






q
2




Q
2



N
2




0


,

e


-
j




2

π






q
2




Q
2



N
2




1


,





,

e






-
j




2

π






q
2




Q
2



N
2





(


N
2

-
1

)





]

)



,




where


Q2 is a preset value, Q2 is a positive integer, q2 is a fourth codebook parameter, the fourth codebook parameter is a variable, q2 is an integer, and −(Q2−1)≤q2≤(Q2−1).


In some implementations, functions of O1 and O2 may be understood as over-sampling. The first codebook parameter ki and the second codebook parameter k2 may be used to set column vectors in the generated basic codebook B orthogonal to each other. N1 and N2 may be used to represent a quantity of array element groups 302 in each row (or column) of array element groups 302 in the antenna array 300 and a quantity of array element groups 302 in each column (or row) of array element groups 302 in the antenna array 300. Q1, Q2, the third codebook parameter q1, and the fourth codebook parameter q2 may be used to set a polarization phase of an array element in the array element group 302.


It can be understood that, if the method 200 shown in FIG. 2 is performed based on the fifth basic codebook, during indication of the determined component matrix, a codebook parameter group and a component matrix selected from a basic codebook that is determined based on the codebook parameter group need to be indicated, where each codebook parameter group includes a value of the first codebook parameter k1, a value of the second codebook parameter k2, a value of the third codebook parameter q1, and a value of the fourth codebook parameter q2, the component matrix may be further indicated by using indexes of column vectors of the component matrix, and location of the column vectors in the component matrix may be indicated based on an order of the indexes. It should be noted that there may be at least one indicated codebook parameter group, and therefore the selected component matrix may be from at least one basic codebook. When there are a plurality of indicated codebook parameter groups, a correspondence between the component matrix and the codebook parameter group further needs to be indicated during indication of the determined component matrix.


It can be understood, for any one of the foregoing first basic codebook to fifth basic codebook, when a quantity of elements of a column vector of the basic codebook is an even number, the column vector of the basic codebook may be represented in the following form:







[



b





ϕ





b




]

.




In this case, when a component matrix is determined based on any one of the foregoing first basic codebook to fifth basic codebook, selection of the component matrix may be further optimized. For example, a constraint condition may be set for the component matrix, and the constraint condition may be, for example without limitation to, the following constraint conditions:


When a quantity of column vectors of the component matrix is an even number, if








[



b





ϕ





b




]





is a column vector of the component matrix,








[



b






-
ϕ






b




]





is also a column vector of the component matrix.


When the quantity of column vectors of the component matrix is greater than 1 and is an odd number, other column vectors than one of the column vectors meets the following condition, to be specific, if








[



b





ϕ





b




]





is a column vector of the component matrix,








[



b






-
ϕ






b




]





is also a column vector of the component matrix.


For example, if the component matrix includes two column vectors, based on the foregoing constraint condition, the component matrix may be expressed as:







[



b


b





ϕ





b





-
ϕ






b




]








or




[



b


b






-
ϕ






b




ϕ





b




]

.





If the component matrix includes three column vectors, based on the foregoing constraint condition, the component matrix may be expressed as, for example without limitation to:







[



b


b



b







ϕ





b





-
ϕ






b





ϕ




b












]

,




where


a specific location of each column vector in the component matrix is not limited to the foregoing location.


If the component matrix includes four column vectors, based on the foregoing constraint condition, the component matrix may be expressed as, for example without limitation to:







[



b


b



b





b







ϕ





b





-
ϕ






b





ϕ




b













-

ϕ





b






]

,




where


a specific location of each column vector in the component matrix is not limited to the foregoing location.


It should be noted that in a specific implementation process, if a codebook parameter or a codebook parameter group needs to be indicated, the codebook parameter or the codebook parameter group may be indicated by using an index of the codebook parameter or an index of the codebook parameter group. In addition, in a specific implementation process, the transmit end device and the receive end device may determine a codebook parameter or a codebook parameter group through negotiation in advance. Alternatively, either of the transmit end device and the receive end device may further indicate a codebook parameter or a codebook parameter group to a peer device. Alternatively, a codebook parameter or a codebook parameter group may be preset when a communications system is designed. In this way, the receive end device may determine, in advance, a basic codebook used to determine a component matrix and a weight of the component matrix. In this case, when determined component matrices are from one basic codebook, during indication of the component matrices and weights of the component matrices, the receive end device may not need to indicate a codebook parameter or a codebook parameter group. Even if determined component matrices are from a plurality of basic codebooks, during indication of the component matrices and weights of the component matrices, the receive end device may explicitly or implicitly indicate a codebook parameter or a codebook parameter group by using an index of the codebook parameter or an index of the codebook parameter group or based on a preset order of the component matrices. It can be learned that, when a component matrix and a weight of the component matrix are indicated, a codebook parameter or a codebook parameter group are not necessarily indicated. It is not difficult to understand that, to reduce processing and feedback overheads, in a specific implementation process, all component matrices and weights of these component matrices may be determined based on only one basic codebook.


For each basic codebook described above, in some implementations, a corresponding coefficient may be further set for at least one composition matrix (for example without limitation to a DFT matrix and a diagonal matrix) in at least one block matrix in the basic codebook, and a specific value of the coefficient may be set based on a requirement. In addition, in some implementations, a proper coefficient may be further set for at least one block matrix in the basic codebook based on a specific requirement.


In this embodiment of the present invention, a basic codebook is constructed based on a plurality of parameters, so that the basic codebook can be used to more accurately describe a channel environment. In this way, a precoding matrix determined based on the basic codebook provided in this embodiment of the present invention may more accurately match a channel, thereby improving a precoding effect.



FIG. 4 is an example flowchart of a precoding matrix determining method 400 according to an embodiment of the present invention. In a specific implementation process, the method 400 may be performed by, for example without limitation to, a transmit end device.


Step 402: Receive a precoding matrix indicator, where the precoding matrix indicator is used to indicate a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook.


Step 404: Determine the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.


In some implementations, the ideal precoding matrix may be determined by performing weighted summation on the plurality of component matrices based on the respective weights of these component matrices.


Specific technical content in the method 400 has been described above with reference to the method 200 and the antenna array 300. Therefore, details are not described herein again.



FIG. 5 is an example schematic diagram of a logical structure of a receive end device 500 according to an embodiment of the present invention. As shown in FIG. 5, the receive end device 500 includes a determining module 502 and a sending module 504.


The determining module 502 is configured to determine a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, where a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook.


The sending module 504 is configured to send a precoding matrix indicator, where the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.


The receive end device 500 is used to perform the foregoing method 200. Related technical content has been clearly described above with reference to the method 200 and the antenna array 300. Therefore, details are not described herein again.



FIG. 6 is an example schematic diagram of a logical structure of a transmit end device 600 according to an embodiment of the present invention. As shown in FIG. 6, the transmit end device 600 includes a receiving module 602 and a determining module 604.


The receiving module 602 is configured to receive a precoding matrix indicator, where the precoding matrix indicator is used to indicate a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook.


The determining module 604 is configured to determine the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.


In one implementation process, the determining module 604 may determine the ideal precoding matrix by performing weighted summation on the plurality of component matrices based on the respective weights of these component matrices.


The transmit end device 600 is used to perform the method 400. Related technical content has been clearly described above with reference to the method 200, the antenna array 300, and the method 400. Therefore, details are not described herein again.



FIG. 7 is an example schematic diagram of a hardware structure of a receive end device 700 according to an embodiment of the present invention. As shown in FIG. 7, the communications device 700 includes a processor 702, a transceiver 704, a plurality of antennas 706, a memory 708, an I/O (input/output, Input/Output) interface 710, and a bus 712. The transceiver 704 further includes a transmitter 7042 and a receiver 7044. The memory 708 is further configured to store an instruction 7082 and data 7084. In addition, the processor 702, the transceiver 704, the memory 708, and the I/O interface 710 communicate with and are connected to each other by using the bus 712, and the plurality of antennas 706 are connected to the transceiver 704.


The processor 702 may be a general purpose processor, for example without limitation to, a central processing unit (Central Processing Unit, CPU), or may be a dedicated processor, for example without limitation to, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), or a field programmable gate array (Field Programmable Gate Array, FPGA). In addition, the processor 702 may alternatively be a combination of a plurality of processors. Specially, in the technical solutions provided in this embodiment of the present invention, the processor 702 may be configured to perform, for example, step 202 in the method 200 shown in FIG. 2 and the operation performed by the determining module 502 of the receive end device 500 shown in FIG. 5. The processor 702 may be a processor that is specially designed to perform the foregoing steps and/or operations, or may be a processor that performs the foregoing steps and/or operations by reading and executing the instruction 7082 stored in the memory 708. The processor 702 may need to use the data 7084 in a process of performing the foregoing steps and/or operations.


The transceiver 704 includes the transmitter 7042 and the receiver 7044. The transmitter 7042 is configured to send a signal by using at least one of the plurality of antennas 706. The receiver 7044 is configured to receive a signal by using at least one of the plurality of antennas 706. Specially, in the technical solution provided in this embodiment of the present invention, by using at least one of the plurality of antennas 706, the transmitter 7042 may be specifically configured to perform, for example, step 204 in the method 200 shown in FIG. 2 and an operation performed by the sending module 504 of the receive end device 500 shown in FIG. 5.


The memory 708 may be storage media of a plurality of types, for example, a random access memory (Random Access Memory, RAM), a read-only memory (Read-Only Memory,


ROM), a non-volatile RAM (Non-volatile RAM, NVRAM), a programmable ROM (Programmable ROM, PROM), an erasable PROM (Erasable PROM, EPROM), an electrically erasable PROM (Electrically Erasable PROM, EEPROM), a flash memory, an optical memory, and a register. The memory 708 is specifically configured to store the instruction 7082 and the data 7084. The processor 702 may perform the foregoing steps and/or operations by reading and executing the instruction 7082 stored in the memory 708, and may need to use the data 7084 in the process of performing the foregoing operations and/or steps.


The I/O interface 710 is configured to: receive an instruction and/or data from a peripheral device, and output an instruction and/or data to the peripheral device.


It should be noted that in a specific implementation process, the communications device 700 may further include other hardware components that are not enumerated in this specification.



FIG. 8 is an example schematic diagram of a hardware structure of a transmit end device 800 according to an embodiment of the present invention. As shown in FIG. 8, the communications device 800 includes a processor 802, a transceiver 804, a plurality of antennas 806, a memory 808, an I/O (input/output, Input/Output) interface 810, and a bus 812. The transceiver 804 further includes a transmitter 8042 and a receiver 8044. The memory 808 is further configured to store an instruction 8082 and data 8084. In addition, the processor 802, the transceiver 804, the memory 808, and the I/O interface 810 communicate with and are connected to each other by using the bus 812, and the plurality of antennas 806 are connected to the transceiver 804.


The processor 802 may be a general purpose processor, for example without limitation to, a central processing unit (Central Processing Unit, CPU), or may be a dedicated processor, for example without limitation to, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application-Specific Integrated Circuit, ASIC), or a field programmable gate array (Field Programmable Gate Array, FPGA). In addition, the processor 802 may alternatively be a combination of a plurality of processors. Specially, in the technical solution provided in this embodiment of the present invention, the processor 802 may be configured to perform, for example, step 404 in the method 400 shown in FIG. 4 and the operation performed by the determining module 604 of the transmit end device 600 shown in FIG. 6. The processor 802 may be a processor that is specially designed to perform the foregoing steps and/or operations, or may be a processor that performs the foregoing steps and/or operations by reading and executing the instruction 8082 stored in the memory 808. The processor 802 may need to use the data 8084 in a process of performing the foregoing steps and/or operations.


The transceiver 804 includes the transmitter 8042 and the receiver 8044. The transmitter 8042 is configured to send a signal by using at least one of the plurality of antennas 806. The receiver 8044 is configured to receive a signal by using at least one of the plurality of antennas 806. Specially, in the technical solution provided in this embodiment of the present invention, by using at least one of the plurality of antennas 806, the receiver 8044 may be specifically configured to perform, for example, step 402 in the method 400 shown in FIG. 4 and an operation performed by the receiving module 602 of the transmit end device 600 shown in FIG. 6.


The memory 808 may be storage media of a plurality of types, for example, a random access memory (Random Access Memory, RAM), a read-only memory (Read-Only Memory, ROM), a non-volatile RAM (Non-volatile RAM, NVRAM), a programmable ROM (Programmable ROM, PROM), an erasable PROM (Erasable PROM, EPROM), an electrically erasable PROM


(Electrically Erasable PROM, EEPROM), a flash memory, an optical memory, and a register. The memory 808 is specifically configured to store the instruction 8082 and the data 8084. The processor 802 may perform the foregoing steps and/or operations by reading and executing the instruction 8082 stored in the memory 808, and may need to use the data 8084 in the process of performing the foregoing operations and/or steps.


The I/O interface 810 is configured to: receive an instruction and/or data from a peripheral device, and output an instruction and/or data to the peripheral device.


It should be noted that in a specific implementation process, the communications device 800 may further include other hardware components that are not enumerated in this specification.


A person of ordinary skill in the art may understand that all or some of the steps of the foregoing methods may be implemented by a program instructing related hardware. The program may be stored in a computer readable storage medium. The computer readable storage medium is a ROM, a RAM, an optical disc, or the like.


To sum up, the foregoing descriptions are merely embodiments of the present invention, but are not intended to limit the protection scope of the present invention. Any modification, equivalent replacement, or improvement made without departing from the spirit and principle of the present invention shall fall within the protection scope of the present invention.

Claims
  • 1. A precoding matrix indicating method, comprising: determining a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, wherein a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; andsending a precoding matrix indicator, wherein the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.
  • 2. A precoding matrix determining method, comprising: receiving a precoding matrix indicator, wherein the precoding matrix indicator indicates a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, wherein a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; anddetermining the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.
  • 3. A receive end device, comprising: a determining module, configured to determine a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix based on at least one basic codebook, wherein a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; anda sending module, configured to send a precoding matrix indicator, wherein the precoding matrix indicator is used to indicate the plurality of component matrices and the weight of each component matrix.
  • 4. A transmit end device, comprising: a receiving module, configured to receive a precoding matrix indicator, wherein the precoding matrix indicator indicates a plurality of component matrices of an ideal precoding matrix and a weight of each component matrix that are determined based on at least one basic codebook, wherein a dimension of each component matrix is the same as a dimension of the ideal precoding matrix, and a column vector of each component matrix is selected from column vectors of one of the at least one basic codebook; anda determining module, configured to determine the ideal precoding matrix based on the plurality of component matrices and the weight of each component matrix.
  • 5. The method or device according to claim 4, wherein the basic codebook is:
  • 6. The method or device according to claim 4, wherein the basic codebook is:
  • 7. The method or device according to claim 4, wherein the basic codebook is:
  • 8. The method or device according to claim 4, wherein the basic codebook is:
  • 9. The method or device according to claim 4, wherein the basic codebook is:
  • 10. The method or device according to claim 4, wherein each component matrix comprises at least two column vectors.
  • 11. The method or device according to claim 4, wherein when a quantity of column vectors of each component matrix is an even number, if
  • 12. The method or device according to claim 4, wherein when the quantity of column vectors of each component matrix is greater than 1 and is an odd number, for other column vectors than one of the column vectors, if
Priority Claims (1)
Number Date Country Kind
201710007897.4 Jan 2017 CN national
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No. PCT/CN2018/071463, filed on Jan. 4, 2018, which claims priority to Chinese Patent Application No. 201710007897.4, filed on Jan. 5, 2017. The disclosures of the aforementioned applications are hereby incorporated by reference in their entireties.

Continuations (1)
Number Date Country
Parent PCT/CN2018/071463 Jan 2018 US
Child 16503598 US