Positioning scanning method and apparatus

By collecting and filtering all wireless data packets in the terminal device and parsing the frame field to determine the data packets of the access device, the problem of low scanning success rate caused by wireless data packet conflict in the multi-access device environment is solved, and the positioning scanning is improved Success rate and accuracy.

WO2025007612A1PCT designated stage expired Publication Date: 2025-01-09HONOR DEVICE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/086541
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-04
Filing Date
2024-04-08
Publication Date
2025-01-09

AI Technical Summary

Technical Problem

In a multi-access device environment, due to wireless packet conflicts, the terminal device cannot effectively receive complete wireless packets, and the scanning success rate is low, affecting positioning and computing processing.

Method used

By collecting all received wireless data packets in the terminal device and filtering out the target data packets from the access device, including parsing the frame field to determine the data sender, filtering management frames, control frames, data frames and other types of management frames Data packets to improve the accuracy and success rate of positioning scans.

Benefits of technology

It improves the success rate and accuracy of positioning scanning, reduces scanning failures caused by wireless packet conflicts, and enhances the perception of the terminal equipment to the access device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024086541_09012025_PF_FP_ABST
    Figure CN2024086541_09012025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the field of terminal devices, and in particular to a positioning scanning method and apparatus. A positioning scanning method, characterized by comprising: acquiring wireless data packets which are allowed to be received in an environment where a terminal device is located; screening, from among the acquired wireless data packets, target data packets from access devices; and determining, on the basis of the target data packets, a MAC address and received signal strength indicator RSSI of each access device, wherein the MAC address and RSSI of each access device are used for positioning computation of the terminal device. On the basis of the positioning scanning method provided by the present application, when the terminal device acquires all the wireless data packets in the environment where it is located, to execute positioning scanning, the positioning scanning method is not limited to scanning Beacon packets and Probe Response packets of the access devices any more, so that the positioning scanning success rate is improved, thereby improving the problem of insufficient positioning scanning success rate caused by the failure to scan wireless data packets due to the conflict of the wireless data packets.
Need to check novelty before this filing date? Find Prior Art

Description

Positioning scanning method and device

[0001] This invention claims priority to the Chinese patent application filed with the State Intellectual Property Office of China on July 4, 2023, with application number 202310815206.9 and application name “Positioning Scanning Method and Device”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of terminal equipment, and in particular to a positioning scanning method and device. Background Art

[0003] When performing technologies such as indoor positioning and geo-fencing, terminal devices rely on scanning for access devices. This scanning process is performed by receiving wireless data packets, such as beacon packets or probe response packets, sent by these devices. However, in environments with a large number of access devices, wireless data packets sent by different devices can collide during transmission, preventing the terminal device from receiving a complete wireless data packet. This results in a low scan success rate for the terminal device, which in turn affects subsequent computational processing.

[0004] Summary of the Invention

[0005] In order to solve the problem in the prior art that wireless data packets may collide during transmission, resulting in the inability of terminal devices to effectively receive wireless data packets and a low scanning success rate, the present application provides a positioning scanning method and apparatus. The present application also provides a computer-readable storage medium.

[0006] In a first aspect, the present application provides a positioning scanning method, the method comprising:

[0007] Collect wireless data packets that can be received in the environment where the terminal device is located;

[0008] Filtering target data packets from access devices from collected wireless data packets;

[0009] Determine the MAC address and received signal strength RSSI of each access device based on the target data packet;

[0010] Among them, the MAC address and RSSI of each access device are used for positioning calculation of the terminal device.

[0011] According to the positioning scanning method provided in the present application, when the terminal device collects all wireless data packets in the environment to perform positioning scanning, it is no longer limited to scanning the beacon packets and probe response packets of the access device, thereby improving the success rate of positioning scanning and improving the problem of insufficient positioning scanning success rate caused by the inability to receive wireless data packets due to wireless data packet conflicts.

[0012] Furthermore, in order to improve the accuracy of the positioning scan, the target data packets from the access device are filtered from the collected wireless data packets, including:

[0013] Parsing each frame field of the collected wireless data packet, each frame field including: a field for indicating a data sender;

[0014] According to the field for indicating the data sender, the target data packet from the access device is filtered from the collected wireless data packets.

[0015] Furthermore, in order to determine that the sending end is an access device, target data packets from the access device are filtered from the collected wireless data packets according to the field used to indicate the data sender, including:

[0016] The fields used to indicate the sender of data include: a frame type field;

[0017] Filter the wireless data packets whose frame types are specified from the collected wireless data packets.

[0018] Furthermore, in order to determine that the sending end is an access device, the frame type is a specified type, including: the frame type is a management frame type, a control frame type, or a data frame type.

[0019] Furthermore, in order to determine that the sending end is an access device, target data packets from the access device are filtered from the collected wireless data packets according to the field used to indicate the data sender, including:

[0020] The fields used to indicate the data sender include: a frame subtype field;

[0021] Filtering wireless data packets whose frame subtypes are preset subtypes from the collected wireless data packets;

[0022] The preset subtypes include: a beacon frame type, an association response frame type, an authentication response frame type, or a probe response frame type.

