News

New Reference Design Highlights the Inner Workings of Beacon-Based, Social-Distancing Tech

June 19, 2020 by Steve Arar

Among the many emerging social distancing technologies, STMicroelectronics has unveiled a reference design that showcases the utility of beacon designs.

In recent months, more semiconductor companies have been producing technology to abate a resurgence of COVID-19.

Among these developments is an influx of devices aimed to promote social distancing—many of which rely on beacon technology. In wireless technology, a beacon is a radio that transmits small pieces of information.

Depending on the application, different types of information might be sent out by a beacon. The information can be as simple as a sensor reading, including information on ambient temperature, air pressure, or humidity; or it can be information related to the position of objects in an asset-tracking application. Beacons have also been used to send out information on a marketing campaign to the people who are in close proximity to a store.

The key point in all of these applications is that only a small amount of data is transferred by the radio. Exchanging small amounts of data periodically allows us to implement these systems based on power-efficient wireless solutions, such as Bluetooth Low Energy (BLE).  

 

Using Beacons for Social-Distancing Management

STMicroelectronics has recently released an application note that discusses the design of wearables capable of monitoring social distancing. The design uses BLE-based beacons to issue warnings when someone comes within a minimum set distance (about 2 meters) of the wearer.

The beacons that are suited to bands and bracelets can be used in environments such as factories, offices, and medical facilities, to maintain safe distances. This can significantly minimize the risk of contracting infectious diseases like COVID-19.

 

How Does It Work?

To monitor social distancing, a wearable node should be able to estimate its distance from the other nodes. This location awareness is enabled by a simple equation that relates the distance between the transmitter and receiver (d) to the received signal strength (RSS):

 

RSS=A-10nlog(d)

 

where A is the RSS at a distance of one meter and n is the signal propagation constant. The propagation constant depends on the environment and indicates how fast the strength of the received signal decreases with distance. Many of today’s RF transceivers are capable of measuring RSS.

 

Proximity detection based on RSSI.

Proximity detection based on RSSI. Image used courtesy of STMicroelectronics

 

Therefore, the above equation can be used to estimate the distance between the receiver and the transmitter.

 

The Algorithm Flowchart

The following flowchart illustrates the system operation.

 

Flowchart of algorithm logic

Flowchart of algorithm logic. Image used courtesy of STMicroelectronics

 

Each node advertises its presence through an iBeacon advertising packet which is shown below:

 

iBeacon advertising packet.

iBeacon advertising packet. Image used courtesy of STMicroelectronics

 

The last byte of the 30-byte advertising data is “Tx Power.” This byte specifies the power that should be received at a distance of one meter from the transmitter (A in the above equation). The device simultaneously scans for the presence of other similar beacons.

When a device is detected, the received information is analyzed to obtain its “Tx Power” and RSS. Based on this information, an approximate value for the distance is found and stored in RAM. The device can take several samples and store a programmable number of RSS and distance pairs for a given detected beacon.

In practice, the RSS value that a receiver senses is not only a function of distance. Instead, it is affected by the multipath transmission effect, antenna non-idealities, and barriers between the receiver and transmitter. To take these effects into account, the beacon incorporates weighted mean and average filters to suppress the variations in the RSS value that are caused by non-ideal effects. After applying these filters, we have a more reliable value for the RSS and can calculate the distance more accurately.

Finally, the distance is compared with a threshold (2 m in this design). If it is below the threshold, the device generates an alert. Otherwise, it starts a new scanning cycle. 

 

Limitations to Distance Estimation

As discussed above, the distance estimation can be affected by the barriers between the transmitter and receiver.

For example, when the user is between the beacon and the detecting device, the measured RSS can be lower compared to the case where the beacon is at the same distance but there is no barrier in between. Even at a constant distance and with no barriers in between, the measured RSS can change with the relative node position.

An example is shown in the following figure:

 

Node positioning in relation to a fixed node

Node positioning in relation to a fixed node. Image used courtesy of STMicroelectronics

 

In the above figure, the pink circle shows the SMD antenna of the transceiver. Ideally, we expect to get the same RSS for these measurements; however, the calculated distance varies from 2,246 cm to 1,891 cm (with a worst-case measurement error of about 11%).

Another limitation of this method is that tilting the antenna of a beacon with respect to the detecting device can affect the value of the measured RSS (while the distance is fixed).

 

Node rotation along an axis

Node rotation along an axis. Image used courtesy of STMicroelectronics

 

To solve this problem, we can make several measurements to create a look-up table of calibrating values for several different tilting angles. Therefore, a calibration step is mandatory to achieve the desired accuracy. 

 

Conclusion

Accurate distance measurement based on analyzing the strength of the received signal seems to be challenging especially when trying to provide a low-cost solution. However, the discussed design can still be helpful for the social-distancing management application where a 10% error might not be a serious problem.