I was recently reading about Chirp, a data-over-audio protocol that sends information through (rather literally) chirping sounds either in audible or ultrasound frequencies.

One of the use cases suggested on the website is for transmitting game data between devices, and The Register have an article on Chirp being used in nuclear power stations because RF transmissions (e.g. Wi-Fi) are not allowed due to the risk of interference:

As for the nuclear power stations, Chirp's tech has found a useful niche in IoT sensor applications where traditional RF networking cannot be used. Nuclear power stations have an absolute ban on RF over fears of interference – thereby ruling out Wi-Fi, Bluetooth and all the usual go-to wireless networking technologies – and when EDF wanted to monitor equipment in its turbine halls the usual shielded cable was seen as too costly and bulky.

"They've got machine plant they want to monitor, diagnose and talk to," said Nesfield. "Chirp is being used in those contexts because it's not RF and doesn't interfere."

In a lot of the cases they've suggested, I imagine there must be quite a lot of noise which could interfere with the chirps - how does Chirp stop other sounds from interfering with the data that they want to send?


This page describes the chirp protocol:

An entire chirp is a sequence of 20 pure tones of 87.2ms each. The first 2 tones are a common ‘front door’ pair – "hj" – to indicate to a device that the following tones are a chirp shortcode; the next 10 tones represent the 10-character payload. The final 8 tones are Reed-Solomon error correction characters.

This doesn't describe the error rejection process, but it is likely to be similar to the way that DTMF protocols rely on a consistent band-pass channel. Each tone needs to fit in a time window, with amplitude and frequency constraints. Making each tone relatively long allows some improvement in the signal/noise ratio, DSP is capable of matching a audio stream against all possible legal tone sequences to recognise a potential signal within the noise, and there is a good dose of error correction coding too.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.