[0023] Furthermore, in order to determine that the sending end is an access device, target data packets from the access device are filtered from the collected wireless data packets according to the field used to indicate the data sender, including:

[0024] The fields used to indicate the data sender include: a control bit field used to indicate whether the wireless data packet comes from the access device;

[0025] The collected wireless data packets are filtered out, and the control bit field of the wireless data packets has a first value. The first value indicates that the wireless data packet comes from an access device.

[0026] Furthermore, in order to determine that the sending end is an access device, target data packets from the access device are filtered from the collected wireless data packets according to the field used to indicate the data sender, including:

[0027] The fields used to indicate the data sender include: a data source address TA field and a basic service set identifier SSID field;

[0028] Filter the wireless data packets whose TA fields and SSID fields are consistent from the collected wireless data packets.

[0029] Furthermore, in order to determine that the sending end is an access device, target data packets from the access device are filtered from the collected wireless data packets according to the field used to indicate the data sender, including:

[0030] The fields used to indicate the data sender include: data source address TA field;

[0031] Filter the collected wireless data packets whose TA fields match the addresses in the address fingerprint library.

[0032] Furthermore, in order to improve the accuracy of the positioning calculation, after collecting the wireless data packets that can be received in the environment where the terminal device is located, the method further includes:

[0033] Performing cyclic redundancy check (CRC) on the collected wireless data packets;

[0034] If the CRC check fails, determine whether the TA field of the wireless data packet is valid;

[0035] If the TA field of the wireless data packet is valid, it is further determined whether the wireless data packet comes from the access device.

[0036] In a second aspect, the present application provides a positioning scanning chip, the chip comprising:

[0037] A receiving module collects wireless data packets that can be received in the environment where the terminal device is located;

[0038] A screening module, screening target data packets from access devices from the collected wireless data packets;

[0039] The determination module determines the MAC address and received signal strength RSSI of each access device based on the target data packet;

[0040] Positioning module, the MAC address and RSSI of each access device are used for positioning calculation of the terminal device.

[0041] In a third aspect, the present application provides an electronic device, comprising a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute any method step as in the first aspect.

[0042] In a fourth aspect, the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer-readable storage medium is run on a computer, the computer executes any one of the methods in the first aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] FIG1 is a schematic diagram of an access device scanning method in the related art;

[0044] FIG2 is a schematic diagram showing another access device scanning method in the related art;

[0045] FIG3 is a schematic diagram showing another access device scanning method in the related art;

[0046] FIG4 is a schematic structural diagram of a terminal device positioning and scanning system according to an embodiment of the present application;

[0047] FIG5 is a flowchart of a positioning scanning method according to an embodiment of the present application;

[0048] FIG6 is a schematic diagram showing a positioning scanning method according to an embodiment of the present application;

[0049] FIG7 is a schematic diagram showing the structure of a wireless data packet according to an embodiment of the present application;

[0050] FIG8 is a simplified structural diagram of a positioning scanning chip provided according to an embodiment of the present application;

[0051] FIG9 is a schematic diagram showing the hardware structure of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0052] Before describing the embodiments of the present application, the related technologies and technical problems are first described.

[0053] In related technologies, the scanning success rate of terminal devices is very important. Terminal devices can use the scanned access devices to perform positioning, geofencing, or other technologies. Taking Wi-Fi positioning technology as an example, terminal devices scan existing wireless networks and then use corresponding positioning algorithms to determine the specific location of the terminal device.

[0054] Wi-Fi positioning relies on the terminal device scanning for connected devices. The terminal device needs to detect the presence of connected devices by scanning for them, and then perform positioning based on their basic information. Therefore, the terminal device's scanning success rate—that is, whether it can scan connected devices—is extremely important.

[0055] Specifically, the terminal device senses the presence of the access device, receives the wireless data packets sent by the access device, and obtains the basic information of the access device from it, including parsing the MAC address of the access device and calculating the received signal strength (RSSI) to scan the access device. Furthermore, when performing other related operations on the scanned access device, such as performing positioning calculations, the terminal device determines the location information of the access device through the MAC address of the access device and a pre-configured fingerprint library. The terminal device calculates the distance between itself and the access device through RSSI, thereby combining the location information of the access device and the distance between itself and the access device to determine the location information of the terminal device.

[0056] Generally, a terminal device scans an access device through a wireless data packet carrying a beacon frame, ie, a beacon frame, or a wireless data packet carrying a response frame, ie, a probe response frame, sent by the access device.

[0057] Specifically, access devices periodically broadcast beacon packets carrying beacon frames. Terminal devices can listen for beacon packets actively transmitted by access devices within communication range to obtain basic information about access devices and scan them. Optionally, terminal devices can also actively probe within their environment by sending probe request packets carrying request frames and receiving probe response packets carrying response frames returned by access devices to obtain basic information about access devices and scan them.

[0058] However, in complex environments, such as shopping malls, due to the large number of access devices deployed, wireless data packets sent by different access devices may be concentrated at the same time. Furthermore, most access devices are hidden nodes and unaware of the presence of other access devices. As a result, wireless data packets cannot be sent in a timely manner. When different access devices transmit wireless data packets at the same time, the waveforms of the different wireless data packets collide during transmission, causing the terminal device to experience abnormal wireless data packet reception, resulting in failure to scan for access devices.

