System and method for improving beacon frame reception success rate in wireless network

By calculating the time interval and error correction of beacon frames, the customer site improved the success rate of beacon frame reception in the wireless network, solved the reception failure problem caused by clock error in the power-saving mode of battery-powered equipment, and achieved power saving and timely wake-up.

CN120857261APending Publication Date: 2025-10-28BEKEN CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410518874.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-26
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

In wireless networks, battery-powered client devices in power-saving mode are prone to low reception success rates due to clock errors when receiving beacon frames, and may fail to wake up in time to receive beacon frames.

Method used

The processor at the customer site determines the transmission and reception time interval of beacon frames, calculates the reference time difference and the normalized time difference, predicts the target transmission time of subsequent beacon frames, and wakes up in advance at the wake-up time to prepare for receiving beacon frames.

Benefits of technology

It improves the success rate of beacon frame reception, reduces power consumption, and ensures that client devices can wake up in time to receive beacon frames in energy-saving mode.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120857261A_ABST
    Figure CN120857261A_ABST
Patent Text Reader

Abstract

A system and method is provided that optimizes wakeup time arrangement of a client device to improve the success rate of receiving beacon frames from an access point (AP) in a wireless network by determining STA wakeup time to compensate for errors of the STA clock, thereby achieving reliable data transmission while taking into account minimum power consumption. The client device determines an optimal STA wake-up time by analyzing the beacon frame, identifying a difference between the STA clock and a reference time. The wake-up time arrangement of the STA from the energy-saving mode is optimized, so that the STA can be prepared in advance before the beacon frames are broadcast, and the beacon frames are ensured to be received consistently.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and more specifically, to a system and method for improving the success rate of beacon frame reception in a wireless network. Background Technology

[0002] This application generally relates to wireless communication systems, and more specifically, to wireless networks (such as WLANs). In a wireless network, an access point periodically broadcasts beacon frames to announce the presence of the network and allows client devices to connect and maintain the connection. To conserve battery power, battery-powered client devices such as mobile phones and laptops typically enter a power-saving mode between data transmissions. Summary of the Invention

[0003] A method for improving beacon frame reception success rate includes using one or more processors at a customer site (STA) to determine a reference time interval based on the difference between a second transmission time of a second beacon frame and a first transmission time of a first beacon frame; determining an STA time interval based on the difference between a second reception time of the second beacon frame and a first reception time of the first beacon frame; determining a REF-STA time difference based on the determined reference time interval and the determined STA time interval; determining a normalized REF-STA time difference based on the REF-STA time difference, a predetermined beacon interval, and the reference time interval; determining the target beacon transmission time (TBTT) of subsequent beacon frames based on the transmission time of the current beacon frame and the predetermined beacon interval; determining an STA wake-up time based on the TBTT of the subsequent beacon frames and the normalized REF-STA time difference; and waking the STA from power-saving mode at the STA wake-up time to prepare for receiving subsequent beacon frames.

[0004] In one embodiment, an STA includes one or more processors and a memory that stores instructions, when executed, to configure the STA to perform the steps in the methods described above.

[0005] In another embodiment, a non-transitory computer-readable storage medium contains instructions that, when executed by one or more processors, cause an STA to perform the steps in the methods described above. Attached Figure Description

[0006] To facilitate identification of any discussion of a particular element or action, the most important number in the figure labels corresponds to the figure number in which the element is first introduced.

[0007] Figure 1 A schematic diagram illustrating a network environment according to an embodiment of this application is shown.

[0008] Figure 2 A block diagram of a sample customer site module according to an embodiment of this application is shown.

[0009] Figure 3 The present application illustrates the components and timeline of a beacon frame according to an embodiment of the present application, showing the process of the beacon frame being transmitted from the access point to the client site and the moment when the client site is woken up to receive the beacon frame.

[0010] Figure 4 A conceptual diagram according to an embodiment of this application is shown, which includes two timelines illustrating an example timing sequence for the transmission of beacon frames from an access point to a customer site.

[0011] Figure 5 A conceptual diagram according to an embodiment of this application is shown, which includes two timelines illustrating an example timing sequence of beacon frame transmission from an access point to a client site in the presence of network traffic.

[0012] Figure 6 A flowchart illustrating a method for improving the success rate of beacon frame reception according to an embodiment of this application is shown.

[0013] Figure 7 A schematic representation of a customer site according to an embodiment of this application is shown.

[0014] Figure 8 This is a block diagram of example components of a customer site according to an embodiment of this application.

[0015] Figure 9 This is a flowchart of a method 900 for improving the success rate of beacon frame reception according to an embodiment of this application. Detailed Implementation

[0016] The following description includes systems, methods, techniques, instruction sequences, and computer program products embodying exemplary embodiments of this application. In the following description, numerous specific details are described for purposes of explanation to facilitate understanding of various embodiments of the subject matter of the invention. However, it will be apparent to those skilled in the art that various embodiments of the subject matter of the invention can be practiced without these specific details. Generally, well-known examples of instructions, protocols, structures, and techniques need not be shown in detail. In the examples provided below, the time unit is expressed in milliseconds (ms); however, the system and method are not limited to any particular time unit. In some embodiments, microseconds (μs) may be used instead of ms to obtain more precise time values.

[0017] Figure 1 This is a schematic diagram of a network environment 100 according to an embodiment of this application.

[0018] Network environment 100 includes network 102, access point 104, customer site 106, and customer site 108. Network environment 100 represents the configuration of devices and connections in a wireless communication environment.

[0019] Access point 104 connects to network 102, acting as an intermediary between network 102 and wireless devices such as client site 106 and client site 108. Client site 106 may be integrated into a device such as a smartphone or laptop. Client site 106 is wirelessly connected to network 102 via access point 104. This connection enables client site 106 to access network resources, communicate with other devices, and exchange data. In some examples, client site 106 may be considered as access point 104 of client site 108.

[0020] Figure 2 A framework diagram of the various modules of a customer site (STA) according to an embodiment of this application is shown.

[0021] Customer site 106 includes customer site RX module 202, beacon frame RX module 204, error detection and compensation module 206, time synchronization module 208, and TBTT calculation module 210. Error detection and compensation module 206 includes beacon frame storage module 212, error estimation module 214, and wake-up advance determination module 216.

[0022] The customer site RX module 202 processes wireless signals received and processed at the customer site 106. In some embodiments, the wireless signals include beacon frames broadcast from an access point (AP).

[0023] The beacon frame RX module 204 processes the received beacon frame, extracts the timestamp (e.g., Time Synchronization Function (TSF) value) from the received beacon frame, and thereby determines the transmission time of the received beacon frame. In some embodiments, the transmission time of the beacon frame is measured when the TSF field of the beacon frame is transmitted to the air interface.

[0024] The error detection and compensation module 206 includes several sub-modules that are responsible for estimating the error of the access point (AP) clock and calculating the wake-up advance in order to compensate for the prediction error of the AP clock and to prepare for the preparation time of other hardware components (such as antennas).

[0025] The beacon frame storage module 212 stores the beacon frames received by the beacon frame RX module 204 for analysis by other modules.

[0026] Error estimation module 214 estimates the error in the AP clock based on the STA time interval and AP time interval.

[0027] The wake-up advance determination module 216 determines the wake-up advance by estimating the access point (AP) clock error. This advance includes compensation offset for the AP clock error (e.g., the optimized STA-AP time difference normalization and the optimized STA-AP time difference), as well as the preparation time required for other hardware components. The client site 106 can enter a power-saving mode between received signal transmissions and wake up from power-saving mode at an optimal time before the transmission time of subsequent beacon frames, thereby saving power and improving the success rate of beacon frame reception.

[0028] The time synchronization module 208 aligns the clock of the customer site ("STA clock") with the clock of the AP based on the TSF value obtained from the beacon frame.

[0029] The TBTT calculation module 210 calculates the Target Beacon Transmission Time (TBTT) based on the predetermined beacon interval and the reception time of the current beacon frame, so that the client site 106 knows when to expect subsequent beacon frames.

[0030] Figure 3 The diagram illustrates the components of a beacon frame according to an embodiment of this application, as well as a conceptual diagram of beacon frame transmission from the access point to the STA and the wake-up time for the STA to receive the beacon frame.

[0031] Timeline 316 shows the period during which beacon frame 302 is transmitted from access point 104 to client site 106 and the time it takes for client site 106 to wake up to receive beacon frame 302.

[0032] The beacon frame 302 includes a beacon header 304 and a beacon body 306.

[0033] The beacon header 304 is the first part of the beacon frame. In some embodiments, the beacon header 304 consists of the first 24 bytes of the beacon frame. In some embodiments, the beacon header 304 includes a Media Access Control (MAC) header 308. The MAC header 308 indicates what type of frame it is. In some embodiments, the MAC header 308 indicates that the frame being transmitted is a beacon frame 302.

[0034] The beacon body 306 includes additional information carried by the beacon frame 302. In some embodiments, the beacon body 306 includes a Time Synchronization Function (TSF) 310. The TSF 310 is a counter indicating the length of time since the AP was powered on. In other words, the TSF 310 may be a timestamp indicating when the beacon frame was transmitted according to the AP's clock. The TSF 310 may be included in the TSF field. In one specific embodiment, the TSF 310 indicates the timestamp (in microseconds (μs) when the first bit of the TSF field of the beacon frame was transmitted to the air interface.

