How does RCSpeedo work?


The technical details behind RCSpeedo


RCSpeedo works by using the principles of a Doppler shift, the phenomenon that occurs when an observer views a wave generator as it approaches, passes, and moves away from him. As the wave generator is approaching the observer, the perceived frequency of the wave being generated is higher than the frequency of the wave being generated. Likewise, as the wave generator moves away from the observer, the perceived frequency is lower than the actual frequency of the wave. The best way of thinking about this is imagining a motor boat moving through the water, if you look at the waves being generated at the front of the boat, the distance between their tips (this is their wavelength, and it’s inversely proportional to frequency) is much shorter than the distance between the tips of the waves coming out of the rear end of the boat. Now if you were a swimmer treading water as the boat passed by you, you would first be hit by these small waves, and then by the big waves. The magnitude of the difference between the small waves and the big waves is directly proportional to the speed of the boat, which means were you so inclined, you could calculate the speed of the boat just by measuring the difference in the size of the waves hitting you as it passes you.

As sound is just a wave generated by variations in air pressure, you can apply the same principle to it if you can accurately measure the frequency being emitted a noise source such as an RC airplane. Such a method for measuring frequency is given to us through a mathematical operation called a Fourier Transform. By performing a Fourier Transform on a clip of audio data, we can measure the present at certain points of that audio clip, and thereby use the above method to infer the speed of any noise sources in the audio clip. This is just what RCSpeedo does.

Just how accurate is calculating speed by using the Doppler shift of an airplane? Well, you first need to ask yourself: how else would you do it? A radar gun like those used by the police uses the exact same Doppler shift principles as RCSpeedo does, albeit trading sound waves for radio waves. This method of measuring speed is well accepted, and audio Doppler should be no less so given certain considerations.

The first consideration has to do with the noise source, which in our case is the airplane’s propeller or fan. Fourier transforms are by their very nature inaccurate, so what you want to do is manipulate the algorithm for translating a Doppler shift into a speed to minimize the effects of that inaccuracy in the speed calculation. You do this by using the highest frequency you can detect in a Doppler shift. The higher the frequency being generated by the noise source, the bigger the Doppler shift is, and thus the less the error between what the frequency being predicted to be and what the frequency is matters. For instance:

If your plane emits a frequency of 5000Hz, and on approach you observe 5500Hz while on departure you observe 4500Hz, the Doppler shift is 1000Hz, however if there is a 5% margin of error on observing the frequencies, you now have a +/-(.05*5500+.05*4500)=+/-500Hz margin of error in your Doppler shift, which is 50% of your total Doppler shift!

However, if your plane is emitting a frequency of 50000Hz, you now observe 70000Hz on approach and 30000Hz on departure, and the Doppler shift is 40000Hz. With the same margin of error of 5% for those frequency observations, you have a +/-(.05*70000+.05*30000)=+/-5000Hz margin of error, which is only 12.5% of your total Doppler shift.
(These numbers are purely made up for a proof of concept, their proportions are similar to what is actually observed, however)

To make matters worse, the margin of error of a Fourier Transform increases for lower frequencies! What we’re getting at here is for the best accuracy with an audio Doppler, the best thing you can do is have a noise source that emits a high frequency sound. Knowing this, and knowing that the frequency a propeller-like noise source emits is proportional to its RPM times its blade count, we can immediately see that the planes that will get the most accurate reading from an audio Doppler are EDF’s, which have both high blade counts and high RPM’s. Through the work of many individuals on RCGroups and other model airplane boards, it has been shown through certifiable tests using onboard GPS devices, fast-shutter cameras, and radar guns that the Audio Doppler method of determining the speed of an EDF airplane is extremely accurate when done correctly; down to even tenths of a MPH.

Of course, using an audio Doppler on a non-EDF plane, such as a pusher prop jet or a pylon racer, is definitely possible. The problem with these planes is primarily that all modern high-speed prop planes run two-bladed propellers (sometimes even 1!), which decreases the highest frequency of the sound it emits by at least a factor of 1.5 over an EDF that moves its fan impeller at the same speed! RCSpeedo will get speed detections on these planes, but I would caution you to be more skeptical of the readings if accuracy is your game: you can expect up to 2MPH in variance from the true speed, in some conditions even more.

OK so engine RPM and propeller type plays a big role in the accuracy of RCSpeedo, what else? Well, one thing you may notice when launching the app is that it donates a lot of its real estate to determining, displaying, and letting you set the ambient temperature; and this is indeed the second most important factor in getting accurate speed readings using the app. Temperature matters because on hotter days, the air becomes thinner and thus pressure waves (sound) moves through it faster. Likewise, on cold days, the air is denser and sound waves travel through it more slowly. This directly affects the size of the resultant Doppler shift in a pass and thus the speed calculation that is made. Using real numbers, RCSpeedo would measure a pass to be 259.3MPH when it is 80F out, but then measure the same pass at 247.14 if it was repeated with the temperature set to 32F. This is a huge source of error, and all you can really do is make sure that RCSpeedo has its temperature set correctly. Luckily, it comes with an automatic temperature adjuster that uses your phone’s GPS to get the current temperature in your area, but in certain areas without Internet this may not work and you should then adjust the temperature yourself.

By managing these two factors smartly, you will have an accurate tool capable of detecting the speeds of your model airplane while simply sitting in your pocket or on a nearby picnic table! Get out there and enjoy flying!