[0059] When two wireless data packets collide, both are damaged, and the terminal device cannot receive either one. When a terminal device cannot receive wireless data packets sent by an access device, it cannot scan the access device and cannot perform subsequent operations such as positioning based on the access device's MAC address and RSSI.

[0060] In a specific embodiment, as shown in FIG1 , there is a schematic diagram of an access device scanning method. Referring to FIG1 , there are two access devices AP1 and AP2 within the communication range of the terminal device. The terminal device broadcasts a wireless data packet carrying a probe request frame within the communication range. Both AP1 and AP2 receive the wireless data packet carrying the probe request frame sent by the terminal device, and return a wireless data packet carrying a probe response frame to the terminal device. When the terminal device receives the response frame wireless data packets returned by AP1 and AP2, AP1 and AP2 send the response frame wireless data packets at the same time, resulting in a collision between the two response frame wireless data packets during transmission. The terminal device is unable to receive any wireless data packet, which in turn causes the terminal device to fail to scan the access devices Ap1 and AP2.

[0061] In another specific embodiment, as shown in FIG2 , there is a schematic diagram of another access device scanning method. The terminal device sends a probe request wireless data packet to AP2 in a unicast manner. After receiving the request frame wireless data packet from the terminal device, AP2 returns a probe response wireless data packet. AP1 broadcasts a beacon frame wireless data packet. When the terminal device receives the response frame wireless data packet returned by AP2, it also receives the beacon frame wireless data packet broadcast by AP1, causing the response frame wireless data packet sent by AP2 to collide with the beacon frame wireless data packet broadcast by AP1, resulting in the terminal device being unable to receive either wireless data packet, thereby causing the terminal device to fail to scan access devices AP1 and AP2.

[0062] When a terminal device scans for access devices, the scan repetition rate is used to characterize the terminal device's success rate in scanning multiple access devices. For example, when scanning for access devices and querying the fingerprint database for the location information of the corresponding scanned access devices, the more access devices the terminal device misses, the lower the scan repetition rate, and the lower the accuracy of its positioning calculation. Conversely, the more access devices the terminal device scans, the higher the scan repetition rate, and the higher the accuracy of its positioning and fence calculation.

[0063] The scan repetition rate is calculated based on the proportion of scanned access devices to the pre-registered access devices in the fingerprint database. The greater the number of access devices scanned in the fingerprint database, the higher the scan repetition rate. Therefore, to improve positioning accuracy, the scan repetition rate of the terminal device scanning for access devices should be increased.

[0064] Figure 3 is a schematic diagram of a method for scanning access devices. In one specific embodiment, 12 access devices are preconfigured in the fingerprint database. At location 1, the terminal device scans access device E in the fingerprint database; at location 2, the terminal device scans access devices A, E, and I in the fingerprint database. The scan repetition rate at location 2 is higher than the scan repetition rate at location 1, resulting in a higher scan success rate and higher positioning accuracy.

[0065] Figure 4 is a schematic diagram of the structure of a terminal device positioning and scanning system according to an embodiment of the present application. Referring to Figure 4 , the terminal device positioning and scanning system includes a terminal device and several access devices. The access devices are typically routers, and there are two or more access devices.

[0066] When a terminal device scans for access devices by receiving wireless data packets within the terminal device positioning and scanning system, it must collect all receivable wireless data packets in its environment. This scanning can be done not only by receiving beacon packets and probe response packets sent by access devices, but also by collecting other types of wireless data packets within the terminal device positioning system, such as management frame wireless data packets, data frame wireless data packets, and control frame wireless data packets. Beacon packets and probe response packets are both management frame wireless data packets. Management frame wireless data packets include other types of wireless data packets in addition to beacon packets and probe response packets.

[0067] At the same time, the receiving end of the wireless data packet is not limited to being used to execute positioning terminal devices. Wireless data packets sent by the access device to other terminal devices, as well as wireless data packets sent between access devices, can also be obtained and used to sense the access device, and extract information such as MAC address and RSSI for related processing to improve the scanning repetition rate of scanning access devices.

[0068] FIG5 is a flowchart of a positioning scanning method according to an embodiment of the present application. The method is applied to a terminal device. Referring to FIG5 , the specific steps of the method include:

[0069] S501: Collect receivable wireless data packets in the environment where the terminal device is located.

[0070] Specifically, the terminal device collects all available wireless data packets within its communication range. The recipients of wireless data packets are not limited to the terminal device itself. This means that the terminal device must also collect wireless data packets not destined for the terminal device itself, such as those sent from the access device to other terminal devices or between access devices.

[0071] S502: Filter target data packets from the access device from the collected wireless data packets.

[0072] Specifically, each frame field in the collected wireless data packets is parsed to filter out target data packets that meet the receiving requirements from all received wireless data packets.

[0073] The frame field includes a field for indicating a data sender. The target data packet that meets the receiving requirements is a data packet sent from an access device.

[0074] S503: Determine the MAC address and received signal strength RSSI of each access device according to the target data packet.