[0035] Timeline 316 illustrates the periodic transmission of beacon frames from access point 104 to client site 106, the wake-up advance 312 of client site 106, and the time client site 106 wakes up from power-saving mode before each beacon frame 302 according to the wake-up advance 312. After receiving a beacon frame, client site 106 can return to power-saving mode (i.e., sleep) until client site 106 wakes up in the next cycle.

[0036] The wake-up advance 312 is the amount of time that client site 106 wakes up from power-saving mode earlier than the expected transmission time of beacon frame 302. If the wake-up advance 312 is too large, client site 106 may wake up earlier than necessary, wasting energy; however, if the wake-up advance 312 is too small, client site 106 may wake up too late and miss beacon frame 302. The wake-up advance 312 may take into account one or more factors. In some embodiments, the wake-up advance 312 takes into account the time required for hardware components to prepare to receive data (e.g., powering on beacon frame RX module 204) and buffering for any errors in the AP clock. In one specific embodiment, the wake-up advance 312 is 2 ms, and the subsequent beacon frame is expected to be transmitted at 302.4 ms, with client site 106 waking up from power-saving mode at 300.4 ms.

[0037] Figure 4 A conceptual diagram according to an embodiment of this application is shown, which includes two timelines illustrating an example timing sequence for the transmission of beacon frames from an access point to a customer site.

[0038] Access point timeline 402 marks the time when beacon frames are sent according to the AP clock. Client site timeline 404 marks the time when beacon frames are received from the access point according to the STA clock. For simplicity, it is assumed that both access point timeline 402 and client site timeline 404 start at 0ms. In reality, the clocks of the access point and client site may start at any given time.

[0039] Access point 104 broadcasts a beacon frame (e.g., beacon frame 302) according to the Target Beacon Transmission Time ("TBTT"). TBTT indicates the scheduled time for broadcasting or transmitting the beacon frame. In some embodiments, TBTT can be predetermined. For example, TBTT = (N+1) × a predetermined beacon interval (N is the number of cycles corresponding to the beacon frame). Figure 4In the examples shown, the TBTT is 102.4, 204.8, 307.2, ..., 819.2, and 921.6 milliseconds (ms), meaning a beacon frame is scheduled to be transmitted every 102.4 ms. Alternatively, the STA can calculate the TBTT in real time based on the reception time of the current beacon frame or the previous beacon frame. For example, customer site 106 can determine the current cycle number by dividing the TSF value of the current beacon frame by the predetermined beacon interval and rounding down. For example: Where 110.0 is the TSF value of the current beacon frame, 102.4 is the predetermined beacon interval, and 1 indicates that the current period is the first period. The TBTT of subsequent beacon frames will be (current period + 1) × predetermined beacon interval. For example: (1 + 1) × 102.4 = 204.8 ms, this is the TBTT of subsequent beacon frames.

[0040] Access point 104 uses the AP clock to track the TBTT. The AP clock can be a counter that starts counting when access point 104 is powered on. Access point 104 broadcasts or sends beacon frame 302 in response to the AP clock reaching the TBTT. Figure 4 In the illustrated embodiment, access point 104 sends beacon frame 302 to the client site when the AP clock reaches 102.4, 204.8, 307.2, ..., 819.2 and 921.6 ms. In some embodiments, due to AP clock errors, the actual transmission time of each beacon frame may differ from the TBTT, possibly earlier or later. For example, access point 104 may send beacon frame 302 in response to the AP clock reaching 102.4 ms, but in absolute time, beacon frame 302 is transmitted at 101.4 ms.

[0041] Customer site 106 receives each beacon frame from access point 104 and determines the reception time of each beacon frame based on the STA clock. It can be assumed that the STA clock tracks absolute time. Figure 4 In the illustrated embodiment 7, due to the error of the AP clock (the AP clock runs faster than the absolute time), the access point 104 does not send the beacon frame 302 at the target beacon transmission time ("TBTT"), but at a slightly earlier time, specifically 101.4, 202.8, 304.2, ..., 811.2 and 912.6 ms.

[0042] Optionally, access point 104 and the AP clock are powered on at 0 ms. At 0 ms, beacon frame 302 can be broadcast, followed by a second beacon frame at 102.4 ms. Alternatively, access point 104 may not broadcast any beacon frames upon startup. Instead, access point 104 broadcasts the first beacon frame at multiples of a predetermined beacon interval after startup (e.g., 102.4 ms or 204.8 ms).

[0043] Customer site 106 determines the estimated value of AP clock error based on the difference between the length of the STA time interval and the length of the AP time interval (i.e., the length of the STA time interval - the length of the AP time interval).

[0044] The length of the AP time interval can be determined by calculating the time interval between two beacon frame transmissions, i.e., taking the difference between the second TSF value and the first TSF value (e.g., second TSF value - first TSF value). In some embodiments, the first TSF value is related to the time of the previous beacon frame transmission, and the second TSF value is related to the time of the current beacon frame transmission. The previous beacon frame is transmitted before the current beacon frame. For example, if the first TSF value is 102.4 ms and the second TSF value is 204.8 ms, the length of the AP time interval is 204.8 - 102.4 = 102.4 ms.

[0045] The length of the STA time interval can be determined by calculating the time difference between the reception of two beacon frames (i.e., the second reception time minus the first reception time). The first reception time can be the time when the previous beacon frame was received by client site 106, and the second reception time can be the time when the current beacon frame was received by client site 106. In some embodiments, the previous beacon frame and the current beacon frame are received consecutively. For example, the first reception time is 101.4 ms, and the second reception time is 202.8 ms; in other words, according to the STA clock, the previous beacon frame was received at 101.4 ms, and the current beacon frame was received at 202.8 ms. The length of the STA time interval is 202.8 - 101.4 = 101.4 ms. In some embodiments, if the TSF value used to calculate the AP time value length represents the time when the TSF field is transmitted to the air interface, then the reception time used to calculate the STA timeline length needs to represent the time when the TSF field is received by client site 106 to ensure that the two time measurements use the same reference (e.g., the TSF field).

[0046] In some embodiments, the methods for determining the lengths of the AP time interval and the STA time interval are applicable to non-contiguous beacon frames. For example, the length of the STA time interval can be calculated based on the reception times of the first and fourth received beacon frames, skipping the intermediate second and third beacon frames. Similarly, the length of the AP time interval can be determined based on the TSF values ​​of the first and fourth beacon frames. Essentially, the methods described herein can flexibly utilize non-contiguous beacon frames to establish time intervals, as long as the intervals are based on the same set of beacon frames and the same set of reference points (e.g., the TSF fields of the same set of beacon frames).

[0047] Customer site 106 determines the STA-AP time difference based on the difference between the length of the STA time interval and the length of the AP time interval (e.g., STA-AP time difference = length of STA time interval - length of AP time interval). For example, the STA-AP time difference is 101.4ms - 102.4ms = -1ms. The STA-AP time difference can be an estimation error in the AP clock. This process can be repeated across multiple beacon frames to determine the optimal STA-AP time difference. Customer site 106 can use the optimal STA-AP time difference to determine the optimal wake-up advance, enabling customer site 106 to exit power-saving mode in a timely manner to reliably receive beacon frames from the access point, while maximizing the time spent in power-saving mode without waking up prematurely as necessary.

[0048] exist Figure 4 In the example shown, customer site 106 can determine that the additional AP time interval is 102.4ms (i.e., 307.2ms - 204.8ms) and the additional STA time interval is 101.4ms (i.e., 304.2ms - 202.8ms). Therefore, the additional STA-AP time difference is -1ms (i.e., 101.4ms - 102.4ms = -1ms).

[0049] After repeatedly determining one or more STA-AP time differences, resulting in multiple STA-AP time differences, the client site 106 can select the optimal STA-AP time difference from these multiple STA-AP time differences. In some embodiments, if the multiple STA-AP time differences contain at least one negative number, the optimal STA-AP time difference is the minimum among the multiple STA-AP time differences, because a negative STA-AP time difference indicates that the STA time interval is shorter than the AP time interval, meaning that the AP clock runs faster than the STA clock. To account for this error, the client site 106 uses the largest negative number (i.e., the minimum) as the offset. This ensures that the client site 106 can wake up early enough to receive beacon frames even if the AP clock has a large error. In some embodiments, the client site 106 selects the minimum among the multiple STA-AP time differences as the optimal STA-AP time difference.

[0050] Figure 5 Based on some examples, a conceptual diagram is shown, which includes two timelines illustrating an example timing sequence of beacon frame transmission from the access point to the customer site in the presence of network traffic.

[0051] Access point 104 attempts to broadcast beacon frame 302 according to TBTT. However, in some embodiments, due to internet traffic, access point 104 cannot broadcast beacon frame 302 at a predetermined time (e.g., TBTT), and access point 104 must wait for the air interface (e.g., wireless interface, wireless medium, RF interface, radio communication interface) to become idle before it can transmit, thus waiting for a period of time after TBTT. Therefore, the time interval length between each transmission is different, and the contribution of AP clock error to each time interval is different. The time interval needs to be normalized according to the length of each time interval.

