A link quality based directional underwater sensor network routing protocol system
By implementing a link quality-based routing protocol system for directional underwater sensor networks, the problems of topology changes and energy constraints in underwater wireless sensor networks are solved, achieving efficient and reliable data transmission while reducing noise interference and energy consumption.
Patent Information
- Application Number
- CN202411111503.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-14
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2044-08-14
AI Technical Summary
Underwater wireless sensor networks face challenges such as frequent changes in network topology, limited power supply, and noise interference in underwater environments, resulting in insufficient communication efficiency and reliability.
A directional underwater sensor network routing protocol system based on link quality is adopted. By establishing connections with neighboring nodes, obtaining link quality values, selecting the next-hop node, and determining directional transmission parameters, directional data transmission is achieved.
It improves the communication efficiency and reliability of underwater sensor networks, reduces noise interference, lowers energy consumption, and achieves efficient and reliable data transmission.
Smart Images

Figure CN118843160B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of underwater communication, and particularly relates to a directional underwater sensor network routing protocol system based on link quality. BACKGROUND
[0002] With the increasing depth of ocean exploration activities, the demand for efficient and stable underwater communication is increasingly prominent. As an indispensable part of underwater communication technology, underwater wireless sensor network (UWSN) plays a crucial role in underwater environment monitoring, resource exploration and national defense security. However, underwater acoustic communication channels face many challenges, such as limited bandwidth, slow propagation speed, time-varying, frequency-selective fading and significant noise interference. These problems result in many limitations of underwater acoustic communication networks in terms of end-to-end communication delay, data transmission rate and channel resource utilization.
[0003] In the underwater environment, sensor nodes are often affected by water flow and other underwater activities, resulting in frequent changes in network topology and affecting stability. In addition, due to the limited energy supply of underwater sensor nodes, how to design an efficient, reliable and low-energy communication algorithm based on underwater acoustic channel and network characteristics has become one of the important challenges in the current underwater acoustic communication field. SUMMARY
[0004] In view of the technical problems of the current underwater wireless sensor network, such as the demand for high efficiency, high reliability and low energy consumption, the purpose of the present application is to provide a directional underwater sensor network routing protocol system based on link quality.
[0005] In one aspect, the present application embodiment includes a directional underwater sensor network routing protocol system based on link quality, which includes a plurality of underwater sensor nodes, any one of which is a first node, and the first node is used to perform the following steps:
[0006] Establishing a network connection with a neighbor node; the neighbor node is an underwater sensor node other than the first node;
[0007] Obtaining a first link quality value between itself and each of the neighbor nodes;
[0008] Selecting at least one of the neighbor nodes as a next hop node according to each of the first link quality values;
[0009] Determining a directional transmission parameter according to the next hop node;
[0010] Sending target data to the next hop node according to the directional transmission parameter.
[0011] Further, at least one of the underwater sensor nodes is used as a gateway node; the establishing of the network connection with the neighbor node comprises:
[0012] initializing a node hop count of itself as a first value;
[0013] receiving a network building data packet; the network building data packet is sent by the gateway node or the neighbor node, and the network building data packet contains a corresponding node hop count; wherein the node hop count contained in the network building data packet sent by the gateway node is a second value, and the second value is less than the first value;
[0014] comparing the node hop count of itself with the node hop count contained in the network building data packet;
[0015] when the node hop count of itself is greater than the node hop count contained in the network building data packet, modifying the node hop count of itself by more than a third value than the node hop count contained in the network building data packet, modifying the node hop count contained in the network building data packet to be the same as the modified node hop count of itself, and sending the modified network building data packet outward;
[0016] when the node hop count of itself is less than or equal to the node hop count contained in the network building data packet, discarding the network building data packet.
[0017] Further, the establishing of the network connection with the neighbor node further comprises:
[0018] generating a handshake data packet; the handshake data packet contains the node hop count of itself and related information of the target data;
[0019] sending the handshake data packet outward;
[0020] when a response data packet is received within a first preset time, determining the corresponding neighbor node according to the response data packet;
[0021] when no response data packet is received within the first preset time, modifying the node hop count of itself to a maximum value, regenerating the handshake data packet according to the modified node hop count of itself, and sending the regenerated handshake data packet outward.
[0022] Further, the establishing of the network connection with the neighbor node further comprises:
[0023] when the handshake data packet is received, determining the corresponding neighbor node according to the handshake data packet;
[0024] generating a response data packet according to the node hop count of itself and the first link quality value;
[0025] sending the response data packet to the neighbor node.
[0026] Further, the obtaining of the first link quality value between the first node and each of the neighbor nodes comprises:
[0027] For any of the neighbor nodes:
[0028] obtaining a transmission success rate between the first node and the neighbor node; the transmission success rate being a ratio of an actual data successful transmission times between the first node and the neighbor node to a total number of next-hop selections;
[0029] obtaining a link quality average value and a link quality maximum value corresponding to the neighbor node; the link quality average value being an average of all second link quality values corresponding to the neighbor node, and the link quality maximum value being a maximum of all second link quality values corresponding to the neighbor node; the second link quality value representing a link quality between the neighbor node and an underwater sensor node other than the first node;
[0030] obtaining a node hop count of the neighbor node;
[0031] obtaining an energy of the neighbor node;
[0032] determining the first link quality value between the first node and the neighbor node according to the transmission success rate, the link quality average value, the link quality maximum value, the node hop count of the neighbor node, and the energy of the neighbor node.
[0033] Further, the determining of the first link quality value between the first node and the neighbor node according to the transmission success rate, the link quality average value, the link quality maximum value, the node hop count of the neighbor node, and the energy of the neighbor node comprises:
[0034] according to a formula
[0035]
[0036] performing calculation;
[0037] wherein, lq x,y is the first link quality value between the first node x and the neighbor node y, S x,y is the transmission success rate, is the link quality average value, maxlq y,M is the link quality maximum value, HC(y) is the node hop count of the neighbor node, E(y) is the energy of the neighbor node, and a, b, g, and d are adjustable parameters.
[0038] Further, determining the directional transmission parameters based on the next-hop node includes:
[0039] Determine the transmission power;
[0040] The cone angle of the transmitted signal is determined based on the transmitted power.
[0041] Further, determining the transmission power includes:
[0042] Obtain multiple candidate power;
[0043] In ascending order, each candidate power is traversed sequentially.
[0044] For any candidate power that has been traversed, when data is transmitted using the candidate power, a communication connection is successfully established between the first node and any of the next-hop nodes, the traversal process ends, and the candidate power is used as the transmission power.
[0045] Further, determining the transmit signal cone angle based on the transmit power includes:
[0046] Obtain multiple candidate cone angles;
[0047] In descending order, traverse each candidate cone angle sequentially;
[0048] For any candidate cone angle that has been traversed, the corresponding number of externally communicable nodes is obtained. When the number of externally communicable nodes is less than or equal to the node number threshold, the traversal process ends, and the candidate cone angle is used as the transmission signal cone angle. The number of externally communicable nodes represents the number of underwater sensor nodes that can communicate with the first node (excluding the next hop node) when data is transmitted at the transmission power according to the candidate cone angle.
[0049] Further, for any candidate cone angle that has been traversed, obtaining the corresponding number of externally communicable nodes includes:
[0050] According to the formula
[0051]
[0052] Perform calculations;
[0053] Where θ is the candidate cone angle, Q is the number of externally communicable nodes of the target, s is the position coordinate vector of the first node, r is the position coordinate vector of the next-hop node, n is the position coordinate vector of any neighboring node of the first node, and N is the total number of neighboring nodes of the first node.
[0054] The beneficial effects of the present application are: the link quality-based directional underwater sensor network routing protocol system and system in the embodiment can select a next hop node with good link quality for the first node, so that the first node can send target data to the next hop node directionally; since the link quality between the first node and the next hop node is good, and the data transmission between the first node and the next hop node is directional, it is beneficial to reduce the noise interference, reduce the energy consumption of the sending end and the receiving end, improve the overall communication efficiency of the directional underwater sensor network, and realize the overall high reliability of the directional underwater sensor network. BRIEF DESCRIPTION OF DRAWINGS
[0055] Figure 1 The structure schematic diagram of the wave information measurement system based on time domain reflection technology in the embodiment is shown in the figure.
[0056] Figure 2 The step schematic diagram of the first node executed in the embodiment is shown in the figure.
[0057] Figure 3 The schematic diagram of the signal cone angle sent in the embodiment is shown in the figure.
[0058] Figure 4 The packet loss rate obtained by simulation verification in the embodiment is shown in the figure.
[0059] Figure 5 The average number of hops per data packet obtained by simulation verification in the embodiment is shown in the figure.
[0060] Figure 6 The average energy consumption per data packet obtained by simulation verification in the embodiment is shown in the figure.
[0061] Figure 7 The end-to-end delay obtained by simulation verification in the embodiment is shown in the figure. DETAILED DESCRIPTION
[0062] TERMS EXPLANATION:
[0063] Underwater Wireless Sensor Network (UWSN) is a communication system that can be used in underwater environments, which uses sound waves to transmit data and has wide applications in fields such as ocean science, seabed exploration, and underwater communication. Due to the strong absorption of electromagnetic waves in underwater environments, using sound waves for data transmission is more effective than using traditional electromagnetic waves. Therefore, underwater acoustic modems play a key role in underwater communication and data transmission. The main functions of underwater sensor networks include: data transmission: converting digital signals into sound waves and transmitting them underwater to achieve long-distance data transmission; data reception: receiving sound wave signals from other underwater devices or systems and converting them back into digital signals for further processing and analysis; multi-hop communication: using some nodes in the network as relay stations to help data transmission over longer distances.
[0064] Embodiment One
[0065] In this embodiment, referring to Figure 1 , the structure of the link quality-based directional underwater sensor network routing protocol system is shown in Figure 1 . Referring to Figure 1 , the link quality-based directional underwater sensor network routing protocol system includes multiple underwater sensors, such as underwater sensor 1, underwater sensor 2, underwater sensor 3, underwater sensor 4, underwater sensor 5, underwater sensor x, and underwater sensor y. Each underwater sensor is a node in the underwater sensor network and has functions such as detecting data packets, sending data packets, receiving data packets, and forwarding data packets.
[0066] In this embodiment, referring to Figure 1 , some underwater sensors are used as gateway nodes. For example, Figure 1 , underwater sensor 2 is used as a gateway node. Specifically, the gateway node is a sink node.
[0067] In this embodiment, the steps performed by a specific node in the link quality-based directional underwater sensor network routing protocol system are described as an example. Specifically, referring to Figure 1 , underwater sensor x is selected as the specific node, i.e., the first node.
[0068] In this embodiment, underwater sensors within a certain range near underwater sensor x (e.g., within the communication range of underwater sensor x, the transmitted data packets can be received by underwater sensor x, and the data packets transmitted by underwater sensor x can also be received) are referred to as neighbor nodes. For example, Figure 1 , underwater sensor x is the first node, and underwater sensor 4, underwater sensor 5, and underwater sensor y are all neighbor nodes of the first node.
[0069] The status of the first node and the neighbor node is relative, that is, in the scenario in the embodiment, the underwater sensor x is the first node, and the other underwater sensors are neighbor nodes, and in other scenarios, the underwater sensor x can be the first node, and the underwater sensor x is the corresponding neighbor node of the first node.
[0070] In the embodiment, referring to Figure 2 , the underwater sensor x as the first node performs the following steps:
[0071] S1. establishing a network connection with a neighbor node;
[0072] S2. obtaining a first link quality value between itself and each neighbor node;
[0073] S3. selecting at least one neighbor node as a next-hop node according to the first link quality values;
[0074] S4. determining a directional transmission parameter according to the next-hop node;
[0075] S5. transmitting target data to the next-hop node according to the directional transmission parameter.
[0076] Before performing steps S1-S5, the first node (the underwater sensor x) obtains target data, and then needs to transmit the target data to other underwater sensors, so as to realize transmission of the target data. The first node (the underwater sensor x) can obtain the target data by detecting the environment, locally generating, or receiving from other underwater sensors, and the like. The format of the target data can be a data packet.
[0077] In step S1, the first node (the underwater sensor x) establishes a network connection with the neighbor nodes, such as the underwater sensor 1, the underwater sensor 2, the underwater sensor 3, the underwater sensor 4, the underwater sensor 5, and the underwater sensor y. The first node (the underwater sensor x) can transmit a data packet to these neighbor nodes by sending an acoustic signal outward.
[0078] In step S2, the first node (the underwater sensor x) obtains a first link quality value between itself and each neighbor node. The first link quality value can quantitatively describe the link quality between the first node (the underwater sensor x) and the neighbor node. There is a corresponding first link quality value between each neighbor node and the first node (the underwater sensor x). For example, the first node (the underwater sensor x) obtains a first link quality value between itself and the underwater sensor 1, a first link quality value between itself and the underwater sensor 2, and the like when performing step S2.
[0079] In step S3, the first node (underwater sensor x) can select at least one neighbor node from all the neighbor nodes as the next hop node according to the first link quality value corresponding to each neighbor node.
[0080] In step S4, the first node (underwater sensor x) can determine the directional sending parameter according to the working parameter of the next hop node selected in step S3. The directional sending parameter is the working parameter used by the first node (underwater sensor x) when performing directional sending of data.
[0081] In step S5, the first node (underwater sensor x) performs directional sending of target data to the next hop node according to the directional sending parameter set in step S4, so as to send the target data to the next hop node.
[0082] In the case where multiple next hop nodes are selected in step S3, when step S4 is performed, the respective directional sending parameter corresponding to each next hop node can be set. In this way, when step S5 is performed, the first node (underwater sensor x) can perform directional sending of target data to each next hop node according to the directional sending parameter.
[0083] In this embodiment, by performing steps S1-S5, the first node (underwater sensor x) can select a next hop node with good link quality, so that the first node (underwater sensor x) can perform directional sending of target data to the next hop node. Since the link quality between the first node (underwater sensor x) and the next hop node is good, and the data transmission between the first node (underwater sensor x) and the next hop node is directional, it is beneficial to reduce noise interference, reduce the energy consumption of the sending end (first node (underwater sensor x)) and the receiving end (next hop node), improve the overall communication efficiency of the directional underwater sensor network, and achieve overall high reliability of the directional underwater sensor network.
[0084] In this embodiment, after performing steps S1-S5, the above-mentioned "next hop node" becomes the "first node" when steps S1-S5 are performed again, and a new "next hop node" is found when steps S1-S5 are performed again.
[0085] In this embodiment, when the first node (underwater sensor x) performs step S1, that is, when establishing a network connection with a neighbor node, the following steps can be performed:
[0086] S101. Initialize the node hop count of itself to a first value;
[0087] S102. Receive the network building data packet;
[0088] S103. Compare the node hop count of itself with the node hop count contained in the network building data packet;
[0089] S104. When the node hop count of the first node is greater than the node hop count contained in the network building data packet, the node hop count of the first node is modified to be greater than the node hop count contained in the network building data packet by a third value, the node hop count contained in the network building data packet is modified to be the same as the modified node hop count of the first node, and the modified network building data packet is sent out.
[0090] S105. When the node hop count of the first node is less than or equal to the node hop count contained in the network building data packet, the network building data packet is discarded.
[0091] In step S101, if the first node (underwater sensor x) is a gateway node (sink node), the first value HC can be a small value (for example, 0); and in the embodiment, since the first node (underwater sensor x) is not a gateway node (sink node), the first value HC can be a large value (for example, infinity).
[0092] Before step S102 is performed, the network building data packet is generated and broadcasted periodically by the gateway node (sink node). In the embodiment, the network building data packet is a Hello data packet, and when the gateway node (sink node) generates the network building data packet (Hello data packet), the initialized hop count (0) of the gateway node (sink node) is written into the network building data packet (Hello data packet), so that the network building data packet (Hello data packet) contains a node hop count hc, and at this time, hc=0.
[0093] In step S102, the first node (underwater sensor x) can directly receive the network building data packet (Hello data packet) sent by the gateway node (sink node), or can receive the network building data packet (Hello data packet) sent by other nodes. No matter where the network building data packet (Hello data packet) is received, the network building data packet (Hello data packet) contains a second value hc; if the first node (underwater sensor x) directly receives the network building data packet (Hello data packet) sent by the gateway node (sink node), the second value hc=0, and if the first node (underwater sensor x) receives the network building data packet (Hello data packet) from other nodes, the second value hc can be other values.
[0094] In step S103, after the first node (underwater sensor x) extracts the second value hc from the network building data packet (Hello data packet), the second value hc (i.e., the node hop count contained in the network building data packet) is compared with the first value HC (i.e., the node hop count of the first node itself).
[0095] If the node hop count of the first node (underwater sensor x) is greater than the node hop count contained in the network building data packet, i.e., the first value HC > the second value hc, the first node (underwater sensor x) performs step S104, and the first node (underwater sensor x) modifies the node hop count hc of itself to be greater than the node hop count HC contained in the network building data packet by a third value. The third value is a fixed number, for example, the third value is set to 1, and the operation performed by the first node (underwater sensor x) when performing step S104 is HC = hc + 1, i.e., the value obtained by adding 1 to hc is assigned to HC; then, the first node (underwater sensor x) modifies the node hop count HC contained in the network building data packet to be the same as the modified node hop count hc of itself, i.e., the operation performed by the first node (underwater sensor x) when performing step S104 is HC = hc, i.e., the modified second value hc is assigned to the first value HC, and the network building data packet (Hello data packet) is modified according to the modified first value HC; finally, the first node (underwater sensor x) sends the modified network building data packet (Hello data packet) to the outside.
[0096] The execution of step S104 by the first node (underwater sensor x) causes all the neighbor nodes of the first node (underwater sensor x) to receive the modified network building data packet (Hello data packet). Since from the perspective of the neighbor nodes, the neighbor nodes can also be the "first node", the neighbor nodes can also perform steps S101-S105, so as to continue to modify (or discard) the network building data packet (Hello data packet) sent by the underwater sensor x.
[0097] If the node hop count of the first node (underwater sensor x) is less than or equal to the node hop count contained in the network building data packet, i.e., the first value HC ≤ the second value hc, the first node (underwater sensor x) performs step S105, and discards the network building data packet (Hello data packet). Specifically, the first node (underwater sensor x) can delete the network building data packet (Hello data packet) from the local, and does not send it to the outside.
[0098] In this embodiment, steps S101-S105 are performed by the first node (underwater sensor x) as an example. Since each underwater sensor can perform steps S101-S105 in each period, by performing steps S101-S105, each underwater sensor can modify or retain the node hop count stored by itself, so that each underwater sensor knows the node hop count of itself relative to the gateway node (sink node). Since the node hop count of each underwater sensor can represent the network distance between the underwater sensor and the gateway node (sink node), for example, the smaller the node hop count, the smaller the network distance between the underwater sensor and the gateway node (sink node). By performing steps S101-S105, the first node (underwater sensor x) can select an underwater sensor closer to the gateway node (sink node) as a neighbor node according to the node hop count, thereby improving the transmission efficiency of the target data.
[0099] In this embodiment, when the first node (underwater sensor x) performs step S1, that is, establishes a network connection with the neighbor node, the following steps are also performed:
[0100] S106. Generating a handshake data packet;
[0101] S107. Sending the handshake data packet externally;
[0102] S108. When a response data packet is received within a first predetermined time, determining the corresponding neighbor node according to the response data packet;
[0103] S109. When no response data packet is received within the first predetermined time, modifying the node hop count of itself to a maximum value, and generating a handshake data packet according to the modified node hop count of itself, and sending the generated handshake data packet externally.
[0104] In this embodiment, like S101-S105, each underwater sensor can perform steps S106-S109 as the first node. The underwater sensor x performs steps S106-S109 as an example.
[0105] In step S106, the underwater sensor x generates a handshake data packet HANDSHAKE-S. The format of the handshake data packet HANDSHAKE-S is (TypeID, NodeID, PacketID, HC, Q-packet). Wherein, TypeID represents the type of the handshake data packet, NodeID represents the node ID of the first node (underwater sensor x), PacketID represents the ID of the target data to be sent by the first node (underwater sensor x) in this data transmission, HC represents the hop count of the first node (underwater sensor x) itself, and Q-packet represents the data packet queue, indicating all data packets waiting to be forwarded in the buffer of the first node (underwater sensor x). The queue includes (pktsrc, pktid), wherein pktsrc represents the source node ID (the node ID of the data packet generation), and pktid represents the data packet ID.
[0106] In step S107, the first node (underwater sensor x) sends the handshake data packet HANDSHAKE-S to the outside. The handshake data packet HANDSHAKE-S may be received by other underwater sensors, or may not be received by any underwater sensor.
[0107] In this embodiment, each underwater sensor is set to generate a corresponding response data packet HANDSHAKE-R as soon as it receives the handshake data packet HANDSHAKE-S. Assuming that the first node (underwater sensor x) executes step S107, and the underwater sensor y receives the handshake data packet HANDSHAKE-S, the underwater sensor y generates a corresponding response data packet HANDSHAKE-R in response to the handshake data packet HANDSHAKE-S.
[0108] Specifically, the format of the response data packet HANDSHAKE-R is (TypeID, NodeID, PacketID, HC, Packet-Bit, Energy, Link-Quality). Wherein, TypeID represents the type of the response data packet, NodeID represents the node ID of the underwater sensor y, PacketID is consistent with the PacketID in the handshake data packet HANDSHAKE-S received by the underwater sensor y, HC represents the node hop count of the underwater sensor y itself, Packet-Bit represents whether the underwater sensor y has cached the data packet corresponding to PacketID, if yes, the value of Packet-Bit is 1, Energy represents the energy of the underwater sensor y, and Link-Quality represents the link quality between the first node (underwater sensor x) and the underwater sensor y.
[0109] In this embodiment, after performing step S107, the first node (underwater sensor x) detects whether the response data packet HANDSHAKE-R is received. If the first node (underwater sensor x) receives the response data packet HANDSHAKE-R sent back by any underwater sensor within a first preset time (for example, 1 min), the first node (underwater sensor x) can perform step S108 to determine the corresponding neighbor node (for example, underwater sensor y) according to the response data packet HANDSHAKE-R; if the first node (underwater sensor x) does not receive the response data packet HANDSHAKE-R within the first preset time (for example, 1 min), the first node (underwater sensor x) can perform step S109 to modify the node hop count of itself (that is, the first value HC) to a maximum value (for example, infinity), and return to step S106 to re-perform steps S106-S109 according to the modified node hop count of itself, so as to find the neighbor node in a larger range. If the response data packet HANDSHAKE-R is still not received after performing steps S106-S107 again, the first node (underwater sensor x) fails to search for the neighbor node, and the first node (underwater sensor x) can discard the handshake data packet HANDSHAKE-S.
[0110] In this embodiment, the first node (underwater sensor x) can establish a connection with the neighbor node in a handshake manner by performing steps S106-S109.
[0111] In this embodiment, since the first node (underwater sensor x) can become a neighbor node in other scenarios, that is, the first node (underwater sensor x) can also receive the handshake data packet sent by other underwater sensors, the first node (underwater sensor x) can also perform the following steps when performing step S1, that is, when establishing a network connection with the neighbor node.
[0112] S110. When the handshake data packet is received, the corresponding neighbor node is determined according to the handshake data packet;
[0113] S111. The response data packet is generated according to the node hop count of itself and the first link quality value;
[0114] S112. The response data packet is sent to the neighbor node.
[0115] In this embodiment, when performing step S2, that is, when obtaining the first link quality value between itself and each neighbor node, the first node (underwater sensor x) can perform the following steps:
[0116] S201. The transmission success rate between the first node and the neighbor node is obtained;
[0117] S202. Obtain the average link quality value and the maximum link quality value corresponding to the neighbor node;
[0118] S203. Obtain the node hop count of the neighbor node;
[0119] S204. Obtain the energy of the neighbor node;
[0120] S205. Determine the first link quality value between the first node and the neighbor node according to the transmission success rate, the average link quality value, the maximum link quality value, the node hop count of the neighbor node, and the energy of the neighbor node.
[0121] In this embodiment, the first node (underwater sensor x) performs steps S201-S205 on each of its neighbor nodes, and an example of performing steps S201-S205 on one of the neighbor nodes (underwater sensor y) is described.
[0122] In step S201, the first node (underwater sensor x) obtains the transmission success rate between itself and the neighbor node (underwater sensor y). Specifically, the first node (underwater sensor x) can read the actual data successful transmission times and the total number of next-hop selections between the first node (underwater sensor x) and the neighbor node (underwater sensor y) from the local, calculate the ratio of the actual data successful transmission times to the total number of next-hop selections as the transmission success rate S x,y between the first node (underwater sensor x) and the neighbor node (underwater sensor y). The total number of next-hop selections indicates the number of times the first node (underwater sensor x) has selected the neighbor node (underwater sensor y) as the next-hop node [whether or not the data has been actually successfully transmitted to the neighbor node (underwater sensor y)]; the actual data successful transmission times indicate the number of times the first node (underwater sensor x) has successfully transmitted data to the neighbor node (underwater sensor y).
[0123] In step S202, the first node (underwater sensor x) requests the neighbor node (underwater sensor y) to obtain the average link quality value and the maximum link quality value, and the neighbor node (underwater sensor y) obtains the link quality between the neighbor node (underwater sensor y) and other neighbor nodes [excluding the first node (underwater sensor x)] of the first node (underwater sensor x) according to the request, wherein the neighbor node (underwater sensor y) has a second link quality value for each of the neighbor nodes of the first node (underwater sensor x), calculates the average of all second link quality values to obtain the average link quality value calculates the maximum of all second link quality values to obtain the maximum link quality value maxlq y,M .
[0124] The neighbor node (underwater sensor y) sends the average link quality value with the maximum link quality maxlq y,M to the first node (underwater sensor x).
[0125] In steps S203 and S204, the first node (underwater sensor x) requests the neighbor node (underwater sensor y) to obtain the node hop count and the energy of the neighbor node (underwater sensor y), where the energy of the neighbor node (underwater sensor y) can be the residual power of the neighbor node (underwater sensor y). The neighbor node (underwater sensor y) reads the node hop count HC(y) and the energy E(y) of the neighbor node (underwater sensor y) according to the request, and sends the node hop count HC(y) and the energy E(y) to the first node (underwater sensor x).
[0126] In step S205, the first node (underwater sensor x) determines the first link quality value lq x,y , the average link quality , the maximum link quality maxlq y,M , the node hop count HC(y) of the neighbor node (underwater sensor y), and the energy E(y) of the neighbor node (underwater sensor y), to determine the first link quality value lq x,y between the first node (underwater sensor x) and the neighbor node (underwater sensor y).
[0127] Specifically, when performing step S205, the first node (underwater sensor x) can perform the calculation according to the formula
[0128]
[0129] In the formula, α, β, γ, and δ are adjustable parameters.
[0130] In this embodiment, the first link quality value lq x,y calculated by performing steps S201-S205 considers the transmission success rate. If the neighbor node (underwater sensor y) is selected as the next hop node, but the first node (underwater sensor x) fails to successfully forward the data packet to the neighbor node (underwater sensor y), then this transmission is unsuccessful, which will affect the value of the first link quality value lq x,y , and ultimately affect the transmission success rate of the entire routing protocol. The average and maximum link quality of the neighbor node are considered to avoid link vulnerabilities and reduce the risk of encountering a routing trap. By setting adjustable parameters such as α, β, γ, and δ, the size of these adjustable parameters can be adjusted to improve the reliability of the protocol in the case of poor link quality.
[0131] In step S3, the first node (underwater sensor x) can set a link quality threshold, and select all the neighbor nodes whose first link quality values are higher than the link quality threshold as the next hop nodes; or the first node (underwater sensor x) can set a sequence threshold (for example, the first or the third), sort all the first link quality values in descending order, and select the neighbor nodes whose sequences are before the sequence threshold as the next hop nodes.
[0132] In this embodiment, it is assumed that the underwater sensor y is selected as one of the next hop nodes by performing step S3.
[0133] In this embodiment, when performing step S4, i.e., determining the directional transmission parameters according to the next hop nodes, the first node (underwater sensor x) can perform the following steps:
[0134] S401. Determine the transmission power P i ;
[0135] S402. Determine the transmission signal cone angle θ i according to the transmission power P i .
[0136] In this embodiment, by performing steps S401-S402, the transmission power P i and the transmission signal cone angle θ i can be determined as the directional transmission parameters.
[0137] In this embodiment, the setting of the directional transmission parameters for the neighbor node (underwater sensor y) is taken as an example for illustration, i.e., when performing step S5, the first node (underwater sensor x) broadcasts a signal corresponding to the target data at the transmission signal cone angle θ i and the transmission power P i , so that the neighbor node (underwater sensor y) receives the target data; if the first node (underwater sensor x) takes other neighbor nodes as the transmission target, the first node (underwater sensor x) can re-perform steps S401-S402 to transmit at other transmission power (which can be different from the transmission power P i ) and transmission signal cone angle (which can be different from the transmission signal cone angle θ i ).
[0138] In this embodiment, when performing step S401, i.e., determining the transmission power, the first node (underwater sensor x) can perform the following steps:
[0139] S40101. Obtain a plurality of candidate powers;
[0140] S40102. In descending order, each candidate power is traversed in turn;
[0141] S40103. For any traversed candidate power, when data is transmitted at the candidate power, the communication connection between the first node and any next-hop node is successfully established, the traversal process is ended, and the candidate power is used as the transmission power.
[0142] In step S40101, the first node (underwater sensor x) can set P1, P2, …, Pn as candidate powers. n P1 < P2 < … < Pn, where P1, P2, …, Pn are candidate powers. n n is a finite value.
[0143] In steps S40102 and S40103, the first node (underwater sensor x) starts from the smallest candidate power P1, first transmits a signal (which can be handshake data) at the candidate power P1, judges whether a communication connection can be established with any next-hop node, if a communication connection can be established with one of the next-hop nodes (for example, underwater sensor y), then the candidate power P1 is used as the transmission power, and the traversal process is ended, otherwise, the next larger candidate power P2 is selected, a signal (which can be handshake data) is transmitted at the candidate power P2, it is judged whether a communication connection can be established with any next-hop node, if a communication connection can be established with one of the next-hop nodes (for example, underwater sensor y), then the candidate power P2 is used as the transmission power, and the traversal process is ended, otherwise, the next larger candidate power P3 is selected, and so on.
[0144] In this embodiment, it is assumed that through execution of steps S40101-S40102, the candidate power P i (1≤i≤n) is selected as the transmission power.
[0145] In this embodiment, through execution of steps S40101-S40102, the transmission power P i set by the first node (underwater sensor x) is the smallest power value under the premise that the first node (underwater sensor x) can establish a communication connection with at least one next-hop node, thereby facilitating reduction of power consumption of the first node (underwater sensor x).
[0146] In this embodiment, when the first node (underwater sensor x) executes step S402, that is, determines the transmission signal cone angle according to the transmission power, the following steps can be executed:
[0147] S40201. Obtain a plurality of candidate cone angles;
[0148] S40202. In descending order, each candidate cone angle is traversed in turn;
[0149] S40203. For any traversed candidate cone angle, obtain the corresponding number of out-of-target communicable nodes, when the number of out-of-target communicable nodes is less than or equal to the node number threshold, end the traversal process, and take the candidate cone angle as the signal transmission cone angle; wherein the number of out-of-target communicable nodes represents the number of underwater sensor nodes communicable with the first node except the next hop node when data is transmitted at the transmission power according to the candidate cone angle.
[0150] In step S40201, the first node (underwater sensor x) can set θ1, θ2, … θm as candidate cone angles, wherein θ1> θ2> … > θm. m In step S40201, the first node (underwater sensor x) can set θ1, θ2, … θm as candidate cone angles, wherein θ1> θ2> … > θm. m m is a finite value. For example, θ1may be 45°, θ2may be 30°, and θmmay be 15°. m m is a finite value. For example, θ1may be 45°, θ2may be 30°, and θmmay be 15°.
[0151] In steps S40202 and S40203, the first node (underwater sensor x) starts from the largest candidate cone angle θ1, transmits a signal (which can be handshake data) at the transmission power P i , and refers to Figure 3 , the candidate cone angle θ1will form a spherical cone-shaped flooding area with the generatrix of length R (as shown by the blue area in Figure 3 ). Referring to Figure 3 , this spherical cone-shaped flooding area takes the connecting line between the two nodes as the central axis, and forms a spherical cone with a base angle of 2θ and a generatrix length of R, which is open in the direction of the target node. The range covered by the spherical cone is the range that can be covered when the data packet is transmitted directionally, wherein the size of the spherical cone is determined by the adaptive transmission power level. In this embodiment, the length R of the generatrix of the spherical cone satisfies
[0152]
[0153] , wherein D is the maximum communication distance of the first node (underwater sensor x) when transmitting data at the power P n ; the first node (underwater sensor x) calculates the number of out-of-target communicable nodes Q1according to the formula
[0154]
[0155] , wherein s is the position coordinate vector of the first node (underwater sensor x), r is the position coordinate vector of the next hop node (underwater sensor y), n is the position coordinate vector of any neighbor node of the first node (underwater sensor x), N is the total number of neighbor nodes of the first node, and the symbol ∑ n∈N represents the summation calculation of the position coordinate vectors of all neighbor nodes of the first node (underwater sensor x); the meaning of the number of out-of-target communicable nodes Q1is that the first node (underwater sensor x) transmits data at the transmission power P iThe number of underwater sensor nodes [except the next hop node (underwater sensor y)] that can communicate with the first node (underwater sensor x) when data is transmitted, i.e., the meaning of the target external communicable node number Q1 is Figure 3 The number of underwater sensor nodes other than the next hop node (underwater sensor y) in the blue area in FIG. 6 can be set as a node number threshold value 0. If the candidate cone angle θ1 is less than the node number threshold value (0), it indicates that only the next hop node (underwater sensor y) can communicate with the first node (underwater sensor x), and then the candidate cone angle θ1 is used as the transmission signal cone angle, and the iteration process is ended. Otherwise, the next smaller candidate cone angle θ2 is selected to transmit the signal with the transmission power P i The signal (which can be handshake data) is transmitted according to the formula
[0156]
[0157] The new target external communicable node number Q2 is calculated, and it is determined whether the target external communicable node number Q2 is less than or equal to the node number threshold value (0). If so, the candidate cone angle θ2 is used as the transmission signal cone angle, and the iteration process is ended. Otherwise, the next smaller candidate cone angle θ3 is selected.
[0158] In this embodiment, it is assumed that the candidate cone angle θ1 is selected by performing steps S40201-S40202. i (1≤i≤m) as the transmission signal cone angle.
[0159] In this embodiment, the candidate cone angle θ1 is set by performing steps S40201-S40202. i The candidate cone angle θ1 has the largest transmission signal cone angle under the premise that the first node (underwater sensor x) can establish a communication connection with the next hop node (underwater sensor y) with the transmission power P i and exclude the connection with other underwater sensors to maintain the directional connection with the next hop node (underwater sensor y), thereby facilitating the maintenance of the directional connection with the next hop node (underwater sensor y), improving the data transmission efficiency, and ensuring the communication efficiency between the first node (underwater sensor x) and the next hop node (underwater sensor y).
[0160] Embodiment Two
[0161] The system of the routing protocol of the underwater sensor network based on the link quality is simulated and verified by MATLAB. In the simulation, the data collection is completed by a single sink node located on the water surface, and all underwater sensor nodes are randomly distributed in a three-dimensional area of 10000m x 10000m x 10000m. The initial energy of the sensor nodes is 1000J, the transmission power is 100W, the receiving power is 8W, the idle state power consumption is 2mW, and the maximum communication distance is 2000m. In the simulation, the number of underwater sensor nodes is increased from 300 to 600 (including the sink node on the water surface) in increments of 50. Each number of nodes corresponds to a network which is randomly generated 100 times, and each generated network randomly selects a node within 3000m from the sea bottom as a source node to generate a data packet. Each source node generates one data packet each time, and the size of each data packet is 64 bytes, and the packet header is 8 bytes. The process of randomly selecting a source node to generate a data packet is performed 100 times.
[0162] As shown in Figure 4 , with the increase of the number of nodes, the packet loss rate of the proposed routing protocol gradually decreases. This is because as the node density increases, the number of nodes within a limited range increases, resulting in an increase in the number of neighbor nodes of each node, thereby reducing the packet loss due to the lack of communicable neighbor nodes. In the sparse node network, the proposed protocol can also find a reliable next hop node to reduce the packet loss rate of the network.
[0163] As shown in Figure 5 , the number of hops is the average number of hops that a data packet successfully received by the sink node has passed in the shortest time from the source node. With the increase of the number of nodes, the number of hops of the proposed routing protocol presents a stable downward trend. This is because the next hop node selection mechanism in the proposed protocol considers the hop information of the next hop node to the sink node, so that it can select relay nodes as close to the sink node as possible, so that the protocol can more effectively reduce the number of hops required for data packet forwarding.
[0164] As shown in Figure 6 , with the increase of the number of nodes, the average energy consumption of the data packet of the proposed routing protocol gradually decreases. This is because as the number of hops decreases, the energy consumed by the data packet during transmission and reception also decreases, and the main source of energy consumption of the routing protocol is the transmission and reception of the data packet. On the other hand, the directional forwarding mechanism used can save energy as much as possible for each data packet transmission under the premise of maximum reliability.
[0165] As shown in Figure 7As shown, the end-to-end delay of the proposed routing protocol gradually decreases as the number of nodes increases. This trend is consistent with the trend of the number of hops as the number of nodes changes, and this consistency is due to the strong positive correlation between the number of hops and the delay of a data packet. The end-to-end delay of a data packet includes the transmission time of the data and the time for the relay nodes on the routing path to receive and forward, so as the number of relay nodes through which the data packet passes in the routing increases, the time for receiving and forwarding also increases accordingly, and therefore the end-to-end delay of the entire network also increases proportionally.
[0166] The link quality-based directional underwater sensor network routing protocol system in the embodiment can be implemented by writing a computer program for executing the system, writing the computer program into a computer device or a storage medium, and executing the system when the computer program is read out and run, so as to achieve the same technical effects as the link quality-based directional underwater sensor network routing protocol system in the embodiment.
[0167] It should be noted that, unless otherwise specified, when a feature is referred to as being "fixed", "connected" to another feature, it can be directly fixed, connected to the other feature, or indirectly fixed, connected to the other feature. In addition, the up, down, left, right and other descriptions used in the disclosure are only relative to the relative positional relationship of the components of the disclosure in the drawings. The singular forms "a", "an" and "the" used in the disclosure are also intended to include the plural forms, unless the context clearly indicates otherwise. In addition, unless otherwise defined, all technical and scientific terms used in the embodiments have the same meanings as generally understood by those skilled in the art. The terms used in the embodiments are only used to describe the specific embodiments, and are not intended to limit the present application. The term "and / or" used in the embodiments includes any combination of one or more related listed items.
[0168] It should be understood that although the terms first, second, third, etc. can be used in the disclosure to describe various elements, these elements should not be limited to these terms. These terms are only used to distinguish elements of the same type from each other. For example, without departing from the scope of the disclosure, a first element can also be referred to as a second element, and similarly, a second element can also be referred to as a first element. The use of any and all examples or exemplary language (e.g., "for example", "as", etc.) provided in the embodiments is only intended to better illustrate the embodiments of the present application, and unless otherwise required, does not impose a limitation on the scope of the present application.
[0169] It should be appreciated that embodiments of the present application can be implemented or realized in a computing hardware, a combination of hardware and software, or by computer instructions stored on a non-transitory computer readable storage medium. The methods can be implemented using standard programming techniques - including the configuration of a non-transitory computer readable storage medium with computer program instructions stored thereon, wherein the storage medium is configured such that it causes a computer to operate in a specific and predefined manner as described in the various embodiments and figures according to the methods described in the various embodiments. Each program can be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the programs can be implemented in assembly or machine language, if desired. In any case, the language can be a compiled or interpreted language. Furthermore, the programs can be able to operate with a specific dedicated integrated circuit that is programmed to perform the methods described in the various embodiments.
[0170] Further, the operations of the processes described in the various embodiments can be performed in any suitable order, unless otherwise indicated herein or otherwise clearly contradicted by context. The processes described in the various embodiments (or variations and / or combinations thereof) can be implemented under the control of one or more computer systems configured with executable instructions (e.g., computer programs, one or more computer programs, or one or more applications), hardware, or combinations thereof. The computer programs include machine instructions that can be executed by one or more processors.
[0171] Further, the methods can be implemented in any suitable type of computing platform operably connected to any suitable type of computing platform, including but not limited to a personal computer, a mini-computer, a mainframe, a workstation, a network or distributed computing environment, a stand-alone or integrated computer platform, or in communication with a charged particle tool or other imaging device, etc. Aspects of the present application can be implemented in machine readable code stored on a non-transitory storage medium or device, whether removable or integrated into the computing platform, such as a hard disk, an optically readable and / or writeable storage medium, RAM, ROM, etc., such that it can be read by a programmable computer to configure and operate the computer to perform the processes described herein when the storage medium or device is read by the computer. Further, the machine readable code, or portions thereof, can be transmitted over a wired or wireless network. The present application includes these and other different types of non-transitory computer readable storage media when the instructions or programs implementing the above steps are included in conjunction with a microprocessor or other data processor. The present application also includes the computer itself when programmed according to the methods and techniques of the present application.
[0172] A computer program can be applied to input data to perform the functions of the present embodiments to transform the input data to generate output data that is stored to non-volatile memory. The output information can also be applied to one or more output devices such as a display. In a preferred embodiment of the present application, the transformed data represents a physical and tangible object, including a particular visual depiction of a physical and tangible object produced on a display.
[0173] The above merely preferred embodiments of the present application and are not intended to limit the present application. The present application can be variously modified and changed without departing from the spirit and scope of the present application. Therefore, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the present application.
Claims
1. A link quality based directional underwater sensor network routing protocol system, characterized in that, The link quality-based directional underwater sensor network routing protocol system comprises a plurality of underwater sensor nodes, any one of which is a first node, and the first node is configured to perform the following steps: establishing a network connection with a neighbor node, the neighbor node being an underwater sensor node other than the first node; obtaining a first link quality value between the first node and each of the neighbor nodes; selecting at least one of the neighbor nodes as a next-hop node according to the first link quality values; determining a directional transmission parameter according to the next-hop node; sending target data to the next-hop node according to the directional transmission parameter; the determining of the directional transmission parameter according to the next-hop node comprises: obtaining a plurality of candidate powers; sequentially traversing the candidate powers in descending order; for any traversed candidate power, when data transmission is performed at the candidate power, a communication connection between the first node and any next-hop node is successfully established, the traversal process is ended, and the candidate power is taken as the transmission power; obtaining a plurality of candidate cone angles; sequentially traversing the candidate cone angles in descending order; for any traversed candidate cone angle, obtaining a corresponding target outer communicable node number, the target outer communicable node number representing a number of underwater sensor nodes other than the next-hop node in a flooding area of a spherical cone determined by the candidate cone angle; when the target outer communicable node number is less than or equal to a node number threshold, the traversal process is ended, and the candidate cone angle is taken as the transmission signal cone angle; the obtaining of the target outer communicable node number for any traversed candidate cone angle comprises: performing calculation according to a formula wherein θ is the candidate cone angle, Q is the target outer communicable node number, s is a position coordinate vector of the first node, r is a position coordinate vector of the next-hop node, n is a position coordinate vector of any neighbor node of the first node, and N is a total number of neighbor nodes of the first node. At least one of the underwater sensor nodes is configured to serve as a gateway node; and the establishing of the network connection with the neighbor node comprises:
2. The link quality based directional underwater sensor network routing protocol system according to claim 1, wherein, initializing a node hop count of the first node to a first value; receiving a network building data packet, the network building data packet being sent by the gateway node or the neighbor node, and the network building data packet containing a corresponding node hop count; wherein the network building data packet sent by the gateway node contains a second value of the node hop count, and the second value is less than the first value; comparing the node hop count of the first node with the node hop count contained in the network building data packet; when the node hop count of the first node is greater than the node hop count contained in the network building data packet, modifying the node hop count of the first node by a third value more than the node hop count contained in the network building data packet, modifying the node hop count contained in the network building data packet to be the same as the modified node hop count of the first node, and sending the modified network building data packet externally; when the node hop count of the first node is less than or equal to the node hop count contained in the network building data packet, discarding the network building data packet. 3. The link quality based directional underwater sensor network routing protocol system according to claim 2, wherein, The establishing network connection with the neighbor node further comprises: generating a handshake data packet; the handshake data packet contains the node hop number of itself and the related information of the target data; sending the handshake data packet to the outside; when a response data packet is received within a first preset time, determining the corresponding neighbor node according to the response data packet; when no response data packet is received within the first preset time, modifying the node hop number of itself to a maximum value, regenerating the handshake data packet according to the modified node hop number of itself, and sending the regenerated handshake data packet to the outside.
4. The link quality based directional underwater sensor network routing protocol system according to claim 2, wherein, The establishing network connection with the neighbor node further comprises: when a handshake data packet is received, determining the corresponding neighbor node according to the handshake data packet; generating a response data packet according to the node hop number of itself and the first link quality value; sending the response data packet to the neighbor node.
5. The link quality based directional underwater sensor network routing protocol system according to claim 1, wherein, The obtaining the first link quality value between itself and each of the neighbor nodes comprises: for any neighbor node: obtaining the transmission success rate between the first node and the neighbor node; the transmission success rate is the ratio of the actual data successful transmission times between the first node and the neighbor node to the total number of next-hop selection times; obtaining the link quality average value and the link quality maximum value corresponding to the neighbor node; the link quality average value is the average value of all second link quality values corresponding to the neighbor node, and the link quality maximum value is the maximum value of all second link quality values corresponding to the neighbor node; the second link quality value represents the link quality between the neighbor node and the underwater sensor node other than the first node; obtaining the node hop number of the neighbor node; obtaining the energy of the neighbor node; determining the first link quality value between the first node and the neighbor node according to the transmission success rate, the link quality average value, the link quality maximum value, the node hop number of the neighbor node, and the energy of the neighbor node.
6. The link quality based directional underwater sensor network routing protocol system according to claim 5, wherein, The determining the first link quality value between the first node and the neighbor node according to the transmission success rate, the link quality average value, the link quality maximum value, the node hop number of the neighbor node, and the energy of the neighbor node comprises: calculating according to the formula wherein, lq x,y is the first link quality value between the first node x and the neighbor node y, S x,y is the transmission success rate, is the link quality average value, maxlq y,M is the link quality maximum value, HC(y) is the node hop count of the neighbor node, E(y) is the energy of the neighbor node, and a, β, γ, and δ are adjustable parameters.
Citation Information
Patent Citations
Method for carrying out dynamic data transmission in asynchronous duty ratio wireless sensor network
CN102761931A
Method and device for determining communication parameters
CN108809475A
Underwater sensor network routing protocol system based on weighted link quality
CN117580125A