[0075] Specifically, the terminal device determines the MAC address of the access device by parsing the TA in the wireless data packet and determines the RSSI of the access device by calculating the received wireless data packet.

[0076] When the wireless data packet is a data frame wireless data packet, the RSSI calculated by the terminal device also needs to take into account the influence of the data rate.

[0077] Specifically, when calculating the RSSI of a wireless data packet in a data frame, the terminal device also needs to determine the data transmission rate based on the wireless data packet. Because the data transmission rate affects the RSSI, after calculating the specific RSSI value based on the wireless data packet, the terminal device also needs to query the RSSI mapping table to determine the corresponding RSSI coefficient based on the data transmission rate. The calculated RSSI is then multiplied by the determined RSSI coefficient to obtain the target RSSI value used for positioning calculations.

[0078] In a specific embodiment, the data transmission rate is determined to be 1 Mbps based on the wireless data packet, and the corresponding RSSI coefficient is determined to be 1.5 by querying the RSSI mapping table. Therefore, the target RSSI' used for positioning is ultimately calculated as 1.5*RSSI, where RSSI is the RSSI initially calculated based on the wireless data packet.

[0079] The terminal device can perform operations such as positioning calculation based on the MAC address and RSSI of each access device obtained by scanning the access devices.

[0080] Specifically, the terminal device uses the determined MAC address to identify the corresponding access device in the fingerprint database and determine the location information of the access device. The terminal device calculates the Euclidean distance between it and the router using the calculated RSSI to complete the positioning.

[0081] Figure 6 is a schematic diagram of a positioning scanning method provided according to an embodiment of the present application. In a specific embodiment, the terminal device is located at point Y, and the terminal device scans the surrounding access devices to perform positioning. During the first scan, the terminal device scans router 1, router 2, and router 3, and calculates the received signal strength RSSI1, RSSI2, and RSSI3 from each router to the terminal device, and determines the vector

[0082] During the second scan, the terminal device scans router 1, router 2, and router 3, and calculates the received signal strength RSSI1', RSSI2', and RSSI3' from each router to the terminal device, and determines the vector

[0083] The formula for the Euclidean distance D between a terminal device and a router is:

[0084] where a i 、b i Represents vectors and The i-th item in .

[0085] Among them, the positioning accuracy can be characterized by calculating the similarity.

[0086] Specifically, sim(A,B) is a vector With vector The higher the similarity between the two vectors, the higher the positioning accuracy. The value of sim(A,B) is determined by D(A,B).

[0087] In addition to receiving beacon packets and probe response packets to perform scans on access devices, the embodiments of the present invention can also perform scans on access devices by collecting other wireless data packets, such as other types of management frame wireless data packets, data frame wireless data packets, control frame wireless data packets, etc., to obtain the MAC address and signal strength of the router, thereby realizing positioning calculation, improving the positioning scan success rate, and improving the problem of insufficient positioning scan success rate caused by the failure to scan beacon packets and probe response packets.

[0088] When executing S502 to filter the target data packets from the access device from the collected wireless data packets, it is necessary to parse each frame field in the wireless data packet, determine the field used to indicate the data sender, and combine different filtering methods to filter out the target data packets from the access device.

[0089] As shown in Figure 7, a schematic diagram of the structure of a wireless data packet provided by an embodiment of the present invention is shown. Referring to Figure 7, a wireless data packet includes three parts: a frame header, a data part (Frame Body), and a frame trailer (FCS). The frame header of the wireless data packet is used to carry information about the wireless data packet. The frame header of the wireless data packet specifically includes a frame control field (frame control), an address field (address1, address2), etc. By parsing the field in the wireless data packet frame header used to indicate the data sender, the target data packet can be filtered out. Among them, the field used to indicate the data sender is different according to different screening methods.

[0090] In some embodiments, the field used to indicate the data sender includes: a frame type field.

[0091] Specifically, as shown in Figure 7, the frame control field of a wireless data packet includes a frame type field (type field) that identifies different functional frame types. The terminal device parses the frame type field of the wireless data packet to determine the functional frame type carried by the wireless data packet, thereby determining the type of the wireless data packet. Based on the type of the wireless data packet, the terminal device determines whether the wireless data packet can be used as a target data packet.

[0092] In the related art, only when the frame type field is parsed to determine that the frame type is a management frame type, and the subsequent steps determine that the wireless data packet is a beacon packet or a probe response packet under the management frame type, will the wireless data packet be used to perform positioning scanning, while other types of wireless data packets will be used to perform corresponding functions and will not be determined as target data packets to perform positioning scanning.

[0093] In the embodiment of the present invention, by parsing the field indicating the data sender, that is, parsing the frame type field, when it is determined that the frame type is a preset specified type, the wireless data packet is determined as the target data packet.

[0094] The designated types include management frame type (mgmt frame), control frame type (control frame) and data frame type (data frame).