[0052] exist Figure 5 In the example shown, access point 104 attempts to broadcast the first beacon frame at 102.4ms, but due to medium busy or other transmissions, access point 104 is unable to broadcast the first beacon frame at 102.4ms. Instead, access point 104 waits until 110.0ms before broadcasting the first beacon frame. Due to AP clock errors, although the first beacon frame received by client site 106 displays the first TSF value obtained according to the TSF 310 contained in the frame, indicating that the beacon frame was sent at 110.0ms, according to client site 106's clock, the site actually received the beacon frame at 109.15ms. Client site 106 receives the first beacon frame at 109.15ms according to the STA clock. Client site 106 determines that the first TSF value is 110.0ms and the first reception time is 109.15ms.

[0053] In this example, during the second time interval, access point 104 attempts to broadcast a second beacon frame according to TBTT; however, again due to internet traffic, access point 104 is unable to broadcast the second beacon frame at TBTT (i.e., 204.8ms). Instead, after the traffic clears, it waits until 211.6ms before broadcasting the second beacon frame. The second TSF value derived from TSF 310 contained in the second beacon frame indicates that the second beacon frame was sent at 211.6ms, but according to the STA clock, client site 106 receives the second beacon frame at 209.77ms. Client site 106 determines that the second TSF value is 211.6ms and the second reception time is 209.77ms.

[0054] The client site 106 can calculate the AP time interval based on the first TSF value and the second TSF value (e.g., first AP time interval = second TSF value - first TSF value = 211.6ms - 110.0ms = 101.6ms). The client site 106 can also calculate the STA time interval based on the first reception time and the second reception time (e.g., first STA time interval = second reception time - first reception time = 209.77ms - 109.15ms = 100.62ms). The client site 106 can further calculate the STA-AP time difference based on the AP time interval and the STA time interval (e.g., first STA-AP time difference = first STA time interval - first AP time interval = 100.62ms - 101.6ms = -0.98ms).

[0055] During the third time interval, access point 104 attempts to broadcast a third beacon frame according to TBTT. Because internet traffic is unobstructed, access point 104 manages to broadcast the third beacon frame at TBTT (i.e., 307.2ms). The third TSF value derived from the third beacon frame's TSF 310 indicates that the third beacon frame was sent at 307.2ms, but according to the STA clock, client site 106 receives the third beacon frame at 304.45ms (i.e., the third reception time is 304.45ms).

[0056] The client site 106 can calculate the second AP time interval based on the second TSF value and the third TSF value (i.e., second AP time interval = third TSF value - second TSF value = 307.2ms - 211.6ms = 95.6ms). The client site 106 can also calculate the second STA time interval based on the second reception time and the third reception time (e.g., second STA time interval = third reception time - second reception time = 304.45ms - 209.77ms = 94.68ms). The client site 106 can further calculate the second STA-AP time difference based on the second AP time interval and the second STA time interval (e.g., second STA-AP time difference = second STA time interval - second AP time interval = 94.68ms - 95.6ms = -0.92ms).

[0057] For the sake of brevity, Figure 5 The fourth, fifth, sixth, and seventh time intervals are omitted.

[0058] During the eighth time interval, access point 104 attempts to broadcast the eighth beacon frame according to TBTT; however, again due to internet traffic, access point 104 is unable to broadcast the eighth beacon frame at TBTT (i.e., 819.2ms). Instead, after other transmissions are completed, it waits until 860.6ms before broadcasting the eighth beacon frame. The transmission time of the eighth beacon frame (i.e., 860.0ms) can be derived from the TSF 310 of the eighth beacon frame, but according to the STA clock, client site 106 receives the eighth beacon frame at 854.21ms.

[0059] During the ninth time interval, access point 104 attempts to broadcast the ninth beacon frame according to the TBTT. Because the window is open, access point 104 manages to broadcast the ninth beacon frame at the TBTT (i.e., 921.6 ms). The transmission time of the ninth beacon frame (i.e., 921.6 ms) can be derived from TSF 310 contained in the ninth beacon frame, but according to the STA clock, client site 106 receives the ninth beacon frame at 914.62 ms.

[0060] Client site 106 can calculate the eighth AP time interval based on the ninth TSF value and the eighth TSF value (i.e., eighth AP time interval = ninth TSF value - eighth TSF value = 921.6ms - 860.6ms = 61ms). Client site 106 can also calculate the eighth STA time interval based on the ninth reception time and the eighth reception time (e.g., eighth STA time interval = ninth reception time - eighth reception time = 914.62ms - 854.21ms = 60.41ms). Client site 106 can further calculate the eighth STA-AP time difference based on the eighth AP time interval and the eighth STA time interval (e.g., eighth STA-AP time difference = eighth STA time interval - eighth AP time interval = 60.41ms - 61ms = -0.59ms).

[0061] After repeatedly determining one or more STA-AP time differences (e.g., the first STA-AP time difference, the second STA-AP time difference, the eighth STA-AP time difference, etc.), the client site 106 can select the optimal STA-AP time difference from the one or more STA-AP time differences. In some embodiments, the client site 106 selects the minimum value from the one or more STA-AP time differences as the optimal STA-AP time difference. In some embodiments, the one or more STA-AP time differences contain at least one negative number, and the optimal STA-AP time difference is the minimum value among the one or more STA-AP time differences. For example, among three STA-AP time differences of -0.98ms, -0.92ms, and -0.59ms, based on the fact that at least one STA-AP time difference is negative and -0.98ms is the minimum value among the three STA-AP time differences, the optimal STA-AP time difference would be -0.98ms. We choose the minimum value because this will create the largest buffer for the client site 106 to wake up from sleep, ensuring that the client site 106 does not miss any beacon frames. In some embodiments, one or more STA-AP time differences contain only non-negative values ​​(i.e., positive numbers or zero), with an optimal STA-AP time difference of 0 ms. This is because a positive STA-AP time difference indicates that the AP clock runs slower than the STA clock, thus eliminating the need for early wake-up to account for errors in the AP clock. However, client site 106 may still need to wake up early to create a buffer for the preparation time of other hardware components. In other words, in these examples, the number of components considering AP clock errors is zero, but the wake-up advance may or may not be zero. Alternatively, client site 106 may select a value from one or more STA-AP time differences as the optimal STA-AP time difference.

[0062] Customer site 106 can determine a normalized STA-AP time difference for each defined STA-AP time difference to account for variations in the time interval between beacon frame transmissions. For example... Figure 5As shown, due to factors such as network traffic, the intervals between beacon frame transmissions may vary, resulting in different amounts of error caused by AP clock errors for each interval. In some embodiments, the normalization process is performed in response to determining each STA-AP time difference. The normalization process includes finding the ratio between a predetermined beacon interval and the time length between the two beacon frames being evaluated (e.g., STA time value, AP time value), and then multiplying that ratio by the error (e.g., the STA-AP time difference). For example, the normalized STA-AP time difference can be determined by multiplying the STA-AP time difference by the ratio of the predetermined beacon interval to the STA time interval (i.e., normalized STA-AP time difference = STA-AP time difference × predetermined beacon interval / STA time interval). This is determined under the assumption that the STA time interval is the elapsed time between the transmission of two beacon frames in absolute time.

[0063] for Figure 5 In the example shown, the second STA-AP time difference is -0.92ms. The normalized second STA-AP time difference is equal to the second STA-AP time difference × the predetermined beacon interval / the second STA time interval (i.e., -0.92ms × 102.4ms / 94.68ms ≈ -0.995ms).

[0064] In some embodiments, the client site 106 determines a normalized STA-AP time difference in response to determining the STA-AP time difference. After repeatedly determining one or more normalized STA-AP time differences (e.g., a first normalized STA-AP time difference, a second normalized STA-AP time difference, an eighth normalized STA-AP time difference, etc.), the client site 106 can select the optimal normalized STA-AP time difference from the one or more normalized STA-AP time differences. In some embodiments, the client site 106 selects the minimum value from the one or more normalized STA-AP time differences as the optimal normalized STA-AP time difference. In some embodiments, the one or more normalized STA-AP time differences contain at least one negative number, and the optimal normalized STA-AP time difference is the minimum value among the one or more normalized STA-AP time differences. For example, among the three normalized STA-AP time differences of -0.9973ms, -0.995ms, and -1ms, the optimal STA-AP time difference would be -1ms, based on the fact that at least one STA-AP time difference is negative and -1ms is the minimum of the three. We choose the minimum value because this will create the largest buffer for client site 106 to wake from sleep, ensuring that client site 106 does not miss any beacon frames. In some embodiments, the normalized STA-AP time differences only contain non-negative values, and the optimal normalized STA-AP time difference is 0ms, because a positive normalized STA-AP time difference indicates that the AP clock is running slower than the STA clock, therefore, there is no need to wake up early to account for errors in the AP clock. However, client site 106 may still need to wake up early to create a buffer for the preparation time of other hardware components. In other words, in these examples, the components that account for AP clock errors are zero, but the wake-up advance may or may not be zero. Alternatively, customer site 106 selects a value from one or more normalized STA-AP time differences as the optimal normalized STA-AP time difference.

