A complex environment-oriented cooperative node forwarding selection method
By selecting appropriate cooperative nodes for forwarding in the mobile ad hoc network, a virtual antenna array is formed, which solves the problems of link instability and high energy consumption, improves transmission reliability and anti-fading capability, and extends network lifespan.
Patent Information
- Application Number
- CN202411747115.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-02
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2044-12-02
AI Technical Summary
In mobile ad hoc networks, the high speed of node movement leads to unstable links, high energy consumption, and the large amount of bandwidth resources consumed by multi-node collaboration, which affects network performance.
The cooperative node forwarding selection method is adopted. The sensing module obtains the status information of neighboring nodes, the calculation module calculates the cooperative selection weight of neighboring nodes, the sending decision module selects a suitable cooperative node, and the receiving module performs signal merging to form a virtual antenna array to improve diversity gain and link redundancy.
It improves communication quality, reduces network overhead, extends network lifespan, and enhances transmission reliability and anti-fading capabilities.
Smart Images

Figure CN119584237B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of software radio technology, and particularly to a complex environment-oriented cooperative node forwarding selection method in a mobile ad hoc network. BACKGROUND
[0002] A mobile ad hoc network is a self-organizing network connected by wireless means without fixed infrastructure. Its core feature is that nodes can automatically form a network and dynamically adapt to topology changes. In actual scenarios, the ad hoc network may face complex environments, nodes have high mobility, and the network topology structure is constantly changing, which leads to frequent link interruptions and unstable transmission paths. In addition, complex environments also include various wireless interference, limited bandwidth, high traffic demand, and other problems, which will also affect communication quality. How to ensure stable end-to-end transmission of information as much as possible and reduce packet loss is an important challenge. The traditional self-organizing network has the following problems: 1) single-path transmission topology changes rapidly, and transmission reliability is poor. Since there is only one link from the source node to the destination node, when the network topology changes or there is interference, the link is easily interrupted, and the transmission reliability cannot be guaranteed; 2) poor demodulation performance in fading channels. In complex environments, the influence of wireless channel fading may be very obvious, and the traditional single-path transmission faces problems such as large link loss, poor received signal quality, and serious packet loss rate.
[0003] To cope with the limitations of traditional methods, reference can be made to Barrage Relay Networks (BRN). The core idea of BRN is that a single wireless link may be poorly connected due to fading, but multiple fading channels are independent, so the probability of all signal components fading at the same time is greatly reduced, and network connectivity is improved by utilizing cooperative diversity. By using these technologies, BRN performs cooperation and cooperative processing on the received signal to achieve autonomous cooperative communication. The medium access control protocol of BRN uses the TDMA method, and time is cut into many time slots. When a relay node receives a data packet from an upstream neighbor node, it will forward the data packet in the next time slot. BRN utilizes multiple cooperative nodes to communicate concurrently, forming a virtual antenna array, thereby enhancing link redundancy and improving the diversity gain of the receiving node.
[0004] However, using cooperative node forwarding still faces some problems, such as: 1) In complex environments, the node moves at a high speed, which may lead to unstable links. 2) Frequent forwarding of data packets by nodes leads to large energy consumption. This is particularly evident in battery-powered mobile nodes. 3) Selecting multiple cooperative forwarding nodes will occupy more bandwidth resources, especially in node-dense areas, which may cause broadcast storms or network congestion, leading to a decline in system performance. How to select cooperative nodes to ensure the stability of the selected link, control packet redundancy, and prolong network life is the key to improving network performance.
[0005] CN2022107048754 discloses a mobile ad hoc network communication method, device, system and storage medium. The method comprises: receiving network signaling sent by adjacent nodes of the receiving node; the network signaling contains stable routing flag and hop count information, the stable routing flag represents the first path transmission state of the adjacent nodes to a specified node in the ad hoc network, and the hop count information represents the forwarding times of the adjacent nodes to the specified node in the ad hoc network; based on the received network signaling, the second path transmission state of the receiving node to the specified node is obtained; and the routing table of the receiving node is updated according to the first path transmission state or the second path transmission state. When networking, each node broadcasts and transmits its own stable routing flag to each other and constructs / updates the routing table, and the most stable next hop node of each node to the specified node can be known in the routing table of each node, thereby improving the connectivity between two nodes at a long distance. The technical solution of the present application is not involved. SUMMARY
[0006] The purpose of the present application is to solve the problems of unstable link state, high node energy consumption and occupation of more bandwidth resources in wireless ad hoc networks. The present application uses cooperative communication technology. By selecting multiple cooperative nodes to forward in the same time slot, a virtual antenna array is formed, and multiple signal samples experiencing independent fading are combined at the receiving end to obtain higher diversity gain and communication link redundancy, thereby resisting fading and interference in the wireless channel and improving receiving performance. Based on the perception of part of the neighbor node information, the node willingness, the moving speed, the link quality and other factors are considered, and some suitable nodes are selected as cooperative nodes, so as to improve the communication quality as much as possible while reducing the additional overhead to the network.
[0007] The technical solution of the present application is a cooperative node forwarding selection method for complex environments. The cooperative node selection technical solution includes a perception module, a calculation module, a sending decision module, a receiving decision module, a sending module and a receiving module. The functions of each module are as shown in Figure 1
[0008] The perception module needs to ensure that the sending node perceives the state information of the neighbor nodes and the destination node.
[0009] The calculation module needs to ensure that the sending node calculates the cooperative selection weight value of the neighbor nodes according to the information perceived by the perception module.
[0010] The sending decision module needs to enable the sending node to determine the possible cooperative nodes according to the calculation module.
[0011] The receiving decision module judges whether the node should participate in forwarding when the receiving node receives the signal.
[0012] The transmitting and receiving modules are responsible for encoding, transmitting, receiving, and decoding signals.
[0013] The aforementioned sensing module can acquire information both actively and passively. The information that must be sensed includes the movement speed, location, power consumption, and hop count of one-hop neighbor nodes from the destination node.
[0014] The aforementioned calculation module needs to calculate the cooperative selection weights of neighboring nodes. The specific process for calculating the cooperative selection weight w of a neighboring node nj for the sending node ni is as follows:
[0015] Step 1: Through neighbor node n j Using the movement speed and location information, calculate the impact factor w of link duration on cooperative selection. t .
[0016] Step 2: Calculate the influence factor w of node willingness on collaborative selection. o .
[0017] Step 3: Calculate the influence factor w of the transmission loss from the source to the cooperative and the forwarding distance from the cooperative to the destination node on the cooperative selection. p .
[0018] Step 4: Based on the above indicators, calculate the collaborative selection weight w = a for neighbor node nj. t ·w t +a o ·w o +a p ·w p , where a t ,a o ,a p The weight can be customized or dynamically adjusted according to scenario requirements, or determined by the sending decision module.
[0019] Regarding step one above, w t The flowchart of the calculation method is as follows Figure 2 As shown, the specific explanation is as follows:
[0020] 1) Get the coordinates (x, y) of this node i ,y i ,z i ) and the coordinates (x) of neighboring nodes j ,y j ,z j ) Node n can be obtained based on the coordinate information. i and n j distance
[0021]
[0022] 2) Based on n jspeed information and node n i its own speed, the relative speed of node n i j j i The relative speed of n ld is expressed as follows:
[0023]
[0024] 3) After calculating the relative speed and distance of the nodes, project the node motion map in three-dimensional space onto the plane where the relative speed and the two nodes are located. The distance perpendicular to the adjacent node movement path is calculated as follows:
[0025]
[0026] 4) The time interval during which the link remains active is called the link duration. The link duration between nodes n
[0027]
[0028] where R is the maximum communication distance. For the sign in the formula, take positive when the same direction, and negative when opposite direction.
[0029] 5) According to the historical reception information of t ld , t ld can be normalized to a number w t between 0 and 1 to measure the contribution of link duration to cooperative node selection.
[0030] For the above step two, the specific calculation method of w o is as follows. First, calculate the energy consumption rate P of n j , and then infer the speed of its remaining energy decline. where t represents time, such as 100s. ΔE represents the energy consumed in t time. The node lifetime can be predicted by , where E is the remaining energy of the node. By analogy with step 1, step 5), normalize T, and its value is denoted as w o .
[0031] For the above step three, w p is calculated as follows. The path loss P L of transmission can be calculated by the distance d between the two nodes, and the calculation formula is as follows:
[0032]
[0033] where G l is the square of the product of the gain of the transmitting antenna and the gain of the receiving antenna, and λ is the wavelength of the signal.
[0034] Node n i To the destination node n j The effective distance of forwarding is Using The influence of the node position is measured and normalized to obtain w p .
[0035] In the above sending decision module, the sending node n i According to the w value, all neighbor nodes are sorted, and the largest n nodes are selected as possible cooperative nodes. There can be multiple sending nodes at the same time, and they all need to select possible cooperative nodes. All sending nodes send at the same time. The specific value of n can be determined in advance or adjusted according to the environment.
[0036] In the above sending module, for the case of generating a data packet by the source node, the data packet needs to contain the remaining delivery hop information and the packet ID information, the former indicates how many times the packet can be forwarded, and the latter indicates a unique packet, which can be obtained through the sensing module. For the case of forwarding a data packet, the packet needs to be re-encoded, and the remaining delivery hop of the packet is reduced by one. In order to ensure that multiple sending nodes send at the same time, form a virtual antenna array and have the effect of increasing redundant links and improving receiving gain, the system needs to operate in a time division multiple access manner.
[0037] In the above receiving module, the receiving node needs to decode the packets sent by multiple nodes at the same time, which can be regarded as a multiple-input single-output (MISO) problem. The node can combine multipath signals through MIMO technology, equalization technology, etc. to improve the receiving gain. If the decoding fails, it will not become a forwarding node, otherwise it will hand over the decoded information to the receiving decision module.
[0038] In the above receiving decision module, if the receiving node is not selected as the cooperative forwarding node this time, it will be discarded and will not become a cooperative receiving node. Otherwise, the receiving node obtains the decoded packet content. If the remaining delivery hop of the packet is less than the hop from the node to the destination node, or the ID of the packet has been received, it will not be forwarded. Otherwise, it becomes a sending node and forwards in the next time slot.
[0039] The effect of using the cooperative selection algorithm is shown in Figure 3 At each time slot, the sending node will select some nodes as cooperative nodes according to the above cooperative selection algorithm, and these nodes will send in the next time slot after successful reception. And the sending nodes send together, enhancing the link redundancy and the gain at the receiving end.
[0040] Beneficial effects: the application makes the node select multiple cooperative nodes when sending information, and makes these nodes forward at the same time to form a virtual antenna array. The method has the following advantages: 1) the method uses multi-path transmission, when interference or topology changes cause a path to be interrupted, there are still other multiple paths to complete information transmission, so compared with the traditional self-organizing waveform, the method enhances the reliability of transmission. 2) the method can overcome channel fading and improve demodulation performance. Cooperative communication makes the cooperative nodes share the antenna, these nodes send the same signal at the same time, and the receiver can improve the channel capacity through diversity reception, and overcome channel fading to a certain extent.
[0041] The cooperative selection algorithm used by the application comprehensively considers various parameters, including node speed, node willingness, node position, etc., which respectively represent link duration, node power consumption, path loss, packet transmission distance, etc., which can be used as a basis for measuring the forwarding effect. And the system can adjust the weight of each index according to the environment when selecting cooperative nodes, so as to maintain high flexibility when dealing with complex environments. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 is a functional module of the cooperative node and its role schematic diagram;
[0043] Figure 2 is the influence of link duration in the cooperative selection algorithm w t flowchart;
[0044] Figure 3 is an effect schematic diagram of using the cooperative selection algorithm in the network topology;
[0045] Figure 4 is a topological scene schematic diagram of the embodiment; DETAILED DESCRIPTION
[0046] The application will be further described below through a simulation embodiment.
[0047] This embodiment is simulated by Python, and a channel environment uniform scene is set, which has 20 nodes, and the average connectivity of the nodes is 3. After initialization, the scene topology graph is as shown in Figure 4 .
[0048] In the simulation system, the time is set to be equal interval time slot, and all events will not cross time slot execution. So as to ensure that the system runs in TDMA mode. The movement of the nodes in the network obeys the random walk model, that is, the node selects a time period, and the node independently selects the moving speed and direction in each time period t. The direction θ(t) selected by the node satisfies the uniform distribution on [0, 2π]; the speed v(t) obeys the uniform distribution on [v min ,v maxuniformly distributed on the square. When a node moves to the boundary, it changes direction according to the law of reflection of light and continues to move. After one Step, the node randomly selects a new direction and speed to move (another Step), and repeats the above process until the simulation ends.
[0049] The end-to-end transmission process of the nodes in the simulation is implemented as follows:
[0050] Step 1: Before passing information, each node needs to have information about one-hop neighbor nodes around it and information about the destination node, where the information about one-hop neighbor nodes includes power consumption, movement speed, coordinates, etc., and the information about the destination node includes the destination node coordinates and the number of hops from the destination node. These information will be used for cooperative node selection. In Python implementation, these information will be encapsulated into a structure, so as to be passed between nodes. Nodes can obtain these information through an information acquisition module, the working principle of which will be introduced below. One hop is the network through a node, more than this node, the package is discarded, to prevent network congestion 8-bit protocol.
[0051] Step 2: When the source node encapsulates the data packet, it needs to add TTL and PID (packet ID) fields in the packet header, TTL value is the number of hops from the source node to the destination node, and PID is a unique value generated by the source node, which is used to distinguish different packets. In the next time slot, the source node will become a sending node. In Python implementation, two member variables TTL and PID need to be added to the data packet structure. And each node needs a member to store the node state, at the beginning of each time slot, all node states are the nodes that start to send.
[0052] Step 3: Each sending node will select some nodes as cooperative nodes according to the cooperative selection algorithm. All selected cooperative nodes will become sending nodes in the next time slot. It is noted that different sending nodes may select the same node as a cooperative node, and since these sending nodes will send at the same time, it enhances the received signal of the node. In the simulation implementation, the sending power can be set in advance, the signal strength at the receiving place is determined through the Rice channel model, and the signal enhancement situation of the received signal is simulated through the maximum ratio combination algorithm.
[0053] Step 4: After receiving the signal, the selected cooperative node needs to decode the received signal, which can calculate the interruption probability through the signal-to-noise ratio, and then judge whether the packet is successfully received. For the successfully received packet, record the PID and TTL of the packet. If the PID has been received before, or the TTL field is less than the number of hops from the cooperative node to the destination node, it is not necessary to forward. Otherwise, the packet needs to be re-encoded, the TTL field in the packet is reduced by 1, and the node state is changed to sending, so as to become a sending node in the next time slot.
[0054] Step 5: Repeat step 3, 4 until the TTL field in the data packet is reduced to 0. If the destination node decodes the packet successfully, it means the end-to-end transmission is successful, otherwise, it fails.
[0055] The specific implementation of each module is as follows:
[0056] For the sending module, when sending a packet, a data structure is generated according to the business or forwarding requirements and stored in the global queue. In the next time slot, for each packet in the queue, the receiving module of all nodes within the receiving range is received.
[0057] For the receiving module, when receiving a packet, it needs to simulate the way of multipath reception to let all possible cooperative nodes complete the reception of information sent by multiple sending nodes. In the simulation, the signal-to-noise ratio of a single link is obtained through the Rician channel model. For multipath reception, the combined signal-to-noise ratio is calculated by maximum ratio combining, and then the outage probability is calculated to determine whether the decoding can be successful.
[0058] The perception module of the node is implemented in passive acquisition mode and active acquisition mode to obtain perception information. The specific implementation is as follows:
[0059] In passive acquisition mode, the node will try to preempt the time slot when the time slot is idle. If the preemption is successful, the state of the node is set to the sending state, and the state of the node and the one-hop neighbor is sent in the next time slot, including the position, remaining energy, etc. of these nodes. The nodes receiving this information can update the local record accordingly. These information will be used in the cooperative selection algorithm. The information should not be forwarded.
[0060] In active acquisition mode, the source node sends routing addressing information, which needs to have the source node ID and the destination node ID, and sets the TTL to 255. The routing addressing information is transmitted through time division multiple access, and all nodes receiving the information need to decode and forward in the next time slot. After receiving the routing response, the destination node will send the routing response, including the source node ID, the destination node ID and the position of the destination node, and set the TTL to 255. The rest of the nodes receiving the routing response also decode and forward. Finally, all nodes in the network will get the position information of the destination node and the number of hops from the source node and the destination node. In the simulation implementation, only the corresponding fields need to be added to the data structure and filled correctly. If the node information has been updated recently, active acquisition can be skipped to reduce system overhead.
[0061] The calculation module is implemented as follows:
[0062] Step 1: First, calculate the influence of the moving speed of the neighbor node n j on cooperative selection, which is calculated as follows:
[0063] 1) Get the coordinates (x i ,y i ,z i ) of the node and the coordinates (x j ,y j ,z j ) of the neighbor node. These can be obtained from the data packet structure of the passive transmission process. From the coordinate information, the distance between nodes n i and n j can be obtained:
[0064]
[0065] 2) From the speed information of n j and the speed of node n i itself, the speed of node n i relative to n j can be obtained. These information can also be obtained from the data packet structure of the passive transmission process. The relative speed of n j to n ld is expressed as follows:
[0066]
[0067] 3) After calculating the relative speed and distance of the nodes, project the node motion map in three-dimensional space onto the plane in the direction of the relative speed and the two nodes. The distance perpendicular to the movement path of the adjacent node is calculated as follows:
[0068]
[0069] 4) The time interval during which the link remains active is called the link duration. The link duration between nodes n and n
[0070] can be obtained as:
[0071] where R is the maximum communication distance, set to 1000m in the implementation. For the signs in the formula, is positive when the same direction, and negative when opposite direction.
[0072] 5) t ld can be normalized to a value w t between 0 and 1 to measure the contribution of the link duration to the selection of the cooperative node. Each time t ld is calculated for a node, the value needs to be recorded and the total number of calculations total is updated. When total is equal to a given value, each time the latest t ld is recorded, the oldest value also needs to be deleted. The value greater than t ld in all values is a. Then the normalized value is: When the system initializes total = 0, w t = 0.5. In the implementation, valid values are saved through a fixed-length sliding window, and the window is filled when it is not full, and the window is moved when it is full, and the oldest data is removed and filled again. The sliding window length is set to 256, which reduces the influence of outdated data while ensuring the amount of data.
[0073] Step two, calculate the influence of node willingness on cooperative selection, specifically including node energy consumption. In the simulation, node energy consumption can be modeled as a positive correlation with usage time t use and the number of packet transmissions num send , that is, E remain = E init -a x t use -b x num send . Where E init is set to 100, a is set to 0.01, and b is set to 0.05. First, calculate the energy consumption rate P of n j , and then infer its remaining energy decline speed. . Where t represents time, which is taken as 20s in this example. ΔE represents the energy consumed in t time. Node lifetime can be predicted by E , where E is the remaining energy of the node. Normalize T by the method similar to step two, 5) step, and its value is recorded as w o .
[0074] Step three, calculate the influence of node position on cooperative selection, specifically including source to cooperative transmission loss and cooperative forwarding distance to destination node.
[0075] The path loss P L of transmission can be calculated by the distance d between two nodes, and the calculation formula is as follows:
[0076]
[0077] Where G l is the square of the product of the gain of the transmitting antenna and the receiving antenna, which is set to 40 here, and λ is the wavelength of the signal, which is set to 0.2m.
[0078] The distance of n i forwarding to destination node n j is Use to measure the influence of node position, and normalize to get w p .
[0079] Step four, according to the above indexes, calculate the cooperative influence w = a t ·w t +a o of neighbor node n j .·w o +a p ·w p , in the embodiment, a t , a o , a p Initially, all are set to 1, i.e. the influence of the three is considered uniformly. When the remaining power E remain of the node is reduced to below 30%, it is considered that the power consumption of the entire system is large. At this time, a o is adjusted to 3, i.e. the weight of the power consumption is increased, so as to prolong the life of the entire system.
[0080] For the sending decision module, the sending node n i is sorted according to the value of w, and the largest n nodes are selected as possible cooperative nodes. There can be multiple sending nodes at the same time, and they all need to select possible cooperative nodes. The time division multiple access mechanism of the system ensures that all sending nodes are sent at the same time. In the simulation, the specific value of n is 3.
[0081] For the receiving decision module. The node first needs to judge whether it is the selected cooperative node, which will be informed by the sending node in the perception before each end-to-end connection is established. The receiving decision module analyzes the package content, if the remaining transmission hop count is not less than the hop count from the node to the destination node, and the ID of the package has never been received, the package needs to be forwarded, the node becomes a cooperative node, and becomes a sending node in the next time slot, otherwise it does nothing.
[0082] The algorithm can be compared with the traditional routing algorithm using Dijkstra algorithm. Define the number of times of sending packets of the source node in the system as n s , the number of times of successfully receiving packets of the destination node as n r . Define the transmission success rate as . In the simulation results, p is 0.91 using the traditional routing method, and p is 0.96 using the cooperative node forwarding. It can be seen that the transmission success rate is obviously improved when using the method.
[0083] The embodiments of the application are described in detail above with reference to the drawings, but the application is not limited to the above embodiments, and various changes within the knowledge of those skilled in the art without departing from the purpose include various changes.
Claims
1. A cooperative node forwarding selection method for complex environments, characterized in that, Each node consists of a sensing module, a computing module, a decision transmission module, a decision reception module, a transmission module, and a reception module; The sensing module needs to ensure that the sending node is aware of the status information of neighboring nodes and the destination node. The sensing module uses both active and passive acquisition for sensing. The information that must be sensed includes the moving speed, position, power consumption, and number of hops from the destination node of one-hop neighboring nodes. The calculation module needs to ensure that the sending node calculates the cooperative selection weight of the neighboring nodes based on the information perceived by the sensing module; The sending decision module needs to enable the sending node to determine possible cooperating nodes based on the calculation module. When a receiving node receives a signal, the receiving decision module determines whether the node should participate in forwarding. The transmitting and receiving modules are responsible for encoding, transmitting, receiving, and decoding signals. The above calculation module needs to calculate the cooperative selection weights of neighboring nodes: for sending node n i Calculate a neighbor node n j The process of collaboratively selecting weight w is as follows: Step 1: Through neighbor node n j Using the movement speed and location information, calculate the impact factor w of link duration on cooperative selection. t ; Step 2: Calculate the influence factor w of neighbor node willingness on collaborative selection. o ; Step 3: Calculate the influence factor w of the transmission loss from the source node (sending node) to the cooperative and the forwarding distance from the cooperative to the destination node on the cooperative selection. p ; Step 4: Calculate the neighbor node n based on the indicators from Steps 1 to 3. j Collaborative selection weight w = a t ·w t +a o ·w o +a p ·w p , where a t ,a o ,a p The weights are defined based on scenario requirements, can be customized or dynamically adjusted, or determined by the sending decision module. Regarding step one above, w t The calculation process is as follows: 1) Get the coordinates (x, y) of this node i ,y i ,z i ) and the coordinates (x) of neighboring nodes j ,y j ,z j ); Node n is obtained based on coordinate information. i and n j distance 2) Based on n j Speed information and this node n i The speed of the node itself is used to obtain node n. i Relative to n j speed; n j Relative to n i The relative velocity is expressed as follows: 3) After calculating the relative velocity and distance between the nodes, project the node motion map in 3D space onto the plane containing the relative velocity and the two nodes; the distance perpendicular to the movement path of the adjacent nodes is calculated as follows: 4) The time interval during which a link remains active is called the link duration; this gives the node n. i and n j The duration of the link between them is Where R is the maximum communication distance; regarding the positive and negative signs in the formula... and When they are in the same direction, take the positive value; when they are in opposite directions, take the negative value. 5) According to t ld The historical received information will be t ld w normalized to a number between 0 and 1 t To measure the contribution of link duration to the selection of cooperating nodes; In step two, w o The calculation method is as follows; first calculate n j The rate of energy consumption P is used to infer the rate of decrease of its remaining energy; Where t represents time, such as 100s; ΔE represents the energy consumed within time t; node lifetime is expressed as... To predict, where E is the remaining energy of the node; T is normalized to a number between 0 and 1, and its value is denoted as w. o ; In step three, w p The calculation method is as follows: Path loss P L The distance d between the two nodes is calculated using the following formula: Among them G l It is the square of the product of the gains of the transmitting and receiving antennas, and λ is the wavelength of the signal; node n i To the destination node n j The effective distance for forwarding is use Measure the impact of node position and normalize to obtain w. p ; In the aforementioned sending decision module, sending node n i Sort all neighboring nodes according to the w value, and select the n nodes with the largest values as possible cooperating nodes; there may be multiple sending nodes at the same time, and they all need to select possible cooperating nodes; all sending nodes send at the same time; the specific value of n is determined in advance, or adjusted according to the environment.
2. The cooperative node forwarding selection method for complex environments according to claim 1, characterized in that, In the aforementioned transmission module, when the source node generates a data packet, the data packet needs to contain information on the remaining hop count and the data packet ID. The former indicates how many more times the data packet can be forwarded, and the latter indicates that it is a unique packet. Both of these can be obtained through the sensing module. When forwarding data packets, the data packet needs to be re-encoded, and the remaining hop count of the data packet needs to be decremented by one. In order to ensure that multiple transmission nodes transmit at the same time, forming a virtual antenna array and increasing redundant links and improving the receiving gain, the system operates in a time-division multiple access manner. In the above receiving module, the receiving node needs to decode packets sent simultaneously by multiple nodes, which can be regarded as a multiple-input single-output (MISO) problem. The node uses MIMO technology and equalization technology to combine multipath signals and improve the receiving gain. If decoding fails, it will not become a forwarding node; otherwise, it will hand over the decoding information to the receiving decision module. In the aforementioned receiving decision module, if a receiving node is not selected as a collaborative forwarding node for this task, it will be discarded and will not become a collaborative receiving node. Otherwise, the receiving node obtains the decoded packet content; If the remaining hop count of a data packet is less than the hop count from the node to the destination node, or if the packet ID has not been received before, then it is not forwarded; otherwise, it becomes the sending node and forwards the packet in the next time slot.
3. The cooperative node forwarding selection method for complex environments according to claim 1, characterized in that, In each time slot, the sending node selects some nodes as cooperating nodes according to the algorithm for selecting cooperating forwarding nodes. After these nodes successfully receive the data, they will send it in the next time slot. Furthermore, the sending nodes send together to enhance link redundancy and the gain at the receiving end.
4. The cooperative node forwarding selection method for complex environments according to claim 1, characterized in that, Multiple cooperating nodes are selected and made to forward simultaneously, forming a virtual antenna array.
5. The cooperative node forwarding selection method for complex environments according to claim 1, characterized in that, By setting time intervals as time slots, all events will not be executed across time slots; thus ensuring that the system operates in TDMA mode; the movement of nodes in the network follows a random walk model, that is, a node selects a time period, and within each time period t, the node independently and randomly selects its movement speed and direction; the direction θ(t) selected by the node satisfies a uniform distribution on [0, 2π]; the speed v(t) follows [v min ,v max The nodes are uniformly distributed on the surface; when a node moves to the boundary, it changes direction and continues to move according to the law of reflection of light; after one step, the node randomly selects a new direction and speed to move to another step, and repeats the above process until the simulation ends. The end-to-end transmission process in the simulation is implemented as follows: Step 1: Before transmitting information, each node needs information about its one-hop neighbor nodes and the destination node. The information about the one-hop neighbor nodes includes power consumption, movement speed, and coordinates. The information about the destination node includes the coordinates of the destination node and the number of hops from the current node to the destination node. This information will be used for coordinating node selection; in the Python implementation, this information will be encapsulated into a structure for transmission between nodes; nodes obtain this information through the information acquisition module, the working principle of which will be described below; Step 2: When the source node encapsulates the data packet, it needs to add TTL and PID fields to the packet header. The TTL value is the number of hops from the source node to the destination node, and the PID is a unique value generated by the source node to distinguish different data packets. In the next time slot, the source node will become the sending node. In the Python implementation, two additional member variables, TTL and PID, need to be added to the data packet structure. Each node also needs members to store the node state. At the beginning of each time slot, all nodes in the sending state begin sending. Step 3: Each transmitting node selects some nodes as cooperative nodes according to the cooperative selection algorithm; all selected cooperative nodes will become transmitting nodes in the next time slot; note that different transmitting nodes may select the same node as a cooperative node. Since these transmitting nodes will transmit at the same time, this enhances the received signal of the node; in the simulation implementation, the transmission power is preset, the signal strength at the receiving point is determined by the Rice channel model, and the enhancement of the received signal is simulated by the maximum ratio combining algorithm. Step 4: After the selected cooperating node receives the signal, it needs to decode the received signal, calculate the interruption probability through the signal-to-noise ratio, and then determine whether the packet was successfully received; for successfully received packets, the PID and TTL of the packet are recorded. If the PID has been received before, or the TTL field is less than the number of hops from the coordinating node to the destination node, then forwarding is not required. Otherwise, the packet needs to be re-encoded, the TTL field in the packet needs to be decremented by 1, and the node status needs to be changed to send, so that it can become a sending node in the next time slot; Step 5: Repeat steps 3 and 4 until the TTL field in the data packet decreases to 0; if the destination node successfully decodes the data packet, the end-to-end transmission is successful; otherwise, it fails.
6. The cooperative node forwarding selection method for complex environments according to claim 1, characterized in that, The specific implementation of each module is as follows: For the sending module, when sending a packet, it generates a data structure according to the service or forwarding requirements and stores it in a global queue; in the next time slot, for each packet in the queue, it ensures that the receiving modules of all nodes within the receiving range receive it. For the receiving module, when receiving a packet, it is necessary to simulate multipath reception, so that all capable cooperating nodes can complete the reception of information sent by multiple sending nodes. In the simulation, the signal-to-noise ratio of a single link is obtained through the Ricean channel model. For multipath reception, the signal-to-noise ratio of the merged signal is calculated by maximum ratio combining, and then the interruption probability is calculated to determine whether decoding can be successful. The node's perception module is implemented using both passive and active acquisition methods to obtain perception information; the specific implementation methods are as follows: In the passive acquisition method, nodes will attempt to preempt time slots when they are idle. If the preemption is successful, the node's state is set to the sending state, and it sends its own and its one-hop neighbors' states, including the locations of these nodes and remaining energy, in the next time slot. Nodes that receive this information update their local records accordingly. This information will be used in the cooperative selection algorithm. This information should not be forwarded. In the active acquisition method, the source node sends routing information, which includes the source node ID and destination node ID, and sets the TTL to 255. This routing information is transmitted via Time Division Multiple Access (TDMA), but unlike other methods, all nodes receiving the information need to decode it and forward it in the next time slot. Upon receiving the routing message, the destination node sends a routing response, including the source node ID, destination node ID, and destination node location, and sets the TTL to 255. Other nodes receiving the routing response also decode and forward it. Ultimately, all nodes in the network obtain the destination node's location information and the hop count from both the source and destination nodes. In the simulation implementation, this only requires adding the corresponding fields to the data structure and filling them correctly. If node information has been updated recently, it will not be actively acquired to reduce system overhead; For the sending decision module, sending node n i Sort all neighboring nodes according to the w value, and select the n nodes with the largest values as possible cooperating nodes; there may be multiple sending nodes at the same time, and they all need to select possible cooperating nodes; the time division multiple access mechanism of the system ensures that all sending nodes send at the same time; the specific value of n in the simulation is 3; For the receiving decision module, the node first needs to determine whether it is a selected collaborative node. This is notified by the sending node in the perception before each end-to-end connection is established. The receiving decision module analyzes the packet content. If the remaining hop count is not less than the hop count from the node to the destination node, and the packet ID has never been received before, then the packet needs to be forwarded. The node becomes a cooperating node and becomes a sending node in the next time slot. Otherwise, no action is taken.
Citation Information
Patent Citations
Method and system for selecting coordinated sending set in coordinated multi-point system
CN103442390A
Node coding-aware opportunistic forward routing protocol design method
CN106911433A