A method, device and communication equipment for transmitting synchronization frames
By acquiring and generating congestion information, selecting unoccupied synchronization slots to send synchronization frames, the problem of low utilization of hidden node discovery and discovery windows is solved, and is suitable for long-distance transmission scenarios.
Patent Information
- Application Number
- CN202210553759.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-19
- Publication Date
- 2025-08-15
- Estimated Expiration
- 2042-05-19
AI Technical Summary
In the prior art, the listening backoff mechanism causes the node to be unable to discover hidden nodes, and the discovery window utilization rate is low, especially in long-distance transmission scenarios.
By acquiring the congestion information of the first and second synchronization nodes, the third congestion information is generated, and an unoccupied synchronization time slot is selected as the target time slot to send the synchronization frame, and multiple time slots are divided in the discovery window to improve utilization.
It improves the opportunity to send synchronous frames, reduces interference between synchronous nodes, improves the utilization rate of discovery windows, and is suitable for long-distance transmission scenarios.
Smart Images

Figure CN117135019B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of communication technology, and in particular relates to a synchronization frame sending method, apparatus and communication equipment. Background Art
[0002] A network environment may include multiple communication devices, where each communication device in the network is also called a node. To ensure that the nodes in the network environment can communicate normally and without confusion, the nodes must follow a synchronization mechanism.
[0003] Under the synchronization mechanism, all or some nodes in the network environment send synchronization frames to the discovery window, allowing the nodes to meet periodically at the agreed time and channel to complete functions such as clock correction, surrounding network environment perception, node discovery, and node election. Among them, the time and channel resources periodically used for sending synchronization frames are called the discovery window.
[0004] Because discovery window resources are limited, nodes compete to send synchronization frames to the discovery window. Therefore, conflicts may occur when different nodes send synchronization frames. To reduce the probability of synchronization frame conflicts, one implementation uses a listening backoff mechanism to send synchronization frames. The listening backoff mechanism means that before sending a synchronization frame, a node first listens for the resources within the discovery window to be used. If it hears that another node is sending a synchronization frame on this resource, to avoid synchronization frame conflicts, the node waits until the resource is idle and then randomly backs off for a certain period of time before sending a synchronization frame.
[0005] However, in the implementation method of using the above-mentioned listening backoff mechanism to reduce synchronization frame conflicts, on the one hand, due to the limitation of communication distance, the listening range of each node is limited, so the existence of hidden nodes cannot be discovered; on the other hand, a lot of time is wasted on random backoff, resulting in low utilization of the discovery window. Summary of the Invention
[0006] The present application provides a synchronization frame sending method, apparatus and communication equipment to solve the problem that, in the implementation method of reducing synchronization frame conflicts by using a listening backoff mechanism, on the one hand, due to the limitation of communication distance, the listening range of each node is limited, so the existence of hidden nodes cannot be discovered; on the other hand, a large amount of time is wasted on random backoff, resulting in low utilization of the discovery window.
[0007] In the first aspect, the present application provides a method for sending a synchronization frame, which is applied to a first synchronization node, and the method includes: obtaining first congestion information, the first congestion information is the congestion information generated corresponding to the first synchronization node, and the congestion information is used to characterize the congestion level of each synchronization time slot in the discovery window, wherein the discovery window includes at least two synchronization time slots, and the synchronization time slots are used for the synchronization node to transmit synchronization frames; obtaining second congestion information, the second congestion information is the congestion information generated corresponding to the second synchronization node, and the second synchronization node is different from the first synchronization node; generating third congestion information based on the first congestion information and the second congestion information; if the third congestion information indicates that there is at least one unoccupied synchronization time slot in the discovery window, determining one of the at least one unoccupied synchronization time slots as the target synchronization time slot, and the target synchronization time slot is used to transmit the synchronization frame sent by the first synchronization node.
[0008] In one possible implementation, obtaining the first congestion information includes: listening to the first signal strength corresponding to each synchronization time slot, where the first signal strength refers to the signal strength of the synchronization frame received on the synchronization time slot detected by the first synchronization node; determining the congestion level quantization value corresponding to each of the first signal strengths; and determining that a first congestion level quantization vector composed of all the congestion level quantization values is the first congestion information.
[0009] In one possible implementation, obtaining the second congestion information includes: receiving a second congestion information indication frame broadcast by the second synchronization node, the second congestion information indication frame including a second congestion level quantization vector, the second congestion level quantization vector being a congestion level quantization vector corresponding to the second synchronization node; obtaining the second congestion level quantization vector from the second congestion information indication frame; and determining that the second congestion level quantization vector is the second congestion information.
[0010] In one possible implementation, generating the third congestion information based on the first congestion information and the second congestion information includes: measuring a second signal strength, where the second signal strength refers to a signal strength at which the first synchronization node receives the second congestion information indication frame; and calculating a third congestion level quantization vector based on the first congestion level quantization vector, the second congestion level quantization vector, and the second signal strength according to a first relationship. The first relationship is:
[0011]
[0012] In the first relation, c k represents the third congestion level quantization vector, represents the first congestion level quantization vector, It represents the second congestion degree quantization vector obtained from the nth second synchronization node, where n is any positive integer in N, N represents the total number of the second synchronization nodes, N is a positive integer greater than or equal to 1, and RSSI k,n It represents the second signal strength measured when the first synchronization node receives the second congestion information indication frame of the nth second synchronization node, α represents the weight coefficient, α ∈ [0, 1]; it is determined that the third congestion degree quantization vector is the third congestion information.
[0013] In a possible implementation, if the third congestion information indicates that all synchronization time slots within the discovery window are occupied, then according to the third congestion information, calculate the probabilities of selecting each synchronization time slot to transmit the synchronization frame respectively; determine the synchronization time slot with the highest probability as the target synchronization time slot.
[0014] In a possible implementation, if the third congestion information indicates that all synchronization time slots within the discovery window are occupied, then according to the third congestion information, calculate the probabilities of selecting each synchronization time slot to transmit the synchronization frame respectively; generate a first random number a1, where 0 < a1 < 1; according to the first random number a1 and the probabilities of all the synchronization time slots to transmit the synchronization frame, determine a first preselected synchronization time slot; determine the first preselected synchronization time slot as the target synchronization time slot.
[0015] In a possible implementation, if the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach the preset number of times, then determine the first preselected synchronization time slot as the target synchronization time slot.
[0016] In a possible implementation, if the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot reaches the preset number of times, then generate a second random number a2, where 0 < a2 < 1; according to the second random number a2 and the probabilities of all the synchronization time slots to transmit the synchronization frame, determine a second preselected synchronization time slot; if the number of times that the second preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach the preset number of times, then determine the second preselected synchronization time slot as the target synchronization time slot.
[0017] In a possible implementation, if the duration of the first synchronization node continuously sending the synchronization frame in the first preselected synchronization time slot does not reach the preset duration, then determine the first preselected synchronization time slot as the target synchronization time slot.
[0018] In a possible implementation, if the duration of continuously transmitting the synchronization frame by the first synchronization node in the first preselected synchronization time slot reaches a preset duration, a third random number a3 is generated, where 0 < a3 < 1; according to the third random number a3 and the probabilities of transmitting the synchronization frame in all the synchronization time slots, a third preselected synchronization time slot is determined; if the duration of continuously transmitting the synchronization frame by the first synchronization node in the third preselected synchronization time slot does not reach the preset duration, the third preselected synchronization time slot is determined as the target synchronization time slot.
[0019] In a possible implementation, the first congestion information is broadcast; or, a first congestion information indication frame is sent, and the first congestion information indication frame includes the first congestion information.
[0020] In a possible implementation, the discovery window further includes a master node time slot, the master node time slot is located before the at least two synchronization time slots, and the master node time slot is used for the master node to transmit the synchronization frame.
[0021] In a possible implementation, each of the master node time slot and each of the synchronization time slots in the discovery window has a corresponding time slot number; first indication information corresponding to the time slot number of the target synchronization time slot is loaded in the time stamp of the synchronization frame.
[0022] In a possible implementation, obtaining the first congestion information includes:
[0023] If the start moment of the first synchronization time slot of the discovery window is reached, the first congestion information is obtained.
[0024] In a second aspect, the present application provides a synchronization frame sending device, and the device includes: a transceiver and a processor; the transceiver is used to obtain first congestion information, where the first congestion information is congestion information generated by the first synchronization node, and the congestion information is used to characterize the congestion degree of each synchronization time slot in the discovery window, where the discovery window includes at least two synchronization time slots, and the synchronization time slots are used for synchronization nodes to transmit synchronization frames; obtain second congestion information, where the second congestion information is congestion information generated by a second synchronization node, and the second synchronization node is different from the first synchronization node; the processor is used to generate third congestion information according to the first congestion information and the second congestion information; if the third congestion information indicates that there is at least one unoccupied synchronization time slot in the discovery window, one of the at least one unoccupied synchronization time slots is determined as the target synchronization time slot, and the target synchronization time slot is used to transmit the synchronization frame sent by the first synchronization node.
[0025] In a possible implementation, the specific manner in which the transceiver is used to obtain the first congestion information is:
[0026] The transceiver is configured to monitor a first signal strength corresponding to each synchronization time slot, where the first signal strength refers to a signal strength of a synchronization frame received in the synchronization time slot monitored by the first synchronization node;
[0027] The processor is further configured to determine a congestion level quantization value corresponding to each first signal strength; and determine a first congestion level quantization vector formed by all the congestion level quantization values as the first congestion information.
[0028] In a possible implementation, the transceiver is configured to obtain the second congestion information by:
[0029] The transceiver is configured to receive a second congestion information indication frame broadcast by the second synchronization node, wherein the second congestion information indication frame includes a second congestion level quantization vector, and the second congestion level quantization vector is a congestion level quantization vector corresponding to the second synchronization node;
[0030] The processor is further configured to obtain the second congestion level quantization vector from the second congestion information indication frame; and determine the second congestion level quantization vector as the second congestion information.
[0031] In one possible implementation, the processor is configured to generate the third congestion information based on the first congestion information and the second congestion information. Specifically, the processor is configured to measure a second signal strength, where the second signal strength refers to a signal strength of the first synchronization node receiving the second congestion information indication frame; and calculate a third congestion level quantization vector based on the first congestion level quantization vector, the second congestion level quantization vector, and the second signal strength according to a first relationship. The first relationship is:
[0032]
[0033] In the first relation, c k represents the third congestion level quantization vector, represents the first congestion level quantization vector, represents the second congestion level quantization vector obtained from the nth second synchronization node, where n is any positive integer in N, where N represents the total number of the second synchronization nodes, and N is a positive integer greater than or equal to 1, RSSI k,n It represents the second signal strength measured when the first synchronization node receives the nth second congestion information indication frame of the second synchronization node, α represents the weight coefficient, α∈[0,1]; and determines the third congestion degree quantization vector as the third congestion information.
[0034] In a possible implementation, the processor is further configured to calculate the probabilities of selecting each of the synchronization time slots to transmit the synchronization frame respectively according to the third congestion information if the third congestion information indicates that all the synchronization time slots within the discovery window are occupied; and determine the synchronization time slot with the highest probability as the target synchronization time slot.
[0035] In a possible implementation, the processor is further configured to calculate the probabilities of selecting each of the synchronization time slots to transmit the synchronization frame respectively according to the third congestion information if the third congestion information indicates that all the synchronization time slots within the discovery window are occupied; generate a first random number a1, where 0 < a1 < 1; determine a first preselected synchronization time slot according to the first random number a1 and the probabilities of all the synchronization time slots to transmit the synchronization frame; and determine the first preselected synchronization time slot as the target synchronization time slot.
[0036] In a possible implementation, the processor is further configured to determine the first preselected synchronization time slot as the target synchronization time slot if the number of times the first preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number of times.
[0037] In a possible implementation, the processor is further configured to generate a second random number a2, where 0 < a2 < 1, if the number of times the first preselected synchronization time slot is continuously determined as the target synchronization time slot reaches the preset number of times; determine a second preselected synchronization time slot according to the second random number a2 and the probabilities of all the synchronization time slots to transmit the synchronization frame; and determine the second preselected synchronization time slot as the target synchronization time slot if the number of times the second preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach the preset number of times.
[0038] In a possible implementation, the processor is further configured to determine the first preselected synchronization time slot as the target synchronization time slot if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot does not reach a preset duration.
[0039] In a possible implementation, the processor is further configured to generate a third random number a3, where 0 < a3 < 1, if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot reaches the preset duration; determine a third preselected synchronization time slot according to the third random number a3 and the probabilities of all the synchronization time slots to transmit the synchronization frame; and determine the third preselected synchronization time slot as the target synchronization time slot if the duration for which the first synchronization node continuously transmits the synchronization frame in the third preselected synchronization time slot does not reach the preset duration.
[0040] In a possible implementation manner, the transceiver is further configured to broadcast the first congestion information; or send a first congestion information indication frame, where the first congestion information indication frame includes the first congestion information.
[0041] In a possible implementation, the discovery window further includes a master node time slot, the master node time slot is located before the at least two synchronization time slots, and the master node time slot is used for the master node to transmit a synchronization frame.
[0042] In one possible implementation, the master node time slot in the discovery window and each of the synchronization time slots have a one-to-one corresponding time slot number; the processor is also used to load the first indication information corresponding to the time slot number of the target synchronization time slot in the timestamp of the synchronization frame.
[0043] In a possible implementation manner, the transceiver is configured to obtain the first congestion information, specifically: if the start time of the first synchronization time slot of the discovery window is reached, then obtain the first congestion information.
[0044] In a third aspect, the present application provides a communication device, comprising the apparatus described in any one of the second aspects.
[0045] In a fourth aspect, the present application provides a computer storage medium, in which a computer program or instruction is stored. When the computer program or instruction is executed, the method described in the first aspect is implemented.
[0046] In a fifth aspect, the present application further provides a computer program product, which includes a computer program or instructions. When the computer program or instructions are run on a computer, the method described in the first aspect is implemented.
[0047] In a sixth aspect, the present application also provides a chip, comprising a processor, wherein the processor is coupled to a memory and is used to execute a computer program or instruction stored in the memory. When the computer program or instruction is executed, the method described in the first aspect is executed.
[0048] The synchronization frame sending method, device and communication equipment provided by the present application first obtain the first congestion information and the second congestion information, so that the existence of the hidden synchronization node can be discovered through the second congestion information; then, based on the first congestion information and the second congestion information, the third congestion information is generated; if the third congestion information indicates that there is at least one unoccupied synchronization time slot in the discovery window, one of the at least one unoccupied synchronization time slots is determined as the target synchronization time slot. If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the present application does not need to retreat and wait, but adopts a method of avoiding the synchronization frame interference mechanism to determine the target synchronization time slot for the first synchronization node to send the synchronization frame. In this way, on the one hand, more synchronization nodes can have the opportunity to send synchronization frames, while minimizing the interference of synchronization frames between synchronization nodes, thereby improving the utilization rate of the discovery window. Among them, in the synchronization frame sending method provided by the present application, it is also possible to avoid continuous conflict and mutual interference between adjacent synchronization nodes on the same synchronization time slot by controlling the duration of continuous transmission of synchronization frames by the first synchronization node in the same synchronization time slot, or by controlling the number of times the same synchronization time slot is continuously determined as the target synchronization time slot by the first synchronization node. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0050] Figure 1A A node network topology diagram provided in an embodiment of the present application;
[0051] Figure 1B A schematic diagram of a discovery window in the prior art;
[0052] Figure 1C Another node network topology diagram provided in an embodiment of the present application;
[0053] Figure 2A A schematic diagram of a discovery window provided in an embodiment of the present application;
[0054] Figure 2B For Figure 2A An enlarged schematic diagram of a discovery window;
[0055] Figure 3 A flowchart of an implementation method of a synchronization frame sending method provided in an embodiment of the present application;
[0056] Figure 4AA flowchart of an implementation method for obtaining first congestion information provided in an embodiment of the present application;
[0057] Figure 4B Another node network topology diagram provided in an embodiment of the present application;
[0058] Figure 4C A flowchart of an implementation method for obtaining second congestion information provided in an embodiment of the present application;
[0059] Figure 4D A flowchart of an implementation method for generating third congestion information provided in an embodiment of the present application;
[0060] Figure 5A A flowchart of another embodiment of the method for sending a synchronization frame provided in an embodiment of the present application;
[0061] Figure 5B A cumulative probability distribution diagram of synchronization time slots provided in an embodiment of the present application;
[0062] Figure 6 A flowchart of another embodiment of the method for sending a synchronization frame provided in an embodiment of the present application;
[0063] Figure 7 A flowchart of another embodiment of the method for sending a synchronization frame provided in an embodiment of the present application;
[0064] Figure 8 A structural block diagram of an embodiment of the synchronization frame sending device provided by this application;
[0065] Figure 9 This is a structural block diagram of an embodiment of the chip provided in this application. DETAILED DESCRIPTION
[0066] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without making creative efforts are within the scope of protection of this application.
[0067] A network environment may include multiple communication devices, where the communication devices may also be referred to as nodes. Figure 1A As shown in FIG, in a network environment, nodes can be divided into three roles: master node, synchronization node and asynchronous node. Figure 1A Any node in the system can independently decide to switch between the three roles and perform the corresponding functions according to its current node status and its perception of the surrounding nodes in the same group.
[0068] To ensure that all nodes in a network can communicate normally and avoid errors, they must adhere to a synchronization mechanism. Under this mechanism, all or some nodes in the network send synchronization frames within a discovery window, allowing them to periodically meet at agreed times and within a specific channel. This allows for clock calibration, network environment awareness, node discovery, and node election. The time and channel resources used for periodic synchronization frame transmission are called the discovery window.
[0069] like Figure 1B As shown, a discovery window is configured every other discovery window interval, where a discovery window and a discovery window interval form a discovery window period. On time-frequency resources within a discovery window, each node can send synchronization frames and receive synchronization frames from other nodes. On time-frequency resources outside of a discovery window, a node may be in a dormant state to conserve power or perform other services, such as data transmission.
[0070] A network typically has only one master node in a stable state. When there are more than one master node, the network gradually converges to a single master node. The master node is the logical center of a network and can perform the following four functions: First, during network initialization, it is responsible for allocating fixed communication resources such as addresses and heartbeat resources to other nodes. Second, during network maintenance, it is responsible for sending synchronization frames at the beginning of the discovery window, providing initial timing for the current network. Third, during network maintenance, it is responsible for accepting access requests from other nodes. Fourth, if the master node is a temporary master node generated by the main network, it is also responsible for periodic network searches for network discovery and integration.
[0071] For the synchronization node, the synchronization node is an important part of the synchronization topology of a network and can perform the following three functions: first, it is responsible for synchronizing with the master node or other synchronization nodes; second, it is responsible for listening and sending synchronization frames in the discovery window; third, it is responsible for accepting access requests from other nodes.
[0072] For an unsynchronized node, the unsynchronized node can listen to synchronization frames in the discovery window but does not need to send synchronization frames.
[0073] Because discovery window resources are limited, nodes compete to send synchronization frames to the discovery window. Therefore, conflicts may occur when different nodes send synchronization frames. To reduce the probability of synchronization frame conflicts, one implementation uses a listening backoff mechanism to send synchronization frames. The listening backoff mechanism means that before sending a synchronization frame, a node first listens for the resources within the discovery window to be used. If it hears that another node is sending a synchronization frame on this resource, to avoid synchronization frame conflicts, the node waits until the resource is idle and then randomly backs off for a certain period of time before sending a synchronization frame.
[0074] Although the above-mentioned listening backoff mechanism can reduce the probability of synchronization frame collision to a certain extent, it will have the following technical problems.
[0075] The first technical problem is that, in the implementation of the above-mentioned listening backoff mechanism, due to the limitation of communication distance, the listening range of each node is limited, so the existence of hidden nodes cannot be discovered.
[0076] For example, Figure 1C As shown in the figure, the network includes synchronization nodes A, B, and C. The distance between synchronization nodes A and B is 100 meters, the distance between synchronization nodes B and C is also 100 meters, and the distance between synchronization nodes A and C is 200 meters. If the two nodes can sense that the communication distance between each other is 100 meters, then synchronization node B can sense the presence of synchronization nodes A and C, while synchronization nodes A and C cannot sense each other. In this case, synchronization nodes A and C can be called each other's hidden nodes.
[0077] In this way, if synchronization node A sends a synchronization frame to the discovery window, but because the distance between synchronization node A and synchronization node C is relatively far, synchronization node C cannot perceive that synchronization node A is sending a synchronization frame to the discovery window. At this time, if synchronization node C also sends a synchronization frame to the discovery window, a synchronization frame conflict will occur between synchronization node A and synchronization node C.
[0078] The second technical problem is that, in the implementation of the above-mentioned listening backoff mechanism, a large amount of time is wasted on random backoff, resulting in low utilization of the discovery window.
[0079] The third technical problem is that the implementation method of the above-mentioned listening backoff mechanism is only applicable to short-distance transmission scenarios and not to long-distance transmission scenarios.
[0080] For example, in a short-distance transmission scenario (such as a self-organizing network protocol), the link budget between nodes is sufficient, and the transmission time of a single synchronization frame is very small relative to the duration of the discovery window. For example, the duration of the discovery window is 10ms, and the transmission time of a single synchronization frame in a short-distance transmission scenario is 1ms. Therefore, in a short-distance transmission scenario, there is still enough time to execute the listening backoff mechanism. However, in a long-distance transmission scenario (such as ultra-long-distance point-to-point transmission or inter-device networking), due to the tight link budget and low transmission rate between nodes, the transmission time of a single synchronization frame will be relatively long. For example, the transmission time of a single synchronization frame may take 5ms. It can be seen that in a long-distance transmission scenario, there is not enough time for the "wait" of random backoff. Therefore, the implementation method of the above-mentioned listening backoff mechanism is not suitable for long-distance transmission scenarios.
[0081] To discover the existence of hidden nodes and improve the utilization of the discovery window, an embodiment of the present application provides a synchronization frame transmission method. Based on the time slot division of the discovery window, all nodes in the discovery window, in addition to the time when they send synchronization frames, obtain congestion information generated by themselves and the congestion information generated by other nodes around them. This can solve the problem of being unable to discover hidden nodes. Furthermore, new congestion information is generated based on the aggregation of these two types of congestion information, and the time slot resources used to send synchronization frames are reasonably selected, so that more nodes have the opportunity to send synchronization frames, thereby improving the utilization of the discovery window.
[0082] The following first provides an exemplary description of the discovery window provided in the embodiment of the present application.
[0083] See also Figure 2A , Figure 2A A schematic diagram of a discovery window provided in this application. This application divides the discovery window into multiple time slots, which may include a master node time slot and at least two synchronization time slots, with the master node time slot preceding all synchronization time slots. A master node time slot refers to a time slot resource used for a master node to transmit synchronization frames, and a synchronization time slot refers to a time slot resource used for synchronization nodes to transmit synchronization frames.
[0084] This application does not limit the discovery window period, the duration of the discovery window, the number of divided time slots, and the duration of each fixed time slot. Figure 2BAs shown, the discovery window period is 512ms, the duration of the discovery window is 16ms, and the discovery window is divided into six time slots. The first time slot starts at 0ms, the second time slot starts at 2.7ms, the third time slot starts at 5.4ms, the fourth time slot starts at 8.1ms, the fifth time slot starts at 10.8ms, and the sixth time slot starts at 13.5ms. A 0.2ms guard interval can be set between adjacent time slots. In this way, each time slot has 2.5ms for transmitting synchronization frames, which requires that the duration of each transmitted synchronization frame cannot exceed 2.5ms. The first time slot is the master node time slot, dedicated to master node transmission of synchronization frames; the second, third, fourth, fifth, and sixth time slots are all synchronization time slots, dedicated to synchronization nodes transmitting synchronization frames. In other words, a synchronization node can select any time slot from the second to the sixth time slot to transmit a synchronization frame.
[0085] The setting of the guard interval can prevent the delayed transmission of the synchronization frame or the excessive length of the synchronization frame itself from affecting the transmission of the synchronization frame in the next time slot.
[0086] Based on the discovery window provided above, the master node and the synchronization node can send synchronization frames in the following way: if the current moment reaches the starting moment of the discovery window, the master node sends the synchronization frame to the master node time slot; if the current moment reaches the starting moment of the first synchronization time slot of the discovery window, the synchronization node selects a synchronization time slot to transmit the synchronization frame.
[0087] Both the master node and the synchronization node can monitor the current time using their own timing devices. If the current time is detected to be the start time of the discovery window, the master node is awakened to an active state and sends a synchronization frame to the master node's time slot. Conversely, if the current time is the start time of the first synchronization time slot of the discovery window, the synchronization node is awakened to an active state and sends a synchronization frame to the synchronization time slot.
[0088] This application is based on the division of the discovery window. In the master node time slot of the discovery window, only the master node sends synchronization frames to the master node time slot, and the synchronization node does not send synchronization frames to the master node time slot, that is, the synchronization node does not compete with the master node to send synchronization frames to the master node time slot. In this way, synchronization frame sending conflicts between the master node and the synchronization node can be avoided.
[0089] In summary, this application is based on the division of the discovery window, so that the discovery window includes multiple synchronization time slots. In this way, the synchronization node can select any one of the multiple synchronization time slots to transmit the synchronization frame. Therefore, more synchronization nodes can have the opportunity to send synchronization frames, thereby improving the utilization rate of the discovery window.
[0090] The following describes in detail the synchronization frame sending method applied to the synchronization node provided in the embodiment of the present application with reference to the accompanying drawings.
[0091] See also Figure 3 , Figure 3 This is a flowchart of an implementation of a synchronization frame sending method provided in an embodiment of the present application. This method can be applied to any synchronization node. The following is an exemplary description using the first synchronization node as an example, where the first synchronization node can be any synchronization node among all synchronization nodes. The method includes the following steps:
[0092] Step S101: Obtain first congestion information.
[0093] The first congestion information is the congestion information generated corresponding to the first synchronization node. The congestion information is used to characterize the congestion level of each synchronization time slot in the discovery window. A synchronization time slot with a more serious congestion level indicates that more synchronization nodes occupy this synchronization time slot to transmit synchronization frames.
[0094] In one possible implementation, obtaining the first congestion information can be accomplished as follows: the first synchronization node monitors the signal strength of the synchronization frame received in each synchronization time slot. This signal strength is referred to as the first signal strength in this application. The first signal strength corresponding to each synchronization time slot monitored by the first synchronization node is then determined as the first congestion information. In this way, the magnitude of the first signal strength corresponding to each synchronization time slot can represent the degree of congestion in each synchronization time slot, wherein a stronger first signal strength indicates a more severe degree of congestion in the corresponding synchronization time slot.
[0095] In one possible implementation method, obtaining the first congestion information can also be achieved in the following manner: the first synchronization node listens to the first signal strength corresponding to each synchronization node time slot in the discovery window, then quantifies each first signal strength detected, determines the congestion level quantization value corresponding to each first signal strength, and finally, determines each obtained congestion level quantization value as the first congestion information.
[0096] In one possible implementation method, obtaining the first congestion information can also be achieved in the following manner: the first synchronization node listens to the first signal strength corresponding to each synchronization node time slot in the discovery window, then quantizes each first signal strength detected, determines the congestion level quantization value corresponding to each first signal strength, and then determines that the first congestion level quantization vector composed of all congestion level quantization values is the first congestion information.
[0097] The third possible implementation manner for the first synchronization node to obtain the first congestion information is described in detail below.
[0098] See also Figure 4A , Figure 4AA flowchart of an implementation method for obtaining first congestion information provided in an embodiment of the present application specifically includes the following steps:
[0099] Step S1011: monitor the first signal strength corresponding to each synchronization time slot.
[0100] The first signal strength refers to the signal strength of a synchronization frame received in a synchronization time slot monitored by the first synchronization node.
[0101] It should be noted that in the embodiment of the present application, the first synchronization node keeps listening to each synchronization time slot in the discovery window except for the time when it sends the synchronization frame, so as to perceive the local network environment in which it is located.
[0102] It should also be noted that, due to the limitations of communication distance, the first signal strength of each synchronization time slot detected by the first synchronization node is the combined strength of the signals of the synchronization frames sent by other synchronization nodes within the communication range of the first synchronization node to each synchronization time slot within the discovery window. Therefore, it can be seen that the first signal strength of each synchronization time slot detected by different synchronization nodes may be different.
[0103] For example: Figure 4B As shown, Figure 4B The solid line in the middle indicates that the two synchronous nodes are within the communication distance. Figure 4B The middle dashed line indicates that the two synchronization nodes are out of the communication distance range. Figure 4B The network shown includes five synchronization nodes, namely, synchronization node A, synchronization node B, synchronization node C, synchronization node D, and synchronization node E. Assume that synchronization nodes A, C, D, and E all send synchronization frames to the first synchronization time slot; then, due to the limitation of communication distance, the first signal strength of the first synchronization time slot detected by synchronization node B is the superposition strength of the signals of the synchronization frames sent to the first synchronization time slot by synchronization node A, synchronization node C, and synchronization node D. In other words, the first signal strength detected by synchronization node B does not include the signal strength of the synchronization frame sent to the first synchronization time slot by synchronization node E.
[0104] Step S1012: Determine a quantized value of congestion level corresponding to each first signal strength.
[0105] In one possible implementation, determining the quantized value of the congestion level corresponding to each first signal strength can be implemented as follows: performing quantized calculation on each first signal strength to obtain the quantized value of the congestion level corresponding to each first signal strength. The present application does not limit the method of quantized calculation. For example, the calculation formula e can be used. x=Y, calculate the congestion level quantization value corresponding to each first signal strength, where X represents the congestion level quantization value and Y represents the first signal strength.
[0106] In one implementation, determining the quantized congestion level value corresponding to each first signal strength can also be accomplished by searching a first mapping table for the quantized congestion level value corresponding to each first signal strength, wherein the first mapping table is a mapping relationship between signal strength and quantized congestion level values. See Table 1, which illustrates a first mapping table provided in an embodiment of the present application.
[0107] Table 1 First mapping table
[0108] Quantitative value of congestion level Signal strength 0 <-120dBm 1 -120dBm~-110dBm 2 -110dBm~-100dBm 3 -100dBm~-90dBm 4 -90dBm~-80dBm 5 -80dBm~-70dBm 6 -70dBm~-60dBm 7 >-60dBm
[0109] Table 1 shows eight congestion quantization values, ranging from 0 to 7, corresponding to the signal strength. Stronger signal strength corresponds to a larger congestion quantization value, and a larger congestion quantization value indicates more severe congestion.
[0110] In this way, after the first synchronization node obtains the first signal strength corresponding to each synchronization time slot, the first mapping table can be called. Then, based on the mapping relationship between the signal strength and the congestion level quantization value in the first mapping table, the congestion level quantization value corresponding to each first signal strength is determined, wherein the larger the congestion level quantization value corresponding to the synchronization time slot, the more serious the congestion level corresponding to the synchronization time slot.
[0111] In this application, you can use It represents the quantified value of the congestion level corresponding to the j-th synchronization time slot obtained by the first synchronization node itself, where j is any positive integer from 1 to i, and i represents the total number of synchronization time slots. According to Table 1, Thus, for the first synchronization node, the quantified value of the congestion level corresponding to the first synchronization time slot can be expressed as The quantified value of the congestion level corresponding to the second synchronization time slot can be expressed as By analogy, the quantified value of the congestion level corresponding to the last synchronization time slot can be expressed as
[0112] It should be noted that Table 1 only uses integers ranging from 0 to 7 as examples for illustrative purposes and does not limit the quantized congestion values. For example, the quantized congestion values can also be negative or decimal. This application also does not limit the range of signal strength in the first mapping table, which can be set according to actual needs.
[0113] Step S1013: Determine a first congestion level quantization vector formed by all congestion level quantization values as first congestion information.
[0114] Step S1012 obtains the congestion level quantization value corresponding to each synchronization time slot, and then a first congestion level quantization vector is constructed based on all the obtained congestion level quantization values, wherein the first congestion level quantization vector includes the congestion level quantization value corresponding to each synchronization time slot.
[0115] The first congestion level quantization vector can be express, In this way, the first congestion degree quantization vector Indicates the congestion level of each synchronization time slot corresponding to the first synchronization node.
[0116] Taking the discovery window including five synchronization time slots and the first mapping table shown in Table 1 as an example, the first congestion degree quantization vector It may be [0,5,0,2,1]. For example, the first congestion level quantization vector It may be [0,5,7,2,1]; for example, the first congestion level quantization vector It could be [6,5,7,2,1].
[0117] Step S102: Acquire second congestion information, where the second congestion information is congestion information generated corresponding to a second synchronization node, and the second synchronization node is different from the first synchronization node.
[0118] First of all, it should be noted that, for the sake of ease of description, this application divides the synchronization nodes into first synchronization nodes and second synchronization nodes, where the first synchronization node can be any synchronization node, and the second synchronization node refers to other synchronization nodes located around the first synchronization node and within the communication range of the first synchronization node, where the number of second synchronization nodes can be one or more, and this application does not limit this.
[0119] If there is one second synchronization node, the first synchronization node obtains the second congestion information from one second synchronization node in step S102; if there are multiple second synchronization nodes, the first synchronization node may obtain the corresponding second congestion information from each second synchronization node in step S102.
[0120] The following example description is given with the number of the second synchronization node being one.
[0121] In this application, the first synchronization node and the second synchronization node can both generate congestion information corresponding to themselves, and also inform other surrounding synchronization nodes of the congestion information generated by themselves. In this way, the first synchronization node can obtain the congestion information generated by the second synchronization node. In this application, the congestion information generated by the second synchronization node is referred to as the second congestion information.
[0122] This application does not limit the manner in which the first synchronization node communicates the first congestion information to other surrounding synchronization nodes. For example, the first synchronization node may broadcast the first congestion information; or, in another example, the first synchronization node may transmit a first congestion information indication frame, wherein the first congestion information indication frame includes the first congestion information. Similarly, the second synchronization node may also communicate the second congestion information to other surrounding synchronization nodes using the aforementioned implementation methods.
[0123] In one possible implementation, obtaining the second congestion information can be implemented as follows: Figure 4C As shown, the following steps are included:
[0124] Step S1021: Receive a second congestion information indication frame broadcast by a second synchronization node, where the second congestion information indication frame includes a second congestion level quantization vector.
[0125] The second congestion level quantization vector is the congestion level quantization vector corresponding to the second synchronization node. The calculation method of the second congestion level quantization vector can refer to the description of the first congestion level quantization vector in steps S1011 to S1013 and will not be repeated here.
[0126] The second synchronization node can set the congestion information generated by the second synchronization node, such as the second congestion level quantization vector, in the second congestion information indication frame. In this way, the first synchronization node can obtain the second congestion level quantization vector corresponding to the second synchronization node through the received second congestion information indication frame.
[0127] Please refer to Table 2, which shows the frame format of a second congestion information indication frame provided in an embodiment of the present application. Taking the discovery window including five synchronization node time slots as an example, the frame format of the second congestion information indication frame may include fields such as frame control, address, resource indication information, and frame check sequence. The frame control, address, and other fields also include corresponding subfields. For example, the frame control field includes subfields such as protocol version, frame type, and short address indicator. The protocol version subfield length can be 2 bits, and the frame type subfield length can be 5 bits. Among them, Rsv is a reserved field.
[0128] Table 2 Frame format of the second congestion information indication frame
[0129]
[0130] In one implementation, the second congestion level quantization vector can be represented by the subfields corresponding to Rsc1, Rsc2, Rsc3, Rsc4, and Rsc5 in the resource indication information, wherein Rsc1, Rsc2, Rsc3, Rsc4, and Rsc5 respectively represent the congestion level quantization values corresponding to the five synchronization time slots. For example, Rsc1, Rsc2, Rsc3, Rsc4, and Rsc5 can respectively correspond to any congestion level quantization value from the first synchronization time slot to the fifth synchronization time slot 0 to 7.
[0131] It should be noted that, in the embodiment of the present application, the frame format of the second congestion information indication frame shown in Table 2 is only used for illustrative purposes, and does not represent a limitation on the second congestion information indication frame. For example, the frame format of the second congestion information indication frame may include more or less information and fields.
[0132] Step S1022: Obtain a second congestion level quantization vector from the second congestion information indication frame.
[0133] When the first synchronization node receives the second congestion information indication frame shown in Table 2 sent by the second synchronization node, it can parse the congestion level quantization value corresponding to each synchronization node time slot according to the resource indication information in the frame format, and then obtain the second congestion level quantization vector corresponding to the second synchronization node.
[0134] For example, in the resource indication information of the second congestion information indication frame, the congestion level quantization value corresponding to the Rsc1 field is 3, the congestion level quantization value corresponding to the Rsc2 field is 4, the congestion level quantization value corresponding to the Rsc3 field is 7, the congestion level quantization value corresponding to the Rsc4 field is 2, and the congestion level quantization value corresponding to the Rsc5 field is 1. Then, the second congestion level quantization vector obtained from the second congestion information indication frame is
[0135] Step S1023: Determine the second congestion level quantization vector as second congestion information.
[0136] Step S103: Generate third congestion information according to the first congestion information and the second congestion information.
[0137] Due to the limitation of communication distance, the first synchronization node can only monitor the occupancy status of each synchronization time slot in the discovery window of other synchronization nodes within its communication distance range, that is, the first congestion information. In other words, the first congestion information can characterize the occupancy status of each synchronization time slot in the local network environment where the first synchronization node itself is located. The present application also obtains the second congestion information from the second synchronization node, and the second congestion information can characterize the occupancy status of each synchronization node time slot in the local network environment where the second synchronization node is located. In this way, the third congestion information generated by the first synchronization node in the present application based on the congestion information generated by itself and the second congestion information obtained from the second synchronization node can summarize and calculate the occupancy status of each synchronization time slot of the first synchronization node in the entire network environment, thereby discovering the existence of hidden nodes.
[0138] For example, Figure 4B Taking the network topology diagram as an example, assuming that the synchronization node C is the first synchronization node, the synchronization node B and the synchronization node D are the second synchronization nodes.
[0139] Due to the limitation of communication distance, the first congestion information obtained by synchronization node C represents the occupancy of each synchronization time slot by synchronization node B and synchronization node D. In other words, for synchronization node C, synchronization node A and synchronization node E are hidden nodes.
[0140] Synchronization node C further obtains second congestion information from synchronization node B and synchronization node D. Figure 4B The second congestion information obtained by synchronization node C from synchronization node B can represent the occupation of each synchronization time slot by synchronization node A and synchronization node C; the second congestion information obtained by synchronization node C from synchronization node D can represent the occupation of each synchronization time slot by synchronization node C and synchronization node E.
[0141] In this way, in the present application, the synchronization node C can indirectly obtain the occupancy of each synchronization time slot by the synchronization node A and the synchronization node E through the second congestion information obtained from the synchronization node B and the synchronization node D. It can be seen that the synchronization node C can discover the occupancy of each synchronization time slot by the hidden nodes (synchronization node A and synchronization node E) based on the first congestion information and the second congestion information obtained from the synchronization node B and the synchronization node D.
[0142] In one possible implementation, generating the third congestion information based on the first congestion information and the second congestion information can be implemented as follows: Figure 4D As shown, the following steps are included:
[0143] Step S1031: Measure a second signal strength, where the second signal strength refers to the signal strength of a second congestion information indication frame received by the first synchronization node.
[0144] In the present application, synchronization frames are sent between each synchronization node in a competition-based manner. That is, within the synchronization time slot period of the discovery window, all synchronization nodes can try to send synchronization frames to the discovery window. Correspondingly, multiple synchronization nodes can simultaneously send synchronization frames on the same synchronization time slot of the discovery window. However, there will be interference between the synchronization frames sent by each synchronization node to the same synchronization time slot. This interference will affect whether the synchronization frame sent by the final synchronization node can be parsed by the receiving end. Therefore, the first synchronization node of the present application determines the synchronization time slot with the least congestion by calculating the congestion level of each synchronization time slot in the discovery window, wherein the smaller the congestion level of the synchronization time slot, the smaller the interference level to the first synchronization frame. The distance between the two synchronization nodes that send synchronization frames is a factor that affects the degree of interference between the two synchronization frame signals. For example, if both synchronization nodes send synchronization frames to the same synchronization node time slot, the farther the distance between the two synchronization nodes, the smaller the degree of mutual interference; the closer the distance between the two synchronization nodes, the greater the degree of mutual interference.
[0145] Therefore, when the first synchronization node receives the second congestion information indication frame sent by the second synchronization node, the present application can also measure the signal strength of the received second congestion information indication frame, i.e., the second signal strength. In this way, when the first synchronization node generates the third congestion information, it incorporates the second signal strength, so that the resulting third congestion information more accurately reflects the congestion level of each synchronization time slot.
[0146] Step S1032: Calculate a third congestion level quantization vector according to the first congestion level quantization vector, the second congestion level quantization vector, and the second signal strength in accordance with the first relationship.
[0147] The third congestion degree quantization vector can be obtained by using the following first relational formula (1):
[0148]
[0149] In the first relation (1) above, c k represents the third congestion quantization vector, represents the first congestion degree quantization vector, Represents the second congestion level quantization vector obtained from the nth second synchronization node, n is any positive integer in N, N represents the total number of second synchronization nodes, N is a positive integer greater than or equal to 1, RSSI k,n It represents the second signal strength measured when the first synchronization node receives the second congestion information indication frame of the nth second synchronization node, α represents the weight coefficient, α∈[0,1].
[0150] It can be seen from the first relation (1) above that, assuming that there are N second synchronization nodes around the first synchronization node, N is a positive integer greater than or equal to 1, in step S102, the first synchronization node can obtain the second congestion degree quantization vector from the N second synchronization nodes around the first synchronization node. and the second congestion level quantization vector The corresponding second signal strength RSSI k,1 ,…,RSSI k,N , and then the third congestion degree quantization vector c can be calculated according to the first relationship (1) above k , the third congestion degree quantification vector c k =[m k,1 ,…,m k,i ],m k,1 ,…,m k,i Indicates the quantified value of the congestion level corresponding to the 1st to the i-th synchronization time slots.
[0151] This application does not limit the value of the weighting coefficient α. For example, α can be 0.4, 0.55, 0.6, 0.7, 0.75, 0.8, 0.9, etc.
[0152] Step S1033: Determine the third congestion level quantization vector as third congestion information.
[0153] When calculating the third congestion information, the present application introduces the parameter of the second signal strength, wherein the stronger the second signal strength, the closer the corresponding second synchronization node is to the first synchronization node, and the closer the distance is, the greater the interference between the synchronization frames sent to the same synchronization time slot by the first synchronization node and the second synchronization node. Combined with the above-mentioned first relationship (1), it can be seen that by introducing the second signal strength, the present application calculates the third congestion degree quantization vector, which can more accurately evaluate the congestion degree of each synchronization time slot, thereby finding the synchronization time slot that has the least interference with the first synchronization node to send the synchronization frame.
[0154] It should be noted that the first relational expression (1) is only used as an example in the embodiment of the present application, and does not limit the method for calculating the third congestion level quantization vector. Other calculation methods can also be used to calculate the third congestion level quantization vector.
[0155] It should also be noted that the embodiments of the present application are only illustrative of the first congestion information, the second congestion information, and the third congestion information in the form of vectors, but this does not limit the first congestion information, the second congestion information, and the third congestion information. Taking the first congestion information as an example, the first congestion information in the present application can be in the form of a table, and the specific table can include each synchronization time slot and the quantified congestion level value corresponding to each synchronization time slot; the first congestion information can also be in the form of a statistical chart, and specifically, the statistical chart can be a bar chart, a line chart, etc., and the statistical chart can include each synchronization time slot and the quantified congestion level value corresponding to each synchronization time slot; for another example, the first congestion information can also be in the form of an array, and the array can include each synchronization time slot and the quantified congestion level value corresponding to each synchronization time slot. The second congestion information and the third congestion information can be in the same or different form as the first congestion information, and this application does not limit this.
[0156] Step S104: If the third congestion information indicates that at least one unoccupied synchronization timeslot exists in the discovery window, one of the at least one unoccupied synchronization timeslot is determined as a target synchronization timeslot, and the target synchronization timeslot is used to transmit the synchronization frame sent by the first synchronization node.
[0157] In the present application, a synchronization time slot being unoccupied means that the synchronization time slot is not occupied by any synchronization node to transmit a synchronization frame.
[0158] The third congestion information is used as the third congestion degree quantization vector c k For example, if the third congestion level quantization vector c k =[m k,1 ,…,m k,i ] contains one or more m k,j =0, then we can determine m k,j =0 is the target synchronization time slot, where j is any positive integer from 1 to i, m k,j Indicates m k,1 ,…,m k,i Any quantified value of congestion level in . k,j =0 means the jth synchronization time slot is not occupied, m k,j ≠0 means the jth synchronization time slot is occupied.
[0159] In a specific example, the discovery window includes five synchronization time slots. If the third congestion level quantization vector c k =[1.5,2,6,0,3], the fourth synchronization time slot is determined as the target synchronization time slot; for another example, the third congestion level quantization vector c k =[0,2,6,0,3], the first synchronization time slot or the fourth synchronization time slot is determined as the target synchronization time slot.
[0160] Based on the third congestion information, the present application first determines whether there is any unoccupied synchronization time slot in the discovery window. If there is at least one unoccupied synchronization time slot, one of the at least one unoccupied synchronization time slots is determined as the target synchronization time slot; if all synchronization time slots are occupied, in order to make full use of the discovery window, the present application does not need to back off and wait, but can determine the target synchronization time slot by adopting the following methods to avoid the synchronization frame interference mechanism, so that more synchronization nodes have the opportunity to send synchronization frames, while minimizing the interference of synchronization frames between synchronization nodes.
[0161] One possible implementation method is to use a synchronization frame interference avoidance mechanism to determine the target synchronization time slot, which can be implemented as follows: Figure 3 As shown, the following steps are included:
[0162] Step S105: If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the probability of selecting each synchronization time slot for transmitting a synchronization frame is calculated according to the third congestion information.
[0163] For example, the third congestion information is a third congestion level quantization vector, and the third congestion level quantization vector c k =[5,2,6,4,3], it means that there is no unoccupied synchronization time slot in the discovery window. In this case, it is necessary to further calculate the probability of selecting each synchronization time slot to transmit a synchronization frame.
[0164] Specifically, the following second relational formula (2) can be used to calculate the probability of selecting each synchronization time slot to transmit a synchronization frame.
[0165]
[0166] In the second relation (2), p k,j represents the probability of selecting the jth synchronization time slot to transmit the synchronization frame, Indicates the sum of the quantized congestion values corresponding to all synchronization time slots.
[0167] Step S106: Determine the synchronization time slot with the highest probability as the target synchronization time slot.
[0168] When the third congestion information indicates that all synchronization time slots within the discovery window are occupied, the first synchronization node may select the synchronization time slot with the lowest congestion level as the target synchronization time slot based on the third congestion information, wherein the synchronization time slot with the lowest congestion level causes the least signal interference to the synchronization frame sent by the first synchronization node. As can be seen from the second relational expression (2), the synchronization time slot with the lowest congestion level has a higher probability of being determined as the target synchronization time slot.
[0169] One possible implementation method is to use a synchronization frame interference avoidance mechanism to determine the target synchronization time slot, which can also be implemented in the following way: Figure 5A As shown, the following steps are included:
[0170] Step S201: If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the probability of selecting each synchronization time slot for transmitting a synchronization frame is calculated according to the third congestion information.
[0171] Among them, step S201 can refer to the description of step S105, and will not be repeated here.
[0172] Step S202: Generate a first random number a1, where 0 <a1<1。
[0173] It can be seen from the above second relationship (2) that the probability corresponding to the synchronization time slot with a lower congestion level is higher. However, if the synchronization time slot with the highest probability is directly selected as the target synchronization time slot, there may be such a problem: if the first congestion signal and / or the second congestion information obtained are incorrect, the target synchronization time slot determined by the first synchronization node may not always be the synchronization time slot with the lowest congestion level.
[0174] Therefore, in this implementation, to avoid the above situation, after calculating the probability of selecting each synchronization time slot to transmit the synchronization frame, the first synchronization node will generate a random number a1, and determine the first pre-selected synchronization time slot based on the first random number a1 and the probability of all synchronization time slots transmitting the synchronization frame.
[0175] The present application does not limit the method for generating the first random number a1. For example, a random function can be pre-set. When the first random number a1 needs to be generated, the random function can be called to randomly generate any value between 0 and 1 as the first random number a1.
[0176] Step S203: Determine a first preselected synchronization time slot according to the first random number a1 and the probability of all synchronization time slots transmitting synchronization frames.
[0177] One implementation method is to determine the first preselected synchronization time slot based on the first random number a1 and the probability of transmitting synchronization frames in all synchronization time slots. This can be implemented as follows: the first preselected synchronization time slot can be determined based on the position of the first random number a1 in the synchronization time slot cumulative probability distribution diagram.
[0178] Taking the discovery window including five synchronization time slots as an example, assuming that the probability p of selecting the first synchronization time slot to transmit the synchronization frame is calculated in step S201 k,1 =0.2, the probability p of selecting the second synchronization time slot to transmit the synchronization frame k,2 =0.2, the probability p of selecting the third synchronization time slot to transmit the synchronization frame k,3=0.1, the probability p of selecting the fourth synchronization time slot to transmit the synchronization frame k,4 =0.1, the probability p of selecting the fifth synchronization time slot to transmit the synchronization frame k,5 =0.4, the cumulative probability of all synchronization time slots is 1.
[0179] See Figure 5B , Figure 5B is a cumulative probability distribution graph of synchronization time slots. The probabilities corresponding to the first synchronization time slot, the second synchronization time slot, the third synchronization time slot, the fourth synchronization time slot, and the fifth synchronization time slot are distributed sequentially from 0 to 1 in the cumulative probability distribution graph of synchronization time slots. In this way, each synchronization time slot corresponds to a probability interval in the cumulative probability distribution graph of synchronization time slots.
[0180] For example, if the first random number a1 generated is 0.3, then the first random number a1 corresponds to the probability p k,2 In the probability interval, we can determine the probability of k,2 The corresponding second synchronization time slot is the first preselected synchronization time slot; for example, the generated first random number a1 is 0.7, then the first random number a1 corresponds to the probability p k,5 In the probability interval, we can determine p k,5 The corresponding fifth synchronization time slot is the first pre-selected synchronization time slot.
[0181] Step S204: Determine the first preselected synchronization time slot as the target synchronization time slot.
[0182] Combine Figure 5B As can be seen from the cumulative probability distribution diagram of synchronization time slots, a greater probability indicates a larger probability interval in the cumulative probability distribution diagram of synchronization time slots. Thus, the probability that the first random number a1 will fall within a synchronization time slot with a larger probability interval also increases. Therefore, in this implementation, while minimizing the need to select synchronization time slots that significantly interfere with the synchronization frame signal of the first synchronization node for synchronization frame transmission, it also prevents the first synchronization node from consistently selecting a synchronization time slot that minimizes interference with the synchronization frame signal of the first synchronization node due to errors in the generated first congestion signal and / or the acquired second congestion information.
[0183] One possible implementation method is to use a synchronization frame interference avoidance mechanism to determine the target synchronization time slot, which can also be implemented in the following way: Figure 6 As shown, the following steps are included:
[0184] Step S301: If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the probability of selecting each synchronization time slot for transmitting a synchronization frame is calculated according to the third congestion information.
[0185] Step S302: Generate a first random number a1, where 0 <a1<1。
[0186] Step S303: Determine a first preselected synchronization time slot according to the first random number a1 and the probability of all synchronization time slots transmitting synchronization frames.
[0187] Among them, step S301 can refer to the description of step S201, step S302 can refer to the description of step S202, and step S303 can refer to the description of step S203, which will not be repeated here.
[0188] Step S304: If the number of times that the first pre-selected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number, the first pre-selected synchronization time slot is determined as the target synchronization time slot.
[0189] Taking into account the adjacent synchronization nodes, the first congestion information obtained and the second congestion information obtained may be the same or similar, and thus the third congestion information generated by the adjacent synchronization nodes may be the same or similar. In this way, in continuous discovery window periods, the target synchronization time slots determined by the adjacent synchronization nodes may always be the same, resulting in the adjacent synchronization nodes always sending synchronization frames to the same synchronization time slot in different discovery window periods. However, the closer the distance between the synchronization nodes, the more serious the signal interference.
[0190] Therefore, in order to avoid continuous conflict and mutual interference between adjacent synchronization nodes on the same synchronization time slot, in an embodiment of the present application, after determining the first pre-selected synchronization time slot, it is determined whether the number of times the first pre-selected synchronization time slot is continuously determined as the target synchronization time slot in consecutive discovery window periods reaches a preset number. If the preset number is not reached, the first pre-selected synchronization time slot is determined to be the target synchronization time slot; if the preset number is reached, steps S305 to S307 are executed.
[0191] It should be noted that in this application, the first synchronization node determines one of the multiple synchronization time slots as the target synchronization time slot within each discovery window period. Thus, the number of times the first pre-selected synchronization time slot has been continuously determined as the target synchronization time slot refers to the number of times the first pre-selected synchronization time slot has been continuously determined as the target synchronization time slot by the first synchronization node within consecutive discovery window periods before the current moment.
[0192] For example, in the first discovery window period, the first synchronization slot in the discovery window is determined as the target synchronization slot; in the second discovery window period, the first synchronization slot in the discovery window is determined as the target synchronization slot; and in the third discovery window period, the first synchronization slot in the discovery window is again determined as the target synchronization slot. If, in the fourth discovery window period, the first preselected synchronization slot determined in step S303 is the first synchronization slot, then the first preselected synchronization slot has previously been continuously determined as the target synchronization slot three times. Correspondingly, if the preset number is five, and the number of times the first preselected synchronization slot has been continuously determined as the target synchronization slot in the fourth discovery window period does not reach the preset number, the first preselected synchronization slot is determined as the target synchronization slot; if the preset number is three, and the number of times the first preselected synchronization slot has been continuously determined as the target synchronization slot in the fourth discovery window period reaches the preset number, then the following steps S305 to S307 are continued.
[0193] It should also be noted that this application does not limit the specific value of the preset number of times, which can be set according to the actual application scenario. For example, the preset number of times can be 2 times, 3 times, 4 times, etc.
[0194] Step S305: If the number of times the first pre-selected synchronization time slot is continuously determined as the target synchronization time slot reaches a preset number, a second random number a2 is generated, where 0 <a2<1。
[0195] The present application may use the same method as that used to generate the first random number a1 to generate the second random number a2. For details, please refer to the description of step S202, which will not be repeated here.
[0196] Step S306: Determine a second preselected synchronization time slot according to the second random number a2 and the probability of all synchronization time slots transmitting synchronization frames.
[0197] The present application may determine the second preselected synchronization time slot using a method similar to that used to determine the first preselected synchronization time slot. For details, please refer to the description of step S203, which will not be repeated here.
[0198] Step S307: If the number of times that the second pre-selected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number, the second pre-selected synchronization time slot is determined as the target synchronization time slot.
[0199] It should be noted that the above steps S305 to S307 can be a cyclic process. If the number of times the second pre-selected synchronization time slot is continuously determined as the target synchronization time slot also reaches the preset number, steps S305 to S307 can be executed again until a synchronization time slot is selected that has not been continuously determined as the target synchronization time slot for the preset number of times, and the synchronization time slot is determined to be the target synchronization time slot.
[0200] In this feasible method, by setting a preset number of times, the same synchronization time slot can be avoided from being continuously determined as the target synchronization time slot, thereby avoiding continuous conflict and mutual interference between adjacent synchronization nodes on the same synchronization time slot in different discovery window periods.
[0201] One possible implementation method is to use a synchronization frame interference avoidance mechanism to determine the target synchronization time slot, which can also be implemented in the following way: Figure 7 As shown, the following steps are included:
[0202] Step S401: If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the probability of selecting each synchronization time slot for transmitting a synchronization frame is calculated according to the third congestion information.
[0203] Step S402: Generate a first random number a1, where 0 <a1<1。
[0204] Step S403: Determine a first preselected synchronization time slot according to the first random number a1 and the probability of all synchronization time slots transmitting synchronization frames.
[0205] Among them, step S401 can refer to the description of step S201, step S402 can refer to the description of step S202, and step S403 can refer to the description of step S203, which will not be repeated here.
[0206] Step S404: If the duration for which the first synchronization node continuously sends synchronization frames in the first pre-selected synchronization time slot does not reach a preset duration, the first pre-selected synchronization time slot is determined as a target synchronization time slot.
[0207] Similar to the second implementation method for determining the target synchronization time slot described above, this implementation method is also intended to avoid continuous conflict and mutual interference between adjacent synchronization nodes in the same synchronization time slot during different discovery window periods. In this implementation method, after determining the first preselected synchronization time slot, a determination is made as to whether the duration of continuous transmission of synchronization frames by the first synchronization node in the first preselected synchronization time slot during consecutive discovery window periods has reached a preset duration. If the preset duration has not been reached, the first preselected synchronization time slot is determined to be the target synchronization time slot. If the preset duration has been reached, steps S405 to S407 are executed.
[0208] It should be noted that the duration for which the first synchronization node continuously sends synchronization frames in the first preselected synchronization time slot means that before the current moment, within the continuous discovery window period, the duration for which the first synchronization node continuously sends synchronization frames in the first preselected synchronization time slot has reached the preset duration.
[0209] For example, in the first discovery window period, the first synchronization slot in the discovery window is determined as the target synchronization slot. Accordingly, the duration of the synchronization frame sent by the first synchronization node in the first synchronization slot of the first discovery window period is T1. In the second discovery window period, the first synchronization slot in the discovery window is determined as the target synchronization slot. Accordingly, the duration of the synchronization frame sent by the first synchronization node in the first synchronization slot of the second discovery window period is T2. In the third discovery window period, the first synchronization slot in the discovery window is again determined as the target synchronization slot. Accordingly, the duration of the synchronization frame sent by the first synchronization node in the first synchronization slot of the third discovery window period is T3. If, in the fourth discovery window period, the first pre-selected synchronization slot determined in step S403 is the first synchronization slot, then prior to this, the first synchronization node continuously sends synchronization frames in the first synchronization slots of the first discovery window period, the second discovery window period, and the third discovery window period, and the duration of the continuous transmission of the synchronization frames is (T1+T2+T3). Correspondingly, if the preset duration is greater than (T1+T2+T3), then the duration for the first synchronization node to continuously send synchronization frames in the first preselected synchronization time slot does not reach the preset duration, and the first preselected synchronization time slot is determined to be the target synchronization time slot; if the preset duration is less than (T1+T2+T3), then in the fourth discovery window period, the duration for the first synchronization node to continuously send synchronization frames in the first preselected synchronization time slot has reached the preset duration, and the following steps S405 to S407 are continued to be executed.
[0210] It should also be noted that this application does not limit the specific value of the preset time length, and it can be set according to the actual application scenario. For example, the preset time length can be 6s, 8s, 10s, 12s, etc.
[0211] Step S405: If the duration of the first synchronization node continuously sending synchronization frames in the first preselected synchronization time slot reaches a preset duration, a third random number a3 is generated, where 0 <a3<1。
[0212] The present application may use the same method as that used to generate the first random number a1 to generate the third random number a3. For details, please refer to the description of step S202, which will not be repeated here.
[0213] Step S406: Determine a third preselected synchronization time slot according to the third random number a3 and the probability of all synchronization time slots transmitting synchronization frames.
[0214] The present application may determine the third preselected synchronization time slot using a method similar to that used to determine the first preselected synchronization time slot. For details, please refer to the description of step S203, which will not be repeated here.
[0215] Step S407: If the duration for which the first synchronization node continuously sends synchronization frames in the third preselected synchronization time slot does not reach a preset duration, the third preselected synchronization time slot is determined to be the target synchronization time slot.
[0216] It should be noted that the above steps S405 to S407 can be a cyclic process. If the duration for which the first synchronization node continuously sends synchronization frames in the third pre-selected synchronization time slot also reaches the preset duration, steps S405 to S407 can be executed again until a synchronization time slot in which the duration for which the first synchronization node continuously sends synchronization frames does not reach the preset duration is selected, and the synchronization time slot is determined to be the target synchronization time slot.
[0217] In this achievable manner, by setting a preset time length, it is possible to avoid the same synchronization time slot being continuously determined as the target synchronization time slot, thereby preventing adjacent synchronization nodes from continuously colliding and interfering with each other in the same synchronization time slot.
[0218] After the first synchronization node determines the target synchronization timeslot, it occupies the determined target synchronization timeslot and sends a synchronization frame. Other synchronization nodes, upon receiving the synchronization frame, can synchronize based on the information carried in the synchronization frame. The information carried in the synchronization frame may include frame type indication information, address indication information of the first synchronization node, timestamp, frame check sequence, and other information.
[0219] In order to facilitate the master node and synchronization node to declare the time slot resources occupied by the synchronization frame transmission, the present application can also number each time slot divided in the discovery window so that the master node time slot and each synchronization time slot in the discovery window have a one-to-one corresponding time slot number. For example, Figure 2B In the discovery window shown in , the first time slot is numbered 0#, the second time slot is numbered 1#, the third time slot is numbered 2#, the fourth time slot is numbered 3#, the fifth time slot is numbered 4#, and the sixth time slot is numbered 5#.
[0220] In this way, after the first synchronization node determines the target synchronization timeslot, it can load the first indication information corresponding to the timestamp number of the target synchronization timeslot into the timestamp of the synchronization frame. When other synchronization nodes receive the synchronization frame received by the first synchronization node, they can obtain the first indication information from the timestamp of the synchronization frame, and then determine the timestamp number of the target synchronization timeslot corresponding to the first indication information, and further determine the starting time of the target synchronization timeslot corresponding to the first indication information. In this way, other synchronization nodes that receive the synchronization frame sent by the first synchronization node can synchronize according to the starting time of the target synchronization timeslot.
[0221] In one implementation, see Table 3, which shows a frame format of a synchronization frame provided in an embodiment of the present application. The synchronization frame may include fields such as frame control, address, timestamp, node information, master node information, and frame check sequence. The fields such as frame control, address, and timestamp also include corresponding subfields. For example, the frame control field includes subfields such as protocol version, frame type, and short address indicator. The length of the protocol version subfield can be 2 bits, and the length of the frame type subfield can be 5 bits. The first indication information in the synchronization frame can be indicated by the time slot ID and time subfield in the timestamp field, which are 4 bits in total.
[0222] Table 3 Frame format of synchronization frame
[0223]
[0224] For example, the first indication information in the timestamp can be in the form of integers such as "3", "5", "8", "11", "14", etc. Please refer to Table 4. Each first indication information in the form of an integer corresponds to a time slot number, such as "3" in the timestamp corresponds to time slot number 1#, "5" in the timestamp corresponds to time slot number 2#, "8" in the timestamp corresponds to time slot number 3#, "11" in the timestamp corresponds to time slot number 4#, and "14" in the timestamp corresponds to time slot number 5#. Each time slot number corresponds to a precise revelation moment. For example, the revelation moment corresponding to the time slot numbered 1# is 2.7ms, and the revelation moment corresponding to the time slot numbered 2# is 5.4ms. In this way, when other synchronization nodes receive the synchronization frame received by the first synchronization node, they can identify the time slot ID and moment subfield in the timestamp of the synchronization frame, and then map the first indication information indicated by the time slot ID and moment subfield to the precise starting time according to the correspondence in Table 4. In this way, other synchronization nodes that receive the synchronization frame sent by the first synchronization node can synchronize according to the precise starting time of the target synchronization time slot.
[0225] Table 4 Correspondence between the first indication information, time slot number, and starting time
[0226] First instruction information Time slot number Starting time 3 1# 2.7ms 5 2# 5.4ms 8 3# 8.1ms 11 4# 10.8ms 14 5# 13.5ms
[0227] Similarly, the synchronization frame sent by the master node may also carry indication information corresponding to the time slot number of the master node time slot transmitting the master node synchronization frame.
[0228] It should be noted that the frame format of the synchronization frame shown in Table 3 is only used as an example in the embodiment of the present application, and does not limit the synchronization frame. For example, the frame format of the synchronization frame may include more or less information and fields.
[0229] It should also be noted that the first indication information, time slot number, and start time shown in Table 4 are only used for illustrative purposes in the application examples, and do not limit the first indication information, time slot number, start time, or the corresponding relationship between the first indication information, time slot number, and start time. For example, the first indication information may also be a, b, c, d, e, etc.
[0230] In summary, in the synchronization frame sending method provided by the embodiment of the present application, the first congestion information and the second congestion information are first obtained, so that the existence of the hidden synchronization node can be discovered through the second congestion information; then, the third congestion information is generated based on the first congestion information and the second congestion information; thereafter, if the third congestion information indicates that there is at least one unoccupied synchronization time slot in the discovery window, one of the at least one unoccupied synchronization time slots is determined as the target synchronization time slot. If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, the present application does not need to back off and wait, but adopts a method of avoiding the synchronization frame interference mechanism to determine the target synchronization time slot for the first synchronization node to send the synchronization frame. In this way, on the one hand, more synchronization nodes can have the opportunity to send synchronization frames, while minimizing the interference of synchronization frames between synchronization nodes, thereby improving the utilization rate of the discovery window; on the other hand, the synchronization frame sending method provided by the embodiment of the present application can also be applied to long-distance transmission scenarios.
[0231] Among them, in the synchronization frame sending method provided in the embodiment of the present application, it is also possible to avoid continuous conflict and mutual interference between adjacent synchronization nodes in the same synchronization time slot by controlling the duration of continuous transmission of synchronization frames by the first synchronization node in the same synchronization time slot, or by controlling the number of times the same synchronization time slot is continuously determined as the target synchronization time slot by the first synchronization node.
[0232] The various method embodiments described herein may be independent solutions or may be combined according to internal logic, and all of these solutions fall within the scope of protection of this application.
[0233] It can be understood that, in the above-mentioned various method embodiments, the methods and operations implemented by the communication device can also be implemented by components (such as chips or circuits) that can be used in the communication device.
[0234] The above embodiments introduce the synchronization frame sending method provided by the present application. It is understandable that, in order to implement the above functions, the communication device includes a hardware structure and / or software module corresponding to each function. Those skilled in the art should easily realize that, in combination with the units and algorithm steps of each example described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0235] The embodiment of the present application can divide the functional modules of the communication device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of modules in the embodiment of the present application is schematic and is only a logical functional division. In actual implementation, there may be other division methods.
[0236] Above, combined Figures 1A to 7 The method provided in the embodiment of the present application is described in detail. Figures 8 and 9 The apparatus provided in the embodiments of the present application will be described in detail. It should be understood that the description of the apparatus embodiment corresponds to the description of the method embodiment, and therefore, for matters not described in detail, reference can be made to the method embodiment above, and for the sake of brevity, no further description will be given here.
[0237] See also Figure 8 , Figure 8 This is a structural block diagram of an embodiment of the synchronization frame sending device provided by this application. Figure 8 As shown, the apparatus 1000 may include: a transceiver 1001 and a processor 1002. The apparatus 1000 may execute the above Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 The operations performed by the first synchronization node in the method embodiment are shown.
[0238] For example, in an optional embodiment of the present application, the transceiver 1001 can be used to obtain first congestion information, where the first congestion information is congestion information generated corresponding to the first synchronization node, and the congestion information is used to characterize the congestion level of each synchronization time slot in the discovery window, wherein the discovery window includes at least two synchronization time slots, and the synchronization time slots are used for the synchronization node to transmit synchronization frames; and obtain second congestion information, where the second congestion information is congestion information generated corresponding to the second synchronization node, and the second synchronization node is different from the first synchronization node; the processor 1002 can be used to: generate third congestion information based on the first congestion information and the second congestion information; if the third congestion information indicates that there is at least one unoccupied synchronization time slot in the discovery window, determine that one of the at least one unoccupied synchronization time slots is the target synchronization time slot, and the target synchronization time slot is used to transmit the synchronization frame sent by the first synchronization node.
[0239] In one possible implementation, the transceiver 1001 is used to obtain first congestion information, specifically: the transceiver 1001 can be used to listen to the first signal strength corresponding to each synchronization time slot, where the first signal strength refers to the signal strength of the synchronization frame received on the synchronization time slot listened to by the first synchronization node; determine the congestion level quantization value corresponding to each first signal strength; and determine that the first congestion level quantization vector composed of all the congestion level quantization values is the first congestion information.
[0240] In one possible implementation, the transceiver 1001 is used to obtain second congestion information, specifically: the transceiver 1001 can be used to receive a second congestion information indication frame broadcast by the second synchronization node, the second congestion information indication frame including a second congestion level quantization vector, and the second congestion level quantization vector is a congestion level quantization vector corresponding to the second synchronization node; obtain the second congestion level quantization vector from the second congestion information indication frame; and determine that the second congestion level quantization vector is the second congestion information.
[0241] In one possible implementation, the processor 1002 is configured to generate the third congestion information based on the first congestion information and the second congestion information. Specifically, the processor 1002 may be configured to: measure a second signal strength, where the second signal strength refers to a signal strength of the first synchronization node receiving the second congestion information indication frame; and calculate a third congestion level quantization vector based on the first congestion level quantization vector, the second congestion level quantization vector, and the second signal strength according to a first relationship. The first relationship is:
[0242]
[0243] In the first relational expression, c k represents the third congestion level quantization vector, represents the first congestion level quantization vector, represents the second congestion level quantization vector obtained from the nth second synchronization node, where n is any positive integer in N, N represents the total number of the second synchronization nodes, N is a positive integer greater than or equal to 1, and PSSI k,n represents the second signal strength measured when the first synchronization node receives the second congestion information indication frame of the nth second synchronization node, α represents a weight coefficient, α ∈ [0, 1]; it is determined that the third congestion level quantization vector is the third congestion information.
[0244] In a possible implementation, the processor 1002 is configured to: if the third congestion information indicates that all synchronization time slots in the discovery window are occupied, then calculate the probability of selecting each synchronization time slot to transmit a synchronization frame respectively according to the third congestion information; determine the synchronization time slot with the highest probability as the target synchronization time slot.
[0245] In a possible implementation, the processor 1002 is configured to: if the third congestion information indicates that all synchronization time slots in the discovery window are occupied, then calculate the probability of selecting each synchronization time slot to transmit a synchronization frame respectively according to the third congestion information; generate a first random number a1, where 0 < a1 < 1; determine a first preselected synchronization time slot according to the first random number a1 and the probabilities of all the synchronization time slots to transmit a synchronization frame; determine the first preselected synchronization time slot as the target synchronization time slot.
[0246] In a possible implementation, the processor 1002 is configured to: if the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number of times, then determine the first preselected synchronization time slot as the target synchronization time slot.
[0247] In a possible implementation, the processor 1002 is configured to: if the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot reaches the preset number of times, then generate a second random number a2, where 0 < a2 < 1; determine a second preselected synchronization time slot according to the second random number a2 and the probabilities of all the synchronization time slots to transmit a synchronization frame; if the number of times that the second preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach the preset number of times, then determine the second preselected synchronization time slot as the target synchronization time slot.
[0248] In a possible implementation, the processor 1002 is configured to: if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot does not reach a preset duration, determine the first preselected synchronization time slot as the target synchronization time slot.
[0249] In a possible implementation, the processor 1002 is configured to: if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot reaches the preset duration, generate a third random number a3, where 0 < a3 < 1; determine a third preselected synchronization time slot according to the third random number a3 and the probabilities of transmitting the synchronization frame in all the synchronization time slots; if the duration for which the first synchronization node continuously transmits the synchronization frame in the third preselected synchronization time slot does not reach the preset duration, determine the third preselected synchronization time slot as the target synchronization time slot.
[0250] In a possible implementation, the transceiver 1001 is configured to broadcast the first congestion information; or, send a first congestion information indication frame, where the first congestion information indication frame includes the first congestion information.
[0251] In a possible implementation, the discovery window further includes a master node time slot, and the master node time slot is located before the at least two synchronization time slots, and the master node time slot is used for the master node to transmit the synchronization frame.
[0252] In a possible implementation, the master node time slot and each of the synchronization time slots in the discovery window each have a corresponding time slot number; the processor 1002 is configured to: load first indication information corresponding to the time slot number of the target synchronization time slot in the time stamp of the synchronization frame.
[0253] In a possible implementation, the transceiver 1001 is configured to: if the start time of the first synchronization time slot of the discovery window is reached, obtain the first congestion information.
[0254] That is to say, the apparatus 1000 can implement the steps or processes performed by the first synchronization node in the synchronization frame sending method embodiments corresponding to Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 shown. The apparatus 1000 may include means for performing Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7The modules of the method executed by the first synchronization node in the embodiment of the synchronization frame sending method are shown. It should be understood that the specific process of each module executing the above corresponding steps has been described in detail in the above embodiment of the synchronization frame sending, and will not be repeated here for the sake of brevity.
[0255] The present application also provides a processing device including at least one processor and a communication interface, wherein the communication interface is used to provide information input and / or output to the at least one processor, and the at least one processor is used to execute the method in the above method embodiment.
[0256] It should be understood that the above-mentioned processing device can be a chip. For example, see Figure 9 , Figure 9 This is a structural block diagram of an embodiment of the chip provided in this application. Figure 9 The chip shown can be a general purpose processor or a dedicated processor. The chip 1100 may include at least one processor 1101. The at least one processor 1101 may be used to support Figure 8 The device shown performs Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 The technical solution shown.
[0257] Optionally, the chip 1100 may further include a transceiver 1102, which is configured to accept control from the processor 1101 and to support Figure 8 The device shown performs Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 The technical solution of the synchronization frame sending method shown. Optionally, Figure 9 The chip 1100 shown may further include a storage medium 1103. Specifically, the transceiver 1102 may be replaced by a communication interface, which provides information input and / or output for the at least one processor 1101.
[0258] It should be noted that Figure 9The chip 1100 shown can be implemented using the following circuits or devices: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), application specific integrated circuits (ASICs), system on chip (SoCs), central processor units (CPUs), network processors (NPs), digital signal processors (DSPs), microcontroller units (MCUs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits that can perform the various functions described throughout this application.
[0259] During implementation, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor or by instructions in the form of software. The steps of the method disclosed in conjunction with the embodiments of the present application can be directly embodied as being executed by a hardware processor, or can be executed by a combination of hardware and software modules in the processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it will not be described in detail here.
[0260] It should be noted that the processor in the embodiments of the present application can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method embodiment can be completed by an integrated logic circuit of the hardware in the processor or by instructions in the form of software. The above processor can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods, steps, and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a storage medium mature in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0261] It is understood that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus RAM (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0262] According to the method provided in the embodiment of the present application, the embodiment of the present application also provides a computer program product, which includes: a computer program or instruction, which, when the computer program or instruction is run on a computer, causes the computer to execute Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 A method according to any one of the embodiments shown.
[0263] According to the method provided in the embodiment of the present application, the embodiment of the present application also provides a computer storage medium, which stores a computer program or instruction, and when the computer program or instruction is run on a computer, the computer executes Figure 3 、 Figure 4A 、 Figure 4C 、 Figure 4D 、 Figure 5A 、 Figure 6 and Figure 7 A method according to any one of the embodiments shown.
[0264] According to the method provided in the embodiment of the present application, the embodiment of the present application also provides a communication device, which is a smart device, including a smart phone, a tablet computer or a personal digital assistant, etc., and the smart device includes the above-mentioned synchronization frame sending device.
[0265] Those skilled in the art will appreciate that the various illustrative logical blocks and steps described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0266] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and modules described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0267] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0268] The modules described as separate components may or may not be physically separate, and the components shown as modules may or may not be physical units, that is, they may be located in one place or distributed across multiple network elements. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0269] In addition, the functional modules in the various embodiments of the present application may be integrated into one processing unit, or each module may exist physically separately, or two or more modules may be integrated into one unit.
[0270] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0271] The synchronization frame sending device, chip, computer storage medium, computer program product, and communication equipment provided in the above-mentioned embodiments of the present application are all used to execute the method provided above. Therefore, the beneficial effects that can be achieved can refer to the corresponding beneficial effects of the method provided above, and will not be repeated here.
[0272] It should be understood that in each embodiment of the present application, the execution order of each step should be determined by its function and internal logic. The size of the sequence number of each step does not mean the order of execution and does not limit the implementation process of the embodiment.
[0273] The various sections of this specification are described in a progressive manner. Similar portions between the various embodiments can be referenced to each other. Each embodiment focuses on the differences between the other embodiments. In particular, the embodiments of the synchronization frame transmission device, chip, computer storage medium, computer program product, and communication device are generally similar to the method embodiments, so their descriptions are relatively simple. For relevant details, refer to the descriptions of the method embodiments.
[0274] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the present application.
[0275] The above-described embodiments of the present application do not constitute a limitation on the scope of protection of the present application.
Claims
1. A synchronization frame sending method, characterized in that: The method is applied to a first synchronization node, and includes: Obtaining first congestion information, where the first congestion information is congestion information generated corresponding to the first synchronization node, and the congestion information is used to characterize the congestion level of each synchronization time slot in a discovery window, wherein the discovery window includes at least two synchronization time slots, and the synchronization time slots are used for the synchronization node to transmit synchronization frames; Obtaining second congestion information, where the second congestion information is congestion information generated corresponding to a second synchronization node, where the second synchronization node is different from the first synchronization node; generating third congestion information according to the first congestion information and the second congestion information; If the third congestion information indicates that at least one unoccupied synchronization time slot exists in the discovery window, one of the at least one unoccupied synchronization time slots is determined as a target synchronization time slot, and the target synchronization time slot is used to transmit the synchronization frame sent by the first synchronization node.
2. The method according to claim 1, characterized in that The obtaining of the first congestion information includes: Listening to a first signal strength corresponding to each synchronization time slot, where the first signal strength refers to a signal strength of a synchronization frame received in the synchronization time slot monitored by the first synchronization node; Determining a congestion level quantization value corresponding to each first signal strength; A first congestion level quantization vector formed by all the congestion level quantization values is determined as the first congestion information.
3. The method according to claim 2, characterized in that The obtaining of the second congestion information includes: receiving a second congestion information indication frame broadcast by the second synchronization node, where the second congestion information indication frame includes a second congestion level quantization vector, and the second congestion level quantization vector is a congestion level quantization vector corresponding to the second synchronization node; acquiring the second congestion degree quantization vector from the second congestion information indication frame; The second congestion level quantization vector is determined as the second congestion information.
4. The method according to claim 3, characterized in that Generating the third congestion information according to the first congestion information and the second congestion information includes: measuring a second signal strength, where the second signal strength refers to a signal strength of the second congestion information indication frame received by the first synchronization node; Calculating a third congestion level quantization vector according to the first congestion level quantization vector, the second congestion level quantization vector, and the second signal strength according to a first relationship; Wherein, the first relational expression is: In the first relation, c k represents the third congestion level quantization vector, represents the first congestion level quantization vector, represents the second congestion level quantization vector obtained from the nth second synchronization node, n is any positive integer in N, N represents the total number of the second synchronization nodes, N is a positive integer greater than or equal to 1, PSSI k,n represents the second signal strength measured when the first synchronization node receives the nth second congestion information indication frame of the second synchronization node, α represents the weight coefficient, α∈[0,1]; The third congestion level quantization vector is determined as the third congestion information.
5. The method according to any one of claims 1 to 4, characterized in that If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, calculating the probability of selecting each synchronization time slot to transmit a synchronization frame according to the third congestion information; The synchronization time slot with the highest probability is determined as the target synchronization time slot.
6. The method according to any one of claims 1 to 4, characterized in that If the third congestion information indicates that all synchronization time slots in the discovery window are occupied, calculating the probability of selecting each synchronization time slot to transmit a synchronization frame according to the third congestion information; Generate a first random number a1, where 0 <a1<1; Determine a first preselected synchronization time slot according to the first random number a1 and the probability of all the synchronization time slots transmitting synchronization frames; The first preselected synchronization time slot is determined as the target synchronization time slot.
7. The method according to claim 6, characterized in that If the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number, the first preselected synchronization time slot is determined as the target synchronization time slot.
8. The method according to claim 7, characterized in that If the number of times the first preselected synchronization time slot is continuously determined as the target synchronization time slot reaches a preset number, a second random number a2 is generated, where 0 <a2<1; Determine a second preselected synchronization time slot according to the second random number a2 and the probability of all the synchronization time slots transmitting synchronization frames; If the number of times that the second preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number, the second preselected synchronization time slot is determined as the target synchronization time slot.
9. The method according to claim 6, characterized in that If the duration for which the first synchronization node continuously sends the synchronization frame in the first preselected synchronization time slot does not reach a preset duration, the first preselected synchronization time slot is determined to be the target synchronization time slot.
10. The method according to claim 9, characterized in that If the first synchronization node continuously sends the synchronization frame in the first preselected synchronization time slot for a predetermined time, a third random number a3 is generated, where 0 <a3<1; Determining a third preselected synchronization time slot according to the third random number a3 and the probability of all the synchronization time slots transmitting synchronization frames; If the duration for which the first synchronization node continuously sends the synchronization frame in the third preselected synchronization time slot does not reach a preset duration, the third preselected synchronization time slot is determined to be the target synchronization time slot.
11. The method according to claim 1, wherein The method further comprises: broadcasting the first congestion information; or, A first congestion information indication frame is sent, where the first congestion information indication frame includes the first congestion information.
12. The method according to claim 1, characterized in that The discovery window further includes a master node time slot, which is located before the at least two synchronization time slots and is used for the master node to transmit a synchronization frame.
13. The method according to claim 12, characterized in that The master node time slot in the discovery window and each of the synchronization time slots have a one-to-one corresponding time slot number; First indication information corresponding to the time slot number of the target synchronization time slot is loaded into the timestamp of the synchronization frame.
14. The method according to claim 1, wherein Obtain the first congestion information, including: If the start time of the first synchronization time slot of the discovery window is reached, first congestion information is obtained.
15. A synchronization frame sending device, characterized in that: The device includes: a transceiver and a processor; The transceiver is configured to obtain first congestion information, where the first congestion information is congestion information generated corresponding to a first synchronization node, and the congestion information is used to characterize the congestion level of each synchronization time slot in a discovery window, wherein the discovery window includes at least two synchronization time slots, and the synchronization time slots are used for the synchronization node to transmit synchronization frames; and obtain second congestion information, where the second congestion information is congestion information generated corresponding to a second synchronization node, and the second synchronization node is different from the first synchronization node; The processor is configured to generate third congestion information based on the first congestion information and the second congestion information; if the third congestion information indicates that there is at least one unoccupied synchronization time slot within the discovery window, determine one of the at least one unoccupied synchronization time slots as the target synchronization time slot, and the target synchronization time slot is used to transmit the synchronization frame sent by the first synchronization node.
16. The device according to claim 15, characterized in that The transceiver is configured to obtain the first congestion information, specifically: The transceiver is configured to listen to the first signal strength corresponding to each synchronization time slot, and the first signal strength refers to the signal strength of the synchronization frame received on the synchronization time slot as detected by the first synchronization node; The processor is further configured to determine the congestion degree quantization value corresponding to each of the first signal strengths; determine the first congestion degree quantization vector formed by all the congestion degree quantization values as the first congestion information.
17. The device according to claim 16, characterized in that The transceiver is configured to obtain the second congestion information, specifically: The transceiver is configured to receive the second congestion information indication frame broadcast by the second synchronization node, and the second congestion information indication frame includes a second congestion degree quantization vector, and the second congestion degree quantization vector is the congestion degree quantization vector corresponding to the second synchronization node; The processor is further configured to obtain the second congestion degree quantization vector from the second congestion information indication frame; determine the second congestion degree quantization vector as the second congestion information.
18. The device according to claim 17, characterized in that The processor is configured to generate the third congestion information based on the first congestion information and the second congestion information, specifically: The processor is configured to measure the second signal strength, and the second signal strength refers to the signal strength of the first synchronization node receiving the second congestion information indication frame; calculate a third congestion degree quantization vector according to the first congestion degree quantization vector, the second congestion degree quantization vector and the second signal strength according to a first relational expression; where, the first relational expression is: In the first relation, c k represents the third congestion level quantization vector, represents the first congestion level quantization vector, represents the second congestion level quantization vector obtained from the nth second synchronization node, where n is any positive integer in N, where N represents the total number of the second synchronization nodes, and N is a positive integer greater than or equal to 1, RSSI k,n represents the second signal strength measured when the first synchronization node receives the nth second congestion information indication frame of the second synchronization node, α represents the weight coefficient, α∈[0,1]; Determine the third congestion degree quantization vector as the third congestion information.
19. The device according to any one of claims 15 to 18, characterized in that The processor is further configured to if the third congestion information indicates that all synchronization time slots within the discovery window are occupied, calculate the probability of selecting each of the synchronization time slots to transmit the synchronization frame respectively according to the third congestion information; determine the synchronization time slot with the highest probability as the target synchronization time slot.
20. The device according to any one of claims 15 to 18, characterized in that The processor is further configured to if the third congestion information indicates that all synchronization time slots within the discovery window are occupied, calculate the probability of selecting each of the synchronization time slots to transmit the synchronization frame respectively according to the third congestion information; generate a first random number a1, where 0 < a1 < 1; determine a first preselected synchronization time slot according to the first random number a1 and the probabilities of all the synchronization time slots to transmit the synchronization frame; determine the first preselected synchronization time slot as the target synchronization time slot.
21. The device according to claim 20, characterized in that The processor is further configured to if the number of times that the first preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach a preset number of times, determine the first preselected synchronization time slot as the target synchronization time slot.
22. The device according to claim 21, characterized in that The processor is further configured to generate a second random number a2, where 0 < a2 < 1, if the number of times the first preselected synchronization time slot is continuously determined as the target synchronization time slot reaches a preset number; determine a second preselected synchronization time slot according to the second random number a2 and the probabilities of all the synchronization time slots for transmitting synchronization frames; and determine the second preselected synchronization time slot as the target synchronization time slot if the number of times the second preselected synchronization time slot is continuously determined as the target synchronization time slot does not reach the preset number.
23. The device according to claim 20, characterized in that The processor is further configured to determine the first preselected synchronization time slot as the target synchronization time slot if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot does not reach a preset duration.
24. The device according to claim 23, characterized in that The processor is further configured to generate a third random number a3, where 0 < a3 < 1, if the duration for which the first synchronization node continuously transmits the synchronization frame in the first preselected synchronization time slot reaches the preset duration; determine a third preselected synchronization time slot according to the third random number a3 and the probabilities of all the synchronization time slots for transmitting synchronization frames; and determine the third preselected synchronization time slot as the target synchronization time slot if the duration for which the first synchronization node continuously transmits the synchronization frame in the third preselected synchronization time slot does not reach the preset duration.
25. The device according to claim 15, wherein The transceiver is further configured to broadcast the first congestion information; or transmit a first congestion information indication frame, where the first congestion information indication frame includes the first congestion information.
26. The device according to claim 15, characterized in that The discovery window further includes a master node time slot, which is located before the at least two synchronization time slots and is used for the master node to transmit synchronization frames.
27. The device according to claim 26, characterized in that Each of the master node time slot and each of the synchronization time slots in the discovery window corresponds to a time slot number; the processor is further configured to load first indication information corresponding to the time slot number of the target synchronization time slot into the time stamp of the synchronization frame.
28. The device according to claim 26, characterized in that 29. A communication device, characterized in that: The transceiver is configured to obtain first congestion information, specifically: if it reaches the start time of the first synchronization time slot of the discovery window, obtain the first congestion information.
30. A computer storage medium, characterized in that The communication device includes the device according to any one of claims 15 to 28.
31. A computer program product, characterized in that The computer storage medium stores a computer program or instruction, and when the computer program or instruction is executed, the method according to any one of claims 1-14 is executed.
32. A chip, characterized in that: The computer program product includes a computer program or instruction, and when the computer program or instruction runs on a computer, the computer is caused to execute the method according to any one of claims 1-14. The chip includes a processor, and the processor is coupled to a memory and is configured to execute the computer program or instruction stored in the memory, and when the computer program or instruction is executed, the method according to any one of claims 1-14 is executed.
Citation Information
Patent Citations
Time domain position information determination method and device
CN110475236A
Frame sequence synchronization and Collision avoidance method in Bio-inspired distributed wireless resource allocation scheme
KR101734223B1