[0065] Client site 106 can predict the next reception time in response to receiving a beacon frame. In some embodiments, after client site 106 selects the optimal normalized STA-AP time difference as the estimated clock error value for the AP clock (e.g., an error of -1 ms for each predetermined interval of 102.4 ms beacon period), client site 106 predicts the timing of subsequent beacon frames as follows: Client site 106 synchronizes its clock based on the TSF value of the last received beacon frame (e.g., the current beacon frame). For example, if the TSF value of the last received beacon frame is 110.0 ms, client site 106 sets the STA clock to 110.0 ms. In another example, client site 106 can slightly adjust the TSF value to account for the time elapsed to receive the entire TSF field, thereby synchronizing with its clock. For example, if the TSF value of the current beacon frame is 110.0 ms, and it is confirmed that the TSF value corresponds to the time of receiving the beacon header of the current beacon frame, client site 106 compensates for the time required to receive the entire TSF field, which may be approximately 64 microseconds (μs). Therefore, client site 106 may optionally set the STA clock to 110.064 ms. In response to setting the STA clock, client site 106 calculates the current cycle number corresponding to the beacon frame by dividing the TSF value of the received beacon frame by a predetermined beacon interval and then performing a floor operation. For example: Customer site 106 calculates the Target Beacon Transmission Time (TBTT) of the subsequent beacon frame by multiplying the next beacon cycle number (i.e., the current cycle number + 1) by the predetermined beacon interval. For example: (1 + 1) × 10².4 = 204.8 ms. This is the TBTT of the subsequent beacon frame. Customer site 106 calculates the next reception time by taking into account errors in the AP clock. For Figure 5 In the example shown, the next reception time after the second beacon frame is calculated as follows: 204.8ms + (-1ms) × (204.8ms - 110.0ms) / 102.4ms ≈ 203.9ms. This is the next reception time after accounting for errors in the AP clock. Customer site 106 can determine the wake-up advance based on the next reception time and the additional time required for hardware components to prepare for receiving subsequent beacon frames.

[0066] In some embodiments, it is optional for client site 106 to synchronize its clock to the timestamp of the last received beacon frame (i.e., client site 106 does not need to synchronize the STA clock with the AP clock). In these examples, client site 106 calculates the next reception time as follows: TBTT - TSF value of the current beacon frame + reception time of the current beacon frame + estimated clock error value × (TBTT - TSF value) / predetermined beacon interval). For example, if TBTT is 204.8 ms, the TSF value of the current beacon frame is 110.0 ms, and the reception time of the current beacon frame is 109.15 ms, the next reception time for subsequent beacon frames is: 204.8 - 110.0 + 109.15 + (-1) × (204.8 - 110.0) / 102.4 ms ≈ 203.02 ms. Client site 106 can determine the wake-up advance based on the next reception time and other time required for hardware components to prepare for receiving subsequent beacon frames.

[0067] Figure 6 Based on some examples, a flowchart of method 600 for improving the success rate of beacon frame reception is shown.

[0068] Method 600 may be embodied in computer-readable instructions for execution by one or more processors, such that the operations of method 600 can be performed wholly or partially by the functional components of client site 106; therefore, method 600 is described below with reference to client site 106 as an example. However, it should be understood that at least some operations of method 600 can be deployed on various other hardware configurations besides client site 106. Note that the following description of the operations of method 600 may represent only one iteration cycle, and multiple cycles may be executed.

[0069] In operation 602, client site 106 receives a first beacon frame from the access point. The first beacon frame contains a first TSF value, which is determined based on the access point's clock. Client site 106 can derive a timestamp corresponding to the transmission time of the first beacon frame based on the first TSF value.

[0070] In operation 604, client site 106 measures the first reception time of the first beacon frame based on its own clock (e.g., the STA clock). It is assumed that the STA clock tracks absolute time. In some embodiments, the first reception time is measured in response to receiving the TSF field of the first beacon frame. In some other examples, the first reception time is measured in response to receiving the first bit of the beacon header (e.g., beacon header 304) of the first beacon frame. The relationship between the time to receive the first bit of the beacon header and the time to receive the first bit of the TSF field is as follows: if the beacon frame transmission rate is 1 Mbps and the beacon header is 24 bytes or 192 bits, transmitting the beacon header will take 0.192 ms. This means that if the time to receive the beacon header is 110.0 ms, the time to receive the TSF field will be 110.192 ms.

[0071] In operation 606, client site 106 receives a second beacon frame from the access point. The second beacon frame contains a second TSF value based on the AP clock. Client site 106 can derive a timestamp corresponding to the transmission time of the second beacon frame based on the second TSF value.

[0072] In operation 608, client site 106 measures the reception time of the second beacon frame based on its own clock (e.g., STA clock). In some embodiments, the second reception time is measured in response to receiving the TSF field of the second beacon frame. In some other examples, the second reception time is measured in response to receiving the first bit of the beacon header (e.g., beacon header 304) of the second beacon frame.

[0073] In operation 610, customer site 106 determines a first AP time interval based on the difference between a second TSF value from the access point and a first TSF value. This calculates the time length between two beacon frame transmissions from the AP's perspective, which may differ from the absolute time elapsed.

[0074] In operation 612, customer site 106 determines a first STA time interval based on the difference between the second reception time and the first reception time using the STA clock. This calculates the time length between two beacon frame transmissions determined according to the STA clock, which is assumed to be consistent with absolute time, representing a true, accurate, and objective measurement of time.

[0075] In operation 614, customer site 106 determines a first STA-AP time difference based on a first AP time interval and a first STA time interval. The first STA-AP time difference represents the measured difference between the STA clock and the AP clock within the same time interval. In some embodiments, customer site 106 determines the first STA-AP time difference based on first and second reception times and first and second TSF values.

[0076] In operation 616, customer site 106 calculates a normalized STA-AP time difference based on the STA-AP time difference (e.g., the first STA-AP time difference).

[0077] In decision block 618, client site 106 determines whether the number of normalized STA-AP time differences exceeds a first predetermined number N (e.g., 3). If not, client site 106 continues with operation 606, receiving subsequent beacon frames. However, in subsequent operations, the subsequent beacon frame is treated as a second beacon frame, and the previous second beacon frame is treated as a first beacon frame. By repeating operations 606-616, client site 106 can obtain multiple normalized STA-AP time differences. If the number of normalized STA-AP time differences exceeds the first predetermined number N (e.g., 3), decision block 618 returns yes, and client site 106 continues with operation 620.

[0078] In operation 620, the customer site 106 selects the optimal normalized time difference between the customer site and the access point (i.e., the optimal normalized STA-AP time difference) from multiple values ​​as the estimated clock error value of the access point.

[0079] In operation 622, customer site 106 uses Figure 5 The method disclosed in the description determines the wake-up advance based on the optimally normalized STA-AP time difference.

[0080] In operation 624, client site 106 wakes up from power-saving mode before the transmission time of subsequent beacon frames based on wake-up advance, in order to prepare to receive subsequent beacon frames. In some embodiments, client site 106 repeats method 600 in response to performing operation 624 to further optimize the optimally normalized STA-AP time difference, thereby further improving the estimated clock error value. In some embodiments, client site 106 repeats method 600 to obtain two or more optimally normalized STA-AP time differences, and client site 106 selects the minimum value among the two or more optimally normalized STA-AP time differences as the optimized optimally normalized STA-AP time difference.

[0081] In decision block 626, client site 106 determines whether the number of consecutive reception failures in which subsequent beacon frames are not received exceeds a second predetermined number M (e.g., 5). If yes, client site 106 proceeds to operation 602 to restart method 600. If no, client site 106 proceeds to operation 624.

[0082] Figure 7This is an illustrative representation of client site 700, wherein executable instructions 710 (e.g., software, program, application, applet, application, or other executable code) cause client site 700 to perform any one or more methods discussed herein. For example, instructions 710 may cause client site 700 to perform any one or more methods described herein. Instructions 710 transform a generic, non-programmed client site 700 into a specific client site 700 programmed to perform the described and illustrated functions in the manner shown. Client site 700 may operate as a standalone device or coupled (e.g., networked) to other machines. In a networked deployment, client site 700 may operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Client site 700 may include, but is not limited to, server computers, client computers, personal computers (PCs), tablets, laptops, netbooks, set-top boxes (STBs), entertainment media systems, cellular phones, smartphones, mobile devices, wearable devices (e.g., smartwatches), smart home devices (e.g., smart appliances), other smart devices, network devices, network routers, network switches, network bridges, or any machine capable of sequentially or otherwise executing instructions 710 specifying actions to be taken by client site 700. Furthermore, while a single client site 700 is illustrated, the term "machine" may include a collection of machines that individually or jointly execute instructions 710 to perform any one or more of the methods discussed herein.

[0083] Client site 700 may include processor 704, memory 706, and I / O components 702, which may be configured to communicate via bus 740. In some embodiments, processor 704 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), other processors, or any suitable combination) may include processor 708 and processor 712 that execute instructions 710. The term "processor" is intended to include multi-core processors, which may include two or more independent processors (sometimes referred to as "cores") capable of executing instructions 710 simultaneously. Although Figure 7 Multiple processors 704 are shown, but customer site 700 may include a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.