[0095] In a specific embodiment, when the corresponding frame type field value is parsed to be 00, it is determined that the functional frame type carried by the wireless data packet is a management frame, and the wireless data packet is a management frame wireless data packet, which can be used as a target data packet; when the corresponding frame type field value is parsed to be 01, it is determined that the functional frame type carried by the wireless data packet is a control frame, and the wireless data packet is a control frame wireless data packet, which can be used as a target data packet; when the corresponding frame type field value is parsed to be 10, it is determined that the functional frame type carried by the wireless data packet is a data frame, and the wireless data packet is a data frame wireless data packet, which can be used as a target data packet.

[0096] In some embodiments, in order to improve the accuracy of positioning scanning, the terminal device can also parse other frame fields in the wireless data packet to determine that the sender of the wireless data packet is the access device rather than other terminal devices.

[0097] Taking a router as an example, since the router's location information has been pre-entered in the fingerprint database, and the router's location is relatively fixed and generally does not change easily, the terminal device's positioning calculation performed by the wireless data packets sent by the router is more accurate. However, if the wireless data packets are sent by an access device other than a router, such as a terminal device equipped with a hotspot function, the terminal device may not be able to be positioned based on its location because the fingerprint database is not entered into the terminal device, or the terminal device may move, resulting in poor positioning accuracy based on the wireless data packets sent by the terminal device.

[0098] Therefore, when the terminal device filters the target data packets from the access device from the collected wireless data packets, it also needs to parse the field used to indicate the data sender to ensure that the collected target data packets are sent by the access device such as the router, rather than other terminal devices.

[0099] In some embodiments, the field used to indicate the data sender includes: a frame subtype field.

[0100] 7 , the frame control field of the wireless data packet also includes a frame subtype field (Subtype type field) for identifying a specific subtype.

[0101] When the frame type is determined to be a management frame type by parsing the frame type field of the wireless data packet, it is necessary to further determine the subtype of the management frame according to the frame subtype field, and determine the sending source of the wireless data packet according to the subtype of the management frame.

[0102] Specifically, the subtypes of management frames include: beacon frame, association request frame, association response frame, disassociation frame, authentication request frame, authentication response frame, deauthentication frame, probe request frame, probe response frame, etc.

[0103] Among them, beacon frames, association response frames, authentication response frames and detection response frames are only sent by access devices. When the terminal device parses the wireless data packet and finds the management frame of the above subtypes, it determines the wireless data packet as the target data packet from the access device.

[0104] When the terminal device determines that the wireless data packet contains management frames of subtypes such as association request frame, disassociation frame, authentication request frame, de-authentication frame, and probe request frame, it determines that the wireless data packet is not sent by the access device, but is sent by other terminal devices within the communication range of the terminal device, and cannot be used to perform positioning scanning, so the wireless data packet is discarded.

[0105] In a specific embodiment, when the terminal device parses the frame type field of the wireless data packet and determines that the wireless data packet is a management frame data packet, and further determines that the subtype of the management frame is an authentication response frame by parsing the frame subtype field, it can be determined that the wireless data packet comes from a wireless device and can be determined as a target data packet.

[0106] In some embodiments, the field for indicating the data sender includes: a control bit field for indicating whether the wireless data packet comes from an access device.

[0107] Specifically, wireless data packets whose control bit fields have a first value are filtered out from the collected wireless data packets as target data packets, where the first value is used to indicate that the wireless data packet comes from an access device.

[0108] The control bit field is generally the FromDs field in the frame control field, and the first value of the control bit field is generally 1.

[0109] 7 , the frame control field further includes a ToDs field and a FromDs field. The ToDs field and the FromDs subfield are used to indicate the types of the source address and the destination address of the wireless data packet.

[0110] When the wireless data packet is determined to be a data frame wireless data packet by parsing the frame field type, it is necessary to determine whether the data frame wireless data packet is transmitted by the access device by parsing the ToDs field and the FromsDs field in the frame control field.

[0111] Specifically, the ToDs field and the FromDs field are parsed separately to obtain the field information therein. When the ToDs field is 0 and the FromDs field is 1, it is determined that the wireless data packet is sent by the access device to the terminal device or other terminal devices; when the ToDs field is 1 and the From field is 1, it is determined that the wireless data packet is sent by any access device to other access devices, that is, data transmission between two bridged access devices or two access devices in a mesh network. When the FromDs field is 0, it can be determined that the wireless data packet is not sent by the access device and is discarded.

[0112] Therefore, when the FromDs subfield in the received wireless data packet is 1, that is, when the control bit field is the first value, no matter what the value of the ToDs field is, the wireless data packet is determined to be a target data packet from the access device.

[0113] When the FromDs field in the received wireless data packet is 0, it is determined that the wireless data packet is not sent by the access device, but is sent by other terminal devices within the communication range of the terminal device. It cannot be used to perform positioning and the wireless data packet is discarded.

[0114] In some embodiments, the field used to indicate the data sender includes: a data source address TA field and a basic service set identifier SSID field.

[0115] Specifically, from the collected wireless data packets, wireless data packets with the same TA field and SSID field are selected as target data packets.

[0116] 7 , the frame header of the wireless data packet further includes address fields address1 , address2 , address3 , and address4 .

[0117] The address2 field is the TA field. By parsing the address2 field, you can obtain the TA of the wireless data packet. The SSID field of the wireless data packet is not fixed and needs to be determined by combining the ToDs field and FromDs field in the frame control field.

