This application claims priority to and the benefit of Taiwan Application No. 109138518, filed on Nov. 5, 2020, the entirety of which is incorporated by reference herein.
The invention relates to an image annotation standardization method, and in particular it is related to an electronic device and a method for improving the angle of arrival of a signal.
In indoor positioning technology, no matter what kind of radio frequency technology (such as Wi-Fi, Bluetooth, UWB or ZigBee) is being employed, or what kind of algorithm (such as RSSI, angle of arrival (AoA), time of arrival (ToA), and time difference of arrival (TDOA)) is being used for indoor positioning, it is susceptible to many sources of interference that reduces the accuracy and stability of the positioning process. Examples of interference include the multipath effect and the co-channel interference (CCI), and these can even affect the platform noise of the positioning hardware itself.
The technology currently considered to be the most accurate is the angle of arrival (AoA) algorithm. In order to improve the coordinate accuracy of indoor positioning in an interference-heavy environment, finding a way to improve the accuracy of calculating incident angle and positioning coordinates based on the signal angle of arrival (AoA) algorithm has become an important issue.
In order to resolve the issue described above, an embodiment of the invention provides an electronic device that includes an indoor positioner and a positioning engine server. The indoor positioner has an array antenna that includes a plurality of antenna units. The indoor positioner divides the antenna units into multiple antenna unit groups, uses the antenna unit groups to receive a wireless signal from user equipment at each time point, and calculates a plurality of angles of arrival (AOA) corresponding to the antenna unit groups. The positioning engine server receives and stores the angles of arrival corresponding to the antenna unit groups at each time point, and filters the angles of arrival according to the angle sizes of the angles of arrival corresponding to the antenna unit groups at each time point stored in an observation period.
According to the electronic device disclosed above, the indoor positioner switches the polarization directions of the antenna unit groups at each time point, so that the antenna unit groups receive the wireless signal from the user equipment at different polarization directions, so as to increase the number of angles of arrival, calculated by the indoor positioner, corresponding to the antenna unit groups at each time point.
According to the electronic device disclosed above, the indoor positioner includes a controller. The controller divides the antenna units into a first direction antenna unit group, a second direction antenna unit group, a third direction antenna unit group, and a fourth direction antenna unit group according to the relative positional relationship of at least two of the antenna units in the array antenna.
According to the electronic device disclosed above, the positioning engine server calculates a trim mean corresponding to the angles of arrival from the first direction antenna unit group, the second direction antenna unit group, the third direction antenna unit group, and the fourth direction antenna unit group at each time point stored in the observation period, so as to delete outliers in the angles of arrival.
According to the electronic device disclosed above, the positioning engine server calculates a standard deviation corresponding to the angles of arrival from the first direction antenna unit group, the second direction antenna unit group, the third direction antenna unit group, and the fourth direction antenna unit group at each time point stored in the observation period, and deletes the outliers in the angles of arrival according to the standard deviation.
According to the electronic device disclosed above, the positioning engine server calculates a second trim mean corresponding to the angles of arrival from the first direction antenna unit group, the second direction antenna unit group, the third direction antenna unit group, and the fourth direction antenna unit group at each time point stored in the observation period, and deletes the outliers in the angles of arrival according to the second trim mean.
According to the electronic device disclosed above, the positioning engine server only reserves the one angle of arrival that corresponds to the first direction antenna unit group that is closest to the second trim value, the one angle of arrival that corresponds to the second direction antenna unit group that is closest to the second trim value, the one angle of arrival that corresponds to the third direction antenna unit group that is closest to the second trim value, and the one angle of arrival that corresponds to the fourth direction antenna unit group that is closest to the second trim value.
According to the electronic device disclosed above, the positioning engine server calculates a first covariance corresponding to the one angle of arrival of the first direction antenna unit group at each time point in the observation period, a second covariance corresponding to the one angle of arrival of the second direction antenna unit group at each time point in the observation period, a third covariance corresponding to the one angle of arrival of the third direction antenna unit group at each time point in the observation period, and a fourth covariance corresponding to the one angle of arrival of the fourth direction antenna unit group at each time point in the observation period.
According to the electronic device disclosed above, the positioning engine server compares the first covariance, the second covariance, the third covariance, and the fourth covariance, and selects at least two from the one angle of arrival of the first direction antenna unit group, the one angle of arrival of the second direction antenna unit group, the one angle of arrival of the third direction antenna unit group, and the one angle of arrival of the fourth direction antenna unit group according to a comparison result as the basis for calculating a positioning location.
The present invention also provides a method suitable for an indoor positioner and a positioning engine server. The indoor positioner incudes an array antenna including a plurality of antenna units. The method includes: dividing the antenna units into multiple antenna unit groups; receiving, via the antenna unit groups, a wireless signal from user equipment at each time point; calculating a plurality of angles of arrival (AOA) corresponding to the antenna unit groups at each time point; receiving and storing the angles of arrival corresponding to the antenna unit groups at each time point; and filtering the angles of arrival according to the angle sizes of the angles of arrival corresponding to the antenna unit groups at each time point stored in an observation period.
The disclosure can be more fully understood by reading the subsequent detailed description with references made to the accompanying figures. It should be understood that the figures are not drawn to scale in accordance with standard practice in the industry. In fact, it is allowed to arbitrarily enlarge or reduce the size of components for clear illustration. This means that many special details, relationships and methods are disclosed to provide a complete understanding of the disclosure.
In any case, a person skilled in the art may realize that this disclosure can still be implemented without one or more details or with other methods. For other examples, well-known structures or operations are not listed in detail to avoid confusion of this disclosure. The present disclosure is not limited by the described behavior or sequence of events, for example, some behaviors may occur in a different sequence or occur simultaneously under other behaviors or events. In addition, not all described actions or events need to be executed in the same method as the existing disclosure.
In some embodiments, the controller 112 of the indoor positioner 102 controls some or all of the antenna units in the array antenna 110 to receive the wireless signal from the indoor positioning tags 108-1 and 108-2. The wireless signal receiver 114 of the indoor positioner 102 demodulates and decodes the wireless signal received by the array antenna 110 to obtain user status information contained in the wireless signal, including acceleration magnitude, acceleration direction, and so on. The positioning engine server 104 stores the angles of arrival information from the indoor positioners 102, . . . , 102-n in the data base 106, so as to calculate and determine the position of each indoor positioning tag 108-1 and 108-2 according to the received angles of arrival information from the indoor positioners 102, . . . , 102-n, and finally completes the positioning of the indoor positioning tags 108-1 and 108-2. In some embodiments, the data base 106 is a non-volatile storage device that can store the angles of arrival of the indoor positioning tags 108-1 and 108-2 calculated by the indoor positioner 102 at each time point.
In some embodiments, the indoor positioning tags 108-1 and 108-2 can be arranged on user equipment, for example, can be built in a smart mobile device worn by the user or in a card for identification. The indoor positioning tags 108-1 and 108-2 continuously and periodically transmit wireless signals to the indoor positioners 102, . . . , 102-n installed in different positions as the user moves. Each indoor positioning tags 108-1 and 108-2 includes a gravity sensor (not shown) and a wireless signal transmitter (not shown), so that the wireless signals transmitted by the indoor positioning tags 108-1 and 108-2 can carry user status information, but the present invention is not limited thereto.
In some embodiments, the controller 112 of the indoor positioner 102 switches the polarization directions of antenna units A1-A9 (for example, the polarization direct A and the polarization direction B) according to the measurement requirements. For example, each of antenna units A1-A9 has more than two feeding points. The multiplexer coupled between the controller 112 and antenna units A1-A9 can switch the different feeding points of antenna units A1-A9 to change the polarization direction of antenna units A1-A9.
At time point to, the controller 112 of the indoor positioner 102 divides antenna units A1 and A4, antenna units A4 and A7, antenna units A2 and A5, antenna units A5 and A8, antenna units A3 and A6, and antenna units A6 and A9 into a direction {circle around (2)} antenna unit group. The controller 112 of the indoor positioner 102 calculates a plurality of angles of arrival corresponding to antenna units A1 and A4, A4 and A7, A2 and A5, A5 and A8, A3 and A6, and A6 and A9 at time point t0 according to the reception parameters (such as the receiving strength and the receiving phase) of the wireless signal from the user equipment received by the direction {circle around (2)} antenna unit group.
The controller 112 of the indoor positioner 102 divides antenna units A1 and A5, antenna units A4 and A8, antenna units A2 and A6, and antenna units A5 and A9 into a direction {circle around (3)} antenna unit group. The controller 112 of the indoor positioner 102 calculates a plurality of angles of arrival at time point to corresponding to antenna units A1 and A5, A4 and A8, A2 and A6, and A5 and A9 according to the reception parameters of the wireless signal from the user equipment received by the direction {circle around (3)} antenna unit group.
Similarly, the controller 112 of the indoor positioner 102 divides antenna units A2 and A4, antenna units A5 and A7, antenna units A3 and A5, and antenna units A6 and A8 into a direction {circle around (4)} antenna unit group. The controller 112 of the indoor positioner 102 calculates a plurality of angles of arrival at time point to corresponding to antenna units A1 and A5, A4 and A8, A2 and A6, and A5 and A9 according to the reception parameters of the wireless signal from the user equipment received by the direction antenna unit group. In some embodiments, the controller 112 of the indoor positioner 102 executes a multiple signals classification (MUSIC) algorithm to convert the received parameters corresponding to the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group into the corresponding plurality of angles of arrival.
Similarly, at time point to, the controller 112 of the indoor positioner 102 receives the wireless signal from the user equipment by the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the {circle around (3)} direction antenna unit group, and the direction {circle around (4)} antenna unit group respectively, so as to calculate the plurality of angles of arrival corresponding to the direction {circle around (1)} antenna unit group (i.e., antenna units A1 and A2, A4 and A5, A7 and A8, A2 and A3, A5 and A6, and A8 and A9), the direction {circle around (2)} antenna unit group (i.e., antenna units A1 and A4, A4 and A7, A2 and A5, A5 and A8, A3 and A6, and A6 and A9), the direction {circle around (3)} antenna unit group (i.e., antenna units A1 and A5, A4 and A8, A2 and A6, and A5 and A9), and the direction {circle around (4)} antenna unit group (i.e., antenna units A2 and A4, A5 and A7, A3 and A5, and A6 and A8).
In some embodiments, the controller 112 of the indoor positioner 102 switches the polarization directions of the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group at each time point, so that the above-mentioned antenna unit groups receive the wireless signal from the user equipment, so as to increase the number of angles of arrival corresponding to the above-mentioned antenna unit groups at each time point calculated by the controller 112 of the indoor positioner 102. In some embodiments, using two of antenna units A1-A9 to receive the wireless signal from the user equipment at each time point by the controller 112 of the indoor positioner 102 of the present invention is only as an example of the present invention. The person skilled in the art understands that the controller 112 of the indoor positioner 102 can also use more than three of antenna units A1-A9 to receive the wireless signal at each time point.
Then, the positioning engine server 104 receives and stores the angles of arrivals corresponding to the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group at each time point (such as time points t0, . . . , tn). In some embodiments, the positioning engine server 104 stores the angles of arrival corresponding to the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group at each time point in the data base 106. The positioning engine server 104 filters the angles of arrival according to the angle sizes of the angles of arrival corresponding to the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group at each time point stored in an observation period.
For example, the angles of arrival corresponding to antenna units A1 and A2 in the direction {circle around (1)} antenna unit group at each time point (such as from time points t0 to t10) are stored in the data base 106. For example, the data base 106 stores an angle of arrival a1 at time point to, an angle of arrival a2 at time point t1, an angle of arrival a3 at time point t2, . . . , and an angle of arrival an+1 at time point tn. The positioning engine server 104 filters the angles of arrival according to the angle sizes of the angles of arrival corresponding to antenna units A1 and A2 in the direction {circle around (1)} antenna unit group at each time point in the observation period (such as from time points t0 to t10). In other words, the positioning engine server 104 compares the historical data corresponding to the angles of arrival of antenna units A1 and A2 during the observation period (for example, hundreds of milliseconds or several seconds, or different setting according to the mobility of the indoor positioning tag 108-1) to delete the outliers in the angles of arrival corresponding to antenna units A1 and A2.
In some embodiments, the positioning engine server 104 calculates a trim mean corresponding to the angles of arrival from antenna units A1 and A2 in the direction {circle around (1)} antenna unit group at each time point (such as from time points t0 to t10), so as to delete outliers in the angles of arrival. For example, the positioning engine server 104 discards the highest 10% and lowest 10% of the angles of arrival a0-a9, that is, the highest and lowest angles of arrival in the angles of arrival a0-a9 are discarded. The positioning engine server 104 calculates an average value of the remaining 8 angles of arrival, and obtains the trim mean, which is used as the angle of arrival corresponding to antenna units A1 and A2 in the direction {circle around (1)} antenna unit group.
After that, the positioning engine server 104 also calculates the trim mean of the corresponding angles of arrival in the observation period to obtain the angles of arrival from antenna units A4 and A5, A7 and A8, A2 and A3, A5 and A6, and A8 and A9 in the direction {circle around (1)} antenna unit group, to obtain the angles of arrival from antenna units A1 and A4, A4 and A7, A2 and A5, A5 and A8, and A3 and A6 in the direction {circle around (2)} antenna unit group, to obtain the angles of arrival from antenna units A1 and A5, A4 and A8, A2 and A6, and A5 and A9 in the direction {circle around (3)} antenna unit group, and to obtain the angles of arrival from antenna units A2 and A4, A5 and A7, A3 and A5, and A6 and A8 in the direction {circle around (4)} antenna unit group.
In some embodiments, the positioning engine server 104 can also filter the angles of arrival by Wiener filter, Savotzky-Golay smoothing filter, Kalman filter, moving average filter, convolution calculation, correlative mean field filtering, coherence calculation, and cross-correlation calculation.
Then, the positioning engine server 104 calculates a standard deviation corresponding to the angles of arrival from the direction {circle around (1)} antenna unit group, the direction {circle around (2)} antenna unit group, the direction {circle around (3)} antenna unit group, and the direction {circle around (4)} antenna unit group at each time point (such as from time points t0 to t10) stored in the observation period, and deletes the outliers in the angles of arrival according to the standard deviation. For example, the positioning engine server 104 calculates a standard deviation of the angles of arrival from antenna units A1 and A2, A4 and A5, A7 and A8, A2 and A3, A5 and A6, and A8 and A9 in the direction {circle around (1)} antenna unit group, the angles of arrival from antenna units A1 and A4, A4 and A7, A2 and A5, A5 and A8, A3 and A6, and A6 and A9 in the direction {circle around (2)} antenna unit group, the angles of arrival from antenna units A1 and A5, A4 and A8, A2 and A6, and A5 and A9 in the direction {circle around (3)} antenna unit group, and the angles of arrival from antenna units A2 and A4, A5 and A7, A3 and A5, and A6 and A8 in the direction {circle around (4)} antenna unit group.
When the angle of arrival is greater than or less than a threshold (for example, greater than the absolute value of one standard deviation), the positioning engine server 104 discards the angle of arrival. For example, after the above method of calculating the standard deviation, the positioning engine server 104 discards the angles of arrival corresponding to antenna units A1 and A2, A2 and A3, and A5 and A6 in the direction {circle around (1)} antenna unit group, discards the angle of arrival corresponding to antenna units A3 and A6 in the direction {circle around (2)} antenna unit group, discards the angle of arrival corresponding to antenna units A2 and A6 in the direction {circle around (3)} antenna unit group, and discards the angles of arrival corresponding to antenna units A3 and A5, and A6 and A8 in the direction {circle around (4)} antenna unit group.
In other words, taking the materials illustrated in
Then, the positioning engine server 104 calculates a second trim mean corresponding to the angles of arrival from antenna units A4 and A5, A7 and A8, and A8 and A9 in the direction {circle around (1)} antenna unit group, the angles of arrival from antenna units A1 and A4, A4 and A7, A2 and A5, A5 and A8, and A6 and A9 in the direction {circle around (2)} antenna unit group, the angles of arrival from antenna units A1 and A5, A4 and A8, and A5 and A9 in the direction {circle around (3)} antenna unit group, and the angles of arrival from antenna units A2 and A4, and A5 and A7 in the direction {circle around (4)} antenna unit group at each time point (such as from time points t0 to t10) stored in the observation period, and deletes the outliers in the angles of arrival according to the second trim mean.
For example, when the angle of arrival from antenna units A7 and A8 in the direction {circle around (1)} antenna unit group is the closest to the second trim mean, the angle of arrival from the antenna units from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group is the closest to the second trim mean, the angle of arrival from the antenna units from antenna units A1 and A5 in the direction {circle around (3)} antenna unit group is the closest to the second trim mean, and the angle of arrival from the antenna units from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group is the closest to the second trim mean, the positioning engine server 104 only reserves the angle of arrival from antenna units A7 and A8 in the direction {circle around (1)} antenna unit group, the angle of arrival from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group, the angle of arrival from antenna units A1 and A5 in the direction {circle around (3)} antenna unit group, and the angle of arrival from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group, and deletes the angles of arrival from other antenna unit pairs. The method of filtering the angles of arrival by the above standard deviation and the above trim mean can filter out the angles of arrival obtained due to the multipath effect, thereby increasing the accuracy of subsequent positioning.
Finally, the positioning engine server 104 calculates a covariance C1 corresponding to the angle of arrival from antenna units A7 and A8 in the direction {circle around (1)} antenna unit group at each time point (such as from time points t0 to t10) in the observation period, a covariance C2 corresponding to the angle of arrival from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group at each time point in the observation period, a covariance C3 corresponding to the angle of arrival from antenna units A1 and A5 in the direction {circle around (3)} antenna unit group at each time point in the observation period, and a covariance C4 corresponding to the angle of arrival from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group at each time point in the observation period. Then, the positioning engine server 104 compares the covariance C1, C2, C3 and C4 to select two covariance with the best correlation, and uses the angles of arrival from the antenna units corresponding to the two selected covariance as the basis for subsequent calculation of the positioning location.
For example, when the positioning engine server 104 determines that the covariance C2 and C4 have the best correlation, the positioning engine server 104 selects the angle of arrival corresponding to antenna units A2 and A5 in the direction {circle around (2)} antenna unit group and the angle of arrival corresponding to antenna units A5 and A7 in the direction {circle around (4)} antenna unit group as the basis for subsequent calculation of the positioning. In some embodiments, the positioning engine server 104 inputs the angle of arrival from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group and the angle of arrival from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group into an interacting multiple mode (IMM) algorithm to get a positioning location.
In some embodiments, the positioning engine server 104 performs permutation and combination on the angle of arrival from antenna units A7 and A8 in the direction {circle around (1)} antenna unit group, the angles of arrival from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group, the angles of arrival from antenna units A1 and A5 in the direction {circle around (3)} antenna unit group, and the angles of arrival from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group, and inputs any two of the above-mention angles of arrival from different antenna unit groups into the interacting multiple mode (IMM) algorithm, so that 6 positioning locations (i.e., C24=6) are obtained.
After that, the positioning engine server 104 sequentially executes the following steps. First, the positioning engine server 104 calculates the distance between the above 6 positioning locations and the indoor positioner 102, and sets the positioning points that are more than 6 meters away from the indoor positioner 102 as invalid positioning points, which exceed the effective positioning range. Second, the positioning engine server 104 calculates the distance between the above 6 positioning points and the indoor positioner 102 according to RSSI of the wireless signal received by antenna units A7 and A8 in the direction {circle around (1)} antenna unit group, antenna units A2 and A5 in the direction {circle around (2)} antenna unit group, antenna units A1 and A5 in the direction {circle around (3)} antenna unit group, and antenna units A5 and A7 in the direction {circle around (4)} antenna unit group. For example, if the converted distance based on the RSSI is 2 meters, then all the positioning points 1.5˜2.5 meters way from the indoor positioner 102 are effective positioning points. Otherwise, they are invalid positioning point. Third, the positioning engine server 104 selects (plural) effective positioning points within one meter from the indoor positioner 102 among the above 6 positioning points, and calculates the center of gravity of the (plural) effective positioning points, then the positioning engine server 104 determines that the center of gravity of the (plural) effective positioning points is the best positioning point.
In some embodiments, after the positioning engine server 104 obtains the best angles of arrival (such as the angle of arrival from antenna units A2 and A5 in the direction {circle around (2)} antenna unit group and the angle of arrival from antenna units A5 and A7 in the direction {circle around (4)} antenna unit group), the positioning engine server 104 can achieve the prediction and smoothing of the moving path by Wiener filter, Savotzky-Golay smoothing filter, Kalman filter, moving average filter, convolution calculation, correlative mean field filtering, coherence calculation, cross-correlation calculation, artificial intelligence (AI), and other methods according to the historical positioning records related to the best angles of arrival.
In some embodiments, the controller 112 of the indoor positioner 102 in
The ordinals in the specification and the claims of the present disclosure, such as “first”, “second”, “third”, etc., have no sequential relationship, and are just for distinguishing between two different components with the same name. In the specification of the present disclosure, the word “couple” refers to any kind of direct or indirect electronic connection. The present disclosure is disclosed in the preferred embodiments as described above, however, the breadth and scope of the present disclosure should not be limited by any of the embodiments described above. Persons skilled in the art can make small changes and retouches without departing from the spirit and scope of the disclosure. The scope of the disclosure should be defined in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
109138518 | Nov 2020 | TW | national |