[0084] Memory 706 includes main memory 714, static memory 716, and memory cells 718, which are accessible by processor 704 via bus 740. Main memory 706, static memory 716, and memory cells 718 store instructions 710 embodying any one or more methods or functions described herein. During execution of instructions 710 at client site 700, instructions 710 may also reside wholly or partially in main memory 714, static memory 716, machine-readable medium 720 within memory cells 718, processor 704 (e.g., within the processor's cache memory), or any suitable combination thereof.

[0085] I / O component 702 may include various components to receive input, provide output, generate output, transmit information, exchange information, or capture measurement values. The specific I / O component 702 included in a particular machine depends on the type of machine. For example, a portable machine (such as a mobile phone) may include a touch input device or other such input mechanism, while a headless server machine may not include such a touch input device. I / O component 702 may include... Figure 7 Many other components are not shown. In various examples, I / O component 702 may include output component 726 and input component 728. Output component 726 may include visual components (e.g., displays such as plasma display panels (PDPs), light-emitting diode (LED) displays, liquid crystal displays (LCDs), projectors, or cathode ray tube (CRTs), acoustic components (e.g., speakers), haptic components (e.g., vibration motors, resistance mechanisms), or other signal generators. Input component 728 may include alphanumeric input components (e.g., keyboards, touchscreens configured to receive alphanumeric input, photoelectric keyboards, or other alphanumeric input components), point-based input components (e.g., mice, touchpads, trackballs, joysticks, motion sensors, or other pointing tools), haptic input components (e.g., physical buttons, touchscreens or other haptic input components that provide position and / or force for touch or touch gestures), audio input components (e.g., microphones), etc.

[0086] In a further example, I / O component 702 may include biometric component 730, motion component 732, environmental component 734, or position component 736, as well as various other components. For example, biometric component 730 includes components for detecting facial expressions (e.g., hand gestures, facial expressions, vocal expressions, body posture, or eye tracking), measuring biosignals (e.g., blood pressure, heart rate, body temperature, sweating, or brainwaves), or identifying a person (e.g., voice recognition, retinal recognition, facial recognition, fingerprint recognition, or EEG-based recognition). Motion component 732 includes accelerometer components (e.g., accelerometers), gravity sensor components, and rotation sensor components (e.g., gyroscopes). Environmental component 734 includes, for example, one or more cameras, lighting sensor components (e.g., photometers), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometers), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors for the safe detection of hazardous gas concentrations or the measurement of pollutants in the atmosphere), or other components that can provide indication, measurement, or signaling of the surrounding physical environment. Position component 736 includes position sensor components (e.g., Global Positioning System (GPS) receiver components), altitude sensor components (e.g., altimeters or barometers that detect air pressure and thereby derive altitude), orientation sensor components (e.g., magnetometers), etc.

[0087] Communication can be implemented using various technologies. I / O component 702 also includes a communication component 738 operable to couple client site 700 to network 722 or device 724 via respective couplings or connections. For example, communication component 738 may include a network interface component or another suitable device to interface with network 722. In further examples, communication component 738 may include a wired communication component, a wireless communication component, a cellular communication component, a near-field communication (NFC) component, etc. Components (e.g., (low energy) Components and other communication components to provide communication in other ways. Device 724 can be another machine or any of various peripheral devices (e.g., a peripheral device coupled via USB).

[0088] Furthermore, the communication component 738 can detect identifiers or include components operable to detect identifiers. For example, the communication component 738 may include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes (such as Universal Product Code (UPC) barcodes), multi-dimensional barcodes (such as Quick Response (QR) codes, Aztec codes, data matrices, data glyphs, maximum codes, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes)), or an acoustic detection component (e.g., a microphone for identifying audio signals with tags). Additionally, various information can be derived through the communication component 738, such as location geolocation via Internet Protocol (IP), etc. The location can be determined by signal triangulation or by detecting the location of an NFC beacon signal that indicates a specific location.

[0089] Various memories (e.g., main memory 714, static memory 716, and / or the memory of processor 704) and / or storage units 718 may store one or more sets of instructions and data structures (e.g., software) that embody or are used by any one or more methods or functions described herein. When processor 704 executes these instructions (e.g., instruction 710), various operations are caused to implement the disclosed examples.

[0090] Instruction 710 can be sent or received via network 722 using a transmission medium through a network interface device (e.g., a network interface component included in communication component 738) and using any of several well-known transport protocols (e.g., Hypertext Transfer Protocol (HTTP)). Similarly, instruction 710 can be sent to or received from device 724 via a transmission medium through coupling (e.g., peer-to-peer coupling).

[0091] Figure 8 This is a block diagram illustrating example components of a client site according to some examples. The client site includes a transmit time determination component 802, a receive time measurement unit 804, a reference time interval determination component 806, a STA time interval determination component 808, a REF-STA time difference determination component 810, a REF-STA time difference normalization component 812, a TBTT determination component 814, a wake-up time determination component 816, and a sleep / wake-up controller 818. In some embodiments, the client site may be client site 700.

[0092] The transmission time determination component 802 determines the transmission time of the beacon frame based on the TSF value contained in the beacon frame. In some embodiments, the TSF 310 indicates, in microseconds (μs), the timestamp when the first bit of the TSF field of the beacon frame was transmitted to the air interface.

[0093] The receive time measuring unit 804 measures the receive time of the beacon frame according to the STA clock. For example, the receive time measuring unit 804 measures the first receive time of the first beacon frame and the second receive time of the second beacon frame. In some embodiments, the first and second receive times are measured in response to receiving the TSF field of the first and second beacon frames, respectively. In some embodiments, the first and second receive times are measured in response to receiving the beacon header of the first and second beacon frames, respectively.

[0094] Reference time interval determination component 806 determines a reference time interval. In some embodiments, reference time interval determination component 806 determines the reference time interval based on the difference in transmission times of two consecutive beacon frames. In some embodiments, reference time interval determination component 806 determines the reference time interval based on the difference in TSF values ​​of two consecutive beacon frames. In some other examples, reference time interval determination component 806 determines the reference time interval based on the transmission times and / or TSF values ​​of any two beacon frames.

[0095] STA time interval determination component 808 determines the STA time interval. In some embodiments, STA time interval determination component 808 determines the STA time interval based on the difference in reception time between two beacon frames using the STA clock.

[0096] The REF-STA time difference determination component 810 determines the REF-STA time difference based on the difference between the reference time interval and the STA time interval. In some embodiments, the REF-STA time difference represents the extent to which the STA clock is faster or slower than the access point clock within one or more individual beacon intervals. In some embodiments, the REF-STA time difference represents the extent to which the STA clock is faster or slower than the absolute time within one or more individual beacon intervals.

[0097] REF-STA time difference normalization component 812 calculates a normalized REF-STA time difference to represent the estimated deviation rate of the STA clock relative to absolute time within a predetermined beacon interval (e.g., 102400 μs or 102.4 ms).

[0098] The TBTT determination component 814 determines the Target Beacon Transmission Time (TBTT) of subsequent beacon frames. In some embodiments, the TBTT determination component 814 determines the TBTT of subsequent beacon frames based on the transmission time of the current beacon frame sent from the access point and a predetermined beacon interval.

[0099] The wake-up time determination component 816 determines the STA wake-up time based on the TBTT of subsequent beacon frames and the optimally normalized REF-STA time difference. In some embodiments, the STA wake-up time takes into account the difference between the access point clock and the STA clock. In some embodiments, the STA wake-up time takes into account an estimated difference between the STA clock and the absolute time (e.g., the optimally normalized REF-STA time difference).

[0100] The sleep / wake controller 818 controls the STA to enter an energy-saving sleep mode and wakes it up at a predetermined STA wake-up time. Wakes up the STA at the optimal wake-up time, allowing the STA to prepare for receiving subsequent beacon frames from the access point.

[0101] Figure 9 This is a flowchart illustrating a method 900 for improving beacon frame reception success rate according to some examples. While the example method 900 depicts a specific sequence of operations, this sequence can be changed without departing from the scope of this application. For example, some of the depicted operations can be performed in parallel or in different sequences that do not substantially affect the function of method 900. In other examples, different components of the example device or system implementing method 900 can perform their functions substantially at the same time or in a specific sequence.

[0102] In operation 902, the STA receives the current beacon frame sent by the AP. The beacon frame contains a Time Synchronization Function (TSF) value representing the AP clock time at the time the beacon frame was sent. The current beacon frame is the most recent beacon frame received or processed by the STA. In some embodiments, at any given moment, the current beacon frame refers to the beacon frame currently under consideration. A subsequent beacon frame refers to a beacon frame that follows the current beacon frame, but is not necessarily its direct successor; rather, a subsequent beacon frame can be any beacon frame that follows in the sequence, regardless of the number of beacon frames between the current and subsequent beacon frames. For example, a subsequent beacon frame could be the first, second, or third beacon frame that follows the current beacon frame in reception order. Conversely, a preceding beacon frame refers to a beacon frame received before the current beacon frame, but the preceding beacon frame is not necessarily the preceding beacon frame; rather, the preceding beacon frame can be any beacon frame located one or more positions before the current beacon frame.

[0103] In operation 904, in response to receiving the current beacon frame, the STA measures the reception time of the current beacon frame based on the STA clock. In some embodiments, the STA measures the reception time of the current beacon frame based on the time the STA receives the TSF field. In other examples, the STA measures the reception time when receiving the beacon header of the beacon frame.

[0104] In operation 906, the STA determines the transmission time of the current beacon frame based on the TSF value contained in the current beacon frame. The transmission time is considered a precise indication of when the AP transmits the beacon frame. In some embodiments, the transmission time is accurate relative to absolute time within ±20 ppm. In some embodiments, the transmission time is determined based on a calibrated TSF value. Because the TSF value is determined based on the AP clock, and when the error of the AP clock (i.e., the deviation rate of the AP clock relative to absolute time) is known, the TSF value can be calibrated based on this error. Alternatively, the TSF value can be calibrated using an estimated clock error of the AP clock (e.g., the optimally normalized STA-AP time difference); therefore, the first transmission time can be determined based on the first TSF value and the optimally normalized STA-AP time difference. In some embodiments, the AP clock is accurate, closely tracking absolute time, with an accuracy within ±20 ppm. In these examples, the TSF value associated with the beacon frame is also accurate, and therefore the TSF value is used as the basis for determining the beacon frame transmission time.