[0118] In some embodiments, the field used to indicate the data sender includes: a data source address TA field.

[0119] Specifically, when the SSID field is not parsed in the wireless data packet, the TA field is parsed from the wireless data packet, and the parsed TA field is searched and matched in the preset fingerprint library. When the TA field and the fingerprint are the same in any pre-stored router address, the wireless data packet is determined to be the target data packet, otherwise the wireless data packet is discarded.

[0120] In some embodiments, at S501, after collecting wireless data packets that can be received in the environment of the terminal device, a cyclic redundancy check (CRC) is performed to determine the integrity of the wireless data packets. If the terminal device determines through the CRC that the wireless data packet contains an error or is incomplete, the wireless data packet will be discarded because the wireless data packet cannot perform normal functions.

[0121] In this embodiment of the present invention, after receiving a wireless data packet, a CRC check is performed on the wireless data packet. If the CRC check succeeds, the wireless data packet is determined to be normal and can be used to perform positioning calculations and other normal functions. If the CRC check fails, the TA field in the wireless data packet is determined to be valid. If valid, it can also be used for positioning, further confirming whether the wireless data packet is the target data packet from the access device.

[0122] Among them, since the corresponding function is not to be executed through the wireless data packet, but positioning is required through the wireless data packet, even if the wireless data packet does not pass the CRC check, that is, there is a problem in the wireless data packet, as long as the relevant information of the MAC address still exists in the wireless data packet, the wireless data packet can be used to perform positioning.

[0123] FIG8 is a simplified structural diagram of a positioning chip provided according to an embodiment of the present application, which is deployed on a terminal device that performs a positioning scanning method. As shown in FIG8 , the chip includes:

[0124] The receiving module 801 collects wireless data packets that can be received in the environment where the terminal device is located;

[0125] The screening module 802 screens target data packets from the access device from the collected wireless data packets;

[0126] A determination module 803 determines the MAC address and received signal strength RSSI of each access device according to the target data packet;

[0127] Positioning module 804, the MAC address and RSSI of each access device are used for positioning calculation of the terminal device.

[0128] In the description of the embodiments of the present application, for the convenience of description, the device is described as being divided into various modules according to their functions. The division of each module is merely a division of logical functions. When implementing the embodiments of the present application, the functions of each module can be implemented in the same or multiple software and / or hardware.

[0129] Specifically, the device proposed in the embodiment of the present application can be fully or partially integrated into a physical entity during actual implementation, or it can be physically separated. And these modules can all be implemented in the form of software calling through processing elements; or they can all be implemented in the form of hardware; or some modules can be implemented in the form of software calling through processing elements, and some modules can be implemented in the form of hardware. For example, the detection module can be a separately established processing element, or it can be integrated in a chip of an electronic device. The implementation of other modules is similar. In addition, these modules can be fully or partially integrated together, or they can be implemented independently. During the implementation process, each step of the above method or each of the above modules can be completed by the hardware integrated logic circuit in the processor element or the instructions in the form of software.

[0130] For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as one or more application-specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs). For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0131] In actual application scenarios, the method flow of the embodiments shown in this specification can be implemented by an electronic chip installed on an electronic device. Therefore, an embodiment of the present application proposes an electronic chip. For example, the electronic chip is installed on an electronic device, and the electronic chip includes:

[0132] A processor is used to execute computer program instructions stored in a memory, wherein when the computer program instructions are executed by the processor, the electronic chip is triggered to execute the method steps described in the embodiments of the present application.

[0133] An embodiment of the present application further provides an electronic device, which can be implemented as an Internet access device. The Internet access device includes a memory for storing computer program instructions and a processor for executing the program instructions. When the computer program instructions are executed by the processor, a server device is triggered to execute the method steps described in the embodiment of the present application.

[0134] Specifically, in one embodiment of the present application, the above-mentioned one or more computer programs are stored in the above-mentioned memory, and the above-mentioned one or more computer programs include instructions. When the above-mentioned instructions are executed by the above-mentioned device, the above-mentioned device executes the method steps described in the embodiment of the present application.

[0135] One embodiment of the present application further provides an electronic device, which can be implemented as a terminal device. The terminal device includes a memory for storing computer program instructions and a processor for executing the program instructions. When the computer program instructions are executed by the processor, the terminal device is triggered to perform the method steps described in the embodiment of the present application.

[0136] Specifically, in one embodiment of the present application, the above-mentioned one or more computer programs are stored in the above-mentioned memory, and the above-mentioned one or more computer programs include instructions. When the above-mentioned instructions are executed by the above-mentioned device, the above-mentioned device executes the method steps described in the embodiment of the present application.

[0137] For example, FIG9 shows a schematic diagram of the hardware structure of an electronic device provided in an embodiment of the present application. As shown in FIG9, the electronic device 900 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.

[0138] It should be understood that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 900. In other embodiments of the present application, the electronic device 900 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0139] The processor 110 of the electronic device 900 may be a device on a chip (SOC), which may include a central processing unit (CPU) or other types of processors. For example, the processor 110 may be a PWM control chip.

