METHOD AND APPARATUS FOR MEASURING ANGLE OF ARRIVAL
20220342025 · 2022-10-27
Assignee
Inventors
Cpc classification
G01S3/46
PHYSICS
G01S3/14
PHYSICS
International classification
Abstract
A method and apparatus for measuring an angle of arrival. The method includes: determining L×N values based on received values obtained by a first antenna array and a second antenna array by receiving a signal and determining an angle of arrival (AoA) of the first signal based on the L×N values. The first antenna array includes L rows of array elements arranged in a first direction and K columns of array elements arranged in a second direction. The second antenna array includes P rows of array elements arranged in the first direction and Q columns of array elements arranged in the second direction. N=K+Q. An included angle between the first direction and the second direction is greater than 0 degrees.
Claims
1. A method for measuring an angle of arrival (AoA), comprising: receiving a first signal by using a first antenna array and a second antenna array; determining L×N values based on received values obtained by the first antenna array and the second antenna array by receiving the first signal, wherein the first antenna array comprises L rows of array elements arranged in a first direction and K columns of array elements arranged in a second direction, and the second antenna array comprises P rows of array elements arranged in the first direction and Q columns of array elements arranged in the second direction; N=K+Q, P<L, L, K, P, and Q are all positive integers; the L×N values comprise received values obtained by each array element in the first antenna array by receiving the first signal, and values determined based on received values obtained by the Q columns of array elements in the second antenna array by receiving the first signal; and an included angle greater than 0 degrees exists between the first direction and the second direction; and determining an AoA of the first signal based on the L×N values.
2. The method according to claim 1, wherein the L×N values are divided into L groups of values, each group of values comprises N elements, N elements in an l.sup.th group of values comprise K received values obtained by an l.sup.th row of array elements in the first antenna array by receiving the first signal, and Q values determined based on the received values obtained by the Q columns of array elements in the second antenna array by receiving the first signal, an arrangement order of the N elements is the same as an arrangement order of the K columns of array elements in the first antenna array and the Q columns of array elements in the second antenna array in the second direction, and l is any integer from 1 to L.
3. The method according to claim 2, further comprising: generating, based on the L×N values, a matrix whose dimension is L×N, wherein one row of elements in the matrix is a group of values in the L groups of values; and determining the AoA of the first signal based on the L×N values further comprises: determining the AoA based on the matrix.
4. The method according to claim 2, further comprising: generating, based on the L×N values, a first vector whose length is L×N, wherein the L groups of values in the first vector are sequentially arranged; and determining the AoA of the first signal based on the L×N received values further comprises: determining the AoA based on the first vector.
5. The method according to claim 2, wherein the Q values comprised in the l.sup.th group of values are Q received values received by a predefined row of array elements in the Q columns of array elements.
6. The method according to claim 2, wherein Q values that are comprised in each of at least two groups of values in the L groups of values and that are determined based on the received values of the Q columns of array elements are Q received values received by different rows of array elements in the Q columns of array elements, respectively.
7. The method according to claim 2, wherein the Q values comprised in any group of the L groups of values are Q values obtained by performing a mean operation on received values of each column of the Q columns of array elements.
8. The method according to claim 1, wherein determining the AoA of the first signal based on the L×N values further comprises: generating, based on the L×N values, a second vector whose length is 1×N; and determining the AoA based on the second vector, wherein the second vector comprises K values obtained by summating received values of each column of array elements in the first antenna array, and the second vector further comprises: Q values obtained by summating L values determined based on one or more of P received values received by each column of the Q columns of array elements, or Q values determined based on a multiple of a mean value of P received values received by each column of the Q columns of array elements, wherein the multiple equals the mean value multiplied by L.
9. The method according to claim 1, wherein the AoA is obtained through FFT or DBF based on the L×N values.
10. The method according to claim 1, wherein the first antenna array or the second antenna array or both are virtual antenna arrays.
11. The method according to claim 1, wherein the AoA comprises an included angle between a direction of arrival of the first signal and the first direction and an included angle between the incoming direction of the first signal and the second direction.
12. An apparatus for measuring an angle of arrival (AoA), comprising: a transceiver, configured to receive a first signal by using a first antenna array and a second antenna array; and a processor, configured to determine L×N values based on received values obtained by the first antenna array and the second antenna array by receiving the first signal, wherein the first antenna array comprises L rows of array elements arranged in a first direction and K columns of array elements arranged in a second direction, and the second antenna array comprises P rows of array elements arranged in the first direction and Q columns of array elements arranged in the second direction; N=K+Q, P<L, L, K, P, and Q are all positive integers; the L×N values comprise received values obtained by each array element in the first antenna array by receiving the first signal, and values determined based on received values obtained by the Q columns of array elements in the second antenna array by receiving the first signal; and an included angle greater than 0 degrees exists between the first direction and the second direction; and the processor is further configured to determine an AoA of the first signal based on the L×N values.
13. The apparatus according to claim 12, wherein the L×N values are divided into L groups of values, each group of values comprises N elements, N elements in an l.sup.th group of values comprise K received values obtained by an l.sup.th row of array elements in the first antenna array by receiving the first signal, and Q values determined based on the received values obtained by the Q columns of array elements in the second antenna array by receiving the first signal, an arrangement order of the N elements is the same as an arrangement order of the K columns of array elements in the first antenna array and the Q columns of array elements in the second antenna array in the second direction, and l is any integer from 1 to L.
14. The apparatus according to claim 13, wherein the processor is further configured to generate, based on the L×N values, a matrix whose dimension is L×N, wherein one row of elements in the matrix is a group of values in the L groups of values; and determine the AoA based on the matrix.
15. The apparatus according to claim 13, wherein the processor is further configured to generate, based on the L×N values, a first vector whose length is L×N, wherein the L groups of values in the first vector are sequentially arranged; and determine the AoA based on the first vector.
16. The apparatus according to claim 13, wherein the Q values comprised in the l.sup.th group of values are Q received values received by a predefined row of array elements in the Q columns of array elements.
17. The apparatus according to claim 13, wherein Q values that are comprised in each of at least two groups of values in the L groups of values and that are determined based on the received values of the Q columns of array elements are Q received values received by different rows of array elements in the Q columns of array elements, respectively.
18. The apparatus according to claim 13, wherein the Q values comprised in any group of the L groups of values are Q values obtained by performing a mean operation on received values of each column of the Q columns of array elements.
19. The apparatus according to claim 12, wherein the processor is further configured to determine an AoA of the first signal based on the L×N values, generate, based on the L×N values, a second vector whose length is 1×N, and determine the AoA based on the second vector, wherein the second vector comprises K values obtained by summating received values of each column of array elements in the first antenna array, and the second vector further comprises: Q values obtained by summating L values determined based on one or more of P received values received by each column of the Q columns of array elements, or Q values determined based on a multiple of a mean value of P received values received by each column of the Q columns of array elements, wherein the multiple equals the mean value multiplied by L.
20. A non-transitory computer readable medium, wherein the non-transitory computer readable medium stores program instructions, and when the program instructions are executed by a computer system, cause the computer system to perform operations comprising: receiving a first signal by using a first antenna array and a second antenna array; determining L×N values based on received values obtained by the first antenna array and the second antenna array by receiving the first signal, wherein the first antenna array comprises L rows of array elements arranged in a first direction and K columns of array elements arranged in a second direction, and the second antenna array comprises P rows of array elements arranged in the first direction and Q columns of array elements arranged in the second direction; N=K+Q, P<L, L, K, P, and Q are all positive integers; the L×N values comprise received values obtained by each array element in the first antenna array by receiving the first signal, and values determined based on received values obtained by the Q columns of array elements in the second antenna array by receiving the first signal; and an included angle greater than 0 degrees exists between the first direction and the second direction; and determining an AoA of the first signal based on the L×N values.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0058] The following describes the embodiments with reference to the accompanying drawings.
[0059] The embodiments may be applied to various communication systems, for example, a radar detection system, a long term evolution (LTE) system, an LTE frequency division duplex (FDD) system, and an LTE time division duplex (TDD) system, a universal mobile telecommunication system (UMTS), a future 5th generation (5G) system, a new radio (NR), or a wireless local area network (WLAN) system, and may be further applied to a vehicle-to-everything (V2X), where the V2X may include vehicle to network (V2N), vehicle to vehicle (V2V), vehicle to infrastructure (V2I), vehicle to pedestrian (V2P), and the like, a workshop communication long term evolution technology (LTE-V), the Internet of Vehicles, machine-type communication (MTC), the Internet of Things (IoT), a machine-to-machine communication long term evolution technology (LTE-M), a machine-to-machine (M2M), and the like.
[0060] The embodiments may be applied to any device having a wireless communication function. For example, in the wireless communication system shown in
[0061] The embodiments may be applied to a terminal device. The terminal device may be a radar, a mobile phone, a tablet computer (pad), a computer with a wireless transceiver function, a virtual reality (VR) terminal device, or an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld device with a wireless communication function, a computing device, or another processing device connected to a wireless modem, or a vehicle-mounted device, a wearable device, a terminal device in a 5G network or a terminal device in a future evolved public land mobile network (PLMN), a terminal device in a WLAN, or the like.
[0062] The wearable device may also be referred to as a wearable intelligent device and is a general term of wearable devices such as glasses, gloves, watches, clothes, and shoes that are developed by applying wearable technologies in intelligent designs of daily wear. The wearable device is a portable device that is directly worn on a body or integrated into clothes or an accessory of a user. The wearable device is not merely a hardware device but is used to implement a powerful function through software support, data exchange, and cloud interaction. Generalized wearable intelligent devices include full-featured and large-size devices, such as smart watches or smart glasses, that can implement complete or partial functions without depending on smartphones, and devices, such as various smart bands, or smart jewelry for monitoring physical signs, that focus on only one type of application functions and need to work with other devices such as smartphones.
[0063] In addition, the terminal device may alternatively be a terminal device in an Internet of Things (IoT) system. The IoT is an important part of future information technology development. A main feature of the IoT is to connect things to a network by using a communication technology, to implement an intelligent network for human-machine interconnection and thing-thing interconnection.
[0064] It should be understood that a form of the terminal device is not limited.
[0065] The embodiments may be further applied to a network device. The network device includes but is not limited to an evolved NodeB (eNB), a radio network controller (RNC), a NodeB (NB), a base station controller (BSC), a base transceiver station (BTS), a home node B (HNB), a baseband unit (BBU), an access point (AP) in a wireless fidelity (Wi-Fi) system, a wireless relay node, a wireless backhaul node, a transmission point (TP), a transmission and reception point (TRP), or the like. Alternatively, the network device may be a gNB or a transmission point (TP) in a 5G (for example, NR) system, may be one antenna panel or a group (including a plurality of antenna panels) of antenna panels of a base station in a 5G system, or may be a network node, such as a baseband unit (BBU) or a distributed unit (DU), that constitutes a gNB or a transmission point.
[0066] To facilitate understanding of the embodiments, terms used in the embodiments are first briefly described.
[0067] The antenna array is an antenna set in which at least two antenna units are arranged (which may also be referred to as organized or distributed) regularly or randomly, where each antenna unit may be used to receive a signal, and the antenna unit may also be referred to as an array element. The antenna array may be an antenna set including physical antennas, or may be a virtual array, namely, a virtual antenna array obtained by extending an original array aperture or increasing a quantity of array elements (for example, constructing an array structure model, processing a received signal source by using a mathematical method, or performing virtual transformation on an array).
[0068] It should be further noted that, to facilitate understanding of the method provided in the embodiments, the following schematically provides a plurality of examples of a first antenna array and a second antenna array by using a plurality of accompanying drawings. For ease of description, an antenna array #1 in the figure is an example of the first antenna array, and an antenna array #2 in the figure is an example of the second antenna array. A direction y in the figure is an example of a first direction, and a direction x in the figure is an example of a second direction. It should be understood that the antenna array #1 and the antenna array #2 shown in a plurality of accompanying drawings in the following are merely examples for ease of understanding and shall not constitute any limitation.
[0069] The following describes in detail the method for measuring an AoA provided in the embodiments with reference to the accompanying drawings.
[0070] A method may measure an angle of arrival of a same signal based on received values of the signal of two antenna arrays whose array arrangements are different. This can resolve a problem of angle ambiguity of an AoA of a signal, and effectively expand a field of view of an antenna array.
[0071]
[0072] The method 200 shown in
[0073] S210: A communication device receives a first signal by using an antenna array #1 (an example of a first antenna array) and an antenna array #2 (an example of a second antenna array).
[0074] In an implementation, the communication device may determine an azimuth of a detection target by using an AoA of a detection signal reflected by the detection target. In other words, the first signal may be a reflected signal that is of the detection signal sent by the communication device and that is reflected by the detection target. For example, as shown in
[0075] In another implementation, the first signal may be a signal sent by another device. After receiving the first signal sent by the another device, the communication device determines an angle of arrival of the first signal, and then determines, based on the angle of arrival of the first signal, an orientation of the another device that sends the first signal.
[0076] The AoA may also be referred to as an angle of arrival or a direction of arrival of the first signal. The AoA may include two components: θ and ϕ, and may be denoted as AoA (θ, ϕ). For ease of understanding, the AoA is first briefly described herein with reference to
[0077] The antenna array #1 may include L×K array elements. The L×K array elements are arranged into L rows of array elements in the direction y (that is, an example of the first direction), and each row includes K array elements arranged in the direction x (that is, an example of the second direction). In other words, the L×K array elements are arranged into K columns of array elements in the direction x, and each column includes L array elements arranged in the direction y. The antenna array #2 includes P×Q array elements. The P×Q array elements are arranged into P rows of array elements in the direction y, and each row includes Q array elements arranged in the direction x. In other words, the P×Q array elements are arranged into Q columns of array elements in the direction x, and each column includes P array elements arranged in the direction y. A location of any column of the Q columns of array elements in the antenna array #2 in the direction x does not coincide with a location of each column of the K columns of array elements in the antenna array #1 in the direction x. The direction x and the direction y have an included angle greater than 0 degrees.
[0078]
[0079] It should be noted that
[0080] The antenna array #1 and the antenna array #2 may be controlled by a same apparatus in the communication device to receive the first signal, or the antenna array #1 and the antenna array #2 may each be controlled by a different apparatus in the communication device to simultaneously receive the first signal. The method may be used for measuring an AoA of a continuous signal or may be used for measuring an AoA of a single signal. For example, the AoA of the first signal may be measured based on received values obtained by the antenna array #1 and the antenna array #2 by receiving the first signal at a same moment. The method is applicable to measuring the AoA of the continuous signal at each moment.
[0081] The communication device may obtain L×K received values and P×Q received values by using the antenna array #1 and the antenna array #2 to receive the first signal, where each received value is obtained by one array element by receiving the first signal, L×K received values correspond to L×K array elements in the antenna array #1 one by one, P×Q received values correspond to P×Q array elements in the antenna array #1 one by one, and each received value corresponds to an array element receiving the received value. The received value received by each array element may include a sum obtained when signals reflected by one or more detection targets in the first signal arrive at the receive array element. The communication device may divide the L×K received values received by the antenna array #1 into L groups of received values. Each group of received values includes K received values received by a same row of array elements. In addition, an arrangement order of the K received values in each group of received values is the same as an arrangement order of the corresponding array elements in the direction x. In other words, the received value a.sub.lk received by the array element in the l.sup.th row and the k.sup.th column in the antenna array #1 is the k.sup.th received value in the l.sup.th group of values in the L×K received values, where 0<l≤L, 0<k≤K, and l and k are integers.
[0082] The communication device divides the P×Q received values received by the antenna array #2 into P groups of received values. Each group of received values includes Q received values received by a same row of array elements. In addition, an arrangement order of the Q received values in each group of received values is the same as an arrangement order of the corresponding array elements in the direction x. In other words, the received value b.sub.pq received by the array element in the p.sup.th row and the q.sup.th column in the antenna array #2 is the q.sup.th received value in the p.sup.th group of values in the P×Q received values, where 0<p≤P, 0<q≤Q, and p and q are integers.
[0083] S220: The communication device determines L×N values based on received values obtained by the antenna array #1 and the antenna array #2 by receiving the first signal.
[0084] In other words, the communication device determines the L×N values based on L×K received values obtained by the antenna array #1 by receiving the first signal and P×Q received values obtained by the antenna array #2 by receiving the first signal, where N=K+Q. The L×N values include L×K received values of the antenna array #1 and Q values determined based on the P×Q received values of the antenna array #2.
[0085] A manner in which the communication device determines the L×N values may include but is not limited to a plurality of manners listed below. The following describes in detail several possible implementations of determining the L×N values.
Manner 1
[0086] The antenna array #2 includes array elements in one row and Q columns, in other words, P=1. The L×N values may include the L×K received values received by the antenna array #1 and Q received values received by the antenna array #2.
[0087] The communication device may insert the Q received values received by the antenna array #2 into each group of received values of the antenna array #1 in an arrangement order of receive array elements in the direction x, to obtain L×N received values. Alternatively, the communication device may insert, in an arrangement order of receive array elements in the direction x, the Q received values received by the antenna array #2 into K received values received by each row of array elements in the antenna array #1, to obtain L×N received values.
[0088] In other words, the L×N values may be divided into L groups of values, and each group of values includes N elements. N elements in an th group of values include an l.sup.th group of K received values a.sub.l1 to a.sub.lK in the L×K received values. In other words, the l.sup.th group of values in the L×N values includes K received values received by an l.sup.th row of array elements in the antenna array #1. Each group of values in the L×N values includes Q received values b.sub.11 to b.sub.1Q received by the antenna array #2. In addition, an arrangement order of N elements (namely, K received values received by one row of array elements in the antenna array #1 and Q received values received by one row of array elements in the antenna array #2) included in each group of values is the same as an arrangement order of the receive array elements corresponding to each received value in the direction x.
[0089] For example, as shown in
[0090] In implementation, the communication device may generate, based on the received values of the antenna array #1, a matrix whose dimension is L×K, where each row of received values of K array elements are used as one row of elements in the matrix. In addition, an arrangement order of each row of K received values in the matrix is the same as an arrangement order of receive array elements corresponding to the received values in the direction x. A received value a.sub.lk in the l.sup.th row and the k.sup.th column in the matrix may be received by an array element in the l.sup.th row and the k.sup.th column in the antenna array #1. For example, a matrix A whose dimension is L×K is as follows:
[0091] Similarly, the communication device may generate, based on the received values of the antenna array #2, a matrix B whose dimension is P×Q as follows:
[0092] The communication device determines the L×N values in Manner 1. In this case, the matrix B is a vector with one row and Q columns. The Q values in the matrix B are inserted into each row in the matrix A. In addition, an arrangement order of received values is the same as an arrangement order of receive array elements corresponding to the received values in the direction x. For example, the L×N values (namely, 33 values) determined based on the received values of the first signal received by the two antenna arrays shown in
Manner 2
[0093] The antenna array #2 includes array elements in P rows and Q columns, and P is an integer greater than or equal to 2. The L×N values may include the L×K received values received by the antenna array #1. Each group of values in the L×N values includes Q received values received by one row of array elements in the antenna array #2. In addition, Q received values that are included in each of at least two groups of values in the L×N values are received by a different row of array elements in the antenna array #2, respectively. In addition, an arrangement order of N elements (namely, K received values received by one row of array elements in the antenna array #1 and Q received values received by one row of array elements in the antenna array #2) included in each group of values divided from the L×N values is the same as an arrangement order of the receive array elements corresponding to each received value in the direction x.
[0094] In an implementation, the communication device may insert Q received values received by a ┌l/P┐.sup.th row of array elements in the antenna array #2 into an l.sup.th group of received values of the antenna array #1 in an arrangement order of receive array elements in the direction x, to obtain an l.sup.th group of values in the L×N values. In other words, the Q received values that are received by the antenna array #2 and that are included in the l.sup.th group of values in the L×N values are the Q received values received by the ┌l/P┐.sup.th row of array elements in the antenna array #2 and the l.sup.th group of received values of the antenna array #1, where l is any integer greater than 0 and less than or equal to L.
[0095] In another implementation, the communication device may insert Q received values received by a mod(l,P).sup.th row of array elements in the antenna array #2 into an l.sup.th group of received values of the antenna array #1 in an arrangement order of receive array elements, to obtain an l.sup.th group of values in the L×N values. In other words, the Q received values that are received by the antenna array #2 and that are included in the l.sup.th group of values in the L×N values are the Q received values received by the mod(l,P).sup.th row of array elements in the antenna array #2 and the l.sup.th group of received values of the antenna array #1, where mod(l,P) represents a remainder of l/P, and l is any integer greater than 0 and less than or equal to L.
[0096] In another implementation, Q received values that are received by the antenna array #2 and that are included in an l.sup.th group of values in the L×N values may be Q received values received by a predefined row of array elements in the antenna array #2. In other words, a predefined group of received values of the antenna array #1 corresponds to a predefined group of received values of the antenna array #2. The communication device inserts a group of received values of the antenna array #2 corresponding to an l.sup.th group of received values of the antenna array #1 into the l.sup.th group of received values of the antenna array #1 in an arrangement order of receive array elements.
[0097] For example, as shown in example c in
[0098] In an implementation, Q received values that are received by the antenna array #2 and that are included in an l.sup.th group of values in the L×N values are Q received values received by a ┌l/P┐.sup.th row of array elements in the antenna array #2. The communication device inserts a ┌1/2┐.sup.th group (namely, a first group) of received values b.sub.11 to b.sub.18 of the antenna array #2, namely, eight received values b.sub.11 to b.sub.18 received by a ┌1/2┐.sup.th row (namely, a first row) of array elements, into a first group of received values of the antenna array #1 in an arrangement order of receive array elements, to determine a first group of values in the L×N values, namely, the 33 values. In addition, the communication device inserts a ┌2/2┐.sup.th group (namely, a first group) of received values b.sub.11 to b.sub.18 of the antenna array #2 into a second group of received values of the antenna array #1 in an arrangement order of antennas, to determine a second group of values in the 33 values, and inserts a ┌3/2┐.sup.th group (namely, a second group) of received values b.sub.21 to b.sub.28 of the antenna array #2 into a second group of received values of the antenna array #1 in an arrangement order of antennas, to determine a third group of values in the 33 values. In this case, in the 33 values determined by the communication device, the first group of values includes the first group of three received values in the received values of the antenna array #1, and further includes the eight received values b.sub.11 to b.sub.18 received by the ┌1/2┐.sup.th row (namely, the first row) of array elements in the antenna array #2. The second group of values in the 33 values includes the second group of values in the received values of the antenna array #1, and further includes the eight received values b.sub.11 to b.sub.18 received by the ┌2/2┐.sup.th row (namely, the first row) of array elements in the antenna array #2. The third group of values in the 33 values includes the third group of values in the received values of the antenna array #1, and further includes the eight received values b.sub.21 to b.sub.28 received by the ┌3/2┐.sup.th row (namely, the second row) of array elements in the antenna array #2. In other words, in the three groups of values divided from the 33 values by the communication device, the first P groups (namely, the first two groups) each include the eight received values b.sub.11 to b.sub.18 received by the first row of array elements in the antenna array #2, and the last group includes the eight received values b.sub.21 to b.sub.28 received by the second row of array elements in the antenna array #2. In addition, an arrangement order of received values in each group of values is the same as an arrangement order of corresponding receiving antennas in the direction x. Using the third group of values as an example, an arrangement order of the received values is a.sub.31, b.sub.21, b.sub.22, b.sub.23, b.sub.24, a.sub.32, b.sub.25, b.sub.26, b.sub.27, b.sub.28, and a.sub.33.
[0099] If a manner of generating a matrix is used for implementation, a matrix A and a matrix B are:
[0100] the communication device inserts the first row of the matrix B into the first row and the second row of the matrix A based on an order of array elements corresponding to the received values, and inserts the second row of the matrix B into the third row of the matrix A based on an order of array elements corresponding to the received values, to obtain a matrix C including the 33 values as follows:
[0101] In another implementation, Q received values that are received by the antenna array #2 and that are included in an l.sup.th group of values in the L×N values are Q received values received by a mod(l,P).sup.th row of array elements in the antenna array #2. The communication device inserts a mod(1,2).sup.th group (namely, a first group) of received values b.sub.11 to b.sub.18 of the antenna array #2, namely, eight received values b.sub.11 to b.sub.18 received by a ┌1/2┐.sup.th row (namely, a first row) of array elements, into a first group of received values of the antenna array #1 in an arrangement order of receive array elements, to determine a first group of values in the L×N values, namely, the 33 values. In addition, the communication device inserts a mod(2,2).sup.th group (namely, a second group) of received values b.sub.21 to b.sub.28 of the antenna array #2 into a second group of received values of the antenna array #1 in an arrangement order of antennas, to determine a second group of values in the 33 values, and inserts a mod(3,2).sup.th group (namely, a first group) of received values b.sub.11 to b.sub.18 of the antenna array #2 into a second group of received values of the antenna array #1 in an arrangement order of antennas, to determine a third group of values in the 33 values. In this case, the eight values that are received by the antenna array #2 and that are included in the first group of values in the 33 values determined by the communication device are the eight received values received by the mod (1,2).sup.th row (namely, the first row) of array elements in the antenna array #2. The second group of values includes the eight received values received by the mod (2,2).sup.th row (namely, the second row) of array elements in the antenna array #2. The third group of values includes the eight received values received by the mod(3,2).sup.th row (namely, the first row) of array elements in the antenna array #2. In addition, an arrangement order of received values in each group of values is the same as an arrangement order of corresponding receiving antennas in the direction x. Using the third group of values as an example, an arrangement order of the received values is a.sub.31, b.sub.11, b.sub.12, b.sub.13, b.sub.14, a.sub.32, b.sub.15, b.sub.16, b.sub.17, b.sub.18, and a.sub.33.
[0102] If a manner of generating a matrix is used for implementation, the communication device inserts the first row of the matrix B into the first row and the third row of the matrix A based on an order of array elements corresponding to the received values, and inserts the second row of the matrix B into the second row of the matrix A based on an order of array elements corresponding to the received values. In this case, a matrix C including the 33 values is as follows:
[0103] Manner 3
[0104] The antenna array #2 includes array elements in P rows and Q columns, and P is an integer less than or equal to 2. The L×N values include L×K received values received by the antenna array #1 and values determined based on P×Q received values of the antenna array #2. Each group of L groups of values divided from the L×N values includes Q values that are determined by the communication device based on the P×Q received values of the antenna array #2.
[0105] As an example but not a limitation, the values determined based on the P×Q received values of the antenna array #2 are Q values obtained by the communication device by performing a mean operation on received values of each column of array elements in the antenna array #2. The mean operation may be arithmetic averaging or weighted averaging. In addition, summation may also be an equivalent replacement of the mean operation.
[0106] For example, as shown in example b in
[0107] When generating a matrix, after performing arithmetic averaging on each column of a matrix B, the communication device inserts Q values obtained after the averaging into a matrix A in an arrangement order of columns of array elements, and a matrix C that includes the L×N values (that is, 3×8, 24 values) and that is determined based on the received values of the antenna array #1 and the antenna array #2 shown in the example in
[0108] For another example, as shown in example b in
[0109] When generating a matrix, after performing weighted averaging on each column of a matrix B to obtain Q values, the communication device inserts the Q values into a matrix A based on an arrangement order of columns of array elements, and a matrix C that includes the 24 values and that is determined in the received values of the antenna array #1 and the antenna array #2 shown in example b in
[0110] A weighted value w.sub.pq of each received value of the antenna array #2 may be predefined.
[0111] For another example, if the communication device performs summation on the received values of each column of array elements in the antenna array #2, a sum of P received values b.sub.1q to b.sub.Pq of a q.sup.th column of element is b.sub.1q+b.sub.2q+ . . . +b.sub.pq+ . . . +b.sub.Pq. In this case, the communication device may obtain four values b.sub.11+b.sub.21, b.sub.12+b.sub.22, b.sub.13+b.sub.23, and b.sub.14+b.sub.24 by performing arithmetic averaging on the received values of each column of array elements in the antenna array #2 shown in example b in
[0112] When generating a matrix, after arithmetic averaging is performed on each column of a matrix B, Q values obtained after the averaging are inserted into a matrix A in an arrangement order of columns of array elements, and a matrix C that includes the 24 values and that is determined by the communication device based on the received values of the antenna array #1 and the antenna array #2 shown in example b in
[0113] S230: The communication device determines an AoA of the first signal based on the L×N values.
[0114] After determining the L×N values in S220, the communication device first estimates a component θ of an AoA(θ, ϕ) of the first signal based on the L×N values, namely, an included angle estimated value {tilde over (θ)} of a direction of arrival of the first signal and a direction x, and then determines an included angle estimated value {tilde over (ϕ)} of the direction of arrival of the first signal and a direction y based on the included angle estimated value {tilde over (θ)}. In other words, an estimated AoA ({tilde over (θ)}, {tilde over (ϕ)}) of the AoA of the first signal is determined.
[0115] In an implementation, after sequentially arranging the L groups of values divided from the L×N values in a group order to form a vector (namely, a first vector) whose length is L×N, the communication device calculates an included angle estimated value {tilde over (θ)} of the direction of arrival of the first signal and the direction x based on the vector whose length is L×N. In other words, the communication device sequentially connects the N values in each group of the L groups of values in a head-to-tail manner in a group order to form the vector whose length is L×N. Alternatively, if the L×N values are an L×N-dimensional matrix C, the communication device sequentially connects each row of the matrix C head-to-tail to form a vector C′ whose length is L×N.
[0116] For example, N values included in an l.sup.th group of values in the L×N values are c.sub.l1, c.sub.l2, . . . , and c.sub.lN, and the communication device sequentially arranges each group of values in a group order to obtain a vector C′ whose length is L×N as follows:
C′=[c.sub.11 c.sub.12 . . . c.sub.1N c.sub.l1 c.sub.l2 . . . c.sub.lN . . . c.sub.L1 c.sub.L2 . . . c.sub.LN].
[0117] In another implementation, the communication device summates values in a same location in each group of the L groups of values in the L×N values to obtain a 1×N vector (namely, a second vector), and then calculates an included angle estimated value {tilde over (θ)} of the direction of arrival of the first signal and the direction x based on the vector whose length is 1×N. In other words, if the L×N values are an L×N-dimensional matrix C, the matrix C is summated by column to obtain the 1×N vector.
[0118] For example, N values included in an l.sup.th group of values in the L×N values are c.sub.l1, c.sub.l2, . . . , and c.sub.lN, and the communication device summates values in a same location in each group of the L groups of values to obtain a 1×N vector C′ as follows:
C′=[c.sub.11+c.sub.21+ . . . +c.sub.l1 . . . +c.sub.L1 c.sub.12+c.sub.22+ . . . +c.sub.l2+ . . . +c.sub.L2 . . . c.sub.1N+c.sub.2N+ . . . +c.sub.lN . . . +c.sub.Ln].
[0119] Thereafter, the communication device may determine the included angle estimated value {tilde over (θ)} based on a vector {tilde over (C)}. For example, the communication device may perform a fast Fourier transform (FFT) or digital beam forming (DBF) on the vector C′ to obtain the included angle estimated value {tilde over (θ)}. The included angle estimated value {tilde over (θ)} is the included angle estimated value {tilde over (θ)} of the direction of arrival of the first signal and the direction x (as shown in
[0120] For example, the antenna array shown in
[0121] A vector x(t) generated by the communication device based on the received values of the antenna array may be denoted as:
x(t)=v(t)s(t)+n(t), where
[0122] v(t) is a steering vector, n(t) is a noise vector, s(t) is a source signal (namely, the first signal), and s(t) is a single constant in a single snapshot condition. Therefore, a received value of the array may be understood as a linear sum of the steering vector. For ease of description, the steering vector is used to describe a processing process of the received value. Because each element in the steering vector corresponds to one received value, the meaning of using the steering vector is the same as that of directly using the received value.
[0123] A steering vector of a first row of N received values in the antenna array shown in
v.sub.1(θ)=[1 e.sup.−ju e.sup.−j2u . . . e.sup.−j(M−1)u e.sup.−jMu . . . e.sup.−j(2MK−)u e.sup.−j2Mu . . . e.sup.−j(N−1)u].sup.T,
where
[0124] u=(2πd.sub.1/λ)cosθ, λ is a wavelength of the first signal, and a superscript T represents a transpose of a matrix.
[0125] A steering vector of Q received values of the antenna array #2 is:
v.sub.#2(θ)=[e.sup.−ju e.sup.−j2a . . . e.sup.−j(M−1)u . . . e.sup.−j(2M−1)u . . . ].sup.T, where
[0126] that is, elements other than e.sup.−j(k−1)Mu in v.sub.1(θ) form v.sub.#2(θ), where 0<k≤K, and k is an integer.
[0127] A steering vector of K received values of an l.sup.th row of array elements in the antenna array #1 is:
v.sub.#1,l(θ,ϕ)=e.sup.−j(i−1)w[1 e.sup.−jMu e.sup.−j2Mu . . . e.sup.−j(K−1)Mu].sup.T, where
[0128] w=(2πd.sub.2/λ)cosϕ, 0<1≤L, and i is an integer. The communication device determines L×N values in the foregoing manner 1. In this case, N elements in an l.sup.th group of values in the L×N values include elements in v.sub.#1,l(θ,ϕ) (namely, elements in the steering vector of the received values of the l.sup.th row of array elements in the antenna array #1). Each group of values in the L×N values includes elements in v.sub.#2 (θ) (namely, elements in the steering vector of the received values of the antenna array #2). In addition, an arrangement order of the elements is the same as an arrangement order of corresponding receive array elements in the direction x. In other words, the communication device inserts the elements in v.sub.#2 (θ) into the steering vector of each row of array elements in the antenna array #1 in the arrangement order of the corresponding receive array elements, to obtain an l.sup.th group of values in the L×N values as follows:
v.sub.L×N,l(θ,ϕ)=e.sup.−j(l−1)w[1 e.sup.−ju e.sup.−j2u . . . e.sup.−jMu . . . e.sup.−j(K−1)Mu].sup.T.
[0129] The communication device sequentially arranges each group of values in the L×N values in an ascending order of a group number 1, to obtain a vector C′ whose length is L×N:
C′=[v.sub.L×N,1(θ,ϕ) v.sub.L×N,2(θ,ϕ) . . . v.sub.L×N,L(θ,ϕ)]; or
[0130] elements in a same location in each group of values in the L×N values are summated, to obtain a vector C whose length is N:
C′=v.sub.L×N,1(θ,ϕ)+v.sub.L×N,2(θ,ϕ)+v.sub.L×N,L(θ,ϕ).
[0131] Then, the communication device performs FFT or DBF on the vector C′ to obtain an included angle estimated value {tilde over (θ)}, substitutes the included angle estimated value {tilde over (θ)} into v#.sub.1,l({tilde over (θ)},ϕ) to obtain v.sub.#1,l({tilde over (θ)},ϕ), and then performs DBF to obtain an included angle estimated value {tilde over (ϕ)}. In other words, an estimated AoA of the AoA of the first signal is determined.
[0132] For the sparsely arranged antenna array #1, the antenna array #2 may be additionally disposed, where a quantity of rows of array elements arranged in the direction y is less than a quantity of rows of array elements of the antenna array #1, and an array element location is different from an array element location of the antenna array #1 in the direction x. The antenna array #1 and the antenna array #2 jointly receive a signal, and values determined based on received values of the antenna array #2 are inserted into received values of each row of array elements in the antenna array #1, to add sampling values of the received signal in the direction x. This can resolve a problem of angle ambiguity occurring when an AoA of a received signal is measured, estimate the AoA of the received signal, and effectively expand a field of view of an antenna array. In addition, dense arrangement of each row of array elements in the antenna array #1 is avoided, and engineering implementation is easy. Especially, a large-scale antenna array can reduce material overheads and costs of array elements on the basis of resolving a problem of angle ambiguity of an AoA.
[0133] The methods provided in the embodiments are described above in detail with reference to
[0134]
[0135] The communication apparatus 1500 may correspond to the communication device that performs the foregoing method embodiments, for example, may be the communication device or a chip configured in the communication device.
[0136] It should be understood that the communication apparatus 1500 may correspond to the communication device that performs the method 200 in the embodiments, and the communication apparatus 1500 may include units of the communication device that is configured to perform the method 200 in
[0137] When the communication apparatus 1500 is configured to perform the method 200 in
[0138] It should be further understood that, when the communication apparatus 1500 is a communication device, the transceiver unit 1520 in the communication apparatus 1500 may correspond to a transceiver 1620 in a communication device 1600 shown in
[0139] It should be further understood that, when the communication apparatus 1500 is a communication device, the transceiver unit 1520 in the communication apparatus 1500 may be implemented by using a communication interface (for example, a transceiver or an input/output interface), for example, may correspond to the transceiver 1620 in the communication device 1600 shown in
[0140] Optionally, the communication apparatus 1500 may further include a processing unit 1510. The processing unit 1510 may be configured to process instructions or data, to implement a corresponding operation.
[0141] Optionally, the communication apparatus 1500 may further include a storage unit. The storage unit may be configured to store instructions or data. The processing unit may invoke the instructions or the data stored in the storage unit, to implement a corresponding operation.
[0142] It should be understood that a process of performing a corresponding step by each unit has been described in detail in the foregoing method embodiments. For brevity, details are not described herein again.
[0143]
[0144] The processor 1610 and the memory 1630 may be integrated into one processing apparatus. The processor 1610 is configured to execute program code stored in the memory 1630 to implement the foregoing functions. During implementation, the memory 1630 may alternatively be integrated into the processor 1610 or may be independent of the processor 1610. The processor 1610 may correspond to the processing unit in
[0145] The transceiver 1620 may correspond to the transceiver unit in
[0146] It should be understood that the communication device 1600 shown in
[0147] The processor 1610 may be configured to perform an action that is implemented inside the communication device and that is described in the foregoing method embodiment, and the transceiver 1620 may be configured to perform an action that is of receiving the first signal by the communication device and that is described in the foregoing method embodiment. For details, refer to the descriptions in the foregoing method embodiments. Details are not described herein.
[0148] An embodiment further provides a processing apparatus, including a processor and an interface. The processor is configured to perform the method in any one of the foregoing method embodiments.
[0149] It should be understood that the processing apparatus may be one or more chips. For example, the processing apparatus may be a field programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a system on chip (SoC), a central processing unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), a micro controller (MCU), a programmable logic device (PLD), or another integrated chip.
[0150] In an implementation process, steps in the foregoing methods can be implemented by using a hardware integrated logical circuit in the processor, or by using instructions in a form of software. The steps of the method may be directly performed and completed by a hardware processor or may be performed and completed by using a combination of hardware and software modules in the processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or the like. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing methods in combination with hardware of the processor. To avoid repetition, details are not described herein again.
[0151] It should be noted that the processor in the embodiments may be an integrated circuit chip and has a signal processing capability. In an implementation process, the steps in the foregoing method embodiments can be implemented by a hardware integrated logical circuit in the processor, or by using instructions in a form of software. The foregoing processor may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. It may implement or perform the methods, the steps, and logical block diagrams in the embodiments. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the methods with reference to the embodiments may be directly performed and completed by a hardware decoding processor or may be performed and completed by using a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium mature in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, or the like. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the foregoing methods in combination with hardware of the processor.
[0152] It may be understood that the memory in the embodiments may be a volatile memory or a non-volatile memory or may include a volatile memory and a non-volatile memory. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitative description, many forms of RAMs are available, for example, a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDR SDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM), and a direct rambus random access memory (DR RAM). It should be noted that the memory in the system and the method is intended to include, but not limited to, these memories and any memory of another proper type.
[0153] According to the methods provided in the embodiments, a computer program product includes computer program code. When the computer program code is run on a computer, the computer is enabled to perform the method in the embodiment shown in
[0154] According to the methods provided in the embodiments a computer-readable medium stores program code. When the program code is run on a computer, the computer is enabled to perform the method in the embodiment shown in
[0155] According to the methods provided in the embodiments a system includes the one or more terminal devices and the one or more network devices.
[0156] The communication device in the apparatus embodiments corresponds to the communication device in the method embodiments. A corresponding module or unit performs a corresponding step. For example, a communication unit (a transceiver) performs a receiving step or a sending step in the method embodiments, and a processing unit (a processor) may perform another step other than the sending step and the receiving step. For a function of a unit, refer to a corresponding method embodiment. There may be one or more processors.
[0157] All or a part of the foregoing embodiments may be implemented by using software, hardware, firmware, or any combination thereof. When the software is used to implement embodiments, all or a part of embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or some of the procedures or functions according to the embodiments are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a high-density digital video disc (DVD)), a semiconductor medium (for example, a solid-state drive (SSD)), or the like.
[0158] The communication device in the foregoing apparatus embodiments corresponds to the communication device in the method embodiments. A corresponding module or unit performs a corresponding step. For example, a communication unit (a transceiver) performs a receiving step or a sending step in the method embodiments, and a processing unit (a processor) may perform another step other than the sending step and the receiving step. For a function of a unit, refer to a corresponding method embodiment. There may be one or more processors.
[0159] Terms such as “component”, “module”, and “system” are used to indicate computer-related entities, hardware, firmware, combinations of hardware and software, software, or software being executed. For example, a component may be, but is not limited to, a process that runs on a processor, a processor, an object, an executable file, an execution thread, a program, and/or a computer. As illustrated by using figures, both a computing device and an application that runs on the computing device may be components. One or more components may reside within a process and/or a thread of execution, and a component may be located on one computer and/or distributed between two or more computers. In addition, these components may be executed from various computer-readable media that store various data structures. The components may communicate by using a local and/or remote process and based on, for example, a signal having one or more data packets (for example, data from two components interacting with another component in a local system and/or a distributed system, and/or across a network such as the internet interacting with other systems by using the signal).
[0160] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and constraint conditions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the embodiments.
[0161] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments. Details are not described herein again.
[0162] In the several embodiments, it should be understood that the system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division during actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in an electrical form, a mechanical form, or another form.
[0163] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one location, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objective of the embodiments.
[0164] In addition, functional units in the embodiments may be integrated into one processing unit, each of the units may exist alone physically, or two or more units may be integrated into one unit.
[0165] In the foregoing embodiments, all or a part of functions of functional units may be implemented by using software, hardware, firmware, or any combination thereof. When the software is used to implement embodiments, all or a part of embodiments may be implemented in a form of a computer program product. The computer program product includes one or more computer instructions (programs). When the computer program instructions (programs) are loaded and executed on a computer, all or some of the procedures or functions according to the embodiments are generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid-state drive (SSD)), or the like.
[0166] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the embodiments essentially, or the part contributing to the conventional technology, or some of the embodiments may be implemented in a form of a software product. The computer software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments. The foregoing storage medium includes various media that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disc.
[0167] The foregoing descriptions are merely implementations , but are not intended to limit the scope of the embodiments. Any variation or replacement readily figured out by a person skilled in the art shall fall within the scope of the embodiments.