[0105] In operation 908, the STA determines a reference time interval. The reference time interval can be considered an accurate measurement of the duration between two beacon frames transmitted by the AP. In some embodiments, the reference time interval is determined based on the difference between the TSF value of the current beacon frame and the TSF value of the previous beacon frame. In some embodiments, the reference time interval is determined based on the difference between the transmission time of the current beacon frame and the transmission time of the previous beacon frame. For example, if the transmission time of the current beacon frame is 211.6 ms and the transmission time of the previous beacon frame is 110.0 ms, then the reference time interval is 211.6 ms - 110.0 ms = 101.6 ms.

[0106] In operation 910, the STA determines the STA time interval. The STA time interval represents the time interval between receiving the current beacon frame and the previous beacon frame according to the STA clock. In some embodiments, the STA time interval is determined based on the difference between the reception time of the current beacon frame and the reception time of the previous beacon frame. If the STA time interval is longer than the reference time interval, this may indicate that the STA clock is faster than the absolute time, and vice versa.

[0107] In operation 912, the STA determines the REF-STA time difference based on the difference between the reference time interval determined in operation 908 and the STA time interval determined in operation 910. The REF-STA time difference can estimate how much the STA clock is ahead or behind absolute time. In some embodiments, if the transmission time used to calculate the length of the reference time interval is based on the time when the TSF field is sent to the air interface, the reception time used to calculate the length of the STA time interval needs to represent the time when the customer site 106 receives the TSF field, ensuring that both time measurements use the same reference (e.g., the TSF field).

[0108] In operation 914, the STA calculates a normalized REF-STA time difference based on the REF-STA time difference determined in operation 912. This normalized value estimates the time difference between the STA clock and absolute time within a beacon interval of the same length (e.g., a predetermined 102.4 ms beacon interval). Determining the normalized REF-STA time difference helps account for differences in beacon interval lengths. In some embodiments, due to factors such as network traffic, the lengths of the STA time interval and the reference time interval differ, causing the amount of error introduced by the STA clock to vary across different STA time intervals. Therefore, determining the normalized REF-STA time difference helps assess STA clock skew from a consistent perspective. In some embodiments, the normalized REF-STA time difference is determined by multiplying the REF-STA time difference by the predetermined beacon interval and dividing by the reference time interval. In some embodiments, the normalized REF-STA time difference may be determined based on the REF-STA time difference, the predetermined beacon interval, and the reference time interval. Specifically, the normalized REF-STA time difference is equal to the REF-STA time difference multiplied by the predetermined beacon interval and divided by the reference time interval, i.e., normalized REF-STA time difference = REF-STA time difference × predetermined beacon interval / reference time interval. In some embodiments, the STA time interval can be used instead of the reference time interval.

[0109] In operation 916, the STA selects the optimal normalized REF-STA time difference. In some embodiments, the STA selects the optimal normalized REF-STA time difference after determining at least two normalized REF-STA time differences (i.e., operations 902-914 are repeated at least once). The optimal normalized REF-STA time difference can serve as the basis for determining the STA wake-up time to ensure that the STA wakes up before subsequent beacon frame transmission. In some embodiments, the REF-STA time difference is calculated as a reference time interval minus the STA time interval. If the STA time interval is longer than the reference time interval, the resulting normalized REF-STA time difference is negative, indicating that the STA clock is faster than the AP clock or absolute time. Conversely, if the STA clock is slower, the resulting normalized REF-STA time difference is positive.

[0110] In some embodiments, the STA selects the maximum value among the normalized REF-STA time differences as the optimal normalized REF-STA time difference. In some embodiments, the STA selects the maximum value of at least two normalized REF-STA time differences as the optimal normalized REF-STA time difference based on the fact that all normalized STA-AP time differences are non-negative, because the STA clock is slower than the AP clock, adding the maximum value to the STA clock ensures that the STA wakes up from power-saving mode in a timely manner. For example, if the normalized REF-STA time differences include 2, 4, and 5 ms, the STA selects the 5 ms normalized REF-STA time difference as the optimal normalized REF-STA time difference because it is the maximum value. In some embodiments, the REF-STA time difference is calculated as the STA time interval minus the reference time interval; the sign is flipped, but the basic logic for compensating for errors in the STA clock remains unchanged.

[0111] In other examples, the STA selects zero as the optimal normalized REF-STA time difference based on the premise that at least two normalized REF-STA time differences are all negative, because adjusting the faster STA clock is optional, as the STA will wake up earlier. In some other examples, the STA selects the optimal normalized REF-STA time difference from at least two normalized REF-STA time differences.

[0112] In operation 918, the STA determines the TBTT of the subsequent beacon frame. In some embodiments, the STA determines the TBTT of the subsequent beacon frame based on the TSF value of the current beacon frame and a predetermined beacon interval. In some embodiments, the STA determines the TBTT of the subsequent beacon frame based on the transmission time of the current beacon frame and the predetermined beacon interval. In some embodiments, the STA determines the TBTT of the subsequent beacon frame as follows: the STA calculates the current cycle number corresponding to the current beacon frame by dividing the TSF value of the current beacon frame by the predetermined beacon interval and rounding down. For example: Then, client site 106 calculates the TBTT of the subsequent beacon frame by multiplying the next beacon cycle number (i.e., the current cycle number + 1) by the predetermined beacon interval. For example, (1 + 1) × 102.4 ms = 204.8 ms.

[0113] In operation 920, the STA determines its wake-up time based on the TBTT of the subsequent beacon frame and the optimally normalized REF-STA time difference. Wake-up at the STA wake-up time takes into account the difference between the AP clock and the STA clock, enabling the STA to wake up in time to receive subsequent beacon frames. In some embodiments, the STA wake-up time is determined by adding to or subtracting from the TBTT the optimally normalized REF-STA time difference and other additional offsets (such as hardware preparation time, e.g., time required to initialize the transceiver, activate the antenna, etc.). For example, if the TBTT of the subsequent beacon frame is 204.8 ms, the optimally normalized REF-STA time difference is 5 ms, and other additional offsets are 0.3 ms, then the STA wake-up time is 204.8 - 5 - 0.3 = 199.5 ms.

[0114] In Operation 922, the STA enters a power-saving mode in response to determining the STA wake-up time. Power-saving mode (i.e., sleep mode) allows the STA to conserve power and extend battery life when it is not needed to receive or transmit data. The STA can shut down some of its components in power-saving mode.

[0115] In Operation 924, the STA wakes up from power-saving mode at a predetermined STA wake-up time to prepare for receiving subsequent beacon frames. For example, if the STA wake-up time is 199.5ms, the STA will wake up when the STA clock reaches 199.5ms. Waking up the STA from power-saving mode at the predetermined wake-up time provides the STA with time to power on its transceiver and other components to prepare for receiving the next beacon frame in TBTT. Waking up at the predetermined STA wake-up time also prevents the STA from either waking up too early and wasting power or waking up too late and missing the beacon frame entirely. Taking into account errors in the STA clock, the STA wake-up time, determined based on the optimally normalized REF-STA time difference, optimizes the exit time from power-saving mode.

[0116] In some embodiments, operations 902 to 924 are repeated once or more before proceeding with subsequent operations to receive one or more subsequent beacon frames, thereby obtaining the current beacon frame and the previous beacon frame. In some embodiments, operations 902-924 are repeated for multiple pairs of current and previous beacon frames to determine multiple normalized REF-STA time differences. For example, the first normalized REF-STA time difference may be calculated based on the first pair of current and previous beacon frames received by the STA. Subsequent pairs of beacon frames may be used to determine additional normalized REF-STA time differences.

[0117] In some embodiments, in response to determining the optimal normalized REF-STA time difference, the STA repeats only a portion of the operations in method 900. For example, the STA repeats operations 902 and 918-924 only for subsequent beacon frames. The STA will not determine additional normalized REF-STA time differences. The STA can continue to use the previously determined optimal normalized REF-STA time difference to adjust the STA wake-up time.

[0118] In some embodiments, client site 106 repeats method 900 in response to execution operation 924 to further optimize the optimally normalized REF-STA time difference, thereby further improving the estimation error in the STA clock. In some embodiments, client site 106 repeats method 900 to obtain two or more optimally normalized REF-STA time differences, and client site 106 selects the maximum value from the two or more optimally normalized REF-STA time differences as the optimized optimally normalized REF-STA time difference.

[0119] In some embodiments, in response to detecting a predetermined number of missed beacon frames (e.g., 3 missed beacon frames), the STA restarts method 900, because missing beacon frames indicates that the previously determined optimally normalized REF-STA time difference may need adjustment to avoid further missed beacon frames. Optionally, before restarting method 900, the STA sets its STA wake-up time earlier than the predetermined TBTT of subsequent beacon frames to ensure that the STA is likely to receive subsequent beacon frames. For example, if the TBTT of a subsequent beacon frame is 921.6 ms, the STA sets its STA wake-up time to 880 ms to increase the likelihood of receiving subsequent beacon frames.

[0120] In some embodiments, the methods described herein are not limited to consecutive beacon frames. For example, the STA time interval and reference time interval can be determined based on non-consecutive beacon frames. As an example, the STA time interval can be calculated based on the reception times of the first and fourth received beacon frames, skipping the intermediate second and third beacon frames.