[0140] The processor involved in the processor 110 may include, for example, a CPU, a DSP, a microcontroller, or a digital signal processor, and may also include a GPU, an embedded neural network processor (NPU), and an image signal processor (ISP). The processor 110 may also include necessary hardware accelerators or logic processing hardware circuits, such as ASICs, or one or more integrated circuits for controlling the execution of the program of the technical solution of the present application. In addition, the processor 110 may have the function of operating one or more software programs, and the software programs may be stored in a storage medium.

[0141] The processor 110 may include one or more processing units. For example, the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent components or integrated into one or more processors. In some embodiments, the electronic device 900 may also include one or more processors 110. The controller may generate an operation control signal based on the instruction opcode and the timing signal to complete the control of instruction fetching and execution.

[0142] In some embodiments, the processor 110 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a SIM card interface, and / or a USB interface. Among them, the USB interface 130 is an interface that complies with the USB standard specification, and specifically can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface 130 can be used to connect a charger to charge the electronic device 900, and can also be used to transmit data between the electronic device 900 and peripheral devices.

[0143] It is understood that the interface connection relationship between the modules illustrated in the embodiment of the present application is merely an illustrative illustration and does not constitute a structural limitation on the electronic device 900. In other embodiments of the present application, the electronic device 900 may also adopt a different interface connection method from the above embodiment, or a combination of multiple interface connection methods.

[0144] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 900. The external memory card communicates with the processor 110 via the external memory interface 120 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0145] The internal memory 121 of the electronic device 900 can be used to store one or more computer programs, which include instructions. The processor 110 can run the above instructions stored in the internal memory 121, so that the electronic device 900 performs the methods provided in some embodiments of the present application, as well as various applications and data processing. The internal memory 121 may include a code storage area and a data storage area. Among them, the code storage area can store an operating system. The data storage area can store data created during the use of the electronic device 900, etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage components, flash memory components, universal flash storage (UFS), etc.

[0146] The internal memory 121 can be a read-only memory (ROM), other types of static storage devices that can store static information and instructions, random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or it can be any computer-readable medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer.

[0147] The processor 110 and the internal memory 121 can be combined into a processing device, or more commonly, they are independent components. The processor 110 is used to execute the program code stored in the internal memory 121 to implement the method described in the embodiment of the present application. In specific implementations, the internal memory 121 can also be integrated into the processor, or independent of the processor.

[0148] The charging management module 140 is configured to receive charging input from a charger. The charger can be either a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 140 can receive charging input from the wired charger via the USB interface 130. In some wireless charging embodiments, the charging management module 140 can receive wireless charging input via the wireless charging coil of the electronic device 900. While charging the battery 142, the charging management module 140 can also provide power to the electronic device 900 via the power management module 141.

[0149] The power management module 141 is used to connect the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and provides power to the processor 110, the internal memory 121, the external memory interface 120, the mobile communication module 150, and the wireless communication module 160. The power management module 141 can also be used to monitor parameters such as battery capacity, battery cycle count, and battery health status (leakage, impedance). In some other embodiments, the power management module 141 can also be set in the processor 110. In other embodiments, the power management module 141 and the charging management module 140 can also be set in the same device.

[0150] The wireless communication function of the electronic device 900 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.

[0151] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 900 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.

[0152] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied to the electronic device 900. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 can be set in the processor 110.

[0153] The modem processor may include a modulator and a demodulator. The modulator is used to modulate the low-frequency baseband signal to be transmitted into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After being processed by the baseband processor, the low-frequency baseband signal is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to the speaker 170A, the receiver 170B, etc.) or displays an image or video through the display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.

[0154] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the electronic device 900. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.

[0155] In some embodiments, antenna 1 of electronic device 900 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, so that electronic device 900 can communicate with a network and other devices via wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).

[0156] The electronic device 900 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.

[0157] The electronic device 900 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.

[0158] The electronic device 900 can implement touch input through the display screen 194, the touch sensor 180K, and the processor 110. For example, the touch sensor 180K and the display screen 194 are integrated into a touch screen. The user's click operation on the touch screen is captured by the touch sensor 180K as a touch signal. The touch signal is collected and converted by the sensor module 180 and transmitted to the processor 110. The processor 110 recognizes the touch signal and interprets it as the user's touch operation behavior.

[0159] Furthermore, the devices, apparatuses, and modules described in the embodiments of the present application may be implemented by computer chips or entities, or by products having certain functions.

[0160] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, apparatus, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code.

[0161] In the several embodiments provided in this application, if any function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the method described in each embodiment of this application.

[0162] Specifically, an embodiment of the present application further provides a computer-readable storage medium, which stores a computer program. When the computer-readable storage medium is run on a computer, the computer executes the method provided in the embodiment of the present application.

[0163] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program product is run on a computer, it enables the computer to execute the method provided in the embodiment of the present application.

[0164] The embodiment description in this application is described with reference to the flow chart and / or block diagram according to the method, equipment (device) and computer program product of embodiment of the present application.It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized by computer program instructions.These computer program instructions can be provided to the processor of general-purpose computer, special-purpose computer, embedded processing machine or other programmable data processing equipment to produce a machine, so that the instruction executed by the processor of computer or other programmable data processing equipment produces the device for realizing the function specified in one flow chart flow chart or multiple flow charts and / or one block or multiple blocks of block diagram.

