3.1. Algorithm Design Methodology
From the safety point of view, vehicles that are closer to the EV have more impact on its safety. This is because the time to reach a nearby vehicle is much shorter compared to distant vehicles, leading to a smaller margin for error. Hence, delivering safety messages to the near vehicles in a timely fashion is of critical importance. The actual distance that BSMs from a vehicle can reach, i.e., the transmission range (
Tx range) of the BSM, depends on the corresponding transmission power (
Tx power). A receiving vehicle within the transmission range of the EV should be able to receive the BSM correctly (assuming there is no channel congestion or other interference). As the transmission power increases, the transmission range also increases. In addition to the
Tx power, other factors, e.g., the presence of obstacles and the number of surrounding vehicles, can also affect the range.
Table 1 shows how the number of received BSMs between two vehicles varies with the distance between the vehicles.
To generate the above data, we considered two stationary vehicles separated by different distances, e.g., 50 m and 100 m, sending periodic BSMs to each other. We have assumed a simple free space path loss model to approximate the transmission range, which does not consider obstacles. With
Tx power = 20 mW, we observe that most BSMs can be delivered within 500 m and almost all BSMs are lost when the two vehicles are separated by 600 m or more. With 5 mW, the
Tx range is much shorter due to the lower
Tx power. In this case, most BSMs can be received if the vehicle separation is 250 m or less, and beyond that, more and more BSMs will be lost. For 5 mW power, there is actually a gradual drop-off for received BSMs between 250 m and 350 m, similar to what occurs between 450 m and 650 m for 20 mW. However, this is not apparent in
Table 1, as the tested distances between vehicles were all multiples of 50 m. A smaller vehicle spacing would allow this effect to be seen more clearly. The values shown in
Table 1 represent an ideal case, where there are no other vehicles on the road segment. If we have more vehicles, i.e., a high vehicle density, the valid
Tx range will be further reduced due to the interference between the vehicles.
In summary, a high Tx power is able to deliver BSMs to distant vehicles, but can also lead to higher interference and channel congestion. The key strategy of this paper is to prioritize BSM delivery to nearby vehicles, which can be achieved using a lower Tx power level, instead of persistently transmitting at the maximum 20 mW Tx power. It is still desirable to maintain some level of awareness for distant vehicles as well, but the frequency of updates can be lower than needed for the closest vehicles. Therefore, by varying the Tx power, it is possible to maintain high awareness for nearby vehicles, while still allowing some BSMs to reach distant vehicles, by using a high Tx power for selected BSMs. With this strategy, the awareness of EVs will remain high as needed for nearby vehicles and the congestion of the whole channel will be mitigated at the time because fewer BSMs are sent with a high Tx power.
3.2. Proposed Algorithm
In this section, we discuss our proposed Balancing Awareness and Congestion with Variable
Tx Power (BACVT) algorithm for VANET congestion control. With this algorithm, vehicles at close range see all packets at their full rate and those farther away see only those packets sent with a higher transmission power. The algorithm can be implemented assuming a constant message transmission rate (the standard rate is 10 BSMs per second) or in conjunction with a message rate control algorithm, e.g., LIMERIC. Algorithm 1, as shown below, outlines the BACVT algorithm when using the standard BSM message rate.
Algorithm 1: Balancing awareness and congestion with variable Tx power (BACVT) algorithm. |
![Electronics 10 01902 i001]() |
During the initialization phase, we first define two transmission ranges and as the near and far ranges (in m), respectively, with respect to the EV. The corresponding Tx powers needed in order to achieve these ranges are and , respectively, where . In practice, the required Tx powers depend not only on the target distance, but additional factors, e.g., atmospheric conditions, obstacles and vehicle density. We note that the proposed algorithms simply assume that suitable values of and have been calculated separately to be given as input, and we are not proposing new models to calculate such values. We expect that a vehicle v at a distance d from the EV will receive:
All BSMS from the EV, if ;
The BSMs transmitted with high Tx power (), if ;
No BSMs from the EV, if .
The value of
is set to the number of BSMs to send in each cycle in step 3. Unless otherwise specified, we assume that the duration of each cycle is 1 s. In step 3, we define two transmission rates,
and
, as the near and far distance reception rates, respectively, i.e., the number of BSMs received per second from the EV by the near and far vehicles, respectively. Clearly,
, as nearby vehicles will receive all BSMs, those sent with low power as well as those sent with high power. The parameters
and
are used by the algorithm to determine which packets are sent with a higher power level in order to maintain the two perceived reception rates for the remote vehicles. These values depend on the current level of congestion in the network, as well as the awareness level needed for the specific applications. For our simulations, we have specified fixed values for
and
, where all vehicles use the same values for
and
. However, this is not strictly required and different vehicles can use different values, based on their current needs. In step 4, the value of
is calculated using Equation (
1).
determines the number of low-power BSMs that should be sent between two high-power BSMs for each cycle. This will allow the high and low power BSMs to be evenly distributed over each cycle. An example of how
is calculated based on Equation (
1) is given in
Section 3.3.
Once the value of is determined, the algorithm initializes the total number of packets sent so far () and the number of Consecutive Low-Power Packets () to 0 in steps 5 and 6, respectively. These two values maintain a counter of the total number of packets and the number of consecutive low-power packets that have been sent since the last high power transmission. The first BSM of each cycle is sent using the high Tx power, i.e., . Then, packets are transmitted with the low Tx power, i.e., , and this pattern repeats until the end of the cycle is reached, i.e., number of packets have been sent in the current cycle.
After setting the initial parameters, steps 7–18 are repeated for each BSM to determine the Tx power for the individual BSM. If it is the first BSM in the cycle, or consecutive low-power BSMs have been sent, then the Tx power is set to high (step 9), is reset to 0 and the packet count is updated (step 10 and step 11). Otherwise, the Tx power is set to low (step 13) and both the values and packet count are incremented (step 14 and step 15). Finally, in step 17, the BSM is broadcast by the EV with the appropriate Tx power. The time complexity of Algorithm 1 is , where n is the number of BSMs sent by a vehicle.
3.2.1. Hybrid Approach
The BACVT approach described in Algorithm 1 assumes that each vehicle will use a constant message Tx rate to send the BSMs (the default is 10 BSMs per second). However, the proposed approach can also be used in conjunction with other rate control algorithms to further reduce congestion, if power adaptation alone is not sufficient. In this case, the initial steps (steps 1–6) must be carried out for each cycle, rather than just once at the beginning. The modified algorithm (BACVT-H), which is a “hybrid” of rate control and power control approach, is very similar to the original algorithm, and is shown in Algorithm 2. The main difference is in step 2, where the value of is determined at the beginning of each cycle by a suitable rate control algorithm, e.g., LIMERIC, BRAEVE or any other approach. So, the value of TotalSend is not a fixed quantity (as in Algorithm 1), but will vary based on the current CBR and the rate control algorithm that is being used. We have used TotalSend values between 5 and 10 for the message rate control. Therefore, the expected values for the beacon intervals will vary between 0.1 s and 0.2 s. The remaining parameters are set as before (steps 3–6). Finally, the process for determining the Tx power of each BSM (steps 7–18) is similar to Algorithm 1, except that these steps are repeated only for the current cycle and not continued for multiple cycles. At the end of the cycle, the message rate control algorithm is applied to determine the new value of , and the initial parameters are recalculated before BSM transmission starts. Since the only difference is the value of TotalSend, Algorithm 2 has the same time complexity with Algorithm 1, i.e., .