[0121] Similarly, the reference time interval can be determined based on the transmission times of the first and fourth beacon frames, ignoring the transmission times of the second and third frames that the STA might have failed to receive. Essentially, the method described in this paper can flexibly utilize non-contiguous beacon frames to establish time intervals, as long as the intervals are based on the same set of beacon frames. This provides greater flexibility when the STA fails to receive beacon frames.

[0122] Figure 1-7 The system and method described in the description provide an effective technique for compensating for AP clock errors in a wireless network. By analyzing the timing patterns of received beacon frames, the client site estimates the AP clock error. The client site's wake-up time schedule (e.g., STA wake-up time) is then adjusted to account for the estimated error in the AP clock. Figure 8-9 The description includes systems and methods for compensating for STA clock errors. Figure 1-7 The system and method described herein can first calibrate and compensate for any errors in the AP clock. Once the AP clock calibration is complete, the process of calibrating the STA clock using the AP clock as a reference can be followed. Alternatively, the STA clock can be calibrated first using the AP clock as a reference, and then the following steps can be applied: Figure 8-9 The method described in the text is used to compensate for any errors in the initial calibration.

[0123] Therefore, this invention allows client devices to wake up from power-saving mode at the correct time to ensure reliable reception of beacon frames while minimizing power consumption. Its main advantages may include optimized client device wake-up time, reduced client device power consumption, and robust beacon frame reception even in the presence of errors in the AP clock or STA clock.

[0124] Example

[0125] Example 1 is a method comprising: determining a reference time interval based on the difference between a second transmission time of a second beacon frame and a first transmission time of a first beacon frame, by one or more processors of a customer site (STA); determining an STA time interval based on the difference between a second reception time of the second beacon frame and a first reception time of the first beacon frame, by one or more processors of the STA; determining a REF-STA time difference based on the determined reference time interval and the determined STA time interval, by one or more processors of the STA; determining a normalized REF-STA time difference based on the REF-STA time difference, a predetermined beacon interval, and the reference time interval, by one or more processors of the STA; determining a target beacon transmission time (TBTT) of a subsequent beacon frame based on the transmission time of the current beacon frame and the predetermined beacon interval, by one or more processors of the STA; determining an STA wake-up time based on the TBTT of the subsequent beacon frame and the normalized REF-STA time difference, by one or more processors of the STA; and waking the STA from power-saving mode at the STA wake-up time, by one or more processors of the STA, to prepare for receiving the subsequent beacon frame.

[0126] In Example 2, the subject of Example 1 includes the fact that the normalized REF-STA time difference is determined by multiplying the REF-STA time difference by a predetermined beacon interval and dividing by a reference time interval.

[0127] In Example 3, the subject matter of Examples 1-2 includes, wherein the normalized REF-STA time difference is a first normalized REF-STA time difference; and the method further includes: receiving one or more subsequent beacon frames; for each beacon frame in the one or more subsequent beacon frames, measuring the reception time of each beacon frame in the one or more subsequent beacon frames according to the STA clock; determining an additional reference time interval based on the difference between the transmission time of each beacon frame in the one or more subsequent beacon frames and the transmission time of the previous beacon frame; and determining an additional STA time interval based on the difference between the reception time of each beacon frame in the one or more subsequent beacon frames and the reception time of the previous beacon frame. An additional REF-STA time difference is determined based on the difference between the additional reference time interval and the additional STA time interval; and an additional normalized REF-STA time difference is determined based on the additional REF-STA time difference, the predetermined beacon interval, and the additional reference time interval, resulting in one or more additional normalized REF-STA time differences; and the optimal normalized REF-STA time difference is selected from one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference; wherein the STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the optimal normalized REF-STA time difference.

[0128] In Example 4, the subject of Examples 1-3 includes determining the transmission time of each beacon frame in one or more subsequent beacon frames based on the Time Synchronization Function (TSF) value of each beacon frame in one or more subsequent beacon frames; and wherein an additional reference time interval is determined based on the difference between the TSF value of each beacon frame in one or more subsequent beacon frames and the TSF value of the previous beacon frame.

[0129] In Example 5, the subject of Examples 1-4 includes the following: the optimal normalized REF-STA time difference is the maximum of one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference.

[0130] In Example 6, the subject of Examples 1-5 includes the following: if one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference are all negative, then the optimal normalized REF-STA time difference is zero.

[0131] In Example 7, the subject matter of Examples 1-6 includes, wherein: the additional reference time interval is a first additional reference time interval; the additional STA time interval is a first additional STA time interval; the additional REF-STA time difference is a first additional REF-STA time difference; the additional normalized REF-STA time difference is a first additional normalized REF-STA time difference; and the optimal normalized REF-STA time difference is a first optimal normalized REF-STA time difference; and the method further includes: detecting that consecutive reception failures of beacon frames from the access point have reached a predetermined number; in response to detecting that consecutive reception failures of beacon frames from the access point have reached a predetermined number, restarting the following operations: receiving at least two subsequent beacon frames; for each of the at least two subsequent beacon frames, measuring the reception time of each of the at least two subsequent beacon frames according to the STA clock; and based on the transmission time of each of the at least two subsequent beacon frames and the previous one... The method involves: determining a second additional reference time interval based on the difference between the transmission times of beacon frames; determining a second additional STA time interval based on the difference between the reception time of each beacon frame in at least two subsequent beacon frames and the reception time of the previous beacon frame; determining a second additional REF-STA time difference based on the difference between the second additional reference time interval and the second additional STA time interval; determining a second additional normalized REF-STA time difference based on the second additional REF-STA time difference, a predetermined beacon interval, and the second additional reference time interval, resulting in one or more second additional normalized REF-STA time differences; selecting a second optimal normalized REF-STA time difference from one or more second additional normalized REF-STA time differences and a first normalized REF-STA time difference; and wherein the STA wake-up time is determined based on the TBTT of the subsequent beacon frames and the second optimal normalized REF-STA time difference.

[0132] In Example 8, the subject matter of Examples 1-7 includes determining the transmission time of each beacon frame in at least two subsequent beacon frames based on the TSF value of each beacon frame in at least two subsequent beacon frames; and wherein the second additional reference time interval is determined based on the difference between the TSF value of each beacon frame in at least two subsequent beacon frames and the TSF value of the previous beacon frame.

[0133] In Example 9, the subject matter of Examples 1-8 includes determining the TBTT of subsequent beacon frames based on the reception time of the current beacon frame and a predetermined beacon interval by: determining the current cycle number by dividing the transmission time of the current beacon frame by the predetermined beacon interval and rounding down; and determining the TBTT of subsequent beacon frames based on the current cycle number and the predetermined beacon interval.

[0134] Example 10 is at least one machine-readable medium including instructions that, when executed by one or more processors, cause one or more processors to perform operations to implement any of Examples 1-9.

[0135] Example 11 is a customer site, including a device that implements any of Examples 1-9.

Claims

1. A method for improving the success rate of beacon frame reception in a wireless network, characterized in that, include: A reference time interval is determined by one or more processors at the customer site (STA) based on the difference between the second transmission time of the second beacon frame and the first transmission time of the first beacon frame; The STA time interval is determined by the one or more processors of the STA based on the difference between the second reception time of the second beacon frame and the first reception time of the first beacon frame; The REF-STA time difference is determined by one or more processors of the STA based on the determined reference time interval and the determined STA time interval; The normalized REF-STA time difference is determined by one or more processors of the STA based on the REF-STA time difference, the predetermined beacon interval, and the reference time interval; The STA's one or more processors determine the Target Beacon Transmission Time (TBTT) for subsequent beacon frames based on the transmission time of the current beacon frame and a predetermined beacon interval. The STA wake-up time is determined by one or more processors of the STA based on the TBTT of the subsequent beacon frame and the normalized REF-STA time difference. as well as The STA is woken up from power-saving mode by one or more processors at the STA wake-up time in preparation to receive the subsequent beacon frames.

2. The method according to claim 1, characterized in that, The normalized REF-STA time difference is determined by multiplying the REF-STA time difference by the predetermined beacon interval and dividing by the reference time interval.

3. The method according to claim 1, characterized in that, The normalized REF-STA time difference is the first normalized REF-STA time difference; The method also includes: Receive one or more subsequent beacon frames; For each of the one or more subsequent beacon frames, Based on the STA clock, measure the reception time of each beacon frame in the one or more subsequent beacon frames; An additional reference time interval is determined based on the difference between the transmission time of each beacon frame in the one or more subsequent beacon frames and the transmission time of the previous beacon frame; An additional STA time interval is determined based on the difference between the reception time of each beacon frame in the one or more subsequent beacon frames and the reception time of the previous beacon frame; Based on the difference between the additional reference time interval and the additional STA time interval, an additional REF-STA time difference is determined; and Based on the additional REF-STA time difference, the predetermined beacon interval, and the additional reference time interval, additional normalized REF-STA time differences are determined, resulting in one or more additional normalized REF-STA time differences; and Select the optimal normalized REF-STA time difference from the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference; and The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the optimally normalized REF-STA time difference.

4. The method according to claim 3, characterized in that Also includes: Based on the Time Synchronization Function (TSF) value of each beacon frame in the one or more subsequent beacon frames, the transmission time of each beacon frame in the one or more subsequent beacon frames is determined; as well as The additional reference time interval is determined based on the difference between the TSF value of each beacon frame in the one or more subsequent beacon frames and the TSF value of the previous beacon frame.