[0165] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0166] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0167] It should also be noted that, in the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent the existence of A alone, the existence of A and B at the same time, and the existence of B alone. Among them, A and B can be singular or plural. The character " / " generally indicates that the previous and subsequent associated objects are in an "or" relationship. "At least one of the following" and similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b and c can represent: a, b, c, a and b, a and c, b and c or a and b and c, where a, b, c can be single or multiple.

[0168] In the embodiments of the present application, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not preclude the presence of additional identical elements in the process, method, commodity, or apparatus comprising the element.

[0169] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0170] The various embodiments in this application are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences from other embodiments. In particular, the device embodiments are generally similar to the method embodiments, so the description is relatively simple. For relevant parts, refer to the partial description of the method embodiments.

[0171] Those skilled in the art will appreciate that the various units and algorithm steps described in the embodiments of the present application can be implemented using a combination of electronic hardware, computer software, and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0172] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices, apparatuses and units can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0173] The above description is merely a specific embodiment of the present application. Any person skilled in the art may easily conceive of variations or substitutions within the technical scope disclosed in this application, and such variations or substitutions shall be within the scope of protection of this application. The scope of protection of this application shall be subject to the scope of protection of the claims.

Claims

1. A positioning scanning method, characterized in that: The method comprises: Collect wireless data packets that can be received in the environment where the terminal device is located; Filtering target data packets from access devices from collected wireless data packets; Determine the MAC address and received signal strength RSSI of each access device according to the target data packet; Among them, the MAC address and RSSI of each access device are used for positioning calculation of the terminal device.

2. The method according to claim 1, characterized in that The step of screening the target data packet from the access device from the collected wireless data packets includes: Parsing each frame field of the collected wireless data packet, wherein each frame field includes: a field for indicating a data sender; According to the field used to indicate the data sender, the target data packet from the access device is filtered from the collected wireless data packets.

3. The method according to claim 2, characterized in that The step of filtering the target data packet from the access device from the collected wireless data packets according to the field indicating the data sender includes: The field used to indicate the data sender includes: a frame type field; Filter the wireless data packets whose frame types are specified from the collected wireless data packets.

4. The method according to claim 3, characterized in that: The frame type is a specified type, including: the frame type is a management frame type, a control frame type or a data frame type.

5. The method according to claim 2, characterized in that: The step of filtering the target data packet from the access device from the collected wireless data packets according to the field indicating the data sender includes: The field used to indicate the data sender includes: a frame subtype field; Filtering wireless data packets whose frame subtypes are preset subtypes from the collected wireless data packets; The preset subtype includes: a beacon frame type, an association response frame type, an authentication response frame type or a detection response frame type.

6. The method according to claim 2, characterized in that The step of filtering the target data packet from the access device from the collected wireless data packets according to the field indicating the data sender includes: The field used to indicate the data sender includes: a control bit field used to indicate whether the wireless data packet comes from an access device; The wireless data packets whose control bit field has a first value are filtered out from the collected wireless data packets, where the first value indicates that the wireless data packet comes from an access device.

7. The method according to any one of claims 2 to 6, characterized in that: The step of filtering the target data packet from the access device from the collected wireless data packets according to the field indicating the data sender includes: The fields used to indicate the data sender include: a data source address TA field and a basic service set identifier SSID field; Filter the wireless data packets whose TA fields and SSID fields are consistent from the collected wireless data packets.

8. The method according to any one of claims 2 to 6, characterized in that: The step of filtering the target data packet from the access device from the collected wireless data packets according to the field indicating the data sender includes: The field used to indicate the data sender includes: a data source address TA field; Filter the wireless data packets whose TA fields are consistent with the addresses in the address fingerprint library from the collected wireless data packets.

9. The method according to claim 1, characterized in that: After collecting wireless data packets that can be received in the environment where the terminal device is located, the method further includes: Performing cyclic redundancy check (CRC) on the collected wireless data packets; If the CRC check fails, determining whether the TA field of the wireless data packet is valid; If the TA field of the wireless data packet is valid, it is further determined whether the wireless data packet comes from an access device.

10. A positioning scanning chip, the chip comprising: A receiving module collects wireless data packets that can be received in the environment where the terminal device is located; A screening module, screening target data packets from access devices from the collected wireless data packets; A determination module determines the MAC address and received signal strength RSSI of each access device according to the target data packet; Positioning module, the MAC address and RSSI of each access device are used for positioning calculation of the terminal device.

11. An electronic device, characterized in that: The electronic device comprises a memory for storing computer program instructions and a processor for executing the computer program instructions, wherein when the computer program instructions are executed by the processor, the electronic device is triggered to execute the method steps as claimed in any one of claims 1 to 9.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which, when executed on a computer, enables the computer to execute the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Wireless terminal positioning system

    CN103037508A

  • Target positioning method and system based on mobile terminal and WiFi probe

    CN107864451A

  • Positioning method based on signal data screening, electronic device and storage medium

    CN107966678A

  • Positioning method and apparatus for terminal, using various data combinations

    US20220034990A1