5. The method according to claim 3, characterized in that, The optimal normalized REF-STA time difference is the maximum value among the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference.

6. The method according to claim 3, characterized in that, If all of the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference are negative, then the optimal normalized REF-STA time difference is zero.

7. The method according to claim 3, characterized in that: The additional reference time interval is the first additional reference time interval; The additional STA time interval is the first additional STA time interval; The additional REF-STA time difference is the first additional REF-STA time difference; The additional normalized REF-STA time difference is the first additional normalized REF-STA time difference; as well as The optimally normalized REF-STA time difference is the first optimally normalized REF-STA time difference; as well as The method further includes: The system detected that the number of consecutive reception failures of beacon frames from the access point had reached a predetermined number. In response to detecting that a predetermined number of consecutive reception failures of beacon frames from the access point have been detected, the following operation is restarted: Receive at least two subsequent beacon frames; For each of the at least two subsequent beacon frames, Based on the STA clock, the reception time of each of the at least two subsequent beacon frames is measured; A second additional reference time interval is determined based on the difference between the transmission time of each of the at least two subsequent beacon frames and the transmission time of the previous beacon frame; A second additional STA time interval is determined based on the difference between the reception time of each of the at least two subsequent beacon frames and the reception time of the preceding beacon frame; Based on the difference between the second additional reference time interval and the second additional STA time interval, a second additional REF-STA time difference is determined; and Based on the second additional REF-STA time difference, the predetermined beacon interval, and the second additional reference time interval, a second additional normalized REF-STA time difference is determined, resulting in one or more second additional normalized REF-STA time differences; and Select a second optimal normalized REF-STA time difference from the one or more second additional normalized REF-STA time differences and the first normalized REF-STA time difference; and The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the second optimally normalized REF-STA time difference.

8. The method according to claim 7, characterized in that, Also includes: Based on the TSF value of each of the at least two subsequent beacon frames, the transmission time of each of the at least two subsequent beacon frames is determined; as well as The second additional reference time interval is determined based on the difference between the TSF value of each of the at least two subsequent beacon frames and the TSF value of the previous beacon frame.

9. The method according to claim 1, characterized in that, Determining the TBTT of the subsequent beacon frame based on the reception time of the current beacon frame and the predetermined beacon interval includes: The current period number is determined by dividing the transmission time of the current beacon frame by the predetermined beacon interval and then rounding down; and The TBTT of the subsequent beacon frames is determined based on the current cycle number and the predetermined beacon interval.

10. A customer site, characterized in that, include: One or more processors; as well as Non-transitory memory stores instructions that, when executed by the one or more processors, configure the client station (STA) to: The reference time interval is determined based on the difference between the second transmission time of the second beacon frame and the first transmission time of the first beacon frame; The STA time interval is determined based on the difference between the second reception time of the second beacon frame and the first reception time of the first beacon frame; The REF-STA time difference is determined based on the determined reference time interval and the determined STA time interval; Based on the REF-STA time difference, the predetermined beacon interval, and the reference time interval, a normalized REF-STA time difference is determined; Based on the TSF value of the current beacon frame and the predetermined beacon interval, determine the target beacon transmission time (TBTT) of subsequent beacon frames; The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the normalized REF-STA time difference. as well as The STA is woken up from power-saving mode at the STA wake-up time to prepare to receive the subsequent beacon frames.

11. The customer site according to claim 10, characterized in that, The normalized REF-STA time difference is determined by multiplying the REF-STA time difference by the predetermined beacon interval and dividing by the reference time interval.

12. The customer site according to claim 10, characterized in that, The normalized REF-STA time difference is the first normalized REF-STA time difference; and the customer site is also configured as follows: Receive one or more subsequent beacon frames; For each of the one or more subsequent beacon frames, The reception time of each beacon frame in one or more subsequent beacon frames is measured according to the STA clock. An additional reference time interval is determined based on the difference between the transmission time of each beacon frame in the one or more subsequent beacon frames and the transmission time of the previous beacon frame; An additional STA time interval is determined based on the difference between the reception time of each beacon frame in the one or more subsequent beacon frames and the reception time of the previous beacon frame; The additional REF-STA time difference is determined based on the difference between the additional reference time interval and the additional STA time interval; as well as Based on the additional REF-STA time difference, the predetermined beacon interval, and the additional reference time interval, an additional normalized REF-STA time difference is determined to obtain one or more additional normalized REF-STA time differences. as well as Select the optimal normalized REF-STA time difference from the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference; as well as The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the optimally normalized REF-STA time difference.

13. The customer site according to claim 12, characterized in that, The customer site is also configured as follows: Based on the Time Synchronization Function (TSF) value of each beacon frame in the one or more subsequent beacon frames, the transmission time of each beacon frame in the one or more subsequent beacon frames is determined; as well as The additional reference time interval is determined based on the difference between the TSF value of each beacon frame in the one or more subsequent beacon frames and the TSF value of the previous beacon frame.

14. The customer site according to claim 12, characterized in that, The optimal normalized REF-STA time difference is the maximum value among the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference.

15. The customer site according to claim 12, characterized in that, If all of the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference are negative, then the optimal normalized REF-STA time difference is zero.

16. The customer site according to claim 12, characterized in that: The additional reference time interval is the first additional reference time interval; The additional STA time interval is the first additional STA time interval; The additional REF-STA time difference is the first additional REF-STA time difference; The additional normalized REF-STA time difference is the first additional normalized REF-STA time difference; as well as The optimally normalized REF-STA time difference is the first optimally normalized REF-STA time difference; as well as The customer site is also configured as follows: The system detected that the number of consecutive reception failures of beacon frames from the access point had reached a predetermined number. In response to detecting that a predetermined number of consecutive reception failures of beacon frames from the access point have been detected, the following operation is restarted: Receive at least two subsequent beacon frames; For each of the at least two subsequent beacon frames, Based on the STA clock, the reception time of each of the at least two subsequent beacon frames is measured; A second additional reference time interval is determined based on the difference between the transmission time of each of the at least two subsequent beacon frames and the transmission time of the previous beacon frame; A second additional STA time interval is determined based on the difference between the reception time of each of the at least two subsequent beacon frames and the reception time of the preceding beacon frame; The second additional REF-STA time difference is determined based on the difference between the second additional reference time interval and the second additional STA time interval; as well as Based on the second additional REF-STA time difference, the predetermined beacon interval, and the second additional reference time interval, a second additional normalized REF-STA time difference is determined to obtain one or more second additional normalized REF-STA time differences. as well as Select the second optimal normalized REF-STA time difference from the one or more second additional normalized REF-STA time differences and the first normalized REF-STA time difference; as well as The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the second optimally normalized REF-STA time difference.

17. The customer site according to claim 16, characterized in that, The customer site is also configured as follows: Based on the TSF value of each of the at least two subsequent beacon frames, the transmission time of each of the at least two subsequent beacon frames is determined; as well as The second additional reference time interval is determined based on the difference between the TSF value of each of the at least two subsequent beacon frames and the TSF value of the previous beacon frame.

18. A non-transitory computer-readable storage medium comprising instructions that, when executed by one or more processors of a client site (STA), cause the client site to: The reference time interval is determined based on the difference between the second transmission time of the second beacon frame and the first transmission time of the first beacon frame; The STA time interval is determined based on the difference between the second reception time of the second beacon frame and the first reception time of the first beacon frame; The REF-STA time difference is determined based on the determined reference time interval and the determined STA time interval; Based on the REF-STA time difference, the predetermined beacon interval, and the reference time interval, a normalized REF-STA time difference is determined; Based on the TSF value of the current beacon frame and the predetermined beacon interval, determine the target beacon transmission time (TBTT) of subsequent beacon frames; The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the normalized REF-STA time difference. as well as The STA is woken up from power-saving mode at the STA wake-up time to prepare to receive the subsequent beacon frames.

19. The non-transitory computer-readable storage medium according to claim 18, characterized in that, The normalized REF-STA time difference is determined by multiplying the REF-STA time difference by the predetermined beacon interval and dividing by the reference time interval.

20. The non-transitory computer-readable storage medium according to claim 18, characterized in that, The normalized REF-STA time difference is the first normalized REF-STA time difference, and the instruction also causes the client site to: Receive one or more subsequent beacon frames; For each of the one or more subsequent beacon frames, The reception time of each beacon frame in one or more subsequent beacon frames is measured according to the STA clock. An additional reference time interval is determined based on the difference between the transmission time of each beacon frame in the one or more subsequent beacon frames and the transmission time of the previous beacon frame; An additional STA time interval is determined based on the difference between the reception time of each beacon frame in the one or more subsequent beacon frames and the reception time of the previous beacon frame; The additional REF-STA time difference is determined based on the difference between the additional reference time interval and the additional STA time interval; as well as Based on the additional REF-STA time difference, the predetermined beacon interval, and the additional reference time interval, an additional normalized REF-STA time difference is determined to obtain one or more additional normalized REF-STA time differences. as well as Select the optimal normalized REF-STA time difference from the one or more additional normalized REF-STA time differences and the first normalized REF-STA time difference; as well as The STA wake-up time is determined based on the TBTT of the subsequent beacon frame and the optimally normalized REF-STA time difference.